:root{--bg:#f6f7f9;--card:#fff;--text:#16181d;--muted:#667085;--line:#e4e7ec;--accent:#2563eb;--accent-text:#fff;--warn:#b45309;--warn-bg:#fef3c7;--err:#b42318;--err-bg:#fee4e2;--ok-bg:#dcfce7}@media (prefers-color-scheme:dark){:root{--bg:#0f1115;--card:#181b21;--text:#eceef2;--muted:#9aa3b2;--line:#2a2f38;--accent:#60a5fa;--accent-text:#0b1220;--warn:#fbbf24;--warn-bg:#3a2c0a;--err:#fda29b;--err-bg:#3b1512;--ok-bg:#11301d}}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}main{max-width:960px;margin:0 auto;padding:24px 16px 64px}h1{margin:0 0 4px;font-size:1.6rem}h2{margin:0 0 12px;font-size:1.1rem}.sub{color:var(--muted);margin:0 0 24px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:16px;padding:16px}.demo-banner{background:var(--warn-bg);color:var(--warn);border:1px solid var(--warn);border-radius:12px;margin:0 0 16px;padding:10px 16px;font-weight:600}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row>.grow{flex:220px}input,select,textarea{font:inherit;color:inherit;background:var(--bg);border:1px solid var(--line);border-radius:8px;min-width:0;padding:8px 10px}input[type=number]{width:130px}button{font:inherit;cursor:pointer;border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:8px;padding:8px 14px}button.primary{background:var(--accent);color:var(--accent-text);border-color:var(--accent);font-weight:600}button.danger{color:var(--err)}button:disabled{opacity:.55;cursor:progress}button.link{color:var(--accent);background:0 0;border:none;padding:2px 6px}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 10px}th{color:var(--muted);font-size:.85rem;font-weight:600}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.rank{width:3rem;font-weight:700}.total{font-weight:700}.muted{color:var(--muted)}.badge{border-radius:999px;align-items:center;gap:4px;padding:1px 10px 1px 6px;font-size:.8rem;display:inline-flex}.badge svg{width:14px;height:14px}.platform{align-items:center;gap:6px;text-decoration:none;display:inline-flex}.platform:hover{text-decoration:underline}.badge.ok{background:var(--ok-bg)}.badge.stale{background:var(--warn-bg);color:var(--warn)}.badge.failed{background:var(--err-bg);color:var(--err)}.msg{border-radius:8px;margin-top:12px;padding:10px 12px}.msg.err{background:var(--err-bg);color:var(--err)}.msg.warn{background:var(--warn-bg);color:var(--warn)}.msg.ok{background:var(--ok-bg)}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}a{color:var(--accent)}.metric{align-items:center;gap:5px;display:inline-flex}.metric svg{width:16px;height:16px}.metric.likes svg{color:#e11d48}.metric.comments svg{color:#2563eb}.metric.shares svg{color:#16a34a}.logo{object-fit:contain;background:var(--bg);border:1px solid var(--line);border-radius:10px;flex:none}.logo.placeholder{color:var(--muted);border-radius:50%;justify-content:center;align-items:center;font-weight:700;display:inline-flex}.board{margin:0;padding:0;list-style:none}.board li{border-bottom:1px solid var(--line);align-items:center;gap:14px;padding:12px 4px;display:flex}.board li:last-child{border-bottom:none}.board .rank{text-align:center;width:2.4rem;font-size:1.2rem}.board .name{overflow-wrap:anywhere;flex:1;min-width:0;font-size:1.1rem}.board .points{font-variant-numeric:tabular-nums;text-align:right;font-size:1.3rem;font-weight:700}.board .points small{color:var(--muted);font-size:.7rem;font-weight:400;display:block}.filebtn{cursor:pointer;border:1px solid var(--line);background:var(--card);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;max-width:220px;padding:8px 14px;overflow:hidden}.filebtn:hover{border-color:var(--accent)}.school-row{border-bottom:1px solid var(--line);padding:8px 0}.school-row:last-child{border-bottom:none}:root{--gold:#f5c542;--silver:#c7ccd4;--bronze:#d99058;--fourth:#7aa7f7;--badge-text:#1d1a10}.board .rank{flex:none;justify-content:center;width:4.2rem;display:flex}.rank-plain{color:var(--muted);font-size:1.2rem;font-weight:700}.rank-badge{color:var(--badge-text);border-radius:999px;align-items:center;gap:4px;padding:3px 10px 3px 8px;font-size:.95rem;font-weight:800;display:inline-flex;box-shadow:inset 0 0 0 1px #0000001f}.rank-badge.place-1{background:linear-gradient(135deg, #ffe27a, var(--gold))}.rank-badge.place-2{background:linear-gradient(135deg, #eef0f4, var(--silver))}.rank-badge.place-3{background:linear-gradient(135deg, #f0b484, var(--bronze))}.rank-badge.place-4{background:linear-gradient(135deg, #b4cdfa, var(--fourth))}.board li.top{border-left:4px solid #0000;padding-left:10px}.board li.top.place-1{border-left-color:var(--gold)}.board li.top.place-2{border-left-color:var(--silver)}.board li.top.place-3{border-left-color:var(--bronze)}.board li.top.place-4{border-left-color:var(--fourth)}.board li.top .name{font-weight:600}.board li.top.place-1 .name{font-size:1.25rem}.stage{--bg:#004523;--card:#ffffff12;--text:#eafaf5;--muted:#9fd8c4;--line:#d0f1ea2e;--accent:#d0f1ea;--accent-text:#004523;--brand-mint:#d0f1ea;--err:#ffb4ab;--err-bg:#5c1d17;--ok-bg:#0a6b3d;--warn:#fde68a;--warn-bg:#4a3a05;min-height:100vh;color:var(--text);background:#004523;position:relative;overflow:hidden}.stage main{z-index:1;position:relative}.stage h1{color:var(--brand-mint);letter-spacing:.01em;font-size:2rem}.stage .card{box-shadow:0 10px 30px #00000040}.stage .logo{background:#fff;border-color:#0000}.stage .logo.placeholder{background:var(--brand-mint);color:#004523}.stage .rank-plain{color:var(--muted)}.stage option{color:var(--text);background:#004523}.stage input::placeholder{color:var(--muted)}.req{color:var(--err)}.photo-pick{align-items:center;gap:12px;display:flex}.photo-thumb{object-fit:cover;border:1px solid var(--line);background:var(--bg);border-radius:8px;flex:none;width:48px;height:48px;display:block}.photo-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.stage .back-link{color:var(--accent);font-weight:600;text-decoration:none}.stage .back-link:hover{text-decoration:underline}.stage .back-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}.stage-head{z-index:1;justify-content:space-between;align-items:center;gap:16px;max-width:960px;margin:0 auto;padding:24px 16px 0;display:flex;position:relative}.brand{width:clamp(150px,26vw,240px);height:auto;display:block}.sticker{pointer-events:none;-webkit-user-select:none;user-select:none;height:auto;display:block}.stage-head .s-podium{width:clamp(90px,18vw,150px);transform:rotate(4deg)}.stage>.sticker{z-index:0;display:none;position:absolute}@media (min-width:1500px){.stage>.sticker{display:block}.s-medal{width:84px;top:150px;left:2vw;transform:rotate(-10deg)}.s-bell{width:64px;top:340px;left:5vw;transform:rotate(12deg)}.s-confetti{width:86px;top:540px;left:2.5vw;transform:rotate(-6deg)}.s-fireworks{width:130px;top:190px;right:2vw;transform:rotate(6deg)}.s-scoreboard{width:130px;top:380px;right:3vw;transform:rotate(-5deg)}.s-arrow{width:120px;top:560px;right:2.5vw;transform:rotate(-4deg)}}.sticker-strip{flex-wrap:wrap;justify-content:center;align-items:center;gap:18px 28px;margin-top:28px;display:flex}.sticker-strip .sticker{opacity:.95;width:auto;height:56px}.sticker-strip .sticker:nth-child(odd){transform:rotate(-4deg)}.sticker-strip .sticker:nth-child(2n){transform:rotate(4deg)}@media (prefers-reduced-motion:no-preference){@keyframes bob{0%,to{translate:0}50%{translate:0 -8px}}.stage .sticker{animation:6s ease-in-out infinite bob}.stage .sticker:nth-child(2n){animation-delay:-2s}.stage .sticker:nth-child(3n){animation-delay:-4s}}.board li{transition:scale .35s,box-shadow .35s;position:relative}.board li[data-lifting]{z-index:3;box-shadow:0 10px 28px #0006, 0 0 0 2px var(--brand-mint,#d0f1ea);background:#1f6e47;border-radius:14px;scale:1.03}@keyframes row-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes row-out{to{opacity:0;transform:scale(.92)}}.board li.entering{animation:.6s ease-out row-in}.board li.leaving{pointer-events:none;animation:.4s ease-in forwards row-out}@media (prefers-reduced-motion:reduce){.board li.entering,.board li.leaving{animation:none}.board li[data-lifting]{scale:1}}.board .name{flex-direction:column;gap:2px;display:flex}.board .gap{color:var(--muted);font-size:.85rem;font-weight:400}.board li.top .gap{font-size:.95rem}@keyframes flash-row{0%{background:#d0f1ea59}to{background:0 0}}.board li.flash{border-radius:12px;animation:1.2s ease-out flash-row}.points{position:relative}.gain-chip{color:#004523;white-space:nowrap;background:#d0f1ea;border-radius:999px;padding:1px 9px;font-size:.8rem;font-weight:800;animation:.4s ease-out chip-pop;position:absolute;top:-1.1rem;right:0}@keyframes chip-pop{0%{opacity:0;transform:translateY(6px)scale(.8)}to{opacity:1;transform:none}}.toasts{z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(92vw,560px);display:flex;position:fixed;top:14px;left:50%;transform:translate(-50%)}.toast{text-align:center;color:#004523;background:#d0f1ea;border-radius:999px;padding:10px 18px;font-weight:700;animation:.35s ease-out toast-in,.4s ease-in 3.6s forwards toast-out;box-shadow:0 8px 22px #00000059}@keyframes toast-in{0%{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translateY(-8px)}}.confetti{pointer-events:none;z-index:4;position:absolute;inset:0;overflow:visible}.confetti i{opacity:0;border-radius:2px;animation-name:confetti-fall;animation-timing-function:ease-in;animation-fill-mode:forwards;display:block;position:absolute;top:0}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10px)rotate(0)}to{opacity:0;transform:translate(var(--drift), 140px) rotate(var(--spin))}}@media (prefers-reduced-motion:reduce){.board li.flash{background:#d0f1ea40;animation:none}.gain-chip,.toast{animation:none}.toast{animation:10ms linear 4s forwards toast-out}}.stage main,.stage-head{max-width:clamp(960px,70vw,1280px)}.stage h1{font-size:clamp(2rem,3.2vw,3rem)}.stage .sub{color:var(--muted);font-size:clamp(1.05rem,1.6vw,1.5rem)}.board .school-name{font-size:clamp(1.05rem,1.7vw,1.5rem)}.board .points{font-size:clamp(1.25rem,2.2vw,1.9rem)}.board .points small{font-size:.7rem}.board li.top{padding-top:16px;padding-bottom:16px}.board li.top .school-name{font-size:clamp(1.3rem,2.4vw,2rem);font-weight:800}.board li.top .points{font-size:clamp(1.6rem,3.2vw,2.7rem)}.board li.top.place-1 .school-name{font-size:clamp(1.5rem,2.8vw,2.4rem)}.board li.top.place-1 .points{color:#ffe27a;font-size:clamp(1.9rem,3.8vw,3.2rem)}.board li.top .rank-badge{padding:4px 12px 4px 10px;font-size:clamp(1rem,1.6vw,1.4rem)}@media (max-width:560px){.board li{gap:10px}.board .rank{width:3.7rem}.board .rank-badge{padding:2px 8px 2px 6px;font-size:.85rem}.board li.top{padding-left:8px}.board .school-name{overflow-wrap:anywhere}.board .gap{font-size:.8rem}.board li{grid-template-columns:auto 48px minmax(0,1fr);grid-template-areas:"rank logo name""rank logo points";align-items:center;gap:2px 10px;display:grid}.board .rank{grid-area:rank;width:4.3rem}.board .logo{grid-area:logo;width:48px!important;height:48px!important}.board .name{grid-area:name;min-width:0}.board .points{text-align:left;grid-area:points}.board .points small{margin-left:6px;display:inline}.board li.top .school-name{font-size:1.2rem}.board li.top.place-1 .school-name{font-size:1.3rem}.board li.top .points{font-size:1.5rem}.board li.top.place-1 .points{font-size:1.7rem}.board .points{font-size:1.2rem}.gain-chip{vertical-align:middle;margin-right:8px;display:inline-block;position:static}}.board .name-line{flex-wrap:wrap;align-items:center;gap:4px 10px;min-width:0;display:flex}.board .name-line .move{padding:2px 9px;font-size:.85rem}.move{font-variant-numeric:tabular-nums;white-space:nowrap;border-radius:999px;align-items:center;gap:3px;padding:3px 10px;font-size:1rem;font-weight:800;line-height:1.2;display:inline-flex;box-shadow:0 2px 8px #00000040}.move span{font-size:.8em}.move-up{color:#052e16;background:#4ade80}.move-down{color:#450a0a;background:#f87171}.move-new{color:#0b1a33;letter-spacing:.04em;background:#60a5fa;font-size:.85rem}.board li.top .name-line .move{padding:3px 10px;font-size:.95rem}@media (prefers-reduced-motion:no-preference){@keyframes move-life{0%{opacity:0;transform:scale(.6)}2%{opacity:1;transform:scale(1.15)}4%{transform:scale(1)}92%{opacity:1}to{opacity:0}}.move{animation:30s ease-out forwards move-life}}@media (max-width:560px){.move,.board li.top .name-line .move{padding:2px 7px;font-size:.78rem}}.view-toggle{border:1px solid var(--line);background:#0000002e;border-radius:999px;gap:4px;margin:0 0 14px;padding:4px;display:inline-flex}.view-toggle button{color:var(--muted);background:0 0;border:none;border-radius:999px;padding:6px 16px;font-weight:600}.view-toggle button[aria-pressed=true]{background:var(--brand-mint,#d0f1ea);color:#004523}.board-search{margin:0 0 14px}.board-search input{border-radius:12px;width:100%;padding:12px 14px;font-size:1.05rem}.board-search p{margin:8px 0 0}.board-search p.share-invite{color:var(--text);margin:0 0 10px;font-size:1.05rem;line-height:1.4}.ig-pill,.ig-big{color:#fff;cursor:pointer;background:linear-gradient(45deg,#feda75 0%,#fa7e1e 25%,#d62976 50%,#962fbf 75%,#4f5bd5 100%);border:none}.ig-pill{border-radius:999px;align-self:flex-start;align-items:center;gap:6px;margin-top:6px;padding:5px 12px 5px 9px;font-size:.82rem;font-weight:700;line-height:1.2;display:inline-flex}.ig-big{border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:10px;padding:12px 16px;font-size:1.05rem;font-weight:700;display:flex}.ig-pill:disabled,.ig-big:disabled{opacity:.6}.ig-pill:focus-visible,.ig-big:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.track{padding:6px 0;position:relative}.lane{border-bottom:2px dashed #d0f1ea2e;height:84px;position:relative}.lane:first-child{border-top:2px dashed #d0f1ea2e}.lane.top{height:92px}.lane-road{position:absolute;inset:0 7% 0 0}.finish{pointer-events:none;background:repeating-conic-gradient(#f8fafc 0 25%, #0f172a 0 50%) 0 0 / 14px 14px;opacity:.85;border-radius:3px;width:14px;position:absolute;top:0;bottom:0;right:4%}.finish span{font-size:1.4rem;position:absolute;top:-26px;left:50%;translate:-50%}.runner{top:50%;left:calc(var(--progress) * (100% - 56px));align-items:center;gap:10px;transition:left 1.6s cubic-bezier(.22,1,.36,1);display:flex;position:absolute;translate:0 -50%}.runner-body{flex:none;position:relative}.runner-body .logo{box-shadow:0 4px 14px #00000059}.lane.top .runner-body .logo{outline:3px solid var(--gold);outline-offset:2px}.lane.place-2 .runner-body .logo{outline-color:var(--silver)}.lane.place-3 .runner-body .logo{outline-color:var(--bronze)}.lane.place-4 .runner-body .logo{outline-color:var(--fourth)}.runner-rank{white-space:nowrap;position:absolute;bottom:-12px;left:50%;translate:-50%;scale:.72}.runner-rank .rank-plain{text-align:center;min-width:1.6rem;color:var(--text);background:#0b3b24;border-radius:999px;padding:0 6px;font-size:1rem;display:inline-block}.runner-label{white-space:nowrap;flex-direction:column;line-height:1.15;display:flex}.runner-name{align-items:center;gap:8px;font-size:1.05rem;font-weight:700;display:inline-flex}.runner-name .move{padding:1px 7px;font-size:.8rem}.runner-points{font-variant-numeric:tabular-nums;color:var(--muted);font-size:.95rem}.runner-gain{color:var(--brand-mint,#d0f1ea);margin-left:6px;font-weight:700}.runner.label-left{flex-direction:row-reverse;translate:calc(56px - 100%) -50%}.runner.label-left .runner-label{align-items:flex-end}.runner.label-left .runner-name{flex-direction:row-reverse}@media (prefers-reduced-motion:no-preference){@keyframes runner-bounce{0%,to{translate:0}50%{translate:0 -7px}}@keyframes speed-trail{0%{opacity:.9;width:70px}to{opacity:0;width:0}}.runner.sprinting .runner-body{animation:.3s ease-in-out 4 runner-bounce}.runner.sprinting .runner-body:before{content:"";background:linear-gradient(270deg,#d0f1eacc,#0000);border-radius:3px;height:6px;animation:1.2s ease-out forwards speed-trail;position:absolute;top:50%;right:100%;translate:0 -50%}.lane.entering .runner{animation:.6s ease-out row-in}}@media (prefers-reduced-motion:reduce){.runner{transition:none}}.lane-label{display:none}@media (max-width:560px){.lane,.lane.top{height:78px}.lane-label{white-space:nowrap;align-items:baseline;gap:8px;line-height:1.2;display:flex;position:absolute;top:4px;left:2px;right:12%;overflow:hidden}.runner .runner-label{display:none}.runner,.runner.label-left{top:60%;translate:0 -50%}.lane-road{right:9%}.finish{background-size:10px 10px;width:10px;right:3%}.runner{gap:6px}.runner-name{gap:5px;font-size:.9rem}.runner-points{font-size:.8rem}.runner-body .logo{width:40px!important;height:40px!important}}.picker{flex:200px;min-width:0;position:relative}.picker input{width:100%}.picker-list{z-index:20;background:var(--card);border:1px solid var(--line);border-radius:8px;max-height:280px;margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000026}.picker-list li{cursor:pointer;overflow-wrap:anywhere;border-radius:6px;padding:7px 10px}.picker-list li.active{background:color-mix(in srgb, var(--accent) 18%, transparent)}.picker-list li[aria-selected=true]{font-weight:600}.picker-list li.picker-empty{cursor:default;color:var(--muted);font-size:.9rem}h2.with-help{align-items:center;gap:8px;display:inline-flex}.help-btn{width:26px;height:26px;color:var(--accent);border-color:var(--accent);border-radius:50%;padding:0;font-size:.9rem;font-weight:700;line-height:1}.help-btn[aria-expanded=true]{background:var(--accent);color:var(--accent-text)}.filebtn.disabled{opacity:.55;pointer-events:none}.msg:not(.err):not(.warn):not(.ok){background:var(--bg)}.help{background:var(--bg);border-radius:8px;margin-top:12px;padding:4px 16px}.help ol{padding-left:1.3rem}.help li{margin-bottom:6px}.help code{overflow-wrap:anywhere;font-size:.85em}.cib-banner{background:var(--card);border:1px solid var(--line);border-radius:16px;margin:0 0 20px;padding:16px;box-shadow:0 10px 30px #00000040}.cib-button{box-sizing:border-box;color:#fff;letter-spacing:.02em;text-align:center;overflow-wrap:anywhere;text-shadow:0 1px 2px #00000059;background:linear-gradient(90deg,#f0f 0%,#ee2aff 14%,#a855ff 26%,#645fff 34%,#0080ff 44%,#00aeef 72%,#00d2e4 100%) border-box;border:2px solid #0000;border-radius:14px;width:100%;max-width:640px;margin:0 auto;padding:16px 18px;font-size:clamp(1.05rem,2.6vw,1.5rem);font-weight:800;line-height:1.25;text-decoration:none;display:block;box-shadow:0 6px 18px #0000004d}.mycib-logo{vertical-align:-.8em;width:auto;height:1.7em;display:inline-block}.cib-button:hover{filter:brightness(1.06)}.cib-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.video-button{box-sizing:border-box;width:100%;max-width:640px;color:var(--accent-text);background:var(--accent);letter-spacing:.02em;text-align:center;overflow-wrap:anywhere;border-radius:14px;margin:0 auto;padding:16px 18px;font-size:clamp(1.05rem,2.6vw,1.5rem);font-weight:800;line-height:1.25;text-decoration:none;display:block;box-shadow:0 6px 18px #0000004d}.video-button:hover{filter:brightness(1.06)}.video-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.get-card-link{text-align:center;margin:14px 0 0;font-size:1.15rem}.get-card-link a{color:var(--accent);font-weight:600}.get-card-link.get-card-options{margin-top:4px;line-height:1.7}.cta-row{grid-template-columns:1fr 1fr;grid-template-areas:"cib video""help help";gap:8px 12px;padding:12px;display:grid}.cta-row .cib-button{grid-area:cib}.cta-row .video-button{grid-area:video}.cta-row .get-card{grid-area:help}.cta-row .cib-button,.cta-row .video-button{max-width:none;margin:0;padding:12px 14px;font-size:clamp(1rem,1.5vw,1.2rem)}.cta-row .video-button{justify-content:center;align-items:center;display:flex}@media (max-width:640px){.cta-row{grid-template-columns:1fr;grid-template-areas:"cib""help""video"}}.get-card summary{cursor:pointer;text-align:center;text-underline-offset:3px;font-size:1rem;text-decoration:underline;list-style:none}.get-card summary::-webkit-details-marker{display:none}.get-card summary:after{content:" ▾"}.get-card[open] summary:after{content:" ▴"}.get-card .get-card-options{margin-top:6px;font-size:1rem}.entry-icon-btn{background:0 0;border:none;border-radius:6px;padding:0;line-height:0;display:block}.entry-icon{object-fit:cover;border:1px solid var(--line);background:var(--bg);border-radius:6px;width:40px;height:40px;display:block}.entry-list{font-size:.92rem}.entry-head,.entry-row{border-bottom:1px solid var(--line);grid-template-columns:36px 130px 190px 78px auto;justify-content:start;align-items:center;gap:4px 14px;padding:6px 4px;display:grid}.entry-head{color:var(--muted);padding-top:2px;padding-bottom:4px;font-size:.8rem;font-weight:600}.entry-rows{margin:0;padding:0;list-style:none}.entry-row>div{overflow-wrap:anywhere;min-width:0}.entry-row .entry-icon{width:36px;height:36px}.entry-photo{flex-direction:column;align-items:flex-start;gap:2px;display:flex}.entry-icon-none{background:#80808040}.entry-student,.entry-school{gap:0;line-height:1.3;display:grid}.entry-student strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.entry-time{font-size:.78rem}.badge.waiting{background:#80808038}.entry-actions{align-items:center;gap:6px;display:flex}button.small{white-space:nowrap;padding:3px 10px;font-size:.85rem}.icon-btn{border:1px solid var(--line);background:var(--card);width:28px;height:28px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:0;font-size:1.05rem;line-height:1;text-decoration:none;display:inline-flex}.icon-btn:hover{border-color:var(--accent)}.icon-btn.danger{color:var(--err)}.entry-note{white-space:normal}.entry-resolve{grid-column:2/-1;gap:6px;padding:6px 0 2px;display:grid}.entry-resolve-controls{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.entry-resolve-controls select{flex:200px;min-width:0;max-width:320px;padding:3px 8px;font-size:.85rem}@media (max-width:760px){.entry-head{display:none}.entry-row{grid-template-columns:36px minmax(0,1fr) auto}.entry-student{grid-column:2}.entry-status{grid-area:1/3}.entry-school{grid-column:2/-1}.entry-actions{flex-wrap:wrap;grid-column:1/-1}.entry-resolve{grid-column:1/-1}}.badge.typed{background:var(--warn-bg);color:var(--warn)}.badge.student{background:var(--ok-bg)}.entry-overlay{z-index:50;background:#000c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.entry-overlay figure{justify-items:end;gap:10px;max-width:100%;margin:0;display:grid}.entry-overlay img{object-fit:contain;background:#000;border-radius:10px;max-width:min(92vw,1000px);max-height:80vh;display:block}@media (max-width:560px){.board li{grid-template-columns:2.9rem 36px minmax(0,1fr) auto;grid-template-areas:"rank logo name points"". .gap gap"". .share share";align-items:center;gap:0 8px;padding:10px 2px;display:grid}.board li.top{padding:12px 2px 12px 8px}.board .rank{grid-area:rank;justify-content:center;width:auto}.board li>.logo{grid-area:logo;width:36px!important;height:36px!important;font-size:16px!important}.board .name{display:contents}.board .name-line{grid-area:name}.board .ig-pill{grid-area:share;justify-self:start}.board .gap,.board li.top .gap{grid-area:gap;padding-top:2px;font-size:.78rem;line-height:1.25}.board .school-name,.board li.top .school-name,.board li.top.place-1 .school-name{font-size:1.05rem;font-weight:700;line-height:1.2}.board .points,.board li.top .points{flex-direction:column;grid-area:points;align-items:flex-end;font-size:1.15rem;line-height:1.15;display:flex}.board li.top.place-1 .points{font-size:1.3rem}.board .points small{display:none}.board .rank-badge,.board li.top .rank-badge{padding:2px 8px;font-size:.78rem}.board .rank-badge svg{display:none}.stage .card{padding:12px}.board .rank-plain{font-size:1rem}}@media (max-width:380px){.board li{column-gap:6px}.board .school-name,.board li.top .school-name,.board li.top.place-1 .school-name{font-size:1rem}.board .points,.board li.top .points{font-size:1.05rem}.board li.top.place-1 .points{font-size:1.15rem}}.drop-zone{border-radius:8px;transition:background .12s,outline-color .12s}.drop-zone.drop-active{outline:2px dashed var(--accent);outline-offset:-2px;background:color-mix(in srgb, var(--accent) 12%, transparent)}.drop-zone.drop-active .filebtn{border-color:var(--accent);color:var(--accent)}.screen-page{box-sizing:border-box;cursor:none;flex-direction:column;gap:2vh;height:100vh;min-height:0;padding:2.2vh 2.4vw;display:flex}.screen-head{flex:none;justify-content:space-between;align-items:flex-start;gap:2vw;display:flex}.screen-title{align-items:center;gap:1.6vw;display:flex}.screen-title .brand{width:auto;height:9vh}.screen-title h1{margin:0;font-size:clamp(2rem,3.4vw,5rem);line-height:1.05}.screen-title .sub{margin:.4vh 0 0;font-size:clamp(1.1rem,1.5vw,2.2rem)}.screen-qr{background:var(--card);border:1px solid var(--line);border-radius:18px;align-items:center;gap:1.2vw;padding:1vh 1vw;display:flex}.screen-qr-text{text-align:right}.screen-qr-text p{margin:.2vh 0;font-size:clamp(.95rem,1.1vw,1.6rem)}.screen-qr-text .scan{color:var(--brand-mint);font-size:clamp(1.4rem,1.9vw,2.8rem);font-weight:800}.screen-qr-text .screen-url{color:var(--muted)}.screen-qr .qr{aspect-ratio:1;box-sizing:border-box;background:#fff;border-radius:10px;height:15vh;padding:6px}.screen-qr .qr svg{width:100%;height:100%;display:block}.stage main.screen-main{flex-direction:column;flex:1;gap:2vh;max-width:none;min-height:0;margin:0;display:flex}.auto-scroll{background:var(--card);border:1px solid var(--line);border-radius:18px;flex:1;min-height:0;padding:0 1vw;overflow:hidden}.screen-page .board li{gap:1.4vw;padding:1.3vh .6vw}.screen-page .board .school-name{font-size:clamp(1.3rem,1.8vw,2.6rem)}.screen-page .board .points{font-size:clamp(1.5rem,2.1vw,3.1rem)}.screen-page .board .gap{font-size:clamp(.95rem,1.05vw,1.5rem)}.screen-page .board li.top .school-name{font-size:clamp(1.6rem,2.3vw,3.3rem)}.screen-page .board li.top .points{font-size:clamp(1.9rem,2.9vw,4.2rem)}.screen-page .board li.top.place-1 .school-name{font-size:clamp(1.9rem,2.7vw,3.9rem)}.screen-page .board li.top.place-1 .points{font-size:clamp(2.2rem,3.3vw,4.8rem)}.card-warning{border:2px solid var(--warn);background:var(--warn-bg);color:var(--warn);border-radius:14px;align-items:center;gap:12px;margin:8px 0 16px;padding:14px 18px;font-size:clamp(1.15rem,2.4vw,1.5rem);line-height:1.35;display:flex}.card-warning>span{flex:none;font-size:1.6em}.admin-tabs{border:1px solid var(--line);background:var(--card);z-index:5;scrollbar-width:thin;border-radius:12px;gap:4px;margin:0 0 16px;padding:4px;display:flex;position:sticky;top:0;overflow-x:auto}.admin-tabs button{color:var(--muted);white-space:nowrap;background:0 0;border:none;border-radius:8px;flex:1 0 auto;padding:8px 16px;font-weight:600}.admin-tabs button:hover{color:var(--text,inherit)}.admin-tabs button[aria-selected=true]{background:var(--accent);color:var(--accent-text)}.admin-tabs button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (max-width:560px){.admin-tabs{gap:2px}.admin-tabs button{flex:1 1 0;padding:8px 4px;font-size:.85rem}}.cand{border:1px solid var(--line);background:color-mix(in srgb, var(--text) 4%, transparent);border-radius:14px;margin:12px 0;padding:16px}.cand.cand-chosen{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.cand-head{flex-wrap:wrap;align-items:center;gap:8px 10px;display:flex}.cand-name{font-size:1.15rem;line-height:1.3}.cand-pill{border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.9rem;font-weight:600}.cand-samples{margin:6px 0 12px;font-size:.95rem}.cand-choices{flex-wrap:wrap;gap:10px;display:flex}.choice{cursor:pointer;border:2px solid var(--line);background:var(--bg);color:var(--text);border-radius:10px;flex:200px;justify-content:center;align-items:center;gap:10px;padding:12px 16px;font-size:1.05rem;font-weight:600;display:inline-flex}.choice:hover{border-color:var(--accent)}.choice[aria-pressed=true]{border-color:var(--accent);background:var(--accent);color:var(--accent-text)}.choice:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.choice-mark{font-size:1.2rem;line-height:1}.cand-result{margin-top:10px;font-size:1.05rem}.cand-hint{margin-top:8px;font-size:.9rem}.cand-field{gap:6px;margin-top:12px;display:grid}.cand-field input{width:100%;padding:10px 12px;font-size:1.05rem}.cib-button,.video-button{position:relative}.link-spinner{box-sizing:border-box;opacity:0;border:3px solid;border-top-color:#0000;border-radius:50%;width:1em;height:1em;display:inline-block}.cib-button .link-spinner,.video-button .link-spinner{position:absolute;top:calc(50% - .5em);right:14px}.link-spinner.is-pending{opacity:1;animation:.8s linear infinite link-spin}@keyframes link-spin{to{transform:rotate(360deg)}}.page-loading{justify-content:center;align-items:center;gap:12px;padding:20vh 0;font-size:1.3rem;display:flex}
