:root{--font-display:"Bebas Neue",Impact,"Arial Narrow",sans-serif;--font-body:"Source Sans 3",Segoe UI,sans-serif;--felt-deep:#0a100e;--felt-mid:#122018;--felt-lift:#1a2c24;--brass:#d6b34d;--brass-hot:#f1d46c;--brass-soft:#f3e6c0;--ink:#e8efe8;--muted:#8fa094;--panel:#101a16;--panel-edge:#ffffff17;--blue:#60bbff;--red:#ff6b70;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-pill:999px;--fs-2xs:12px;--fs-xs:12.5px;--fs-sm:12.5px;--fs-md:14px;--fs-lg:16px;--fs-xl:19px;--fs-2xl:24px;--fs-3xl:31px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:26px;--sp-7:34px;--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-deep), 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)}*{box-sizing:border-box}body{background:radial-gradient(ellipse 80% 50% at 20% 0%, color-mix(in srgb, var(--brass) 8%, transparent), transparent 50%), radial-gradient(ellipse 60% 40% at 90% 100%, #1c483066, transparent 45%), linear-gradient(165deg, var(--felt-deep) 0%, var(--felt-mid) 45%, var(--felt-deep) 100%);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-md)}.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 color-mix(in srgb, var(--brass) 35%, transparent);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{touch-action:none;width:100%;height:100%;display:block}.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}}.mobile-shot-hint{display:none}@media (width<=720px){body[data-app-view=play] .mobile-shot-hint{z-index:var(--z-hud);border-radius:var(--r-pill);border:1px solid color-mix(in srgb,var(--brass) 32%,transparent);color:var(--brass-soft);font-size:var(--fs-xs);letter-spacing:.04em;white-space:nowrap;pointer-events:none;box-shadow:var(--sh-sm);background:#070d0ac7;padding:7px 12px;font-weight:700;display:block;position:absolute;bottom:10px;left:50%;transform:translate(-50%)}}@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:44px}.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}}.formation-picker{margin-top:var(--sp-1)}.fp-grid{grid-template-columns:repeat(2,1fr);gap:7px;display:grid}.fp-card{gap:var(--sp-1);text-align:left;cursor:pointer;padding:7px var(--sp-2) var(--sp-2);background:var(--panel);color:var(--ink);border-radius:var(--r-md);font-family:var(--font-body);border:1px solid #ffffff1a;transition:border-color .15s,background .15s;display:grid}.fp-card:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent);background:var(--felt-mid)}.fp-card.is-selected{border-color:var(--brass);background:linear-gradient(135deg, color-mix(in srgb, var(--brass) 16%, transparent), var(--panel))}.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-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.05em;color:var(--brass-soft)}.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)}.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{border-radius:var(--r-md);padding:var(--sp-1);margin-bottom:var(--sp-1);background:#0c1612c7;border:1px solid #ffffff14}.hub-widget-muted{opacity:.92}.hub-widget h2{font-size:var(--fs-2xs);letter-spacing:1.1px;text-transform:uppercase;color:var(--muted);margin:0 0 4px;font-weight:600;line-height:1.1}.hub-widget-head{justify-content:space-between;align-items:baseline;gap:var(--sp-2);margin-bottom:4px;display:flex}.hub-widget-head h2{margin:0}.hub-live-meta{font-size:var(--fs-xs);color:var(--brass);letter-spacing:.04em;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{text-align:center;font-size:var(--fs-2xs);letter-spacing:.02em;color:var(--muted);border-radius:var(--r-sm);background:#0003;border:1px solid #ffffff0f;min-width:0;padding:6px 1px}.hub-streak-day.is-today{border-color:color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass)}.hub-streak-day.is-hot{background:color-mix(in srgb, var(--brass) 20%, transparent);color:var(--brass-hot)}.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}}.hub-ranked-row{align-items:center;gap:var(--sp-3);display:flex}.hub-tier-badge{border:1px solid color-mix(in srgb, var(--brass) 55%, transparent);background:color-mix(in srgb, var(--brass) 16%, transparent);width:44px;height:44px;color:var(--brass-hot);font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;border-radius:50%;flex-shrink:0;place-items:center;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-widget-online .hub-widget-body.is-clickable{cursor:pointer;text-underline-offset:3px;text-decoration:underline}.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-3);padding:var(--sp-4) var(--sp-3);margin-bottom:var(--sp-2);border:1px dashed color-mix(in srgb, var(--brass) 35%, transparent);background:color-mix(in srgb, var(--brass) 6%, transparent);border-radius:var(--r-sm);text-align:center;justify-items:stretch;display:grid}.hub-room-empty[hidden]{display:none!important}.hub-room-empty .hub-widget-note{margin:0}.hub-room-empty-cta{justify-self:stretch;width:100%}.hub-join-private-card{margin-top:var(--sp-3);padding-top:var(--sp-3);border-top:1px solid #ffffff1a}.hub-section-sep-label{margin:0 0 var(--sp-2);font-size:var(--fs-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.hub-bot-expand{width:100%;margin-top:var(--sp-2);text-align:center}.hub-widget-online .hub-online-retry{text-align:center;width:100%;margin-top:10px}.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:6px;margin:0;padding:0;list-style:none;display:grid}.hub-room-list li{justify-content:space-between;align-items:center;gap:var(--sp-2);padding:var(--sp-2) 10px;font-size:var(--fs-sm);color:var(--ink);border-radius:var(--r-md);background:#0003;border:1px solid #ffffff14;display:flex}.hub-room-list li span{gap:2px;min-width:0;display:grid}.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.hub-room-bot{border-color:color-mix(in srgb, var(--brass) 28%, transparent);background:color-mix(in srgb, var(--brass) 6%, transparent)}.hub-room-list li.hub-room-full{opacity:.55}.hub-room-list li.hub-room-full .hub-btn-brass{cursor:not-allowed;opacity:.7}.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:160px;margin-top:6px;display:grid}.hub-bot-bar-row{letter-spacing:.04em;text-transform:uppercase;color:var(--muted);grid-template-columns:52px 1fr;align-items:center;gap:6px;font-size:9px;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 var(--sp-3);border:1px solid color-mix(in srgb, var(--brass) 25%, transparent);background:color-mix(in srgb, var(--brass) 8%, transparent);justify-content:space-between;gap:var(--sp-2);color:var(--brass-soft);font-size:var(--fs-sm);border-radius:var(--r-md);display:flex}.hub-week-podium .place-1{border-color:color-mix(in srgb, var(--brass-hot) 70%, transparent);background:color-mix(in srgb, var(--brass-hot) 14%, transparent)}.hub-week-podium .place-2{border-color:#c0c0c073}.hub-week-podium .place-3{border-color:#cd7f3273}.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-2);padding:var(--sp-2);border-radius:var(--r-md);background:#0000002e;border:1px solid #ffffff0f;align-items:flex-start;display:flex}.hub-challenge-list li.is-done{border-color:color-mix(in srgb, var(--brass) 35%, transparent);opacity:.85}.hub-challenge-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.hub-tier-tag{letter-spacing:.08em;text-transform:uppercase;border-radius:var(--r-sm);color:var(--muted);border:1px solid #ffffff1f;padding:2px 6px;font-size:10px}.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-sm);color:var(--ink);display:block}.hub-challenge-list span{font-size:var(--fs-xs);color:var(--muted);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{border-radius:var(--r-sm);background:#ffffff14;height:4px;margin-top:6px;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-percin-line{font-size:var(--fs-sm);color:var(--brass-soft);letter-spacing:.02em;margin:6px 0 0}.hub-percin-soon{color:var(--muted);font-size:var(--fs-xs)}.hub-btn-claim{border:1px solid color-mix(in srgb, var(--brass) 55%, transparent);background:color-mix(in srgb, var(--brass) 18%, transparent);color:var(--brass-hot);font-size:var(--fs-xs);letter-spacing:.06em;cursor:pointer;border-radius:var(--r-md);min-height:32px;font-family:var(--font-body);padding:6px 10px}.hub-btn-claim:hover:not(:disabled){background:color-mix(in srgb, var(--brass) 28%, transparent)}.hub-btn-claim:disabled,.hub-btn-claim.is-claimed{opacity:.75;cursor:default;color:var(--muted);background:0 0;border-color:#ffffff1f}.hub-toast{padding:var(--sp-2) 10px;font-size:var(--fs-sm);color:var(--brass-soft);border:1px solid color-mix(in srgb, var(--brass) 40%, transparent);background:color-mix(in srgb, var(--brass) 12%, transparent);border-radius:var(--r-md);margin:10px 0 0;line-height:1.35}.hub-toast[hidden]{display:none!important}.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-3);text-align:left;width:min(640px,100%);padding:var(--sp-3) var(--sp-3);border-radius:var(--r-md);background:#0c1612a6;border:1px solid #ffffff14;display:flex}.hub-identity-avatar{border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);cursor:pointer;border-radius:var(--r-md);width:56px;height:56px;color:inherit;background:#00000040;flex-shrink:0;place-items:center;padding:0;display:grid;overflow:hidden}.hub-identity-avatar svg,.hub-identity-avatar img{object-fit:contain;width:56px;height:56px;display:block}.hub-identity-avatar:hover{border-color:color-mix(in srgb, var(--brass-hot) 80%, transparent)}.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-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.05em;color:var(--brass-soft);font-weight:400}.hub-identity-title{font-size:var(--fs-sm);color:var(--brass)}.hub-identity-xp{gap:var(--sp-2);grid-template-columns:auto 1fr auto;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{border-radius:var(--r-sm);background:#ffffff14;height:6px;overflow:hidden}.hub-identity-xp-fill{background:linear-gradient(90deg,var(--brass),var(--brass-hot));width:0;height:100%}.home-attract{border:1px solid color-mix(in srgb, var(--brass) 28%, transparent);border-radius:var(--r-md);width:min(760px,100%);box-shadow:var(--sh-lg);background:#080e0c80;margin:18px auto 0;padding:10px 10px 6px}.home-attract canvas{aspect-ratio:1.85;border-radius:var(--r-md);width:100%;height:auto;min-height:220px;display:block}.home-attract-cap{font-size:var(--fs-2xs);letter-spacing:.2em;text-transform:uppercase;color:color-mix(in srgb, var(--muted) 75%, transparent);margin:6px 0 2px}.home-play-primary{text-align:left;width:min(520px,100%);padding:var(--sp-4) var(--sp-5);border-radius:var(--r-md);cursor:pointer;border:1px solid color-mix(in srgb, var(--brass-hot) 70%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--brass) 30%, transparent), #0c1612e0);color:var(--brass-soft);font-family:var(--font-body);box-shadow:var(--sh-sm);gap:3px;min-height:64px;margin-top:18px;transition:border-color .15s,transform .12s,box-shadow .15s;display:grid}.home-play-primary:hover{border-color:var(--brass-hot);box-shadow:var(--sh-md)}.home-play-primary:active{transform:scale(.99)}.home-play-eyebrow{font-size:var(--fs-2xs);letter-spacing:.26em;text-transform:uppercase;color:color-mix(in srgb, var(--brass-hot) 90%, transparent)}.home-play-label{font-family:var(--font-display);font-size:var(--fs-3xl);letter-spacing:.05em;color:var(--brass-soft);line-height:1}.home-play-sub{font-size:var(--fs-sm);color:var(--muted)}.home-hub-secondary{margin-top:var(--sp-3);gap:var(--sp-2);flex-wrap:wrap;justify-content:center;width:min(520px,100%);display:flex}.home-cta-mini{color:var(--ink);font-size:var(--fs-sm);letter-spacing:.06em;padding:10px var(--sp-3);cursor:pointer;border-radius:var(--r-md);min-height:44px;font-family:var(--font-body);background:#0c1612b8;border:1px solid #ffffff1f}.home-cta-mini:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass-soft)}.home-cta-mini.is-locked{opacity:.65;border-style:dashed}.home-cta-mini.is-pressed{transform:scale(.98)}.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(--felt-deep);width:100%;color:var(--ink);border-radius:var(--r-md);min-height:44px;font:inherit;border:1px solid #ffffff1f;padding:9px 10px}.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);cursor:pointer;border-radius:var(--r-md);min-height:44px;font-weight:700;font-family:var(--font-body)}.hub-btn-ghost{color:var(--brass);font-size:var(--fs-sm);letter-spacing:.06em;padding:var(--sp-2) 10px;cursor:pointer;text-align:right;white-space:nowrap;border-radius:var(--r-md);background:0 0;border:1px solid #ffffff1a;min-height:44px}.hub-friend-list,.hub-challenge-list{gap:6px;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:7px var(--sp-2);font-size:var(--fs-sm);border-radius:var(--r-md);background:#0003;border:1px solid #ffffff0d;display:flex}.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:#53c785}.hub-friend-status-idle{background:var(--brass)}.hub-friend-remove{color:var(--muted);cursor:pointer;font-size:var(--fs-lg);background:0 0;border:none;min-width:44px;min-height:44px;line-height:1}.hub-empty{font-size:var(--fs-sm);color:var(--muted);margin:0}.hub-chat-log{max-height:160px;margin-bottom:var(--sp-2);padding:var(--sp-2);border-radius:var(--r-md);background:#00000038;border:1px solid #ffffff0d;gap:6px;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}@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);grid-template-columns:1fr;grid-template-areas:none;gap:10px}.hub-left,.hub-center,.hub-social{display:contents}.hub-identity{order:1;width:100%}.hub-primary-block{order:2;width:100%;margin-top:0}.home-hub-secondary{order:3;width:100%}#hubOnlineWidget{order:4;width:100%;margin-top:0}#hubDailyWidget{order:5}#hubStreakWidget{order:6}#hubWeeklyQuestWidget{order:7}.home-attract{order:8;width:100%;margin-top:0}#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)}.hub-open-rooms-head{flex-direction:column;align-items:stretch}.hub-open-rooms-head .hub-btn-ghost{width:100%}.hub-join-private{grid-template-columns:1fr}.home-attract canvas{aspect-ratio:1.7;min-height:180px}.home-play-primary{padding:var(--sp-3) var(--sp-4)}.home-play-label{font-size:var(--fs-2xl)}.hub-identity-xp{gap:var(--sp-1);grid-template-columns:1fr}}.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{flex-direction:column;align-items:stretch;width:min(520px,100%);margin-top:14px;display:flex}.hub-primary-block .home-play-primary{width:100%;margin-top:0}.hub-online-card{margin-top:var(--sp-4);text-align:left;width:min(520px,100%)}.hub-online-card h2{margin:0 0 8px}.hub-online-actions{gap:var(--sp-2);margin-top:var(--sp-3);flex-wrap:wrap;display:flex}.hub-online-actions .hub-btn-ghost{text-align:center;flex:auto;min-width:120px}.hub-online-actions .hub-btn-brass{flex:auto;min-width:140px}.hub-online-card .hub-online-retry{margin-top:var(--sp-2);text-align:center;width:100%}@media (width<=420px){.hub-room-list li{align-items:stretch;gap:var(--sp-2);flex-direction:column}.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-join-row{grid-template-columns:1fr}.hub-open-rooms-head h2{font-size:var(--fs-xs)}}@media (prefers-reduced-motion:reduce){.home-hub-dashboard,.home-hub-enter{animation:none}}.home-play-primary:focus-visible,.home-cta-mini:focus-visible,.hub-btn-brass:focus-visible,.hub-btn-ghost:focus-visible{box-shadow:var(--focus-ring);outline:none}.hub-privacy-link{color:inherit;text-underline-offset:2px;text-decoration:underline}.profile-setup-overlay,.mode-lobby-overlay,.placement-overlay{z-index:var(--z-modal);padding:var(--sp-4);background:#060a08eb;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{width:min(520px,100%);max-height:min(92vh,820px);padding:var(--sp-6) 22px;background:var(--panel);border:1px solid color-mix(in srgb, var(--brass) 35%, transparent);border-radius:var(--r-lg);box-shadow:var(--sh-lg);font-family:var(--font-body);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);font-family:var(--font-display);letter-spacing:.05em;color:var(--brass-soft);font-size:clamp(1.85rem,5vw,2.45rem);font-weight:400}.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-3) 0 var(--sp-2);font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);display:block}#profileSetupName,#modeLobbyJoin{box-sizing:border-box;background:var(--felt-deep);width:100%;color:var(--ink);padding:var(--sp-3);border-radius:var(--r-md);font:inherit;border:1px solid #ffffff1f}#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,1fr);display:grid}.profile-avatar-pick{color:var(--ink);cursor:pointer;border-radius:var(--r-md);font-size:var(--fs-2xs);letter-spacing:.04em;background:#00000038;border:1px solid #ffffff1a;justify-items:center;gap:6px;padding:10px 6px;display:grid}.profile-avatar-pick svg,.profile-avatar-pick img{object-fit:contain;width:52px;height:52px;display:block}.profile-avatar-pick.is-selected{border-color:color-mix(in srgb, var(--brass) 70%, transparent);background:color-mix(in srgb, var(--brass) 14%, transparent);color:var(--brass-hot)}.profile-avatar-pick:hover{border-color:color-mix(in srgb, var(--brass) 35%, transparent)}.profile-setup-error{color:var(--red);font-size:var(--fs-sm);margin:10px 0 0}.profile-setup-submit,.mode-lobby-cta,.placement-cta{border:1px solid color-mix(in srgb, var(--brass) 55%, transparent);background:var(--brass);width:100%;color:var(--felt-deep);padding:13px var(--sp-3);cursor:pointer;border-radius:var(--r-md);font-weight:800;font-family:var(--font-body);font-size:var(--fs-md);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;border:1px solid color-mix(in srgb, var(--brass) 35%, transparent);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;flex:none}.profile-setup-cancel:hover{border-color:color-mix(in srgb, var(--brass-hot) 60%, transparent);color:var(--brass-hot)}.profile-setup-cancel:focus-visible{outline:2px solid var(--brass-hot);outline-offset:2px}.mode-lobby-back{border:1px solid color-mix(in srgb, var(--brass) 35%, transparent);color:var(--brass);font-family:var(--font-display);letter-spacing:.08em;font-size:var(--fs-md);cursor:pointer;margin-bottom:var(--sp-3);border-radius:var(--r-md);background:0 0;padding:7px 10px}.mode-lobby-back:hover{border-color:color-mix(in srgb, var(--brass-hot) 60%, transparent);color:var(--brass-hot)}.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{gap:var(--sp-2);grid-template-columns:1fr 1fr 1fr;display:grid}.mode-lobby-actions{grid-template-columns:1fr 1fr}.mode-lobby-diff button,.mode-lobby-disc button,.mode-lobby-actions button{text-align:left;background:var(--felt-lift);color:var(--ink);padding:var(--sp-3) 10px;cursor:pointer;border-radius:var(--r-md);font-family:var(--font-body);font-size:var(--fs-sm);border:1px solid #ffffff1f;gap:2px;font-weight:700;display:grid}.mode-lobby-diff button b,.mode-lobby-actions button b{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.04em;color:var(--brass-soft);font-weight:400}.mode-lobby-diff button span,.mode-lobby-actions button span{font-size:var(--fs-xs);color:var(--muted)}.mode-lobby-diff button.is-active,.mode-lobby-disc button.is-active,.mode-lobby-actions button.is-active{background:color-mix(in srgb, var(--brass) 18%, transparent);color:var(--felt-deep);border-color:var(--brass-hot)}.mode-lobby-diff button.is-active b,.mode-lobby-actions button.is-active b{color:var(--brass-hot)}.mode-lobby-diff button:hover,.mode-lobby-disc button:hover,.mode-lobby-actions button:hover{border-color:color-mix(in srgb, var(--brass) 40%, transparent)}.mode-lobby-hint{font-size:var(--fs-xs);color:var(--muted);margin:6px 0 0;line-height:1.35}.mode-lobby-formation{margin-top:var(--sp-2)}.mode-lobby-card--competitive{border-color:color-mix(in srgb,var(--brass) 45%,transparent);background:linear-gradient(#ffffff05 1px,transparent 1px), linear-gradient(90deg,#ffffff04 1px,transparent 1px), radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--brass) 13%,transparent),transparent 36%), linear-gradient(145deg,#111b17 0%,#07100d 72%);background-size:48px 48px,48px 48px,auto,auto;width:min(1280px,100%);height:min(92dvh,860px);padding:0;overflow:auto;box-shadow:0 30px 120px #000000ad,inset 0 1px #ffffff08}.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:#53c785;border-radius:50%;width:8px;height:8px;box-shadow:0 0 12px #53c785bf}.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(2.2rem,6vw,4rem);line-height:.95}.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(--muted);cursor:pointer;font-weight:700;font-size:var(--fs-sm);letter-spacing:.04em;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(--brass-hot)}.competitive-tabs button.is-active:after{background:var(--brass-hot);box-shadow:0 0 12px color-mix(in srgb,var(--brass) 70%,transparent)}.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:1px solid var(--brass-hot);border-radius:var(--r-md);cursor:pointer;width:100%;color:var(--felt-deep);background:linear-gradient(110deg,var(--brass),var(--brass-hot));gap:2px;padding:15px 18px;display:grid;position:relative;overflow:hidden;box-shadow:0 10px 28px #d6b34d2e}.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.07);transform:translateY(-1px)}.ranked-stat-grid{grid-template-columns:repeat(4,1fr);gap:8px;margin-top:24px;display:grid}.ranked-stat-grid div{border-radius:var(--r-md);background:#0003;border:1px solid #ffffff14;gap:4px;padding:12px 14px;display:grid}.ranked-stat-grid span{font-size:var(--fs-2xs);letter-spacing:.11em;text-transform:uppercase;color:var(--muted)}.ranked-stat-grid b{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;color:var(--ink);font-weight:400}.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:#53c785}.casual-mode-grid{grid-template-columns:repeat(2,1fr);gap:14px;display:grid}.casual-mode-card{text-align:left;border-radius:var(--r-lg);min-height:146px;color:var(--ink);cursor:pointer;background:#ffffff09;border:1px solid #ffffff1a;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:22px;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s;display:grid}.casual-mode-card:hover{border-color:color-mix(in srgb,var(--brass) 58%,transparent);background:color-mix(in srgb,var(--brass) 9%,transparent);transform:translateY(-3px);box-shadow:0 18px 36px #0000003d}.casual-mode-card--primary{border-color:color-mix(in srgb,var(--brass) 42%,transparent);background:color-mix(in srgb,var(--brass) 9%,transparent)}.casual-mode-icon{width:48px;height:48px;color:var(--brass-hot);background:#ffffff12;border-radius:50%;place-items:center;font-size:22px;display:grid;box-shadow:inset 0 0 0 1px #ffffff09}.casual-mode-card>span:nth-child(2){gap:4px;display:grid}.casual-mode-card b{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;color:var(--brass-soft);font-weight:400}.casual-mode-card small{font-size:var(--fs-xs);color:var(--muted);line-height:1.3}.casual-mode-card i{color:var(--brass);font-size:22px;font-style:normal}.competitive-room-browser{border-radius:var(--r-lg);background:#0000002e;border:1px solid #ffffff17;margin-top:18px;overflow:hidden}.competitive-room-browser-head{border-bottom:1px solid #ffffff12;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.competitive-room-browser-head>div{gap:2px;display:grid}.competitive-room-browser-head small{color:var(--brass);font-size:var(--fs-2xs);letter-spacing:.15em;text-transform:uppercase;font-weight:800}.competitive-room-browser-head h3{color:var(--brass-soft);font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;margin:0;font-weight:400}.competitive-room-browser-head>span{background:color-mix(in srgb,var(--brass) 12%,transparent);border:1px solid color-mix(in srgb,var(--brass) 32%,transparent);min-width:34px;height:34px;color:var(--brass-soft);border-radius:50%;place-items:center;font-weight:800;display:grid}.competitive-rooms-list{display:grid}.competitive-room-row{border-bottom:1px solid #ffffff0f;grid-template-columns:1fr auto;align-items:center;gap:14px;padding:13px 18px;display:grid}.competitive-room-row:last-child{border-bottom:0}.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{border:1px solid var(--brass);border-radius:var(--r-md);background:var(--brass);min-width:104px;color:var(--felt-deep);cursor:pointer;padding:9px 14px;font-weight:850}.competitive-room-row button:hover{filter:brightness(1.08)}.competitive-rooms-empty{text-align:center;color:var(--muted);font-size:var(--fs-sm);margin:0;padding:18px}.competitive-rooms-empty[hidden]{display:none!important}.competitive-join-card{border-radius:var(--r-lg);background:#00000038;border:1px solid #ffffff17;grid-template-columns:minmax(220px,.7fr) minmax(460px,1.3fr);align-items:center;gap:22px;margin-top:18px;padding:20px 22px;display:grid}.competitive-join-card>div:first-child{gap:3px;display:grid}.competitive-join-card b{color:var(--brass-soft)}.competitive-join-card small{color:var(--muted)}.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(--felt-deep);width:100%;color:var(--ink);padding:var(--sp-3);border-radius:var(--r-md);font:inherit;border:1px solid #ffffff1f;margin:0}.competitive-join-row button{border:1px solid var(--brass);border-radius:var(--r-md);background:var(--brass);color:var(--felt-deep);cursor:pointer;padding:10px 14px;font-weight:800}.competitive-casual-note{text-align:center;color:var(--muted);font-size:var(--fs-xs);margin:15px 0 0}.competitive-room-composer{border:1px solid color-mix(in srgb,var(--brass) 38%,transparent);border-radius:var(--r-lg);background:linear-gradient(145deg,#1e281ffa,#070d0bfa);gap:16px;margin-top:18px;padding:22px;display:grid;box-shadow:0 22px 60px #0000005c}.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(--brass);font-size:var(--fs-2xs);letter-spacing:.15em;text-transform:uppercase}.room-composer-head b{font-family:var(--font-display);font-size:var(--fs-2xl);color:var(--brass-soft);letter-spacing:.05em;font-weight:400}.room-composer-head button{width:38px;height:38px;color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff1f;border-radius:50%;font-size:24px}.room-visibility-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.room-visibility-grid button{text-align:left;border-radius:var(--r-md);color:var(--ink);cursor:pointer;background:#ffffff06;border:1px solid #ffffff1a;gap:5px;padding:15px;display:grid}.room-visibility-grid button b{color:var(--brass-soft);font-size:var(--fs-md)}.room-visibility-grid button small{color:var(--muted);line-height:1.35}.room-visibility-grid button.is-active{border-color:var(--brass);background:color-mix(in srgb,var(--brass) 10%,transparent);box-shadow:inset 3px 0 var(--brass-hot)}.room-composer-field{color:var(--muted);font-size:var(--fs-xs);gap:7px;display:grid}.room-composer-field[hidden]{display:none!important}.room-composer-field input{box-sizing:border-box;border-radius:var(--r-md);background:var(--felt-deep);width:100%;color:var(--ink);font:inherit;border:1px solid #ffffff1f;padding:12px}.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:1px solid var(--brass);border-radius:var(--r-md);background:linear-gradient(110deg,var(--brass),var(--brass-hot));color:var(--felt-deep);cursor:pointer;padding:13px 18px;font-weight:850}.mode-lobby-card--solo{background:linear-gradient(#ffffff05 1px,transparent 1px), linear-gradient(90deg,#ffffff04 1px,transparent 1px), radial-gradient(circle at 92% 0%,#5b8fd624,transparent 38%), radial-gradient(circle at 8% 0%,color-mix(in srgb,var(--brass) 12%,transparent),transparent 34%), linear-gradient(145deg,#111b17 0%,#07100d 72%);background-size:48px 48px,48px 48px,auto,auto,auto}.solo-status span{background:var(--brass-hot);box-shadow:0 0 12px color-mix(in srgb,var(--brass) 70%,transparent)}.solo-resume{border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--brass-hot) 55%,transparent);background:linear-gradient(110deg,color-mix(in srgb,var(--brass) 16%,transparent),#0003);box-shadow:inset 3px 0 var(--brass-hot);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:0 clamp(18px,3vw,34px) 18px;padding:16px 20px;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-2xs);letter-spacing:.15em;text-transform:uppercase;font-weight:800}.solo-resume-copy b{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.04em;color:var(--ink);overflow-wrap:anywhere;font-weight:400}.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:1px solid var(--brass-hot);border-radius:var(--r-md);background:linear-gradient(110deg,var(--brass),var(--brass-hot));color:var(--felt-deep);cursor:pointer;padding:11px 16px;font-weight:850}.solo-resume-drop{border-radius:var(--r-md);color:var(--muted);cursor:pointer;background:0 0;border:1px solid #ffffff24;padding:11px 14px;font-weight:700}.solo-resume-go:hover{filter:brightness(1.07)}.solo-resume-drop:hover{color:var(--ink);border-color:#ffffff42}.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{color:var(--brass);font-size:var(--fs-2xs);letter-spacing:.15em;text-transform:uppercase;margin:0 0 10px;font-weight:800}.solo-section-label:not(:first-child){margin-top:22px}.solo-diff button{gap:4px;padding:14px 12px}.solo-diff button em{font-style:normal;font-size:var(--fs-2xs);letter-spacing:.06em;color:var(--brass);margin-top:4px}.solo-diff button.is-active{box-shadow:inset 0 -3px var(--brass-hot)}.solo-bot-list{grid-template-columns:1fr 1fr;gap:10px;display:grid}.solo-bot-card{text-align:left;border-radius:var(--r-md);color:var(--ink);cursor:pointer;background:#ffffff08;border:1px solid #ffffff1a;grid-template-rows:auto auto;grid-template-columns:52px minmax(0,1fr);align-items:center;gap:4px 12px;padding:12px 14px;transition:transform .18s,border-color .18s,background .18s;display:grid}.solo-bot-card:hover{border-color:color-mix(in srgb,var(--brass) 55%,transparent);transform:translateY(-2px)}.solo-bot-card.is-active{border-color:var(--brass-hot);background:color-mix(in srgb,var(--brass) 12%,transparent);box-shadow:inset 3px 0 var(--brass-hot)}.solo-bot-face{background:#00000047;border-radius:50%;grid-row:1/3;place-items:center;width:52px;height:52px;display:grid;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff14}.solo-bot-face img,.solo-bot-face svg{object-fit:contain;width:46px;height:46px;display:block}.solo-bot-copy{gap:1px;min-width:0;display:grid}.solo-bot-copy b{font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.04em;color:var(--brass-soft);font-weight:400}.solo-bot-copy small{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--brass)}.solo-bot-copy span{font-size:var(--fs-xs);color:var(--muted);line-height:1.3}.solo-bot-card em{font-style:normal;font-size:var(--fs-2xs);color:var(--muted);letter-spacing:.05em;grid-column:2}.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-radius:var(--r-md);background:#00000038;border:1px solid #ffffff1a;gap:8px;padding:16px;display:grid}.solo-seat.is-blue{box-shadow:inset 3px 0 #5b8fd6}.solo-seat.is-red{box-shadow:inset 3px 0 #d6655b}.solo-seat>span{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:800}.solo-seat input{box-sizing:border-box;border-radius:var(--r-md);background:var(--felt-deep);width:100%;color:var(--ink);font:inherit;font-family:var(--font-display);font-size:var(--fs-lg);letter-spacing:.04em;border:1px solid #ffffff1f;padding:11px 12px}.solo-seat input:focus{border-color:color-mix(in srgb,var(--brass) 55%,transparent);outline:none}.solo-seats-vs{font-family:var(--font-display);font-size:var(--fs-xl);color:var(--brass);letter-spacing:.1em}.solo-rules{gap:8px;margin:18px 0 0;padding:0;list-style:none;display:grid}.solo-rules li{border-radius:var(--r-md);color:var(--ink);font-size:var(--fs-sm);background:#00000029;border:1px solid #ffffff12;padding:10px 14px}.solo-rules li:before{content:"◆";color:var(--brass);margin-right:10px;font-size:.8em}.solo-setup{border-radius:var(--r-lg);border:1px solid color-mix(in srgb,var(--brass) 32%,transparent);background:linear-gradient(160deg,#1e281fe6,#070d0beb);gap:0;padding:20px;display:grid;position:sticky;top:0;box-shadow:0 22px 60px #00000057}.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-setup #soloSetupTitle{border-top:1px solid #ffffff14;margin-top:20px;padding-top:18px}.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-2xs);letter-spacing:.15em;text-transform:uppercase;font-weight:800}.solo-opponent-copy b{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.04em;color:var(--brass-soft);overflow-wrap:anywhere;font-weight:400}.solo-opponent-copy span{color:var(--muted);font-size:var(--fs-xs);line-height:1.35}.solo-start{margin-top:18px;margin-bottom:4px}.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:1fr}.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}}@media (width<=420px){.mode-lobby-diff.solo-diff{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.solo-diff button{padding:10px 8px}.solo-diff button em{letter-spacing:.02em;font-size:10px}.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:#53c785;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){.mode-lobby-overlay,.placement-overlay,.profile-setup-overlay{padding:8px}.mode-lobby-card,.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{box-sizing:border-box;min-height:44px}}@media (width<=760px){.mode-lobby-card--competitive{height:94dvh;max-height:94dvh}.competitive-header{align-items:start}.competitive-player-tag{display:none}.competitive-status{font-size:12px}.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;grid-template-columns:1fr 1fr}.casual-mode-grid{grid-template-columns:1fr}.casual-mode-card{min-height:92px}.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 color-mix(in srgb, var(--brass) 40%, transparent);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 .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:#53c785;border-radius:50%;flex:none;width:8px;height:8px;box-shadow:0 0 6px #53c7858c}.online-latency-chip[data-band=ok]{background:#53c785;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:#53c785;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:1px solid color-mix(in srgb, var(--brass) 35%, transparent);border-radius:var(--r-lg);background:linear-gradient(145deg,#18221cfa,#070d0bfa);gap:18px;padding:clamp(22px,4vw,40px);display:grid;box-shadow:0 32px 100px #00000094}.online-waiting-room[hidden],.online-queue-wrap[hidden],.online-formation-wrap[hidden]{display:none!important}.online-waiting-label{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--brass);margin:0;font-weight:600}.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(--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-copy-btn:hover,.online-leave-btn:hover,.online-bridge-btn:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass-soft)}.online-leave-btn{background:var(--felt-lift)}.online-bridge-btn{border-color:color-mix(in srgb, var(--brass) 35%, transparent);background:color-mix(in srgb, var(--brass) 12%, transparent);width:100%;color:var(--brass-soft);font-weight:600}.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:1px solid color-mix(in srgb,var(--brass) 28%,transparent);border-radius:var(--r-md);background:#00000038;align-content:center;gap:7px;min-height:132px;padding:20px;display:grid;position:relative}.online-seat.is-blue{border-color:color-mix(in srgb,var(--blue) 55%,transparent)}.online-seat.is-red{border-color:color-mix(in srgb,var(--red) 55%,transparent)}.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-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700}.online-seat-name{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.05em;color:var(--ink);font-weight:400}.online-seat-meta{font-size:var(--fs-xs);color:var(--muted)}.online-seat-dot{background:#53c785;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(--brass-soft);font-size:var(--fs-sm);background:#0003;margin:0;padding:12px 14px}.online-copy-link{width:100%}#onlinePanel button.primary{background:var(--brass);color:var(--felt-deep);border:1px solid var(--brass-hot);border-radius:var(--r-md);padding:var(--sp-2) var(--sp-3);cursor:pointer;min-height:44px;font-weight:800;font-size:var(--fs-sm)}#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:1px solid color-mix(in srgb,var(--brass) 28%,transparent);border-radius:var(--r-lg);text-align:center;gap:var(--sp-3);background:linear-gradient(150deg,#192820f7,#080e0bfa);justify-items:center;display:grid}.online-connection-gate{border:1px solid color-mix(in srgb,var(--brass) 36%,transparent);border-radius:var(--r-lg);text-align:center;background:linear-gradient(145deg,#18231dfa,#070d0bfc);align-content:center;place-items:center;gap:14px;min-height:360px;padding:clamp(28px,5vw,54px);display:grid;box-shadow:0 32px 100px #0009}.online-connection-gate[hidden]{display:none!important}.online-connection-gate>.online-live-dot{width:12px;height:12px;margin-bottom:6px}.online-connection-gate h2{font-family:var(--font-display);letter-spacing:.06em;color:var(--brass-soft);margin:0;font-size:clamp(2.5rem,7vw,4.6rem);font-weight:400}.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-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.06em;color:var(--brass-soft);margin: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:1px solid color-mix(in srgb, var(--brass) 38%, transparent);border-radius:var(--r-lg);background:linear-gradient(150deg,#192820f7,#080e0bfa);gap:16px;width:min(1120px,100%);max-height:calc(100dvh - 28px);padding:clamp(18px,3vw,34px);display:grid;overflow:auto;box-shadow:0 28px 90px #000000a3}.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{font-family:var(--font-display);letter-spacing:.06em;color:var(--brass-soft);margin:0;font-size:clamp(2rem,5vw,3.8rem);font-weight:400}.online-series-info{color:var(--muted);font-size:var(--fs-sm);margin:0}.online-draft-label{font-size:var(--fs-2xs);letter-spacing:.18em;color:var(--brass);margin-top:4px;font-weight:800}.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);color:var(--ink);cursor:pointer;background:#0000003d;border:1px solid #ffffff1a;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{border-color:color-mix(in srgb,var(--brass) 60%,transparent);transform:translateY(-2px)}.online-formation-card.is-selected,.online-projectile-card.is-selected{border-color:var(--brass-hot);background:linear-gradient(150deg,color-mix(in srgb,var(--brass) 18%,#00000052),#0000004d);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--brass-hot) 36%,transparent),0 10px 30px #0000003d}.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);-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:10px;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:1px solid color-mix(in srgb,var(--brass) 38%,transparent);border-radius:var(--r-lg);background:linear-gradient(150deg,#192820f7,#080e0bfa);justify-items:center;width:min(560px,100%);padding:clamp(26px,5vw,46px);display:grid;box-shadow:0 28px 90px #000000a3}.online-queue-kicker{color:var(--brass);font-size:var(--fs-xs);letter-spacing:.2em;margin:0 0 18px;font-weight:800}.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{font-family:var(--font-display);letter-spacing:.06em;color:var(--brass-soft);margin:0;font-size:clamp(2.4rem,8vw,4.2rem);font-weight:400;line-height:1}.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-radius:var(--r-md);background:#0003;border:1px solid #ffffff14;gap:4px;padding:12px 8px;display:grid}.online-queue-stats span{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.online-queue-stats b{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.05em;color:var(--ink);font-weight:400}.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(--ink);border-color:#ffffff4d}@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{box-sizing:border-box;min-width:44px;min-height: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:#06090db8;place-items:center;display:grid;position:fixed;inset:0}.match-end-overlay[hidden]{display:none!important}.match-end-card{width:min(360px,90%);padding:22px var(--sp-5);background:var(--panel);border:1px solid color-mix(in srgb, var(--brass) 25%, transparent);box-shadow:var(--shadow);text-align:center;font-family:var(--font-body);border-radius:12px}.match-end-kicker{font-size:var(--fs-xs);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}.match-end-card h2{margin:var(--sp-2) 0 6px;font-size:var(--fs-3xl);font-family:var(--font-display);letter-spacing:.06em;font-weight:400}.match-end-spin-badge{border-radius:var(--r-sm);border:1px solid color-mix(in srgb, var(--brass-hot) 55%, transparent);background:color-mix(in srgb, var(--brass) 18%, transparent);color:var(--brass-hot);font-size:var(--fs-xs);letter-spacing:.14em;margin:0 0 8px;padding:4px 10px;font-weight:700;display:inline-block}.match-end-spin-badge[hidden]{display:none!important}.match-end-score{margin:0 0 var(--sp-2);font-size:var(--fs-2xl);color:var(--brass);font-weight:800}.match-end-share-hint{margin:0 0 var(--sp-3);font-size:var(--fs-sm);color:var(--muted);line-height:1.4}.match-end-moment{margin:0 0 var(--sp-3);border-radius:var(--r-md);background:color-mix(in srgb, var(--felt-lift) 80%, transparent);text-align:center;border:1px solid #ffffff14;padding:10px}.match-end-moment[hidden]{display:none!important}.match-end-moment-kicker{font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.match-end-moment-preview{cursor:pointer;border-radius:var(--r-md);background:0 0;border:0;width:100%;padding:0;display:block;position:relative;overflow:hidden}.match-end-moment-preview canvas{border-radius:var(--r-md);background:#12180f;border:1px solid #ffffff1a;width:100%;height:auto;display:block}.match-end-moment-play{border:1px solid var(--brass);width:44px;height:44px;color:var(--brass-hot);pointer-events:none;background:#060a08b8;border-radius:50%;place-items:center;font-size:18px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.match-end-moment-title{font-size:var(--fs-sm);color:var(--ink);margin:8px 0 2px;font-weight:700}.match-end-moment-sub{font-size:var(--fs-xs);color:var(--muted);margin:0 0 8px}.match-end-moment-all{color:var(--ink);border-radius:var(--r-md);cursor:pointer;font-size:var(--fs-sm);background:0 0;border:1px solid #ffffff1f;width:100%;padding:8px 12px}.share-sheet-moment{box-sizing:border-box;width:100%;margin:0 0 var(--sp-3);background:var(--felt-deep);color:var(--ink);border-radius:var(--r-md);font-size:var(--fs-sm);border:1px solid #ffffff1f;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-action-slot{gap:4px;display:grid}.match-end-action-reason{font-size:var(--fs-xs);color:var(--muted);order:2}.match-end-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}.match-end-actions .primary{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:800}.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{box-sizing:border-box;min-width:44px;min-height:44px}}.share-sheet-overlay{z-index:var(--z-modal);padding:var(--sp-3);background:#06080ab8;place-items:end center;display:grid;position:fixed;inset:0}.share-sheet-overlay[hidden]{display:none!important}.share-sheet-card{border-radius:var(--r-lg) var(--r-lg) var(--r-md) var(--r-md);background:var(--felt-mid);border:1px solid color-mix(in srgb, var(--brass) 28%, transparent);width:min(420px,100%);max-height:min(88vh,640px);box-shadow:var(--sh-md);padding:18px var(--sp-4) var(--sp-3);font-family:var(--font-body);position:relative;overflow:auto}.share-sheet-close{color:var(--muted);font-size:var(--fs-2xl);cursor:pointer;padding:var(--sp-1) var(--sp-2);background:0 0;border:0;line-height:1;position:absolute;top:10px;right:12px}.share-sheet-kicker{font-size:var(--fs-2xs);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}.share-sheet-card h2{margin:6px 0 var(--sp-1);font-size:var(--fs-2xl);font-family:var(--font-display);letter-spacing:.05em;font-weight:400}.share-sheet-lead{font-size:var(--fs-sm);color:var(--muted);margin:0 0 10px;line-height:1.4}.share-sheet-status{font-size:var(--fs-sm);color:var(--ink);margin:0 0 10px}.share-sheet-primary{gap:var(--sp-2);margin:0 0 var(--sp-3);display:grid}.share-sheet-cta{border:1px solid var(--brass-hot);background:var(--brass);color:var(--felt-deep);border-radius:var(--r-md);padding:13px var(--sp-3);cursor:pointer;font-weight:800;font-size:var(--fs-md)}.share-sheet-btn{background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);padding:11px var(--sp-3);cursor:pointer;font-size:var(--fs-sm);border:1px solid #ffffff1f}.share-sheet-label{font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);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;background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);padding:var(--sp-3);cursor:pointer;border:1px solid #ffffff1a;gap:2px;display:grid}.share-sheet-platforms button:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent);background:var(--felt-lift)}.share-sheet-platforms button:disabled{opacity:.55;cursor:wait}.share-sheet-platforms b{font-size:var(--fs-sm)}.share-sheet-platforms span{font-size:var(--fs-xs);color:var(--muted)}.share-sheet-code-row{margin:0 0 10px}.share-sheet-hint{font-size:var(--fs-xs);color:var(--muted);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)}.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 color-mix(in srgb, var(--brass) 35%, transparent);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-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(440px,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) 45%, transparent);border-radius:var(--r-md);padding:11px 13px var(--sp-3);box-shadow:var(--sh-md);background:#09100df0;gap:6px;display:grid}.coach-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.coach-kicker{font-size:var(--fs-2xs);letter-spacing:.24em;text-transform:uppercase;color:var(--brass);margin:0}.coach-skip{color:var(--muted);cursor:pointer;font-size:var(--fs-xs);letter-spacing:.1em;text-transform:uppercase;padding:6px var(--sp-1);background:0 0;border:0;min-height:32px}.coach-skip:hover{color:var(--ink)}.coach-body{font-size:var(--fs-sm);color:var(--ink);margin:0;line-height:1.45}.coach-task{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--brass-soft);margin:2px 0 0;display:flex}.coach-task b{font-weight:700}.coach-dot{background:var(--brass-hot);width:8px;height:8px;box-shadow:0 0 0 0 color-mix(in srgb, var(--brass-hot) 60%, transparent);border-radius:50%;flex:none;animation:1.6s ease-out infinite coach-ping}@keyframes coach-ping{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--brass-hot) 55%, transparent)}70%{box-shadow:0 0 0 10px color-mix(in srgb, var(--brass-hot) 0%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--brass-hot) 0%, transparent)}}.coach-hint{font-size:var(--fs-sm);color:var(--muted);padding-left:var(--sp-2);border-left:2px solid #8fd0a580;margin:2px 0 0;line-height:1.35}@media (width<=720px){.coach-dock{width:calc(100% - 12px);top:6px}.coach-dock .coach-card{padding:9px 10px 10px}.coach-body{font-size:var(--fs-sm)}}@media (prefers-reduced-motion:reduce){.coach-dot{animation:none}}.match-end-reward{margin:var(--sp-3) 0 var(--sp-1);padding:var(--sp-3);border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--brass) 28%, transparent);gap:var(--sp-2);text-align:left;background:#080e0c99;display:grid}.match-end-reward.is-celebrating{border-color:var(--brass-hot);background:color-mix(in srgb, var(--brass) 12%, transparent)}.mer-xp{justify-content:space-between;align-items:baseline;gap:var(--sp-3);display:flex}.mer-xp-gain{font-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.05em;color:var(--brass-hot)}.mer-title{font-size:var(--fs-sm);color:var(--ink);letter-spacing:.06em}.mer-bar{border-radius:var(--r-sm);background:#ffffff1a;height:5px;overflow:hidden}.mer-bar i{border-radius:var(--r-sm);background:linear-gradient(90deg,var(--brass),var(--brass-hot));width:0;height:100%;transition:width .6s;display:block}.mer-next{font-size:var(--fs-xs);color:var(--muted);margin:0}.mer-unlock{font-size:var(--fs-sm);color:var(--felt-deep);background:var(--brass-hot);border-radius:var(--r-sm);letter-spacing:.03em;margin:0;padding:6px 9px;font-weight:700}.mer-unlock[hidden]{display:none}.match-end-stats{text-align:left;gap:5px;margin:10px 0 2px;padding:0;list-style:none;display:grid}.match-end-stats li{font-size:var(--fs-sm);border-radius:var(--r-md);background:#080e0c80;justify-content:space-between;align-items:baseline;gap:10px;padding:6px 9px;display:flex}.match-end-stats span{color:var(--muted);letter-spacing:.05em}.match-end-stats b{color:var(--ink);font-size:var(--fs-sm)}.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:#0a100ce0;border:1px solid #ffffff2e;border-radius:10px;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:2.5rem}.scorebar{border-bottom:1px solid color-mix(in srgb, var(--brass) 22%, transparent);background:linear-gradient(#0e1613f7,#060a09f2);box-shadow:inset 0 1px #ffffff0a,0 8px 22px #0006}.scorebar:before{content:"";pointer-events:none;background:linear-gradient(90deg, var(--blue) 0 38%, color-mix(in srgb, var(--brass) 70%, transparent) 50%, var(--red) 62% 100%);opacity:.75;height:2px;position:absolute;top:0;left:0;right:0}.scorebar.is-flipped:before{background:linear-gradient(90deg, var(--red) 0 38%, color-mix(in srgb, var(--brass) 70%, transparent) 50%, var(--blue) 62% 100%)}.sb-side{border:1px solid #0000;border-radius:10px;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:8px;box-shadow:0 0 0 1px #ffffff1f}.sb-name{letter-spacing:.07em}.sb-score{text-align:center;min-width:1.55em;font-family:var(--font-display);font-variant-numeric:tabular-nums;background:#00000080;border:1px solid #ffffff14;border-radius:9px;padding:2px 10px;font-weight:400;box-shadow:inset 0 2px 6px #0000008c}.sb-blue .sb-score{text-shadow:0 0 18px #60bbff59}.sb-red .sb-score{text-shadow:0 0 18px #ff6b7059}.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:linear-gradient(#60bbff24,#60bbff0a);border-color:#60bbff59;box-shadow:0 0 18px #60bbff2e}.scorebar[data-turn=red] .sb-red{background:linear-gradient(#ff6b7024,#ff6b700a);border-color:#ff6b7059;box-shadow:0 0 18px #ff6b702e}.scorebar[data-turn=blue] .sb-blue:after,.scorebar[data-turn=red] .sb-red:after{content:"";border-radius:2px;height:2px;animation:1.6s ease-in-out infinite sbTurn;position:absolute;bottom:-1px;left:14%;right:14%}.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-size:var(--fs-xs);letter-spacing:.22em;opacity:.85}.match-phase-chip{border-color:color-mix(in srgb, var(--brass) 38%, transparent);color:var(--brass-soft);background:linear-gradient(#141e1af2,#080c0bf2);box-shadow:0 4px 14px #00000073,inset 0 1px #ffffff0d}.shot-clock{justify-items:center;gap:3px;min-width:64px;margin-top:4px;display:grid}.shot-clock[hidden]{display:none!important}.shot-clock-num{font-family:var(--font-display);font-weight:400;font-size:var(--fs-xl);letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--brass-soft);line-height:1}.shot-clock-bar{background:#ffffff1a;border-radius:2px;width:64px;height:3px;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:#fff}.shot-clock.is-warn .shot-clock-num{color:#ffb347}.shot-clock.is-warn .shot-clock-bar i{background:#ffb347}.shot-clock.is-danger .shot-clock-num{color:#ff4d4d;animation:.5s ease-in-out infinite alternate scPulse}.shot-clock.is-danger .shot-clock-bar i{background:#ff4d4d}@keyframes scPulse{0%{transform:scale(1)}to{text-shadow:0 0 14px #ff4d4dcc;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-display);color:#ff4d4de6;text-shadow:0 0 40px #ff2828a6,0 10px 40px #000c;font-size:clamp(120px,26vmin,260px);font-weight:400;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:.1em;text-transform:uppercase;color:#fff;text-shadow:0 0 30px #ff4d4dcc,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;animation:.5s ease-in-out infinite alternate dangerPulse;position:absolute;inset:0;box-shadow:inset 0 0 90px 10px #ff1e1e8c}@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{border-top:2px solid var(--gf-c,var(--brass));border-bottom:2px solid var(--gf-c,var(--brass));background:linear-gradient(90deg,#0000,#000000b8 18% 82%,#0000);height:clamp(90px,22%,180px);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)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-display);letter-spacing:.1em;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(64px,11vw,140px);font-weight:400;line-height:.9;position:relative}.goal-flash .gf-strip{border-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--gf-c,var(--brass)) 55%, transparent);background:#0009;align-items:center;gap:14px;padding:6px 16px;display:inline-flex;position:relative}.goal-flash .gf-name{font-family:var(--font-display);letter-spacing:.08em;color:var(--gf-c,var(--ink));white-space:nowrap;text-overflow:ellipsis;max-width:14ch;font-size:clamp(18px,2.6vw,28px);overflow:hidden}.goal-flash .gf-score{font-family:var(--font-display);letter-spacing:.06em;color:#fff;font-size:clamp(18px,2.6vw,28px)}.goal-flash.show{opacity:1}.goal-flash.show .gf-sweep{animation:.35s cubic-bezier(.2,.9,.2,1) forwards gfSweep}.goal-flash.show .gf-word{animation:.55s cubic-bezier(.2,1.5,.4,1) both gfWord}.goal-flash.show .gf-strip{animation:.4s .18s both gfStrip}@keyframes gfSweep{to{transform:translateY(-50%)scaleX(1)}}@keyframes gfWord{0%{opacity:0;filter:blur(6px);transform:scale(2.4)}to{opacity:1;filter:none;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;font-family:var(--font-display);letter-spacing:.16em;text-transform:uppercase;color:#fff;font-size:var(--fs-md);background:#000000b8;border:1px solid #ffffff24;border-radius:6px;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:#ff3b3b;border-radius:50%;width:9px;height:9px;animation:1s steps(2,jump-none) infinite rbDot;box-shadow:0 0 8px #ff3b3b}.replay-badge span{color:var(--brass-hot);letter-spacing:.1em;border-left:1px solid #fff3;padding-left:8px}.replay-badge span[hidden]{display:none}.replay-badge[data-side=blue]{border-left:3px solid var(--blue)}.replay-badge[data-side=red]{border-left:3px 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{animation:none!important}.goal-flash.show .gf-sweep{animation:none;transform:translateY(-50%)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%)scaleX(1)}@media (width<=720px){.scorebar{gap:6px}.sb-side{gap:6px;padding:2px 4px}.sb-score{min-width:1.3em;padding:0 6px}.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}}.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));border:1px solid color-mix(in srgb, var(--brass) 35%, transparent);border-left:1px solid color-mix(in srgb, var(--brass) 35%, transparent);width:min(360px,100vw - 24px);box-shadow:var(--sh-lg);background:#0c1410f7;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-family:var(--font-display);font-size:var(--fs-2xl);letter-spacing:.06em;color:var(--brass-soft);margin:0;font-weight:400}.play-settings-close{color:var(--ink);border-radius:var(--r-md);cursor:pointer;width:36px;height:36px;font-size:var(--fs-xl);background:0 0;border:1px solid #ffffff1f;line-height:1}.play-settings-close:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass-hot)}.play-settings-body{overscroll-behavior:contain;padding:var(--sp-3) var(--sp-3) 18px;gap:var(--sp-3);flex-direction:column;flex:1;display:flex;overflow:auto}.play-settings-section{gap:var(--sp-2);padding-top:var(--sp-3);border-top:1px solid #ffffff12;display:grid}.play-settings-section:first-child{border-top:0;padding-top:0}.play-settings-section>label.section-label,.play-settings-section>.section-label{font-size:var(--fs-2xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0}.play-settings-body .subtitle{font-size:var(--fs-sm);color:var(--muted);margin:0;line-height:1.4}.play-settings-check{align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);color:var(--ink);cursor:pointer;display:flex}.play-settings-check input{accent-color:var(--brass);width:16px;height:16px}.play-settings-lang{gap:var(--sp-2);flex-wrap:wrap;display:flex}.play-settings-lang-btn{min-width:7rem;color:var(--ink);border-radius:var(--r-md);font-size:var(--fs-sm);cursor:pointer;background:0 0;border:1px solid #ffffff24;flex:1;padding:10px 12px}.play-settings-lang-btn:hover{border-color:color-mix(in srgb, var(--brass) 45%, transparent);color:var(--brass-hot)}.play-settings-lang-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)}@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);background:#0c1410fc;border-radius:12px 0 0;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{border-radius:var(--r-md);border:1px solid color-mix(in srgb, var(--brass) 40%, transparent);background:#00000040;flex:none;place-items:center;width:56px;height:56px;display:grid;overflow:hidden}.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);border-radius:var(--r-md);cursor:pointer;width:44px;min-width:44px;height:44px;min-height:44px;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);cursor:pointer;min-height:44px;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[aria-selected=true]{color:var(--brass-soft);border-bottom-color:var(--brass)}.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 span{font-size:var(--fs-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.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{background:var(--felt-deep);min-height:44px;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:44px;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;color:var(--muted);background:#ffffff0f;border-radius:999px;place-items:center;font-size:12px;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:#53c785}.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);cursor:pointer;min-height:44px;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);border:1px solid #ffffff1f;min-width:0;min-height:44px;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);cursor:pointer;min-height:44px;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:44px;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:#53c785}.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 color-mix(in srgb, var(--brass) 40%, transparent);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);cursor:pointer;min-height:44px;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 color-mix(in srgb, var(--brass) 40%, transparent);border-radius:12px 12px 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:44px}}@media (prefers-reduced-motion:reduce){.profile-dock-panel{transition:none;animation:none}}.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);width:min(420px,100%);color:var(--brass-soft,#f3e6c0);background:linear-gradient(165deg,#1a2c24fa,#0a100efa);border:1px solid #d6b34d73;border-radius:2px;padding:22px 22px 18px;animation:.18s ease-out nf-confirm-in;position:relative;box-shadow:0 18px 48px #0000008c}.nf-confirm-title{font-family:var(--font-display,"Bebas Neue", sans-serif);letter-spacing:.06em;color:var(--brass-hot,#f1d46c);margin:0 0 10px;font-size:1.55rem;font-weight:400}.nf-confirm-body{color:#c8d4c6;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-width:96px;min-height:44px;color:var(--brass-soft,#f3e6c0);font-family:var(--font-body,inherit);cursor:pointer;background:0 0;border:1px solid #d6b34d66;border-radius:2px;padding:0 16px;font-size:14px}.nf-confirm-btn:hover{border-color:var(--brass-hot,#f1d46c);color:var(--brass-hot,#f1d46c)}.nf-confirm-btn:focus-visible{outline:2px solid var(--brass-hot,#f1d46c);outline-offset:2px}.nf-confirm-btn.is-confirm{background:var(--brass,#d6b34d);color:#14180f;border-color:var(--brass-hot,#f1d46c);font-weight:700}.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}:root{--topnav-h:58px}body[data-topnav-mode=match],body[data-topnav-mode=room]{--topnav-h:46px}.top-nav{z-index:var(--z-nav);height:var(--topnav-h);padding:0 var(--sp-3);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-sizing:border-box;background:#080e0cf5;border-bottom:1px solid #ffffff12;align-items:center;gap:10px;display:flex;position:sticky;top:0}.top-nav[data-mode=match],.top-nav[data-mode=room]{height:46px}.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);background:0 0;border:none;flex-shrink:0;min-height:44px;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 color-mix(in srgb, var(--brass) 40%, transparent);color:var(--brass);font-family:var(--font-display);letter-spacing:.06em;font-size:var(--fs-md);padding:var(--sp-2) var(--sp-3);border-radius:var(--r-md);cursor:pointer;background:0 0;flex-shrink:0;min-height:44px}.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);cursor:pointer;border-radius:var(--r-md);background:0 0;border:1px solid #0000;min-height:44px}.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 color-mix(in srgb, var(--brass) 40%, transparent);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:52px;color:var(--ink);cursor:pointer;border-radius:var(--r-md);font-family:var(--font-body);background:0 0;border:none;grid-template-columns:36px 1fr;align-items:center;gap:10px;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{border:1px solid color-mix(in srgb, var(--brass) 35%, transparent);background:color-mix(in srgb, var(--brass) 10%, transparent);width:36px;height:36px;color:var(--brass-hot);border-radius:var(--r-md);flex-shrink:0;place-items:center;display:grid}.top-nav-drop-ico svg{display:block}.top-nav-drop-text{gap:2px;min-width:0;display:grid}.top-nav-drop-text b{font-family:var(--font-display);font-size:var(--fs-xl);letter-spacing:.05em;color:var(--brass-soft);font-weight:400}.top-nav-drop-text span{font-size:var(--fs-xs);color:var(--muted);line-height:1.3}.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;border-radius:var(--r-md);min-height:44px;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);border-color:color-mix(in srgb, var(--brass) 35%, 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 color-mix(in srgb, var(--brass) 40%, transparent);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;border-radius:var(--r-md);min-height:44px;color:inherit;background:0 0;border:1px solid #0000;display:flex}.top-nav-avatar-btn:hover,.top-nav-avatar-btn[aria-expanded=true]{border-color:color-mix(in srgb, var(--brass) 35%, transparent)}.top-nav-avatar-face{border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);border-radius:var(--r-md);background:#00000040;flex-shrink:0;place-items:center;width:36px;height:36px;display:grid;overflow:hidden}.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);border-radius:var(--r-md);cursor:pointer;width:44px;height:44px;font-size:var(--fs-xl);background:0 0;border:1px solid #ffffff1f;line-height:1;display:none}.top-nav-burger:hover{border-color:color-mix(in srgb, var(--brass) 40%, transparent);color:var(--brass-hot)}.top-nav-burger[hidden]{display:none!important}.top-nav-mobile-sheet{inset:var(--topnav-h) 0 0 0;z-index:var(--z-menu);padding:var(--sp-3);background:#080e0cf7;align-content:start;gap:10px;animation:.16s ease-out topNavDropIn;display:grid;position:fixed;overflow:auto}.top-nav-mobile-sheet[hidden]{display:none!important}.top-nav-mobile-group{padding:var(--sp-2);border-radius:var(--r-md);background:#0c1612b3;border:1px solid #ffffff14}.top-nav-mobile-group h3{font-size:var(--fs-xs);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin:0 0 6px}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}.nf-prefs-root{z-index:var(--z-modal);box-sizing:border-box;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.nf-prefs-root[hidden]{display:none!important}.nf-prefs-backdrop{cursor:pointer;z-index:var(--z-board);background:#060a08b8;border:0;margin:0;padding:0;position:absolute;inset:0}.nf-prefs-panel{z-index:var(--z-hud);width:min(440px,100%);max-height:min(88vh,640px);color:var(--brass-soft,#f3e6c0);pointer-events:auto;background:linear-gradient(165deg,#1a2c24fa,#0a100efa);border:1px solid #d6b34d73;border-radius:2px;padding:20px 20px 16px;animation:.18s ease-out nf-prefs-in;position:relative;overflow:auto;box-shadow:0 18px 48px #0000008c}.nf-prefs-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.nf-prefs-title{font-family:var(--font-display,"Bebas Neue", sans-serif);letter-spacing:.06em;color:var(--brass-hot,#f1d46c);margin:0;font-size:1.5rem;font-weight:400}.nf-prefs-close{width:44px;height:44px;color:var(--brass-soft,#f3e6c0);cursor:pointer;background:0 0;border:1px solid #d6b34d59;border-radius:2px;flex-shrink:0;font-size:1.4rem}.nf-prefs-close:hover{border-color:var(--brass-hot,#f1d46c);color:var(--brass-hot,#f1d46c)}.nf-prefs-section{border-bottom:1px solid #ffffff14;margin:0 0 16px;padding:0 0 14px}.nf-prefs-label{letter-spacing:.14em;text-transform:uppercase;color:var(--brass,#d6b34d);margin:0 0 8px;font-size:12px;display:block}.nf-prefs-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.nf-prefs-btn{min-height:44px;color:var(--brass-soft,#f3e6c0);cursor:pointer;background:0 0;border:1px solid #d6b34d66;border-radius:2px;padding:0 14px;font-size:13px}.nf-prefs-btn:hover{border-color:var(--brass-hot,#f1d46c);color:var(--brass-hot,#f1d46c)}.nf-prefs-btn.is-primary{background:var(--brass,#d6b34d);color:#14180f;border-color:var(--brass-hot,#f1d46c);font-weight:700}.nf-prefs-range{min-width:120px;accent-color:var(--brass,#d6b34d);flex:1}.nf-prefs-check{cursor:pointer;align-items:center;gap:10px;min-height:44px;font-size:14px;display:flex}.nf-prefs-check input{width:18px;height:18px;accent-color:var(--brass,#d6b34d)}.nf-prefs-keys{color:#c8d4c6;gap:8px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.nf-prefs-keys li{justify-content:space-between;gap:12px;display:flex}.nf-prefs-keys kbd{color:var(--brass-soft,#f3e6c0);white-space:nowrap;background:#00000040;border:1px solid #d6b34d59;border-radius:2px;padding:2px 8px;font-family:inherit;font-size:12px}.nf-prefs-hint{color:#8fa094;margin:6px 0 0;font-size:12px}.nf-prefs-foot{justify-content:flex-end;padding-top:4px;display:flex}@keyframes nf-prefs-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.nf-prefs-panel{animation:none}}html[data-reduce-motion="1"] .nf-prefs-panel{animation:none!important}.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:#53c785;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;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;background:radial-gradient(60% 55% at 50% 45%,#f1d46c1a,#0000 70%),radial-gradient(45% 60% at 0%,#60bbff33,#0000 70%),radial-gradient(45% 60% at 100%,#ff6b7033,#0000 70%),linear-gradient(#050908,#07100d);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-radius:var(--r-pill);border:1px solid color-mix(in srgb, var(--brass) 55%, transparent);color:var(--brass-hot);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;opacity:0;background:#00000059;margin:0;padding:6px 16px;font-size:clamp(14px,1.8vw,20px);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{min-width:0;box-shadow:var(--sh-lg);opacity:0;background:linear-gradient(160deg,#14201beb,#090f0deb);border:1px solid #ffffff14;border-radius:14px;align-content:start;gap:10px;padding:clamp(12px,2vw,20px);transition:opacity .38s,transform .5s cubic-bezier(.2,.9,.2,1);display:grid;position:relative}.mr-team:before{content:"";border-radius:14px 0 0 14px;width:4px;position:absolute;inset:0 auto 0 0}.mr-blue{transform:translate(-60px)}.mr-red{transform:translate(60px)}.mr-blue:before{background:linear-gradient(180deg,var(--blue),transparent)}.mr-red:before{background:linear-gradient(180deg,var(--red),transparent)}.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:color-mix(in srgb, var(--brass) 45%, transparent)}.mr-tag{border-radius:var(--r-pill);font-size:var(--fs-2xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);background:#ffffff0f;justify-self:start;padding:2px 9px;font-weight:800}.mr-team.is-local .mr-tag{background:var(--brass);color:var(--felt-deep)}.mr-name{font-family:var(--font-display);letter-spacing:.05em;white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:clamp(26px,4vw,48px);font-weight:400;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-display);letter-spacing:.06em;color:var(--brass-soft);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:clamp(16px,2vw,22px);overflow:hidden}.mr-ball{font-size:var(--fs-sm);color:var(--ink);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{aspect-ratio:1;width:clamp(56px,7vw,86px);font-family:var(--font-display);letter-spacing:.06em;color:var(--felt-deep);background:radial-gradient(circle at 35% 30%, var(--brass-hot), var(--brass) 60%, #8f7427);box-shadow:0 0 0 3px #00000080, 0 0 0 6px color-mix(in srgb, var(--brass) 45%, transparent), 0 0 40px #f1d46c73;opacity:0;border-radius:50%;place-items:center;font-size:clamp(24px,3.2vw,38px);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-size:var(--fs-sm);letter-spacing:.08em;color:var(--muted);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-display);color:var(--brass-hot);text-shadow:0 0 30px #f1d46c8c,0 6px 24px #000c;font-size:clamp(52px,9vh,96px);font-weight:400;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:.12em;text-transform:uppercase;color:#fff}@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-display);letter-spacing:.06em;color:var(--brass-soft);margin:0;font-size:clamp(34px,6vw,64px);font-weight:400}.mr-leg-sub{color:var(--muted);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:52px;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}.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 h1{font-family:var(--font-display);letter-spacing:.06em;font-weight:400;font-size:var(--fs-3xl);color:var(--brass-soft);margin:0}.leaderboard-week{color:var(--muted);font-size:var(--fs-sm);margin:4px 0 0}.leaderboard-back{cursor:pointer;border:1px solid color-mix(in srgb, var(--brass) 45%, transparent);min-height:44px;color:var(--brass);border-radius:var(--r-md);font-family:var(--font-body);background:0 0;padding:10px 14px}.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:8px;max-width:720px;padding:0;list-style:none;display:grid}.leaderboard-list li{gap:var(--sp-3);border-radius:var(--r-md);min-height:44px;font-size:var(--fs-sm);background:#00000038;border:1px solid #ffffff14;grid-template-columns:3rem minmax(0,1fr) auto auto;align-items:center;padding:8px 12px;display:grid}.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{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.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:10px}.leaderboard-list li{grid-template-columns:2.2rem minmax(0,1fr)}.leaderboard-list .wins,.leaderboard-list .elo{grid-column:2}}.replay-scene{z-index:var(--z-modal);padding:var(--sp-3);font-family:var(--font-body);color:var(--ink);place-items:center;display:grid;position:fixed;inset:0}.replay-scene-scrim{z-index:var(--z-modal-scrim);background:#040806d1;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);border-radius:var(--r-lg);background:var(--panel);border:1px solid color-mix(in srgb, var(--brass) 30%, transparent);box-shadow:var(--sh-lg);flex-direction:column;display:flex;position:relative;overflow:hidden}.replay-scene-close{color:var(--muted);font-size:var(--fs-2xl);cursor:pointer;padding:var(--sp-1) var(--sp-2);background:0 0;border:0;line-height:1;position:absolute;top:8px;right:10px}.replay-scene-warn{border-radius:var(--r-md);color:var(--brass-soft);font-size:var(--fs-sm);background:#78461459;border:1px solid #d6b34d59;margin:0 28px 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{border-radius:var(--r-md);background:#12180f;border:1px solid #ffffff14;width:100%;height:auto;display:block}.replay-scene-transport{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.replay-scene-transport button{background:var(--felt-lift);color:var(--ink);border-radius:var(--r-md);cursor:pointer;border:1px solid #ffffff1f;min-width:2.5rem;padding:8px 10px}.replay-scene-transport button.is-primary{background:var(--brass);color:var(--felt-deep);border-color:var(--brass-hot);font-weight:800}.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:#ffffff73;border-radius:1px;width:2px;height:12px;margin-left:-1px;position:absolute;top:-6px}.replay-scene-notches i.is-goal{background:#e8c35a;width:3px;height:14px;top:-7px}.replay-scene-time{font-size:var(--fs-xs);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.replay-scene-rate select{background:var(--felt-deep);color:var(--ink);border-radius:var(--r-md);font-size:var(--fs-sm);border:1px solid #ffffff1f;padding:6px 8px}.replay-scene-moments{min-width:0;padding-left:var(--sp-3);border-left:1px solid #ffffff14;overflow:auto}.replay-scene-moments h3{margin:0 0 var(--sp-2);font-size:var(--fs-xs);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-weight:700}.replay-scene-moments ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.replay-scene-moments li button{text-align:left;width:100%;color:var(--ink);border-radius:var(--r-md);cursor:pointer;background:0 0;border:1px solid #0000;gap:2px;padding:8px 10px;display:grid}.replay-scene-moments li button b{font-size:var(--fs-sm);font-weight:700}.replay-scene-moments li button span{font-size:var(--fs-xs);color:var(--muted)}.replay-scene-moments li.is-active button{background:color-mix(in srgb, var(--brass) 14%, transparent);border-color:color-mix(in srgb, var(--brass) 40%, transparent)}.replay-scene-moments li.is-empty{font-size:var(--fs-sm);color:var(--muted);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 #ffffff14;display:flex}.replay-scene-foot-text{gap:2px;min-width:0;display:grid}.replay-scene-foot-text strong{font-size:var(--fs-md);font-family:var(--font-display);letter-spacing:.04em;font-weight:400}.replay-scene-foot-text span{font-size:var(--fs-sm);color:var(--muted)}.replay-scene-clip{border:1px solid var(--brass-hot);background:var(--brass);color:var(--felt-deep);border-radius:var(--r-md);cursor:pointer;white-space:nowrap;padding:10px 14px;font-weight:800}.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{padding-left:0;padding-top:var(--sp-2);border-top:1px solid #ffffff14;border-left:0}.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-lift);border-color:#ffffff1a}}@media (prefers-reduced-motion:reduce){.replay-scene-shell{animation:none}}
