:root{--red:#d7263d;--brand-red:#e4252b;--brand-gold:#ffc52e;--brand-ink:#1b1530;--brand-cream:#fff6e0;--accent:var(--brand-red);--accent-dark:#b81d22;--red-dark:#a91b2e;--ink:var(--brand-ink);--muted:#5f5873;--bg:#ffe9a8;--card:#fff;--line:#1b15302e;--radius:22px;--shadow:0 10px 34px #1b153029;--panel:var(--brand-cream);--outline:3px solid var(--brand-ink);--outline-thin:2px solid var(--brand-ink);--drop:4px 5px 0 var(--brand-ink);--drop-small:0 3px 0 var(--brand-ink);--glass-dark:var(--brand-ink);--glass-dark-edge:var(--brand-gold);--glass-dark-shine:0 3px 0 #00000073}*{box-sizing:border-box}[hidden]{display:none!important}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0;border-radius:999px}::-webkit-scrollbar-thumb{background:padding-box padding-box;border:2px solid #0000;border-radius:999px}.scrolling::-webkit-scrollbar-thumb{background-color:var(--brand-gold);border-color:var(--brand-ink)}::-webkit-scrollbar-thumb:hover{background-color:var(--brand-gold);border-color:var(--brand-ink)}::-webkit-scrollbar-thumb:hover{background-color:#ffb800}::-webkit-scrollbar-corner{background:0 0}.result-body::-webkit-scrollbar{width:10px}.result-body::-webkit-scrollbar-track{margin-block:calc(var(--radius) - 4px)}@property --scrollbar-shown{syntax:"<number>";inherits:false;initial-value:0}@supports (scrollbar-color:red red){*{--scrollbar-shown:0;scrollbar-color:color-mix(in srgb, var(--brand-gold) calc(var(--scrollbar-shown) * 100%), transparent) transparent;transition:--scrollbar-shown .6s}.scrolling{--scrollbar-shown:1;transition-duration:.15s}}html,body{margin:0}body{color:var(--ink);background:var(--sky-base);min-height:100vh;font-family:Chiron GoRound TC,system-ui,-apple-system,Segoe UI,Roboto,PingFang HK,Microsoft JhengHei,Arial,sans-serif;line-height:1.5}:root{--sky-base:#c9b8ec;--sky:linear-gradient(180deg, #9fb4ec 0%, #c3b6ee 40%, #eec4dc 72%, #ffd9b8 100%);--skyline:url(/static/assets/hk-skyline-dusk-DMPClAFp.svg)}:root[data-hk-time=dawn]{--sky-base:#d4bfe0;--sky:linear-gradient(180deg, #8fa6d8 0%, #c4b4e2 40%, #f4c4cc 72%, #ffd6a8 100%);--skyline:url(/static/assets/hk-skyline-dawn-v4JECAe8.svg)}:root[data-hk-time=day]{--sky-base:#9fcbf6;--sky:linear-gradient(180deg, #4f97ec 0%, #86bff5 45%, #c3e2fb 78%, #e9f5ff 100%);--skyline:url(/static/assets/hk-skyline-day-CbXwzxS5.svg)}:root[data-hk-time=night]{--sky-base:#1b1f4c;--sky:radial-gradient(1.2px 1.2px at 23px 41px, #fff 50%, transparent 100%) 0 0 / 173px 151px, radial-gradient(1px 1px at 97px 113px, #fffc 50%, transparent 100%) 0 0 / 211px 187px, radial-gradient(1.6px 1.6px at 141px 19px, #ffffffe6 50%, transparent 100%) 0 0 / 263px 229px, radial-gradient(1px 1px at 61px 167px, #fff9 50%, transparent 100%) 0 0 / 137px 199px, linear-gradient(180deg, #0a0f2e 0%, #171c4a 45%, #2e2a63 78%, #4a3a72 100%);--skyline:url(/static/assets/hk-skyline-night-BC64lJl6.svg)}body:before,body:after{content:"";z-index:-1;pointer-events:none;position:fixed;bottom:0;left:0;right:0}body:before{background:var(--sky);top:0}body:after{background:var(--skyline) center bottom / cover no-repeat;height:max(300px,37.5vw)}body.game-page:before,body.game-page:after{display:none}a{color:var(--accent-dark)}h1,h2{letter-spacing:-.01em;margin:0 0 .5rem;line-height:1.2}h1{font-weight:800}.muted{color:var(--muted)}.small{font-size:.875rem}code{background:#fff;border-radius:4px;padding:0 4px}.card,.site-header,.result-card,.home-maps>.card-heading,.home-section-title{background:var(--panel);border:var(--outline);box-shadow:var(--drop);position:relative}.site-header{z-index:20;width:calc(100% - 24px);max-width:1200px;color:var(--ink);border-radius:999px;justify-content:space-between;align-items:center;gap:1rem;margin:12px auto 0;padding:.55rem .75rem .55rem 1.25rem;display:flex;position:sticky;top:12px}.brand{align-items:center;text-decoration:none;display:flex}.brand img{width:auto;height:46px;margin:-6px 0;display:block}@media (width<=640px){.brand img{height:38px;margin:-4px 0}}.site-header nav{align-items:center;gap:.35rem;display:flex}.link-button{color:var(--ink);opacity:.8;cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.link-button:hover{opacity:1;text-decoration:underline}.flashes{max-width:420px;margin:1rem auto 0;padding:0 1rem}.flash{border:var(--outline-thin);background:#ffe9a8;border-radius:14px;padding:.6rem 1rem}.flash-error{color:var(--red-dark);background:#ffd9da}.card{border-radius:var(--radius);padding:1.5rem}.btn,.text-button,:is(main,.friends-panel,.site-footer) a:not(.btn,.player-link,.map-card-link,.hud-home,.game-ad,.chat-name,.brand,.gm-style *){border:var(--outline-thin);color:var(--ink);box-shadow:var(--drop-small);font:inherit;text-align:center;cursor:pointer;background:#fff;border-radius:999px;padding:.65rem 1.3rem;font-weight:700;text-decoration:none;transition:transform .12s,box-shadow .12s,background-color .12s;display:inline-block}.text-button,:is(main,.friends-panel,.site-footer) a:not(.btn,.player-link,.map-card-link,.hud-home,.game-ad,.chat-name,.brand,.gm-style *){vertical-align:middle;align-items:center;gap:.3rem;margin:.1rem 0;padding:.12rem .7rem;font-size:.9em;line-height:1.4;display:inline-flex}.btn:hover,.text-button:hover:not(:disabled),:is(main,.friends-panel,.site-footer) a:not(.btn,.player-link,.map-card-link,.hud-home,.game-ad,.chat-name,.brand,.gm-style *):hover{background-color:var(--bg);box-shadow:0 4px 0 var(--brand-ink);transform:translateY(-1px)}.btn:active,.text-button:active,:is(main,.friends-panel,.site-footer) a:not(.btn,.player-link,.map-card-link,.hud-home,.game-ad,.chat-name,.brand,.gm-style *):active{box-shadow:0 0 0 var(--brand-ink);transform:translateY(3px)}.btn:focus-visible,.text-button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn-primary{background:var(--brand-gold)}.btn-primary:hover{background-color:#ffd257}.btn:disabled,.btn:disabled:hover,.text-button:disabled{color:#7a7488;box-shadow:none;cursor:not-allowed;background:#e4ded2;transform:none}label{margin-bottom:1rem;font-size:.9rem;font-weight:600;display:block}input{border:var(--outline-thin);width:100%;font:inherit;color:var(--ink);background:#fff;border-radius:14px;margin-top:.3rem;padding:.6rem .85rem;display:block}input[type=range]{box-shadow:none;background:0 0;border:none}input:focus,.map-form textarea:focus,.chat-form textarea:focus{box-shadow:0 0 0 3px var(--brand-gold);outline:none}.auth-page{justify-content:center;padding:3rem 1rem;display:flex}.auth-card{width:100%;max-width:380px}.auth-card .btn{width:100%;margin-bottom:.5rem}.field-hint{color:var(--muted);margin-top:.3rem;font-size:.8rem;font-weight:400;display:block}.forgot-link{text-align:right;margin:-.5rem 0 1rem}.code-input{letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums;font-size:1.4rem}.google-sign-in{margin:.5rem 0 1rem}.google-sign-in .flash{margin-top:.75rem}.google-button{justify-content:center;min-height:44px;display:flex}.divider{color:var(--muted);align-items:center;gap:.75rem;margin:.5rem 0 1rem;font-size:.85rem;display:flex}.divider:before,.divider:after{content:"";border-top:1px solid var(--line);flex:1}.home-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:1.5rem;max-width:1200px;margin:2rem auto;padding:0 1rem;display:grid}.home{gap:1.5rem;min-width:0;display:grid}@media (width<=960px){.home-layout{grid-template-columns:minmax(0,1fr);max-width:820px}}.hero{text-align:center;padding:2.75rem 1.5rem 2.25rem}.hero h1{font-size:clamp(1.6rem,4vw,2.2rem)}.btn-play{border-radius:999px;margin:1rem 0 .5rem;padding:.85rem 3.75rem;font-size:1.4rem}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.stat{border:var(--outline-thin);box-shadow:var(--drop-small);background:#fff;border-radius:16px;flex-direction:column;gap:.2rem;padding:1rem;display:flex}.stat-value{font-size:1.6rem;font-weight:700}.stat-label{color:var(--muted);font-size:.875rem}.table{border-collapse:collapse;width:100%}.table th,.table td{border-bottom:1px solid var(--line);text-align:left;padding:.5rem}.table th{color:var(--muted);font-size:.85rem;font-weight:600}.table .num{text-align:right;font-variant-numeric:tabular-nums}.game-page{--ad-h:0px;background:#000;overflow:hidden}.game-page.game-ad-wide{--ad-h:90px}.game-page.game-ad-narrow{--ad-h:50px}.pano{inset:0 0 var(--ad-h) 0;position:fixed}.game-ad{z-index:11;height:var(--ad-h);background:#11141c;justify-content:center;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;overflow:hidden}.ad-placeholder{text-align:center;color:#ffffffbf;border:1px dashed #ffffff59;border-radius:4px;place-content:center;font-size:.8rem;font-weight:600;display:grid}.ad-placeholder span{opacity:.7;font-weight:400}.pano-view{width:100%;height:100%}.pano{transition:filter .5s,transform .5s}.pano.not-started{filter:blur(28px)brightness(.7);pointer-events:none;transform:scale(1.12)}.hud{z-index:5;background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);box-shadow:var(--glass-dark-shine);white-space:nowrap;border-radius:999px;align-items:center;gap:1.25rem;padding:.45rem 1.1rem;display:flex;position:fixed;top:12px;left:16px}.hud-home{color:#fff;align-items:center;gap:.45rem;font-weight:700;text-decoration:none;display:inline-flex}.hud-home img{width:auto;height:22px;display:block}.hud-item{font-variant-numeric:tabular-nums;align-items:baseline;gap:.4rem;font-weight:700;display:flex}.hud-label{text-transform:uppercase;letter-spacing:.06em;opacity:.7;font-size:.7rem;font-weight:600}.compass-bar{z-index:5;background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);width:min(480px,100vw - 32px);height:40px;box-shadow:var(--glass-dark-shine);pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:999px;position:fixed;top:12px;left:50%;overflow:hidden;transform:translate(-50%)}.cb-ticks{position:absolute;inset:0 20px;-webkit-mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000)}.cb-tick{flex-direction:column;align-items:center;display:flex;position:absolute;top:0;bottom:0;transform:translate(-50%)}.cb-mark{background:#fff6;width:1px;height:6px}.cb-label{font-weight:700;line-height:1}.cb-cardinal .cb-mark{background:#fff;width:2px;height:8px}.cb-cardinal .cb-label{margin-top:5px;font-size:1rem}.cb-intercardinal .cb-mark{background:#ffffffb3;height:7px}.cb-intercardinal .cb-label{opacity:.7;margin-top:7px;font-size:.75rem}.cb-north .cb-label{color:#ff5a6e}.cb-pointer{border:6px solid #0000;border-bottom-color:#f6b93b;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.compass-rose{left:16px;bottom:calc(34px + var(--ad-h));z-index:5;cursor:pointer;filter:drop-shadow(0 4px 10px #00000059);background:0 0;border:none;border-radius:50%;width:84px;height:84px;padding:0;position:fixed}.compass-rose svg{width:100%;height:100%;display:block}.compass-rose:focus-visible{outline-offset:2px;outline:2px solid #f6b93b}.cr-face{fill:var(--glass-dark);stroke:#ffffffd9;stroke-width:2px}.cr-tick{stroke:#ffffff73;stroke-width:1.5px;stroke-linecap:round}.cr-letter{fill:#fff;text-anchor:middle;dominant-baseline:central;font-size:14px;font-weight:700}.cr-north{fill:#ff5a6e}.cr-needle-n{fill:var(--red)}.cr-needle-s{fill:#ffffffbf}.cr-hub{fill:#fff}.cr-pointer{fill:#f6b93b}.menu-button{left:38px;bottom:calc(130px + var(--ad-h));z-index:5;cursor:pointer;background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);width:40px;height:40px;box-shadow:var(--glass-dark-shine);border-radius:50%;place-items:center;padding:0;display:grid;position:fixed}.menu-button:hover{color:#f6b93b}.hide-ui-button{left:38px;bottom:calc(180px + var(--ad-h));z-index:5;cursor:pointer;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);width:40px;height:40px;box-shadow:var(--glass-dark-shine);border-radius:50%;place-items:center;padding:0;transition:opacity .15s;display:grid;position:fixed}.hide-ui-button:hover{color:#f6b93b}.hide-ui-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}body.ui-hidden .hide-ui-button{opacity:.45}.menu-button:focus-visible{outline-offset:2px;outline:2px solid #f6b93b}.menu-button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.overlay.pause-overlay{z-index:20;background:#0a0c1499}.pause-card{text-align:center;width:min(400px,100%);max-height:calc(100vh - 2rem - var(--ad-h));gap:.6rem;display:grid;overflow-y:auto}.pause-actions{gap:.45rem;display:grid}.pause-confirm{border:1.5px solid var(--line);background:#a91b2e14;border-radius:14px;grid-template-columns:1fr 1fr;gap:.4rem;padding:.5rem;display:grid}.pause-confirm>p{grid-column:1/-1;font-size:.9rem}.pause-card .pause-actions .btn{padding-block:.45rem;font-size:.9rem}.pause-language{grid-auto-flow:column;justify-content:center;align-items:center;gap:.75rem}@media (height<=760px){.pause-hint{display:none}.pause-card{gap:.45rem;padding-block:1rem}.pause-card .pause-settings{margin-top:.25rem;padding-top:.5rem}}.pause-map{font-weight:700}.pause-card .sound-controls{text-align:left;width:100%}.pause-card .sound-row{justify-content:center}.pause-card .sound-row-label{display:none}.pause-card .segmented button{padding:.3rem .65rem;font-size:.8rem}.pause-card h2{margin-bottom:.25rem}.pause-card .btn{width:100%}.pause-card .key-hint{border-color:#ffffff8c}.pause-card p{margin:0}.guess-panel{right:20px;bottom:calc(24px + var(--ad-h));z-index:5;opacity:.85;flex-direction:column;gap:8px;width:260px;transition:width .2s,opacity .2s;display:flex;position:fixed}.guess-panel[data-size="0"]{--open-w:min(380px, calc(100vw - 40px));--open-h:max(170px, min(260px, calc(100vh - 170px - var(--ad-h))))}.guess-panel[data-size="1"]{--open-w:min(480px, calc(100vw - 40px));--open-h:max(170px, min(330px, calc(100vh - 170px - var(--ad-h))))}.guess-panel[data-size="2"]{--open-w:min(600px, calc(100vw - 40px));--open-h:max(170px, min(420px, calc(100vh - 170px - var(--ad-h))))}.guess-panel[data-size="3"]{--open-w:min(760px, calc(100vw - 40px));--open-h:max(170px, min(520px, calc(100vh - 170px - var(--ad-h))))}.guess-panel[data-size="4"]{--open-w:min(960px, calc(100vw - 40px));--open-h:max(170px, min(640px, calc(100vh - 170px - var(--ad-h))))}.guess-panel[data-size="5"]{--open-w:min(1200px, calc(100vw - 40px));--open-h:max(170px, min(800px, calc(100vh - 170px - var(--ad-h))))}.guess-panel[data-size="6"]{--open-w:calc(100vw - 40px);--open-h:max(230px, calc(100vh - 170px - var(--ad-h)))}.guess-panel:hover,.guess-panel.pinned{width:var(--open-w);opacity:1}.guess-map-wrap{position:relative}.guess-map{border-radius:var(--radius);border:2px solid #ffffffbf;height:170px;transition:height .2s,filter .2s;overflow:hidden;box-shadow:0 0 0 1px #0000001f,0 10px 30px #00000059}@media (hover:hover){.guess-panel:not(:hover):not(.pinned) .guess-map{filter:saturate(.55)brightness(1.05)contrast(.85)}}.guess-panel:hover .guess-map,.guess-panel.pinned .guess-map{height:var(--open-h)}.guess-panel .btn{border-radius:999px;width:100%;padding:.75rem;font-size:1rem}.key-hint{font:inherit;vertical-align:.1em;opacity:.85;border:1px solid #ffffff8c;border-radius:5px;margin-left:.4rem;padding:.05rem .4rem;font-size:.7rem;font-weight:600}@media (hover:none){.key-hint{display:none}}.map-size-buttons{z-index:1;opacity:0;pointer-events:none;gap:6px;transition:opacity .15s;display:flex;position:absolute;bottom:28px;right:10px}.guess-panel:hover .map-size-buttons,.guess-panel.pinned .map-size-buttons{opacity:1;pointer-events:auto}.map-size-buttons button{cursor:pointer;background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);width:30px;height:30px;box-shadow:var(--glass-dark-shine);border-radius:10px;place-items:center;padding:0;display:grid}.map-size-buttons button:hover:not(:disabled){color:#f6b93b;background:#121428b3}.map-size-buttons button:disabled{opacity:.35;cursor:default}.map-size-buttons button:focus-visible{outline-offset:1px;outline:2px solid #f6b93b}.map-size-buttons svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.overlay{inset:0 0 var(--ad-h) 0;z-index:10;background:#0a0c14b3;flex-direction:column;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed}.overlay-light{color:#fff;background:#0a0c1473}.overlay.keep-layout[hidden]{visibility:hidden;pointer-events:none;display:flex!important}.result-card{width:min(900px,100%);max-height:calc(100vh - 2rem - var(--ad-h));border-radius:var(--radius);flex-direction:column;display:flex;overflow:hidden}.result-map{flex-shrink:0;height:50vh;min-height:260px}.result-body{text-align:center;padding:1.25rem 1.5rem 1.5rem;overflow-y:auto}.result-body h2{font-size:2rem}.result-body p{margin:.4rem 0}.result-body .table{margin:1rem 0}.final-card .result-map{height:45vh}.score-bar{background:#1d24331a;border-radius:999px;max-width:420px;height:10px;margin:.5rem auto 1rem;overflow:hidden}.score-bar>div{background:linear-gradient(90deg, var(--brand-gold), var(--brand-red));width:0;height:100%;transition:width .8s}.button-row{justify-content:center;gap:.75rem;display:flex}.next-btn{min-width:200px;margin-top:.75rem}.spinner{border:4px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:44px;height:44px;animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=1200px){.hud{top:60px;left:50%;transform:translate(-50%)}}@media (width<=600px){.guess-panel,.guess-panel:hover,.guess-panel.pinned{width:calc(100vw - 40px)}.guess-map{height:180px}.guess-panel[data-size="0"]{--open-h:min(25vh, calc(100vh - 170px - var(--ad-h)))}.guess-panel[data-size="1"]{--open-h:min(32vh, calc(100vh - 170px - var(--ad-h)))}.guess-panel[data-size="2"]{--open-h:min(40vh, calc(100vh - 170px - var(--ad-h)))}.guess-panel[data-size="3"]{--open-h:min(48vh, calc(100vh - 170px - var(--ad-h)))}.guess-panel[data-size="4"]{--open-h:min(56vh, calc(100vh - 170px - var(--ad-h)))}.guess-panel[data-size="5"]{--open-h:min(64vh, calc(100vh - 170px - var(--ad-h)))}.guess-panel[data-size="6"]{--open-h:calc(100vh - 170px - var(--ad-h))}.hud{gap:.75rem;font-size:.9rem}.hud-brand{display:none}.compass-rose{width:64px;height:64px;bottom:calc(272px + var(--ad-h))}.menu-button{left:28px;bottom:calc(346px + var(--ad-h))}.hide-ui-button{left:28px;bottom:calc(396px + var(--ad-h))}}.legend{justify-content:center;align-items:center;gap:.4rem;display:flex}.legend-avatar{border:2px solid var(--brand-ink);background:var(--brand-red);margin-left:.6rem}.guess-avatar{width:28px;height:28px;position:relative;transform:translateY(50%)}.guess-avatar-face{z-index:1;border:2.5px solid var(--brand-ink);object-fit:cover;box-sizing:border-box;background:var(--brand-red);color:#fff;-webkit-user-select:none;user-select:none;width:28px;height:28px;box-shadow:1.5px 2px 0 var(--brand-ink);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid;position:relative}.guess-avatar.team .guess-avatar-face{border-color:var(--team-color);box-shadow:0 0 0 1.5px var(--brand-ink), 1.5px 2px 0 1.5px var(--brand-ink)}.guess-avatar-frame{z-index:2;pointer-events:none;-webkit-user-select:none;user-select:none;width:180%;max-width:none;height:180%;position:absolute;inset:-40%}.guess-avatar-round{z-index:2;border:2px solid var(--brand-ink);background:var(--brand-gold);min-width:16px;height:16px;color:var(--brand-ink);text-align:center;box-sizing:border-box;border-radius:999px;padding:0 3px;font-size:10px;font-weight:800;line-height:12px;position:absolute;top:-6px;right:-8px}.guess-pin{width:38px;height:44px;position:relative}.guess-pin img,.guess-pin svg{-webkit-user-select:none;user-select:none;width:38px;height:44px;display:block;transform:translateY(6%)}.guess-pin text{fill:var(--brand-ink);font-family:inherit;font-size:56px;font-weight:800}.legend-flag{width:16px;height:18px;margin-left:.6rem;display:inline-flex}.legend-flag svg{width:100%;height:100%}.auth-card .flash{margin-bottom:1rem}.hero .flash{margin-top:1rem}.error-card{color:var(--ink);text-align:center;max-width:420px}.site-header nav a{color:var(--ink);opacity:.8;border:2px solid #0000;border-radius:999px;padding:.3rem .85rem;font-weight:700;text-decoration:none;transition:background-color .15s,opacity .15s}.site-header nav a:hover{opacity:1;background:var(--bg)}.site-header nav a.active{opacity:1;color:var(--ink);background:var(--brand-gold);border-color:var(--brand-ink);box-shadow:var(--drop-small)}.site-header nav .username{border-left:1px solid var(--line);padding-left:1rem}@media (width<=640px){.site-header{border-radius:22px;flex-wrap:wrap;gap:.35rem;padding:.6rem .85rem;position:relative;top:auto}.site-header nav .account-button{border-left:none;margin-left:0;padding-left:.6rem}.site-header nav{flex-wrap:wrap;gap:.15rem;font-size:.9rem}.site-header nav a{padding:.3rem .6rem}}.page{gap:1.5rem;max-width:1100px;margin:2rem auto;padding:0 1rem;display:grid}.page.page-narrow{max-width:820px}.card-heading{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.btn-small{padding:.35rem .8rem;font-size:.875rem}.load-more{justify-content:center;margin-top:1rem;display:flex}.inline-error{color:var(--red-dark);font-size:.85rem}.count{border:1.5px solid var(--brand-ink);min-width:1.5em;color:var(--ink);text-align:center;vertical-align:middle;background:#fff;border-radius:999px;padding:0 .45em;font-size:.8rem;display:inline-block}.games-table td{vertical-align:middle}.profile-head{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.profile-name{flex:1;min-width:0}.profile-name h1{margin:0}.profile-maps{align-items:center}.profile-maps h2,.profile-maps p{margin:0}.avatar{background:var(--ink);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:64px;height:64px;font-size:1.6rem;font-weight:700;display:grid}.avatar-large{width:64px;height:64px}.avatar-small{width:32px;height:32px;font-size:.9rem}.avatar-tiny{width:22px;height:22px;font-size:.7rem}img.avatar{object-fit:cover;background:var(--line)}.avatar-with-status{flex-shrink:0;display:inline-flex;position:relative}.avatar-with-status .presence{box-sizing:content-box;border:2px solid #fff;position:absolute;bottom:-1px;right:-1px}.site-header nav .username{align-items:center;gap:.45rem;display:inline-flex}.site-header nav .username .avatar{background:linear-gradient(160deg, #f0474c, var(--accent-dark))}.author-link{vertical-align:middle;align-items:center;gap:.3rem;font-weight:600;display:inline-flex}.avatar-editor{margin-top:.5rem}.avatar-row{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.avatar-row .avatar-editor{margin-top:0}.modal-backdrop{z-index:50;background:#0a0c1499;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.crop-dialog{gap:.75rem;width:min(440px,100%);display:grid}.crop-dialog h2,.crop-dialog p{margin:0}.crop-area{background:#111;border-radius:14px;height:min(340px,60vh);position:relative;overflow:hidden}.zoom-label{align-items:center;gap:.75rem;margin:0;display:flex}.zoom-label input{accent-color:var(--accent);flex:1;margin:0;padding:0}.friend-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.player-list{margin:0;padding:0;list-style:none}.player-list li{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1rem;padding:.6rem 0;display:flex}.player-list li:last-child{border-bottom:none}.player-link{color:var(--ink);align-items:center;gap:.6rem;font-weight:600;text-decoration:none;display:inline-flex}.player-link:hover{color:var(--accent-dark)}.search-label{margin:1rem 0 .5rem}.summary-card{padding:0;overflow:hidden}.duel-summary-card{overflow:clip}.duel-summary-card .duel-map-wrap{z-index:5;border-bottom:var(--outline-thin);position:sticky;top:76px;box-shadow:0 6px 12px #1b15301f}.duel-summary-card .duel-map-wrap:before{content:"";background:var(--panel);pointer-events:none;height:76px;position:absolute;bottom:100%;left:0;right:0}.duel-summary-card .summary-map{height:38vh;min-height:220px}@media (width<=640px){.duel-summary-card .duel-map-wrap{top:0}.duel-summary-card .duel-map-wrap:before{display:none}.duel-summary-card .summary-map{height:32vh;min-height:180px}}.summary-map-wrap{position:relative}.summary-map{background:#e5e3df;height:42vh;min-height:260px}.game-summary{gap:.5rem;padding:.9rem 1.1rem 1rem;display:grid}.game-summary .summary-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.25rem 1rem;display:flex}.game-summary .summary-head p{text-align:left;margin:0}.game-summary .summary-head .legend{margin:0}.game-summary .summary-score{align-items:center;gap:1rem;display:flex}.result-body.game-summary .summary-score h2{white-space:nowrap;margin:0;font-size:1.7rem}.game-summary .score-bar{flex:1;max-width:none;height:10px;margin:0}.game-summary .rounds-strip{gap:.4rem;margin:0}.game-summary .round-cell{border-radius:12px;gap:0;padding:.35rem .2rem}.game-summary .round-cell-score{font-size:1rem}.game-summary .round-cell-detail{font-size:.72rem}.game-summary .rounds-filter-hint{margin:0}.game-summary .button-row{margin-top:.15rem}.game-summary .button-row .btn{padding:.45rem 1.1rem;font-size:.9rem}@media (width<=600px){.result-body.game-summary .summary-score h2{font-size:1.4rem}.game-summary .summary-score{gap:.6rem}}.summary-map-error{color:var(--muted);text-align:center;place-items:center;margin:0;padding:1rem;display:grid;position:absolute;inset:0}.friends-panel{padding:1.25rem;position:sticky;top:5.5rem}.friends-panel.chat-open{flex-direction:column;height:min(640px,100vh - 6.5rem);padding:0;display:flex;overflow:hidden}.friends-panel h2{font-size:1.1rem}.panel-section+.panel-section{border-top:1px solid var(--line);margin-top:1.25rem;padding-top:1.25rem}.panel-list{margin:0 0 .5rem;padding:0;list-style:none}.panel-request{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;display:flex}.panel-friend{box-sizing:content-box;width:100%;font:inherit;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:.6rem;margin:0 -.6rem;padding:.5rem .6rem;font-weight:600;display:flex}.panel-friend:hover{background:var(--bg)}.panel-friend:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.panel-friend-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.panel-find{font-weight:600}.presence{background:#b9bcc6;border-radius:50%;flex-shrink:0;width:10px;height:10px;display:inline-block}.presence.online{background:#2e9d5b;box-shadow:0 0 0 3px #2e9d5b2e}.badge{background:var(--red);color:#fff;text-align:center;border:1.5px solid var(--brand-ink);border-radius:999px;min-width:1.4em;padding:0 .4em;font-size:.75rem;font-weight:700;line-height:1.4em;display:inline-block}.nav-badge{vertical-align:.1em;margin-left:.35rem}.btn .badge{margin-left:.3rem}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.chat-head{border-bottom:1px solid var(--line);align-items:center;gap:.6rem;padding:.75rem 1rem;display:flex}.chat-back{width:28px;height:28px;color:var(--ink);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0;font-size:1.5rem;line-height:1}.chat-back:hover{background:var(--bg)}.chat-name{min-width:0;color:var(--ink);text-overflow:ellipsis;flex:1;font-weight:700;text-decoration:none;overflow:hidden}.chat-name:hover{color:var(--accent-dark)}.chat-messages{background:#fffaf0;flex-direction:column;flex:1;gap:.5rem;min-height:0;padding:1rem;display:flex;overflow-y:auto}.chat-messages .load-more{margin:0 0 .5rem}.chat-empty{text-align:center;margin:auto}.chat-message{flex-direction:column;align-items:flex-start;max-width:85%;display:flex}.chat-message.mine{align-self:flex-end;align-items:flex-end}.chat-bubble{border:var(--outline-thin);white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border-radius:14px 14px 14px 4px;padding:.45rem .75rem}.chat-message.mine .chat-bubble{color:#fff;background:var(--brand-red);border-radius:14px 14px 4px}.chat-time{color:var(--muted);margin-top:.15rem;font-size:.7rem}.chat-error{padding:.4rem 1rem 0}.chat-form{border-top:1px solid var(--line);align-items:flex-end;gap:.5rem;padding:.75rem 1rem;display:flex}.chat-form textarea{resize:none;border:var(--outline-thin);min-width:0;font:inherit;background:#fff;border-radius:14px;flex:1;padding:.5rem .75rem}@media (width<=960px){.friends-panel{position:relative;top:auto}.friends-panel.chat-open{height:min(560px,75vh)}}.site-footer{text-align:center;justify-items:center;gap:.6rem;padding:1.5rem 1rem 2rem;font-size:.85rem;display:grid}.footer-credit{margin:0;font-weight:600}.footer-socials{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.social-icon{display:inline-flex}.social-icon svg{width:18px;height:18px}.prose h2{margin-top:1.5rem;font-size:1.15rem}.prose ul{padding-left:1.25rem}.prose li{margin-bottom:.4rem}.map-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.map-card{flex-direction:column;gap:.35rem;padding:1.25rem;transition:transform .18s,box-shadow .18s;display:flex}.map-card:hover{box-shadow:6px 8px 0 var(--brand-ink);transform:translate(-1px,-2px)}.map-card-title{overflow-wrap:anywhere;margin:0;font-size:1.1rem}.map-card-byline{color:var(--muted);margin:0;font-size:.85rem}.map-card-desc{overflow-wrap:anywhere;white-space:pre-line;margin:.25rem 0;font-size:.9rem}.map-card-stats{margin:auto 0 0;padding-top:.25rem}.map-card-actions{gap:.5rem;margin-top:.5rem;display:flex}.official-badge{background:var(--accent);color:#fff;border:1.5px solid var(--brand-ink);border-radius:999px;padding:0 .5em;font-size:.75rem;font-weight:700;display:inline-block}.center{text-align:center}.map-form textarea{border:var(--outline-thin);width:100%;font:inherit;resize:vertical;background:#fff;border-radius:14px;margin-top:.3rem;padding:.6rem .75rem;display:block}.map-form input[type=file]{padding:.5rem}.map-form .field-hint code{white-space:nowrap;margin:.3rem 0;padding:.3rem .5rem;display:block;overflow-x:auto}.button-row.left{flex-wrap:wrap;justify-content:flex-start}.btn-danger{color:var(--red-dark);border-color:#f2c4ca}.btn-danger:hover{background-color:#fde2e4d9}.account-menu{position:relative}.account-button{border:none;border-left:1px solid var(--line);color:var(--ink);font:inherit;cursor:pointer;opacity:.85;background:0 0;align-items:center;gap:.45rem;margin-left:.5rem;padding:.25rem .25rem .25rem 1rem;font-weight:600;display:inline-flex}.account-button:hover,.account-button[aria-expanded=true]{opacity:1}.account-button .avatar{background:linear-gradient(160deg, #f0474c, var(--accent-dark))}.account-button .caret{opacity:.7;font-size:.7rem}.account-dropdown{z-index:30;background:var(--panel);border:var(--outline);min-width:170px;box-shadow:var(--drop);border-radius:18px;padding:.4rem;display:grid;position:absolute;top:calc(100% + 8px);right:0}.account-dropdown:before{content:"";height:10px;position:absolute;top:-10px;left:0;right:0}.account-dropdown a,.account-dropdown button{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;padding:.5rem .75rem;font-weight:600;text-decoration:none;display:block;color:var(--ink)!important;opacity:1!important;box-shadow:none!important}.account-dropdown .logout-button{border:var(--outline-thin);text-align:center;background:#fff;border-radius:999px;width:calc(100% - .5rem);margin:.6rem .25rem .3rem;padding:.45rem .75rem;font-weight:800;position:relative;color:var(--red-dark)!important;box-shadow:var(--drop-small)!important}.account-dropdown .logout-button:before{content:"";border-top:1px solid var(--line);position:absolute;top:calc(-.35rem - 2px);left:-.25rem;right:-.25rem}.account-dropdown .logout-button:hover,.account-dropdown .logout-button:focus-visible{background:#ffd9da;transform:translateY(-1px);box-shadow:0 4px 0 var(--brand-ink)!important}.account-dropdown .logout-button:active{transform:translateY(3px);box-shadow:none!important}.account-dropdown a:hover,.account-dropdown button:hover,.account-dropdown a:focus-visible,.account-dropdown button:focus-visible{background:var(--bg);outline:none}.settings-section h2{margin-bottom:.25rem}.language-switch{flex-wrap:wrap;gap:.5rem;display:inline-flex}.pause-settings{border-top:1px solid var(--line);justify-items:center;gap:.5rem;margin-top:.5rem;padding-top:.75rem;display:grid}.pause-settings-label{color:var(--muted);font-size:.85rem;font-weight:600}.pause-card .language-switch .btn{width:auto}.map-card-title a{color:inherit;text-decoration:none}.map-card-link:after{content:"";z-index:1;border-radius:inherit;position:absolute;inset:0}.map-card .author-link,.map-card-actions{z-index:2;position:relative}.map-card:hover .map-card-title a{color:var(--accent-dark)}.map-card-link:focus-visible{outline:none}.map-card:has(.map-card-link:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.map-page-head{gap:.5rem;display:grid}.map-page-head h1{overflow-wrap:anywhere;margin:0}.map-page-head .map-card-desc{margin:.25rem 0 .5rem}.map-stats{grid-template-columns:repeat(3,minmax(0,1fr));margin:.5rem 0}.like-button.liked{color:var(--red);border-color:#f2c4ca}.leaderboard td{vertical-align:middle}.leaderboard .rank{width:2.5rem;font-weight:700}.leaderboard .top-1 .rank{color:#c99a06}.leaderboard .top-2 .rank{color:#8a94a6}.leaderboard .top-3 .rank{color:#b0703a}@media (width<=600px){.hide-narrow{display:none}.map-stats{gap:.5rem}.map-stats .stat{padding:.6rem}}.hero .btn-play{margin-bottom:.25rem}.home-maps{gap:.75rem;display:grid}.home-maps .card-heading,.home-maps h2{margin:0}.home-maps-links{align-items:center;gap:1rem;display:flex}.home-maps .load-more{margin-top:.25rem}.map-card.official{background:#ffe9a8}.home-maps>.card-heading{border-radius:999px;align-items:center;padding:.7rem .85rem .7rem 1.25rem}.target-flag{width:44px;height:51px;position:relative}.target-flag svg{width:44px;height:51px;display:block;transform:translateY(7%)}.target-flag text{fill:var(--brand-ink);font-family:inherit;font-size:56px;font-weight:800}.rounds-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:.5rem;margin:1rem 0;padding:0;list-style:none;display:grid}.round-cell{border:var(--outline-thin);text-align:center;background:#fff;border-radius:14px;flex-direction:column;align-items:center;gap:.15rem;padding:.6rem .25rem;display:flex}button.round-cell{width:100%;height:100%;font:inherit;color:inherit;cursor:pointer;box-shadow:var(--drop-small);transition:transform .12s,box-shadow .12s,opacity .12s}button.round-cell:hover{background:var(--bg);box-shadow:0 4px 0 var(--brand-ink);transform:translateY(-1px)}button.round-cell:active{box-shadow:none;transform:translateY(3px)}button.round-cell:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button.round-cell.selected{background:var(--brand-gold)}.rounds-strip.filtering button.round-cell:not(.selected){opacity:.5}.rounds-strip>li{display:flex}.rounds-strip .round-cell{box-sizing:border-box;width:100%}.rounds-filter-hint{text-align:center;margin:-.5rem 0 .75rem}.round-cell-title{color:var(--muted);font-size:.75rem;font-weight:600}.round-cell-score{font-size:1.1rem;font-weight:700}.round-cell-detail{color:var(--muted);white-space:nowrap;font-size:.8rem}.narrow-only{display:none}@media (width<=560px){.rounds-strip{gap:.25rem}.round-cell{padding:.45rem 0}.round-cell-score{font-size:.9rem}.round-cell-detail{letter-spacing:-.02em;font-size:.7rem}.round-cell .wide-only{display:none}.round-cell .narrow-only{display:inline}}.start-dialog{gap:1rem;width:min(460px,100%);display:grid}.start-dialog h2,.start-dialog p{margin:0}.option-group{border:none;gap:.5rem;margin:0;padding:0;display:grid}.option-group legend{margin-bottom:.5rem;padding:0;font-size:.9rem;font-weight:700}.mode-options{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.mode-option{cursor:pointer;border:var(--outline-thin);background:#fff;border-radius:16px;gap:.2rem;padding:.75rem .85rem;display:grid}.mode-option.selected,.time-option.selected{background:var(--brand-gold);box-shadow:var(--drop-small)}.mode-option input,.time-option input{opacity:0;pointer-events:none;position:absolute}:is(.mode-option:has(input:focus-visible),.time-option:has(input:focus-visible)){outline:2px solid var(--accent);outline-offset:2px}.mode-name{font-weight:700}.mode-desc{color:var(--muted);font-size:.8rem}.time-options{flex-wrap:wrap;gap:.4rem;display:flex}.time-slider{margin:0}.time-slider-head{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.9rem;font-weight:700;display:flex}.time-slider-head strong{font-size:1.25rem;font-weight:800}.time-slider-ends{justify-content:space-between;margin-top:.55rem;font-weight:600;display:flex}.time-slider input[type=range]{appearance:none;border:var(--outline-thin);cursor:pointer;background:#fff;border-radius:999px;width:100%;height:14px;margin:.6rem 0 .2rem;padding:0;display:block}.time-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;border:var(--outline-thin);background:var(--brand-gold);width:26px;height:26px;box-shadow:0 2px 0 var(--brand-ink);border-radius:50%}.time-slider input[type=range]::-moz-range-thumb{border:var(--outline-thin);background:var(--brand-gold);width:22px;height:22px;box-shadow:0 2px 0 var(--brand-ink);border-radius:50%}.time-slider input[type=range]:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.time-option{cursor:pointer;border:var(--outline-thin);background:#fff;border-radius:999px;padding:.35rem .8rem;font-size:.9rem;position:relative}.start-dialog .button-row{justify-content:flex-end;margin:0}@media (width<=420px){.mode-options{grid-template-columns:1fr}}.pano{isolation:isolate}.pano-blocker{z-index:1;position:absolute;inset:0}.hud-mode{letter-spacing:.04em;background:#ffffff2e;border-radius:999px;padding:.05rem .45rem;font-size:.7rem;font-weight:700}.target-flag.clickable{cursor:pointer;transform-origin:50% 100%;transition:transform .12s}.target-flag.clickable:hover{transform:scale(1.12)}.board-tabs{border:var(--outline-thin);background:#fff;border-radius:999px;gap:3px;padding:3px;display:inline-flex}.board-tab{cursor:pointer;font:inherit;color:var(--muted);background:0 0;border:none;border-radius:999px;padding:.3rem .9rem;font-size:.85rem;font-weight:600}.board-tab.selected{background:var(--brand-gold);color:var(--brand-ink);box-shadow:inset 0 0 0 2px var(--brand-ink)}.board-tab:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.mobile-guess-bar,.map-close{display:none}@media (hover:none){.guess-panel:not(.open){visibility:hidden;pointer-events:none}.mobile-guess-bar:not([hidden]){right:16px;bottom:calc(20px + var(--ad-h));z-index:5;gap:8px;display:flex;position:fixed}.mobile-guess-bar .btn{border-radius:999px;padding:.7rem 1.2rem}.map-open,.map-open:hover{background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);box-shadow:var(--glass-dark-shine)}.map-close{z-index:1;background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);width:34px;height:34px;box-shadow:var(--glass-dark-shine);border-radius:10px;place-items:center;padding:0;display:grid;position:absolute;top:10px;right:10px}.map-close svg{fill:none;stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;width:16px;height:16px}}@media (hover:none) and (width<=600px){.compass-rose{bottom:calc(24px + var(--ad-h))}.menu-button{bottom:calc(100px + var(--ad-h))}}.hud-map-name{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:220px;display:inline-block;overflow:hidden}.solo-clock{z-index:6;position:fixed;top:60px;left:50%;transform:translate(-50%)}@media (width<=1200px){.solo-clock{top:108px}}body.hud-compact .hud{top:60px;left:50%;transform:translate(-50%)}body.hud-compact .hud-brand{display:none}body.hud-compact .solo-clock{top:108px}@media (width<=600px){.hud .hud-map{display:none}}.guess-panel.away{visibility:hidden;pointer-events:none}.duel-home{z-index:6;background:var(--glass-dark);border:2px solid var(--glass-dark-edge);width:44px;height:44px;box-shadow:var(--glass-dark-shine);border-radius:50%;place-items:center;display:grid;position:fixed;top:16px;left:16px}.duel-home img{height:31px;transform:translateY(1px)}.duel-hud{z-index:11;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:.6rem;width:min(820px,100vw - 140px);display:grid;position:fixed;top:60px;left:50%;transform:translate(-50%)}.duel-player{background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);min-width:0;box-shadow:var(--glass-dark-shine);border-radius:20px;align-items:center;gap:.65rem;padding:.5rem .8rem;display:flex}.duel-player.mirrored{flex-direction:row-reverse}.duel-player .duel-avatar{border:2px solid var(--brand-gold);flex-shrink:0;width:42px;height:42px;font-size:1.1rem}.duel-player.you .duel-avatar{border-color:#fff}.duel-player .avatar-frame{--d:42px}.duel-player[data-team],.duel-player[data-team] .duel-avatar,.duel-player.you[data-team] .duel-avatar{border-color:var(--team-color)}.duel-team-players .avatar,.duel-avatars .avatar{box-shadow:0 0 0 3px var(--team-color,transparent)}.team-dot{border:2px solid var(--brand-ink);vertical-align:-.05em;border-radius:50%;width:.7em;height:.7em;margin-right:.35em;display:inline-block}.duel-avatars{flex-shrink:0;display:flex}.duel-player.mirrored .duel-avatars{flex-direction:row-reverse}.duel-avatar-wrap{display:inline-flex;position:relative}.duel-player.team .duel-avatar-wrap+.duel-avatar-wrap{margin-left:-12px}.duel-player.team.mirrored .duel-avatar-wrap+.duel-avatar-wrap{margin-left:0;margin-right:-12px}.duel-avatar-wrap.left{filter:grayscale();opacity:.5}.duel-player.team{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"avatars name""hp hp";align-items:center;gap:.4rem .6rem;display:grid}.duel-player.team.mirrored{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name avatars""hp hp"}.duel-player.team .duel-avatars{grid-area:avatars}.duel-player.team .duel-player-main{display:contents}.duel-player.team .duel-player-name{grid-area:name}.duel-player.team .hp{grid-area:hp}.duel-avatar-more{box-sizing:border-box;background:var(--team-color,var(--brand-gold));color:#fff;box-shadow:0 0 0 3px var(--team-color,transparent);border-radius:50%;place-items:center;font-size:.9rem;font-weight:900;display:inline-grid}.duel-tick{color:#fff;border:2px solid var(--brand-ink);background:#3ccf6e;border-radius:50%;place-items:center;width:17px;height:17px;font-size:.65rem;font-weight:900;display:grid;position:absolute;bottom:-3px;right:-3px}.duel-player-main{flex:1;gap:.3rem;min-width:0;display:grid}.duel-player-name{align-items:center;gap:.4rem;min-width:0;font-weight:800;display:flex}.duel-player.mirrored .duel-player-name{flex-direction:row-reverse}.duel-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.duel-status{color:var(--brand-ink);white-space:nowrap;background:#3ccf6e;border-radius:999px;padding:.05rem .45rem;font-size:.68rem;font-weight:800}.mult-chip{font-variant-numeric:tabular-nums;color:inherit;background:#ffffff29;border-radius:999px;flex-shrink:0;padding:.05rem .45rem;font-size:.75rem;font-weight:800}.mult-chip.hot{background:var(--brand-gold);color:var(--brand-ink);box-shadow:inset 0 0 0 2px var(--brand-ink)}.duel-player.team .mult-chip{padding:.15rem .75rem;font-size:1.15rem}@media (width<=600px){.duel-player.team .mult-chip{padding:.1rem .55rem;font-size:.95rem}}.duel-team-count{display:none}@media (width<=600px){.duel-player.team .duel-avatars{display:none}.duel-player.team .duel-team-count{white-space:nowrap;background:var(--team-color);color:#fff;box-shadow:inset 0 0 0 2px var(--brand-ink);border-radius:999px;grid-area:avatars;align-items:center;gap:.2rem;padding:.1rem .5rem;font-size:.85rem;font-weight:800;display:inline-flex}}.hp{align-items:center;gap:.35rem;display:flex;position:relative}.hp.mirrored{flex-direction:row-reverse}.hp-heart{width:20px;height:20px;fill:var(--brand-red);stroke:var(--brand-ink);stroke-width:2px;flex-shrink:0}.hp[data-level=low] .hp-heart{animation:.8s ease-in-out infinite heartbeat}.hp-track{border:2px solid var(--brand-ink);height:20px;box-shadow:0 0 0 2px var(--brand-gold);background:#1b15308c;border-radius:999px;flex:1;position:relative;overflow:hidden}.hp-fill,.hp-ghost{position:absolute;top:0;bottom:0;left:0}.hp.mirrored :is(.hp-fill,.hp-ghost){left:auto;right:0}.hp-ghost{background:#fff6e0bf;transition:width .6s}.hp-fill{background:linear-gradient(#6fe08f 0%,#2fb862 55%,#23984f 100%);transition:width .45s cubic-bezier(.3,.7,.4,1);box-shadow:inset 0 3px #ffffff4d}.hp[data-level=mid] .hp-fill{background:linear-gradient(180deg, #ffe07a 0%, var(--brand-gold) 55%, #e0a400 100%)}.hp[data-level=low] .hp-fill{background:linear-gradient(180deg, #ff7a80 0%, var(--brand-red) 55%, #b81d22 100%)}.hp-value{font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 0 var(--brand-ink), 1px 0 0 var(--brand-ink), -1px 0 0 var(--brand-ink), 0 -1px 0 var(--brand-ink);place-items:center;font-size:.78rem;font-weight:900;display:grid;position:absolute;inset:0}.hp-hit{z-index:2;pointer-events:none;white-space:nowrap;color:#ff4d5a;-webkit-text-stroke:.08em var(--brand-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--brand-ink);font-size:2rem;font-weight:900;line-height:1;animation:2.2s cubic-bezier(.2,1.3,.4,1) forwards damage-float;position:absolute;top:60%;right:10%}.hp.mirrored .hp-hit{left:10%;right:auto}@keyframes damage-float{0%{opacity:0;transform:translateY(-6px)scale(.5)}12%{opacity:1;transform:translateY(10px)scale(1.35)}30%{transform:translateY(16px)scale(1)}75%{opacity:1}to{opacity:0;transform:translateY(46px)scale(.95)}}.hp.hit .hp-track{animation:.6s cubic-bezier(.36,.07,.19,.97) both hp-shake}.hp.hit .hp-track:after{content:"";border-radius:inherit;pointer-events:none;background:#ff3c46bf;animation:.6s ease-out forwards hp-flash;position:absolute;inset:0}@keyframes hp-shake{10%,90%{transform:translate(-2px)}20%,80%{transform:translate(4px)}30%,50%,70%{transform:translate(-7px)rotate(-1deg)}40%,60%{transform:translate(7px)rotate(1deg)}}@keyframes hp-flash{0%{opacity:1}to{opacity:0}}@keyframes heartbeat{50%{transform:scale(1.18)}}.round-clock{background:var(--glass-dark);color:#fff;border:2px solid var(--glass-dark-edge);min-width:5.5rem;box-shadow:var(--glass-dark-shine);border-radius:18px;justify-items:center;padding:.45rem .9rem;display:grid}.round-clock-time{font-variant-numeric:tabular-nums;font-size:1.7rem;font-weight:900;line-height:1.1}.round-clock.urgent .round-clock-time{color:#ff6b7d;animation:1s ease-in-out infinite pulse}.round-clock.urgent{animation:1s ease-in-out infinite clock-flash}@keyframes clock-flash{50%{box-shadow:var(--glass-dark-shine), 0 0 0 3px #ff3b4e73, 0 0 18px #ff3b4eb3;border-color:#ff3b4e}}.time-warning{inset:0 0 var(--ad-h) 0;z-index:4;pointer-events:none;animation:1s ease-in-out infinite time-warning;position:fixed;box-shadow:inset 0 0 90px 24px #ff283c8c}.time-warning.critical{animation-duration:.5s;box-shadow:inset 0 0 120px 36px #ff1e32b3}@keyframes time-warning{0%,to{opacity:.25}50%{opacity:1}}.clash{z-index:12;pointer-events:none;position:fixed;inset:0}.clash-score,.clash-damage{white-space:nowrap;justify-items:center;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 10px))}.clash-score{font-variant-numeric:tabular-nums;color:#fff;-webkit-text-stroke:.08em var(--brand-ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--brand-ink);font-size:2.6rem;font-weight:900;line-height:1;animation:.45s cubic-bezier(.2,1.5,.4,1) backwards clash-score-in}@keyframes clash-score-in{0%{opacity:0;transform:translate(-50%,calc(-100% - 40px))scale(.4)}}.clash-burst{background:radial-gradient(circle,#fff 0%,#ffdf78f2 30%,#ff8c3c80 55%,#0000 72%);border-radius:50%;width:150px;height:150px;margin:-95px 0 0 -75px;animation:.5s ease-out both clash-burst;position:absolute}@keyframes clash-burst{0%{opacity:0;transform:scale(.2)}25%{opacity:1}to{opacity:0;transform:scale(1.8)}}.clash-damage{gap:.2rem;transition:transform .55s cubic-bezier(.55,0,.8,.2),opacity .55s ease-in;animation:.5s cubic-bezier(.2,1.5,.4,1) backwards clash-pop}.clash-damage strong{font-variant-numeric:tabular-nums;color:#ff4d5a;-webkit-text-stroke:.07em var(--brand-ink);paint-order:stroke fill;text-shadow:0 4px 0 var(--brand-ink);font-size:3.4rem;font-weight:900;line-height:1}.clash-damage.none strong{color:#fff}.clash-damage small{background:var(--brand-gold);color:var(--brand-ink);box-shadow:inset 0 0 0 2px var(--brand-ink);border-radius:999px;padding:.05rem .6rem;font-size:.9rem;font-weight:900}.clash-damage.fade{opacity:0;transform:translate(-50%,calc(-100% - 40px))}.clash-mult{white-space:nowrap;background:var(--brand-gold);color:var(--brand-ink);border:var(--outline);border-radius:999px;padding:.1rem .7rem;font-size:1.6rem;font-weight:900;line-height:1.2;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 4px #ffc52e73,0 0 22px 6px #ffc52eb3}.clash-damage.boosted strong{animation:.45s cubic-bezier(.2,1.6,.4,1) clash-boost}@keyframes clash-boost{40%{filter:drop-shadow(0 0 12px #ffc52ee6);transform:scale(1.45)}}@keyframes clash-pop{0%{opacity:0;transform:translate(-50%,calc(-100% - 10px))scale(.3)}60%{opacity:1;transform:translate(-50%,calc(-100% - 10px))scale(1.3)}to{opacity:1;transform:translate(-50%,calc(-100% - 10px))scale(1)}}@media (prefers-reduced-motion:reduce){.clash-score,.clash-damage,.clash-burst,.clash-damage.boosted strong{transition:none;animation:none}}.overlay.leaving{pointer-events:none;animation:.7s forwards overlay-leave}@keyframes overlay-leave{to{opacity:0;transform:scale(1.04)}}@media (prefers-reduced-motion:reduce){.overlay.leaving{animation-duration:10ms}}:is(.hud,.duel-hud,.round-clock,.mobile-guess-bar,.compass-bar,.compass-rose,.menu-button,.hud-home,.duel-banner,.time-warning,.big-countdown){transition:opacity .15s}body.ui-hidden :is(.hud,.duel-hud,.round-clock,.guess-panel,.mobile-guess-bar,.compass-bar,.compass-rose,.menu-button,.hud-home,.duel-banner,.time-warning,.big-countdown){opacity:0!important;pointer-events:none!important}.big-countdown{inset:0 0 var(--ad-h) 0;z-index:11;pointer-events:none;place-items:center;display:grid;position:fixed}.big-countdown span{font-variant-numeric:tabular-nums;-webkit-text-stroke:.06em var(--brand-ink);paint-order:stroke fill;text-shadow:.05em .07em 0 var(--brand-ink), 0 0 .4em #00000059;font-size:clamp(7rem,24vmin,15rem);font-weight:900;line-height:1;animation:1s cubic-bezier(.2,1.4,.4,1) both big-count}.big-countdown.upper{align-items:start;padding-top:max(120px,14vh)}.big-countdown.urgent span{color:var(--brand-red)}.big-countdown.go span{color:var(--brand-gold)}@keyframes big-count{0%{opacity:0;transform:scale(1.9)}18%{opacity:1;transform:scale(1)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.85)}}@media (prefers-reduced-motion:reduce){.big-countdown span{animation:none}}@keyframes pulse{50%{transform:scale(1.08)}}.duel-banner{z-index:6;white-space:nowrap;background:var(--panel);color:var(--ink);border:var(--outline);box-shadow:var(--drop-small);border-radius:999px;padding:.5rem 1.2rem;font-weight:800;position:fixed;top:150px;left:50%;transform:translate(-50%)}.duel-hud .duel-banner{grid-column:1/-1;justify-self:center;margin-top:.3rem;position:static;transform:none}.duel-hud .duel-banner.urgent{animation-name:banner-pulse-here}@keyframes banner-pulse-here{50%{transform:scale(1.05)}}.duel-banner.urgent{background:var(--brand-red);color:#fff;animation:1s ease-in-out infinite banner-pulse}@keyframes banner-pulse{50%{transform:translate(-50%)scale(1.05)}}.duel-page .overlay{padding-top:140px}.duel-page .result-card{max-height:calc(100vh - 140px - 1rem - var(--ad-h))}.duel-page .outcome-splash,.duel-page .pause-overlay{padding-top:1rem}.duel-intro{text-align:center;width:min(480px,100%);color:var(--ink);gap:.75rem;display:grid}.duel-intro-overlay{justify-content:flex-end;padding-bottom:max(1.5rem,5vh)}.duel-intro p{margin:0}.duel-intro-title,.outcome-title{--o:var(--brand-ink);letter-spacing:.04em;text-shadow:-2px -2px 0 var(--o), 0 -2px 0 var(--o), 2px -2px 0 var(--o), 2px 0 0 var(--o), 2px 2px 0 var(--o), 0 2px 0 var(--o), -2px 2px 0 var(--o), -2px 0 0 var(--o), 4px 5px 0 var(--o);font-weight:900;line-height:1.1}.duel-intro-title{color:var(--brand-red);font-size:3rem;animation:.5s cubic-bezier(.2,1.6,.4,1) .15s both slam-in}.duel-intro-found{color:var(--brand-ink);background:var(--brand-gold);border:var(--outline-thin);box-shadow:var(--drop-small);border-radius:999px;justify-self:center;padding:.2rem .9rem;font-size:.95rem;font-weight:900;animation:.5s cubic-bezier(.2,1.6,.4,1) both found-drop}@keyframes found-drop{0%{opacity:0;transform:translateY(-24px)scale(.6)}}.duel-versus-player.from-left{animation:.55s cubic-bezier(.2,1.3,.4,1) .35s both rush-left}.duel-versus-player.from-right{animation:.55s cubic-bezier(.2,1.3,.4,1) .35s both rush-right}@keyframes rush-left{0%{opacity:0;transform:translate(-160px)rotate(-12deg)}}@keyframes rush-right{0%{opacity:0;transform:translate(160px)rotate(12deg)}}.duel-vs{animation:.45s cubic-bezier(.2,1.8,.4,1) .85s both vs-slam}@keyframes vs-slam{0%{opacity:0;transform:scale(3)rotate(-20deg)}}.duel-resume{flex-direction:column;gap:.25rem}.duel-resume-note{color:var(--accent-dark);align-items:center;gap:.4rem;font-size:.85rem;font-weight:700;display:inline-flex}.duel-live-dot{background:var(--brand-red);border-radius:50%;width:9px;height:9px;animation:1.2s ease-in-out infinite pulse}@media (prefers-reduced-motion:reduce){.duel-live-dot{animation:none}}.duel-found{color:var(--accent-dark);font-size:1.15rem;font-weight:900;animation:.4s cubic-bezier(.2,1.6,.4,1) both found-drop}.duel-found-icon{font-size:1.6rem;animation:.6s ease-in-out infinite clash;display:inline-block}@keyframes clash{50%{transform:rotate(-15deg)scale(1.2)}}.duel-versus{justify-content:center;align-items:flex-start;gap:1.25rem;display:flex}.duel-intro.crowded,.duel-intro.packed{gap:.5rem;width:min(560px,100%)}.duel-intro.crowded .duel-intro-title,.duel-intro.packed .duel-intro-title{font-size:2.1rem}.duel-intro.crowded .duel-versus,.duel-intro.packed .duel-versus{align-items:center;gap:1rem}.duel-intro.crowded .duel-versus-player,.duel-intro.packed .duel-versus-player{flex:1;min-width:0}.duel-intro.crowded .duel-team-players{flex-flow:column;align-items:stretch;gap:.3rem}.duel-intro.crowded .duel-team-player{grid-auto-flow:column;justify-content:start;align-items:center;gap:.45rem}.duel-intro.crowded .from-right .duel-team-player{direction:rtl;grid-auto-flow:column dense;justify-content:end}.duel-intro.crowded .duel-team-player strong{text-overflow:ellipsis;white-space:nowrap;direction:ltr;font-size:.9rem;overflow:hidden}.duel-intro.packed .duel-team-players{gap:.4rem}.intro-more{background:var(--team-color);color:#fff;cursor:help;border:var(--outline-thin);border-radius:50%;place-items:center;width:32px;height:32px;font-size:.75rem;font-weight:900;display:grid}.duel-intro{max-height:calc(100vh - 2rem - var(--ad-h,0px));overflow-y:auto}.duel-intro.crowded .duel-vs,.duel-intro.packed .duel-vs{margin-top:0}.duel-versus-player{justify-items:center;gap:.4rem;display:grid;position:relative}.duel-versus:has(.avatar-frame) .duel-vs{margin-top:calc(42px - .6em)}.duel-versus-player .avatar{border:var(--outline);box-shadow:var(--drop-small)}.duel-vs{z-index:5;pointer-events:none;font-kerning:none;letter-spacing:.08em;color:var(--brand-gold);-webkit-text-stroke:.14em var(--brand-ink);paint-order:stroke fill;text-shadow:.08em .12em 0 var(--brand-ink);flex-shrink:0;margin:calc(15px - .6em) -.7em 0;padding:.8em 1em;font-size:1.3rem;font-weight:900;line-height:1;position:relative}.mult-wrap{flex-shrink:0;display:inline-flex;position:relative}.mult-chip.bump{animation:.9s cubic-bezier(.2,1.4,.4,1) both mult-pop}@keyframes mult-pop{0%{transform:scale(1)}25%{box-shadow:inset 0 0 0 2px var(--brand-ink), 0 0 0 6px #ffc52e99, 0 0 18px 6px #ffc52ecc;transform:scale(1.7)rotate(-8deg)}60%{transform:scale(.95)rotate(3deg)}to{transform:scale(1)}}.mult-up{z-index:2;pointer-events:none;white-space:nowrap;color:var(--brand-gold);-webkit-text-stroke:.08em var(--brand-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--brand-ink);font-size:1.5rem;font-weight:900;line-height:1;animation:2.2s cubic-bezier(.2,1.3,.4,1) forwards mult-float;position:absolute;bottom:100%;left:50%}@keyframes mult-float{0%{opacity:0;transform:translate(-50%,12px)scale(.5)}15%{opacity:1;transform:translate(-50%,-6px)scale(1.4)}35%{transform:translate(-50%,-12px)scale(1)}75%{opacity:1}to{opacity:0;transform:translate(-50%,-42px)scale(.95)}}.mult-boost{border:var(--outline-thin);width:fit-content;box-shadow:var(--drop-small);background:#ffe9a8;border-radius:999px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;padding:.4rem .9rem;font-weight:800;animation:.6s cubic-bezier(.2,1.5,.4,1) .3s both boost-in;display:flex;margin:.6rem auto!important}.mult-boost-change{align-items:center;gap:.35rem;display:inline-flex}.mult-boost .mult-chip{box-shadow:inset 0 0 0 2px var(--brand-ink);background:#fff;padding:.1rem .55rem;font-size:.95rem}.mult-boost .mult-chip.hot{background:var(--brand-gold)}.mult-boost .mult-chip.bump{animation-delay:.7s}@keyframes boost-in{0%{opacity:0;transform:scale(.6)}}.duel-player{position:relative}.duel-player.ko>:not(.ko-stamp){filter:grayscale(.85);opacity:.8}.ko-stamp{pointer-events:none;color:#fff;background:var(--brand-red);box-shadow:0 0 0 3px var(--brand-ink);border:3px solid #fff;border-radius:10px;padding:.05rem .6rem;font-size:1.5rem;font-weight:900;animation:.45s cubic-bezier(.2,1.6,.4,1) .4s both stamp;position:absolute;top:50%;left:50%}@keyframes stamp{0%{opacity:0;transform:translate(-50%,-50%)rotate(-14deg)scale(3)}to{opacity:1;transform:translate(-50%,-50%)rotate(-14deg)scale(1)}}@keyframes slam-in{0%{opacity:0;transform:scale(2.4)}}.outcome-splash{z-index:12;text-align:center;color:#fff;background:radial-gradient(circle at 50% 40%,#ffc52e59,#0a0c14e0 60%);animation:.3s .2s both fade-in;overflow:hidden}.outcome-splash.loss{background:radial-gradient(circle at 50% 40%,#a91b2e66,#06060ceb 60%)}.outcome-splash.draw{background:#0a0c14d9}@keyframes fade-in{0%{opacity:0}}.outcome-content{z-index:1;justify-items:center;gap:.75rem;width:min(520px,100%);max-height:100%;display:grid;position:relative;overflow-y:auto}.outcome-avatars{flex-wrap:wrap;justify-content:center;gap:.3rem}.outcome-icon{filter:drop-shadow(0 6px #00000059);font-size:5rem;line-height:1}.win .outcome-icon{animation:1s cubic-bezier(.2,1.5,.4,1) .4s both trophy}.loss .outcome-icon{animation:1.2s ease-in .4s both heartbreak}.draw .outcome-icon{animation:.6s cubic-bezier(.2,1.5,.4,1) .4s both slam-in}@keyframes trophy{0%{opacity:0;transform:translateY(60px)scale(.3)rotate(-30deg)}70%{transform:translateY(-10px)scale(1.15)rotate(8deg)}to{opacity:1;transform:none}}@keyframes heartbreak{0%{opacity:0;transform:scale(1.6)}30%{opacity:1;transform:scale(1)}45%,65%{transform:translate(-6px)rotate(-6deg)}55%,75%{transform:translate(6px)rotate(6deg)}to{opacity:1;transform:translateY(8px)rotate(0)}}.outcome-title{margin:0;font-size:clamp(3rem,12vw,5.5rem)}.win .outcome-title{color:var(--brand-gold);animation:.55s cubic-bezier(.2,1.6,.4,1) .55s both slam-in,1.6s ease-in-out 1.2s infinite glow}.loss .outcome-title{color:#c9c4d6;animation:.9s ease-out .55s both drop-shake}.draw .outcome-title{color:#fff;animation:.55s cubic-bezier(.2,1.6,.4,1) .55s both slam-in}@keyframes glow{50%{filter:drop-shadow(0 0 18px #ffc52ee6)}}@keyframes drop-shake{0%{opacity:0;transform:translateY(-80px)}45%{opacity:1;transform:translateY(0)}55%,75%{transform:translate(-10px)}65%,85%{transform:translate(10px)}to{transform:none}}.outcome-reason{opacity:.9;margin:0;font-size:1.15rem;font-weight:700;animation:.5s 1s both fade-in}.outcome-players{grid-template-columns:1fr 1fr;gap:1rem;width:100%;margin:.5rem 0;animation:.5s 1.2s both fade-in;display:grid}.outcome-player{background:var(--glass-dark);border:2px solid #ffffff40;border-radius:18px;justify-items:center;gap:.35rem;padding:.75rem;font-weight:800;display:grid}.outcome-player.winner{border-color:var(--brand-gold);box-shadow:0 0 22px #ffc52e8c}.outcome-player .hp{width:100%}.outcome-splash .btn-play{animation:.5s 1.5s both fade-in}.outcome-rays{background:repeating-conic-gradient(#ffc52e29 0deg 10deg,#0000 10deg 20deg);width:220vmax;height:220vmax;margin:-110vmax 0 0 -110vmax;animation:1s .4s both fade-in,40s linear infinite spin;position:absolute;top:40%;left:50%}.confetti{pointer-events:none;position:absolute;inset:0}.confetti span{border:1.5px solid var(--brand-ink);border-radius:2px;width:10px;height:16px;animation-name:confetti-fall;animation-timing-function:linear;animation-fill-mode:both;position:absolute;top:-20px}.confetti span:nth-child(3n){border-radius:50%;width:8px;height:8px}@keyframes confetti-fall{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--drift), 110vh) rotate(var(--spin));opacity:.9}}.duel-map-wrap{position:relative}.duel-round-stepper{z-index:1;white-space:nowrap;font-variant-numeric:tabular-nums;background:var(--panel);border:var(--outline-thin);box-shadow:var(--drop-small);border-radius:999px;align-items:center;gap:.5rem;padding:.25rem;font-weight:800;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.duel-round-stepper span{padding:0 .4rem}.duel-round-stepper button{cursor:pointer;width:34px;height:34px;color:var(--ink);background:var(--brand-gold);border:var(--outline-thin);border-radius:50%;flex-shrink:0;place-items:center;padding:0;display:grid}.duel-round-stepper button:disabled{opacity:.35;cursor:default}.duel-table tbody tr.selected{box-shadow:inset 4px 0 0 var(--brand-red)}.duel-round-players{grid-template-columns:1fr 1fr;gap:.75rem;max-width:520px;margin:.5rem auto;display:grid}.duel-round-player{border:var(--outline-thin);background:#fff;border-radius:16px;justify-items:center;gap:.15rem;padding:.75rem;display:grid}.duel-round-player.winner{box-shadow:var(--drop-small);background:#ffe9a8}.duel-round-team{align-content:start;gap:.35rem;display:grid}.duel-round-player.not-counted{opacity:.55;border-style:dashed}.duel-round-name{font-weight:700}.duel-round-score{font-variant-numeric:tabular-nums;font-size:1.6rem}.duel-damage{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;font-size:1.15rem;display:flex}.duel-damage strong{color:var(--red-dark)}.duel-outcome{margin:0;font-size:2.4rem;font-weight:900;line-height:1.1}.duel-outcome.win{color:#1f9a4c}.duel-outcome.loss{color:var(--red-dark)}.duel-final-players{grid-template-columns:1fr 1fr;gap:1.5rem;max-width:560px;margin:1rem auto;display:grid}.duel-final-player{justify-items:center;gap:.4rem;display:grid}.duel-final-player .avatar{border:var(--outline)}.duel-final-player.winner .avatar{box-shadow:0 0 0 4px var(--brand-gold), var(--drop-small)}.duel-final-player .hp{width:100%}.duel-team-players{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.duel-team-player{justify-items:center;gap:.3rem;min-width:0;display:grid}.duel-team-player.left{opacity:.55}.duel-team-player.left .player-link{text-decoration:line-through}.duel-table-wrap{border:var(--outline-thin);background:#fff;border-radius:14px;flex-direction:column;margin:.5rem 0;display:flex;overflow:hidden}.duel-table-scroll{max-height:45vh;position:relative;overflow-y:auto}.duel-table-scroll::-webkit-scrollbar{width:10px}.duel-table{font-size:.9rem}.duel-table thead th{z-index:1;background:#fff;position:sticky;top:0}.duel-table tbody tr{cursor:pointer}.duel-table tbody tr:hover,.duel-table tbody tr.selected{background:var(--bg)}.duel-table td small{display:block}.duel-table .round-won{font-weight:800}.duel-table .damage-taken{color:var(--red-dark);font-weight:800}.duel-table .damage-dealt{color:#1f9a4c;font-weight:800}.duel-health-cell{white-space:nowrap}.duel-card{gap:.5rem;display:grid}.duel-card p{margin:0}.duel-card-tag{background:var(--brand-red);color:#fff;border:var(--outline-thin);border-radius:999px;padding:.1rem .6rem;font-size:.85rem;font-weight:900}.duel-card-action{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;min-height:4.5rem;display:flex}.duel-card-action .btn-play{margin:.25rem 0}.party-members,.friend-picker{gap:.35rem;max-width:360px;margin:.5rem auto;padding:0;list-style:none;display:grid}.party-members li,.friend-picker li{border:var(--outline-thin);background:#fff;border-radius:14px;align-items:center;gap:.5rem;padding:.35rem .6rem;display:flex}.party-members li.pending{border-style:dashed}.party-members li>span:nth-child(2),.friend-picker-name{text-align:left;flex:1;min-width:0;font-weight:700}.friend-picker{max-height:240px;overflow-y:auto}.duel-teammates{display:block}.duel-invite-toast{z-index:50;border:var(--outline);border-radius:var(--radius);background:var(--panel);width:min(340px,100vw - 32px);box-shadow:var(--drop);grid-template-columns:auto 1fr;align-items:center;gap:.5rem .75rem;padding:.9rem 1rem;animation:.35s cubic-bezier(.2,1.3,.4,1) both invite-in;display:grid;position:fixed;bottom:20px;right:20px}.duel-invite-toast p{margin:0}.duel-invite-toast .button-row,.duel-invite-toast .flash{grid-column:1/-1;margin:0}@keyframes invite-in{0%{opacity:0;transform:translateY(20px)scale(.95)}}@media (prefers-reduced-motion:reduce){.duel-invite-toast{animation:none}}.guess-avatar.teammate-pin{opacity:.6;filter:saturate(.6)}.duel-searching{font-variant-numeric:tabular-nums;font-weight:700}.duel-radar{background:var(--brand-red);border:2px solid var(--brand-ink);border-radius:50%;width:18px;height:18px;position:relative}.duel-radar:after{content:"";border:2px solid var(--brand-red);border-radius:50%;animation:1.4s ease-out infinite radar;position:absolute;inset:-2px}@keyframes radar{to{opacity:0;transform:scale(2.6)}}.duel-history{gap:.2rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.duel-history-row{color:inherit;border-radius:12px;align-items:center;gap:.6rem;padding:.4rem .6rem;text-decoration:none;display:flex}.duel-history-row:hover{background:var(--bg)}.duel-history-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.duel-history-date{white-space:nowrap}.duel-result-chip{text-align:center;border:var(--outline-thin);border-radius:999px;min-width:3.2rem;padding:.05rem .5rem;font-size:.75rem;font-weight:900}.duel-result-chip.win{background:#3ccf6e}.duel-result-chip.loss{color:var(--red-dark);background:#ffd9da}.duel-result-chip.draw{background:#fff}@media (prefers-reduced-motion:reduce){.hp-hit,.hp-heart,.hp.hit .hp-track,.hp.hit .hp-track:after,.round-clock.urgent .round-clock-time,.round-clock.urgent,.time-warning,.duel-banner.urgent,.duel-radar:after,.mult-chip.bump,.mult-up,.outcome-rays,.confetti,.outcome-title,.outcome-icon,.duel-intro-title,.duel-intro-found,.duel-versus-player,.duel-vs,.duel-found,.duel-found-icon{animation:none}.hp-fill,.hp-ghost{transition:none}}@media (width<=760px){.duel-home{display:none}.duel-hud{gap:.35rem;width:calc(100vw - 16px);top:58px}.duel-player{border-radius:16px;gap:.4rem;padding:.35rem .5rem}.duel-player .duel-avatar{width:30px;height:30px;font-size:.85rem}.duel-player-name{font-size:.85rem}.duel-status,.hp-heart{display:none}.hp-track{height:16px}.hp-value{font-size:.7rem}.round-clock{min-width:3.8rem;padding:.35rem .5rem}.round-clock-time{font-size:1.25rem}.duel-banner{font-size:.9rem;top:122px}.duel-history-date{display:none}.duel-final-players{gap:.75rem}.duel-page .overlay{padding-top:116px}.duel-page .result-card{max-height:calc(100vh - 116px - 1rem - var(--ad-h))}.outcome-icon{font-size:3.5rem}.ko-stamp{font-size:1.1rem}}.sound-settings,.sound-controls{gap:1rem;display:grid}.sound-settings h2,.sound-settings p{margin:0}.sound-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.sound-row-label{font-size:.9rem;font-weight:700}.music-picker{align-items:center;gap:.5rem;display:flex}.segmented{border:var(--outline-thin);box-shadow:var(--drop-small);background:#fff;border-radius:999px;gap:3px;padding:3px;display:inline-flex}.segmented button{cursor:pointer;font:inherit;color:var(--ink);white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:.35rem .85rem;font-size:.875rem;font-weight:700}.segmented button:hover{background:var(--bg)}.segmented button.selected{background:var(--brand-gold);box-shadow:inset 0 0 0 2px var(--brand-ink)}.segmented button:focus-visible{outline:3px solid var(--accent);outline-offset:1px}.listen-button{cursor:pointer;width:36px;height:36px;color:var(--ink);border:var(--outline-thin);box-shadow:var(--drop-small);background:#fff;border-radius:50%;flex-shrink:0;place-items:center;padding:0;font-size:.85rem;display:grid}.listen-button:hover{background:var(--bg)}.volume-slider label.time-slider-head{margin:0}.volume-slider input[type=range]{background:linear-gradient(90deg, var(--brand-gold) var(--fill,0%), #fff var(--fill,0%));margin-top:.5rem}@media (width<=520px){.music-picker{width:100%}.segmented{flex:1}.segmented button{flex:1;padding:.35rem .4rem}}.overlay.map-screen,.duel-page .overlay.map-screen{background:0 0;padding:0}.map-screen .result-card{width:100%;height:100%;max-height:none;box-shadow:none;background:#e5e3df;border:none;border-radius:0;position:relative}.map-screen .summary-map-wrap,.map-screen .result-map{height:auto;min-height:0;position:absolute;inset:0}.map-screen .result-body{border-radius:var(--radius);background:var(--panel);border:var(--outline);width:min(640px,100% - 24px);max-height:60%;box-shadow:var(--drop);padding:1rem 1.25rem 1.1rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.map-screen .result-body h2{margin:.1rem 0;font-size:1.8rem}.map-screen .next-btn{margin-top:.5rem}.map-screen .final-card .result-body{width:min(760px,100% - 24px);max-height:62%;overflow-y:auto}.map-screen .duel-map-wrap{position:absolute;inset:0}.map-screen .duel-round-stepper{width:fit-content;margin:0 auto .5rem;position:static;transform:none}.map-screen .final-card .result-body.duel-results{flex-direction:column;width:min(680px,100% - 24px);max-height:55%;padding:.7rem 1rem .8rem;display:flex;overflow:hidden}.map-screen .duel-results>*{flex-shrink:0}.map-screen .duel-results p{margin:.15rem 0}.map-screen .duel-results-rounds,.map-screen .duel-results-rounds-inner{flex-direction:column;flex:auto;min-height:0;display:flex}.map-screen .duel-results .duel-table-wrap{flex:auto;min-height:170px;margin:.35rem 0}.map-screen .duel-table-scroll{flex:auto;min-height:0;max-height:none}@media (width>=760px){.map-screen .final-card .result-body.duel-results{grid-template:"main rounds""extra rounds"1fr/minmax(0,1fr) minmax(0,1.35fr);column-gap:1rem;width:min(940px,100% - 24px);min-height:250px;display:grid}.map-screen .duel-results-main{grid-area:main}.map-screen .duel-results-extra{grid-area:extra;align-self:end}.map-screen .duel-results-rounds{grid-area:rounds;position:relative}.map-screen .duel-results-rounds-inner{position:absolute;inset:0}.map-screen .duel-results .duel-table-wrap{min-height:0;margin:0 0 .25rem}.map-screen .duel-results .duel-final-players{gap:.75rem}}.map-screen .duel-outcome{font-size:1.6rem}.map-screen .duel-results .duel-round-stepper{margin-bottom:.25rem}.map-screen .duel-final-players{gap:1rem;margin:.25rem auto}.map-screen .duel-final-player{gap:.2rem}.map-screen .duel-final-player .avatar-large{width:40px;height:40px}.map-screen .duel-team-player{grid-auto-flow:column;align-items:center;gap:.35rem}.map-screen .duel-results .button-row{margin-top:.4rem}@media (width<=600px){.map-screen .result-body{padding:.75rem .9rem .85rem;bottom:8px}.map-screen .result-body h2{font-size:1.5rem}}.map-screen .round-panel{text-align:left;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.25rem 1rem;width:min(560px,100% - 24px);padding:.7rem 1rem .8rem;display:grid}.round-panel .round-head{grid-column:1/-1;justify-content:space-between;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.round-panel .round-head .legend{margin:0}.map-screen .round-panel h2{margin:0;font-size:1.5rem;line-height:1.15}.round-panel .score-bar{max-width:none;height:8px;margin:.15rem 0}.map-screen .round-panel p{margin:0;font-size:.9rem}.round-panel .next-btn{grid-area:2/2/span 3;min-width:0;margin:0}.map-screen .duel-round-panel{grid-template-columns:minmax(0,1fr);gap:.45rem}.duel-round-panel .duel-round-players{gap:.5rem;max-width:none;margin:0}.duel-round-panel .duel-round-player{border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"av name score""av dist score";place-items:center start;gap:0 .5rem;padding:.4rem .6rem}.duel-round-player>.avatar{grid-area:av}.duel-round-player>.duel-round-name{text-overflow:ellipsis;white-space:nowrap;grid-area:name;max-width:100%;font-size:.85rem;overflow:hidden}.duel-round-player>.duel-round-score{grid-area:score;justify-self:end;font-size:1.35rem}.duel-round-player>.small{grid-area:dist;font-size:.75rem}.round-effects{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem .75rem;display:flex}.round-effects:empty{display:none}.round-effects.pending{visibility:hidden}.round-effects.pending *{animation:none!important}.map-screen .round-effects .mult-boost{gap:.4rem;padding:.2rem .7rem;font-size:.85rem;margin:0!important}.map-screen .round-effects .mult-boost .mult-chip{padding:.05rem .45rem;font-size:.8rem}.round-effects .duel-damage{margin:0;font-size:.95rem}.guess-avatar.drop-in>*{animation:.55s cubic-bezier(.2,1.5,.4,1) both marker-drop}@keyframes marker-drop{0%{opacity:0;transform:translateY(-60px)scale(.5)}60%{opacity:1;transform:translateY(4px)scale(1.08,.92)}to{transform:none}}.target-flag.plant-in,.target-flag.plant-in svg{width:54px;height:63px}.target-flag.plant-in svg{transform-origin:50% 100%;animation:.7s cubic-bezier(.2,1.6,.4,1) both flag-plant}@keyframes flag-plant{0%{opacity:0;transform:translateY(7%)scaleY(0)scaleX(.6)}55%{opacity:1;transform:translateY(7%)scaleY(1.2)rotate(-8deg)}75%{transform:translateY(7%)scaleY(.95)rotate(5deg)}to{transform:translateY(7%)}}@media (prefers-reduced-motion:reduce){.guess-avatar.drop-in>*,.target-flag.plant-in svg{animation:none}}.perfect-burst{z-index:12;pointer-events:none;place-content:center;justify-items:center;gap:.6rem;padding-bottom:10vh;animation:3s ease-in both perfect-life;display:grid;position:fixed;inset:0;overflow:hidden}.perfect-burst:before{content:"";background:radial-gradient(circle at 50% 45%,#fff6e0f2,#ffc52e8c 40%,#ffc52e00 75%);animation:1.1s ease-out both perfect-flash;position:absolute;inset:0}@keyframes perfect-flash{0%{opacity:0}12%{opacity:1}to{opacity:.25}}@keyframes perfect-life{0%,85%{opacity:1}to{opacity:0}}.perfect-rays-wrap{width:170vmax;height:170vmax;margin:-85vmax 0 0 -85vmax;animation:.7s cubic-bezier(.2,1.3,.4,1) both rays-in;position:absolute;top:45%;left:50%}@keyframes rays-in{0%{opacity:0;transform:scale(.1)}}.perfect-rays{background:repeating-conic-gradient(#ffc52e8c 0deg 7deg,#0000 7deg 14deg);border-radius:50%;width:100%;height:100%;animation:9s linear infinite spin;-webkit-mask-image:radial-gradient(circle,#000 12%,#0000 60%);mask-image:radial-gradient(circle,#000 12%,#0000 60%)}.perfect-rays.alt{background:repeating-conic-gradient(#fff6e080 0deg 3deg,#0000 3deg 20deg);animation:15s linear infinite reverse spin;position:absolute;inset:0}.perfect-score{--o:var(--brand-ink);color:var(--brand-gold);font-variant-numeric:tabular-nums;letter-spacing:.02em;text-shadow:-5px -5px 0 var(--o), 5px -5px 0 var(--o), 5px 5px 0 var(--o), -5px 5px 0 var(--o), 0 -5px 0 var(--o), 5px 0 0 var(--o), 0 5px 0 var(--o), -5px 0 0 var(--o), 9px 11px 0 var(--o);font-size:clamp(3.5rem,min(24vw,24vh),13rem);font-weight:900;line-height:1;animation:1.2s ease-in-out .8s infinite glow;display:flex;position:relative}.perfect-digit{animation:digit-slam .45s calc(var(--i) * 90ms) cubic-bezier(.2, 1.7, .4, 1) both;display:inline-block;position:relative}@keyframes digit-slam{0%{opacity:0;transform:translateY(-110%)scale(2.2)rotate(-14deg)}to{opacity:1;transform:none}}.perfect-digit:after{content:attr(data-d);text-shadow:none;color:#0000;background:linear-gradient(110deg,#0000 38%,#fffffff2 50%,#0000 62%) 150% 0/260% 100% no-repeat;animation:digit-shine 1.6s calc(.8s + var(--i) * 70ms) ease-in-out infinite;-webkit-background-clip:text;background-clip:text;position:absolute;inset:0}@keyframes digit-shine{0%{background-position:150% 0}60%,to{background-position:-60% 0}}.perfect-content{justify-items:center;gap:.6rem;animation:.5s .6s both impact-shake;display:grid;position:relative}@keyframes impact-shake{0%,to{transform:none}20%{transform:translate(-7px,5px)rotate(-1deg)}40%{transform:translate(6px,-6px)rotate(1deg)}60%{transform:translate(-4px,3px)}80%{transform:translate(3px,-2px)}}.perfect-ring{width:36vmin;height:36vmin;animation:ring-out 1.1s calc(.55s + var(--i) * .16s) cubic-bezier(.1, .6, .3, 1) both;border:6px solid #ffc52ef2;border-radius:50%;margin:-18vmin 0 0 -18vmin;position:absolute;top:45%;left:50%;box-shadow:0 0 28px #ffc52ed9,inset 0 0 28px #ffc52e99}@keyframes ring-out{0%{opacity:1;transform:scale(.25)}to{opacity:0;transform:scale(3.4)}}.perfect-label{box-sizing:border-box;text-align:center;text-wrap:balance;color:#fff;background:var(--brand-red);border:var(--outline);max-width:calc(100vw - 40px);box-shadow:var(--drop);border-radius:999px;padding:.35rem 1.4rem;font-size:clamp(1.05rem,min(3.4vw,5vh),2.3rem);font-weight:900;animation:.5s cubic-bezier(.2,1.6,.4,1) .7s both found-drop;position:relative}.perfect-spark{color:var(--brand-gold);text-shadow:0 0 10px #ffc52ef2, 0 2px 0 var(--brand-ink);margin:-.6em 0 0 -.4em;animation:1.1s cubic-bezier(.1,.7,.3,1) both spark-fly;position:absolute;top:45%;left:50%}@keyframes spark-fly{0%{opacity:1;transform:rotate(var(--a)) translateY(0) scale(.4)}to{opacity:0;transform:rotate(var(--a)) translateY(calc(-1 * var(--d))) scale(1.3) rotate(220deg)}}.perfect-burst .confetti{z-index:0}.perfect-burst.double{animation-duration:3.6s}.perfect-burst.double:before{animation:1.4s ease-out both double-flash}@keyframes double-flash{0%{opacity:0}8%{opacity:1}22%{opacity:.3}32%{opacity:1}to{opacity:.25}}.perfect-burst.double .perfect-rays.alt{background:repeating-conic-gradient(#e4252b66 0deg 4deg,#0000 4deg 16deg)}.perfect-burst.double .perfect-label{background:linear-gradient(90deg, var(--brand-red), #ff8a00, var(--brand-red)) 0 0 / 200% 100%;animation:.5s cubic-bezier(.2,1.6,.4,1) .8s both found-drop,1.4s linear 1.3s infinite label-sheen}@keyframes label-sheen{to{background-position:-200% 0}}@media (width<=600px){.perfect-score{text-shadow:-3px -3px 0 var(--o), 3px -3px 0 var(--o), 3px 3px 0 var(--o), -3px 3px 0 var(--o), 0 -3px 0 var(--o), 3px 0 0 var(--o), 0 3px 0 var(--o), -3px 0 0 var(--o), 5px 6px 0 var(--o)}.perfect-label{border-radius:22px;padding:.35rem 1rem}}@media (prefers-reduced-motion:reduce){.perfect-burst:before,.perfect-rays,.perfect-rays-wrap,.perfect-score,.perfect-label,.perfect-spark,.perfect-digit,.perfect-digit:after,.perfect-content{animation:none}.perfect-spark,.perfect-burst .confetti,.perfect-ring{display:none}}.score-hidden{opacity:.35;animation:1s ease-in-out infinite pulse;display:inline-block}.reveal-in{animation:.5s cubic-bezier(.2,1.5,.4,1) both boost-in}.count-up-score{font-variant-numeric:tabular-nums;display:inline-block}.count-up-score.landed{animation:.45s cubic-bezier(.2,1.6,.4,1) score-land}.shuffle-score{font-variant-numeric:tabular-nums;display:inline-block}.shuffle-score:not(.landed){opacity:.7}.shuffle-score.landed{animation:.5s cubic-bezier(.2,1.6,.4,1) score-land}@keyframes score-land{0%{color:var(--brand-red);transform:scale(1.5)}to{transform:scale(1)}}.avatar-frame{--d:32px;vertical-align:middle;margin:calc(var(--d) * .4) calc(var(--d) * .26) calc(var(--d) * .26);flex-shrink:0;place-items:center;display:inline-grid;position:relative}.avatar-frame.frame-tiny{--d:22px}.avatar-frame.frame-large{--d:64px}.avatar-frame>.avatar{box-shadow:0 0 0 3px var(--team-color,transparent)}.duel-final-player.winner .avatar-frame>.avatar{box-shadow:0 0 0 4px var(--brand-gold)}.avatar-frame-art{pointer-events:none;-webkit-user-select:none;user-select:none;width:180%;max-width:none;height:180%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.level-badge{white-space:nowrap;font-variant-numeric:tabular-nums;color:var(--brand-ink);background:var(--brand-gold);border:var(--outline-thin);border-radius:999px;padding:.05rem .55rem;font-size:.85rem;font-weight:900;display:inline-block}.level-bar{align-items:center;gap:.6rem;width:100%;max-width:420px;display:flex}.level-bar.compact{max-width:360px;margin:.5rem auto 0}.level-track{border:var(--outline-thin);background:#fff;border-radius:999px;flex:1;height:10px;overflow:hidden}.level-track>div{background:linear-gradient(90deg, var(--brand-gold), var(--brand-red));height:100%;transition:width 1.2s cubic-bezier(.3,.7,.4,1)}.level-xp{white-space:nowrap;font-variant-numeric:tabular-nums}.profile-name .level-bar{margin-top:.5rem}.xp-gain{justify-items:center;gap:.35rem;display:grid}.xp-earned{color:var(--accent-dark);font-size:1.15rem;font-weight:900;animation:.4s cubic-bezier(.2,1.6,.4,1) .2s both found-drop}.xp-gain .level-bar{max-width:360px}.level-badge.level-up{background:var(--brand-red);color:#fff;animation:.7s cubic-bezier(.2,1.8,.4,1) 1.4s both level-pop}@keyframes level-pop{0%{transform:scale(1)}40%{transform:scale(1.5)rotate(-6deg)}to{transform:none}}.level-up-note,.border-unlocked-note{margin:0;font-weight:800;animation:.4s 1.6s both fade-in}.level-up-note{color:var(--accent-dark)}.border-unlocked-note{color:#1f9a4c}@media (prefers-reduced-motion:reduce){.xp-earned,.level-badge.level-up,.level-up-note,.border-unlocked-note{animation:none}}.border-grid{grid-template-columns:repeat(auto-fill,minmax(116px,1fr));gap:.6rem;margin-top:.75rem;display:grid}.border-option{cursor:pointer;font:inherit;color:var(--ink);text-align:center;border:var(--outline-thin);box-shadow:var(--drop-small);background:#fff;border-radius:16px;justify-items:center;gap:.3rem;padding:.7rem .4rem;display:grid}.border-option:hover:not(:disabled){background:var(--bg)}.border-option.selected{box-shadow:0 0 0 3px var(--brand-gold), var(--drop-small);background:#ffe9a8}.border-option.locked{opacity:.45;cursor:not-allowed;box-shadow:none}.border-option-name{font-size:.85rem;font-weight:800}.border-option-level{font-size:.72rem}.home-welcome{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.5rem;padding:1.25rem 1.5rem;display:flex}.home-welcome h1{margin:0;font-size:clamp(1.4rem,3vw,1.9rem)}.home-welcome .level-bar{flex:1;min-width:220px;max-width:360px}.home-continue{gap:.5rem;display:grid}.home-continue-item{border:var(--outline-thin);box-shadow:var(--drop-small);background:#ffe9a8;border-radius:999px;align-items:center;gap:.6rem;padding:.55rem .6rem .55rem 1rem;font-weight:700;display:flex}.home-continue-item>span:nth-child(2){flex:1;min-width:0}.home-modes{gap:.75rem;display:grid}.home-section-title{border-radius:999px;justify-self:start;margin:0;padding:.55rem 1.25rem;font-size:1.25rem}.mode-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1rem;display:grid}.mode-tile{border:var(--outline-thin);min-width:0;box-shadow:var(--drop-small);border-top:8px solid var(--mode-color);background:#fff;border-radius:22px;flex-direction:column;gap:.6rem;padding:1.1rem 1.1rem 1rem;transition:transform .15s,box-shadow .15s;display:flex;position:relative;overflow:hidden}.mode-tile:hover{box-shadow:0 6px 0 var(--brand-ink);transform:translateY(-2px)}.mode-tile-head{align-items:center;gap:.75rem;display:flex}.mode-tile-head h3{align-items:center;gap:.5rem;margin:0;font-size:1.25rem;display:flex}.mode-tile-icon{background:var(--mode-color);border:var(--outline-thin);width:52px;height:52px;box-shadow:var(--drop-small);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.7rem;display:grid}.mode-tile-about{flex:1;margin:0}.mode-tile-action{text-align:center;justify-items:center;gap:.4rem;display:grid}.mode-tile-action .duel-card-action{min-height:0}.mode-tile-action .duel-searching{flex-direction:column;gap:.5rem;padding:.25rem 0}.mode-tile-action .btn-play{margin:.25rem 0;padding:.65rem 2rem;font-size:1.1rem}.mode-tile-action p{margin:0}.mode-tile-more{text-align:center}@media (prefers-reduced-motion:reduce){.mode-tile,.mode-tile:hover{transition:none;transform:none}}.duel-map-bubble{background:var(--panel);border:var(--outline);box-shadow:var(--drop-small);border-radius:999px;justify-self:center;margin:0;padding:.5rem 1.25rem;font-weight:700}.admin-players{gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.admin-players li{border:1.5px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:.6rem;padding:.4rem .6rem;display:flex}.admin-players li.banned{background:#ffd9da}.admin-player{flex:1;min-width:0}.admin-player-text{min-width:0;display:grid}.admin-player-text>*{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-confirm{gap:.35rem;display:flex}.admin-level{align-items:center;gap:.5rem;display:flex}.admin-level input{width:7rem;font:inherit}.duel-hero h1{align-items:center;gap:.6rem;display:inline-flex}.duel-hero>p{max-width:560px;margin:.5rem auto 0}.duel-card .card-heading h2{align-items:center;gap:.5rem;display:inline-flex}.duel-record{font-variant-numeric:tabular-nums}.duel-record .win{color:#1f9a4c}.duel-record .loss{color:var(--red-dark)}.duel-history-table td{vertical-align:middle}.duel-history-table th,.duel-history-table .nowrap{white-space:nowrap}.more-players{background:var(--bg);border:1.5px solid var(--line);color:var(--ink);cursor:help;white-space:nowrap;border-radius:999px;padding:0 .45rem;font-size:.8rem;font-weight:800;display:inline-block}.duel-matchup{flex-wrap:wrap;align-items:center;gap:.3rem .5rem;display:flex}.duel-opponent-name{text-overflow:ellipsis;max-width:9rem;overflow:hidden}.duel-history-scroll{overflow-x:auto}.duel-history-table .duel-teammates{overflow-wrap:anywhere;margin-top:.2rem}.duel-history-table.loading tbody{opacity:.5}.duel-opponent{color:inherit;white-space:nowrap;border:2px solid #0000;border-radius:10px;align-items:center;gap:.45rem;margin:-.15rem -.3rem;padding:.15rem .3rem;font-weight:700;text-decoration:none;display:inline-flex}.duel-opponent:hover,.duel-opponent:focus-visible{color:inherit;border-color:var(--brand-gold);background:color-mix(in srgb, var(--brand-gold) 15%, #fff)}.pager{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;margin-top:1rem;display:flex}.pager button{cursor:pointer;min-width:36px;height:36px;font:inherit;font-variant-numeric:tabular-nums;color:var(--ink);border:var(--outline-thin);box-shadow:var(--drop-small);background:#fff;border-radius:999px;padding:0 .5rem;font-weight:800}.pager button:hover:not(:disabled){background:var(--bg)}.pager button:active:not(:disabled){box-shadow:none;transform:translateY(2px)}.pager button:disabled{opacity:.35;cursor:default;box-shadow:none}.pager .pager-page.current{background:var(--brand-gold)}.pager-step{font-size:1.2rem;line-height:1}.pager-gap{color:var(--muted);padding:0 .15rem;font-weight:800}@media (width<=600px){.duel-history-table .wide-only{display:none}}.party-join{text-align:center}.party-join-avatars{flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.75rem 0;display:flex}.party-head .card-heading{flex-wrap:wrap;gap:.5rem}.party-head h1{align-items:baseline;gap:.6rem;display:inline-flex}.party-link{justify-items:end;gap:.3rem;display:grid}.party-link input{width:min(320px,80vw);font-family:inherit}.party-head .party-rules-summary{justify-content:flex-start;margin-top:.5rem}.party-head .party-rules-summary ul{justify-content:flex-start}.party-teams{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.party-team{border:var(--outline-thin);border-top:6px solid var(--team-color);background:#fff;border-radius:14px;padding:.5rem .6rem}.party-team h2{color:var(--team-color);justify-content:space-between;align-items:baseline;margin:0 0 .4rem;font-size:1.05rem;display:flex}.party-players{gap:.3rem;margin:0;padding:0;list-style:none;display:grid}.party-players li{align-items:center;gap:.4rem;min-height:2rem;display:flex}.party-players li.you .party-player-name{font-weight:800}.party-players li[draggable=true]{cursor:grab}.party-players li.dragging{opacity:.4}.party-team{outline-offset:3px;outline:2px dashed #0000;transition:background-color .15s,outline-color .15s}.party-team.drop-target{outline-color:var(--team-color)}.party-team.drop-over{background:color-mix(in srgb, var(--team-color) 14%, #fff)}.party-players .avatar{box-shadow:0 0 0 2px var(--team-color)}.party-player{border:2px solid #0000;border-radius:10px;flex:1;gap:.4rem;min-width:0;margin:-.15rem 0 -.15rem -.3rem;padding:.15rem .3rem}.party-player:hover,.party-player:focus-visible{color:var(--ink);border-color:var(--team-color);background:color-mix(in srgb, var(--team-color) 10%, #fff)}.party-player-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.party-host{font-size:.95rem}.party-players .btn-small{min-width:0;padding:.1rem .45rem}.party-empty{justify-content:center}.party-flash{justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.party-shuffle{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.6rem;display:flex}.party-start{text-align:center;justify-items:center;gap:.3rem;margin:1rem 0 .5rem;display:grid}.party-start p{margin:0}.party-invites{justify-items:center;gap:.3rem;margin-top:.75rem;display:grid}.party-invites p{margin:0}.party-leave{margin:1rem auto 0;display:block}.party-rules-summary{flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem;margin-top:1rem;display:flex}.party-rules-summary ul{flex-wrap:wrap;justify-content:center;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.party-rules-summary li{border:1.5px solid var(--line);background:#fff;border-radius:999px;padding:.1rem .55rem;font-size:.85rem;font-weight:700}.party-rules-summary li[title]{cursor:help}.party-rules-summary li .muted{font-weight:600}.party-settings{width:min(520px,100%);max-height:calc(100vh - 2rem);margin:0;overflow-y:auto}.party-settings h2{margin-top:0}.party-settings .button-row{justify-content:flex-end;margin-bottom:0}.party-settings h3{margin:1rem 0 .2rem;font-size:1rem}.party-map{border:var(--outline-thin);background:#fff;border-radius:14px;padding:.5rem .7rem}.party-map-current{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.party-map-current>div{min-width:0;display:grid}.map-picker{gap:.4rem;margin-top:.5rem;display:grid}.map-picker ul{gap:.25rem;max-height:260px;margin:0;padding:0;list-style:none;display:grid;overflow-y:auto}.map-picker li{border-radius:10px;align-items:center;gap:.5rem;padding:.3rem .4rem;display:flex}.map-picker li.current{background:var(--bg)}.map-picker-name{flex:1;min-width:0;display:grid}.map-picker-name strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.party-rules{gap:.45rem;margin:.75rem 0 0;display:grid}.party-rule{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.party-rule dt{font-weight:600}.party-rule dd{white-space:nowrap;align-items:center;gap:.35rem;margin:0;display:flex}.party-number{text-align:right;width:6.5rem;font:inherit;font-variant-numeric:tabular-nums}.party-team-rules td{vertical-align:middle}.party-team-rules .party-number{width:100%;max-width:7rem}.party-team-dot{background:var(--team-color);border:2px solid var(--brand-ink);vertical-align:-.05rem;border-radius:50%;width:.7rem;height:.7rem;margin-right:.4rem;display:inline-block}@media (width<=480px){.party-teams{grid-template-columns:1fr}}.tooltip{z-index:1000;pointer-events:none;background:var(--panel);max-width:min(320px,100vw - 12px);color:var(--ink);border:2px solid var(--brand-ink);box-shadow:2px 3px 0 var(--brand-ink);text-align:center;overflow-wrap:anywhere;opacity:0;visibility:hidden;border-radius:10px;padding:.3rem .65rem;font-size:.85rem;font-weight:700;line-height:1.3;transition:opacity .12s,transform .12s;position:fixed;transform:translateY(3px)}.tooltip.shown{opacity:1;visibility:visible;transform:none}.tooltip:after{content:"";left:var(--arrow-x,50%);background:var(--panel);border:2px solid var(--brand-ink);border-top:0;border-left:0;width:8px;height:8px;position:absolute;top:100%;transform:translate(-50%,-4px)rotate(45deg)}.tooltip.below:after{top:auto;bottom:100%;transform:translate(-50%,4px)rotate(-135deg)}@media (prefers-reduced-motion:reduce){.tooltip{transition:none;transform:none}}.game-curtain{z-index:40;pointer-events:none;background:#0a0c14;animation:.7s .15s forwards curtain-lift;position:fixed;inset:0}@keyframes curtain-lift{to{opacity:0;visibility:hidden}}@media (prefers-reduced-motion:reduce){.game-curtain{animation-duration:10ms;animation-delay:0s}}.landing-hero{justify-items:center;gap:.75rem;display:grid}.landing-hero h1{margin:.25rem 0 0}.landing-lead{max-width:620px;margin:0;font-size:1.1rem}.landing-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;display:flex}.landing-actions .btn-play{margin:.25rem 0}.landing-section{gap:.75rem;display:grid}.landing-section h2{margin:0}.landing-steps{gap:.6rem;margin:0;padding-left:1.4rem;display:grid}.landing-steps strong{margin-right:.35rem}.landing-faq{gap:.9rem;margin:0;display:grid}.landing-faq dt{font-weight:800}.landing-faq dd{margin:.2rem 0 0}
