:root{--night:#0b1d3a;--night-2:#12294f;--night-3:#1b3664;--gold:#f2c14e;--amber:#e8a21b;--foam:#fff;--hat:#1f5fd1;--hat-dark:#164aa8;--tofs-1:#3da5ff;--tofs-2:#a8ddff;--tofs-3:#00c2ff;--red:#d7263d;--snow:#eaf1fa;--mist:#d6e2f2;--muted:#9fb3d1;--ok:#7fd1ae;--font-display:"Bowlby One","Arial Black",sans-serif;--font-body:"Work Sans",system-ui,sans-serif;--radius:18px;--radius-pill:999px;--gap:16px}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--night);color:var(--foam);font-family:var(--font-body);font-size:17px;line-height:1.4;min-height:100dvh;-webkit-tap-highlight-color:transparent}a{color:var(--gold)}button{cursor:pointer}button,input,select,textarea{font:inherit}.display{font-family:var(--font-display);letter-spacing:1px;line-height:.95;margin:0;overflow-wrap:anywhere}.kicker{font-weight:700;letter-spacing:4px;text-transform:uppercase;color:var(--gold);font-size:13px}.muted{color:var(--muted)}.page{max-width:560px;padding:20px 16px 120px}.page,.page-wide{position:relative;z-index:1;margin:0 auto}.page-wide{max-width:1400px;padding:24px 16px 80px}.card{background:var(--night-2);border:2px solid var(--night-3);border-radius:var(--radius);padding:18px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 22px;border:0;border-radius:var(--radius-pill);background:var(--gold);color:var(--night);font-weight:700;font-size:17px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--foam);border:2px solid var(--night-3)}.btn-blue{background:var(--hat);color:var(--foam)}.btn-red{background:var(--red);color:var(--foam)}.btn-small{min-height:36px;padding:6px 14px;font-size:14px}.btn-block,.input{width:100%}.input{min-height:52px;padding:12px 16px;border-radius:14px;border:2px solid var(--night-3);background:var(--night);color:var(--foam)}.input:focus{outline:3px solid var(--tofs-1);outline-offset:1px}.row{align-items:center;flex-wrap:wrap}.row,.stack{display:flex;gap:var(--gap)}.stack{flex-direction:column}.pill{padding:4px 12px;border-radius:var(--radius-pill);background:var(--night-3);font-size:13px;font-weight:700}.dot,.pill{display:inline-block}.dot{width:12px;height:12px;border-radius:50%}.snow{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.flake{position:absolute;top:-20px;border-radius:50%;background:var(--foam);animation:fall linear infinite}@keyframes fall{to{transform:translateY(110dvh)}}@media (prefers-reduced-motion:reduce){.flake{animation:none}}@keyframes tofsblink{0%,to{fill:var(--tofs-1);opacity:1}25%{fill:var(--tofs-2)}50%{fill:var(--hat);opacity:.6}75%{fill:var(--tofs-3);opacity:1}}@keyframes tofsglow{0%,to{opacity:.25}25%{opacity:.7}50%{opacity:.1}75%{opacity:.6}}.tofs{animation:tofsblink 1.2s steps(1) infinite;fill:var(--tofs-1)}.tofs-glow{animation:tofsglow 1.2s steps(1) infinite;fill:#4db3ff}.ticket{position:relative;background:linear-gradient(var(--night-2),var(--night-2)) padding-box;border:3px dashed var(--gold);border-radius:24px;padding:20px 16px 22px}.ticket:after,.ticket:before{content:"";position:absolute;top:50%;width:26px;height:26px;margin-top:-13px;background:var(--night);border-radius:50%;border:3px dashed var(--gold)}.ticket:before{left:-15px;border-left-color:transparent;border-bottom-color:transparent;transform:rotate(45deg)}.ticket:after{right:-15px;border-right-color:transparent;border-top-color:transparent;transform:rotate(45deg)}.stamps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-gap:10px;gap:10px}.stamp{aspect-ratio:1;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column;border:2px dashed var(--night-3);background:var(--night);color:var(--muted);font-family:var(--font-display);font-size:20px;padding:0;position:relative}.stamp.filled{border:3px solid var(--gold);background:var(--night-3);color:var(--gold);transform:rotate(-8deg)}.stamp.current{border:3px solid var(--tofs-1);color:var(--foam);animation:pulse 1.2s ease-in-out infinite}.stamp.crown{border-color:var(--gold)}@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(61,165,255,.25)}}@media (prefers-reduced-motion:reduce){.stamp.current{animation:none}}.sheet-backdrop{position:fixed;inset:0;background:rgba(5,12,26,.7);z-index:50;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:560px;max-height:92dvh;overflow:auto;background:var(--night-2);border-top:4px solid var(--gold);border-radius:24px 24px 0 0;padding:22px 18px calc(28px + env(safe-area-inset-bottom))}.quiz-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.quiz-option{min-height:88px;border:0;border-radius:16px;color:var(--foam);font-weight:700;font-size:17px;padding:12px;text-align:left}.quiz-option:first-child{background:var(--red)}.quiz-option:nth-child(2){background:var(--hat)}.quiz-option:nth-child(3){background:#b8860b}.quiz-option:nth-child(4){background:#2e8b57}.quiz-option.right{outline:4px solid var(--foam)}.quiz-option.dim{opacity:.35}.quiz-image{position:relative;display:block;width:100%;padding:0;border:0;border-radius:16px;overflow:hidden;background:var(--night)}.quiz-image img{display:block;width:100%;max-height:30dvh;object-fit:contain}.quiz-image-hint{display:block;width:100%;padding:6px 0;border-radius:0;text-align:center;background:var(--night-2);color:var(--foam)}.zoom{position:fixed;inset:0;z-index:60;background:#05070d;overflow:auto}.zoom img{display:block;width:max(100%,900px);height:auto}.zoom-close{position:fixed;top:12px;right:12px;z-index:61}.timer{height:8px;border-radius:4px;background:var(--night-3);overflow:hidden}.timer>div{height:100%;background:var(--gold);transition:width .25s linear}.actions{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.35fr);grid-gap:10px;gap:10px}.action{min-height:84px;border-radius:16px;border:2px solid var(--night-3);background:var(--night-2);color:var(--foam);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:14px;padding:8px}.action .display{letter-spacing:0}.action:disabled{opacity:.4}.action.hot{border-color:var(--tofs-1)}.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);z-index:60;max-width:calc(100% - 32px);background:var(--gold);color:var(--night);padding:12px 18px;border-radius:14px;font-weight:700;box-shadow:0 8px 30px rgba(0,0,0,.4)}.toast.bad{background:var(--red);color:var(--foam)}.screen-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-gap:24px;gap:24px}@media (max-width:900px){.screen-grid{grid-template-columns:minmax(0,1fr)}}.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.board-row{display:grid;grid-template-columns:44px minmax(0,1fr) auto auto;grid-gap:14px;gap:14px;align-items:center;padding:12px 16px;border-radius:14px;background:var(--night-2)}.stats-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));grid-gap:12px;gap:12px}.stat-tile{background:var(--night);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px}.feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:10px;gap:10px}.feed figure{margin:0;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:1;background:var(--night-2)}.feed img,.feed video{width:100%;height:100%;object-fit:cover;display:block}.feed figcaption{position:absolute;left:0;right:0;bottom:0;padding:6px 8px;font-size:13px;font-weight:700;background:linear-gradient(transparent,rgba(0,0,0,.75))}.map{height:420px;border-radius:var(--radius);overflow:hidden;border:2px solid var(--night-3)}table.gm{width:100%;border-collapse:collapse;font-size:14px}table.gm td,table.gm th{text-align:left;padding:8px;border-bottom:1px solid var(--night-3);vertical-align:top}.scroll-x{overflow-x:auto}.podium-stage{position:fixed;inset:0;z-index:60;background:var(--night);display:flex;flex-direction:column;padding:3vh 4vw;gap:2vh;overflow:hidden}.podium-head{display:flex;align-items:center;gap:24px;animation:pod-fade 1s ease both}.podium-title{font-size:clamp(32px,5vw,80px);color:var(--foam)}.podium-sub{font-size:clamp(18px,2.4vw,36px);color:var(--gold);letter-spacing:6px;text-transform:uppercase}.podium-row{flex:1 1;display:flex;align-items:flex-end;justify-content:center;gap:2vw;min-height:0}.podium-col{flex:1 1;max-width:28vw;height:100%;justify-content:flex-end;align-items:stretch;text-align:center}.podium-col,.podium-name{display:flex;flex-direction:column}.podium-name{align-items:center;gap:4px;padding-bottom:12px;opacity:0;animation:pod-pop .9s cubic-bezier(.2,1.4,.4,1) both}.podium-team{font-size:min(3.4vw,calc(25vw / (var(--len) * .85)));line-height:1.05;white-space:nowrap}.podium-col[data-place="1"] .podium-team{font-size:min(4.8vw,calc(25vw / (var(--len) * .85)))}.podium-members{font-size:clamp(14px,1.4vw,24px)}.podium-points{font-size:clamp(24px,3vw,54px);color:var(--gold)}.podium-crown{opacity:0;animation:pod-drop 1s cubic-bezier(.2,1.3,.4,1) both}.podium-block{transform-origin:bottom;transform:scaleY(0);animation:pod-rise 1.4s cubic-bezier(.2,.9,.2,1) both;border-radius:16px 16px 0 0;background:var(--night-2);border:3px solid var(--gold);display:flex;justify-content:center;align-items:flex-start;padding-top:2vh}.podium-col[data-place="1"] .podium-block{background:var(--hat)}.podium-block .display{font-size:clamp(48px,7vw,120px);color:var(--gold)}.podium-rest{position:absolute;right:4vw;top:4vh;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:clamp(14px,1.5vw,26px);opacity:0;animation:pod-fade 1.2s ease 10.2s both;text-align:left}@keyframes pod-rise{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pod-pop{0%{opacity:0;transform:translateY(24px) scale(.7)}to{opacity:1;transform:none}}@keyframes pod-drop{0%{opacity:0;transform:translateY(-60px) rotate(-12deg)}to{opacity:1;transform:none}}@keyframes pod-fade{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.podium-block,.podium-crown,.podium-head,.podium-name,.podium-rest{animation-duration:.01s;animation-delay:0s!important}}.board-hidden{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:28px}