:root{--bg-0: #0d0a26;--bg-1: #140f3a;--bg-2: #1f1752;--panel: rgba(24, 18, 66, .82);--panel-solid: #1c1549;--panel-border: rgba(160, 140, 255, .18);--purple: #563b9a;--purple-hi: #7a5bd6;--text: #f4f2ff;--text-dim: #b6addb;--text-mute: #8a80b8;--green: #6cb928;--green-hi: #84d63a;--green-lo: #4a8b14;--yellow: #fecd19;--orange: #f5a524;--red: #e94560;--red-lo: #b82d47;--radius: 14px;--shadow: 0 10px 40px rgba(5, 3, 20, .55);--font: "Montserrat", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:dark}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:var(--font);background:var(--bg-0);color:var(--text);overflow:hidden;-webkit-font-smoothing:antialiased}button{font-family:inherit}b{font-weight:800}.screen{position:fixed;top:0;right:0;bottom:0;left:0}.center{display:flex;align-items:center;justify-content:center}.backdrop{background:radial-gradient(1200px 700px at 85% 0%,rgba(122,91,214,.45),transparent 60%),radial-gradient(900px 600px at 0% 100%,rgba(41,120,160,.25),transparent 60%),linear-gradient(160deg,var(--bg-2),var(--bg-1) 45%,var(--bg-0))}.backdrop-grid{position:fixed;top:-60px;right:-60px;bottom:-60px;left:-60px;pointer-events:none;background-image:linear-gradient(rgba(170,150,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(170,150,255,.07) 1px,transparent 1px);background-size:60px 60px;mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);-webkit-mask-image:radial-gradient(ellipse at 50% 40%,#000 20%,transparent 75%);animation:grid-drift 40s linear infinite}@keyframes grid-drift{to{transform:translate(60px,60px)}}.backdrop-glow{position:fixed;width:520px;height:520px;left:50%;top:50%;pointer-events:none;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(254,205,25,.08),transparent 65%)}.bg-globe{position:absolute;width:min(90vmin,760px);left:50%;top:50%;transform:translate(-50%,-50%);color:#aa96ff38;pointer-events:none}.globe{width:100%;height:auto;display:block;color:#beafff80}.logo{display:block;height:auto;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 4px 12px rgba(0,0,0,.35))}.logo-sm{width:170px}.logo-md{width:260px}.logo-lg{width:min(380px,100%);margin:0 auto 18px;animation:bob 3.2s ease-in-out infinite}.brand-icon{display:block;height:auto;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 6px 16px rgba(0,0,0,.4))}.top-bar-icon{display:none;width:42px}@keyframes bob{50%{transform:translateY(-5px)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 26px;font-size:15px;font-weight:800;font-style:italic;text-transform:uppercase;letter-spacing:.3px;cursor:pointer;color:#fff;background:linear-gradient(180deg,#4a3c8a,#362a6e);box-shadow:inset 0 1px #ffffff2e,0 3px #00000040;transition:transform .12s,filter .15s,box-shadow .15s,background .15s}.btn:hover:not(:disabled){filter:brightness(1.1);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 1px #ffffff2e,0 1px #00000040}.btn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.btn.primary{background:linear-gradient(180deg,var(--green-hi),var(--green) 55%,var(--green-lo));box-shadow:inset 0 1px #ffffff59,0 4px #36690c,0 8px 20px #6cb9284d;text-shadow:0 1px 1px rgba(0,0,0,.25)}.btn.primary:active:not(:disabled){box-shadow:inset 0 1px #ffffff59,0 1px #36690c}.btn:disabled{background:#3a335e;color:#9690b8;cursor:not-allowed;box-shadow:none;text-shadow:none}.btn.big{font-size:19px;padding:16px 44px}.btn.small{padding:7px 14px;font-size:12px}.btn.ghost{background:rgba(255,255,255,.06);box-shadow:inset 0 0 0 1.5px #c8b9ff4d}.btn.ghost:hover:not(:disabled){background:rgba(255,255,255,.12)}.btn.danger{background:linear-gradient(180deg,#f05a73,var(--red) 55%,var(--red-lo))}.icon-btn{background:none;border:0;color:var(--text-mute);font-size:22px;line-height:1;cursor:pointer;padding:0 4px}.icon-btn:hover{color:#fff}.icon-round{width:38px;height:38px;border-radius:50%;border:0;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.08);color:var(--text-dim);cursor:pointer;transition:background .15s,color .15s}.icon-round:hover{background:rgba(255,255,255,.16);color:#fff}.link-btn{background:none;border:0;color:var(--yellow);cursor:pointer;padding:6px 0 0;font-size:13px;font-weight:700;text-align:left}.link-btn:hover{text-decoration:underline}.badge{display:inline-block;min-width:18px;padding:1px 6px;margin-left:2px;border-radius:99px;background:var(--red);font-size:11px;font-style:normal}.muted{color:var(--text-mute);font-size:13px}code{background:rgba(255,255,255,.08);padding:1px 6px;border-radius:5px}kbd{display:inline-block;padding:1px 7px;border-radius:5px;background:rgba(255,255,255,.1);box-shadow:inset 0 -2px #0000004d;font-family:inherit;font-size:11px;font-weight:700}.error{color:#ff94a6;min-height:1.2em;font-weight:600;font-size:14px}.eyebrow{margin:0 0 6px;color:var(--yellow);font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase}.tagline{color:var(--text-dim);margin:0 0 26px;line-height:1.55}.chip{display:inline-block;padding:6px 14px;border-radius:99px;background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font-weight:800;font-size:13px;font-style:italic}.panel{position:relative;text-align:center;width:min(460px,calc(100vw - 32px));padding:40px 36px 28px;background:linear-gradient(180deg,rgba(40,30,100,.78),rgba(20,15,58,.85));border:1px solid var(--panel-border);border-radius:22px;box-shadow:var(--shadow);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);animation:rise .5s cubic-bezier(.2,.9,.3,1.2) both}.panel-title{margin:12px 0 8px;font-size:28px;font-weight:900;font-style:italic}.google-btn{display:flex;justify-content:center;min-height:44px;color-scheme:light}.status-icon{display:inline-flex;width:64px;height:64px;border-radius:50%;align-items:center;justify-content:center;background:rgba(254,205,25,.14);color:var(--yellow)}.status-icon svg{width:32px;height:32px}.status-icon.denied{background:rgba(233,69,96,.15);color:var(--red)}.pending-dots{display:flex;gap:8px;justify-content:center;margin:-8px 0 22px}.pending-dots i{width:9px;height:9px;border-radius:50%;background:var(--yellow);animation:dot 1.2s infinite ease-in-out}.pending-dots i:nth-child(2){animation-delay:.15s}.pending-dots i:nth-child(3){animation-delay:.3s}@keyframes dot{0%,80%,to{opacity:.25;transform:scale(.8)}40%{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.top-bar{position:absolute;top:0;left:0;right:0;z-index:6;display:flex;align-items:center;justify-content:space-between;padding:14px 24px;gap:12px}.logo-btn{background:none;border:0;padding:0;cursor:pointer}.logo-btn:disabled{cursor:default}.user-bar{display:flex;align-items:center;gap:10px}.profile-chip{display:flex;align-items:center;gap:8px;padding:4px 14px 4px 4px;border-radius:99px;background:rgba(255,255,255,.07)}.avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;object-fit:cover;background:linear-gradient(135deg,var(--purple-hi),var(--purple));font-weight:800;font-size:14px;box-shadow:0 0 0 2px #fecd1999}.user-name{color:var(--text);font-size:14px;font-weight:700;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sound-control{position:relative;display:flex}.sound-pop{position:absolute;top:calc(100% + 8px);right:0;z-index:10;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:12px;background:var(--panel-solid);border:1px solid var(--panel-border);box-shadow:var(--shadow);opacity:0;visibility:hidden;transform:translateY(-4px);transition:opacity .15s,transform .15s,visibility .15s}.sound-pop:before{content:"";position:absolute;left:0;right:0;top:-10px;height:10px}.sound-control:hover .sound-pop,.sound-control:focus-within .sound-pop{opacity:1;visibility:visible;transform:none}.sound-pct{width:26px;text-align:right;font-size:12px;font-weight:800;color:var(--text-dim);font-variant-numeric:tabular-nums}.sound-pop input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:120px;height:6px;border-radius:99px;cursor:pointer;background:linear-gradient(90deg,var(--yellow) var(--pct),rgba(255,255,255,.15) var(--pct))}.sound-pop input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000080}.sound-pop input[type=range]::-moz-range-thumb{width:16px;height:16px;border:0;border-radius:50%;background:#fff;box-shadow:0 1px 4px #00000080}.sound-control.in-game .icon-round{width:44px;height:44px;background:var(--panel);border:1px solid var(--panel-border);color:var(--text);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.sound-control.in-game .icon-round:hover{color:var(--yellow)}.sound-control.in-game .sound-pop{top:50%;right:auto;left:calc(100% + 8px);transform:translate(-4px,-50%)}.sound-control.in-game:hover .sound-pop,.sound-control.in-game:focus-within .sound-pop{transform:translateY(-50%)}.sound-control.in-game .sound-pop:before{top:0;bottom:0;left:-10px;right:auto;width:10px;height:auto}.loading{display:flex;flex-direction:column;align-items:center;gap:22px}.loading-globe{position:relative;width:180px}.loading-icon{position:absolute;width:62%;left:19%;top:19%;animation:pulse 1.6s ease-in-out infinite}@keyframes pulse{50%{transform:scale(1.08) rotate(-4deg)}}.loading-text{margin:0;font-weight:800;font-style:italic;color:var(--text-dim);letter-spacing:.3px}.loading-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;animation:fade-in .2s ease-out}@keyframes fade-in{0%{opacity:0}}.menu{overflow-y:auto;display:flex;flex-direction:column}.menu-main{position:relative;flex:1;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:40px;max-width:1180px;width:100%;margin:0 auto;padding:96px 32px 24px}.hero{animation:rise .6s cubic-bezier(.2,.9,.3,1.1) both}.hero-title{margin:0 0 30px;font-size:clamp(40px,5.6vw,72px);line-height:1;font-weight:900;font-style:italic;letter-spacing:-2px;text-shadow:0 4px 24px rgba(0,0,0,.35)}.hero-title span{background:linear-gradient(90deg,var(--yellow),var(--orange));-webkit-background-clip:text;background-clip:text;color:transparent}.mode-card{width:min(420px,100%);padding:20px;border-radius:20px;background:linear-gradient(180deg,rgba(60,44,140,.7),rgba(28,21,73,.85));border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.mode-head{display:flex;align-items:center;gap:14px}.mode-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#3fa6d8,#2b6fb0);box-shadow:inset 0 1px #ffffff4d}.mode-icon svg{width:28px;height:28px}.mode-kicker{margin:0;font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-mute)}.mode-title{margin:0;font-size:26px;font-weight:900;font-style:italic}.mode-specs{list-style:none;display:flex;gap:8px;padding:0;margin:16px 0 18px;flex-wrap:wrap}.mode-specs li{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:99px;background:rgba(255,255,255,.07);font-size:13px;font-weight:700;color:var(--text-dim)}.play-btn{width:100%}.mode-card .error{margin:10px 0 0}.hero-globe{position:relative;width:min(100%,480px);justify-self:center;animation:fade-in 1s ease-out both}.hero-globe .globe{filter:drop-shadow(0 0 40px rgba(122,91,214,.45))}.hero-icon{position:absolute;width:56%;left:22%;top:22%;animation:bob 4s ease-in-out infinite}.orbit-pin{position:absolute;width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--yellow);box-shadow:0 4px 10px #0006;animation:pin-pop 4.5s ease-in-out infinite}.orbit-pin:after{content:"";position:absolute;top:5px;right:5px;bottom:5px;left:5px;border-radius:50%;background:var(--bg-1)}.orbit-pin.p1{left:30%;top:32%}.orbit-pin.p2{left:62%;top:48%;background:var(--green-hi);animation-delay:1.5s}.orbit-pin.p3{left:44%;top:66%;background:var(--red);animation-delay:3s}@keyframes pin-pop{0%,to{opacity:0;transform:rotate(-45deg) translate(6px,-6px) scale(.6)}15%,70%{opacity:1;transform:rotate(-45deg) scale(1)}}.steps{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:1180px;width:100%;margin:0 auto;padding:0 32px 36px}.step{display:flex;gap:14px;align-items:flex-start;padding:16px;border-radius:var(--radius);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);animation:rise .5s ease-out both}.step-icon{flex-shrink:0;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;background:rgba(254,205,25,.12);color:var(--yellow)}.step-icon svg{width:22px;height:22px}.step-title{margin:0 0 3px;font-weight:800;font-style:italic}.step-text{margin:0;font-size:13px;line-height:1.45;color:var(--text-mute)}.game{background:#000}.pano{position:absolute;top:0;right:0;bottom:0;left:0}.pano-vignette{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 18%,transparent 80%,rgba(0,0,0,.25))}.round-intro{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle,rgba(20,15,58,.85),rgba(13,10,38,.95));animation:intro-out 1.5s ease-in forwards}.round-intro-icon{width:92px;margin-bottom:10px;animation:rise .4s ease-out both}.round-intro-label{font-size:18px;font-weight:800;letter-spacing:6px;text-transform:uppercase;color:var(--yellow);animation:rise .4s ease-out both}.round-intro-num{font-size:96px;font-weight:900;font-style:italic;line-height:1;animation:rise .45s .05s cubic-bezier(.2,.9,.3,1.4) both}.round-intro-num small{font-size:36px;color:var(--text-mute)}@keyframes intro-out{0%,55%{opacity:1}to{opacity:0;visibility:hidden}}.timer{position:absolute;top:14px;left:50%;transform:translate(-50%);z-index:5;display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 22px 10px;min-width:132px;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.timer-text{font-size:24px;font-weight:900;font-style:italic;font-variant-numeric:tabular-nums;line-height:1}.timer-track{width:100%;height:5px;border-radius:99px;background:rgba(255,255,255,.12);overflow:hidden}.timer-fill{height:100%;transform-origin:left;background:linear-gradient(90deg,var(--green),var(--yellow));transition:transform 1s linear}.timer.urgent{border-color:#e9456099;animation:urgent 1s ease-in-out infinite}.timer.urgent .timer-text{color:#ff6b84}.timer.urgent .timer-fill{background:var(--red)}@keyframes urgent{50%{box-shadow:0 0 0 6px #e9456033,var(--shadow)}}.status-bar{position:absolute;top:14px;right:14px;z-index:5;display:flex;overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.status-item{display:flex;flex-direction:column;padding:8px 18px;text-align:center}.status-item+.status-item{border-left:1px solid rgba(255,255,255,.08)}.status-label{font-size:10px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-mute);font-weight:800}.status-value{font-size:17px;font-weight:900;font-style:italic;font-variant-numeric:tabular-nums}.pano-controls{position:absolute;left:14px;bottom:28px;z-index:5;display:flex;flex-direction:column;align-items:center;gap:10px}.compass{width:58px;height:58px;padding:0;border:0;border-radius:50%;background:none;cursor:pointer;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}.compass svg{width:100%;height:100%;display:block;transition:transform .08s linear}.compass-ring{fill:var(--panel-solid);stroke:#c8b9ff59;stroke-width:1.5}.compass-n{fill:var(--text-dim);font-size:7px;font-weight:800;text-anchor:middle;font-family:var(--font)}.compass-north{fill:var(--red)}.compass-south{fill:#e8e4ff}.ctrl-group{display:flex;flex-direction:column;border-radius:12px;overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ctrl-btn{width:44px;height:42px;border:0;background:none;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s,color .12s}.ctrl-btn+.ctrl-btn{border-top:1px solid rgba(255,255,255,.08)}.ctrl-btn svg{width:20px;height:20px}.ctrl-btn:hover:not(:disabled){background:rgba(255,255,255,.1);color:var(--yellow)}.ctrl-btn:disabled{color:#ffffff40;cursor:default}.guess-box{--w: 280px;--h: 190px;position:absolute;right:16px;bottom:24px;z-index:5;width:var(--w);display:flex;flex-direction:column;gap:8px;opacity:.65;transition:width .22s ease,opacity .2s}.guess-box:hover,.guess-box.pinned{opacity:1}.guess-box.size-s:hover,.guess-box.size-s.pinned{--w: 420px;--h: 300px}.guess-box.size-m:hover,.guess-box.size-m.pinned{--w: 560px;--h: 400px}.guess-box.size-l:hover,.guess-box.size-l.pinned{--w: min(820px, calc(100vw - 120px));--h: min(560px, calc(100vh - 180px))}.guess-map{height:var(--h);border-radius:12px;overflow:hidden;transition:height .22s ease;box-shadow:0 0 0 3px #140f3ab3,var(--shadow)}.guess-tools{display:flex;gap:4px;align-self:flex-start;opacity:0;transform:translateY(6px);transition:opacity .15s,transform .15s}.guess-box:hover .guess-tools,.guess-box.pinned .guess-tools{opacity:1;transform:none}.tool-btn{width:30px;height:30px;border-radius:8px;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;background:var(--panel-solid);color:var(--text-dim);box-shadow:0 2px 8px #0006}.tool-btn svg{width:15px;height:15px}.tool-btn:hover:not(:disabled){color:#fff;background:var(--purple)}.tool-btn:disabled{opacity:.35;cursor:default}.tool-btn.on{background:var(--yellow);color:var(--bg-1)}.guess-btn{width:100%}.guess-box:not(.has-guess) .guess-btn:disabled{background:rgba(20,15,58,.85);color:var(--text-dim);font-size:13px}.map-pin{position:relative;width:36px;height:36px;border-radius:50% 50% 50% 0;transform:translateY(-7px) rotate(-45deg);display:flex;align-items:center;justify-content:center;border:3px solid #fff;box-shadow:0 4px 10px #00000073;animation:pin-drop .35s cubic-bezier(.3,1.5,.5,1) both}.map-pin>*{transform:rotate(45deg)}.guess-pin{background:var(--red)}.actual-pin{background:var(--green)}.map-pin-face{width:100%;height:100%;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center;font:800 14px var(--font);color:#fff;background:linear-gradient(135deg,var(--purple-hi),var(--purple))}.map-pin-label{position:absolute;top:-10px;right:-10px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;display:flex;align-items:center;justify-content:center;background:var(--bg-1);color:#fff;border:2px solid #fff;font:800 11px var(--font);transform:rotate(45deg)}@keyframes pin-drop{0%{opacity:0;transform:translateY(-24px) rotate(-45deg)}}.result{background:var(--bg-0)}.result-map{position:absolute;top:0;right:0;bottom:250px;left:0}.result-top{position:absolute;top:14px;left:50%;transform:translate(-50%);display:flex;gap:8px;z-index:3}.result-panel{position:absolute;left:0;right:0;bottom:0;height:250px;z-index:4;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border-top:1px solid var(--panel-border);box-shadow:0 -10px 40px #0006}.result-panel-inner{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 16px;text-align:center}.verdict{margin:0;font-size:14px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--yellow);animation:rise .4s ease-out both}.points-big{margin:2px 0 10px;font-weight:900;font-style:italic;line-height:1.1}.points-big .num{font-size:44px;font-variant-numeric:tabular-nums}.points-big .unit{font-size:20px;color:var(--text-mute)}.result-sub{margin:12px 0 16px;color:var(--text-dim);font-size:15px}.result-sub b{color:#fff}.kbd-hint{margin:10px 0 0;font-size:12px;color:var(--text-mute)}.score-bar{position:relative;width:min(520px,100%);height:14px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden;box-shadow:inset 0 2px 4px #0000004d}.score-bar-fill{position:absolute;top:0;right:0;bottom:0;left:0;transform-origin:left;transform:scaleX(0);border-radius:inherit;background:linear-gradient(90deg,var(--orange),var(--yellow) 60%,#fff3a8);box-shadow:0 0 14px #fecd198c;transition:transform 1.1s cubic-bezier(.2,.8,.2,1)}.score-bar-ticks{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;justify-content:space-evenly;pointer-events:none}.score-bar-ticks i{width:2px;background:rgba(13,10,38,.35)}.summary{display:flex;background:var(--bg-0)}.summary-map{flex:1;min-width:0}.summary-panel{width:400px;flex-shrink:0;overflow-y:auto;padding:32px 28px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--bg-2),var(--bg-1));border-left:1px solid var(--panel-border);box-shadow:-10px 0 40px #0006;animation:slide-in .45s cubic-bezier(.2,.9,.3,1) both}@keyframes slide-in{0%{transform:translate(40px);opacity:0}}.summary-panel .points-big .num{font-size:52px}.summary-panel .score-bar{width:100%}.rating{display:flex;align-items:center;gap:8px;margin:16px 0 20px;font-weight:800;font-style:italic;color:var(--yellow)}.rating svg{width:20px;height:20px}.round-cards{list-style:none;padding:0;margin:0 0 24px;display:flex;flex-direction:column;gap:8px}.round-card{position:relative;width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;overflow:hidden;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(255,255,255,.05);color:inherit;text-align:left;cursor:pointer;animation:rise .4s ease-out both;transition:background .15s,border-color .15s}.round-card:hover{background:rgba(255,255,255,.09)}.round-card.active{border-color:var(--yellow);background:rgba(254,205,25,.08)}.round-num{width:32px;height:32px;border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--purple);font-weight:900;font-style:italic}.round-info{flex:1;display:flex;justify-content:space-between;align-items:baseline;gap:8px}.round-points{font-weight:800;font-variant-numeric:tabular-nums}.round-dist{font-size:13px;color:var(--text-mute)}.round-mini{position:absolute;left:0;right:0;bottom:0;height:3px;background:rgba(255,255,255,.06)}.round-mini i{display:block;height:100%;background:linear-gradient(90deg,var(--orange),var(--yellow))}.summary-actions{margin-top:auto;display:flex;flex-direction:column;gap:10px}.toast{position:fixed;top:16px;left:50%;transform:translate(-50%);z-index:100;background:var(--red-lo);padding:10px 18px;border-radius:10px;font-weight:700;box-shadow:var(--shadow);animation:toast-in .25s ease-out}.access-toast{position:fixed;left:16px;bottom:16px;width:360px;max-width:calc(100vw - 32px);z-index:50;background:var(--panel-solid);border:1px solid var(--panel-border);border-left:4px solid var(--yellow);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);animation:toast-in .25s ease-out}@keyframes toast-in{0%{transform:translateY(16px);opacity:0}}.toast-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.toast-row{display:flex;align-items:center;gap:6px;padding:6px 0;border-top:1px solid rgba(255,255,255,.08)}.toast-user{flex:1;min-width:0;display:flex;flex-direction:column}.toast-name,.toast-email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toast-name{font-weight:700;font-size:14px}.toast-email{color:var(--text-mute);font-size:12px}.admin{overflow-y:auto}.admin-inner{position:relative;max-width:760px;margin:0 auto;padding:84px 16px 48px;animation:rise .4s ease-out both}.admin-head{display:flex;align-items:center;gap:14px;margin-bottom:22px}.admin-head h1{margin:0;font-size:30px;font-weight:900;font-style:italic}.add-user{display:flex;gap:8px;margin-bottom:30px}.add-user input{flex:1;min-width:0;padding:12px 16px;border-radius:99px;border:1px solid var(--panel-border);background:rgba(255,255,255,.06);color:inherit;font:600 14px var(--font)}.add-user input:focus{outline:none;border-color:var(--yellow);background:rgba(255,255,255,.09)}.admin-section{margin-bottom:28px}.admin-section h2{font-size:13px;text-transform:uppercase;letter-spacing:1.2px;color:var(--text-mute);font-weight:800;margin:0 0 10px}.count{background:rgba(255,255,255,.08);color:var(--text);border-radius:99px;padding:1px 8px;font-size:12px;margin-left:4px}.user-row{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:6px;border-radius:12px;background:var(--panel);border:1px solid rgba(255,255,255,.05);border-left:3px solid transparent}.user-row.pending{border-left-color:var(--yellow)}.user-row.approved{border-left-color:var(--green)}.user-row.denied{border-left-color:var(--red)}.user-row.plain{color:var(--text-dim);font-size:14px}.user-info{flex:1;min-width:0;display:flex;flex-direction:column}.user-info span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-info>span:first-child{font-weight:700}.user-actions{display:flex;gap:6px;flex-shrink:0}.exit-slot{position:absolute;top:14px;left:14px;z-index:6}.exit-btn{display:inline-flex;align-items:center;gap:7px;height:40px;padding:0 16px 0 12px;border-radius:12px;cursor:pointer;background:var(--panel);border:1px solid var(--panel-border);color:var(--text);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:800 13px var(--font);font-style:italic;text-transform:uppercase;letter-spacing:.3px;transition:color .15s,border-color .15s}.exit-btn:hover{color:#ff94a6;border-color:#e9456080}.exit-btn:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(8,6,24,.62);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in .15s ease-out}.modal{width:min(400px,100%);padding:28px 26px 22px;text-align:center;border-radius:20px;background:linear-gradient(180deg,rgba(48,36,116,.97),rgba(24,18,66,.98));border:1px solid var(--panel-border);box-shadow:var(--shadow);animation:rise .25s cubic-bezier(.2,.9,.3,1.2) both}.modal-icon{display:inline-flex;width:54px;height:54px;border-radius:50%;align-items:center;justify-content:center;background:rgba(233,69,96,.15);color:var(--red)}.modal-icon svg{width:26px;height:26px}.modal-title{margin:12px 0 6px;font-size:22px;font-weight:900;font-style:italic}.modal-text{margin:0 0 22px;color:var(--text-dim);line-height:1.5}.modal-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.modal-actions .btn{flex:1;min-width:140px}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;max-width:580px}.mode-cards .mode-card{width:100%;display:flex;flex-direction:column}.mode-cards .mode-specs{flex:1;align-content:flex-start}.mode-icon.duel-icon{background:linear-gradient(135deg,#f0627b,#b82d47)}.menu-error{margin:12px 0 0}.join-form{display:flex;gap:8px;margin-top:10px}.join-form input{flex:1;min-width:0;padding:10px 14px;border-radius:99px;border:1px solid var(--panel-border);background:rgba(255,255,255,.06);color:inherit;font:800 15px var(--font);letter-spacing:3px;text-transform:uppercase}.join-form input::placeholder{letter-spacing:.3px;text-transform:none;font-weight:600;color:var(--text-mute)}.join-form input:focus{outline:none;border-color:var(--yellow);background:rgba(255,255,255,.09)}.join-form .btn{padding:10px 18px}.round-intro-sub{margin-top:14px;padding:5px 14px;border-radius:99px;background:rgba(233,69,96,.2);color:#ff94a6;font-weight:900;font-style:italic;letter-spacing:.5px;animation:rise .45s .1s ease-out both}.game-notice{position:absolute;top:86px;left:50%;transform:translate(-50%);z-index:5;max-width:calc(100vw - 32px);padding:8px 18px;border-radius:99px;font-weight:800;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background:rgba(233,69,96,.92);box-shadow:var(--shadow);animation:toast-in .25s ease-out}.game-notice.waiting{background:var(--panel);border:1px solid var(--panel-border);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--text-dim)}.guess-pin.opponent{background:#3fa6d8}.duel-hud{position:absolute;top:14px;right:14px;z-index:5;display:flex;align-items:center;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow)}.duel-hud>*{padding:8px 14px}.duel-hud>*+*{border-left:1px solid rgba(255,255,255,.08)}.duel-hud-round{display:flex;flex-direction:column;align-items:center}.mult-badge{margin-top:2px;padding:0 6px;border-radius:99px;background:var(--red);font-size:11px;font-weight:900;font-style:italic}.guessed-badge{position:absolute;right:-4px;bottom:-4px;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--green);color:#fff;box-shadow:0 0 0 2px var(--panel-solid);animation:fade-in .3s ease-out both}.hp{display:flex;flex-direction:column;gap:3px;width:100%}.hp-track{position:relative;height:8px;border-radius:99px;background:rgba(255,255,255,.1);overflow:hidden}.hp-lost,.hp-fill{position:absolute;top:0;bottom:0;left:0;border-radius:inherit}.hp-lost{background:var(--red);opacity:.55}.hp-fill{background:linear-gradient(90deg,var(--green-lo),var(--green-hi));box-shadow:0 0 8px #6cb92873}.hp-fill.low{background:linear-gradient(90deg,var(--orange),var(--yellow));box-shadow:0 0 8px #fecd1973}.hp-num{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:900;font-style:italic;font-variant-numeric:tabular-nums}.hp-num svg{color:var(--red)}.lobby{overflow-y:auto}.lobby-panel{width:min(500px,calc(100vw - 32px));margin:16px 0}.lobby-panel .muted{margin:0 0 8px}.lobby-code{display:flex;align-items:center;justify-content:center;gap:12px}.code-text{padding:8px 20px;border-radius:14px;background:rgba(0,0,0,.25);border:1px dashed rgba(254,205,25,.5);font-size:36px;font-weight:900;letter-spacing:8px;color:var(--yellow);font-variant-numeric:tabular-nums;-webkit-user-select:all;user-select:all}.lobby-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px}.lobby-players{display:flex;align-items:center;justify-content:center;gap:22px;margin:24px 0 18px}.player-slot{display:flex;flex-direction:column;align-items:center;gap:8px;width:120px;animation:rise .35s ease-out both}.slot-avatar{position:relative;display:flex;align-items:center;justify-content:center;width:64px;height:64px}.slot-avatar .avatar{width:64px;height:64px;font-size:26px;box-shadow:0 0 0 3px var(--yellow)}.player-slot.empty .slot-avatar{border-radius:50%;border:2px dashed rgba(200,185,255,.35)}.player-slot.empty .pending-dots{margin:0;gap:5px}.player-slot.empty .pending-dots i{width:7px;height:7px}.player-slot.empty .slot-name{color:var(--text-mute)}.host-crown{position:absolute;top:-8px;right:-6px;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--yellow);color:var(--bg-1)}.slot-name{font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lobby-vs{font-size:22px;font-weight:900;font-style:italic;color:var(--red);text-shadow:0 2px 12px rgba(233,69,96,.5)}.lobby-rules{list-style:none;padding:0;margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:6px;text-align:left}.lobby-rules li{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.05);font-size:12px;font-weight:700;color:var(--text-dim)}.lobby-rules svg{flex-shrink:0;color:var(--yellow)}.lobby-start{width:100%}.lobby-wait{margin:0;padding:14px;border-radius:99px;background:rgba(255,255,255,.05);font-weight:800;font-style:italic;color:var(--text-dim)}.lobby-panel .error{margin:12px 0 0}.lobby-leave{margin-top:16px}.duel-result .result-map{bottom:340px}.duel-result .result-panel{height:340px}.chip-mult{background:rgba(233,69,96,.85);border-color:transparent}.verdict.lost{color:#ff94a6}.duel-scores{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;width:min(620px,100%);margin:10px 0 16px}.score-side{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 14px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid transparent}.score-side.won{border-color:#fecd1980;background:rgba(254,205,25,.07)}.score-side.opponent{align-items:flex-end}.score-side-points{margin:4px 0 0;font-weight:900;font-style:italic;color:var(--text-mute)}.score-side-points .num{font-size:26px;color:var(--text);font-variant-numeric:tabular-nums}.score-side.opponent .hp-lost,.score-side.opponent .hp-fill{left:auto;right:0}.score-side.opponent .hp-num{align-self:flex-end}.damage-pill{display:flex;flex-direction:column;align-items:center;padding:10px 14px;border-radius:14px;background:rgba(233,69,96,.15);border:1px solid rgba(233,69,96,.4);animation:rise .4s .5s ease-out both}.damage-pill.none{background:rgba(255,255,255,.05);border-color:#ffffff1a}.damage-num{font-size:24px;font-weight:900;font-style:italic;color:#ff6b84;font-variant-numeric:tabular-nums}.damage-to{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:800;color:var(--text-dim);white-space:nowrap}.damage-to svg{color:var(--red)}.duel-title{display:flex;align-items:center;gap:10px;margin:0;font-size:44px;font-weight:900;font-style:italic;line-height:1.1}.duel-title svg{width:38px;height:38px}.duel-title.won{color:var(--yellow)}.duel-title.lost{color:#ff94a6}.duel-reason{margin:6px 0 18px;color:var(--text-dim)}.duel-final{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px}.duel-final .team-card{min-width:0;padding:10px;border-radius:12px;background:rgba(255,255,255,.05)}.duel-rounds-head{display:grid;grid-template-columns:1fr auto 1fr;padding:0 14px 6px 58px;font-size:11px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:var(--text-mute)}.duel-rounds-head span:last-child{text-align:right}.duel-round{cursor:default;display:grid;grid-template-columns:32px 1fr auto 1fr}.duel-round:hover{background:rgba(255,255,255,.05)}.duel-round-pts{font-weight:800;font-variant-numeric:tabular-nums;color:var(--text-dim)}.duel-round-pts.right{text-align:right}.duel-round-pts.win{color:#fff}.duel-round-mid{display:flex;flex-direction:column;align-items:center;min-width:64px;font-weight:900;font-style:italic;font-size:14px}.duel-round-mid small{font-size:10px;color:var(--text-mute)}.dmg-me{color:#ff6b84}.dmg-them{color:var(--green-hi)}.team-red{--team: var(--red);--team-soft: rgba(233, 69, 96, .14)}.team-blue{--team: #3fa6d8;--team-soft: rgba(63, 166, 216, .14)}.team-name{font-size:12px;font-weight:900;font-style:italic;letter-spacing:1px;text-transform:uppercase;color:var(--team, var(--text-dim))}.team-name small{font-style:normal;font-weight:700;letter-spacing:0;text-transform:none;color:var(--text-mute)}.faces{display:inline-flex;align-items:center}.face{position:relative;display:inline-flex}.face+.face{margin-left:-6px}.face .avatar{width:24px;height:24px;font-size:11px;box-shadow:0 0 0 2px var(--panel-solid)}.face.left{opacity:.35}.face .guessed-badge{width:13px;height:13px;right:-3px;bottom:-3px}.team-card{display:flex;flex-direction:column;gap:4px;min-width:170px}.team-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.team-card.right{text-align:right}.team-card.right .team-card-head{flex-direction:row-reverse}.team-card.right .hp-lost,.team-card.right .hp-fill{left:auto;right:0}.team-card.right .hp-num{align-self:flex-end}.ffa-hud .faces{margin-top:3px}.team-side{border-color:var(--team-soft)}.team-guesses{list-style:none;padding:0;margin:2px 0 8px;width:100%;max-height:116px;overflow-y:auto;display:flex;flex-direction:column;gap:3px}.team-guesses li{display:grid;grid-template-columns:22px 1fr auto;grid-template-rows:auto auto;column-gap:8px;align-items:center;text-align:left;padding:3px 6px;border-radius:8px}.team-guesses li.best{background:var(--team-soft)}.team-guesses .avatar{grid-row:span 2;width:22px;height:22px;font-size:10px}.tg-name{font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tg-pts{font-size:13px;font-weight:900;font-variant-numeric:tabular-nums;text-align:right}.tg-dist{grid-column:2 / span 2;font-size:11px;color:var(--text-mute)}.ffa-result .verdict{color:var(--text);text-transform:none;letter-spacing:0;font-size:16px}.ffa-result .verdict .num{font-size:30px;font-weight:900;font-style:italic;font-variant-numeric:tabular-nums}.ffa-result .verdict small{color:var(--text-mute);font-weight:700}.standings{list-style:none;padding:0;margin:8px 0 12px;width:min(460px,100%);max-height:170px;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.standings li{display:grid;grid-template-columns:22px 26px 1fr auto auto;align-items:center;gap:10px;padding:5px 10px;border-radius:10px;background:rgba(255,255,255,.05);text-align:left;animation:rise .35s ease-out both}.standings li.me{background:rgba(254,205,25,.1);box-shadow:inset 0 0 0 1px #fecd1959}.standings li.left{opacity:.5}.standings .avatar{width:26px;height:26px;font-size:12px}.st-rank{font-weight:900;font-style:italic;color:var(--text-mute);text-align:center}.standings li:first-child .st-rank{color:var(--yellow)}.st-name{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.st-name small{color:var(--text-mute);font-weight:600}.st-round{font-size:13px;font-weight:800;color:var(--green-hi);font-variant-numeric:tabular-nums}.st-total{min-width:56px;text-align:right;font-weight:900;font-variant-numeric:tabular-nums}.standings.final{max-height:none;width:100%;margin:0 0 24px}.standings.final li{grid-template-columns:22px 26px 1fr auto;padding:10px 12px}.party-panel{width:min(560px,calc(100vw - 32px))}.party-section{display:flex;align-items:baseline;gap:8px;margin:22px 0 10px;font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim);text-align:left}.party-section small{font-size:12px;letter-spacing:0;color:var(--text-mute)}.party-banner{display:flex;align-items:center;justify-content:center;gap:8px;margin:16px 0 0;padding:10px;border-radius:10px;background:rgba(254,205,25,.1);color:var(--yellow);font-weight:800;font-size:14px}.mode-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mode-choice{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:12px 14px;border-radius:14px;text-align:left;cursor:pointer;background:rgba(255,255,255,.05);border:1.5px solid rgba(200,185,255,.18);color:inherit;font:inherit;transition:border-color .15s,background .15s}.mode-choice:hover:not(:disabled){background:rgba(255,255,255,.09)}.mode-choice.on{border-color:var(--yellow);background:rgba(254,205,25,.08)}.mode-choice:disabled{cursor:default}.mode-choice:disabled:not(.on){opacity:.45}.mode-choice-icon{display:flex;color:var(--yellow)}.mode-choice-icon svg{width:20px;height:20px}.mode-choice-name{font-weight:900;font-style:italic;font-size:16px}.mode-choice-blurb{font-size:12px;color:var(--text-dim);line-height:1.35}.party-options{display:flex;flex-direction:column;gap:8px;margin-top:12px}.party-option{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.party-option-label{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--text-dim)}.party-option-label svg{color:var(--yellow)}.party-option-value{font-weight:800}.party-note{margin:2px 0 0;font-size:12px;color:var(--text-mute);text-align:left}.seg{display:inline-flex;padding:3px;border-radius:99px;background:rgba(0,0,0,.25)}.seg button{padding:5px 12px;border:0;border-radius:99px;background:none;color:var(--text-dim);font:800 12px var(--font);cursor:pointer}.seg button:hover{color:#fff}.seg button.on{background:var(--yellow);color:var(--bg-1)}.team-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-col{padding:10px;border-radius:14px;background:var(--team-soft);border:1px solid var(--team-soft);text-align:left}.team-col-head{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:6px}.team-col-head .team-name{font-size:14px}.team-name-input{min-width:0;width:60%;padding:3px 6px;margin-left:-6px;border:1px solid transparent;border-radius:8px;background:none;font-family:var(--font);cursor:text}.team-name-input:hover{border-color:#ffffff26}.team-name-input:focus{outline:none;border-color:var(--team);background:rgba(0,0,0,.25)}.slot-kick{padding:0;font-size:12px;color:var(--text-mute)}.solo-head{display:flex;align-items:center;gap:8px}.score-side.opponent .solo-head{flex-direction:row-reverse}.solo-head .avatar{width:26px;height:26px;font-size:12px;box-shadow:0 0 0 2px var(--team)}.solo-head .team-name{font-size:14px;letter-spacing:0;text-transform:none;color:var(--text)}.solo-dist{margin:0 0 6px;font-size:13px;color:var(--text-mute)}.team-card.solo .team-name{letter-spacing:0;text-transform:none;color:var(--text);font-style:normal}.team-card.solo .face .avatar{width:28px;height:28px;box-shadow:0 0 0 2px var(--team)}.member-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px;text-align:left}.member{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;background:rgba(255,255,255,.05);animation:rise .3s ease-out both}.member.empty{justify-content:center;background:none;border:1px dashed rgba(200,185,255,.25);color:var(--text-mute);font-size:13px}.member-avatar{position:relative;display:flex}.member-avatar .avatar{width:30px;height:30px;font-size:13px}.member-avatar .host-crown{width:16px;height:16px;top:-6px;right:-6px}.member-name{flex:1;min-width:0;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-name small{color:var(--text-mute);font-weight:600}.member-btn{display:flex;padding:5px;border:0;border-radius:8px;background:none;color:var(--text-mute);cursor:pointer}.member-btn:hover{background:rgba(255,255,255,.1);color:#fff}.member-btn.danger:hover{background:rgba(233,69,96,.25);color:#ff94a6}.party-panel .lobby-start,.party-panel .lobby-wait{margin-top:20px}@media (max-width: 640px){.exit-slot{top:10px;left:10px}.exit-btn span{display:none}.exit-btn{padding:0 11px}.game-notice{top:76px;font-size:12px}.duel-hud{top:auto;bottom:0;right:0;left:0;border-radius:0;justify-content:space-around}.duel-hud>*{padding:6px 10px}.team-card{min-width:0;flex:1}.duel-result .result-map{bottom:380px}.duel-result .result-panel{height:380px}.mode-picker,.team-columns{grid-template-columns:1fr}.duel-scores{gap:8px}.score-side{padding:8px}.score-side-points .num{font-size:20px}.standings li{grid-template-columns:22px 26px 1fr auto}.st-round{display:none}.lobby-rules{grid-template-columns:1fr}.code-text{font-size:28px;letter-spacing:5px}}.mode-icon.daily-icon{background:linear-gradient(135deg,#fecd19,#d9771b);color:var(--bg-1)}.mode-icon.profile-icon{background:none;box-shadow:none}.mode-icon.profile-icon .avatar{width:52px;height:52px;font-size:22px}.profile-card .mode-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:170px}.profile-chip.clickable{border:0;color:inherit;font:inherit;cursor:pointer;transition:background .15s}.profile-chip.clickable:hover{background:rgba(255,255,255,.14)}.profile-chip.clickable:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}.editor-screen{overflow-y:auto;display:flex;align-items:center;justify-content:center}.editor{position:relative;display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.1fr);gap:28px;align-items:stretch;width:min(980px,calc(100vw - 32px));margin:24px 0;padding:28px;background:linear-gradient(180deg,rgba(40,30,100,.78),rgba(20,15,58,.85));border:1px solid var(--panel-border);border-radius:22px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);animation:rise .5s cubic-bezier(.2,.9,.3,1.2) both}.editor-preview{position:relative;display:flex;flex-direction:column;gap:12px;align-items:center}.avatar-stage{position:relative;width:100%;aspect-ratio:4 / 5;min-height:300px;border-radius:18px;overflow:hidden;background:radial-gradient(circle at 35% 25%,var(--bg1),var(--bg2) 80%);box-shadow:inset 0 0 0 1px #ffffff1f,inset 0 -40px 80px #00000040}.avatar-canvas{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;cursor:grab;touch-action:none}.avatar-canvas:active{cursor:grabbing}.avatar-fail{position:absolute;left:0;right:0;bottom:12px;text-align:center}.editor-side{display:flex;flex-direction:column;min-width:0;text-align:left}.editor-title{margin-top:0}.field{display:flex;flex-direction:column;gap:6px;margin:8px 0 18px}.field-label{font-size:12px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-mute)}.field input{padding:12px 16px;border-radius:12px;border:1px solid var(--panel-border);background:rgba(255,255,255,.06);color:inherit;font:800 17px var(--font)}.field input:focus{outline:none;border-color:var(--yellow);background:rgba(255,255,255,.09)}.editor-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.editor-tabs button{padding:6px 12px;border:0;border-radius:99px;background:rgba(255,255,255,.06);color:var(--text-dim);font:800 12px var(--font);cursor:pointer;transition:background .12s,color .12s}.editor-tabs button:hover{color:#fff;background:rgba(255,255,255,.12)}.editor-tabs button.on{background:var(--yellow);color:var(--bg-1)}.editor-options{display:flex;flex-wrap:wrap;gap:8px;min-height:96px;align-content:flex-start}.editor-option{padding:9px 16px;border-radius:12px;border:1.5px solid rgba(200,185,255,.2);background:rgba(255,255,255,.05);color:var(--text);font:700 14px var(--font);cursor:pointer;transition:transform .12s,border-color .12s,background .12s}.editor-option:hover{transform:translateY(-1px);border-color:#c8b9ff80}.editor-option.on{border-color:var(--yellow);background:rgba(254,205,25,.12)}.editor-options.swatches .editor-option{width:40px;height:40px;padding:0;border-radius:50%;background:var(--swatch);border:3px solid rgba(255,255,255,.15);box-shadow:inset 0 -4px 8px #0003}.editor-options.swatches .editor-option.on{border-color:#fff;box-shadow:0 0 0 3px var(--yellow),inset 0 -4px 8px #0003}.editor-actions{margin-top:auto;padding-top:20px;display:flex;gap:10px;flex-wrap:wrap}.editor-actions .btn.big{flex:1}.profile-screen,.daily-screen{overflow-y:auto}.profile-inner,.daily-inner{position:relative;max-width:1000px;margin:0 auto;padding:84px 16px 48px;animation:rise .4s ease-out both}.profile-hero{display:flex;align-items:center;gap:28px;margin-bottom:22px}.profile-avatar{width:220px;flex-shrink:0;min-height:0;aspect-ratio:4 / 5}.profile-id{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:6px}.profile-id .muted{margin:0}.profile-name{margin:0;font-size:clamp(28px,4vw,44px);font-weight:900;font-style:italic;line-height:1.05;overflow-wrap:anywhere}.profile-badges{margin:4px 0 8px}.profile-badges .chip{display:inline-flex;align-items:center;gap:6px;color:var(--yellow)}.stat-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px}.stat-tile{display:flex;flex-direction:column;gap:2px;padding:14px 16px;border-radius:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06)}.stat-label{font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:var(--text-mute)}.stat-value{font-size:26px;font-weight:900;font-style:italic;font-variant-numeric:tabular-nums}.stat-sub{font-size:12px;color:var(--text-dim);font-weight:600}.profile-section{display:flex;align-items:baseline;gap:8px;margin:30px 0 12px;font-size:13px;font-weight:800;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-dim)}.profile-section small{letter-spacing:0;color:var(--text-mute)}.mode-table{border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.mode-row{display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:8px;padding:12px 16px;font-variant-numeric:tabular-nums;font-weight:700}.mode-row:nth-child(2n){background:rgba(255,255,255,.04)}.mode-row.head{background:rgba(255,255,255,.08);font-size:11px;font-weight:800;letter-spacing:1.1px;text-transform:uppercase;color:var(--text-mute)}.mode-name{font-weight:900;font-style:italic}.achievements{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:8px}.achievement{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05);opacity:.55}.achievement .ach-icon{filter:grayscale(1);opacity:.6}.achievement.on{opacity:1;background:rgba(254,205,25,.08);border-color:#fecd194d}.achievement.on .ach-icon{filter:none;opacity:1}.ach-icon{width:40px;height:40px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.07);font-size:22px}.ach-text{display:flex;flex-direction:column;min-width:0;text-align:left}.ach-title{font-weight:900;font-size:14px}.ach-desc{font-size:12px;color:var(--text-dim)}.ach-kicker{font-size:10px;font-weight:800;letter-spacing:1.2px;text-transform:uppercase;color:var(--yellow)}.country-map{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:12px;height:440px}.country-map-canvas{position:relative;border-radius:14px;overflow:hidden;border:1px solid var(--panel-border)}.profile-map{position:absolute;top:0;right:0;bottom:0;left:0}.map-legend{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:8px;padding:6px 10px;border-radius:99px;background:var(--panel-solid);font-size:11px;font-weight:800;color:var(--text-dim)}.map-legend i{width:90px;height:8px;border-radius:99px;background:linear-gradient(90deg,hsl(0,75%,50%),hsl(60,75%,50%),hsl(120,75%,50%))}.country-list{display:flex;flex-direction:column;min-height:0;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.06);padding:8px}.country-list>.muted{padding:8px;margin:0}.country-list ol{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.country-detail{padding:8px 10px 10px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:6px}.country-detail-name{margin:0 0 2px;font-weight:900;font-style:italic;font-size:18px}.country-detail .muted{margin:0}.country-row{width:100%;display:grid;grid-template-columns:12px 1fr auto 48px;align-items:center;gap:8px;padding:7px 8px;border:0;border-radius:8px;background:none;color:inherit;font:700 13px var(--font);text-align:left;cursor:pointer}.country-row:hover{background:rgba(255,255,255,.07)}.country-row.on{background:rgba(254,205,25,.12)}.country-swatch{width:12px;height:12px;border-radius:3px}.country-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.country-count{color:var(--text-mute);font-size:12px}.country-avg{text-align:right;font-variant-numeric:tabular-nums}.daily-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:start}.daily-card{width:100%}.daily-rules{margin:0 0 16px}.daily-done{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px;border-radius:14px;background:rgba(255,255,255,.05)}.daily-score{font-size:48px;font-weight:900;font-style:italic;line-height:1;color:var(--yellow);font-variant-numeric:tabular-nums}.daily-rounds{list-style:none;display:flex;gap:6px;padding:0;margin:6px 0 0;flex-wrap:wrap;justify-content:center}.daily-rounds li{padding:4px 10px;border-radius:99px;background:rgba(255,255,255,.07);font-size:12px;font-weight:800;font-variant-numeric:tabular-nums}.daily-reset{display:flex;align-items:center;gap:6px;margin:14px 0 0;color:var(--text-dim);font-size:13px;font-weight:600}.daily-reset b{font-variant-numeric:tabular-nums;color:var(--text)}.daily-board .profile-section{margin-top:0}.party-chat{position:fixed;left:16px;bottom:16px;z-index:40;display:flex;align-items:flex-end;gap:8px}.party-chat.in-game{left:74px;bottom:28px}.chat-panel{width:320px;height:300px;display:flex;flex-direction:column;overflow:hidden;background:var(--panel);border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:toast-in .2s ease-out}.chat-head{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 6px 10px;border-bottom:1px solid rgba(255,255,255,.08)}.chat-tabs{display:flex;gap:4px}.chat-tabs button{padding:4px 12px;border:0;border-radius:99px;background:none;color:var(--text-dim);font:800 12px var(--font);cursor:pointer}.chat-tabs button:hover{color:#fff}.chat-tabs button.on{background:rgba(255,255,255,.12);color:#fff}.chat-tabs .team-tab.team-red.on{background:rgba(233,69,96,.35)}.chat-tabs .team-tab.team-blue.on{background:rgba(63,166,216,.35)}.chat-close{width:26px;height:26px;border:0;border-radius:50%;background:none;color:var(--text-dim);cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-close:hover{background:rgba(255,255,255,.1);color:#fff}.chat-list{list-style:none;margin:0;padding:8px 10px;flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:4px;text-align:left}.chat-msg{font-size:13px;line-height:1.35;overflow-wrap:anywhere}.chat-name{font-weight:900;margin-right:6px;color:var(--yellow)}.chat-msg.mine .chat-name{color:var(--green-hi)}.chat-team{display:inline-block;margin-right:5px;padding:0 6px;border-radius:4px;font-size:10px;font-weight:900;text-transform:uppercase;vertical-align:1px}.chat-team.team-red{background:rgba(233,69,96,.5)}.chat-team.team-blue{background:rgba(63,166,216,.5)}.chat-empty{color:var(--text-mute);font-size:12px;font-style:italic;margin:auto 0;text-align:center}.chat-form{display:flex;gap:6px;padding:8px;border-top:1px solid rgba(255,255,255,.08)}.chat-form input{flex:1;min-width:0;padding:8px 12px;border-radius:99px;border:1px solid var(--panel-border);background:rgba(255,255,255,.06);color:inherit;font:600 13px var(--font)}.chat-form input:focus{outline:none;border-color:var(--yellow)}.chat-send{width:34px;height:34px;flex-shrink:0;border:0;border-radius:50%;background:var(--yellow);color:var(--bg-1);cursor:pointer;display:flex;align-items:center;justify-content:center}.chat-send:disabled{background:rgba(255,255,255,.1);color:var(--text-mute);cursor:default}.chat-fab{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--panel-border);background:var(--panel);color:var(--text);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:color .12s,transform .12s}.chat-fab:hover,.chat-fab.on{color:var(--yellow);transform:translateY(-1px)}.chat-fab .badge{position:absolute;top:-4px;right:-4px;margin:0}.emote-wrap{position:relative}.emote-picker{position:absolute;bottom:calc(100% + 8px);left:0;display:grid;grid-template-columns:repeat(4,44px);gap:4px;padding:8px;background:var(--panel-solid);border:1px solid var(--panel-border);border-radius:14px;box-shadow:var(--shadow);animation:toast-in .15s ease-out}.emote-btn{width:44px;height:44px;border:0;border-radius:10px;background:none;font-size:24px;cursor:pointer;transition:transform .1s,background .1s}.emote-btn:hover{background:rgba(255,255,255,.1);transform:scale(1.12)}.emote-btn.text,.emote-big.text{font:900 italic 18px var(--font);color:var(--yellow)}.emote-layer{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:60;overflow:hidden}.emote-float{position:absolute;bottom:90px;display:flex;flex-direction:column;align-items:center;gap:4px;animation:emote-up 3.2s cubic-bezier(.2,.8,.3,1) forwards}.emote-big{font-size:54px;line-height:1;filter:drop-shadow(0 6px 14px rgba(0,0,0,.45))}.emote-big.text{font-size:40px;text-shadow:0 4px 14px rgba(0,0,0,.6)}.emote-who{display:flex;align-items:center;gap:6px;padding:3px 10px 3px 3px;border-radius:99px;background:var(--panel-solid);font-size:12px;font-weight:800;white-space:nowrap}.emote-who .avatar{width:22px;height:22px;font-size:10px}@keyframes emote-up{0%{opacity:0;transform:translateY(30px) scale(.5)}12%{opacity:1;transform:translateY(0) scale(1.15)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-260px)}}.achievement-toast{position:fixed;top:76px;right:16px;z-index:90;display:flex;align-items:center;gap:12px;max-width:min(360px,calc(100vw - 32px));padding:12px 16px 12px 12px;border-radius:14px;border:1px solid rgba(254,205,25,.5);border-left:4px solid var(--yellow);background:var(--panel-solid);color:inherit;font:inherit;text-align:left;box-shadow:var(--shadow);cursor:pointer;animation:toast-in .3s cubic-bezier(.2,.9,.3,1.3)}@media (max-width: 900px){.menu-main{grid-template-columns:1fr;padding-top:84px}.hero-globe{display:none}.steps{grid-template-columns:1fr;padding:0 16px 28px}.menu-main{padding-left:16px;padding-right:16px}.summary{flex-direction:column}.summary-map{flex:0 0 42%}.summary-panel{width:100%;flex:1;border-left:0;border-top:1px solid var(--panel-border);padding:22px 16px}}@media (max-width: 640px){.top-bar{padding:12px 16px}.user-name{display:none}.profile-chip{padding:3px}.logo-btn .logo-sm{display:none}.top-bar-icon{display:block}.status-bar{top:auto;bottom:0;right:0;left:0;border-radius:0;justify-content:space-around}.status-item{padding:6px 10px}.timer{top:10px}.pano-controls{top:76px;bottom:auto;left:10px}.compass{width:46px;height:46px}.game .guess-box[class]{--w:calc(100vw - 24px);--h: 140px;right:12px;bottom:58px}.game .guess-box[class]:hover,.game .guess-box[class].pinned{--h: 46vh}.guess-tools{display:none}.result-map{bottom:230px}.result-panel{height:230px}.points-big .num{font-size:36px}.round-intro-num{font-size:72px}.user-row{flex-wrap:wrap}.user-actions{width:100%;justify-content:flex-end}.panel{padding:32px 20px 22px}}@media (max-width: 900px){.editor{grid-template-columns:1fr;padding:20px}.editor-preview .avatar-stage{max-width:300px;min-height:0}.daily-grid{grid-template-columns:1fr}.country-map{grid-template-columns:1fr;height:auto}.country-map-canvas{height:320px}.country-list ol{max-height:260px}}@media (max-width: 640px){.profile-hero{flex-direction:column;align-items:center;text-align:center}.profile-id{align-items:center}.profile-avatar{width:180px}.mode-row{grid-template-columns:1.4fr repeat(4,1fr);padding:10px;font-size:12px;gap:4px}.party-chat{left:10px;bottom:10px}.party-chat.in-game{bottom:auto;top:76px;left:66px;align-items:flex-start}.party-chat.in-game .emote-picker{bottom:auto;top:calc(100% + 8px)}.chat-panel{width:calc(100vw - 80px);height:240px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
