:root{--bg:#0b1220;--panel:#121b2f;--panel-2:#18233b;--line:#24314f;--text:#eaf0fc;--muted:#8b9ab9;--accent:#2ee6a8;--accent-ink:#052e22;--gold:#ffc94a;--danger:#ff6b6b;--radius:14px;--shadow:0 10px 30px #00000059;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg);min-height:100%;margin:0}button,input{font:inherit;color:inherit}a{color:inherit;text-decoration:none}h1{letter-spacing:-.02em;text-transform:uppercase;margin:0;font-size:2.2rem;font-style:italic;font-weight:900}h2{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:1.8rem 0 .7rem;font-size:.85rem;font-weight:800}.muted{color:var(--muted)}.small{font-size:.82rem}.error{color:var(--danger);margin:0}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.75rem;font-weight:800}.row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.row>.btn-big{flex:1}.btn{cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:.4rem;min-height:44px;padding:0 1.1rem;font-weight:800;transition:transform .12s,filter .12s,background .12s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled{opacity:.5;cursor:default}.btn-big{letter-spacing:.04em;text-transform:uppercase;min-height:54px;font-size:1.05rem;font-style:italic}.btn-primary{background:var(--accent);color:var(--accent-ink);box-shadow:0 4px #1a9c72}.btn-primary:hover:not(:disabled){filter:brightness(1.08)}.btn-secondary{background:var(--panel-2);border:1px solid var(--line)}.btn-ghost{color:var(--muted);background:0 0;padding:0 .6rem}.btn-ghost:hover{color:var(--text)}.chip{border:1px solid var(--line);background:var(--panel);cursor:pointer;border-radius:999px;padding:.4rem .8rem;font-weight:700}.badge{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);border-radius:999px;padding:.25rem .6rem;font-size:.8rem;font-weight:800}.page{max-width:720px;padding:max(1rem, env(safe-area-inset-top)) 1rem max(2rem, env(safe-area-inset-bottom));margin:0 auto}.page.center{flex-direction:column;justify-content:center;align-items:center;gap:1rem;min-height:100dvh;display:flex}.topbar{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem}.hero{background:radial-gradient(120% 140% at 100% 0%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%), var(--panel);flex-direction:column;gap:1rem;display:flex}.resume{color:var(--gold);font-size:.9rem;font-weight:700}.logo{letter-spacing:-.02em;align-items:center;gap:.45rem;font-size:1.3rem;font-style:italic;font-weight:800;display:inline-flex}.logo b{color:var(--accent)}.logo svg{width:1.6em;height:1.6em}.logo-large{font-size:2.6rem}.login{background:radial-gradient(60% 50% at 50% 0%, color-mix(in srgb, var(--accent) 20%, transparent), transparent), var(--bg);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:1.5rem;display:flex}.login-tagline{color:var(--muted);margin:.4rem 0 1.6rem}.login-card{flex-direction:column;gap:.9rem;width:min(380px,100%);display:flex}label{color:var(--muted);flex-direction:column;gap:.35rem;font-size:.85rem;font-weight:700;display:flex}input{border:1px solid var(--line);background:var(--bg);border-radius:10px;min-height:48px;padding:0 .9rem;font-size:16px}input:focus{outline:2px solid var(--accent);outline-offset:1px}.hint{color:var(--muted);margin:0;font-size:.8rem}.settings{flex-direction:column;gap:.5rem;display:flex}.segmented{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:3px;display:flex}.segmented button{min-height:38px;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:999px;flex:1;font-size:.85rem;font-weight:700}.segmented button.active{background:color-mix(in srgb, var(--accent) 16%, var(--panel-2));color:var(--text);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent)}.list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.list-item{border-radius:var(--radius);background:var(--panel);border:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1rem;display:flex}.list-item:hover{border-color:color-mix(in srgb, var(--accent) 50%, var(--line))}.list-right{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.score{color:var(--gold);font-variant-numeric:tabular-nums;font-weight:800}.leaderboard,.round-list{margin:0;padding:0;list-style:none}.leaderboard li,.round-list li,.leaderboard-link{grid-template-columns:2rem 1fr auto auto;align-items:center;gap:.75rem;padding:.55rem .2rem;display:grid}.leaderboard li{border-bottom:1px solid var(--line)}.leaderboard li:has(.leaderboard-link){padding:0;display:block}.leaderboard li.me .who{color:var(--accent)}.rank{background:var(--panel-2);border-radius:50%;place-items:center;width:1.7rem;height:1.7rem;font-size:.8rem;font-weight:800;display:grid}.who{font-weight:700}.footer-links{flex-direction:column;align-items:center;gap:.8rem;margin-top:2rem;display:flex}.footer-links .list-item{align-self:stretch}.stat-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem;display:grid}.stat{flex-direction:column;gap:.2rem;padding:.9rem;display:flex}.stat-value{font-variant-numeric:tabular-nums;font-size:1.4rem;font-weight:900}.stat-label{color:var(--muted);font-size:.75rem;font-weight:700}.country-list{margin:0;padding:0;list-style:none}.country-list li{grid-template-columns:minmax(0,1.4fr) 2.5rem minmax(0,1fr) 4.5rem;align-items:center;gap:.6rem;padding:.4rem 0;display:grid}.country-bar,.score-bar{background:var(--panel-2);border-radius:999px;height:8px;overflow:hidden}.country-bar div,.score-bar div{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--gold));height:100%}@media (width<=480px){.stat-grid{grid-template-columns:repeat(2,1fr)}}.game{-webkit-user-select:none;user-select:none;background:#000;position:fixed;inset:0;overflow:hidden}.panorama-wrap,.panorama,.panorama-lock{position:absolute;inset:0}.panorama-lock{z-index:1}.banner{z-index:50;text-align:center;background:var(--danger);color:#fff;padding:.4rem;font-size:.85rem;font-weight:700;position:absolute;top:0;left:0;right:0}.game-exit{z-index:5;top:max(12px, env(safe-area-inset-top));left:max(12px, env(safe-area-inset-left));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b1220bf;border-radius:50%;place-items:center;width:40px;height:40px;font-weight:800;display:grid;position:absolute}.hud{z-index:5;top:max(12px, env(safe-area-inset-top));right:max(12px, env(safe-area-inset-right));-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow);background:#0b1220cc;border:1px solid #ffffff14;border-radius:12px;display:flex;position:absolute;overflow:hidden}.hud>div{border-left:1px solid #ffffff14;flex-direction:column;padding:.4rem .9rem;display:flex}.hud>div:first-child{border-left:0}.hud-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.65rem;font-weight:800}.hud-value{font-variant-numeric:tabular-nums;white-space:nowrap;text-overflow:ellipsis;max-width:10rem;font-size:1.05rem;font-style:italic;font-weight:900;overflow:hidden}.timer{z-index:5;top:max(64px, calc(env(safe-area-inset-top) + 52px));font-variant-numeric:tabular-nums;background:#0b1220d9;border-radius:999px;padding:.35rem 1rem;font-size:1.3rem;font-weight:900;position:absolute;left:50%;transform:translate(-50%)}.timer.urgent{color:var(--danger);animation:1s infinite pulse}@keyframes pulse{50%{transform:translate(-50%)scale(1.08)}}.controls{z-index:5;left:max(14px, env(safe-area-inset-left));bottom:max(18px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute}.controls>button:not(.compass){-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow);background:#0b1220cc;border:0;border-radius:50%;font-size:1.2rem;font-weight:800}.controls>button:disabled{opacity:.4}.compass{cursor:pointer;background:0 0;border:0;order:99;width:64px;height:64px;padding:0}.compass svg{filter:drop-shadow(0 4px 10px #00000080);width:100%;height:100%}.compass-ring{fill:#0b1220d9;stroke:#ffffff40;stroke-width:2px}.compass-tick{stroke:#fff9;stroke-width:2px}.compass-north{fill:var(--danger)}.compass-south{fill:#f2f5fb}.compass-n{fill:#fff;text-anchor:middle;font-size:9px;font-weight:900;display:none}.pano-error{z-index:6;text-align:center;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.guess-map{z-index:10;right:max(16px, env(safe-area-inset-right));bottom:max(16px, env(safe-area-inset-bottom));--w:320px;--h:220px;width:var(--w);opacity:.6;flex-direction:column;gap:8px;transition:width .25s,opacity .2s;display:flex;position:absolute}.guess-map.size-m{--w:460px;--h:320px}.guess-map.size-l{--w:680px;--h:480px}.guess-map.hover{opacity:1}.guess-map.hover.size-s{--w:560px;--h:400px}.guess-map.hover.size-m{--w:640px;--h:460px}.guess-map-canvas{height:var(--h);box-shadow:var(--shadow);border:2px solid #ffffff26;border-radius:12px;transition:height .25s;overflow:hidden}.guess-map-tools{visibility:hidden;gap:4px;display:flex}.guess-map.hover .guess-map-tools{visibility:visible}.guess-map-tools button{cursor:pointer;background:#0b1220d9;border:0;border-radius:8px;width:30px;height:30px}.guess-map-tools button:disabled{opacity:.35}.guess-map-close{display:none}.guess-btn{text-transform:uppercase;letter-spacing:.04em;min-height:48px;font-style:italic}.guess-btn:disabled{opacity:1;background:var(--panel-2);color:var(--muted);box-shadow:none;text-transform:none;font-style:normal}.map-fab{display:none}@media (hover:none){.guess-map{opacity:1}.guess-map-tools{visibility:visible}}@media (width<=760px),(pointer:coarse) and (height<=600px){.guess-map,.guess-map.hover{width:auto;padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));background:var(--bg);opacity:1;transition:transform .28s cubic-bezier(.2,.9,.3,1);inset:0;transform:translateY(105%)}.guess-map.open{transform:none}.guess-map-canvas{flex:1;height:auto}.guess-map-tools{visibility:visible;justify-content:flex-end}.guess-map-tools button:not(.guess-map-close){display:none}.guess-map-close{display:block;border-radius:50%!important;width:40px!important;height:40px!important}.guess-btn{min-height:56px}.map-fab{z-index:9;right:max(16px, env(safe-area-inset-right));bottom:max(18px, env(safe-area-inset-bottom));background:var(--accent);width:64px;height:64px;color:var(--accent-ink);box-shadow:0 4px 0 #1a9c72, var(--shadow);cursor:pointer;border:0;border-radius:50%;place-items:center;display:grid;position:absolute}.map-fab svg{width:30px;height:30px}.map-fab.hidden{display:none}.map-fab-dot{background:var(--gold);border:2px solid var(--accent);border-radius:50%;width:14px;height:14px;position:absolute;top:6px;right:6px}.hud>div{padding:.3rem .6rem}.hud>div:first-child{display:none}.hud>div:nth-child(2){border-left:0}}.pin{border:3px solid #fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:.8rem;font-weight:900;display:grid;box-shadow:0 2px 8px #00000073}.pin-guess{background:var(--accent);color:var(--accent-ink)}.pin-target{background:var(--gold);color:#3a2a00}.result{z-index:30;background:var(--bg);flex-direction:column;animation:.3s rise;display:flex;position:fixed;inset:0}@keyframes rise{0%{opacity:0;transform:translateY(20px)}}.result-map{flex:1;min-height:0}.result-panel{width:100%;max-width:720px;padding:1.1rem 1.1rem max(1.1rem, env(safe-area-inset-bottom));flex-direction:column;gap:.7rem;margin:0 auto;display:flex}.result-score{color:var(--muted);font-size:1.1rem}.result-score strong{color:var(--gold);font-variant-numeric:tabular-nums;font-size:2.2rem;font-style:italic;font-weight:900}.result-panel>*{flex-shrink:0}.result-text,.result-panel p{margin:0}.final .result-map{flex:40%}.final .result-panel{max-height:60dvh;overflow-y:auto}.round-list li{border-bottom:1px solid var(--line);text-align:left;grid-template-columns:2rem 1fr auto 4.5rem}.round-list .score{text-align:right}@media (width>=1000px){.final{flex-direction:row}.final .result-panel{justify-content:center;width:420px;max-height:none;margin:0}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.map-select{flex-direction:column;gap:.15rem;display:flex}.map-select h1{overflow-wrap:anywhere;margin:0}.hero-map{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.hero-map .map-select{min-width:0}.hero-map .chip{color:var(--accent);flex-shrink:0}.hero-map:hover h1{color:var(--accent)}.map-title{font-size:1.5rem;font-weight:800;line-height:1.15;display:block}.map-select:hover h1,.map-select:hover .map-title{color:var(--accent)}button.map-select{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.room-maps{max-height:50vh;overflow-y:auto}.map-item{align-items:stretch;gap:.4rem;display:flex}.map-item .list-item{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;flex:1}.map-item .list-item.selected{border-color:var(--accent)}.map-action{min-width:48px}.map-rename{flex-wrap:wrap;flex:1;gap:.4rem;display:flex}.map-rename input{flex:12rem;min-width:0}.continent-chips{max-height:none}.map-form{flex-direction:column;gap:.75rem;margin-top:1.5rem;display:flex}.map-form h2,.map-form p{margin:0}.file-btn{color:var(--text);font-size:1rem;position:relative}.file-btn input{opacity:0;cursor:pointer;position:absolute;inset:0}.country-chips{flex-wrap:wrap;gap:.4rem;max-height:260px;display:flex;overflow-y:auto}.country-chips .chip{font-size:.85rem;font-weight:600}.country-chips .chip.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 18%, var(--panel))}.hud-value{text-overflow:ellipsis;max-width:14rem;overflow:hidden}.room-card{flex-direction:column;gap:.8rem;margin-top:1rem;display:flex}.room-card p{margin:.2rem 0 0}.open-rooms{flex-direction:column;gap:.4rem;display:flex}.join-room{gap:.5rem;display:flex}.join-room .btn{flex-shrink:0}.join-room input{border:1px solid var(--line);background:var(--panel-2);letter-spacing:.3em;text-align:center;text-transform:uppercase;border-radius:10px;width:100%;min-width:0;padding:.6rem .8rem;font-size:1.1rem;font-weight:800}.room-code{letter-spacing:.25em;color:var(--gold);font-size:3.2rem;font-style:italic;font-weight:900}.grow{flex:1;align-self:center;margin:0}.dot{background:var(--muted);border-radius:50%;width:.5rem;height:.5rem;display:inline-block}.dot.on{background:var(--accent)}.round-list li.me .who{color:var(--accent)}.pin-other{color:#0b1220;background:#7aa2ff}.waiting{z-index:8;text-align:center;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:.4rem;display:flex;position:absolute;top:4.5rem;left:50%;transform:translate(-50%)}.toast{z-index:50;left:50%;bottom:max(1.2rem, env(safe-area-inset-bottom));border:1px solid var(--line);background:var(--panel-2);box-shadow:var(--shadow);white-space:nowrap;border-radius:999px;padding:.6rem 1rem;font-weight:700;position:fixed;transform:translate(-50%)}.team-0{--team:var(--accent)}.team-1{--team:#7aa2ff}.team-0-text{color:var(--accent)}.team-1-text{color:#7aa2ff}.timer+.waiting{top:7.5rem}.teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;display:grid}.team{border-top:4px solid var(--team);flex-direction:column;gap:.6rem;display:flex}.team h3{color:var(--team);margin:0;font-size:1rem}.team ul{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.team li{align-items:center;gap:.45rem;min-height:2rem;display:flex}.team li .who{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.team li.me .who{color:var(--team);font-weight:800}.team-move{padding:.2rem .5rem}.hp-bars{flex-direction:column;gap:.4rem;display:flex}.hp{grid-template-columns:minmax(4.5rem,7rem) 1fr 3.5rem;align-items:center;gap:.6rem;display:grid}.hp-label{text-overflow:ellipsis;white-space:nowrap;color:var(--team);font-weight:800;overflow:hidden}.hp-track{background:var(--panel-2);border-radius:999px;height:.7rem;overflow:hidden}.hp-track>div{background:var(--team);height:100%;transition:width .8s}.hp-value{text-align:right;font-variant-numeric:tabular-nums;font-weight:900}.hud-hp{color:var(--team);padding-bottom:4px;display:inline-block;position:relative}.hud-hp>span{background:var(--team);border-radius:2px;height:3px;transition:width .8s;position:absolute;bottom:0;left:0}.duel-scores{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.duel-scores>div{border-radius:var(--radius);border:1px solid var(--line);border-left:4px solid var(--team);background:var(--panel);flex-direction:column;padding:.5rem .8rem;display:flex}.duel-scores strong{font-variant-numeric:tabular-nums;font-size:1.6rem;font-style:italic;font-weight:900}.duel-scores .hit strong{color:var(--danger)}.team-dot{background:var(--team);border-radius:50%;justify-self:center;width:.7rem;height:.7rem}.score.up{color:var(--accent)}.score.down{color:var(--danger)}.stat-grid+.list{margin-top:.8rem}.row.spread{justify-content:space-between}.duel-rounds{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.duel-round{border-radius:var(--radius);border:1px solid var(--line);background:var(--panel);width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;flex-direction:column;gap:.6rem;padding:.8rem;display:flex}.duel-round.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.duel-round-head{grid-template-columns:2rem 1fr auto;align-items:center;gap:.6rem;display:grid}.duel-round-teams{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.duel-round-team{border-left:4px solid var(--team);flex-direction:column;gap:.3rem;min-width:0;padding-left:.6rem;display:flex}.duel-round-score{flex-direction:column;display:flex}.duel-round-score strong{font-variant-numeric:tabular-nums;font-size:1.3rem;font-style:italic;font-weight:900}.duel-round-team.hit .duel-round-score strong{color:var(--danger)}.duel-answer{grid-template-columns:minmax(0,1fr) auto;column-gap:.4rem;font-size:.82rem;display:grid}.duel-answer .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duel-answer .score{text-align:right;grid-area:1/2}.duel-answer .muted{grid-column:1/-1}.duel-answer.best .who{color:var(--team)}.duel-answer.best .who:after{content:" ★"}.country-sub{display:block}.guess-status{z-index:5;top:max(64px, calc(env(safe-area-inset-top) + 52px));left:max(12px, env(safe-area-inset-left));pointer-events:none;flex-direction:column;align-items:flex-start;gap:6px;margin:0;padding:0;list-style:none;display:flex;position:absolute}.guess-status li{--team:var(--muted);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:var(--muted);background:#0b1220cc;border:1px solid #ffffff14;border-radius:999px;align-items:center;gap:.4rem;padding:3px .6rem 3px 3px;font-size:.8rem;font-weight:700;transition:color .2s;display:flex}.guess-status li.away{opacity:.5}.guess-status-avatar{border:2px solid var(--team);width:24px;height:24px;color:var(--text);border-radius:50%;place-items:center;font-size:.65rem;font-weight:900;display:grid}.guess-status-name{text-overflow:ellipsis;white-space:nowrap;max-width:7rem;overflow:hidden}.guess-status li.guessed{color:var(--text)}.guess-status li.guessed .guess-status-avatar{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);animation:.4s ease-out guess-pop}.guess-status li.guessed.team-1 .guess-status-avatar{color:#0b1220;background:#7aa2ff;border-color:#7aa2ff}.guess-status li.guessed .guess-status-mark{color:var(--accent)}@keyframes guess-pop{50%{transform:scale(1.3)}}.guess-announce{z-index:20;bottom:max(5.5rem, calc(env(safe-area-inset-bottom) + 4.5rem));background:var(--panel-2);border:1px solid var(--line);max-width:calc(100% - 2rem);box-shadow:var(--shadow);white-space:nowrap;text-overflow:ellipsis;pointer-events:none;border-radius:999px;padding:.45rem .9rem;font-size:.9rem;font-weight:700;animation:.25s ease-out guess-announce-in;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}@keyframes guess-announce-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (width<=760px){.guess-status li{padding-right:3px}.guess-status-name,.guess-status-mark{display:none}}
