:root{--font-display:"Bebas Neue",Impact,"Arial Narrow",sans-serif;--font-body:"Source Sans 3",Segoe UI,sans-serif;--font-broadcast:"Saira","Arial Narrow",Impact,sans-serif;--font-broadcast-stretch:62.5%;--felt:#0d1612;--surface:#142019;--surface-2:#1a2a22;--line:#f1ead824;--chalk:#f1ead8;--dim:#98a79d;--brass:#d9b453;--brass-hot:#f3d77a;--blue:#5aa9f0;--red:#f0676b;--ok:#53c785;--warn:#f0a53a;--danger:#f0676b;--felt-deep:var(--felt);--felt-mid:#111c16;--felt-lift:var(--surface-2);--panel:var(--surface);--panel-edge:var(--line);--ink:var(--chalk);--muted:var(--dim);--brass-soft:#f3e6c0;--r-sm:10px;--r-md:10px;--r-lg:14px;--r-pill:999px;--fs-2xs:13px;--fs-xs:13px;--fs-sm:14px;--fs-md:15px;--fs-lg:16px;--fs-xl:19px;--fs-2xl:24px;--fs-3xl:32px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:24px;--sp-6:32px;--sp-7:48px;--tap:48px;--t-state:.15s;--t-panel:.25s;--sh-sm:0 6px 18px #0000004d;--sh-md:0 14px 40px #00000073;--sh-lg:0 22px 60px #0000008c;--shadow:var(--sh-md);--focus-ring:0 0 0 2px var(--felt), 0 0 0 4px var(--brass-hot);--z-board:0;--z-hud:100;--z-dock:200;--z-nav:300;--z-menu:400;--z-scrim:500;--z-sheet:510;--z-modal-scrim:600;--z-modal:610;--z-confirm:700;--z-toast:800;--z-boot:900;font-family:var(--font-body);color:var(--ink);background:var(--felt-deep)}@media (width<=720px){:root{--fs-sm:13px}}*{box-sizing:border-box}body{background:radial-gradient(ellipse 70% 55% at 50% -10%, color-mix(in srgb, var(--brass-hot) 9%, transparent), transparent 60%), var(--felt);min-width:320px;min-height:100dvh;font-family:var(--font-body);margin:0}body[data-app-view=play] #playRoot{height:calc(100dvh - var(--topnav-h));flex:none;min-height:0;overflow:hidden}body[data-app-view=hub]{overflow-x:hidden}body[data-app-view=play]{overscroll-behavior:none;overflow:hidden}button,select,input{font:inherit}button{font-family:var(--font-body)}.app-shell{gap:var(--sp-4);padding:var(--sp-3);height:calc(100dvh - var(--topnav-h));grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}body[data-app-view=play] .app-shell.board-first,.app-shell.board-first{height:calc(100dvh - var(--topnav-h));grid-template-rows:auto auto 1fr auto;grid-template-columns:minmax(0,1fr);gap:0;min-height:0;padding:0;display:grid;position:relative;overflow:hidden}body[data-app-view=play] .app-shell.board-first>.scorebar,.app-shell.board-first>.scorebar{grid-area:1/1}body[data-app-view=play] .app-shell.board-first>.canvas-wrap,.app-shell.board-first>.canvas-wrap{flex:none;grid-area:3/1;width:100%;min-width:0;height:100%;min-height:0}body[data-app-view=play] .app-shell.board-first>.match-action-rail,.app-shell.board-first>.match-action-rail{grid-area:4/1}body[data-app-view=play] .app-shell.board-first>#onlineDock,body[data-app-view=play] .app-shell.board-first>#playUtilityHosts,.app-shell.board-first>#onlineDock,.app-shell.board-first>#playUtilityHosts{grid-area:1/1}.app-shell.board-first>#devLabsHost,body[data-app-view=play] .app-shell.board-first>#devLabsHost{top:var(--topnav-h,46px);z-index:var(--z-sheet);padding:var(--sp-3);background:#080e0bf7;display:none;position:fixed;bottom:0;left:0;right:0;overflow:auto}.app-shell.board-first>#devLabsHost.is-open,body[data-app-view=play] .app-shell.board-first>#devLabsHost.is-open{display:block}.dev-labs-toggle{z-index:var(--z-sheet);border-radius:var(--r-sm,4px);color:#cde;cursor:pointer;background:#080e0be6;border:1px solid #ffffff38;padding:6px 10px;font:12px/1.2 ui-monospace,monospace;position:fixed;bottom:40px;left:8px}.match-action-rail{height:var(--match-rail-h,2.25rem);min-height:var(--match-rail-h,2.25rem);max-height:var(--match-rail-h,2.25rem);flex:none;overflow:hidden}.match-action-rail .engine-badge{border-top:1px solid #ffffff0d}.game-card,.panel{background:color-mix(in srgb, var(--panel) 94%, transparent);border:1px solid var(--panel-edge);box-shadow:var(--shadow);border-radius:var(--r-lg)}.game-card{flex-direction:column;min-height:0;display:flex;overflow:hidden}.scorebar{z-index:var(--z-hud);padding:10px var(--sp-4);background:#00000052;border-bottom:1px solid #ffffff0f;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;display:grid;position:relative}.hub-back{border:1px solid var(--line);color:var(--brass);font-family:var(--font-display);letter-spacing:.08em;font-size:var(--fs-md);padding:var(--sp-2) var(--sp-3);cursor:pointer;border-radius:var(--r-md);background:0 0}.hub-back:hover{border-color:var(--brass-hot);color:var(--brass-hot)}.blue{color:var(--blue)}.red{color:var(--red)}.turn{text-align:center}.turn .win-target{color:var(--brass);font-size:var(--fs-sm);letter-spacing:.12em;text-transform:uppercase;font-weight:700;font-family:var(--font-display);display:block}.turn .win-target[hidden]{display:none!important}.canvas-wrap{flex:1;min-height:clamp(420px,62dvh,760px);position:relative}body[data-app-view=play] .canvas-wrap{flex:none;width:100%;height:100%;min-height:0}canvas{width:100%;height:100%;display:block}#board{touch-action:none}.spin-preset{z-index:6;width:var(--tap);height:var(--tap);border:1px solid var(--brass);background:var(--surface);touch-action:none;border-radius:50%;padding:0;position:absolute;bottom:12px;left:12px}.idle-cue{z-index:1;pointer-events:none;box-sizing:border-box;border:1.8px dashed color-mix(in srgb, var(--brass-hot) 56%, transparent);will-change:transform,opacity;border-radius:50%;animation:1.5s ease-in-out infinite idleCuePulse;position:absolute;transform:translate(-50%,-50%)}.idle-cue[hidden]{display:none}@keyframes idleCuePulse{0%,to{opacity:.46;transform:translate(-50%,-50%)scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(var(--pulse-scale,1.1))}}:root[data-reduce-motion="1"] .idle-cue{opacity:.73;animation:none}.spin-preset-dot{background:var(--brass);pointer-events:none;border-radius:50%;width:10px;height:10px;margin:-5px 0 0 -5px;position:absolute;top:50%;left:50%}.engine-badge{box-sizing:border-box;height:100%;padding:0 var(--sp-3);color:var(--muted);font-size:var(--fs-2xs);line-height:var(--match-rail-h,2.25rem);text-align:center;letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;border-top:1px solid #ffffff0d;margin:0;overflow:hidden}.replay-physics-badge[data-tone=neutral]{color:var(--brass-soft);margin:0}.goal-flash{pointer-events:none;font-family:var(--font-display);letter-spacing:.08em;color:var(--brass-hot);text-shadow:0 7px 32px #000;opacity:0;place-items:center;font-size:clamp(54px,8vw,112px);transition:all .16s;display:grid;position:absolute;inset:0;transform:scale(.82)}.goal-flash.show{opacity:1;transform:scale(1)}.panel{gap:var(--sp-3);overscroll-behavior:contain;flex-direction:column;max-height:100dvh;padding:18px;display:flex;overflow:auto}.panel-brand{justify-content:space-between;align-items:baseline;gap:var(--sp-2);display:flex}.panel-brand h1{font-family:var(--font-display);font-size:var(--fs-3xl);letter-spacing:.06em;color:var(--brass-soft);margin:0;font-weight:400}.subtitle{color:var(--muted);line-height:1.45;font-size:var(--fs-sm);margin:6px 0 0}.panel section,.panel details.panel-block{padding-top:var(--sp-3);border-top:1px solid #ffffff12}.panel details.panel-block{border-top:1px solid #ffffff12;padding-top:10px}.panel details.panel-block summary{cursor:pointer;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.14em;text-transform:uppercase;-webkit-user-select:none;user-select:none;padding:var(--sp-1) 0 var(--sp-2);list-style:none}.panel details.panel-block summary::-webkit-details-marker{display:none}.panel details.panel-block summary:after{content:" â–¾";color:var(--brass);opacity:.7}.panel details.panel-block:not([open]) summary:after{content:" â–¸"}label{font-size:var(--fs-xs);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px;display:block}.object-grid{grid-template-columns:1fr;gap:7px;display:grid}.object-grid button,.actions button,.audio-row button,.lab button{background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);padding:10px var(--sp-3);cursor:pointer;border:1px solid #ffffff1a}.object-grid button.active{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:700}.physics-readout,.metrics{grid-template-columns:repeat(2,1fr);gap:7px;margin-top:9px;display:grid}.physics-readout div,.metrics div{background:var(--felt-deep);border-radius:var(--r-md);padding:var(--sp-2)}.physics-readout span,.metrics span{color:var(--muted);font-size:var(--fs-2xs);display:block}.physics-readout b,.metrics b{font-size:var(--fs-sm)}.ai-debug-label{font-size:var(--fs-xs);color:var(--muted);margin-top:var(--sp-2);align-items:center;gap:6px;display:flex}.ai-debug-panel,.ai-debug-panel .ai-debug-why{grid-column:1/-1}.ai-debug-panel .ai-debug-top{margin-top:var(--sp-1);grid-column:1/-1;gap:6px;display:grid}.ai-debug-cand{padding:var(--sp-2);background:var(--felt-deep);border-radius:var(--r-md);font-size:var(--fs-2xs);color:var(--muted);gap:2px;display:grid}.ai-debug-cand b{color:var(--brass);font-size:var(--fs-xs)}select,input[type=text]{background:var(--felt-deep);width:100%;color:var(--ink);border-radius:var(--r-md);border:1px solid #ffffff1f;padding:10px}.micro{font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.formation-notes{gap:7px;display:grid}.formation-notes div{font-size:var(--fs-xs);color:var(--muted);grid-template-columns:18px 1fr;gap:6px;display:grid}.formation-notes b{color:var(--brass)}.lab-head{justify-content:space-between;align-items:center;display:flex}.lab-head label{margin:0}.lab-result{border-radius:var(--r-md);background:var(--felt-deep);font-size:var(--fs-xs);gap:5px;margin-top:10px;padding:10px;display:grid}.lab-result b{font-size:var(--fs-md)}.lab-result.pass{border:1px solid #53c78580}.lab-result.review{border:1px solid #e6b74580}.lab-result.fail{border:1px solid #eb565c80}.audio-row{grid-template-columns:auto 1fr;align-items:center;gap:10px;display:grid}.actions{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.actions .primary{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:800}.status{background:var(--felt-deep);border-radius:var(--r-md);color:var(--muted);font-size:var(--fs-sm);border:1px solid #ffffff0f;padding:11px;line-height:1.4}@media (width<=980px){.app-shell{grid-template-columns:1fr}.game-card{order:1;min-height:0}.canvas-wrap{min-height:clamp(300px,52dvh,620px)}}@media (width<=720px){body[data-app-view=play] #playRoot{height:calc(100dvh - var(--topnav-h));flex:none}.app-shell{padding:var(--sp-2);gap:var(--sp-2);height:calc(100dvh - var(--topnav-h));grid-template-columns:1fr;min-height:0;overflow:hidden}body[data-app-view=play] .app-shell.board-first,.app-shell.board-first{gap:0;padding:0}.game-card{order:1;min-height:0}body[data-app-view=play] .canvas-wrap{min-height:0}.scorebar{padding:var(--sp-2) 10px;gap:var(--sp-2);grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}.scorebar .sb-blue{grid-column:1}.scorebar .turn{grid-column:2}.scorebar .sb-red{grid-column:3}.turn .win-target{font-size:var(--fs-xs)}.match-action-rail{height:0;min-height:0;max-height:0}.engine-badge{display:none}}@media (orientation:landscape) and (height<=560px){.app-shell{height:calc(100dvh - var(--topnav-h));grid-template-columns:1fr;gap:6px;min-height:0;padding:6px;overflow:hidden}.app-shell.board-first{gap:0;padding:0}.game-card{order:1;min-height:0}body[data-app-view=play] .canvas-wrap{min-height:0}.scorebar{gap:8px;padding:4px 10px}.sb-avatar{width:24px;height:24px}.sb-title{display:none}.sb-score{font-size:var(--fs-2xl)}.match-action-rail{height:0;min-height:0;max-height:0}.engine-badge{display:none}}.sr-live{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}:focus-visible{box-shadow:var(--focus-ring);border-radius:var(--r-md);outline:none}button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,a:focus-visible{box-shadow:var(--focus-ring);outline:none}.object-grid button,.actions button,.audio-row button,.help-row button,select,input[type=text],.hub-back{min-height:var(--tap)}.panel details.panel-block summary{align-items:center;min-height:32px;display:flex}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}.goal-flash{transition:none}}:root[data-reduce-motion="1"] *,:root[data-reduce-motion="1"] :before,:root[data-reduce-motion="1"] :after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}:root[data-reduce-motion="1"] .goal-flash{transition:none}.formation-picker{margin-top:var(--sp-1)}.fp-grid{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.fp-card{text-align:left;cursor:pointer;color:var(--ink);border-radius:var(--r-md);font-family:var(--font-body);background:0 0;border:0;gap:6px;padding:0;display:grid}.fp-card .fp-canvas{transition:box-shadow .15s}.fp-card:hover .fp-canvas{box-shadow:0 0 0 1px color-mix(in srgb,var(--brass) 45%,transparent)}.fp-card.is-selected .fp-canvas{box-shadow:0 0 0 2px var(--brass)}.fp-card:disabled{opacity:.5;cursor:not-allowed}.fp-canvas{aspect-ratio:1.7;background:var(--felt-deep);border-radius:var(--r-md);width:100%;height:auto;display:block}.fp-name{font-size:var(--fs-md);color:var(--chalk);font-weight:600}.fp-card.is-selected .fp-name{color:var(--brass-hot)}.fp-blurb{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--muted);min-height:2.6em;line-height:1.4}.fp-grid .fp-card:last-child:nth-child(odd){grid-column:1/-1}.title-picker{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.title-chip{background:var(--felt-deep);color:var(--ink);border-radius:var(--r-sm);cursor:pointer;min-height:34px;font-size:var(--fs-sm);border:1px solid #ffffff1f;align-items:center;gap:6px;padding:7px 10px;display:inline-flex}.title-chip b{font-weight:600}.title-chip span{font-size:var(--fs-2xs);color:var(--muted)}.title-chip:hover:not(:disabled){border-color:color-mix(in srgb, var(--brass) 50%, transparent)}.title-chip.is-active{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot)}.title-chip.is-locked{opacity:.5;cursor:not-allowed;border-style:dashed}.sb-side{align-items:center;gap:9px;min-width:0;display:flex}.sb-side.sb-red{justify-content:flex-end}.sb-avatar{border-radius:2px;flex:none;width:30px;height:30px;display:block;overflow:hidden}.sb-avatar[hidden]{display:none}.sb-avatar svg,.sb-avatar img{object-fit:contain;width:100%;height:100%;display:block}.sb-meta{gap:1px;min-width:0;display:grid}.sb-red .sb-meta{text-align:right}.sb-name{font-family:var(--font-display);font-size:var(--fs-md);letter-spacing:.06em;white-space:nowrap;text-overflow:ellipsis;max-width:13ch;font-weight:400;display:block;overflow:hidden}.sb-blue .sb-name{color:var(--blue)}.sb-red .sb-name{color:var(--red)}.sb-title{font-size:var(--fs-2xs);color:var(--muted);letter-spacing:.04em}.sb-title[hidden]{display:none}.sb-score{font-size:var(--fs-3xl);font-weight:700;line-height:1}.sb-blue .sb-score{color:var(--blue)}.sb-red .sb-score{color:var(--red)}@media (width<=720px){.sb-avatar{width:24px;height:24px}.sb-name{font-size:var(--fs-sm);max-width:9ch}.sb-title{display:none}.sb-score{font-size:var(--fs-2xl)}}.scorebar.is-flipped .sb-blue{flex-direction:row-reverse;grid-column:3;justify-content:flex-end}.scorebar.is-flipped .sb-red{flex-direction:row-reverse;grid-column:1;justify-content:flex-start}.scorebar.is-flipped .sb-blue .sb-meta{text-align:right}.scorebar.is-flipped .sb-red .sb-meta{text-align:left}.scorebar.is-portrait{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr)}.scorebar.is-portrait .sb-blue,.scorebar.is-portrait .sb-red,.scorebar.is-portrait .turn,.scorebar.is-portrait .online-session-strip{grid-column:1}.scorebar.is-portrait .sb-red{grid-row:1}.scorebar.is-portrait .turn{grid-row:2}.scorebar.is-portrait .sb-blue{grid-row:3}.scorebar.is-portrait.is-flipped .sb-blue{grid-area:1/1}.scorebar.is-portrait.is-flipped .sb-red{grid-area:3/1;justify-content:flex-end}.nf-prefs-root{z-index:var(--z-modal)!important}.nf-confirm-root{z-index:var(--z-confirm)!important}#boot{z-index:var(--z-boot)!important}#shareSheetOverlay{z-index:var(--z-modal)!important}#onlinePhysDiv{z-index:var(--z-dock)!important}body.is-profile-open .top-nav{z-index:var(--z-modal)}.app-toast{left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 88px);z-index:var(--z-toast);opacity:0;pointer-events:none;border-radius:var(--r-md);background:var(--surface-2);width:max-content;max-width:calc(100vw - 32px);color:var(--chalk);border:1px solid var(--line);font-size:var(--fs-sm);padding:10px 16px;transition:opacity .18s,transform .18s;position:fixed;transform:translate(-50%,8px);box-shadow:0 6px 18px #00000073}.app-toast.is-on{opacity:1;transform:translate(-50%)}.site-about{max-width:560px;padding:var(--sp-5) var(--sp-4) var(--sp-6);color:var(--dim);font-size:var(--fs-sm);text-align:center;margin:0 auto;line-height:1.55}.site-about :is(h1,h2){color:var(--dim);font-size:var(--fs-md);letter-spacing:.02em;font-weight:800;line-height:1.2;font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);margin:0;font-style:italic}.site-about summary{min-height:var(--tap);padding:0 var(--sp-3);cursor:pointer;color:var(--dim);font-size:var(--fs-sm);align-items:center;gap:6px;list-style:none;display:inline-flex}.site-about summary::-webkit-details-marker{display:none}.site-about summary:after{content:"+";color:var(--brass)}.site-about details[open] summary:after{content:"−"}.site-about summary:hover,.site-about summary:focus-visible{color:var(--chalk)}.site-about details p{margin:0 0 var(--sp-3)}.site-about b{color:var(--chalk);font-weight:600}.site-about-links{justify-content:center;gap:var(--sp-1) var(--sp-4);flex-wrap:wrap;display:flex}.site-about-links a{color:var(--dim);text-underline-offset:2px;text-decoration:underline}.site-about-links a:hover,.site-about-links a:focus-visible{color:var(--brass)}html[lang=en] .site-about>[lang=tr],html:not([lang=en]) .site-about>[lang=en],body[data-app-view=play] .site-about{display:none}@media (width<=720px){.site-about{padding:var(--sp-4) var(--sp-4) calc(var(--tap) + 30px + env(safe-area-inset-bottom))}body:has(.home-hub[data-tab]:not([data-tab=play])) .site-about{display:none}}html body[data-app-view=play] .app-shell.board-first{padding-bottom:env(safe-area-inset-bottom,0px)}:root{--plate-fill:linear-gradient(180deg,var(--brass-hot) 0%,var(--brass) 58%,color-mix(in srgb,var(--brass) 82%,#000) 100%);--plate-edge:inset 0 1px 0 #ffffff61,inset 0 -2px 0 #00000038,0 6px 18px #00000052;--plate-ink:#1b1608;--walnut-frame:0 0 0 3px #3a2416,0 0 0 4px color-mix(in srgb,var(--brass) 45%,transparent),0 10px 28px #00000073;--row-min:60px}.nf-sec{align-items:center;gap:var(--sp-3);margin:var(--sp-5) 0 var(--sp-1);font-size:var(--fs-sm);color:var(--brass);font-weight:700;line-height:1.4;display:flex}.nf-sec:after{content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--brass) 38%,transparent),transparent 85%);flex:1;height:1px}.nf-sec:first-child{margin-top:0}.nf-sec-meta{color:var(--dim);white-space:nowrap;order:2;font-weight:400}.nf-rows{margin:0;padding:0;list-style:none;display:grid}.nf-row{width:100%;min-height:var(--row-min);border-radius:var(--r-sm);color:var(--chalk);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--t-state);background:0 0;border:0;align-items:center;gap:14px;margin:0;padding:10px 6px;text-decoration:none;display:flex;position:relative}.nf-row+.nf-row:before,.nf-rows>li+li>.nf-row:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:44px;right:6px}.nf-row:hover{background:color-mix(in srgb,var(--chalk) 4%,transparent)}.nf-row:active,.nf-row.is-pressed{background:color-mix(in srgb,var(--brass) 10%,transparent)}.nf-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.nf-row:disabled{cursor:default;opacity:.55}.nf-row-ico{width:24px;height:24px;color:var(--brass);flex:none}.nf-row-ico svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px;display:block}.nf-row-text{flex:1;gap:1px;min-width:0;display:grid}.nf-row-text>b{font-size:var(--fs-lg);color:var(--chalk);font-weight:600;line-height:1.3}.nf-row-text>span{font-size:var(--fs-sm);color:var(--dim);line-height:1.4}.nf-row-meta{font-size:var(--fs-sm);color:var(--dim);white-space:nowrap;flex:none;align-items:center;gap:6px;display:inline-flex}.nf-row-chev{width:18px;height:18px;color:var(--dim);flex:none}.nf-row-chev svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px;display:block}.nf-dot{background:var(--dim);border-radius:50%;flex:none;width:8px;height:8px}.nf-dot.is-on{background:var(--ok);box-shadow:0 0 8px color-mix(in srgb,var(--ok) 70%,transparent)}.nf-dot.is-busy{background:var(--warn)}.nf-plate{width:100%;min-height:56px;padding:10px var(--sp-4);border-radius:var(--r-lg);background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink);font:inherit;text-align:center;cursor:pointer;text-shadow:0 1px #ffffff47;transition:filter var(--t-state),transform .12s;border:0;align-content:center;justify-items:center;gap:2px;font-weight:700;display:grid}.nf-plate:hover{filter:brightness(1.05)}.nf-plate:active{filter:brightness(.97);transform:translateY(1px)}.nf-plate:focus-visible{box-shadow:var(--plate-edge),var(--focus-ring);outline:none}.nf-text-btn{min-height:var(--tap);padding:0 var(--sp-3);border-radius:var(--r-sm);color:var(--brass);font:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:6px;font-weight:600;display:inline-flex}.nf-text-btn:hover{color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.nf-text-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.nf-seg{border-radius:var(--r-sm);background:var(--surface);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;padding:3px;display:grid}.nf-seg>button{min-width:0;min-height:42px;color:var(--dim);font:inherit;cursor:pointer;transition:background var(--t-state),color var(--t-state);background:0 0;border:0;border-radius:8px;padding:6px 8px;font-weight:600}.nf-seg>button:hover{color:var(--chalk)}.nf-seg>button.is-active,.nf-seg>button[aria-pressed=true],.nf-seg>button[aria-checked=true]{background:var(--surface-2);color:var(--chalk);box-shadow:inset 0 0 0 1px var(--brass)}.nf-seg>button:focus-visible{box-shadow:var(--focus-ring);outline:none}.nf-radio{border:2px solid color-mix(in srgb,var(--chalk) 28%,transparent);border-radius:50%;flex:none;width:22px;height:22px}[aria-pressed=true]>.nf-radio,.is-active>.nf-radio{border-color:var(--brass);background:radial-gradient(circle,var(--brass) 0 5px,transparent 5.5px)}.nf-field{width:100%;min-height:var(--tap);border-radius:var(--r-sm);background:var(--surface-2);color:var(--chalk);font:inherit;border:1px solid #0000;padding:10px 12px}.nf-field::placeholder{color:color-mix(in srgb,var(--dim) 85%,transparent)}.nf-field:focus{border-color:color-mix(in srgb,var(--brass) 65%,transparent);outline:none}.nf-stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:0;margin:0;display:grid}.nf-stats>div{border-left:1px solid var(--line);gap:2px;padding:6px 12px;display:grid}.nf-stats>div:first-child{border-left:0;padding-left:0}:is(.nf-row,.nf-plate,.nf-text-btn,.nf-seg,.nf-sec)[hidden]{display:none}@media (prefers-reduced-motion:reduce){.nf-row,.nf-plate,.nf-seg>button{transition:none}}.home-hub-dashboard{min-height:calc(100vh - var(--topnav-h,58px));min-height:calc(100dvh - var(--topnav-h,58px));flex-direction:column;padding:0 0 6px;animation:.5s ease-out both homeHubIn;display:flex;position:relative;overflow:visible}.home-hub-enter{animation:.4s ease-out both homeHubIn}@keyframes homeHubIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.home-hub-atmosphere{pointer-events:none;z-index:var(--z-board);background:radial-gradient(ellipse 90% 55% at 50% 0%, color-mix(in srgb, var(--brass) 12%, transparent), transparent 55%), radial-gradient(ellipse 50% 40% at 10% 80%, #1c483059, transparent 50%), linear-gradient(165deg, var(--felt-deep) 0%, var(--felt-mid) 42%, var(--felt-deep) 100%);position:absolute;inset:0}.home-hub-atmosphere:before{content:"";border:1px solid color-mix(in srgb, var(--brass) 10%, transparent);opacity:.45;background:linear-gradient(90deg,#0000 49.6%,#ffffff09 50%,#0000 50.4%),linear-gradient(#0000 49.6%,#ffffff08 50%,#0000 50.4%);position:absolute;inset:10% 8%;-webkit-mask-image:radial-gradient(#000 35%,#0000 75%);mask-image:radial-gradient(#000 35%,#0000 75%)}.hub-grid{position:relative}.nf-avatar{place-items:center;display:inline-grid}.nf-avatar svg,.nf-avatar img{object-fit:contain;width:100%;height:100%;display:block}.hub-grid{gap:var(--sp-4);padding:var(--sp-4) 18px 0;flex:1;grid-template-columns:296px minmax(0,1fr) 324px;align-items:start;display:grid}.hub-widget{margin:0 0 var(--sp-3);background:0 0;border:0;border-radius:0;padding:0}.hub-widget-muted{opacity:.92}.hub-widget h2{align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-1);font-size:var(--fs-sm);color:var(--brass);font-weight:700;line-height:1.4;display:flex}.hub-widget h2:after{content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--brass) 38%,transparent),transparent 85%);flex:1;height:1px}.hub-widget-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-1);display:flex}.hub-widget-head h2{flex:1;margin:0}.hub-live-meta{font-size:var(--fs-sm);color:var(--dim);white-space:nowrap}.hub-widget-note,.hub-widget-body{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.4}.hub-widget-body{color:var(--ink);margin-top:0}.hub-streak-count{font-family:var(--font-display);font-size:var(--fs-3xl);letter-spacing:.04em;color:var(--brass-soft);align-items:baseline;gap:var(--sp-2);flex-wrap:wrap;margin:0 0 10px;display:flex}.hub-streak-count b{font-weight:400}.hub-streak-quiet{font-size:var(--fs-sm);color:var(--muted);margin:0 0 10px;line-height:1.4}.hub-streak-flame{background:linear-gradient(180deg,var(--brass-hot) 0%,var(--brass) 55%,color-mix(in srgb, var(--brass) 65%, #000) 100%);clip-path:polygon(50% 0%,70% 35%,100% 45%,75% 100%,50% 82%,25% 100%,0% 45%,30% 35%);flex-shrink:0;align-self:center;width:14px;height:18px;display:inline-block}.hub-streak-unit{font-size:var(--fs-lg);letter-spacing:.06em;color:var(--brass);font-family:var(--font-body)}.hub-streak-days{gap:var(--sp-1);margin-bottom:var(--sp-2);grid-template-columns:repeat(7,1fr);display:grid}.hub-streak-day{aspect-ratio:1;text-align:center;width:100%;max-width:40px;font-size:var(--fs-2xs);color:var(--dim);border:1px solid var(--line);background:0 0;border-radius:50%;justify-self:center;place-items:center;min-width:0;padding:0;display:grid}.hub-streak-day.is-today{border-color:var(--brass);color:var(--brass)}.hub-streak-day.is-hot{background:var(--plate-fill);color:var(--plate-ink);border-color:#0000;font-weight:700}.hub-week-teaser{margin:0}.hub-social[hidden]{display:none!important}@media (width>=1101px){.home-hub-dashboard.hub-novice .hub-grid{grid-template-columns:296px minmax(0,1fr) 324px}}@media (width>=721px){.home-hub-dashboard.hub-novice :is(#hubStreakWidget,#hubWeeklyQuestWidget,#hubRankedWidget){display:none}}.hub-ranked-row{align-items:center;gap:var(--sp-3);display:flex}.hub-tier-badge{background:var(--plate-fill);width:44px;height:44px;box-shadow:var(--plate-edge);color:var(--plate-ink);font-size:var(--fs-xl);border-radius:50%;flex-shrink:0;place-items:center;font-weight:700;display:grid}.hub-open-rooms{text-align:left}.hub-open-rooms-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.hub-open-rooms-head .hub-btn-ghost{white-space:nowrap;flex:0 auto;max-width:100%}.hub-open-rooms-head .hub-btn-ghost[hidden]{display:none}.hub-widget-online .hub-widget-body.is-clickable{cursor:pointer}.hub-widget-online .hub-widget-body.is-clickable:hover{color:var(--brass-soft)}.hub-open-rooms h2,.hub-weekly h2,.hub-bot-tables h2{font-size:var(--fs-2xs);letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);margin:0;font-weight:600}.hub-open-rooms-head h2{flex:1;min-width:0;margin:0}.hub-room-empty{gap:var(--sp-1);padding:var(--sp-2) 0;margin-bottom:var(--sp-2);text-align:left;background:0 0;border:0;justify-items:start;display:grid}.hub-room-empty[hidden]{display:none!important}.hub-room-empty .hub-widget-note{margin:0}.hub-room-empty-cta{justify-self:start}.hub-join-private-card{margin-top:var(--sp-3)}.hub-section-sep-label{margin:0 0 var(--sp-2);font-size:var(--fs-sm);color:var(--dim);font-weight:600}.hub-bot-expand{margin-top:var(--sp-1)}.hub-widget-online .hub-online-retry{margin-top:var(--sp-1);padding-left:0}.hub-ranked-placement{justify-content:space-between;align-items:center;gap:var(--sp-3);display:flex}.hub-ranked-placement .hub-btn-brass{width:100%;margin-top:10px}.hub-ranked-placement[hidden],.hub-ranked-complete[hidden],#hubRankedComplete[hidden]{display:none!important}.hub-room-list,.hub-week-list,.hub-week-podium{gap:0;margin:0;padding:0;list-style:none;display:grid}.hub-room-list li{justify-content:space-between;align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border:0;border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink);background:0 0;border-radius:0;display:flex}.hub-room-list li:first-child{border-top:0}.hub-room-list li span{gap:2px;min-width:0;display:grid}.hub-room-list li>span:not(.hub-room-face){flex:1}.hub-room-face{flex:0 0 36px;width:36px;height:36px;display:block}.hub-room-face .nf-avatar{width:100%;height:100%}.hub-room-list li small{font-size:var(--fs-2xs);letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.hub-room-list li>span>b{font-size:var(--fs-lg);color:var(--chalk);font-weight:600}.hub-room-list li.hub-room-full{opacity:.55}.hub-room-list li.hub-room-full .hub-btn-brass,.hub-room-list li.hub-room-full .hub-row-action{cursor:not-allowed;opacity:.7}.hub-room-list .hub-row-action,.hub-join-row .hub-btn-ghost{text-align:center;flex-shrink:0;min-width:96px}.hub-widget .hub-fold-more,.hub-widget .hub-bot-expand{text-align:left;padding-left:0}.hub-room-meta{font-size:var(--fs-xs);color:var(--muted);margin-top:2px;display:block}.hub-bot-blurb{font-size:var(--fs-xs);color:var(--muted);margin-top:4px;line-height:1.35;display:block}.hub-bot-bars{gap:3px;max-width:200px;margin-top:6px;display:grid}.hub-bot-bar-row{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);grid-template-columns:76px 1fr;align-items:center;gap:6px;display:grid}.hub-bot-bar-track{background:#ffffff14;border-radius:2px;height:4px;display:block;overflow:hidden}.hub-bot-bar-track>i{background:color-mix(in srgb, var(--brass) 75%, transparent);border-radius:2px;height:100%;display:block}.hub-bot-tables{margin-top:0}.hub-week-podium li{padding:10px 0 10px var(--sp-3);border:0;border-left:3px solid var(--line);justify-content:space-between;gap:var(--sp-2);color:var(--chalk);font-size:var(--fs-sm);background:0 0;border-radius:0;display:flex}.hub-week-podium .place-1{border-left-color:var(--brass-hot)}.hub-week-podium .place-2{border-left-color:#c9d2d6}.hub-week-podium .place-3{border-left-color:#b87333}.hub-week-list li{padding:6px var(--sp-1);font-size:var(--fs-sm);color:var(--muted);border-bottom:1px solid #ffffff0d}.hub-challenge-list li{justify-content:space-between;gap:var(--sp-3);padding:var(--sp-3) 0;border:0;border-top:1px solid var(--line);background:0 0;border-radius:0;align-items:flex-start;display:flex}.hub-challenge-list li:first-child{border-top:0}.hub-challenge-list li.is-done b{color:var(--brass-hot)}.hub-challenge-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hub-tier-tag{font-size:var(--fs-2xs);border-radius:var(--r-pill);color:var(--muted);border:1px solid #ffffff1f;padding:1px 8px}.hub-tier-easy{color:#9bc49b;border-color:#6a9a6a80}.hub-tier-medium{border-color:color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass-soft)}.hub-tier-hard{color:#d9a090;border-color:#c0706080}.hub-challenge-list b{font-size:var(--fs-lg);color:var(--chalk);font-weight:600;display:block}.hub-challenge-list span{font-size:var(--fs-sm);color:var(--dim);margin-top:2px;display:block}.hub-challenge-list em{font-style:normal;font-size:var(--fs-sm);color:var(--brass);white-space:nowrap}.hub-challenge-bar{background:var(--surface-2);border-radius:2px;max-width:220px;height:3px;margin-top:8px;overflow:hidden}.hub-challenge-fill{background:linear-gradient(90deg,var(--brass),var(--brass-hot));border-radius:var(--r-sm);height:100%}.hub-challenge-meta{flex-shrink:0;justify-items:end;gap:6px;display:grid}.hub-daily-actions{justify-content:flex-end;margin-top:8px;display:flex}.hub-btn-claim{background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink);font-size:var(--fs-sm);cursor:pointer;border-radius:var(--r-sm);min-height:36px;font-weight:700;font-family:var(--font-body);border:0;padding:6px 12px}.hub-btn-claim:hover:not(:disabled){filter:brightness(1.05)}.hub-btn-claim:disabled,.hub-btn-claim.is-claimed{cursor:default;box-shadow:none;color:var(--dim);background:0 0;font-weight:600}.hub-toast{padding:var(--sp-2) var(--sp-3);font-size:var(--fs-sm);color:var(--chalk);border:0;border-left:3px solid var(--brass);background:var(--surface);border-radius:0 var(--r-sm) var(--r-sm) 0;margin:10px 0 0;line-height:1.35}.hub-toast[hidden]{display:none!important}@media (width>=721px){.hub-left,.hub-social{padding:var(--sp-4);border-radius:var(--r-lg);background:color-mix(in srgb,var(--surface) 72%,transparent)}.hub-left>:last-child,.hub-social>:last-child{margin-bottom:0}}.hub-center{text-align:center;padding:0 var(--sp-2) var(--sp-2);flex-direction:column;align-items:center;display:flex}.hub-identity{align-items:center;gap:var(--sp-4);text-align:left;width:100%;padding:var(--sp-2) 0 var(--sp-3);margin-bottom:var(--sp-1);background:0 0;border:0;border-radius:0;display:flex}.hub-identity-avatar{cursor:pointer;width:64px;height:64px;color:inherit;background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;padding:0;transition:transform .15s,box-shadow .15s;display:grid;overflow:visible}.hub-identity-avatar svg,.hub-identity-avatar img{object-fit:contain;width:64px;height:64px;display:block}.hub-identity-avatar:hover{transform:scale(1.04)}.hub-identity-avatar:focus-visible{box-shadow:var(--focus-ring);outline:none}.hub-identity-meta{flex:1;gap:2px;min-width:0;display:grid}.hub-identity-name{font-size:var(--fs-2xl);color:var(--chalk);font-weight:700;line-height:1.2}.hub-identity-title{font-size:var(--fs-sm);color:var(--brass)}.hub-identity-xp{gap:var(--sp-1);grid-template-columns:1fr;align-items:center;margin-top:6px;display:grid}.hub-identity-xp span{font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.hub-identity-xp-bar{background:var(--surface-2);border-radius:2px;max-width:240px;height:4px;overflow:hidden}.hub-identity-xp-fill{background:linear-gradient(90deg,var(--brass),var(--brass-hot));width:0;height:100%}.hub-identity{flex-wrap:wrap}.hub-account{gap:6px;display:grid}.hub-account[hidden]{display:none!important}.hub-google-btn{width:100%;min-height:var(--tap);border-radius:var(--r-md);color:#e3e3e3;font:600 var(--fs-sm)/1 var(--font-body);cursor:pointer;background:#131314;border:1px solid #8e918f;justify-content:center;align-items:center;gap:10px;padding:0 14px;display:inline-flex}.hub-google-btn:hover:not(:disabled){background:#1f1f20;box-shadow:0 1px 3px #0000004d}.hub-google-btn:disabled{opacity:.7;cursor:progress}.hub-google-btn[hidden]{display:none}.hub-google-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.hub-google-g{flex:none;width:18px;height:18px}.hub-account-pitch,.hub-account-note{font-size:var(--fs-xs);color:var(--muted);margin:0;line-height:1.35}.hub-account-note{color:var(--brass-soft)}.hub-account-linked{font-size:var(--fs-sm);color:#9bd4a6;flex-wrap:wrap;align-items:center;gap:6px;margin:0;display:flex}.hub-account-linked[hidden],.hub-account-pitch[hidden],.hub-account-note[hidden]{display:none}.hub-account-signout{color:var(--muted);font:inherit;font-size:var(--fs-xs);cursor:pointer;background:0 0;border:0;min-height:32px;margin-left:auto;text-decoration:underline}.hub-account-signout:hover{color:var(--ink)}.hub-hero{gap:var(--sp-4);text-align:left;width:min(560px,100%);box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:grid}.home-attract{box-shadow:var(--walnut-frame);background:#2a1a10;border-radius:6px;margin:4px 4px 0;overflow:hidden}.home-attract canvas{aspect-ratio:1.76;width:100%;height:auto;display:block}.home-play-primary{min-height:64px}.home-play-primary[data-action=chooseDifficulty] .home-play-eyebrow{display:none}.home-play-eyebrow{font-size:var(--fs-sm);opacity:.8;font-weight:600}.home-play-label{font-size:var(--fs-2xl);font-weight:700;line-height:1.15}.home-play-sub{font-size:var(--fs-sm);opacity:.78;font-weight:600}.hub-friend-cta,.home-center-links{display:grid}.hub-friend-cta .nf-sec,.home-center-links .nf-sec{margin-top:var(--sp-1)}.hub-join-row{margin:var(--sp-2) 0;grid-template-columns:1fr auto;gap:6px;display:grid}.hub-join-private{margin-top:0}.hub-join-row input{background:var(--surface-2);width:100%;color:var(--chalk);min-height:var(--tap);border-radius:var(--r-sm);font:inherit;border:1px solid #0000;padding:9px 12px}.hub-join-row input:focus{border-color:color-mix(in srgb,var(--brass) 65%,transparent);outline:none}.hub-btn-brass{border:1px solid color-mix(in srgb, var(--brass) 55%, transparent);background:var(--brass);color:var(--felt-deep);padding:9px var(--sp-3);min-height:var(--tap);cursor:pointer;border-radius:var(--r-md);font-weight:700;font-family:var(--font-body)}.hub-btn-ghost{color:var(--brass);font-weight:600;font-size:var(--fs-md);padding:var(--sp-2) var(--sp-3);min-height:var(--tap);cursor:pointer;text-align:right;white-space:nowrap;border-radius:var(--r-sm);background:0 0;border:0}.hub-btn-ghost:hover:not(:disabled){color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.hub-btn-ghost:disabled{color:var(--dim);cursor:default}.hub-friend-list,.hub-challenge-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.hub-friend-list{max-height:160px;overflow:auto}.hub-friend-list li{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 0;border:0;border-top:1px solid var(--line);font-size:var(--fs-sm);background:0 0;border-radius:0;display:flex}.hub-friend-list li:first-child{border-top:0}.hub-friend-list b{flex:1;font-weight:600}.hub-friend-status{background:var(--muted);border-radius:50%;width:8px;height:8px}.hub-friend-status-online{background:var(--ok)}.hub-friend-status-idle{background:var(--brass)}.hub-friend-remove{color:var(--muted);cursor:pointer;font-size:var(--fs-lg);min-width:44px;min-height:var(--tap);background:0 0;border:none;line-height:1}.hub-empty{font-size:var(--fs-sm);color:var(--muted);margin:0}.hub-chat-log{max-height:180px;margin-bottom:var(--sp-2);padding:var(--sp-2) 0;background:0 0;border:0;border-radius:0;gap:8px;display:grid;overflow:auto}.hub-chat-row{font-size:var(--fs-sm);gap:2px;display:grid}.hub-chat-row b{color:var(--brass);font-size:var(--fs-xs)}.hub-chat-row span{color:var(--ink);line-height:1.35}.hub-chat-row.is-pending{opacity:.6}.hub-chat-row.is-failed{opacity:1}.hub-chat-row.is-failed span{color:var(--dim);text-decoration:line-through}.hub-chat-note{color:var(--red);font-size:var(--fs-xs)}.hub-chat-hint{color:var(--dim);font-size:var(--fs-xs);margin:6px 0 0}#hubChatInput:disabled,#hubChatSend:disabled{opacity:.5;cursor:not-allowed}@media (width<=1100px){.hub-grid{grid-template-columns:1fr 1fr;grid-template-areas:"center center""left social"}.hub-center{grid-area:center}.hub-left{grid-area:left}.hub-social{grid-area:social}}@media (width<=720px){.hub-grid{padding:var(--sp-3) var(--sp-4);gap:var(--sp-4);grid-template-columns:minmax(0,1fr);grid-template-areas:none}.home-center-links{grid-template-columns:minmax(0,1fr)}.hub-left,.hub-center,.hub-social{display:contents}.hub-grid>*,.hub-left>*,.hub-center>*,.hub-social>*{min-width:0}.hub-hero{gap:var(--sp-4);order:1;width:100%}#hubOnlineWidget,#hubAndroidBeta{order:2;width:100%;margin-top:0}.hub-identity{order:3;margin-bottom:0}#hubProfileLinks{order:4}#hubAccountSec{order:15}#hubDailyWidget{order:5}#hubStreakWidget{order:6}#hubWeeklyQuestWidget{order:7}.hub-footer-links{order:20}#hubRoomsWidget{order:9}#hubBotTables{order:10}#hubFriendsWidget{order:11}#hubChatWidget{order:12}#hubWeeklyWidget{order:13}#hubRankedWidget{order:14}.hub-center{padding-top:var(--sp-2)}.home-attract canvas{aspect-ratio:1.76}}.hub-tabbar{display:none}@media (width<=720px){.home-hub[data-tab=play] [data-hub-sec]:not([data-hub-sec=play]),.home-hub[data-tab=quests] [data-hub-sec]:not([data-hub-sec=quests]),.home-hub[data-tab=social] [data-hub-sec]:not([data-hub-sec=social]),.home-hub[data-tab=profile] [data-hub-sec]:not([data-hub-sec=profile]){display:none!important}.hub-grid{padding-bottom:calc(var(--tap) + 30px + env(safe-area-inset-bottom));align-content:start}.hub-tabbar{z-index:var(--z-dock);padding:4px 6px env(safe-area-inset-bottom);background:color-mix(in srgb,var(--felt) 94%,transparent);border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);grid-template-columns:repeat(4,1fr);display:grid;position:fixed;bottom:0;left:0;right:0}.hub-tab{min-height:calc(var(--tap) + 8px);color:var(--dim);cursor:pointer;font-family:var(--font-body);font-size:var(--fs-xs);letter-spacing:.02em;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-content:center;justify-items:center;gap:3px;font-weight:700;display:grid;position:relative}.hub-tab svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.hub-tab[aria-selected=true]{color:var(--brass)}.hub-tab[aria-selected=true]:before{content:"";background:var(--brass);border-radius:2px;height:2px;position:absolute;top:-4px;left:28%;right:28%}.hub-tab:focus-visible{box-shadow:var(--focus-ring);border-radius:10px;outline:none}}.hub-bot-list .hub-bot-bars{display:none}.hub-bot-list .hub-bot-blurb{-webkit-line-clamp:1;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.hub-bot-list .hub-room-face{flex-basis:40px;width:40px;height:40px}.hub-room-list li.hub-room-own{border-color:var(--accent,var(--brass));background:color-mix(in srgb, var(--accent,var(--brass)) 10%, transparent)}.hub-room-own-actions{flex-shrink:0;justify-items:end;gap:6px;display:grid}.hub-room-own-badge{border-radius:var(--r-sm);border:1px solid var(--accent,var(--brass));color:var(--brass-soft);font-size:var(--fs-2xs);letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;font-weight:700;display:inline-block}.hub-playing-host{margin-top:var(--sp-2)}.hub-playing-host:empty{display:none}.hub-playing-list li{opacity:.85}.hub-identity-xp-meta{font-size:var(--fs-xs);letter-spacing:.04em;text-transform:none;color:var(--muted);white-space:normal;margin:0;line-height:1.35}.hub-primary-block{align-items:stretch;gap:var(--sp-2);flex-direction:column;width:100%;margin-top:0;display:flex}.hub-primary-block .home-play-primary{width:100%;margin-top:0}.hub-online-card{margin-top:var(--sp-3);text-align:left;width:min(560px,100%)}.hub-online-actions{gap:var(--sp-2);margin-top:var(--sp-2);flex-wrap:wrap;display:flex}.hub-online-card .hub-online-retry{margin-top:var(--sp-1)}@media (width<=420px){.hub-room-list li:not(.hub-room-bot){align-items:stretch;gap:var(--sp-2);flex-direction:column}.hub-room-list li.hub-room-bot .hub-row-action{min-width:0}.hub-room-list li .hub-btn-brass,.hub-room-own-actions{justify-items:stretch;width:100%}.hub-room-own-actions .hub-btn-ghost{width:100%}.hub-room-list li span{overflow-wrap:anywhere;min-width:0}.hub-bot-bars{max-width:100%}.hub-open-rooms-head h2{font-size:var(--fs-sm)}}@media (prefers-reduced-motion:reduce){.home-hub-dashboard,.home-hub-enter{animation:none}}.home-play-primary:focus-visible,.hub-btn-brass:focus-visible,.hub-btn-ghost:focus-visible{box-shadow:var(--focus-ring);outline:none}.hub-footer-links{margin:var(--sp-3) 0 0;font-size:var(--fs-xs);color:var(--muted)}.hub-privacy-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.home-hub-dashboard .hub-friend-cta .hub-friend-cta-title{font-weight:700}.hub-beta[hidden]{display:none}.hub-beta{padding:var(--sp-3) var(--sp-4);border-radius:var(--r-lg);background:var(--surface);border-left:3px solid var(--brass)}.hub-beta h2:after{display:none}.hub-beta-head{justify-content:space-between;align-items:center;gap:var(--sp-2);display:flex}.hub-beta-kicker{font-size:var(--fs-xs);color:var(--brass);margin:0}.hub-beta-close{min-width:var(--tap);min-height:var(--tap);margin:calc(var(--sp-2) * -1) calc(var(--sp-2) * -1) 0 0;color:var(--dim);cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;font-size:22px}.hub-beta-close:focus-visible{outline:2px solid var(--brass);outline-offset:2px}.hub-beta .hub-online-actions a.hub-btn-ghost{white-space:normal;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}:is(.home-hub-dashboard,.top-nav,.mode-lobby-card,.placement-card,.profile-setup-card,.onboarding-card,.profile-dock-panel,.nf-prefs-panel,.play-settings-drawer,.leaderboard-screen,.nf-confirm-panel,.online-waiting-room,.online-connection-gate,.online-formation-wrap,.online-queue-card,.match-end-card,.replay-scene,.coach-dock,.share-sheet-card,.site-about){--font-display:var(--font-body);--font-broadcast:var(--font-body);--font-broadcast-stretch:normal;--fs-sm:14px;--fs-md:16px;font-family:var(--font-body);font-style:normal;font-size:var(--fs-md);line-height:1.5}:is(.home-hub-dashboard,.top-nav,.mode-lobby-card,.placement-card,.profile-setup-card,.onboarding-card,.profile-dock-panel,.nf-prefs-panel,.play-settings-drawer,.leaderboard-screen,.nf-confirm-panel,.online-waiting-room,.online-connection-gate,.online-formation-wrap,.online-queue-card,.match-end-card,.replay-scene,.coach-dock,.share-sheet-card,.site-about) :is(h1,h2,h3,h4,button,input,select,textarea,label,b,strong,em,small,span,p,a,li,th,td,summary){font-family:var(--font-body)!important;text-transform:none!important;letter-spacing:normal!important;font-style:normal!important;font-stretch:100%!important}:is(.home-hub-dashboard,.top-nav,.mode-lobby-card,.placement-card,.profile-setup-card,.onboarding-card,.profile-dock-panel,.nf-prefs-panel,.play-settings-drawer,.leaderboard-screen,.nf-confirm-panel,.online-waiting-room,.online-connection-gate,.online-formation-wrap,.online-queue-card,.match-end-card,.replay-scene,.coach-dock,.share-sheet-card,.site-about) :is(button,input,select,textarea){font-weight:600;line-height:1.4;font-size:var(--fs-md)!important}:is(.mode-lobby-card,.placement-card,.profile-setup-card,.onboarding-card,.profile-dock-panel,.nf-prefs-panel,.play-settings-drawer,.leaderboard-screen,.nf-confirm-panel) :is(h1,h2){overflow-wrap:anywhere;font-size:var(--fs-2xl)!important;font-weight:700!important;line-height:1.25!important}:is(.home-hub-dashboard,.mode-lobby-card,.profile-dock-panel,.nf-prefs-panel,.play-settings-drawer) :is(h3,h4){line-height:1.4;font-size:var(--fs-lg)!important;font-weight:700!important}:is(.home-play-label,.home-center-link b,.quick-difficulty-option b){font-weight:700!important;line-height:1.3!important}.home-hub-dashboard .home-play-label{font-size:var(--fs-2xl)}.home-hub-dashboard .home-center-link b{font-size:var(--fs-lg)}.home-hub-dashboard .hub-widget h2{font-size:var(--fs-sm);font-weight:700;line-height:1.4}.home-hub-dashboard .home-play-eyebrow{font-size:var(--fs-sm)}.home-hub-dashboard .home-play-sub{font-size:var(--fs-sm);line-height:1.5}.mode-lobby-card .competitive-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.mode-lobby-card .competitive-tabs button{min-width:0;padding-inline:var(--sp-2);white-space:normal}.mode-lobby-card :is(.casual-mode-copy strong,.competitive-ranked-cta>span){font-size:var(--fs-xl);font-weight:700;line-height:1.3}.mode-lobby-card :is(.solo-section-label,.solo-seat>span,.solo-opponent-copy small,.mode-lobby-kicker){font-size:var(--fs-sm);line-height:1.4}.mode-lobby-card :is(.solo-bot-copy b,.solo-opponent-copy b){font-size:var(--fs-lg);font-weight:700;line-height:1.35}.mode-lobby-card :is(.solo-bot-copy span,.solo-opponent-copy span,.solo-bot-card em){font-size:var(--fs-sm);line-height:1.5}.profile-setup-card .profile-avatar-pick{font-weight:600;line-height:1.25;font-size:var(--fs-sm)!important}.mode-lobby-card .competitive-room-browser-head h3{font-size:var(--fs-sm)!important}.mode-lobby-card .solo-diff button b{font-size:var(--fs-md);font-weight:600}.mode-lobby-card :is(.solo-main,.solo-panel,.solo-setup,.mode-lobby-disc,.formation-picker){min-width:0}.mode-lobby-card .mode-lobby-disc{grid-template-columns:repeat(3,minmax(0,1fr))}.mode-lobby-card .mode-lobby-disc button{white-space:normal;min-width:0}.top-nav .top-nav-drop-text b{font-size:var(--fs-md);font-weight:600;line-height:1.4}.top-nav .top-nav-mobile-group h3{font-size:var(--fs-sm);font-weight:700;line-height:1.4}.top-nav .top-nav-drop-text>span{font-size:var(--fs-sm);line-height:1.5}.top-nav .top-nav-logo-text{font-size:var(--fs-xl);font-weight:700}.play-settings-drawer .section-label{font-size:var(--fs-sm);font-weight:700}.profile-dock-panel .profile-dock-head-meta b{font-size:var(--fs-2xl);font-weight:700;line-height:1.3}.profile-dock-panel :is(.profile-dock-section-label,.profile-dock-title-body>b){font-size:var(--fs-lg);font-weight:700}.profile-dock-panel .profile-dock-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.profile-dock-panel .profile-dock-tab{white-space:normal;min-width:0;font-size:var(--fs-sm)!important}.leaderboard-screen .leaderboard-list li{grid-template-columns:2.2rem minmax(0,1fr) auto auto}.leaderboard-screen .leaderboard-plate b{font-size:var(--fs-sm);overflow-wrap:anywhere;line-height:1.4}.leaderboard-screen :is(.leaderboard-list .wins,.leaderboard-list .elo){font-size:var(--fs-sm)}:is(.home-hub-dashboard,.mode-lobby-card,.profile-dock-panel,.nf-prefs-panel,.play-settings-drawer,.nf-confirm-panel,.onboarding-card,.profile-setup-card,.share-sheet-card) :is(small,label){line-height:1.5;font-size:var(--fs-sm)!important}.site-about h2{font-size:var(--fs-2xl);font-weight:700;line-height:1.3}:is(.home-hub-dashboard,.mode-lobby-card,.profile-dock-panel,.nf-prefs-panel,.play-settings-drawer,.nf-confirm-panel,.onboarding-card,.profile-setup-card,.share-sheet-card) :is(p,small){font-weight:400}:is(.home-center-link>span,.home-play-sub,.top-nav-drop-text>span,.solo-bot-copy span,.solo-bot-card em,.solo-opponent-copy span,.quick-difficulty-option span){font-weight:400!important}.match-end-card .match-end-score{font-weight:700}.profile-dock-panel .profile-dock-stat b{white-space:normal;overflow-wrap:anywhere;text-overflow:clip}@media (width<=720px){.home-hub-dashboard .hub-tab{font-size:var(--fs-xs)!important}.leaderboard-screen .leaderboard-list li{grid-template-columns:2.2rem minmax(0,1fr)}.leaderboard-screen :is(.leaderboard-list .wins,.leaderboard-list .elo){grid-column:2}.mode-lobby-card .lobby-cta-bar{grid-template-columns:minmax(0,1fr)}.mode-lobby-card .lobby-cta-bar .solo-start{width:100%}}.nf-confirm-root{z-index:var(--z-confirm);place-items:center;padding:20px;display:grid;position:fixed;inset:0}.nf-confirm-backdrop{cursor:pointer;background:#060a08b8;border:0;margin:0;padding:0;position:absolute;inset:0}.nf-confirm-panel{z-index:var(--z-hud);border-radius:var(--r-lg);background:var(--surface);width:min(420px,100%);box-shadow:var(--sh-lg), inset 0 1px 0 #ffffff0a;color:var(--chalk);border:0;padding:22px 22px 18px;animation:.18s ease-out nf-confirm-in;position:relative}.nf-confirm-title{font-size:var(--fs-xl);color:var(--chalk);margin:0 0 10px;font-weight:700;line-height:1.3}.nf-confirm-body{color:var(--chalk);margin:0 0 18px;font-size:14px;line-height:1.45}.nf-confirm-body strong{color:var(--red,#ff6b70);font-weight:700}.nf-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.nf-confirm-btn{min-height:var(--tap);border-radius:var(--r-sm);min-width:96px;color:var(--brass);font-family:var(--font-body,inherit);font-size:var(--fs-md);cursor:pointer;background:0 0;border:0;padding:0 16px;font-weight:600}.nf-confirm-btn:hover{color:var(--brass-hot);background:color-mix(in srgb, var(--brass) 8%, transparent)}.nf-confirm-btn:focus-visible{outline:2px solid var(--brass-hot,#f1d46c);outline-offset:2px}.nf-confirm-btn.is-confirm{background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink);font-weight:700}.nf-confirm-btn.is-confirm:hover{filter:brightness(1.05);color:var(--plate-ink)}.nf-confirm-btn.is-danger{background:var(--red,#ff6b70);color:#1a0a0a;border-color:#ff8a8e;font-weight:700}@keyframes nf-confirm-in{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.nf-confirm-panel{animation:none}}html[data-reduce-motion="1"] .nf-confirm-panel{animation:none!important}.quick-difficulty-root{padding:var(--sp-4);padding-top:max(var(--sp-4),env(safe-area-inset-top));padding-bottom:max(var(--sp-4),env(safe-area-inset-bottom))}.quick-difficulty-root .nf-confirm-panel{max-height:calc(100dvh - var(--sp-4) * 2 - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto}.quick-difficulty-options{margin-bottom:var(--sp-2);gap:0;display:grid}.quick-difficulty-option{min-height:var(--row-min);text-align:left;border-radius:var(--r-sm);color:var(--chalk);background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:36px 1fr auto;align-items:center;column-gap:14px;padding:10px 6px;display:grid;position:relative}.quick-difficulty-option+.quick-difficulty-option:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:56px;right:6px}.quick-difficulty-option:hover{background:color-mix(in srgb,var(--brass) 8%,transparent);color:var(--chalk)}.quick-difficulty-stud{background:var(--plate-fill);width:36px;height:36px;box-shadow:var(--plate-edge);color:var(--plate-ink);font-style:normal;font-weight:700;font-size:var(--fs-sm);letter-spacing:.02em;border-radius:50%;grid-row:1/3;place-items:center;display:grid}.quick-difficulty-option b{font-size:var(--fs-lg);grid-column:2;font-weight:600}.quick-difficulty-option span{color:var(--dim);font-size:var(--fs-sm);grid-column:2}.quick-difficulty-option .nf-row-chev{grid-area:1/3/3}.profile-setup-overlay,.mode-lobby-overlay,.placement-overlay{z-index:var(--z-modal);padding:var(--sp-4);background:#060a08eb;grid-template-columns:minmax(0,1fr);place-items:center;display:grid;position:fixed;inset:0}.profile-setup-overlay[hidden],.mode-lobby-overlay[hidden],.placement-overlay[hidden]{display:none!important}.profile-setup-card,.mode-lobby-card,.placement-card{box-sizing:border-box;width:min(520px,100%);max-height:min(92vh,820px);padding:var(--sp-6) 22px;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--sh-lg);font-family:var(--font-body);border:0;animation:.28s ease-out both modeLobbyIn;overflow:auto}.placement-card{width:min(480px,100%)}@keyframes modeLobbyIn{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}.profile-setup-kicker,.mode-lobby-kicker,.placement-kicker{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}.profile-setup-card h2,.mode-lobby-card h2,.placement-card h2{margin:var(--sp-2) 0 var(--sp-2);color:var(--chalk);font-size:clamp(1.5rem,4vw,2rem);font-weight:700}.profile-setup-lead,.mode-lobby-lead,.placement-lead{margin:0 0 var(--sp-4);font-size:var(--fs-md);color:var(--muted);line-height:1.45}.profile-setup-label,.mode-lobby-label{margin:var(--sp-4) 0 var(--sp-2);font-size:var(--fs-sm);letter-spacing:normal;text-transform:none;color:var(--dim);font-weight:600;display:block}#profileSetupName,#modeLobbyJoin{box-sizing:border-box;background:var(--surface-2);width:100%;color:var(--chalk);padding:var(--sp-3);border-radius:var(--r-sm);font:inherit;border:1px solid #0000}#profileSetupName:focus,#modeLobbyJoin:focus{border-color:color-mix(in srgb, var(--brass) 55%, transparent);outline:none}.profile-avatar-grid{gap:var(--sp-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.profile-avatar-pick{color:var(--dim);cursor:pointer;border-radius:var(--r-md);font-size:var(--fs-sm);background:0 0;border:0;justify-items:center;gap:6px;padding:8px 4px;display:grid}.profile-avatar-pick svg,.profile-avatar-pick img{transition:box-shadow var(--t-state);object-fit:contain;border-radius:50%;width:52px;height:52px;display:block}.profile-avatar-pick.is-selected{color:var(--chalk)}.profile-avatar-pick.is-selected :is(svg,img){box-shadow:0 0 0 2px var(--felt),0 0 0 4px var(--brass)}.profile-avatar-pick:hover{color:var(--chalk)}.profile-setup-error{color:var(--red);font-size:var(--fs-sm);margin:10px 0 0}.profile-setup-notice{margin:0 0 var(--sp-4);padding:var(--sp-3);border-radius:var(--r-md);border-left:3px solid var(--brass);background:var(--surface-2);color:var(--chalk);font-size:var(--fs-sm);line-height:1.45}.profile-setup-submit,.mode-lobby-cta,.placement-cta{background:var(--plate-fill);width:100%;min-height:52px;box-shadow:var(--plate-edge);color:var(--plate-ink);padding:13px var(--sp-3);cursor:pointer;border-radius:var(--r-lg);font-weight:700;font-family:var(--font-body);font-size:var(--fs-md);border:0;margin-top:18px}.profile-setup-submit:hover,.mode-lobby-cta:hover,.placement-cta:hover{filter:brightness(1.05)}.profile-setup-actions .profile-setup-submit{flex:1;margin-top:0}.profile-setup-cancel{white-space:nowrap;color:var(--brass);padding:13px var(--sp-3);cursor:pointer;border-radius:var(--r-md);font-weight:700;font-family:var(--font-body);font-size:var(--fs-md);background:0 0;border:0;flex:none}.profile-setup-cancel:hover{color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.profile-setup-cancel:focus-visible{outline:2px solid var(--brass-hot);outline-offset:2px}.mode-lobby-back{color:var(--brass);font-weight:600;font-size:var(--fs-md);min-height:var(--tap);padding:0 var(--sp-2);margin-left:calc(-1 * var(--sp-2));cursor:pointer;margin-bottom:var(--sp-3);border-radius:var(--r-sm);background:0 0;border:0}.mode-lobby-back:hover{color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.mode-lobby-points{margin:0 0 var(--sp-2);color:var(--ink);font-size:var(--fs-sm);padding-left:18px;line-height:1.55}.mode-lobby-lock{margin:var(--sp-3) 0 0;padding:10px var(--sp-3);border:1px solid color-mix(in srgb, var(--brass-hot) 35%, transparent);background:color-mix(in srgb, var(--brass) 10%, transparent);color:var(--brass-hot);font-size:var(--fs-sm);border-radius:var(--r-md);line-height:1.4}.mode-lobby-diff,.mode-lobby-disc,.mode-lobby-actions{border-radius:var(--r-sm);background:var(--surface);grid-template-columns:1fr 1fr 1fr;gap:3px;padding:3px;display:grid}.mode-lobby-actions{grid-template-columns:1fr 1fr}.mode-lobby-diff button,.mode-lobby-disc button,.mode-lobby-actions button{text-align:center;min-width:0;min-height:44px;color:var(--dim);padding:var(--sp-2) 6px;cursor:pointer;font-family:var(--font-body);font-size:var(--fs-md);transition:background var(--t-state),color var(--t-state);background:0 0;border:0;border-radius:8px;place-content:center;gap:2px;font-weight:600;display:grid}.mode-lobby-diff button b,.mode-lobby-actions button b{font-size:var(--fs-md);color:inherit;font-weight:600}.mode-lobby-diff button :is(span,em){display:none}.mode-lobby-actions button span{font-size:var(--fs-sm);color:var(--dim);font-weight:400}.mode-lobby-diff button.is-active,.mode-lobby-disc button.is-active,.mode-lobby-actions button.is-active{background:var(--surface-2);color:var(--chalk);box-shadow:inset 0 0 0 1px var(--brass)}.mode-lobby-diff button:hover,.mode-lobby-disc button:hover,.mode-lobby-actions button:hover{color:var(--chalk)}.mode-lobby-hint,.solo-diff-hint{font-size:var(--fs-sm);color:var(--dim);margin:8px 0 0;line-height:1.4}.solo-diff-hint[hidden]{display:none}.mode-lobby-formation{margin-top:var(--sp-2)}.mode-lobby-card--competitive{border-color:var(--line);background:radial-gradient(ellipse 70% 40% at 50% 0%,color-mix(in srgb,var(--brass-hot) 8%,transparent),transparent 70%), var(--felt);width:min(1280px,100%);height:min(92dvh,860px);padding:0;overflow:auto;box-shadow:0 30px 120px #000000ad}.competitive-topbar,.competitive-header,.competitive-tabs,.competitive-panel{padding-inline:clamp(18px,3vw,34px)}.competitive-topbar{justify-content:space-between;align-items:center;gap:var(--sp-3);border-bottom:1px solid #ffffff12;padding-top:18px;padding-bottom:10px;display:flex}.competitive-topbar .mode-lobby-back{margin:0}.competitive-status{color:var(--muted);font-size:var(--fs-xs);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;display:flex}.competitive-status span{background:var(--ok);border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #53c785bf}.competitive-status em{font-style:normal}.competitive-status[data-connection=connecting] span{background:var(--warn);box-shadow:none}.competitive-status[data-connection=closed] span{background:var(--danger);box-shadow:none}.competitive-offline{border:1px solid var(--line);border-left:3px solid var(--warn);background:var(--surface);color:var(--chalk);font-size:var(--fs-sm);border-radius:10px;margin:14px clamp(18px,3vw,34px) 0;padding:12px 14px;line-height:1.45}.competitive-offline[hidden]{display:none}.competitive-header{justify-content:space-between;align-items:end;gap:var(--sp-4);padding-top:clamp(26px,5vh,52px);padding-bottom:24px;display:flex}.competitive-header h2{margin-bottom:0;font-size:clamp(1.6rem,4vw,2.4rem);line-height:1.15}.competitive-player-tag{text-align:right;justify-items:end;gap:2px;display:grid}.competitive-player-tag small{font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.competitive-player-tag b{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.06em;color:var(--brass-soft);font-weight:400}.competitive-tabs{border-bottom:1px solid #ffffff1a;gap:4px;display:flex}.competitive-tabs button{color:var(--dim);cursor:pointer;min-height:var(--tap);font-weight:600;font-size:var(--fs-md);background:0 0;border:0;padding:12px 18px;position:relative}.competitive-tabs button:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:12px;right:12px}.competitive-tabs button.is-active{color:var(--chalk)}.competitive-tabs button.is-active:after{background:var(--brass)}.competitive-panel{padding-top:30px;padding-bottom:34px}.competitive-panel[hidden]{display:none!important}.ranked-hero{grid-template-columns:210px minmax(0,1fr);align-items:center;gap:clamp(22px,4vw,46px);display:grid}.ranked-crest{isolation:isolate;aspect-ratio:.86;clip-path:polygon(50% 0,91% 18%,86% 72%,50% 100%,14% 72%,9% 18%);color:#ffd0a8;filter:drop-shadow(0 18px 20px #00000073);background:linear-gradient(145deg,#8e603e,#3d251b 72%);align-content:center;place-items:center;gap:2px;width:184px;margin:auto;display:grid;position:relative}.ranked-crest:before{content:"";z-index:-1;clip-path:inherit;background:linear-gradient(160deg,#ffffff1f,#0000 45%);border:1px solid #ffffff42;position:absolute;inset:8px}.ranked-crest-crown{opacity:.85;margin-bottom:2px;font-size:25px}.ranked-crest strong{font-family:var(--font-display);letter-spacing:.04em;font-size:58px;font-weight:400;line-height:.85}.ranked-crest small{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:22px}.ranked-crest--silver{color:#172229;background:linear-gradient(145deg,#dfe5e8,#55636b 72%)}.ranked-crest--gold{color:#372405;background:linear-gradient(145deg,#ffe078,#9b6517 72%)}.ranked-crest--platinum{color:#102d2a;background:linear-gradient(145deg,#b9f1de,#3d7872 72%)}.ranked-crest--diamond{color:#102944;background:linear-gradient(145deg,#bdeaff,#4c77ad 72%)}.ranked-crest--master{color:#28113e;background:linear-gradient(145deg,#f2c6ff,#74489f 70%)}.ranked-season-label{color:var(--brass);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;margin:0;font-weight:700}.ranked-identity h3{font-family:var(--font-display);color:var(--brass-soft);letter-spacing:.05em;margin:4px 0 8px;font-size:clamp(2.3rem,5vw,4rem);font-weight:400;line-height:1}.ranked-rating-line{align-items:baseline;gap:7px;margin-bottom:12px;display:flex}.ranked-rating-line strong{font-family:var(--font-display);font-size:var(--fs-3xl);color:var(--ink);font-weight:400}.ranked-rating-line span{color:var(--muted);font-size:var(--fs-sm)}.ranked-rating-line em{color:var(--brass);font-size:var(--fs-sm);margin-left:auto;font-style:normal}.ranked-progress{border-radius:var(--r-pill);background:#ffffff14;height:9px;overflow:hidden;box-shadow:inset 0 1px 3px #00000080}.ranked-progress span{border-radius:inherit;background:linear-gradient(90deg,var(--brass),var(--brass-hot));height:100%;box-shadow:0 0 16px color-mix(in srgb,var(--brass) 65%,transparent);display:block}.ranked-progress-copy{color:var(--muted);font-size:var(--fs-xs);margin:7px 0 18px}.competitive-ranked-cta{text-align:left;border-radius:var(--r-lg);cursor:pointer;width:100%;min-height:56px;color:var(--plate-ink);background:var(--plate-fill);box-shadow:var(--plate-edge);text-shadow:0 1px #ffffff47;border:0;gap:2px;padding:14px 18px;display:grid;position:relative;overflow:hidden}.competitive-ranked-cta:after{content:"→";font-size:26px;position:absolute;top:50%;right:18px;transform:translateY(-50%)}.competitive-ranked-cta span{font-size:var(--fs-lg);letter-spacing:.01em;font-weight:850}.competitive-ranked-cta small{font-size:var(--fs-xs);opacity:.72;padding-right:36px}.competitive-ranked-cta:hover{filter:brightness(1.05)}.competitive-ranked-cta:active{transform:translateY(1px)}.ranked-stat-grid{padding-top:var(--sp-3);border-top:1px solid var(--line);grid-template-columns:repeat(4,1fr);gap:0;margin-top:24px;display:grid}.ranked-stat-grid div{border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;align-content:start;gap:2px;padding:6px 14px;display:grid}.ranked-stat-grid div:first-child{border-left:0;padding-left:0}.ranked-stat-grid span{font-size:var(--fs-sm);color:var(--dim)}.ranked-stat-grid b{font-size:var(--fs-xl);color:var(--chalk);font-variant-numeric:tabular-nums;font-weight:700}.competitive-trust-row{color:var(--muted);font-size:var(--fs-xs);flex-wrap:wrap;justify-content:center;gap:clamp(12px,3vw,30px);margin-top:18px;display:flex}.competitive-trust-row span:first-letter{color:var(--ok)}.casual-mode-grid{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.casual-mode-card{min-height:var(--row-min);text-align:left;border-radius:var(--r-sm);color:var(--chalk);cursor:pointer;transition:background var(--t-state);background:0 0;border:0;grid-template-columns:28px 1fr auto;align-items:center;gap:14px;padding:12px 6px;display:grid;position:relative}.casual-mode-card+.casual-mode-card:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:48px;right:6px}.casual-mode-card:hover{background:color-mix(in srgb,var(--chalk) 4%,transparent)}.casual-mode-icon{width:28px;height:28px;color:var(--brass);place-items:center;font-size:20px;display:grid}.casual-mode-card>span:nth-child(2){gap:2px;display:grid}.casual-mode-card b{font-size:var(--fs-lg);color:var(--chalk);font-weight:600}.casual-mode-card small{font-size:var(--fs-sm);color:var(--dim);line-height:1.4}.casual-mode-card i{color:var(--dim);font-size:18px;font-style:normal}.competitive-room-browser{margin-top:var(--sp-5);background:0 0;border:0;border-radius:0;overflow:visible}.competitive-room-browser-head{padding:0 0 var(--sp-1);border-bottom:0;justify-content:space-between;align-items:center;gap:16px;display:flex}.competitive-room-browser-head>div{flex:1;gap:0;display:grid}.competitive-room-browser-head small{display:none}.competitive-room-browser-head h3{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);letter-spacing:normal;text-transform:none;color:var(--brass);margin:0;font-weight:700;display:flex}.competitive-room-browser-head h3:after{content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--brass) 38%,transparent),transparent 85%);flex:1;height:1px}.competitive-room-browser-head>span{background:var(--surface);min-width:28px;height:28px;color:var(--dim);font-weight:600;font-size:var(--fs-sm);border:0;border-radius:50%;place-items:center;display:grid}.competitive-rooms-list{display:grid}.competitive-room-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;gap:14px;padding:12px 0;display:grid}.competitive-room-row:last-child{border-bottom:0}.competitive-room-row:has(.competitive-room-face){grid-template-columns:36px 1fr auto}.competitive-room-face{width:36px;height:36px;display:block}.competitive-room-face .nf-avatar,.competitive-room-face img{width:100%;height:100%;display:block}.competitive-room-identity{gap:3px;min-width:0;display:grid}.competitive-room-identity b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.competitive-room-identity small{color:var(--muted)}.competitive-room-row button{min-width:88px;min-height:var(--tap);border-radius:var(--r-sm);background:var(--surface-2);color:var(--brass);cursor:pointer;border:0;padding:0 14px;font-weight:700}.competitive-room-row button:hover{color:var(--brass-hot)}.competitive-rooms-empty{padding:var(--sp-2) 0;text-align:left;color:var(--dim);font-size:var(--fs-sm);margin:0}.competitive-rooms-empty[hidden]{display:none!important}.competitive-join-card{align-items:center;gap:var(--sp-3) 22px;margin-top:var(--sp-5);background:0 0;border:0;border-radius:0;grid-template-columns:minmax(220px,.7fr) minmax(460px,1.3fr);padding:0;display:grid}.competitive-join-card>div:first-child{gap:2px;display:grid}.competitive-join-card b{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);letter-spacing:normal;text-transform:none;color:var(--brass);font-weight:700;display:flex}.competitive-join-card b:after{content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--brass) 38%,transparent),transparent 85%);flex:1;height:1px}.competitive-join-card small{color:var(--dim);font-size:var(--fs-sm)}.competitive-join-row{grid-template-columns:minmax(130px,.72fr) minmax(150px,.9fr) auto;gap:8px;display:grid}.competitive-join-row #modeLobbyJoin{text-transform:uppercase;letter-spacing:.12em;margin:0;font-family:IBM Plex Mono,ui-monospace,monospace}.competitive-join-row #modeLobbyJoinPassword{box-sizing:border-box;background:var(--surface-2);width:100%;color:var(--chalk);padding:var(--sp-3);border-radius:var(--r-sm);font:inherit;border:1px solid #0000;margin:0}.competitive-join-row button{border-radius:var(--r-sm);background:var(--surface-2);color:var(--brass);min-height:var(--tap);cursor:pointer;border:0;padding:10px 16px;font-weight:700}.competitive-join-row button:hover{color:var(--brass-hot)}.competitive-casual-note{text-align:left;margin:var(--sp-4) 0 0;color:var(--dim);font-size:var(--fs-sm)}.competitive-room-composer{padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-sm);border:0;gap:16px;margin-top:18px;display:grid}.competitive-room-composer[hidden]{display:none!important}.room-composer-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.room-composer-head>div{gap:2px;display:grid}.room-composer-head small{color:var(--dim);font-size:var(--fs-sm)}.room-composer-head b{font-size:var(--fs-xl);color:var(--chalk);font-weight:700}.room-composer-head button{width:var(--tap);height:var(--tap);color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:50%;font-size:24px}.room-composer-head button:hover{color:var(--chalk);background:var(--surface-2)}.room-visibility-grid{border-radius:var(--r-sm);background:var(--felt);grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.room-visibility-grid button{text-align:left;color:var(--dim);cursor:pointer;background:0 0;border:0;border-radius:8px;gap:2px;padding:10px 12px;display:grid}.room-visibility-grid button b{color:inherit;font-size:var(--fs-md);font-weight:600}.room-visibility-grid button small{color:var(--dim);line-height:1.35}.room-visibility-grid button.is-active{color:var(--chalk);background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--brass)}.room-composer-field{color:var(--dim);font-size:var(--fs-sm);gap:7px;display:grid}.room-composer-field[hidden]{display:none!important}.room-composer-field input{box-sizing:border-box;border-radius:var(--r-sm);background:var(--felt);width:100%;color:var(--chalk);font:inherit;border:1px solid #0000;padding:12px}.room-composer-field input:focus{border-color:color-mix(in srgb,var(--brass) 65%,transparent);outline:none}.room-composer-field small{color:var(--muted)}.room-composer-error{color:#ff8d7b;font-size:var(--fs-sm);margin:0}.room-composer-error[hidden]{display:none!important}.room-composer-submit{border-radius:var(--r-lg);background:var(--plate-fill);min-height:52px;box-shadow:var(--plate-edge);color:var(--plate-ink);cursor:pointer;border:0;padding:13px 18px;font-weight:700}.solo-status span{background:var(--brass-hot);box-shadow:0 0 12px color-mix(in srgb,var(--brass) 70%,transparent)}.solo-resume{border-radius:0 var(--r-lg) var(--r-lg) 0;border:0;border-left:3px solid var(--brass);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:0 clamp(18px,3vw,34px) 18px;padding:14px 16px;animation:.28s ease-out both modeLobbyIn;display:flex}.solo-resume-copy{gap:3px;min-width:0;display:grid}.solo-resume-copy small{color:var(--brass);font-size:var(--fs-sm);font-weight:700}.solo-resume-copy b{font-size:var(--fs-xl);color:var(--chalk);overflow-wrap:anywhere;font-weight:700}.solo-resume-score{color:var(--brass-hot);padding-inline:6px}.solo-resume-copy>span{color:var(--muted);font-size:var(--fs-xs)}.solo-resume-actions{flex-wrap:wrap;gap:8px;display:flex}.solo-resume-go{border-radius:var(--r-sm);background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink);min-height:var(--tap);cursor:pointer;border:0;padding:11px 16px;font-weight:700}.solo-resume-drop{border-radius:var(--r-sm);color:var(--dim);min-height:var(--tap);cursor:pointer;background:0 0;border:0;padding:11px 14px;font-weight:600}.solo-resume-go:hover{filter:brightness(1.07)}.solo-resume-drop:hover{color:var(--chalk);background:var(--surface-2)}.solo-panel{padding-top:26px}.solo-grid{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:clamp(18px,3vw,34px);display:grid}.solo-pick section[hidden]{display:none!important}.solo-section-label{margin:0 0 var(--sp-2);align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);letter-spacing:normal;text-transform:none;color:var(--brass);font-weight:700;display:flex}.solo-section-label:after{content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--brass) 38%,transparent),transparent 85%);flex:1;height:1px}.solo-section-label:not(:first-child){margin-top:var(--sp-5)}.solo-bot-list{grid-template-columns:minmax(0,1fr);gap:0;display:grid}.solo-bot-card{text-align:left;min-height:var(--row-min);border-radius:var(--r-sm);color:var(--chalk);cursor:pointer;transition:background var(--t-state);background:0 0;border:0;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:10px 6px;display:grid;position:relative}.solo-bot-card+.solo-bot-card:before{content:"";background:var(--line);height:1px;position:absolute;top:0;left:64px;right:6px}.solo-bot-card:hover{background:color-mix(in srgb,var(--chalk) 4%,transparent)}.solo-bot-card.is-active{background:color-mix(in srgb,var(--brass) 8%,transparent)}.solo-bot-face{background:var(--surface);border-radius:50%;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.solo-bot-face img,.solo-bot-face svg{object-fit:contain;width:40px;height:40px;display:block}.solo-bot-copy{gap:1px;min-width:0;display:grid}.solo-bot-copy b{font-size:var(--fs-lg);color:var(--chalk);font-weight:600}.solo-bot-copy small{font-size:var(--fs-sm);color:var(--brass)}.solo-bot-copy span{font-size:var(--fs-sm);color:var(--dim);-webkit-line-clamp:1;-webkit-box-orient:vertical;line-height:1.35;display:-webkit-box;overflow:hidden}.solo-bot-card em{display:none}.solo-stat-grid{margin-top:22px}.solo-stat-grid--two{grid-template-columns:repeat(2,1fr)}.solo-seats{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;display:grid}.solo-seat{border:0;border-left:3px solid var(--line);background:0 0;border-radius:0;gap:6px;padding:0 0 0 12px;display:grid}.solo-seat.is-blue{border-left-color:var(--blue)}.solo-seat.is-red{border-left-color:var(--red)}.solo-seat>span{font-size:var(--fs-sm);color:var(--dim);font-weight:600}.solo-seat input{box-sizing:border-box;border-radius:var(--r-sm);background:var(--surface-2);width:100%;color:var(--chalk);font:inherit;font-size:var(--fs-lg);border:1px solid #0000;padding:11px 12px}.solo-seat input:focus{border-color:color-mix(in srgb,var(--brass) 55%,transparent);outline:none}.solo-seats-vs{font-size:var(--fs-sm);color:var(--dim);font-weight:700}.solo-rules{margin:var(--sp-4) 0 0;gap:6px;padding:0;list-style:none;display:grid}.solo-rules li{color:var(--dim);font-size:var(--fs-sm);background:0 0;border:0;border-radius:0;padding:0}.solo-rules li:before{content:"◆";color:var(--brass);margin-right:10px;font-size:.7em}.solo-setup{box-shadow:none;background:0 0;border:0;border-radius:0;gap:0;padding:0;display:grid;position:sticky;top:0}.solo-setup .mode-lobby-hint{margin-bottom:4px}.solo-setup .solo-section-label{margin-top:18px}.solo-opponent{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:16px;display:grid}.solo-opponent-crest{aspect-ratio:.86;clip-path:polygon(50% 0,91% 18%,86% 72%,50% 100%,14% 72%,9% 18%);width:78px;font-family:var(--font-display);letter-spacing:.06em;color:#172229;filter:drop-shadow(0 10px 14px #0006);background:linear-gradient(145deg,#dfe5e8,#55636b 72%);place-items:center;font-size:28px;display:grid;overflow:hidden}.solo-opponent-crest--easy{color:#102d2a;background:linear-gradient(145deg,#b9f1de,#3d7872 72%)}.solo-opponent-crest--medium{color:#372405;background:linear-gradient(145deg,#ffe078,#9b6517 72%)}.solo-opponent-crest--hard{color:#2f0d09;background:linear-gradient(145deg,#ffb4a6,#8d2f28 72%)}.solo-opponent-crest--duo{color:#fff;background:linear-gradient(110deg,#5b8fd6 0 50%,#d6655b 50% 100%);font-size:22px}.solo-opponent-crest--bot{clip-path:circle(50%);aspect-ratio:1;background:linear-gradient(145deg,#2a3a31,#0b1511)}.solo-opponent-crest--bot img,.solo-opponent-crest--bot svg{object-fit:contain;width:70px;height:70px;display:block}.solo-opponent-copy{gap:3px;min-width:0;display:grid}.solo-opponent-copy small{color:var(--brass);font-size:var(--fs-sm);font-weight:600}.solo-opponent-copy b{font-size:var(--fs-xl);color:var(--chalk);overflow-wrap:anywhere;font-weight:700}.solo-opponent-copy span{color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.solo-start{margin:0}.solo-stat-grid[hidden]{display:none!important}.lobby-cta-bar{z-index:2;padding:14px clamp(18px,3vw,34px) calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--felt) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);grid-template-columns:minmax(0,1fr) minmax(240px,340px);align-items:center;gap:18px;display:grid;position:sticky;bottom:0}.lobby-cta-bar .solo-opponent{gap:12px}.lobby-cta-bar .solo-opponent-crest{width:52px}.lobby-cta-bar .solo-opponent-crest--bot img,.lobby-cta-bar .solo-opponent-crest--bot svg{width:48px;height:48px}.lobby-cta-bar .solo-opponent-copy b{font-size:var(--fs-xl)}.solo-seat input:focus-visible,.solo-bot-card:focus-visible,.solo-resume-go:focus-visible,.solo-resume-drop:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (width<=980px){.solo-grid{grid-template-columns:minmax(0,1fr)}.solo-pick,.solo-setup{min-width:0}.solo-setup{position:static}}@media (width<=760px){.solo-bot-list{grid-template-columns:1fr}.solo-resume{margin-inline:14px}.solo-resume-actions{width:100%}.solo-resume-actions button{flex:1}.solo-seats{grid-template-columns:1fr}.solo-seats-vs{justify-self:center}.mode-lobby-overlay{padding:0}.mode-lobby-card--competitive{width:100%;height:100dvh;max-height:100dvh;box-shadow:none;border:0;border-radius:0;animation:none}.competitive-topbar{padding-top:calc(10px + env(safe-area-inset-top));padding-bottom:8px}.competitive-topbar .mode-lobby-back{font-size:var(--fs-sm);padding:6px 10px}.competitive-header{padding-top:14px;padding-bottom:12px}.competitive-header .mode-lobby-kicker{display:none}.competitive-header h2{font-size:2rem}.solo-panel{padding-top:16px;padding-bottom:20px}.solo-section-label:not(:first-child){margin-top:18px}.solo-setup .fp-grid{scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;gap:10px;margin-inline:-14px;padding:2px 14px 6px;display:flex;overflow-x:auto}.solo-setup .fp-grid::-webkit-scrollbar{display:none}.solo-setup .fp-card{scroll-snap-align:start;flex:0 0 40%}.solo-setup .fp-grid .fp-card:last-child:nth-child(odd){grid-column:auto}.solo-setup .mode-lobby-disc button{font-size:var(--fs-sm);padding:8px 4px}.lobby-cta-bar{grid-template-columns:1fr;gap:10px;padding-inline:14px}.lobby-cta-bar .solo-opponent-crest{width:40px}.lobby-cta-bar .solo-opponent-crest--bot img,.lobby-cta-bar .solo-opponent-crest--bot svg{width:36px;height:36px}.lobby-cta-bar .solo-opponent-copy b{font-size:var(--fs-lg)}.lobby-cta-bar .solo-opponent-copy span{display:none}.lobby-cta-bar .solo-start{padding:13px 16px}}@media (width<=420px){.mode-lobby-diff.solo-diff{grid-template-columns:repeat(3,minmax(0,1fr))}.solo-stat-grid{grid-template-columns:1fr 1fr}}.placement-steps{margin:0 0 var(--sp-3);gap:var(--sp-2);padding:0;list-style:none;display:grid}.placement-steps li{padding:10px var(--sp-3);color:var(--muted);font-size:var(--fs-sm);border-radius:var(--r-md);background:#0003;border:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex}.placement-steps .is-done{color:var(--ok);border-color:#53c78566}.placement-steps .is-active{border-color:color-mix(in srgb, var(--brass-hot) 55%, transparent);color:var(--brass-hot);font-weight:700}.placement-elo{font-size:var(--fs-sm);color:var(--brass);margin:0}.placement-skip{width:100%;color:var(--muted);cursor:pointer;font:inherit;border-radius:var(--r-md);background:0 0;border:1px solid #ffffff1f;margin-top:10px;padding:10px}.placement-skip:hover{color:var(--ink);border-color:#fff3}@media (width<=400px){.placement-overlay,.profile-setup-overlay{padding:8px}.mode-lobby-card:not(.mode-lobby-card--competitive),.placement-card,.profile-setup-card{box-sizing:border-box;width:100%;max-width:100%;padding:16px 12px;overflow-x:hidden}.profile-avatar-grid,.mode-lobby-diff,.mode-lobby-disc,.mode-lobby-actions,.casual-mode-grid,.ranked-stat-grid,.ranked-hero,.competitive-join-card,.competitive-join-row{grid-template-columns:1fr}.mode-lobby-card button,.mode-lobby-card input,.placement-card button,.profile-setup-card button,.profile-setup-card input,.mode-lobby-back,.placement-skip{min-height:var(--tap);box-sizing:border-box}.profile-avatar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.profile-avatar-pick{text-align:center;padding:8px 2px}.profile-avatar-pick svg,.profile-avatar-pick img{width:40px;height:40px}}@media (width<=760px){.competitive-header{align-items:start}.competitive-player-tag{display:none}.competitive-status{font-size:var(--fs-2xs)}.ranked-hero{text-align:center;grid-template-columns:1fr}.ranked-crest{width:128px}.ranked-crest strong{font-size:42px}.ranked-crest small{font-size:17px}.ranked-rating-line{justify-content:center}.ranked-rating-line em{margin-left:8px}.competitive-ranked-cta{text-align:center}.competitive-ranked-cta small{padding-right:0}.ranked-stat-grid{text-align:left;row-gap:var(--sp-3);grid-template-columns:1fr 1fr}.ranked-stat-grid div:nth-child(odd){border-left:0;padding-left:0}.casual-mode-grid,.competitive-join-card,.competitive-join-row{grid-template-columns:1fr}.competitive-room-row{padding:12px 14px}}@media (width<=420px){.competitive-topbar,.competitive-header,.competitive-tabs,.competitive-panel{padding-inline:14px}.competitive-status{display:none}.competitive-tabs button{flex:1;padding-inline:7px}.ranked-stat-grid{grid-template-columns:1fr 1fr}.competitive-join-row,.room-visibility-grid{grid-template-columns:1fr}}.profile-setup-submit:focus-visible,.mode-lobby-cta:focus-visible,.placement-cta:focus-visible,.mode-lobby-back:focus-visible,.profile-avatar-pick:focus-visible,.mode-lobby-diff button:focus-visible,.mode-lobby-disc button:focus-visible,.mode-lobby-actions button:focus-visible,.competitive-tabs button:focus-visible,.competitive-ranked-cta:focus-visible,.casual-mode-card:focus-visible,.competitive-room-row button:focus-visible,.competitive-join-row button:focus-visible,.placement-skip:focus-visible,#profileSetupName:focus-visible,#modeLobbyJoin:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){.profile-setup-card,.mode-lobby-card,.placement-card{animation:none}}.online-panel{gap:var(--sp-2);display:grid}.online-dock{z-index:var(--z-dock);border:1px solid var(--line);border-radius:var(--r-md);width:min(340px,100vw - 28px);max-height:min(52dvh,420px);box-shadow:var(--sh-md);padding:10px var(--sp-3);background:#0c1410f5;position:fixed;bottom:14px;right:14px;overflow:auto}.online-dock:has(.online-focus:not([hidden])){z-index:var(--z-modal)}.online-dock[hidden]{display:none!important}.online-dock .online-panel,.online-dock .online-panel[hidden]{display:grid!important}.online-panel[hidden]{display:none!important}.online-session-strip{min-width:0;font-size:var(--fs-xs);color:var(--muted);grid-column:1/-1;justify-content:center;align-items:center;gap:8px;padding:2px 0 0;display:flex}.online-session-strip[hidden]{display:none!important}.online-session-strip.is-idle{visibility:hidden}.online-session-strip .online-live-dot{flex:none}.online-session-strip-room{letter-spacing:.06em;color:var(--brass-soft);white-space:nowrap;text-overflow:ellipsis;max-width:min(72vw,420px);font-family:IBM Plex Mono,ui-monospace,monospace;font-weight:600;overflow:hidden}.online-session-strip-sep{opacity:.55;-webkit-user-select:none;user-select:none}.online-session-strip-sep[hidden]{display:none!important}.online-session-strip-copy{color:var(--brass);cursor:pointer;font:inherit;text-underline-offset:2px;background:0 0;border:0;padding:0;text-decoration:underline}.online-session-strip-copy:hover{color:var(--brass-hot)}.online-session-strip-copy:focus-visible{box-shadow:var(--focus-ring);border-radius:2px;outline:none}.online-session-strip-copy:disabled{opacity:.45;cursor:default;text-decoration:none}.online-session-strip-copy[hidden]{display:none!important}.online-latency-chip{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 6px #53c7858c}.online-latency-chip[data-band=ok]{background:var(--ok);box-shadow:0 0 6px #53c7858c}.online-latency-chip[data-band=mid]{background:#d4a84b;box-shadow:0 0 6px #d4a84b80}.online-latency-chip[data-band=bad]{background:#c45c4a;box-shadow:0 0 6px #c45c4a8c}.online-latency-chip[hidden]{display:none!important}.online-latency-ms{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.04em;flex:none}.online-latency-ms[hidden]{display:none!important}.online-player-header{border-bottom:1px solid #ffffff14;gap:5px;padding-bottom:8px;display:grid}.online-player-header>div{align-items:center;gap:8px;display:flex}.online-player-header b{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.08em;color:var(--brass-soft);font-weight:400}.online-player-header p{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.online-live-dot{background:var(--ok);border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px #53c785cc}.online-session-meta{gap:2px;margin:0;display:grid}.online-session-headline{color:var(--ink);font-size:var(--fs-sm);white-space:nowrap;text-overflow:ellipsis;margin:0;font-weight:600;overflow:hidden}.online-session-detail{color:var(--muted);font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.online-session-detail[hidden]{display:none!important}.online-session-primary{margin-top:var(--sp-2);width:100%}.online-session-primary[hidden]{display:none!important}.online-product-body{gap:var(--sp-2);display:grid}.online-product-body[hidden],.online-idle-actions[hidden],.online-room-settings-host[hidden],#onlinePlayAgainRow[hidden]{display:none!important}.online-idle-actions{gap:var(--sp-2);display:grid}.online-mt{margin-top:var(--sp-2)}.online-ranked-lock{color:var(--muted);margin:0}.online-ranked-lock[hidden]{display:none!important}.online-formation-confirm{margin-top:var(--sp-2);width:100%}.online-vis-row{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.online-vis-btn{background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);cursor:pointer;font-size:var(--fs-sm);border:1px solid #ffffff1f}.online-vis-btn.is-active{border-color:color-mix(in srgb,var(--brass) 55%,transparent);background:color-mix(in srgb,var(--brass) 14%,transparent);color:var(--brass-soft);font-weight:600}.online-dev-host:empty{display:none}.fold-section{margin-top:var(--sp-2);border-radius:var(--r-md);border:1px solid #ffffff14;overflow:hidden}.fold-section-toggle{justify-content:space-between;align-items:center;gap:var(--sp-2);width:100%;padding:var(--sp-2) 10px;color:var(--muted);font-size:var(--fs-sm);cursor:pointer;text-align:left;background:0 0;border:0;display:flex}.fold-section-toggle:focus-visible{box-shadow:var(--focus-ring);outline:none}.fold-section-title{letter-spacing:.04em;font-weight:600}.fold-section-chevron:before{content:"▸";transition:transform .15s;display:inline-block}.fold-section-toggle[aria-expanded=true] .fold-section-chevron:before{transform:rotate(90deg)}.fold-section-body{padding:0 10px var(--sp-2);gap:var(--sp-2);display:grid}.fold-section-body[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){.fold-section-chevron:before{transition:none}}.online-panel input[type=text],#playerDisplayName{background:var(--felt-mid);width:100%;color:var(--ink);border-radius:var(--r-md);border:1px solid #ffffff1f;padding:10px}.online-join-row{grid-template-columns:1fr auto;gap:7px;display:grid}.online-join-row button{background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);padding:10px var(--sp-3);cursor:pointer;border:1px solid #ffffff1a}.online-section-label{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:10px 0 0;font-weight:600}.online-advanced{padding:var(--sp-2) 10px;border-radius:var(--r-md);border:1px solid #ffffff14;margin-top:10px}.online-advanced summary{cursor:pointer;font-size:var(--fs-sm);color:var(--muted)}.online-advanced input{margin-top:var(--sp-2)}.online-focus{z-index:var(--z-modal);place-items:center;padding:20px;animation:.18s ease-out onlineFocusIn;display:grid;position:fixed;inset:0}.online-focus[hidden]{animation:none;display:none!important}.online-focus-scrim{z-index:var(--z-modal-scrim);background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--brass) 12%,transparent),transparent 30%), linear-gradient(#ffffff04 1px,transparent 1px), linear-gradient(90deg,#ffffff03 1px,transparent 1px), #050907f7;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background-size:auto,48px 48px,48px 48px,auto;position:absolute;inset:0}.online-focus-panel{z-index:var(--z-modal);justify-items:stretch;width:min(1120px,100%);display:grid;position:relative}@keyframes onlineFocusIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.online-waiting-room{border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-lg);border:0;gap:18px;padding:clamp(22px,4vw,40px);display:grid}.online-waiting-room[hidden],.online-queue-wrap[hidden],.online-formation-wrap[hidden]{display:none!important}.online-waiting-label{font-size:var(--fs-sm);color:var(--brass);margin:0;font-weight:700}.online-code-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.online-code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:var(--fs-2xl);letter-spacing:.18em;color:var(--brass-soft);font-weight:700}.online-copy-btn,.online-leave-btn,.online-bridge-btn{background:var(--surface-2);color:var(--chalk);min-height:var(--tap);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);cursor:pointer;font-size:var(--fs-md);border:0;font-weight:600}.online-copy-btn:hover,.online-leave-btn:hover,.online-bridge-btn:hover{color:var(--brass-hot)}.online-bridge-btn{width:100%;color:var(--brass)}.online-bridge-btn[hidden]{display:none!important}.online-code-inline{letter-spacing:.14em;margin-left:6px}.online-room-age{color:var(--muted);margin:0}.online-seats{margin:var(--sp-3) 0;grid-template-columns:1fr auto 1fr;align-items:stretch;gap:18px;display:grid}.online-seats-vs{text-align:center;font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.2em;color:var(--brass);opacity:.85;place-items:center;display:grid}.online-seat{border:0;border-left:3px solid var(--line);border-radius:0 var(--r-md) var(--r-md) 0;background:var(--felt);align-content:center;gap:7px;min-height:132px;padding:20px;display:grid;position:relative}.online-seat.is-blue{border-left-color:var(--blue)}.online-seat.is-red{border-left-color:var(--red)}.online-seat.is-empty{border-style:dashed;animation:2.4s ease-in-out infinite onlineSeatPulse}.online-seat.is-arrival{box-shadow:0 0 0 2px color-mix(in srgb,var(--brass-hot) 70%,transparent);animation:.9s ease-out onlineSeatArrive}.online-seat.is-offline .online-seat-dot{box-shadow:none;background:#888}.online-seat-side{font-size:var(--fs-sm);color:var(--dim);font-weight:600}.online-seat-name{font-size:var(--fs-2xl);color:var(--chalk);font-weight:700}.online-seat-meta{font-size:var(--fs-xs);color:var(--muted)}.online-seat-dot{background:var(--ok);border-radius:50%;width:8px;height:8px;position:absolute;top:12px;right:12px;box-shadow:0 0 8px #53c785bf}.online-seat-bridge{margin-top:var(--sp-2)}.online-waiting-actions{gap:var(--sp-2);margin-top:var(--sp-2);grid-template-columns:1.3fr .8fr .8fr;display:grid}.online-approve-room{min-height:54px;font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.08em;grid-column:1/-1}.online-approve-room[hidden]{display:none!important}.online-lobby-state{border-left:3px solid var(--brass);color:var(--chalk);font-size:var(--fs-sm);background:0 0;margin:0;padding:4px 0 4px 12px}.online-copy-link{width:100%}#onlinePanel button.primary{background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);min-height:var(--tap);cursor:pointer;font-weight:700;font-size:var(--fs-md);border:0}#onlinePanel button.primary:hover:not(:disabled){filter:brightness(1.06)}#onlinePanel button.primary:disabled{opacity:.55;cursor:not-allowed}#onlinePanel button.primary:focus-visible{box-shadow:var(--focus-ring);outline:none}.online-share-feedback{color:var(--brass-soft);margin:0}.online-share-fallback{width:100%;margin-top:var(--sp-2);border-radius:var(--r-md);background:var(--felt-mid);color:var(--ink);border:1px solid #ffffff1f;padding:8px;font:12px/1.35 ui-monospace,monospace}.online-share-fallback[hidden],.online-share-feedback[hidden],.online-room-age[hidden]{display:none!important}.online-join-failed,.online-joining{padding:var(--sp-4);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--sh-lg);text-align:center;gap:var(--sp-3);border:0;justify-items:center;display:grid}.online-connection-gate{border-radius:var(--r-lg);background:var(--surface);min-height:360px;box-shadow:var(--sh-lg);text-align:center;border:0;align-content:center;place-items:center;gap:14px;padding:clamp(28px,5vw,54px);display:grid}.online-connection-gate[hidden]{display:none!important}.online-connection-gate>.online-live-dot{width:12px;height:12px;margin-bottom:6px}.online-connection-gate h2{color:var(--chalk);margin:0;font-size:clamp(1.6rem,5vw,2.4rem);font-weight:700}.online-connection-gate p{color:var(--muted);margin:0}.online-connection-gate button{min-width:220px;margin-top:12px}.online-join-failed[hidden],.online-joining[hidden]{display:none!important}.online-join-failed-title,.online-joining-title{font-size:var(--fs-2xl);color:var(--chalk);margin:0;font-weight:700}.online-join-failed-detail{color:var(--dim);font-size:var(--fs-sm);margin:6px 0 0}@keyframes onlineSeatPulse{0%,to{opacity:.85;border-color:color-mix(in srgb,var(--red) 35%,transparent)}50%{opacity:1;border-color:color-mix(in srgb,var(--red) 70%,transparent)}}@keyframes onlineSeatArrive{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--brass-hot) 0%,transparent);transform:scale(.98)}40%{box-shadow:0 0 0 4px color-mix(in srgb,var(--brass-hot) 55%,transparent);transform:scale(1.02)}to{box-shadow:0 0 0 2px color-mix(in srgb,var(--brass-hot) 70%,transparent);transform:none}}.online-formation-wrap{border-radius:var(--r-lg);background:var(--surface);width:min(1120px,100%);max-height:calc(100dvh - 28px);box-shadow:var(--sh-lg);border:0;gap:16px;padding:clamp(18px,3vw,34px);display:grid;overflow:auto}.online-draft-head{text-align:center;gap:5px;display:grid}.online-draft-head .online-queue-kicker{color:var(--brass);margin:0}.online-draft-head h2{color:var(--chalk);margin:0;font-size:clamp(1.6rem,4vw,2.4rem);font-weight:700}.online-series-info{color:var(--muted);font-size:var(--fs-sm);margin:0}.online-draft-label{font-size:var(--fs-sm);color:var(--brass);margin-top:4px;font-weight:700}.online-formation-cards{grid-template-columns:repeat(6,minmax(112px,1fr));gap:9px;display:grid}.online-formation-card,.online-projectile-card{appearance:none;border-radius:var(--r-md);background:var(--felt);color:var(--ink);cursor:pointer;border:0;transition:border-color .18s,transform .18s,background .18s,box-shadow .18s}.online-formation-card{text-align:left;align-content:start;gap:6px;min-height:116px;padding:13px;display:grid}.online-formation-card:hover,.online-projectile-card:hover{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brass) 45%,transparent)}.online-formation-card.is-selected,.online-projectile-card.is-selected{background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--brass)}.online-card-mark{color:var(--brass);font-size:18px}.online-formation-card b,.online-projectile-card b{font-size:var(--fs-sm);letter-spacing:.04em}.online-formation-card small{color:var(--muted);font-size:var(--fs-2xs);-webkit-line-clamp:3;-webkit-box-orient:vertical;line-height:1.3;display:-webkit-box;overflow:hidden}.online-projectile-cards{grid-template-columns:repeat(4,minmax(120px,1fr));gap:10px;display:grid}.online-projectile-card{text-align:left;grid-template-columns:54px 1fr;align-items:center;gap:12px;min-height:92px;padding:11px;display:grid}.online-projectile-card img{object-fit:contain;filter:drop-shadow(0 8px 10px #00000080);width:54px;height:54px}.online-projectile-random{border:1px dashed var(--brass);width:54px;height:54px;color:var(--brass);border-radius:50%;place-items:center;font-size:28px;display:grid}.online-formation-card:disabled,.online-projectile-card:disabled{cursor:default;opacity:.66;transform:none}.online-formation-status{justify-content:space-between;gap:var(--sp-2);margin-top:var(--sp-2);font-size:var(--fs-sm);color:var(--muted);display:flex}.online-rematch-hint{color:var(--brass);margin-top:6px}.online-technical{opacity:.72}.online-technical[open]{opacity:1}.online-queue-wrap{justify-items:center;width:100%;display:grid}.online-queue-card{text-align:center;border-radius:var(--r-lg);background:var(--surface);width:min(560px,100%);box-shadow:var(--sh-lg);border:0;justify-items:center;padding:clamp(26px,5vw,46px);display:grid}.online-queue-kicker{color:var(--brass);font-size:var(--fs-sm);margin:0 0 18px;font-weight:700}.online-search-emblem{place-items:center;width:116px;height:116px;margin-bottom:20px;display:grid;position:relative}.online-search-emblem span{border:1px solid color-mix(in srgb,var(--brass) 58%,transparent);border-radius:50%;animation:2.1s ease-out infinite onlineScan;position:absolute;inset:0}.online-search-emblem span:nth-child(2){animation-delay:1.05s}.online-search-emblem i{clip-path:polygon(50% 0,92% 20%,84% 72%,50% 100%,16% 72%,8% 20%);background:linear-gradient(145deg,var(--brass-hot),#9c6d18);color:#392501;filter:drop-shadow(0 9px 16px #00000073);place-items:center;width:64px;height:72px;font-size:24px;font-style:normal;display:grid;position:relative}@keyframes onlineScan{0%{opacity:.85;transform:scale(.5)}75%,to{opacity:0;transform:scale(1.12)}}.online-queue-card h2{color:var(--chalk);margin:0;font-size:clamp(1.6rem,6vw,2.4rem);font-weight:700;line-height:1.15}.online-queue-hint{color:var(--muted);font-size:var(--fs-sm);margin:8px 0 22px}.online-queue-stats{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;display:grid}.online-queue-stats div{border:0;border-left:1px solid var(--line);background:0 0;border-radius:0;gap:2px;padding:6px 8px;display:grid}.online-queue-stats div:first-child{border-left:0}.online-queue-stats span{font-size:var(--fs-sm);color:var(--dim)}.online-queue-stats b{font-size:var(--fs-xl);color:var(--chalk);font-variant-numeric:tabular-nums;font-weight:700}.online-queue-trust{color:var(--muted);font-size:var(--fs-xs);margin:18px 0}.online-queue-card .online-leave-btn{min-width:190px;color:var(--muted);background:0 0}.online-queue-card .online-leave-btn:hover{color:var(--chalk)}@media (width<=720px){.online-dock{max-height:42dvh;bottom:8px;right:8px}.online-focus{padding:10px}.online-seats{grid-template-columns:1fr;gap:10px}.online-seats-vs{min-height:24px}.online-seat{min-height:94px}.online-waiting-actions{grid-template-columns:1fr}.online-formation-wrap{gap:12px;max-height:calc(100dvh - 20px);padding:16px}.online-formation-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.online-formation-card{min-height:94px;padding:10px}.online-formation-card small{-webkit-line-clamp:2}.online-projectile-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.online-projectile-card{grid-template-columns:40px 1fr;min-height:72px;padding:9px}.online-projectile-card img,.online-projectile-random{width:40px;height:40px}.online-draft-head h2{font-size:clamp(1.8rem,9vw,2.8rem)}}@media (width<=375px){.online-dock{width:auto;max-width:calc(100vw - 16px);left:8px;right:8px;overflow-x:hidden}.online-vis-row,.online-queue-stats,.online-focus{grid-template-columns:1fr}.online-panel button,.online-panel input,.online-join-row button,.online-copy-btn,.online-leave-btn,.online-vis-btn,.online-bridge-btn{min-height:var(--tap);box-sizing:border-box;min-width:44px}.online-queue-card .online-leave-btn{width:100%;min-width:0}}.online-join-row button:focus-visible,.online-copy-btn:focus-visible,.online-leave-btn:focus-visible,.online-bridge-btn:focus-visible,.online-vis-btn:focus-visible,.online-panel input:focus-visible,.online-advanced summary:focus-visible,#playerDisplayName:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){.online-panel,.online-waiting-room,.online-queue-wrap,.online-focus,.online-join-row button,.online-copy-btn,.online-leave-btn{transition:none;animation:none}.online-search-emblem span{opacity:.35;animation:none}.online-seat.is-empty{opacity:.9;border-style:dashed;animation:none}.online-seat.is-arrival{animation:none}}.match-phase-chip{z-index:var(--z-hud);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-pill);color:var(--ink);font-size:var(--fs-sm);letter-spacing:.14em;pointer-events:none;text-align:center;white-space:pre-line;background:#06080a8c;border:1px solid #ffffff1f;margin:0 auto;font-weight:700;display:block}.match-phase-chip[hidden]{display:none!important}.scorebar .turn{flex-direction:column;justify-content:center;align-items:center;min-width:0;display:flex}.match-phase-chip.urgent{color:var(--brass-hot);border-color:#ffd6668c}.match-phase-chip.is-match-point{letter-spacing:.1em;border-color:#ffd666a6}.match-phase-chip.is-dual-line{line-height:1.35;font-size:var(--fs-xs);padding-top:8px;padding-bottom:8px}.sb-score.is-match-point{animation:2s ease-in-out infinite matchPointPulse}.sb-score.is-match-point-static{opacity:.92;animation:none}@keyframes matchPointPulse{0%,to{opacity:.82}50%{opacity:1}}.canvas-wrap.match-point-frame:after{content:"";pointer-events:none;z-index:var(--z-hud);opacity:.5;border:2px solid #0000;border-radius:4px;position:absolute;inset:6px}.canvas-wrap.match-point-blue:after{border-color:var(--blue)}.canvas-wrap.match-point-red:after{border-color:var(--red)}.canvas-wrap.match-point-dual:after{border-color:var(--blue);animation:3s linear infinite matchPointDualFrame}.canvas-wrap.match-point-static:after{animation:none!important}.canvas-wrap.match-point-dual.match-point-static:after{border-color:color-mix(in srgb, var(--blue) 55%, var(--red))}@keyframes matchPointDualFrame{0%,to{border-color:var(--blue)}50%{border-color:var(--red)}}@media (prefers-reduced-motion:reduce){.sb-score.is-match-point{opacity:.92;animation:none}.canvas-wrap.match-point-dual:after{border-color:color-mix(in srgb, var(--blue) 55%, var(--red));animation:none}}html[data-reduce-motion="1"] .sb-score.is-match-point{opacity:.92;animation:none}html[data-reduce-motion="1"] .canvas-wrap.match-point-dual:after{border-color:color-mix(in srgb, var(--blue) 55%, var(--red));animation:none}.match-peer-banner{z-index:var(--z-hud);padding:10px var(--sp-3);border-radius:var(--r-md);color:var(--red);font-size:var(--fs-sm);text-align:center;background:#5a181ceb;border:1px solid #ff6e6e59;position:absolute;bottom:12px;left:12px;right:12px}.match-end-overlay{z-index:var(--z-modal);background:color-mix(in srgb, var(--felt) 78%, transparent);overscroll-behavior:contain;padding:var(--sp-4) 0;place-items:safe center;display:grid;position:fixed;inset:0;overflow-y:auto}.match-end-overlay[hidden]{display:none!important}.match-end-card{width:min(400px,90%);padding:22px var(--sp-5);background:var(--surface);box-shadow:var(--sh-lg);text-align:left;font-family:var(--font-body);border:0;border-radius:3px;position:relative;overflow:hidden}.match-end-card:before{content:"";background:var(--end-c,var(--brass));height:4px;position:absolute;top:0;left:0;right:0}.match-end-overlay[data-winner=blue]{--end-c:var(--blue)}.match-end-overlay[data-winner=red]{--end-c:var(--red)}.match-end-kicker{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0}.match-end-card h2{margin:var(--sp-3) 0 var(--sp-2);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.02em;text-transform:uppercase;color:var(--chalk);background:var(--felt);border-left:6px solid var(--dim);text-align:left;border-radius:2px;padding:8px 14px 6px;font-size:44px;font-style:italic;font-weight:800;line-height:.95}.match-end-overlay[data-winner=blue] .match-end-card h2{border-left-color:var(--blue)}.match-end-overlay[data-winner=red] .match-end-card h2{border-left-color:var(--red)}.match-end-overlay[data-outcome=win] .match-end-card h2{color:var(--brass-hot)}.match-end-overlay[data-outcome=loss] .match-end-card h2{color:var(--chalk)}.match-end-overlay[data-outcome=draw] .match-end-card h2{color:var(--dim)}.match-end-spin-badge{background:var(--brass);color:var(--felt);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-md);letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:2px;margin:0 0 8px;padding:4px 10px;display:inline-block}.match-end-spin-badge[hidden]{display:none!important}.match-end-score{margin:0 0 var(--sp-2);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);color:var(--brass);font-variant-numeric:tabular-nums;font-size:32px;font-style:italic;font-weight:800;line-height:1}.match-end-share-hint{margin:0 0 var(--sp-3);font-size:var(--fs-sm);color:var(--dim);line-height:1.4}.match-end-moment{margin:0 0 var(--sp-3);background:var(--felt);border:0;border-left:4px solid var(--end-c,var(--brass));text-align:left;border-radius:2px;padding:10px}.match-end-moment[hidden]{display:none!important}.match-end-moment-kicker{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-md);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);margin:0 0 8px}.match-end-moment-preview{cursor:pointer;background:0 0;border:0;border-radius:2px;width:100%;padding:0;display:block;position:relative;overflow:hidden}.match-end-moment-preview canvas{background:var(--felt);border:0;border-radius:2px;width:100%;height:auto;display:block}.match-end-moment-play{width:var(--tap);height:var(--tap);background:var(--brass);color:var(--felt);pointer-events:none;border:0;border-radius:2px;place-items:center;font-size:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.match-end-moment-title{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-lg);letter-spacing:.03em;text-transform:uppercase;color:var(--chalk);margin:8px 0 2px}.match-end-moment-sub{font-size:var(--fs-xs);color:var(--dim);margin:0 0 8px}.match-end-moment-all{background:var(--surface-2);color:var(--chalk);min-height:var(--tap);cursor:pointer;width:100%;font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-md);letter-spacing:.06em;text-transform:uppercase;border:0;border-radius:2px;padding:8px 12px}.share-sheet-moment{box-sizing:border-box;width:100%;margin:0 0 var(--sp-3);min-height:var(--tap);background:var(--felt);color:var(--chalk);border:1px solid var(--line);border-left:4px solid var(--brass);font-size:var(--fs-sm);border-radius:2px;padding:10px 12px}.match-end-actions{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.match-end-actions-2{grid-template-columns:1fr 1fr}.match-end-actions-3{grid-template-columns:1fr}@media (width>=420px){.match-end-actions-3{grid-template-columns:1.2fr 1fr 1fr}}.match-end-actions.match-end-actions-4{grid-template-columns:1fr 1fr}.match-end-action-slot{gap:4px;display:grid}.match-end-action-reason{font-size:var(--fs-xs);color:var(--dim);order:2}.match-end-actions button{background:var(--surface-2);color:var(--chalk);padding:10px var(--sp-3);cursor:pointer;min-height:var(--tap);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-lg);letter-spacing:.05em;text-transform:uppercase;border:0;border-radius:2px;line-height:1.05}.match-end-actions .primary{background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink)}.match-end-actions button:hover:not(:disabled):not(.is-disabled){filter:brightness(1.08)}@media (width>=420px){.match-end-actions-3 button{letter-spacing:.02em;font-size:var(--fs-md);padding-left:6px;padding-right:6px}}.match-end-actions button:disabled,.match-end-actions button.is-disabled{opacity:.55;cursor:not-allowed}@media (width<=400px){.match-end-overlay{padding:8px}.match-end-card,.share-sheet-card{box-sizing:border-box;width:100%;max-width:100%}.match-end-actions,.match-end-actions-2,.match-end-actions-3,.share-sheet-platforms{grid-template-columns:1fr}.match-end-actions button,.match-end-moment-all,.share-sheet-cta,.share-sheet-btn,.share-sheet-close,.share-sheet-platforms button{min-height:var(--tap);box-sizing:border-box;min-width:44px}}.share-sheet-overlay{z-index:var(--z-modal);padding:var(--sp-3);background:color-mix(in srgb, var(--felt) 78%, transparent);place-items:end center;display:grid;position:fixed;inset:0}.share-sheet-overlay[hidden]{display:none!important}.share-sheet-card{background:var(--surface);border:0;border-top:4px solid var(--brass);width:min(420px,100%);max-height:min(88vh,640px);box-shadow:var(--sh-lg);padding:18px var(--sp-4) var(--sp-3);font-family:var(--font-body);border-radius:3px;position:relative;overflow:auto}.share-sheet-close{width:var(--tap);height:var(--tap);border:1px solid var(--line);color:var(--dim);font-size:var(--fs-2xl);cursor:pointer;background:0 0;border-radius:2px;place-items:center;padding:0;line-height:1;display:grid;position:absolute;top:8px;right:8px}.share-sheet-close:hover{color:var(--chalk);border-color:var(--brass-hot)}.share-sheet-kicker{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin:0}.share-sheet-card h2{margin:6px 56px var(--sp-2) 0;font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.02em;text-transform:uppercase;color:var(--brass-hot);background:var(--felt);border-left:6px solid var(--brass);border-radius:2px;padding:6px 12px 4px;font-size:32px;font-style:italic;font-weight:800;line-height:.95}.share-sheet-lead{font-size:var(--fs-sm);color:var(--dim);margin:0 0 10px;line-height:1.4}.share-sheet-status{background:var(--felt);border-left:3px solid var(--brass-hot);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-md);letter-spacing:.04em;text-transform:uppercase;color:var(--chalk);border-radius:2px;margin:0 0 10px;padding:6px 10px}.share-sheet-primary{gap:var(--sp-2);margin:0 0 var(--sp-3);display:grid}.share-sheet-cta{border:1px solid var(--brass);background:var(--brass);color:var(--felt);padding:12px var(--sp-3);cursor:pointer;min-height:var(--tap);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);text-transform:uppercase;font-style:italic;font-weight:800;line-height:1.05;font-size:var(--fs-xl);letter-spacing:.05em;border-radius:2px}.share-sheet-cta:hover:not(:disabled){background:var(--brass-hot)}.share-sheet-btn{border:1px solid var(--line);background:var(--surface-2);color:var(--chalk);padding:10px var(--sp-3);cursor:pointer;min-height:var(--tap);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);text-transform:uppercase;font-style:italic;font-weight:800;line-height:1.05;font-size:var(--fs-md);letter-spacing:.05em;border-radius:2px}.share-sheet-btn:hover:not(:disabled){border-color:var(--brass-hot)}.share-sheet-label{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-sm);letter-spacing:.1em;text-transform:uppercase;color:var(--brass);margin:0 0 6px}.share-sheet-platforms{gap:var(--sp-2);margin:0 0 var(--sp-3);grid-template-columns:1fr 1fr;display:grid}.share-sheet-platforms button{text-align:left;min-height:var(--tap);border:0;border-left:3px solid var(--brass);background:var(--felt);color:var(--chalk);padding:10px var(--sp-3);cursor:pointer;border-radius:2px;gap:2px;display:grid}.share-sheet-platforms button:hover{background:color-mix(in srgb, var(--brass) 12%, var(--felt));border-left-color:var(--brass-hot)}.share-sheet-platforms button:disabled{opacity:.55;cursor:wait}.share-sheet-platforms b{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-lg);letter-spacing:.03em;text-transform:uppercase}.share-sheet-platforms span{font-size:var(--fs-xs);color:var(--dim)}.share-sheet-code-row{gap:var(--sp-2);grid-template-columns:1fr 1fr;margin:0 0 10px;display:grid}.share-sheet-hint{font-size:var(--fs-xs);color:var(--dim);margin:0;line-height:1.4}#replaySection textarea{box-sizing:border-box}#replaySection button.primary{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:700}.scorebar .win-target{font-size:var(--fs-2xs);color:var(--brass);letter-spacing:.12em;margin-top:2px;font-weight:700;display:block}.scorebar .win-target[hidden]{display:none!important}.app-shell.dev-labs-hidden .physics-audit-card,.app-shell.dev-labs-hidden .calibration-card,.app-shell.dev-labs-hidden .formation-lab-card,.app-shell.dev-labs-hidden .play-dev-metrics,.app-shell.dev-labs-hidden .play-dev-lab,.app-shell.dev-labs-hidden .physics-readout{display:none}.app-shell.dev-labs-hidden .engine-badge{opacity:.55}.play-focus-row{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--muted);display:flex}.play-focus-row input{accent-color:var(--brass)}.mode-hint{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.pick-hint{font-size:var(--fs-xs);color:var(--muted);margin:6px 0 0;line-height:1.35}.profile-empty{margin:var(--sp-2) 0 0;font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.help-row{gap:var(--sp-2);grid-template-columns:1fr;display:grid}.help-row button{background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);padding:10px var(--sp-3);cursor:pointer;font-size:var(--fs-sm);letter-spacing:.04em;border:1px solid #ffffff1f}.help-row button:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass-hot)}.help-row button.is-danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}.help-row button.is-danger:hover{color:var(--danger);border-color:var(--danger)}.training-shell{flex-direction:column;min-height:100vh;display:flex}.training-shell-bar{padding:var(--sp-3) var(--sp-4);background:#00000059;border-bottom:1px solid #ffffff0f}.training-shell #trainingMountHost{flex:1}.onboarding-overlay{z-index:var(--z-modal);padding:var(--sp-4);background:#06080aeb;place-items:center;display:grid;position:fixed;inset:0}.onboarding-overlay[hidden]{display:none!important}.onboarding-card{width:min(440px,100%);max-height:min(92vh,720px);padding:22px var(--sp-5);border-radius:var(--r-lg);background:var(--felt-mid);box-shadow:var(--sh-md);border:1px solid #ffffff1a;overflow:auto}.onboarding-kicker{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}.onboarding-card h2{margin:var(--sp-2) 0 var(--sp-3);font-size:var(--fs-2xl)}.onboarding-steps{gap:10px;margin:0;padding:0;list-style:none;display:grid}.onboarding-step{gap:var(--sp-3);border-radius:var(--r-md);background:var(--felt-mid);border:1px solid #ffffff0f;grid-template-columns:88px 1fr;align-items:center;padding:10px;display:grid;position:relative}.onboarding-step-diagram{border-radius:var(--r-sm);background:var(--felt-deep);width:88px;height:64px;display:block}.onboarding-step-n{background:var(--felt-lift);border:1px solid var(--line);width:22px;height:22px;color:var(--brass);font-size:var(--fs-xs);border-radius:50%;place-items:center;font-weight:800;display:grid;position:absolute;top:8px;right:8px}.onboarding-step strong{font-size:var(--fs-sm);margin-bottom:3px;padding-right:24px;display:block}.onboarding-step p{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.45}.onboarding-actions{gap:var(--sp-2);margin-top:18px;display:grid}.onboarding-actions-row{gap:var(--sp-2);grid-template-columns:1fr 1fr;display:grid}.onboarding-actions button{background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);padding:11px var(--sp-3);cursor:pointer;border:1px solid #ffffff1a}.onboarding-actions .primary{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:800}#onboardingRestartCoach{width:100%}.coach-overlay{z-index:var(--z-modal);padding:var(--sp-4);background:#06080aeb;place-items:center;display:grid;position:fixed;inset:0}.coach-overlay[hidden]{display:none!important}.coach-card{width:min(440px,100%);max-height:min(92vh,720px);padding:22px var(--sp-5);border-radius:var(--r-lg);background:var(--felt-mid);box-shadow:var(--sh-md);border:1px solid #ffffff1a;overflow:auto}.coach-kicker{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}.coach-card h2{margin:var(--sp-2) 0 6px;font-size:var(--fs-2xl);font-family:var(--font-display);letter-spacing:.05em;font-weight:400}.coach-body{margin:0 0 var(--sp-3);font-size:var(--fs-sm);color:var(--muted);line-height:1.4}.coach-actions{gap:var(--sp-2);grid-template-columns:1fr 1fr;margin-top:18px;display:grid}.coach-actions button{background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);padding:11px var(--sp-3);cursor:pointer;border:1px solid #ffffff1a}.coach-actions .primary{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:800}.coach-actions .ghost{background:0 0}#matchModeButtons{grid-template-columns:1fr 1fr 1fr}@media (width<=720px){.app-shell{grid-template-columns:1fr}body[data-app-view=play] .app-shell .game-card{order:1;height:100%;min-height:0}body[data-app-view=play] .canvas-wrap{min-height:0}}@media (width<=560px){#matchModeButtons{grid-template-columns:1fr}.onboarding-card,.coach-card{padding:18px var(--sp-3)}}.coach-dock{width:min(420px,100% - 20px);z-index:var(--z-hud);pointer-events:none;position:absolute;top:10px;left:50%;transform:translate(-50%)}.coach-dock[hidden]{display:none}.coach-dock .coach-card{pointer-events:auto;border:1px solid color-mix(in srgb, var(--brass) 38%, transparent);border-radius:var(--r-md);box-shadow:var(--sh-md);background:#09100ded;gap:7px;padding:8px 10px 10px;display:grid}.coach-top{align-items:center;gap:var(--sp-2);min-height:24px;display:flex}.coach-steps{flex:1;gap:3px;margin:0;padding:0;list-style:none;display:flex}.coach-steps li{background:color-mix(in srgb, var(--chalk) 14%, transparent);border-radius:2px;flex:1;height:3px}.coach-steps li.is-done{background:var(--brass)}.coach-steps li.is-now{background:var(--brass-hot);animation:1.6s ease-in-out infinite coach-now}@keyframes coach-now{0%,to{opacity:1}50%{opacity:.45}}.coach-count{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-sm);color:var(--dim);font-variant-numeric:tabular-nums;text-align:right;min-width:2.4em}.coach-skip{color:var(--dim);cursor:pointer;font:inherit;font-size:var(--fs-xs);padding:4px 2px 4px var(--sp-1);background:0 0;border:0;min-height:28px}.coach-skip:hover{color:var(--chalk)}.coach-main{grid-template-columns:40px minmax(0,1fr);align-items:center;gap:10px;display:grid}.coach-icon{border:1.5px solid color-mix(in srgb, var(--brass) 70%, transparent);background:color-mix(in srgb, var(--brass) 12%, transparent);border-radius:50%;place-items:center;width:40px;height:40px;display:grid}.coach-icon svg{fill:none;width:22px;height:22px;stroke:var(--brass-hot);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.coach-text{gap:2px;min-width:0;display:grid}.coach-head{align-items:center;gap:4px var(--sp-2);flex-wrap:wrap;margin:0;display:flex}.coach-head b{font-size:var(--fs-lg);color:var(--chalk);font-weight:700;line-height:1.2}.coach-mode{font-size:var(--fs-xs);white-space:nowrap;border:1px solid;border-radius:999px;align-items:center;padding:1px 8px;font-weight:700;line-height:1.5;display:inline-flex}.coach-mode[hidden]{display:none}.coach-mode[data-mode="3d"]{color:var(--brass-hot)}.coach-mode[data-mode="2d"]{color:var(--blue)}.coach-body,.coach-hint{font-size:var(--fs-sm);margin:0;line-height:1.35}.coach-body{color:var(--dim)}.coach-body[hidden],.coach-hint[hidden]{display:none}.coach-hint{color:var(--brass-soft);font-weight:600}@media (width<=720px){.coach-dock{width:calc(100% - 12px);top:6px}}@media (prefers-reduced-motion:reduce){.coach-steps li.is-now{animation:none}}:root[data-reduce-motion="1"] .coach-steps li.is-now{animation:none}.match-end-reward{margin:var(--sp-3) 0 var(--sp-1);padding:var(--sp-3);background:var(--felt);border:0;border-left:4px solid var(--brass);gap:var(--sp-2);text-align:left;border-radius:2px;display:grid}.match-end-reward.is-celebrating{border-left-color:var(--brass-hot);background:color-mix(in srgb, var(--brass) 14%, var(--felt))}.mer-xp{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.mer-xp-gain{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.02em;color:var(--brass-hot);font-variant-numeric:tabular-nums;font-size:30px;font-style:italic;font-weight:800;line-height:1}.mer-title{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-md);color:var(--chalk);letter-spacing:.06em;text-transform:uppercase}.mer-bar{background:var(--surface-2);border-radius:0;height:4px;overflow:hidden}.mer-bar i{background:var(--brass);border-radius:0;width:0;height:100%;transition:width .6s;display:block}.mer-next{font-size:var(--fs-xs);color:var(--dim);margin:0}.mer-unlock{color:var(--felt);background:var(--brass-hot);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-md);letter-spacing:.04em;text-transform:uppercase;border-radius:2px;margin:0;padding:6px 9px}.mer-unlock[hidden]{display:none}.match-end-stats{margin:10px 0 var(--sp-3);text-align:left;gap:0;padding:0;list-style:none;display:grid}.match-end-stats li{font-size:var(--fs-sm);border-top:1px solid var(--line);background:0 0;border-radius:0;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;display:flex}.match-end-stats li:first-child{border-top:0}.match-end-stats span{color:var(--dim);font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;font-weight:700}.match-end-stats b{color:var(--chalk);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-lg);letter-spacing:.02em;font-variant-numeric:tabular-nums}.match-end-stats[hidden]{display:none}@media (prefers-reduced-motion:reduce){.mer-bar i{transition:none}}.match-end-actions button:focus-visible,.share-sheet-close:focus-visible,.share-sheet-cta:focus-visible,.share-sheet-btn:focus-visible,.share-sheet-platforms button:focus-visible,.help-row button:focus-visible,.onboarding-actions button:focus-visible,.coach-actions button:focus-visible,.coach-skip:focus-visible{box-shadow:var(--focus-ring);outline:none}.match-replay-strip{z-index:var(--z-hud);background:var(--felt);border:0;border-left:4px solid var(--brass);box-shadow:var(--sh-md);border-radius:2px;gap:8px;padding:8px 12px;display:flex;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.match-replay-strip[hidden]{display:none!important}.match-replay-strip button{min-width:var(--tap);min-height:var(--tap);cursor:pointer;border:1px solid var(--line);background:var(--surface-2);color:var(--chalk);font-size:var(--fs-lg);border-radius:2px}.match-replay-strip button:hover{border-color:var(--brass-hot)}.coach-actions{gap:var(--sp-2);margin-top:4px;display:flex}.coach-actions[hidden]{display:none}.coach-dock .coach-btn{min-height:var(--tap);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-sm);border:1px solid var(--line);color:var(--brass);background:0 0;flex:1;font-weight:700}.coach-dock .coach-btn-primary{background:var(--brass);border-color:var(--brass);color:var(--felt)}.coach-dock .coach-btn[hidden]{display:none}.coach-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.coach-target{z-index:1;pointer-events:none;box-sizing:border-box;border:2px dashed var(--brass-hot);background:color-mix(in srgb, var(--brass-hot) 14%, transparent);border-radius:50%;animation:1.4s ease-in-out infinite coach-target-pulse;position:absolute;transform:translate(-50%,-50%)}.coach-target[hidden]{display:none}@keyframes coach-target-pulse{0%,to{opacity:.65}50%{opacity:1}}:root[data-reduce-motion="1"] .coach-target{animation:none}@media (prefers-reduced-motion:reduce){.coach-target{animation:none}}.coach-task[hidden],.coach-dock.is-compact .coach-body,.coach-dock.is-compact .coach-hint{display:none}.coach-dock.is-compact .coach-card{cursor:pointer;padding-top:8px;padding-bottom:8px}.coach-dock{transition:opacity .15s}.coach-dock.is-aiming{opacity:0;pointer-events:none}.coach-dock.is-aiming .coach-card{pointer-events:none}.scorebar{background:var(--felt);border-bottom:0;box-shadow:0 8px 22px #0006}.scorebar:before{content:"";pointer-events:none;background:linear-gradient(90deg, var(--blue) 0 50%, var(--red) 50% 100%);height:3px;position:absolute;bottom:-3px;left:0;right:0}.scorebar.is-flipped:before{background:linear-gradient(90deg, var(--red) 0 50%, var(--blue) 50% 100%)}.sb-side{border:1px solid #0000;border-radius:3px;width:fit-content;max-width:100%;padding:5px 8px;transition:background .25s,border-color .25s,box-shadow .25s;position:relative}.scorebar .sb-blue{justify-self:start}.scorebar .sb-red,.scorebar.is-flipped .sb-blue{justify-self:end}.scorebar.is-flipped .sb-red,.scorebar.is-portrait .sb-blue{justify-self:start}.scorebar.is-portrait .sb-red{justify-self:end}.scorebar.is-portrait.is-flipped .sb-blue{justify-self:start}.scorebar.is-portrait.is-flipped .sb-red{justify-self:end}.sb-avatar{border-radius:50%;overflow:visible}.sb-name{letter-spacing:.07em}.sb-score{text-align:center;min-width:1.55em;font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-variant-numeric:tabular-nums;background:var(--surface);box-shadow:none;border:0;border-radius:2px;padding:0 10px;font-size:38px;font-style:italic;font-weight:800;line-height:1}.sb-blue .sb-score{text-shadow:0 0 18px color-mix(in srgb, var(--blue) 35%, transparent)}.sb-red .sb-score{text-shadow:0 0 18px color-mix(in srgb, var(--red) 35%, transparent)}.sb-score.is-bump{animation:.7s cubic-bezier(.2,1.4,.4,1) sbBump}@keyframes sbBump{0%{filter:brightness(1.8);transform:scale(1.8)}to{filter:none;transform:scale(1)}}.scorebar[data-turn=blue] .sb-blue{background:color-mix(in srgb, var(--blue) 12%, transparent);border-color:color-mix(in srgb, var(--blue) 40%, transparent)}.scorebar[data-turn=red] .sb-red{background:color-mix(in srgb, var(--red) 12%, transparent);border-color:color-mix(in srgb, var(--red) 40%, transparent)}.scorebar[data-turn=blue] .sb-blue:after,.scorebar[data-turn=red] .sb-red:after{content:"";border-radius:0;height:3px;animation:1.6s ease-in-out infinite sbTurn;position:absolute;bottom:-1px;left:0;right:0}.scorebar[data-turn=blue] .sb-blue:after{background:var(--blue);box-shadow:0 0 10px var(--blue)}.scorebar[data-turn=red] .sb-red:after{background:var(--red);box-shadow:0 0 10px var(--red)}@keyframes sbTurn{0%,to{opacity:.45}50%{opacity:1}}.turn .win-target{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-sm);letter-spacing:.12em;opacity:1;color:var(--brass)}.match-phase-chip{white-space:nowrap;text-overflow:ellipsis;background:var(--surface);border-color:var(--line);max-width:100%;font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.1em;color:var(--chalk);border-radius:3px;font-style:italic;font-weight:800;overflow:hidden;box-shadow:0 4px 14px #00000073}.match-phase-chip.is-match-point{background:var(--brass);color:var(--felt);border-color:var(--brass-hot);text-transform:uppercase;letter-spacing:.06em;padding-left:calc(var(--sp-3) + 6px);padding-right:calc(var(--sp-3) + 6px);box-shadow:inset 6px 0 0 var(--mp-l,var(--brass-hot)), inset -6px 0 0 var(--mp-r,var(--brass-hot)), 0 4px 14px #00000073;border-radius:2px;animation:.35s cubic-bezier(.2,1.2,.4,1) both mpIn}.match-phase-chip[data-match-point=blue]{--mp-l:var(--blue);--mp-r:var(--blue)}.match-phase-chip[data-match-point=red]{--mp-l:var(--red);--mp-r:var(--red)}.match-phase-chip[data-match-point=dual]{--mp-l:var(--blue);--mp-r:var(--red)}.scorebar.is-flipped .match-phase-chip[data-match-point=dual]{--mp-l:var(--red);--mp-r:var(--blue)}@keyframes mpIn{0%{opacity:0;transform:scaleX(.2)}to{opacity:1;transform:none}}@media (width<=720px){.scorebar:not(.is-portrait){grid-template-columns:minmax(0,1fr) 136px minmax(0,1fr)}.scorebar:not(.is-portrait) .match-phase-chip.is-match-point{padding-left:10px;padding-right:10px}.scorebar:not(.is-portrait) .turn{grid-template-rows:35px auto;justify-items:center;min-width:0;display:grid}.scorebar:not(.is-portrait) .match-phase-chip{line-height:1.6}.scorebar:not(.is-portrait) .turn>.win-target,.scorebar:not(.is-portrait) .turn>.match-phase-chip{grid-area:1/1;align-self:center}.scorebar:not(.is-portrait) .turn>.shot-clock{grid-area:2/1}.scorebar:not(.is-portrait) .sb-side{grid-template-columns:auto auto;grid-template-areas:"meta meta""av score";align-items:center;gap:3px 6px;max-width:100%;display:grid}.scorebar:not(.is-portrait) .sb-red{grid-template-areas:"meta meta""score av";justify-content:end}.scorebar:not(.is-portrait) .sb-blue{justify-content:start}.scorebar:not(.is-portrait).is-flipped .sb-blue{grid-template-areas:"meta meta""score av";justify-content:end}.scorebar:not(.is-portrait).is-flipped .sb-red{grid-template-areas:"meta meta""av score";justify-content:start}.scorebar:not(.is-portrait) .sb-meta{grid-area:meta}.scorebar:not(.is-portrait) .sb-avatar{grid-area:av}.scorebar:not(.is-portrait) .sb-score{grid-area:score}.scorebar:not(.is-portrait) .sb-name{max-width:none}}.shot-clock{justify-items:center;gap:3px;min-width:64px;margin-top:4px;display:grid}.shot-clock[hidden]{display:none!important}.scorebar.is-online .shot-clock[hidden],.scorebar.has-clock .shot-clock[hidden]{visibility:hidden;display:grid!important}.shot-clock-num{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.02em;font-variant-numeric:tabular-nums;color:var(--brass-soft);font-size:22px;font-style:italic;font-weight:800;line-height:1}.shot-clock-bar{background:var(--surface-2);border-radius:0;width:88px;height:4px;display:block;overflow:hidden}.shot-clock-bar i{transform-origin:0;background:var(--brass);height:100%;transition:transform .12s linear;display:block}.shot-clock[data-side=blue] .shot-clock-bar i{background:var(--blue)}.shot-clock[data-side=red] .shot-clock-bar i{background:var(--red)}.shot-clock.is-mine .shot-clock-num{color:var(--chalk)}.shot-clock.is-warn .shot-clock-num{color:var(--warn)}.shot-clock.is-warn .shot-clock-bar i{background:var(--warn)}.shot-clock.is-danger .shot-clock-num{color:var(--danger);animation:.5s ease-in-out infinite alternate scPulse}.shot-clock.is-danger .shot-clock-bar i{background:var(--danger)}@keyframes scPulse{0%{transform:scale(1)}to{text-shadow:0 0 14px color-mix(in srgb, var(--danger) 80%, transparent);transform:scale(1.18)}}.clock-overlay{z-index:var(--z-hud);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.clock-overlay[hidden]{display:none!important}.clock-overlay b{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);color:color-mix(in srgb, var(--danger) 90%, transparent);text-shadow:0 0 40px color-mix(in srgb, var(--danger) 65%, transparent), 0 10px 40px #000c;font-size:clamp(120px,26vmin,260px);font-style:italic;font-weight:800;line-height:1}.clock-overlay.is-peer b{color:#ffffff73;text-shadow:0 6px 24px #000000b3;font-size:clamp(70px,14vmin,140px)}.clock-overlay b.is-pop{animation:.9s cubic-bezier(.2,1.2,.4,1) both coPop}@keyframes coPop{0%{opacity:.6;transform:scale(1.9)}18%{opacity:1}70%{opacity:1;transform:scale(1)}to{opacity:.15;transform:scale(.92)}}.clock-overlay.is-timeup b{letter-spacing:.06em;text-transform:uppercase;color:var(--chalk);text-shadow:0 0 30px color-mix(in srgb, var(--danger) 80%, transparent), 0 8px 30px #000000e6;font-size:clamp(48px,11vmin,110px);animation:.5s cubic-bezier(.2,1.4,.4,1) both coTimeUp}@keyframes coTimeUp{0%{opacity:0;transform:scale(1.6)}to{opacity:1;transform:none}}.canvas-wrap.is-clock-danger:before{content:"";z-index:var(--z-hud);pointer-events:none;box-shadow:inset 0 0 90px 10px color-mix(in srgb, var(--danger) 55%, transparent);animation:.5s ease-in-out infinite alternate dangerPulse;position:absolute;inset:0}@keyframes dangerPulse{0%{opacity:.35}to{opacity:1}}.goal-flash{font-size:inherit;letter-spacing:0;text-shadow:none;color:inherit;opacity:0;z-index:var(--z-hud);align-content:center;place-items:center;gap:10px;transition:none;display:grid;overflow:hidden;transform:none}.goal-flash .gf-sweep{transform-origin:0;background:linear-gradient(90deg, color-mix(in srgb, var(--gf-c,var(--brass)) 35%, #000000d9), #000000d1 40%, #000000d1 80%, transparent);border-top:3px solid var(--gf-c,var(--brass));border-bottom:3px solid var(--gf-c,var(--brass));height:clamp(110px,26%,210px);position:absolute;top:50%;left:-10%;right:-10%;transform:translateY(-50%)skewY(-6deg)scaleX(0)}.goal-flash[data-side=blue]{--gf-c:var(--blue)}.goal-flash[data-side=red]{--gf-c:var(--red)}.goal-flash .gf-word{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.04em;color:var(--brass-hot);text-shadow:0 0 36px color-mix(in srgb, var(--gf-c,var(--brass)) 70%, transparent), 0 8px 30px #000000e6;font-size:clamp(72px,13vw,160px);font-style:italic;font-weight:800;line-height:.9;position:relative}.goal-flash .gf-strip{background:var(--felt);border:0;border-left:4px solid var(--gf-c,var(--brass));border-radius:2px;align-items:center;gap:14px;padding:6px 16px;display:inline-flex;position:relative}.goal-flash .gf-name{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.04em;color:var(--gf-c,var(--ink));white-space:nowrap;text-overflow:ellipsis;max-width:14ch;padding-right:.12em;font-size:clamp(20px,2.8vw,30px);font-style:italic;font-weight:800;overflow:hidden}.goal-flash .gf-score{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.04em;color:var(--chalk);font-variant-numeric:tabular-nums;font-size:clamp(20px,2.8vw,30px);font-style:italic;font-weight:800}.goal-flash.show{opacity:1}.goal-flash.show .gf-sweep{will-change:transform;animation:.25s cubic-bezier(.2,.9,.2,1) forwards gfSweep}.goal-flash.show .gf-word{will-change:transform,opacity;animation:.55s cubic-bezier(.2,1.5,.4,1) both gfWord}.goal-flash.show .gf-strip{animation:.4s .25s both gfStrip}@keyframes gfSweep{to{transform:translateY(-50%)skewY(-6deg)scaleX(1)}}@keyframes gfWord{0%{opacity:0;transform:scale(2.4)}to{opacity:1;transform:none}}@keyframes gfStrip{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.replay-badge{z-index:var(--z-hud);pointer-events:none;background:var(--felt);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.1em;text-transform:uppercase;color:var(--chalk);font-style:italic;font-weight:800;font-size:var(--fs-lg);border:0;border-radius:2px;align-items:center;gap:8px;padding:5px 12px 5px 10px;animation:.25s both rbIn;display:inline-flex;position:absolute;top:12px;left:12px;box-shadow:0 6px 18px #00000073}.replay-badge[hidden]{display:none!important}.replay-badge-dot{background:var(--danger);width:9px;height:9px;box-shadow:0 0 8px var(--danger);border-radius:50%;animation:1s steps(2,jump-none) infinite rbDot}.replay-badge span{border-left:1px solid var(--line);color:var(--brass-hot);letter-spacing:.06em;padding-left:8px}.replay-badge span[hidden]{display:none}.replay-badge[data-side=blue]{border-left:4px solid var(--blue)}.replay-badge[data-side=red]{border-left:4px solid var(--red)}@keyframes rbIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}@keyframes rbDot{0%{opacity:1}to{opacity:.25}}@media (prefers-reduced-motion:reduce){.sb-score.is-bump,.goal-flash.show .gf-word,.goal-flash.show .gf-strip,.replay-badge,.replay-badge-dot,.scorebar[data-turn] .sb-side:after,.match-phase-chip.is-match-point{animation:none!important}.goal-flash.show .gf-sweep{animation:none;transform:translateY(-50%)skewY(-6deg)scaleX(1)}}html[data-reduce-motion="1"] .sb-score.is-bump,html[data-reduce-motion="1"] .goal-flash.show .gf-word,html[data-reduce-motion="1"] .goal-flash.show .gf-strip,html[data-reduce-motion="1"] .replay-badge{animation:none!important}html[data-reduce-motion="1"] .goal-flash.show .gf-sweep{animation:none;transform:translateY(-50%)skewY(-6deg)scaleX(1)}html[data-reduce-motion="1"] .scorebar[data-turn] .sb-side:after,html[data-reduce-motion="1"] .match-phase-chip.is-match-point,html[data-reduce-motion="1"] .shot-clock.is-danger .shot-clock-num,html[data-reduce-motion="1"] .canvas-wrap.is-clock-danger:before{animation:none!important}@media (width<=720px){.scorebar{gap:6px}.sb-side{gap:6px;padding:2px 4px}.sb-score{min-width:1.3em;padding:0 6px;font-size:30px}.match-phase-chip{letter-spacing:.06em;font-size:var(--fs-xs);padding:6px 10px}.replay-badge{font-size:var(--fs-sm);top:8px;left:8px}}.nf-frame{border-radius:50%;width:100%;height:100%;display:block;position:relative}.nf-frame>.nf-avatar{width:100%;height:100%}.nf-frame:after{content:"";pointer-events:none;background:var(--frame-img) center/100% 100% no-repeat;position:absolute;inset:0}.nf-frame--none:after{content:none}.nf-frame--bronze{--frame-img:url(/frames/bronze.png)}.nf-frame--silver{--frame-img:url(/frames/silver.png)}.nf-frame--gold{--frame-img:url(/frames/gold.png)}.nf-frame--platinum{--frame-img:url(/frames/platinum.png)}.nf-frame--diamond{--frame-img:url(/frames/diamond.png)}.nf-frame--master{--frame-img:url(/frames/master.png)}.nf-frame--master:after{animation:24s linear infinite nf-frame-spin}@keyframes nf-frame-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.nf-frame--master:after{animation:none}}.nf-frame-notch{z-index:1;pointer-events:none;background:url(/frames/weekly.png) 50%/100% 100% no-repeat;position:absolute;inset:0}.app-shell.board-first{padding:10px;display:block;position:relative}.app-shell.board-first .game-card{max-width:min(1120px,100%);min-height:calc(100dvh - 20px - var(--topnav-h,0px));margin:0 auto}.play-settings-close:focus-visible,.play-settings-drawer button:focus-visible,.play-settings-drawer select:focus-visible,.play-settings-drawer input:focus-visible,.play-settings-check input:focus-visible{box-shadow:var(--focus-ring);outline:none}.play-settings-backdrop{top:var(--topnav-h);z-index:var(--z-scrim);cursor:pointer;background:#04080673;border:0;padding:0;position:fixed;bottom:0;left:0;right:0}.play-settings-backdrop[hidden]{display:none!important}.play-settings-drawer{top:var(--topnav-h);z-index:var(--z-sheet);height:calc(100dvh - var(--topnav-h));background:var(--felt);border:0;border-left:1px solid var(--line);width:min(360px,100vw - 24px);box-shadow:var(--sh-lg);border-radius:12px 0 0;flex-direction:column;transition:transform .22s;display:flex;position:fixed;right:0;overflow:hidden;transform:translate(108%)}.play-settings-drawer.is-open{transform:none}.play-settings-drawer[hidden]{display:none!important}.play-settings-head{padding:var(--sp-3) var(--sp-3);border-bottom:1px solid #ffffff14;flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.play-settings-head h2{font-size:var(--fs-2xl);color:var(--chalk);margin:0;font-weight:700}.play-settings-close{color:var(--dim);width:var(--tap);height:var(--tap);cursor:pointer;font-size:var(--fs-xl);background:0 0;border:0;border-radius:50%;line-height:1}.play-settings-close:hover{color:var(--chalk);background:var(--surface-2)}.play-settings-clock{padding:10px var(--sp-3);border-bottom:1px solid var(--line);border-left:3px solid var(--brass);background:var(--surface);color:var(--chalk);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-sm);letter-spacing:.03em;flex:none;margin:0;line-height:1.35}.play-settings-clock[data-clock=running]{border-left-color:var(--warn)}.play-settings-clock[hidden]{display:none}.play-settings-body{overscroll-behavior:contain;padding:var(--sp-3) var(--sp-4) var(--sp-6);gap:var(--sp-5);flex-direction:column;flex:1;display:flex;overflow:auto}.play-settings-section{gap:var(--sp-2);border-top:0;padding-top:0;display:grid}.play-settings-section>label.section-label,.play-settings-section>.section-label{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);letter-spacing:normal;text-transform:none;color:var(--brass);margin:0;font-weight:700;display:flex}.play-settings-section>.section-label:after{content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--brass) 38%,transparent),transparent 85%);flex:1;height:1px}.play-settings-body .subtitle,.play-settings-drawer .pick-hint{font-size:var(--fs-sm);color:var(--dim);margin:0;line-height:1.4}.play-settings-check{align-items:center;gap:var(--sp-3);font-size:var(--fs-md);color:var(--chalk);cursor:pointer;display:flex}.play-settings-check input{accent-color:var(--brass);width:20px;height:20px;margin:0}.play-settings-diag summary{min-height:var(--tap);font-size:var(--fs-sm);color:var(--dim);cursor:pointer;align-items:center;display:flex}.play-settings-diag summary:focus-visible{box-shadow:var(--focus-ring);outline:none}.play-settings-drawer #soundToggle{min-height:var(--tap);padding:0 var(--sp-3);border-radius:var(--r-sm);background:var(--surface-2);color:var(--chalk);border:0;font-weight:600}.play-settings-drawer #volume{accent-color:var(--brass)}.play-settings-drawer .help-row{gap:0}.play-settings-drawer .help-row button{min-height:var(--tap);text-align:left;color:var(--brass);font-size:var(--fs-md);letter-spacing:normal;background:0 0;border:0;border-radius:0;padding:0;font-weight:600}.play-settings-drawer .help-row button+button{border-top:1px solid var(--line)}.play-settings-drawer .help-row button:hover{color:var(--brass-hot)}.play-settings-drawer .help-row button.is-danger{color:var(--danger)}.play-settings-check{min-height:var(--tap)}.play-settings-keys ul{font-size:var(--fs-xs);color:var(--ink);gap:8px;margin:0;padding:0;list-style:none;display:grid}.play-settings-keys li{justify-content:space-between;gap:12px;display:flex}.play-settings-keys kbd{font-family:inherit;font-size:var(--fs-2xs);border:1px solid var(--line);color:var(--brass);white-space:nowrap;border-radius:6px;padding:2px 8px}@media (pointer:coarse){.play-settings-keys{display:none}}.play-settings-tone{gap:var(--sp-1);display:grid}.play-settings-tone-label{font-size:var(--fs-sm);color:var(--ink)}.play-settings-tone-row{gap:var(--sp-1);flex-wrap:wrap;display:flex}.play-settings-tone-btn{width:var(--tap);height:var(--tap);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;display:grid}.play-settings-tone-btn span{border-radius:50%;width:32px;height:32px;box-shadow:inset 0 0 0 1px #00000040}.play-settings-tone-btn:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent)}.play-settings-tone-btn[aria-pressed=true]{border:2px solid var(--brass)}.play-settings-tone-btn:focus-visible{box-shadow:var(--focus-ring);outline:none}.play-settings-lang{border-radius:var(--r-sm);background:var(--surface);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:3px;padding:3px;display:grid}.play-settings-lang-btn{min-width:0;min-height:42px;color:var(--dim);font-size:var(--fs-md);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:6px 12px;font-weight:600}.play-settings-lang-btn:hover{color:var(--chalk)}.play-settings-lang-btn.is-active{background:var(--surface-2);color:var(--chalk);box-shadow:inset 0 0 0 1px var(--brass)}@media (width<=720px){.play-settings-drawer{top:var(--topnav-h);width:min(100vw,400px);height:calc(100dvh - var(--topnav-h));border-right:0;border-radius:0;bottom:0;right:0}body[data-app-view=play] .app-shell.board-first{height:calc(100dvh - var(--topnav-h,46px));min-height:0;padding:4px}body[data-app-view=play] .app-shell.board-first .game-card{height:calc(100dvh - var(--topnav-h,46px) - 8px);min-height:0}}@media (orientation:landscape) and (height<=560px){body[data-app-view=play]{overflow:hidden}body[data-app-view=play] #playRoot{height:calc(100dvh - var(--topnav-h,46px));flex:none}body[data-app-view=play] .app-shell.board-first{height:calc(100dvh - var(--topnav-h,46px));min-height:0;padding:4px}body[data-app-view=play] .app-shell.board-first .game-card{height:calc(100dvh - var(--topnav-h,46px) - 8px);min-height:0}body[data-app-view=play] .canvas-wrap{min-height:0}}@media (prefers-reduced-motion:reduce){.play-settings-drawer{transition:none}}.profile-dock-scrim{top:var(--topnav-h);height:calc(100dvh - var(--topnav-h));z-index:var(--z-scrim);cursor:pointer;background:#06090d73;border:0;padding:0;position:fixed;bottom:0;left:0;right:0}.profile-dock-scrim[hidden]{display:none!important}.profile-dock-panel{top:var(--topnav-h);z-index:var(--z-sheet);width:min(920px,100vw);height:calc(100dvh - var(--topnav-h));border-left:1px solid var(--panel-edge);border-radius:var(--r-lg) 0 0 0;background:#0c1410fc;flex-direction:column;transition:transform .22s;display:flex;position:fixed;right:0;overflow:hidden;transform:translate(105%);box-shadow:-24px 0 64px #0000008c}.profile-dock-panel.is-open{transform:none}.profile-dock-panel[hidden]{display:none!important}.profile-dock-handle{border-radius:var(--r-sm);background:#ffffff2e;width:40px;height:4px;margin:10px auto 0;display:none}.profile-dock-head{align-items:flex-start;gap:var(--sp-3);padding:var(--sp-4) 18px var(--sp-3);border-bottom:1px solid #ffffff14;flex:none;display:flex}.profile-dock-head-avatar{background:0 0;border:0;border-radius:50%;flex:none;place-items:center;width:56px;height:56px;display:grid;overflow:visible}.profile-dock-head-avatar svg,.profile-dock-head-avatar img{object-fit:contain;width:100%;height:100%;display:block}.profile-dock-head-meta{flex:1;gap:2px;min-width:0;display:grid}.profile-dock-head-meta b{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.05em;color:var(--brass-soft);white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.profile-dock-head-meta span{font-size:var(--fs-sm);color:var(--muted);line-height:1.35}.profile-dock-close{color:var(--ink);width:var(--tap);height:var(--tap);min-width:var(--tap);min-height:var(--tap);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-xl);background:0 0;border:1px solid #ffffff1f;flex:none;line-height:1}.profile-dock-close:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass-hot)}.profile-dock-close:focus-visible{box-shadow:var(--focus-ring);outline:none}.profile-dock-tabs{border-bottom:1px solid #ffffff14;flex:none;grid-template-columns:1fr 1fr 1fr;gap:0;display:grid}.profile-dock-tab{color:var(--muted);padding:var(--sp-3) var(--sp-2);min-height:var(--tap);cursor:pointer;font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;font-family:var(--font-body);background:0 0;border:0;border-bottom:2px solid #0000}.profile-dock-tab:hover{color:var(--ink)}.profile-dock-tab:focus-visible{box-shadow:var(--focus-ring);outline:none}.profile-dock-body{overscroll-behavior:contain;padding:var(--sp-3) 18px var(--sp-6);flex:1;overflow:auto}.profile-dock-pane[hidden]{display:none!important}.profile-dock-pane{gap:var(--sp-3);display:grid}.profile-dock-hero{gap:6px;display:grid}.profile-dock-hero-sub{font-size:var(--fs-sm);color:var(--ink);margin:0}.profile-dock-muted{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.4}.profile-dock-xp{padding:var(--sp-3);border-radius:var(--r-md);background:#00000038;border:1px solid #ffffff0f;gap:6px;display:grid}.profile-dock-xp-bar{border-radius:var(--r-sm);background:#ffffff14;height:8px;overflow:hidden}.profile-dock-xp-fill{background:var(--brass);border-radius:var(--r-sm);width:0;height:100%}.profile-dock-xp-meta{font-size:var(--fs-sm);color:var(--muted);margin:0}.profile-dock-xp-meta b{color:var(--brass-soft);font-weight:600}.profile-dock-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.profile-dock-card{padding:var(--sp-3);border-radius:var(--r-md);background:#00000038;border:1px solid #ffffff0f;gap:10px;min-width:0;display:grid}.profile-dock-card h3{font-size:var(--fs-2xs);letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);margin:0;font-weight:600}.profile-dock-card-wide{grid-column:1/-1}.profile-dock-card-stats{gap:var(--sp-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.profile-dock-stat{gap:2px;min-width:0;display:grid}.profile-dock-stat b{font-size:var(--fs-md);color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.profile-dock-section-label{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}.profile-dock-titles{flex-wrap:wrap;gap:6px;display:flex}.profile-dock-title-chip{min-height:var(--tap);background:var(--felt-deep);color:var(--ink);border-radius:var(--r-sm);padding:var(--sp-2) var(--sp-3);cursor:pointer;font-size:var(--fs-sm);border:1px solid #ffffff1f;align-items:center;gap:6px;display:inline-flex}.profile-dock-title-chip b{font-weight:600}.profile-dock-title-chip span{font-size:var(--fs-2xs);color:var(--muted)}.profile-dock-title-chip:hover:not(:disabled){border-color:color-mix(in srgb, var(--brass) 50%, transparent)}.profile-dock-title-chip.is-active{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);box-shadow:0 0 0 1px var(--brass-hot)}.profile-dock-title-chip.is-locked{opacity:.5;cursor:not-allowed;border-style:dashed}.profile-dock-titles.profile-dock-title-showcase{grid-template-columns:1fr;gap:6px;display:grid}.profile-dock-title-rarity{margin:var(--sp-3) 0 2px;align-items:center;gap:var(--sp-2);font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--brass-soft);font-weight:700;display:flex}.profile-dock-title-rarity:after{content:"";background:linear-gradient(90deg,color-mix(in srgb, var(--brass) 38%, transparent),transparent);flex:1;height:1px}.profile-dock-title-rarity:first-child{margin-top:0}.profile-dock-title-row{align-items:start;gap:var(--sp-2);width:100%;min-height:var(--tap);padding:10px var(--sp-3);text-align:left;border:1px solid #ffffff1f;border-left:3px solid var(--rarity,#ffffff2e);background:var(--felt-deep);color:var(--ink);border-radius:var(--r-sm);font-size:var(--fs-sm);cursor:pointer;grid-template-columns:26px minmax(0,1fr);display:grid}.profile-dock-title-row:hover:not(:disabled){border-color:color-mix(in srgb, var(--brass) 50%, transparent);border-left-color:var(--rarity,var(--brass))}.profile-dock-title-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.profile-dock-title-showcase{--rarity:#b87333}.profile-dock-title-rarity:nth-of-type(2)~.profile-dock-title-row{--rarity:#c9d2d6}.profile-dock-title-rarity:nth-of-type(3)~.profile-dock-title-row{--rarity:var(--brass)}.profile-dock-title-rarity:nth-of-type(4)~.profile-dock-title-row{--rarity:var(--brass-hot,#f1d46c)}.profile-dock-title-ico{width:26px;height:26px;font-size:var(--fs-2xs);color:var(--muted);background:#ffffff0f;border-radius:999px;place-items:center;line-height:1;display:grid}.profile-dock-title-row:not(.is-locked) .profile-dock-title-ico{background:color-mix(in srgb, var(--ok,#53c785) 22%, transparent);color:var(--ok)}.profile-dock-title-body{gap:3px;min-width:0;display:grid}.profile-dock-title-body>b{letter-spacing:.06em;font-weight:700;font-size:var(--fs-sm);color:var(--brass-soft)}.profile-dock-title-body>span{font-size:var(--fs-2xs);color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;line-height:1.4;display:flex}.profile-dock-title-bar{background:#ffffff1a;border-radius:2px;flex:90px;min-width:70px;max-width:190px;height:4px;overflow:hidden}.profile-dock-title-bar>i{background:linear-gradient(90deg,var(--brass),var(--brass-hot));border-radius:2px;height:100%;display:block}.profile-dock-title-frac{font-variant-numeric:tabular-nums;font-size:var(--fs-2xs);color:var(--brass-soft);flex:none}.profile-dock-title-row.is-active{background:color-mix(in srgb, var(--brass) 16%, var(--felt-deep));border-color:var(--brass-hot);border-left-color:var(--brass-hot)}.profile-dock-title-row.is-active .profile-dock-title-body>b{color:var(--brass-hot)}.profile-dock-title-row.is-locked{opacity:.62;cursor:not-allowed;border-style:dashed dashed dashed solid}.profile-dock-btn{border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass-soft);border-radius:var(--r-md);padding:11px var(--sp-3);min-height:var(--tap);cursor:pointer;font-size:var(--fs-sm);text-align:left;background:0 0;width:fit-content}.profile-dock-btn:hover{border-color:var(--brass-hot);color:var(--brass-hot)}.profile-dock-btn.primary{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:700}.profile-dock-join{grid-template-columns:1fr auto;gap:6px;display:grid}.profile-dock-join input{background:var(--felt-deep);color:var(--ink);border-radius:var(--r-md);min-height:var(--tap);border:1px solid #ffffff1f;min-width:0;padding:11px 10px}.profile-dock-join button{border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);background:var(--brass);color:var(--felt-deep);border-radius:var(--r-md);padding:11px var(--sp-3);min-height:var(--tap);cursor:pointer;font-weight:700;font-size:var(--fs-sm)}.profile-dock-friends{gap:6px;margin:0;padding:0;list-style:none;display:grid}.profile-dock-friends li{align-items:center;gap:var(--sp-2);padding:var(--sp-2) 9px;min-height:var(--tap);font-size:var(--fs-sm);border-radius:var(--r-md);background:#00000038;border:1px solid #ffffff0f;display:flex}.profile-dock-friends b{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-weight:600;overflow:hidden}.profile-dock-status{background:var(--muted);border-radius:50%;flex:none;width:8px;height:8px}.profile-dock-status-online{background:var(--ok)}.profile-dock-status-idle{background:var(--brass)}.profile-dock-status-offline{background:var(--muted)}.profile-dock-status-label{font-size:var(--fs-2xs);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);flex:none}.profile-dock-invite,.profile-dock-remove{background:var(--felt-mid);color:var(--ink);border-radius:var(--r-md);padding:var(--sp-2) 10px;cursor:pointer;min-height:36px;font-size:var(--fs-xs);border:1px solid #ffffff1f}.profile-dock-invite:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent)}.profile-dock-remove{padding:var(--sp-2) 10px;color:var(--muted)}.profile-dock-empty{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.4}.profile-dock-note{font-size:var(--fs-sm);color:var(--muted);min-height:1.2em;margin:0}.profile-dock-history{gap:var(--sp-2);margin:0;padding:0;list-style:none;display:grid}.profile-dock-history li{border-radius:var(--r-md);background:#00000038;border:1px solid #ffffff0f;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.profile-dock-wl{border:1px solid var(--line);width:28px;height:28px;color:var(--brass-hot);font-size:var(--fs-xs);letter-spacing:.04em;border-radius:var(--r-sm);flex:none;place-items:center;font-weight:700;display:grid}.profile-dock-history-meta{gap:2px;min-width:0;display:grid}.profile-dock-history-meta b{font-size:var(--fs-sm);color:var(--ink)}.profile-dock-history-meta span{font-size:var(--fs-xs);color:var(--muted)}.profile-dock-history-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.profile-dock-history-actions button{background:var(--felt-mid);color:var(--ink);border-radius:var(--r-md);padding:10px var(--sp-3);min-height:var(--tap);cursor:pointer;font-size:var(--fs-sm);border:1px solid #ffffff1f}.profile-dock-history-actions button.primary{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:700}.sb-avatar.is-profile-trigger,.hub-top-avatar.is-profile-trigger{cursor:pointer}.sb-avatar.is-profile-trigger:focus-visible,.hub-top-avatar.is-profile-trigger:focus-visible{box-shadow:var(--focus-ring);outline:none}.sb-avatar.is-profile-trigger[aria-disabled=true]{cursor:default;opacity:.85}.online-dock{bottom:14px!important}@media (width<=900px){.profile-dock-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.profile-dock-panel{width:100vw;height:calc(100dvh - var(--topnav-h));top:var(--topnav-h);border-left:0;border-top:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0;bottom:auto;right:0;transform:translateY(105%)}.profile-dock-panel.is-open{transform:none}.profile-dock-handle{display:block}.profile-dock-cards{grid-template-columns:1fr}.profile-dock-history li{grid-template-rows:auto auto;grid-template-columns:auto 1fr}.profile-dock-history-actions{grid-column:1/-1}.online-dock{max-height:42dvh;bottom:14px!important}}@media (width<=400px){.profile-dock-panel{max-width:100vw;overflow-x:hidden}.profile-dock-body{padding-left:12px;padding-right:12px;overflow-x:hidden}.profile-dock-tabs,.profile-dock-cards,.profile-dock-join,.profile-dock-history-actions{grid-template-columns:1fr}.profile-dock-invite,.profile-dock-remove,.profile-dock-btn,.profile-dock-tab{min-height:var(--tap)}}@media (prefers-reduced-motion:reduce){.profile-dock-panel{transition:none;animation:none}}.profile-dock-panel{background:var(--felt);border-left:1px solid var(--line)}.profile-dock-head{border-bottom-color:var(--line)}.profile-dock-head-meta b{font-size:var(--fs-2xl);color:var(--chalk);line-height:1.2}.profile-dock-close{color:var(--dim);border:0;border-radius:50%}.profile-dock-close:hover{color:var(--chalk);background:var(--surface-2)}.profile-dock-tabs{border-bottom-color:var(--line)}.profile-dock-tab{font-size:var(--fs-md);letter-spacing:normal;text-transform:none;font-weight:600}.profile-dock-tab[aria-selected=true]{color:var(--chalk);border-bottom-color:var(--brass)}.profile-dock-pane{gap:var(--sp-5)}.profile-dock-xp,.profile-dock-card{background:0 0;border:0;border-radius:0;padding:0}.profile-dock-cards{gap:var(--sp-5)}.profile-dock-card h3,.profile-dock-section-label{align-items:center;gap:var(--sp-3);font-size:var(--fs-sm);letter-spacing:normal;text-transform:none;color:var(--brass);border:0;padding:0;font-weight:700;display:flex}.profile-dock-card h3:after,.profile-dock-section-label:after{content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--brass) 38%,transparent),transparent 85%);flex:1;height:1px}.profile-dock-xp-bar{background:var(--surface-2);border-radius:2px;height:4px}.profile-dock-xp-fill{background:var(--plate-fill);border-radius:2px}.profile-dock-stat span{font-size:var(--fs-sm);letter-spacing:normal;text-transform:none;color:var(--dim)}.profile-dock-stat b{font-size:var(--fs-xl);color:var(--chalk);font-variant-numeric:tabular-nums;font-weight:700}.profile-dock-title-rarity{font-size:var(--fs-sm);letter-spacing:normal;text-transform:none}.profile-dock-titles.profile-dock-title-showcase{gap:0}.profile-dock-title-row{border:0;border-left:3px solid var(--rarity,var(--line));border-top:1px solid var(--line);background:0 0;border-radius:0}.profile-dock-title-row:hover:not(:disabled){background:color-mix(in srgb,var(--chalk) 4%,transparent)}.profile-dock-title-row.is-active{background:color-mix(in srgb,var(--brass) 8%,transparent);border-left-color:var(--brass-hot);box-shadow:none}.profile-dock-title-row.is-locked{opacity:.62;border-style:solid}.profile-dock-title-body>b{font-size:var(--fs-md);letter-spacing:normal;text-transform:none;color:var(--chalk)}.profile-dock-title-bar{border-radius:2px}.profile-dock-title-bar>i{background:var(--brass);border-radius:2px}.profile-dock-btn,.profile-dock-invite,.profile-dock-remove{border-radius:var(--r-sm);color:var(--brass);font-size:var(--fs-md);letter-spacing:normal;text-transform:none;background:0 0;border:0;font-weight:600}.profile-dock-btn{padding:0 var(--sp-2);margin-left:calc(-1 * var(--sp-2))}.profile-dock-btn:hover,.profile-dock-invite:hover{color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.profile-dock-remove{color:var(--dim)}.profile-dock-btn.primary,.profile-dock-join button,.profile-dock-history-actions button.primary{border-radius:var(--r-sm);background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink);border:0;margin-left:0;font-weight:700}.profile-dock-join input{border-radius:var(--r-sm);background:var(--surface-2);color:var(--chalk);border:1px solid #0000}.profile-dock-join input:focus{border-color:color-mix(in srgb,var(--brass) 65%,transparent);outline:none}.profile-dock-friends,.profile-dock-history{gap:0}.profile-dock-friends li,.profile-dock-history li{border:0;border-top:1px solid var(--line);padding:var(--sp-3) 0;background:0 0;border-radius:0}.profile-dock-friends li:first-child,.profile-dock-history li:first-child{border-top:0}.profile-dock-friends b{font-size:var(--fs-lg)}.profile-dock-wl{background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink);font-size:var(--fs-sm);border:0;border-radius:50%}.profile-dock-history-meta b{font-size:var(--fs-lg);letter-spacing:normal;text-transform:none;color:var(--chalk);font-weight:600}.profile-dock-history-actions button{border-radius:var(--r-sm);background:var(--surface-2);color:var(--brass);font-size:var(--fs-md);letter-spacing:normal;text-transform:none;border:0;font-weight:600}@media (width<=560px){.profile-dock-panel{border-left:0;border-top:1px solid var(--line);border-radius:var(--r-lg) var(--r-lg) 0 0}}.nf-marble{vertical-align:-.16em;flex:none;width:1.05em;height:1.05em;transform:rotate(-24deg)}.nf-marble-glass{fill:var(--surface-2)}.nf-marble-blue{fill:var(--blue);opacity:.9}.nf-marble-red{fill:var(--red);opacity:.9}.nf-marble-rim{fill:none;stroke:var(--chalk);stroke-opacity:.45;stroke-width:1px}.nf-marble-shine{fill:#fff;opacity:.7}.nf-marble-amount{white-space:nowrap;align-items:center;gap:.3em;display:inline-flex}.friends-view{gap:var(--sp-2);display:grid}.friends-add{gap:var(--sp-2);display:flex}.friends-add-input{min-width:0;min-height:var(--tap);border-radius:var(--r-sm);background:var(--surface-2);color:var(--chalk);font-size:var(--fs-md);border:1px solid #0000;flex:1;padding:0 12px}.friends-add-input:focus{border-color:color-mix(in srgb,var(--brass) 65%,transparent);outline:none}.friends-view button{min-height:var(--tap);border-radius:var(--r-sm);cursor:pointer;color:var(--brass);font-size:var(--fs-md);background:0 0;border:0;padding:0 12px;font-weight:600}.friends-view button:hover:not(:disabled){color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.friends-add-btn{flex-shrink:0;min-width:96px}.friends-view button:disabled,.friends-add-input:disabled{opacity:.5;cursor:not-allowed}.friends-view button:focus-visible,.friends-add-input:focus-visible{box-shadow:var(--focus-ring);outline:none}.friends-note,.friends-offline{font-size:var(--fs-xs);color:var(--dim);margin:0}.friends-note[data-tone=ok]{color:var(--brass)}.friends-note[data-tone=error]{color:var(--danger)}.friends-view h3{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--dim);font-weight:600}.friends-view ul{gap:0;margin:0;padding:0;list-style:none;display:grid}.friends-row{align-items:center;gap:var(--sp-3);min-height:var(--row-min);border-top:1px solid var(--line);background:0 0;border-radius:0;padding:6px 0;display:flex}.friends-view li:first-child>.friends-row,.friends-row:first-child{border-top:0}.friends-who{flex:1;gap:1px;min-width:0;display:grid}.friends-who b{color:var(--chalk);font-size:var(--fs-lg);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.friends-who small{color:var(--dim);font-size:var(--fs-xs)}.friends-dot{background:var(--dim);border-radius:50%;flex:none;width:9px;height:9px}.friends-row.is-online .friends-dot{background:var(--ok)}.friends-row.is-playing .friends-dot{background:var(--brass)}.friends-row.is-offline b{color:var(--dim)}.friends-invite{box-shadow:var(--plate-edge);font-weight:700;color:var(--plate-ink)!important;background:var(--plate-fill)!important}.friends-remove{width:var(--tap);color:var(--dim)!important;padding:0!important;font-size:18px!important}.friends-accept{box-shadow:var(--plate-edge);font-weight:700;color:var(--plate-ink)!important;background:var(--plate-fill)!important}.friends-empty{color:var(--dim);font-size:var(--fs-sm);padding:6px 0}.sn-count{color:var(--dim);margin-left:6px;font-weight:600}.sn-list{margin:0;padding:0;list-style:none;display:grid}.sn-row{align-items:center;gap:var(--sp-3);padding:var(--sp-3) 0;border-top:1px solid var(--line);display:flex}.sn-row:first-child{border-top:0}.sn-face{flex:0 0 40px;width:40px;height:40px;display:block}.sn-face .nf-avatar{width:100%;height:100%}.sn-who{text-align:left;flex:1;gap:2px;min-width:0;display:grid}.sn-who b{font-size:var(--fs-lg);color:var(--chalk);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.sn-who small{font-size:var(--fs-sm);color:var(--dim);align-items:center;gap:6px;display:flex}.sn-who small:not(.sn-note):before{content:"";background:var(--ok,#5fbf72);border-radius:50%;flex:0 0 8px;width:8px;height:8px}.sn-row.is-busy .sn-who small:not(.sn-note):before{background:var(--brass)}.sn-who .sn-note{color:var(--brass-hot)}.sn-ask{text-align:center;flex-shrink:0;min-width:96px}.sn-ask:disabled{opacity:.45;cursor:default}.sn-busy{text-align:center;min-width:96px;font-size:var(--fs-sm);color:var(--dim);flex-shrink:0}.sn-empty,.sn-more{margin:var(--sp-2) 0 0;font-size:var(--fs-sm);color:var(--dim);line-height:1.45}.sn-empty[hidden],.sn-more[hidden]{display:none}.sc-card{left:50%;top:calc(var(--topnav-h,46px) + 10px + env(safe-area-inset-top));z-index:var(--z-confirm);border-radius:var(--r-lg);background:var(--surface-2);width:min(420px,100% - 24px);box-shadow:var(--sh-lg),inset 0 0 0 1px var(--brass);color:var(--chalk);grid-template-columns:auto 1fr;align-items:center;gap:10px 12px;padding:14px;animation:.2s ease-out sc-in;display:grid;position:fixed;transform:translate(-50%)}.sc-card[hidden]{display:none}.sc-card .sc-face{width:44px;height:44px;display:block}.sc-card .sc-face .nf-avatar{width:100%;height:100%}.sc-card p{font-size:var(--fs-md);margin:0;line-height:1.35}.sc-card p small{color:var(--dim);font-size:var(--fs-sm);display:block}.sc-bar{background:var(--line);border-radius:3px;grid-column:1/-1;height:3px;overflow:hidden}.sc-bar i{background:var(--brass);transform-origin:0;width:100%;height:100%;display:block}.sc-acts{grid-column:1/-1;grid-template-columns:1fr 1fr;gap:8px;display:grid}.sc-acts button{min-height:var(--tap);border-radius:var(--r-md);font:inherit;font-weight:700;font-size:var(--fs-md);cursor:pointer;border:0}.sc-yes{background:var(--brass);color:var(--felt)}.sc-no{color:var(--chalk);box-shadow:inset 0 0 0 1px var(--line);background:0 0}@keyframes sc-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.sc-card{animation:none}}.em-btn{background:var(--surface);width:40px;height:40px;box-shadow:inset 0 0 0 1px var(--line);text-align:center;cursor:pointer;border:0;border-radius:50%;flex-shrink:0;margin-right:4px;padding:0;font-size:22px;line-height:40px;position:relative}.em-btn[hidden]{display:none}.em-btn[aria-expanded=true]{box-shadow:inset 0 0 0 2px var(--brass)}.em-btn:disabled{opacity:.45;cursor:default}.em-tray{z-index:var(--z-hud);border-radius:var(--r-lg);background:var(--surface-2);width:min(420px,100% - 24px);box-shadow:var(--sh-lg),inset 0 0 0 1px var(--line);grid-template-columns:repeat(6,1fr);gap:6px;padding:8px;display:grid;position:fixed;left:50%;transform:translate(-50%)}.em-tray[hidden]{display:none}.em-tray button{height:var(--tap);border-radius:var(--r-md);background:var(--surface);cursor:pointer;border:0;font-size:26px}.em-tray small{text-align:center;color:var(--dim);font-size:var(--fs-sm);grid-column:1/-1}.em-bubble{z-index:var(--z-hud);background:var(--surface-2);cursor:pointer;width:44px;height:44px;box-shadow:var(--sh-md),inset 0 0 0 2px var(--em-side,var(--red));border:0;border-radius:50%;place-items:center;padding:0;font-size:26px;animation:.32s cubic-bezier(.2,1.4,.4,1) em-pop;display:grid;position:fixed}.em-bubble[hidden]{display:none}.em-bubble[data-side=blue]{--em-side:var(--blue)}.em-bubble.is-out{opacity:0;transition:opacity .25s}@keyframes em-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.em-bubble{animation:none}}.match-end-social{margin:var(--sp-2) 0;gap:6px;display:grid}.match-end-social[hidden]{display:none}.match-end-social-row{justify-content:center;gap:var(--sp-2);flex-wrap:wrap;display:flex}.match-end-social-row .hub-btn-ghost{min-height:var(--tap);text-align:center;min-width:132px}.match-end-social-row .hub-btn-ghost[hidden]{display:none}.match-end-social-row .hub-btn-ghost:disabled{opacity:.6;cursor:default}.match-end-social-note{text-align:center;font-size:var(--fs-md);color:var(--chalk);margin:0}.match-end-social-note[hidden]{display:none}:root{--safe-top:env(safe-area-inset-top,0px);--topnav-bar-h:58px;--topnav-h:calc(var(--topnav-bar-h) + var(--safe-top))}body[data-topnav-mode=match],body[data-topnav-mode=room]{--topnav-bar-h:46px;--topnav-h:calc(var(--topnav-bar-h) + var(--safe-top))}.top-nav{z-index:var(--z-nav);height:calc(var(--topnav-bar-h) + var(--safe-top));padding:var(--safe-top) var(--sp-3) 0;box-sizing:border-box;border-bottom:1px solid #ffffff12;align-items:center;gap:10px;display:flex;position:sticky;top:0}.top-nav:before{content:"";z-index:-1;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080e0cf5;position:absolute;inset:0}.top-nav[data-mode=match],.top-nav[data-mode=room]{height:calc(46px + var(--safe-top))}.top-nav-logo{cursor:pointer;align-items:center;gap:var(--sp-2);font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.06em;color:var(--brass-soft);min-height:var(--tap);background:0 0;border:none;flex-shrink:0;padding:0;display:inline-flex}.top-nav-logo.is-passive,.top-nav-logo:disabled{cursor:default;pointer-events:none;opacity:.92}.top-nav-mark{border-radius:50%;flex:none;width:28px;height:28px;display:block}.top-nav-logo[disabled] .top-nav-mark{opacity:.55}.top-nav[data-mode=match] .top-nav-logo,.top-nav[data-mode=room] .top-nav-logo{font-size:var(--fs-xl);min-height:40px}.top-nav[data-mode=match] .top-nav-logo-text,.top-nav[data-mode=room] .top-nav-logo-text{display:none}@media (width>=520px){.top-nav[data-mode=match] .top-nav-logo-text,.top-nav[data-mode=room] .top-nav-logo-text{display:inline}}.top-nav-leave{border:1px solid var(--line);color:var(--brass);font-family:var(--font-display);letter-spacing:.06em;font-size:var(--fs-md);padding:var(--sp-2) var(--sp-3);min-height:var(--tap);border-radius:var(--r-md);cursor:pointer;background:0 0;flex-shrink:0}.top-nav-leave:hover{border-color:var(--brass-hot);color:var(--brass-hot)}.top-nav-leave[hidden]{display:none!important}.top-nav-menus{align-items:center;gap:var(--sp-1);flex:1;min-width:0;display:flex}.top-nav[data-mode=match] #topNavMenus,.top-nav[data-mode=room] #topNavMenus{display:none!important}.top-nav-item{position:relative}.top-nav-btn,.top-nav-link{color:var(--ink);font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.08em;text-transform:uppercase;padding:10px var(--sp-3);min-height:var(--tap);cursor:pointer;border-radius:var(--r-md);background:0 0;border:1px solid #0000}.top-nav-btn:hover,.top-nav-link:hover,.top-nav-btn[aria-expanded=true]{color:var(--brass-hot);border-color:color-mix(in srgb, var(--brass) 28%, transparent)}.top-nav-link{margin-left:auto}.top-nav-drop{z-index:var(--z-menu);min-width:280px;max-width:min(360px,100vw - 16px);padding:var(--sp-2);border:1px solid var(--line);box-shadow:var(--sh-lg);border-radius:var(--r-md);background:#0a120efa;gap:2px;animation:.16s ease-out topNavDropIn;display:grid;position:fixed}.top-nav-drop[hidden]{display:none!important}.top-nav-drop-row{text-align:left;padding:10px var(--sp-3);min-height:56px;color:var(--ink);cursor:pointer;border-radius:var(--r-sm);font-family:var(--font-body);background:0 0;border:none;grid-template-columns:24px 1fr;align-items:center;gap:14px;width:100%;display:grid}.top-nav-drop-row:hover,.top-nav-drop-row:focus-visible,.top-nav-drop-row.is-active{background:color-mix(in srgb, var(--brass) 12%, transparent);outline:none}.top-nav-drop-ico{width:24px;height:24px;color:var(--brass);background:0 0;border:0;flex-shrink:0;place-items:center;display:grid}.top-nav-drop-ico svg{width:22px;height:22px;display:block}.top-nav-drop-text{gap:2px;min-width:0;display:grid}.top-nav-drop-text b{font-size:var(--fs-lg);color:var(--chalk);font-weight:600}.top-nav-drop-text span{font-size:var(--fs-sm);color:var(--dim);line-height:1.35}.top-nav-drop-sep{height:1px;margin:6px var(--sp-2);background:#ffffff1a;border:0}.top-nav-right{align-items:center;gap:var(--sp-2);flex-shrink:0;margin-left:auto;display:flex}.top-nav-right .top-nav-item{position:relative}.top-nav-settings{cursor:pointer;padding:var(--sp-1) 10px;min-height:var(--tap);border-radius:var(--r-md);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-sm);letter-spacing:.06em;background:0 0;border:1px solid #0000;align-items:center;gap:8px;display:inline-flex}.top-nav-settings:hover,.top-nav-settings[aria-expanded=true]{color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.top-nav-settings-ico{width:28px;height:28px;color:var(--brass-hot);flex-shrink:0;place-items:center;display:grid}.top-nav-settings-ico svg{width:20px;height:20px;display:block}.top-nav-settings-label{font-weight:700}@media (width<=720px){.top-nav-settings-label{display:none}.top-nav-settings{padding:var(--sp-1) 8px}}.top-nav-busy-tip{z-index:var(--z-menu);padding:var(--sp-2) var(--sp-3);border:1px solid var(--line);border-radius:var(--r-md);min-width:200px;max-width:260px;color:var(--brass-soft);font-size:var(--fs-sm);pointer-events:none;box-shadow:var(--sh-sm);background:#0a100ef5;margin:0;line-height:1.35;position:absolute;top:calc(100% + 6px);right:0}.top-nav-avatar-btn{align-items:center;gap:var(--sp-2);cursor:pointer;padding:var(--sp-1) 6px;min-height:var(--tap);border-radius:var(--r-md);color:inherit;background:0 0;border:1px solid #0000;display:flex}.top-nav-avatar-btn:hover,.top-nav-avatar-btn[aria-expanded=true]{background:color-mix(in srgb,var(--brass) 8%,transparent)}.top-nav-avatar-face{background:0 0;border:0;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;overflow:visible}.top-nav-avatar-face svg,.top-nav-avatar-face img{object-fit:contain;width:36px;height:36px;display:block}.top-nav-avatar-meta{flex-direction:column;align-items:flex-start;gap:0;min-width:0;display:flex}.top-nav-avatar-name{font-family:var(--font-display);letter-spacing:.06em;font-size:var(--fs-lg);color:var(--brass-soft);text-overflow:ellipsis;white-space:nowrap;max-width:9em;line-height:1.1;overflow:hidden}.top-nav-level{background:linear-gradient(145deg,var(--brass-hot),var(--brass));min-width:28px;height:28px;color:var(--felt-deep);font-family:var(--font-display);font-size:var(--fs-sm);letter-spacing:.04em;border:1px solid color-mix(in srgb, var(--brass-hot) 80%, transparent);border-radius:50%;flex-shrink:0;place-items:center;padding:0 6px;display:inline-grid}.top-nav-burger{color:var(--ink);width:var(--tap);height:var(--tap);border-radius:var(--r-sm);cursor:pointer;font-size:var(--fs-xl);background:0 0;border:0;line-height:1;display:none}.top-nav-burger:hover,.top-nav-burger[aria-expanded=true]{color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.top-nav-burger[hidden]{display:none!important}.top-nav-mobile-sheet{inset:var(--topnav-h) 0 0 0;z-index:var(--z-menu);background:var(--felt);padding:var(--sp-3) var(--sp-4) var(--sp-6);gap:var(--sp-4);align-content:start;animation:.16s ease-out topNavDropIn;display:grid;position:fixed;overflow:auto}.top-nav-mobile-sheet[hidden]{display:none!important}.top-nav-mobile-group{background:0 0;border:0;border-radius:0;padding:0}.top-nav-mobile-group h3{align-items:center;gap:var(--sp-3);margin:0 0 var(--sp-1);font-size:var(--fs-sm);color:var(--brass);font-weight:700;display:flex}.top-nav-mobile-group h3:after{content:"";background:linear-gradient(90deg,color-mix(in srgb,var(--brass) 38%,transparent),transparent 85%);flex:1;height:1px}.top-nav-mobile-group .top-nav-drop-row{padding-inline:6px}.top-nav-mobile-group .top-nav-drop-row+.top-nav-drop-row{border-top:1px solid var(--line);border-radius:0}body.has-top-nav #app{flex-direction:column;min-height:100dvh;display:flex}body.has-top-nav #topNavHost{flex:none}body.has-top-nav #hubRoot,body.has-top-nav #playRoot{flex:1;min-height:0}body[data-app-view=hub] .play-settings-fab{display:none!important}body[data-app-view=hub] .play-settings-drawer{top:var(--topnav-h,58px)}@media (width<=820px){.top-nav-menus{display:none}.top-nav-burger{place-items:center;display:inline-grid}.top-nav[data-mode=match] .top-nav-burger,.top-nav[data-mode=room] .top-nav-burger{display:none!important}.top-nav-avatar-meta,.top-nav-link{display:none}}@media (width<=420px){.top-nav-logo-text{display:none}}@media (prefers-reduced-motion:reduce){.top-nav-drop,.top-nav-mobile-sheet{animation:none}}html[data-reduce-motion="1"] .top-nav-drop,html[data-reduce-motion="1"] .top-nav-mobile-sheet{animation:none!important}@keyframes topNavDropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.top-nav-btn:focus-visible,.top-nav-link:focus-visible,.top-nav-logo:focus-visible,.top-nav-leave:focus-visible,.top-nav-settings:focus-visible,.top-nav-avatar-btn:focus-visible,.top-nav-burger:focus-visible,.top-nav-drop-row:focus-visible{box-shadow:var(--focus-ring);outline:none}.net-banner{left:50%;top:calc(env(safe-area-inset-top,0px) + 72px);z-index:var(--z-modal);box-sizing:border-box;border-radius:var(--r-lg);width:min(560px,100vw - 32px);color:var(--ink);font-family:var(--font-body);background:linear-gradient(110deg,#3a1410f5,#0c100df5);border:1px solid #ff8d7b8c;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px 12px 16px;animation:.22s ease-out both netBannerIn;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 18px 50px #00000080}.net-banner[hidden]{display:none!important}.net-banner-dot{background:#ff8d7b;border-radius:50%;width:10px;height:10px;animation:1.1s ease-in-out infinite netBannerPulse;box-shadow:0 0 12px #ff8d7bcc}.net-banner-copy{gap:2px;min-width:0;display:grid}.net-banner-title{font-family:var(--font-display);font-weight:400;font-size:var(--fs-lg);letter-spacing:.05em;color:#ffd0c8}.net-banner-body{font-size:var(--fs-xs);color:var(--muted);line-height:1.35}.net-banner-retry{border:1px solid var(--brass);border-radius:var(--r-md);background:var(--brass);color:var(--felt-deep);cursor:pointer;white-space:nowrap;min-height:40px;padding:9px 12px;font-weight:800}.net-banner-retry:focus-visible{box-shadow:var(--focus-ring);outline:none}.net-banner.is-restored{background:linear-gradient(110deg,#0e2c1df5,#0c100df5);border-color:#53c78599}.net-banner.is-restored .net-banner-dot{background:var(--ok);animation:none;box-shadow:0 0 12px #53c785cc}.net-banner.is-restored .net-banner-title{color:#b8f0cf}@keyframes netBannerIn{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@keyframes netBannerPulse{50%{opacity:.35}}@media (width<=420px){.net-banner{top:calc(env(safe-area-inset-top,0px) + 60px);grid-template-columns:auto minmax(0,1fr)}.net-banner-retry{grid-column:1/-1}}@media (prefers-reduced-motion:reduce){.net-banner,.net-banner-dot{animation:none}}.mr-root{bottom:0;left:0;right:0;top:var(--topnav-h,46px);z-index:calc(var(--z-dock) + 50);color:var(--ink);pointer-events:auto;grid-template-rows:auto minmax(0,1fr) auto auto;place-items:center;gap:clamp(8px,2vh,18px);padding:clamp(14px,3vh,34px) clamp(12px,3vw,40px);display:grid;position:fixed;overflow:hidden}.mr-root[hidden]{display:none!important}.mr-bg{z-index:-1;background:radial-gradient(60% 55% at 50% 45%, color-mix(in srgb, var(--brass-hot) 10%, transparent), transparent 70%), radial-gradient(45% 60% at 0% 50%, color-mix(in srgb, var(--blue) 20%, transparent), transparent 70%), radial-gradient(45% 60% at 100% 50%, color-mix(in srgb, var(--red) 20%, transparent), transparent 70%), var(--felt);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s;position:absolute;inset:0}.mr-bg:after{content:"";mix-blend-mode:overlay;background:repeating-linear-gradient(#ffffff06 0 1px,#0000 1px 4px);position:absolute;inset:0}.mr-root.is-in .mr-bg{opacity:1}.mr-kicker{border:0;border-left:4px solid var(--brass);background:var(--surface);color:var(--brass-hot);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.1em;text-transform:uppercase;opacity:0;border-radius:2px;margin:0;padding:6px 16px 5px 12px;font-size:clamp(16px,2vw,22px);font-style:italic;font-weight:800;transition:opacity .3s 50ms,transform .3s 50ms;transform:translateY(-10px)}.mr-root.is-in .mr-kicker{opacity:1;transform:none}.mr-stage{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:clamp(10px,2.4vw,28px);width:min(980px,100%);min-height:0;max-height:100%;display:grid}.mr-team{background:var(--surface);min-width:0;box-shadow:var(--sh-lg);opacity:0;border:1px solid #0000;border-radius:3px;align-content:start;gap:10px;padding:clamp(12px,2vw,20px) clamp(12px,2vw,20px) clamp(12px,2vw,20px) calc(clamp(12px,2vw,20px) + 6px);transition:opacity .38s,transform .5s cubic-bezier(.2,.9,.2,1);display:grid;position:relative}.mr-team:before{content:"";border-radius:3px 0 0 3px;width:6px;position:absolute;inset:0 auto 0 0}.mr-blue{transform:translate(-60px)}.mr-red{transform:translate(60px)}.mr-blue:before{background:var(--blue)}.mr-red:before{background:var(--red)}.mr-root.is-in .mr-team{opacity:1;transform:none}.mr-root.is-in .mr-red{transition-delay:80ms}.mr-team.is-local{border-color:var(--brass)}.mr-tag{font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;background:var(--surface-2);color:var(--dim);border-radius:2px;justify-self:start;padding:2px 9px;font-weight:800}.mr-team.is-local .mr-tag{background:var(--brass);color:var(--felt)}.mr-name{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;margin:0;padding-right:.12em;font-size:clamp(26px,4vw,48px);font-style:italic;font-weight:800;line-height:.95;overflow:hidden}.mr-blue .mr-name{color:var(--blue)}.mr-red .mr-name{color:var(--red)}.mr-pitch{place-items:center;min-height:0;display:grid}.mr-pitch-svg{filter:drop-shadow(0 6px 16px #00000073);width:100%;height:auto;max-height:min(30vh,260px);display:block}.mr-pitch-field{fill:#6b4a2c;opacity:.55}.mr-pitch-line{fill:none;stroke:#f3e6c059;stroke-width:.004px}.mr-pitch-goal{fill:#f3e6c080}.mr-pin{transform-box:fill-box;transform-origin:50%;opacity:0;transition:opacity .2s,transform .35s cubic-bezier(.3,1.6,.5,1);transition-delay:calc(.45s + var(--i) * 55ms);transform:scale(.2)}.mr-blue .mr-pin{fill:var(--blue);stroke:#ffffffb3;stroke-width:.004px}.mr-red .mr-pin{fill:var(--red);stroke:#ffffffb3;stroke-width:.004px}.mr-root.is-in .mr-pin{opacity:1;transform:none}.mr-loadout{justify-content:space-between;align-items:center;gap:10px;min-width:0;display:flex}.mr-formation{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.04em;color:var(--brass-soft);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(17px,2.1vw,23px);font-style:italic;font-weight:800;overflow:hidden}.mr-ball{font-size:var(--fs-sm);color:var(--chalk);flex:none;align-items:center;gap:8px;display:inline-flex}.mr-ball img{filter:drop-shadow(0 4px 10px #0009);opacity:0;width:clamp(28px,3.4vw,40px);height:auto;transition:transform .6s cubic-bezier(.2,.9,.2,1) 1s,opacity .3s 1s;transform:rotate(-200deg)scale(.4)}.mr-root.is-in .mr-ball img{opacity:1;transform:none}.mr-vs{place-items:center;display:grid}.mr-vs span{width:clamp(64px,8vw,96px);height:clamp(44px,5.4vw,64px);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.02em;color:var(--felt);background:var(--brass);clip-path:polygon(14% 0,100% 0,86% 100%,0 100%);box-shadow:none;filter:drop-shadow(0 0 24px color-mix(in srgb, var(--brass-hot) 40%, transparent));opacity:0;border-radius:0;place-items:center;font-size:clamp(26px,3.4vw,40px);font-style:italic;font-weight:800;transition:opacity .25s .3s,transform .45s cubic-bezier(.2,1.4,.4,1) .3s;display:grid;transform:scale(2.2)}.mr-root.is-in .mr-vs span{opacity:1;transform:none}.mr-series{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-lg);letter-spacing:.06em;text-transform:uppercase;color:var(--dim);text-align:center;opacity:0;margin:0;transition:opacity .3s .9s}.mr-root.is-in .mr-series{opacity:1}.mr-count{place-items:center;height:clamp(56px,9vh,96px);display:grid}.mr-count b{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);color:var(--brass-hot);text-shadow:0 0 30px color-mix(in srgb, var(--brass-hot) 55%, transparent), 0 6px 24px #000c;font-size:clamp(52px,9vh,96px);font-style:italic;font-weight:800;line-height:1}.mr-count b.is-pop{animation:.46s cubic-bezier(.2,1.4,.4,1) mrPop}.mr-count b.is-go{letter-spacing:.04em;text-transform:uppercase;color:var(--chalk)}@keyframes mrPop{0%{opacity:0;transform:scale(1.9)}60%{opacity:1}to{opacity:1;transform:scale(1)}}.mr-leg{grid-row:2;justify-items:center;gap:10px;display:grid}.mr-leg-ball img{filter:drop-shadow(0 12px 28px #000000b3);opacity:0;width:clamp(90px,16vh,150px);height:auto;transition:transform .8s cubic-bezier(.2,.9,.2,1),opacity .3s;transform:rotate(-320deg)scale(.3)}.mr-root.is-in .mr-leg-ball img{opacity:1;transform:none}.mr-leg-name{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);letter-spacing:.02em;text-transform:uppercase;color:var(--brass-soft);margin:0;font-size:clamp(34px,6vw,64px);font-style:italic;font-weight:800}.mr-leg-sub{color:var(--dim);letter-spacing:.08em;margin:0}.mr-root[data-mode=leg] .mr-kicker{opacity:1;transform:none}.mr-root[data-mode=leg] .mr-count{grid-row:4}.mr-root.is-out{opacity:0;transition:opacity .26s}@media (width<=720px),(orientation:portrait){.mr-root{grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px}.mr-stage{grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1fr);align-content:center;gap:8px}.mr-team{order:1;grid-template-columns:minmax(0,1fr) 44%;grid-template-areas:"tag pitch""name pitch""load pitch";align-items:center;padding:12px}.mr-team .mr-tag{grid-area:tag}.mr-team .mr-name{grid-area:name;font-size:clamp(24px,7vw,34px)}.mr-team .mr-pitch{grid-area:pitch}.mr-pitch-svg{max-height:17vh}.mr-team .mr-loadout{flex-direction:column;grid-area:load;align-items:flex-start;gap:6px}.mr-vs{order:2}.mr-vs span{width:60px;height:40px;font-size:24px}.mr-team.is-local{order:3}.mr-blue,.mr-red{transform:translateY(24px)}}.mr-root.is-reduced *,.mr-root.is-reduced{transition:none!important;animation:none!important}.mr-root.is-reduced .mr-team,.mr-root.is-reduced .mr-pin,.mr-root.is-reduced .mr-ball img,.mr-root.is-reduced .mr-vs span,.mr-root.is-reduced .mr-leg-ball img{transform:none}.kc-root{bottom:0;left:0;right:0;top:var(--topnav-h,46px);z-index:calc(var(--z-dock) + 50);pointer-events:auto;background:radial-gradient(55% 45%,#0000006b,#0000002e 70%,#0000);place-items:center;transition:opacity .22s;display:grid;position:fixed}.kc-root[hidden]{display:none!important}.kc-root.is-out{opacity:0}.kc-num{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);color:var(--brass-hot);text-shadow:0 0 34px color-mix(in srgb, var(--brass-hot) 55%, transparent), 0 8px 28px #000000d9;font-size:clamp(96px,22vmin,200px);font-style:italic;font-weight:800;line-height:1}.kc-num.is-go{letter-spacing:.04em;text-transform:uppercase;color:var(--chalk);font-size:clamp(64px,14vmin,128px)}.kc-num.is-pop{animation:.5s cubic-bezier(.2,1.4,.4,1) kcPop}@keyframes kcPop{0%{opacity:0;transform:scale(1.9)}60%{opacity:1}to{opacity:1;transform:scale(1)}}.kc-root.is-reduced,.kc-root.is-reduced *{transition:none!important;animation:none!important}.leaderboard-screen{min-height:calc(100dvh - var(--topnav-h,58px));padding:var(--sp-4) 18px var(--sp-6);background:radial-gradient(ellipse 80% 40% at 50% 0%, color-mix(in srgb, var(--brass) 10%, transparent), transparent 60%), linear-gradient(180deg, var(--felt-deep), var(--felt-mid));color:var(--ink);box-sizing:border-box;overflow-x:hidden}.leaderboard-head{justify-content:space-between;align-items:center;gap:var(--sp-3);margin-bottom:var(--sp-4);display:flex}.leaderboard-head h2{font-weight:700;font-size:var(--fs-2xl);color:var(--chalk);margin:0}.leaderboard-week{color:var(--muted);font-size:var(--fs-sm);margin:4px 0 0}.leaderboard-back{min-height:var(--tap);padding:0 var(--sp-3);cursor:pointer;color:var(--brass);border-radius:var(--r-sm);font-family:var(--font-body);background:0 0;border:0;font-weight:600}.leaderboard-back:hover{color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 8%,transparent)}.leaderboard-lock{margin:var(--sp-6) auto;text-align:center;max-width:36rem;font-size:var(--fs-md);color:var(--brass-soft);line-height:1.5}.leaderboard-podium{justify-content:center;align-items:flex-end;gap:var(--sp-4);padding:var(--sp-4) 0 var(--sp-2);display:flex}.leaderboard-nail{flex-direction:column;align-items:center;width:min(220px,30vw);min-width:0;display:flex}.leaderboard-nail.is-gold{width:min(260px,34vw)}.leaderboard-place{font-size:var(--fs-2xs);letter-spacing:.18em;color:var(--brass);margin:0 0 6px}.leaderboard-nail img{object-fit:contain;filter:drop-shadow(0 10px #00000059);width:100%;height:auto;display:block}.leaderboard-nail.is-gold img{max-height:320px}.leaderboard-nail.is-silver img,.leaderboard-nail.is-bronze img{max-height:240px;margin-top:36px}.leaderboard-nail.is-empty img{opacity:.45}.leaderboard-felt-notch{background:radial-gradient(#00000073,#0000 70%);border-radius:50%;width:42%;height:8px;margin-top:-4px}.leaderboard-plate{text-align:center;border-radius:var(--r-sm);background:linear-gradient(180deg, color-mix(in srgb, var(--brass-hot) 80%, white), var(--brass));width:100%;color:var(--felt-deep);margin-top:8px;padding:8px 8px 10px;box-shadow:inset 0 1px #fff6}.leaderboard-plate b{font-size:var(--fs-sm);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.leaderboard-plate span{font-size:var(--fs-2xs);margin-top:2px;display:block}.leaderboard-empty{margin:var(--sp-3) 0 var(--sp-4);text-align:center;color:var(--brass-soft);font-size:var(--fs-sm)}.leaderboard-list{margin:var(--sp-4) auto 0;gap:0;max-width:720px;padding:0;list-style:none;display:grid}.leaderboard-list li{gap:var(--sp-3);min-height:var(--row-min);border:0;border-top:1px solid var(--line);font-size:var(--fs-md);background:0 0;border-radius:0;grid-template-columns:3rem minmax(0,1fr) auto auto;align-items:center;padding:8px 4px;display:grid}.leaderboard-list li:first-child{border-top:0}.leaderboard-list li.is-self{border-color:var(--brass);background:color-mix(in srgb, var(--brass) 14%, transparent)}.leaderboard-list .place{color:var(--muted);letter-spacing:.08em}.leaderboard-list .name{align-items:center;gap:8px;min-width:0;font-weight:700;display:flex}.leaderboard-list .name>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.leaderboard-face{flex:none;width:28px;height:28px;display:block}.leaderboard-face .nf-avatar,.leaderboard-face img{width:100%;height:100%;display:block}.leaderboard-plate .leaderboard-face{width:34px;height:34px;margin:-26px auto 4px}.leaderboard-list .wins,.leaderboard-list .elo{color:var(--brass-soft);font-variant-numeric:tabular-nums}@media (width<=400px){.leaderboard-screen{padding:12px 8px 24px}.leaderboard-podium{gap:6px}.leaderboard-nail{width:30vw}.leaderboard-nail.is-gold{width:34vw}.leaderboard-nail.is-silver img,.leaderboard-nail.is-bronze img{max-height:160px;margin-top:18px}.leaderboard-nail.is-gold img{max-height:200px}.leaderboard-plate b{font-size:var(--fs-2xs)}.leaderboard-list li{grid-template-columns:2.2rem minmax(0,1fr)}.leaderboard-list .wins,.leaderboard-list .elo{grid-column:2}}.leaderboard-head h2,.leaderboard-back,.leaderboard-place,.leaderboard-plate b,.leaderboard-plate span,.leaderboard-list .place,.leaderboard-list .wins,.leaderboard-list .elo{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);text-transform:uppercase;font-style:italic;font-weight:800}.leaderboard-screen{background:radial-gradient(ellipse 70% 40% at 50% -10%, #f3d77a17, transparent 60%), var(--felt)}.leaderboard-head h2{background:var(--surface);border-left:6px solid var(--brass);letter-spacing:.01em;color:var(--chalk);border-radius:2px;padding:6px 16px 4px 12px;font-size:40px;line-height:1;display:inline-block}.leaderboard-week{color:var(--dim)}.leaderboard-back{border-color:var(--line);background:var(--surface-2);color:var(--chalk);letter-spacing:.04em;border-radius:2px;font-size:17px}.leaderboard-back:hover{border-color:var(--brass-hot)}.leaderboard-place{letter-spacing:.06em;color:var(--brass-hot);font-size:18px}.leaderboard-plate{background:var(--brass);box-shadow:none;color:var(--felt);border-radius:2px}.leaderboard-plate b{letter-spacing:.02em;font-size:18px}.leaderboard-plate span{letter-spacing:.03em;font-variant-numeric:tabular-nums;font-size:15px}.leaderboard-list li{border:0;border-left:3px solid var(--line);background:var(--surface);border-radius:2px}.leaderboard-list li.is-self{border-left-color:var(--brass);background:color-mix(in srgb, var(--brass) 14%, var(--surface));box-shadow:inset 0 0 0 1px var(--brass)}.leaderboard-list .place{color:var(--brass-hot);letter-spacing:.02em;font-size:22px}.leaderboard-list .wins,.leaderboard-list .elo{letter-spacing:.02em;color:var(--chalk);font-variant-numeric:tabular-nums;font-size:18px}.leaderboard-nail{margin:0}@media (width<=400px){.leaderboard-head h2{font-size:32px}.leaderboard-plate b{font-size:15px}.leaderboard-list li{gap:var(--sp-2);grid-template-columns:2.2rem minmax(0,1fr) auto auto}.leaderboard-list .wins,.leaderboard-list .elo{grid-column:auto}}.replay-scene{z-index:var(--z-modal);padding:var(--sp-3);font-family:var(--font-body);color:var(--chalk);place-items:center;display:grid;position:fixed;inset:0}.replay-scene-scrim{z-index:var(--z-modal-scrim);background:color-mix(in srgb, var(--felt) 86%, transparent);position:absolute;inset:0}.replay-scene-shell{z-index:var(--z-modal);gap:var(--sp-2);width:min(1100px,100%);max-height:min(94vh,900px);padding:var(--sp-3);background:var(--surface);border:0;border-top:4px solid var(--brass);box-shadow:var(--sh-lg);border-radius:3px;flex-direction:column;display:flex;position:relative;overflow:hidden}.replay-scene-close{z-index:1;width:var(--tap);height:var(--tap);border:1px solid var(--line);background:var(--surface);color:var(--dim);font-size:var(--fs-2xl);cursor:pointer;border-radius:2px;place-items:center;padding:0;line-height:1;display:grid;position:absolute;top:8px;right:8px}.replay-scene-close:hover{color:var(--chalk);border-color:var(--brass-hot)}.replay-scene-warn{background:var(--felt);border:0;border-left:4px solid var(--warn);color:var(--chalk);font-size:var(--fs-sm);border-radius:2px;margin:0 56px 0 0;padding:8px 12px}.replay-scene-warn[hidden]{display:none!important}.replay-scene-layout{gap:var(--sp-3);flex:1;grid-template-columns:minmax(0,1fr) 240px;min-height:0;display:grid}.replay-scene-stage{gap:var(--sp-2);flex-direction:column;min-width:0;display:flex}.replay-scene-canvas{background:var(--felt);border:0;border-radius:2px;width:100%;height:auto;display:block}.replay-scene-transport{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.replay-scene-transport button{border:1px solid var(--line);background:var(--surface-2);color:var(--chalk);cursor:pointer;min-width:var(--tap);min-height:var(--tap);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-lg);text-transform:uppercase;border-radius:2px;padding:6px 10px}.replay-scene-transport button:hover{border-color:var(--brass-hot)}.replay-scene-transport button.is-primary{background:var(--brass);color:var(--felt);border-color:var(--brass)}.replay-scene-close:focus-visible,.replay-scene-transport button:focus-visible,.replay-scene-rate select:focus-visible,.replay-scene-scrub input[type=range]:focus-visible,.replay-scene-moments li button:focus-visible,.replay-scene-clip:focus-visible{box-shadow:var(--focus-ring);outline:none}.replay-scene-scrub{flex:140px;min-width:120px;position:relative}.replay-scene-scrub input[type=range]{width:100%;accent-color:var(--brass);margin:0}.replay-scene-notches{pointer-events:none;height:0;position:absolute;top:50%;left:0;right:0}.replay-scene-notches i{background:color-mix(in srgb, var(--chalk) 45%, transparent);border-radius:0;width:2px;height:12px;margin-left:-1px;position:absolute;top:-6px}.replay-scene-notches i.is-goal{background:var(--brass-hot);width:3px;height:14px;top:-7px}.replay-scene-time{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-lg);color:var(--chalk);font-variant-numeric:tabular-nums;white-space:nowrap}.replay-scene-rate select{background:var(--felt);color:var(--chalk);border:1px solid var(--line);min-height:var(--tap);font-size:var(--fs-sm);border-radius:2px;padding:6px 8px}.replay-scene-moments{border-left:1px solid var(--line);min-width:0;padding-left:var(--sp-3);overflow:auto}.replay-scene-moments h3{margin:0 0 var(--sp-2);font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-md);letter-spacing:.08em;text-transform:uppercase;color:var(--brass);align-items:center;min-height:44px;margin-right:52px;display:flex}.replay-scene-moments ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.replay-scene-moments li button{width:100%;min-height:var(--tap);text-align:left;border:0;border-left:3px solid var(--line);background:var(--felt);color:var(--chalk);cursor:pointer;border-radius:2px;gap:2px;padding:8px 10px;display:grid}.replay-scene-moments li button:hover{border-left-color:var(--brass-hot)}.replay-scene-moments li button b{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-md);letter-spacing:.03em;text-transform:uppercase}.replay-scene-moments li button span{font-size:var(--fs-xs);color:var(--dim)}.replay-scene-moments li.is-active button{background:color-mix(in srgb, var(--brass) 14%, var(--felt));border-left-color:var(--brass)}.replay-scene-moments li.is-empty{font-size:var(--fs-sm);color:var(--dim);padding:8px 0}.replay-scene-foot{justify-content:space-between;align-items:center;gap:var(--sp-3);padding-top:var(--sp-2);border-top:1px solid var(--line);display:flex}.replay-scene-foot-text{gap:2px;min-width:0;display:grid}.replay-scene-foot-text strong{font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-xl);letter-spacing:.03em;text-transform:uppercase}.replay-scene-foot-text span{font-size:var(--fs-sm);color:var(--dim)}.replay-scene-clip{border:1px solid var(--brass);background:var(--brass);color:var(--felt);min-height:var(--tap);cursor:pointer;white-space:nowrap;font-family:var(--font-broadcast);font-stretch:var(--font-broadcast-stretch);font-style:italic;font-weight:800;font-size:var(--fs-lg);letter-spacing:.05em;text-transform:uppercase;border-radius:2px;padding:10px 14px}.replay-scene-clip:hover{background:var(--brass-hot)}.replay-scene-clip.is-recording,.replay-scene-clip.is-recording:hover{background:var(--surface);border-color:var(--danger);color:var(--chalk);font-variant-numeric:tabular-nums;cursor:progress}.replay-scene-clip.is-recording:before{content:"";background:var(--danger);vertical-align:1px;border-radius:50%;width:9px;height:9px;margin-right:8px;animation:1s steps(2,jump-none) infinite replay-rec-blink;display:inline-block}@keyframes replay-rec-blink{50%{opacity:.25}}@media (prefers-reduced-motion:reduce){.replay-scene-clip.is-recording:before{animation:none}}.replay-scene-foot-text .replay-scene-clip-status{font-size:var(--fs-sm);color:var(--chalk)}.replay-scene-clip-status[data-tone=ok]{color:var(--ok)}.replay-scene-clip-status[data-tone=error]{color:var(--danger)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=899px){.replay-scene-layout{grid-template-columns:1fr}.replay-scene-moments h3{min-height:0;margin-right:0}.replay-scene-moments{border-left:0;border-top:1px solid var(--line);padding-left:0;padding-top:var(--sp-2)}.replay-scene-moments ul{flex-direction:row;gap:8px;padding-bottom:4px;overflow-x:auto}.replay-scene-moments li{flex:none;min-width:160px}.replay-scene-moments li button{background:var(--felt)}}@media (prefers-reduced-motion:reduce){.replay-scene-shell{animation:none}}.nf-locker-root{z-index:var(--z-modal);background:radial-gradient(ellipse 90% 50% at 50% 0%, color-mix(in srgb, var(--brass) 7%, transparent), transparent 70%), var(--felt);color:var(--chalk);font-family:var(--font-body);animation:nf-locker-in var(--t-panel) ease-out;font-style:normal;position:fixed;inset:0;overflow:hidden}.nf-locker-root[hidden]{display:none!important}html.nf-locker-open,html.nf-locker-open body{overflow:hidden}@keyframes nf-locker-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.nf-locker{flex-direction:column;max-width:1200px;height:100%;margin:0 auto;display:flex}.nf-locker :is(h2,h3,p,dl,dd,ul){margin:0}.nf-locker :where(button){font:inherit;color:inherit}.nf-locker svg{flex:none}.nf-locker :is(button,[tabindex]:not([tabindex="-1"])):focus-visible{box-shadow:var(--focus-ring);outline:none}.nf-locker-bar{align-items:center;gap:var(--sp-2);padding:var(--sp-2) var(--sp-4) var(--sp-2) var(--sp-2);padding-top:max(var(--sp-2), env(safe-area-inset-top));border-bottom:1px solid var(--line);display:flex}.nf-locker-back{width:var(--tap);height:var(--tap);border-radius:var(--r-md);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.nf-locker-back svg{width:24px;height:24px}.nf-locker-back:hover{background:var(--surface)}.nf-locker-title:focus,.nf-locker-title:focus-visible{box-shadow:none;outline:none}.nf-locker-title{font-size:var(--fs-xl);flex:1;font-weight:700;line-height:1.2}.nf-locker-balance{align-items:center;gap:var(--sp-2);padding:6px var(--sp-3) 6px 10px;border-radius:var(--r-pill);background:var(--surface);box-shadow:inset 0 0 0 1px var(--line);font-size:var(--fs-lg);font-variant-numeric:tabular-nums;color:var(--brass-hot);font-weight:700;display:inline-flex}.nf-locker-balance .nf-marble{width:20px;height:20px}.nf-locker-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.nf-locker-showcase{z-index:1;gap:var(--sp-3);padding:var(--sp-3) var(--sp-4) var(--sp-3);background:var(--felt);display:grid;position:sticky;top:0;box-shadow:0 10px 14px -12px #000000b3}.nf-locker-stage{box-shadow:var(--walnut-frame);aspect-ratio:2;background:#1a120b;border-radius:6px;margin:4px;position:relative;overflow:hidden}.nf-locker-stage canvas{width:100%;height:100%;display:block}.nf-locker-photo{object-fit:cover;width:100%;height:100%;display:block}.nf-locker-stage>[hidden],.nf-locker-sheet-thumb[hidden]{display:none}.nf-locker-detail{align-items:center;gap:var(--sp-1) var(--sp-3);grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"heading cta""desc desc";display:grid}.nf-locker-heading{grid-area:heading;min-width:0}.nf-locker-cta{justify-items:end;gap:var(--sp-1);grid-area:cta;display:grid}.nf-locker-desc{font-size:var(--fs-sm);color:var(--dim);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-area:desc;line-height:1.45;display:-webkit-box;overflow:hidden}.nf-locker-kicker{font-size:var(--fs-xs);color:var(--brass);font-weight:600;line-height:1.4}.nf-locker-name{font-size:var(--fs-2xl);text-overflow:ellipsis;white-space:nowrap;font-weight:700;line-height:1.2;overflow:hidden}.nf-locker-btn{justify-content:center;align-items:center;gap:var(--sp-2);min-height:var(--tap);padding:0 var(--sp-4);border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);font-size:var(--fs-lg);white-space:nowrap;cursor:pointer;transition:background var(--t-state), border-color var(--t-state), transform var(--t-state);font-weight:700;display:inline-flex}.nf-locker-btn:hover:not(:disabled){border-color:color-mix(in srgb, var(--chalk) 30%, transparent)}.nf-locker-btn:active:not(:disabled){transform:translateY(1px)}.nf-locker-btn{background:var(--surface-2);color:var(--chalk);border-radius:var(--r-sm);border:0}.nf-locker-btn:hover:not(:disabled){background:color-mix(in srgb, var(--chalk) 10%, var(--surface-2))}.nf-locker-btn.is-primary{background:var(--plate-fill);box-shadow:var(--plate-edge);color:var(--plate-ink);text-shadow:0 1px #ffffff47}.nf-locker-btn.is-primary:hover:not(:disabled){background:var(--plate-fill);filter:brightness(1.05)}.nf-locker-btn.is-primary .nf-marble-glass{fill:color-mix(in srgb, var(--felt) 20%, var(--brass))}.nf-locker-btn.is-done{color:var(--brass-hot);cursor:default;padding-inline:var(--sp-2);background:0 0;border-color:#0000}.nf-locker-btn.is-done svg{width:18px;height:18px}.nf-locker-btn:disabled:not(.is-done){opacity:.55;cursor:not-allowed}.nf-locker-price{font-variant-numeric:tabular-nums;align-items:center;gap:.3em;display:inline-flex}.nf-locker-price .nf-marble{width:1.05em;height:1.05em}.nf-locker-short{font-size:var(--fs-xs);color:var(--warn);white-space:nowrap}.nf-locker-progress{justify-items:end;gap:6px;min-width:132px;display:grid}.nf-locker-progress-label{font-size:var(--fs-sm);color:var(--dim);white-space:nowrap;align-items:center;gap:6px;font-weight:600;display:inline-flex}.nf-locker-progress-label svg{width:14px;height:14px}.nf-locker-progress-bar{border-radius:var(--r-pill);background:var(--surface-2);width:100%;height:6px;display:block;overflow:hidden}.nf-locker-progress-bar i{border-radius:inherit;background:var(--brass);height:100%;display:block}.nf-locker-shelf{padding:0 var(--sp-4) calc(var(--sp-6) + env(safe-area-inset-bottom))}.nf-locker-tabs{gap:var(--sp-1);margin:0 calc(var(--sp-4) * -1) var(--sp-3);padding:0 var(--sp-4);scrollbar-width:none;border-bottom:1px solid var(--line);display:flex;overflow-x:auto}.nf-locker-tabs::-webkit-scrollbar{display:none}.nf-locker-tab{min-height:var(--tap);padding:0 var(--sp-3);font-size:var(--fs-md);color:var(--dim);white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;font-weight:600;display:inline-flex;position:relative}.nf-locker-tab small{font-size:var(--fs-xs);color:var(--dim);font-variant-numeric:tabular-nums;font-weight:600}.nf-locker-tab[aria-selected=true]{color:var(--chalk)}.nf-locker-tab[aria-selected=true]:after{content:"";left:var(--sp-3);right:var(--sp-3);background:var(--brass);border-radius:3px 3px 0 0;height:3px;position:absolute;bottom:-1px}.nf-locker-tab:hover{color:var(--chalk)}.nf-locker-grid{gap:var(--sp-3);grid-template-columns:repeat(2,minmax(0,1fr));padding:0;list-style:none;display:grid}.nf-locker-card{width:100%;padding:0 0 var(--sp-2);border-radius:var(--r-md);text-align:left;cursor:pointer;transition:transform var(--t-state);background:0 0;border:0;gap:4px;display:grid}.nf-locker-card .nf-locker-thumb{transition:box-shadow var(--t-state)}.nf-locker-card:hover .nf-locker-thumb{box-shadow:0 0 0 1px color-mix(in srgb, var(--chalk) 28%, transparent)}.nf-locker-card:active{transform:scale(.985)}.nf-locker-card[aria-pressed=true] .nf-locker-thumb{box-shadow:0 0 0 2px var(--brass)}.nf-locker-thumb{aspect-ratio:4/3;border-radius:var(--r-md);background:#1a120b;display:block;position:relative;overflow:hidden}.nf-locker-thumb canvas,.nf-locker-thumb img{object-fit:cover;width:100%;height:100%;display:block}.nf-locker-card.is-locked .nf-locker-thumb canvas,.nf-locker-card.is-locked .nf-locker-thumb img{filter:saturate(.7)brightness(.82)}.nf-locker-badge{background:var(--brass);width:24px;height:24px;color:var(--felt);box-shadow:var(--sh-sm);border-radius:50%;place-items:center;display:grid;position:absolute;top:6px;right:6px}.nf-locker-tier{border-radius:var(--r-pill);background:color-mix(in srgb, var(--felt) 82%, transparent);font-size:var(--fs-xs);color:var(--chalk);padding:2px 8px;font-weight:700;line-height:1.5;position:absolute;bottom:6px;left:6px}.nf-locker-tier.is-rare{color:var(--blue);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--blue) 55%, transparent)}.nf-locker-tier.is-legendary{color:var(--brass-hot);box-shadow:inset 0 0 0 1px var(--brass)}.nf-locker-badge svg{width:15px;height:15px}.nf-locker-card-name{padding:2px var(--sp-1) 0;font-size:var(--fs-md);font-weight:700;line-height:1.3}.nf-locker-meta{padding:0 var(--sp-1);font-size:var(--fs-sm);color:var(--dim);font-variant-numeric:tabular-nums;align-items:center;gap:5px;font-weight:600;display:inline-flex}.nf-locker-meta svg{width:14px;height:14px}.nf-locker-meta.is-on{color:var(--brass-hot)}.nf-locker-meta.is-price{color:var(--chalk)}.nf-locker-earn{padding:var(--sp-1) 0 var(--sp-1) var(--sp-3);border-left:3px solid var(--brass);font-size:var(--fs-sm);color:var(--dim);background:0 0;border-radius:0;line-height:1.5;margin-top:var(--sp-5)!important}.nf-locker-status{left:50%;bottom:calc(var(--sp-5) + env(safe-area-inset-bottom));z-index:3;padding:var(--sp-3) var(--sp-4);border-radius:var(--r-md);background:var(--surface-2);box-shadow:var(--sh-md), inset 0 0 0 1px var(--line);font-size:var(--fs-md);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--t-panel), transform var(--t-panel);font-weight:600;position:absolute;transform:translate(-50%,8px)}.nf-locker-status.is-shown{opacity:1;transform:translate(-50%)}.nf-locker-sheet-root{z-index:4;align-items:end;display:grid;position:absolute;inset:0}.nf-locker-sheet-root[hidden]{display:none}.nf-locker-sheet-backdrop{cursor:pointer;background:#060a08b3;border:0;position:absolute;inset:0}.nf-locker-sheet{gap:var(--sp-4);padding:var(--sp-5) var(--sp-4) calc(var(--sp-4) + env(safe-area-inset-bottom));border-radius:var(--r-lg) var(--r-lg) 0 0;background:var(--surface);box-shadow:var(--sh-lg), inset 0 1px 0 var(--line);animation:nf-locker-sheet-in var(--t-panel) ease-out;display:grid;position:relative}@keyframes nf-locker-sheet-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.nf-locker-sheet:focus{outline:none}.nf-locker-sheet-title{font-size:var(--fs-xl);font-weight:700}.nf-locker-sheet-item{align-items:center;gap:var(--sp-3);display:flex}.nf-locker-sheet-thumb{border-radius:var(--r-md);object-fit:cover;background:#1a120b;width:96px;height:72px}.nf-locker-sheet-name{font-size:var(--fs-lg);font-weight:700}.nf-locker-sheet-rows{gap:var(--sp-2);padding:var(--sp-3) 0;border-block:1px solid var(--line);display:grid}.nf-locker-sheet-rows div{font-size:var(--fs-md);justify-content:space-between;align-items:center;display:flex}.nf-locker-sheet-rows dt{color:var(--dim)}.nf-locker-sheet-rows dd{font-weight:700}.nf-locker-sheet-actions{gap:var(--sp-3);grid-template-columns:1fr 1fr;display:grid}@media (prefers-reduced-motion:reduce){.nf-locker-root,.nf-locker-sheet{animation:none}.nf-locker-card,.nf-locker-btn,.nf-locker-status{transition:none}}@media (width>=900px){.nf-locker-bar{padding:var(--sp-4) var(--sp-5) var(--sp-4) var(--sp-4);border-bottom:0}.nf-locker-title{font-size:var(--fs-2xl)}.nf-locker-body{gap:var(--sp-6);padding:0 var(--sp-5);grid-template-columns:minmax(380px,5fr) 7fr;display:grid}.nf-locker-showcase{padding:0 0 var(--sp-5);box-shadow:none;align-self:start;gap:var(--sp-4);background:0 0;top:0}.nf-locker-stage{aspect-ratio:16/11}.nf-locker-detail{gap:var(--sp-3);grid-template-columns:1fr;grid-template-areas:"heading""desc""cta"}.nf-locker-name{font-size:var(--fs-3xl);white-space:normal}.nf-locker-desc{-webkit-line-clamp:unset;font-size:var(--fs-md)}.nf-locker-cta{justify-items:stretch}.nf-locker-cta .nf-locker-btn{width:100%}.nf-locker-cta .nf-locker-btn.is-done{justify-content:flex-start;padding-inline:0}.nf-locker-progress{justify-items:stretch}.nf-locker-short{white-space:normal}.nf-locker-shelf{padding:0 0 var(--sp-6)}.nf-locker-tabs{margin:0 0 var(--sp-4);padding:0}.nf-locker-grid{gap:var(--sp-4);grid-template-columns:repeat(auto-fill,minmax(176px,1fr))}.nf-locker-sheet-root{place-items:center}.nf-locker-sheet{border-radius:var(--r-lg);width:min(420px,100% - 32px);padding:var(--sp-5)}.nf-locker-status{bottom:var(--sp-6)}}.nf-locker-balance.is-button{cursor:pointer;font:inherit;font-size:var(--fs-lg);color:var(--brass-hot);border:0;font-weight:700}.nf-locker-balance.is-button:hover{background:var(--surface-2)}.nf-locker-plus{background:var(--brass);width:22px;height:22px;color:var(--felt);border-radius:50%;place-items:center;margin-left:2px;font-size:17px;line-height:1;display:grid}.nf-locker-pack-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.nf-locker-pack-list li+li .nf-locker-pack{border-top:1px solid var(--line);border-radius:0}.nf-locker-pack-empty{padding:var(--sp-4) 0;color:var(--dim);font-size:var(--fs-md)}.nf-locker-pack{align-items:center;gap:var(--sp-3);width:100%;min-height:64px;padding:var(--sp-2) 0;text-align:left;cursor:pointer;transition:background var(--t-state), transform var(--t-state);background:0 0;border:0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;display:grid}.nf-locker-pack:hover:not(:disabled){background:color-mix(in srgb, var(--chalk) 4%, transparent)}.nf-locker-pack:active:not(:disabled){transform:translateY(1px)}.nf-locker-pack:disabled{opacity:.6;cursor:default}.nf-locker-pack-coin .nf-marble{width:32px;height:32px}.nf-locker-pack-text{gap:2px;min-width:0;display:grid}.nf-locker-pack-text b{font-size:var(--fs-lg);font-variant-numeric:tabular-nums;font-weight:700}.nf-locker-pack-text small{font-size:var(--fs-sm);color:var(--dim)}.nf-locker-pack-text em{border-radius:var(--r-pill);background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok);margin-left:4px;padding:1px 6px;font-style:normal;font-weight:700}.nf-locker-pack-price{padding:8px var(--sp-3);border-radius:var(--r-sm);background:var(--surface-2);color:var(--brass-hot);font-size:var(--fs-md);white-space:nowrap;font-weight:700}.nf-locker-packs-note{font-size:var(--fs-sm);color:var(--dim);line-height:1.45}.nf-locker-packs-note:empty{display:none}
