:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;font-synthesis:none;text-rendering:optimizelegibility;--bg-0:#e9e2cc;--bg-1:#ded5b8;--ink:#3b2a1f;--ink-soft:#6b5642;--ink-faint:#9a8a72;--panel:#f3eedd;--panel-2:#ded5b8;--line:#3b2a1f;--line-soft:#c9be9e;--accent:#b0402c;--accent-2:#c6543d;--accent-strong:#7a2a1c;--accent-ink:#f3eedd;--accent-soft:#efc7b4;--accent-glass:#b0402c24;--accent-glass-strong:#b0402c4d;--rival:#d98e76;--rival-ink:#3b2a1f;--rival-glass:#b0402c14;--success:#4c7a3b;--warning:#a8721e;--danger:#7a2a1c;--danger-glass:#7a2a1c1f;--font-mono:"Courier New", ui-monospace, "SF Mono", Menlo, monospace;--px:3px;--radius-lg:0px;--radius-md:0px;--radius-sm:0px;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,Segoe UI,Microsoft YaHei,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--bg-0:#2a2116;--bg-1:#211a11;--ink:#f1e9d6;--ink-soft:#c9bb9c;--ink-faint:#8f8064;--panel:#33291b;--panel-2:#241c12;--line:#f1e9d6;--line-soft:#4a3c27;--accent:#d9583f;--accent-2:#e06b52;--accent-strong:#f08a6e;--accent-ink:#2a1108;--accent-soft:#4a2318;--accent-glass:#d9583f33;--accent-glass-strong:#d9583f61;--rival:#8a5138;--rival-ink:#f1e9d6;--rival-glass:#d9583f1a;--danger-glass:#f08a6e29}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg-0:#2a2116;--bg-1:#211a11;--ink:#f1e9d6;--ink-soft:#c9bb9c;--ink-faint:#8f8064;--panel:#33291b;--panel-2:#241c12;--line:#f1e9d6;--line-soft:#4a3c27;--accent:#d9583f;--accent-2:#e06b52;--accent-strong:#f08a6e;--accent-ink:#2a1108;--accent-soft:#4a2318;--accent-glass:#d9583f33;--accent-glass-strong:#d9583f61;--rival:#8a5138;--rival-ink:#f1e9d6;--rival-glass:#d9583f1a;--danger-glass:#f08a6e29}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;color:var(--ink);background:var(--bg-0);background-image:repeating-linear-gradient(0deg,#3b2a1f0a 0 1px,#0000 1px 4px);margin:0}button,input{font:inherit;color:inherit}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:no-preference){.pulse-dot{animation:1.2s step-end infinite dot-pulse}@keyframes dot-pulse{0%,49%{opacity:1}50%,to{opacity:.35}}.count-breathe{animation:1.6s steps(2,end) infinite breathe}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}}.glass,.glass-thin,.glass-strong{background:var(--panel);border:var(--px) solid var(--line);position:relative}.glass:before{content:none}.route-loading{min-height:100vh;color:var(--accent-strong);font:800 12px/1.4 var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;place-items:center;display:grid}.product-shell{width:min(1240px,100%);min-height:100vh;margin:0 auto;padding:0 34px 40px}.product-header{border-bottom:var(--px) solid var(--line-soft);justify-content:space-between;align-items:center;min-height:78px;display:flex}.product-header>strong{color:var(--ink-faint);font:700 10px/1 var(--font-mono), monospace;letter-spacing:.15em;text-transform:uppercase}.product-brand{color:var(--ink);font-family:var(--font-mono);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;padding:0;font-size:14px;font-weight:800;text-decoration:none;display:flex}.product-brand span{background:var(--panel);border:var(--px) solid var(--line);place-items:center;width:34px;height:34px;display:grid}.product-brand span:before{content:"";background:var(--accent-strong);width:16px;height:16px;display:block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' shape-rendering='crispEdges' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M4 1h3v1H4zM9 1h3v1H9zM3 2h10v1H3zM2 3h12v7H2zM3 10h10v1H3zM4 11h8v1H4zM5 12h6v1H5z'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' shape-rendering='crispEdges' viewBox='0 0 16 16'%3E%3Cpath fill='%23000' d='M4 1h3v1H4zM9 1h3v1H9zM3 2h10v1H3zM2 3h12v7H2zM3 10h10v1H3zM4 11h8v1H4zM5 12h6v1H5z'/%3E%3C/svg%3E") 50%/contain no-repeat}.product-header-meta{color:var(--ink-faint);font:700 10px/1 var(--font-mono), monospace;letter-spacing:.12em;text-transform:uppercase;align-items:center;gap:18px;display:flex}.product-header-meta span{color:var(--accent-strong)}.welcome-layout{place-items:center;min-height:calc(100vh - 118px);padding:52px 0;display:grid}.entry-card,.room-main-card,.room-side-card,.status-panel,.result-layout{border-radius:0}.entry-card,.room-main-card,.room-side-card,.status-panel,.result-layout,.match-toolbar,.fighter-score,.match-overlay,.match-coach,.versus-badge,.player-list,.room-code{background:var(--panel);border:var(--px) solid var(--line)}.entry-card{width:min(420px,100%);padding:28px}.entry-card h2{font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;margin-bottom:24px;font-size:20px}.menu-tile-card .eyebrow{color:var(--accent-strong)}.today-challenge-card{border:var(--px) solid var(--accent-strong);background:var(--accent-soft);margin:20px 0;padding:18px}.today-challenge-card h3{font-family:var(--font-mono);margin:0 0 6px;font-size:17px}.today-challenge-card>div>span{color:var(--ink-soft);font-size:11px}.today-challenge-actions{grid-template-columns:1fr 1fr;gap:8px;margin-top:16px;display:grid}.today-challenge-actions .product-primary,.today-challenge-actions .product-secondary{min-height:42px;padding:0 8px;font-size:11px}.leaderboard-link{border:0;border-top:2px solid var(--line-soft);width:100%;color:var(--accent-strong);font:800 10px/2 var(--font-mono);text-align:right;cursor:pointer;background:0 0;margin-top:12px;padding:6px 0 0}.classic-entry{gap:8px;display:grid}.classic-entry>span{color:var(--ink-faint);font:800 9px/1.4 var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.ready-cta{position:relative;overflow:hidden}.ready-cta:after{content:"▶ START";letter-spacing:.06em;opacity:.85;font-size:11px;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.ready-cta:disabled:after{display:none}.product-field{color:var(--ink-soft);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;gap:8px;margin-bottom:14px;font-size:10.5px;font-weight:700;display:grid}.product-field input{width:100%;height:48px;color:var(--ink);background:var(--panel-2);border:2px solid var(--line-soft);padding:0 14px}.product-field input::placeholder{color:var(--ink-faint)}.product-primary,.product-secondary,.text-button,.match-toolbar button{min-height:46px;font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;cursor:pointer;padding:0 17px;font-weight:800}.product-primary{border:var(--px) solid var(--accent-strong);width:100%;color:var(--accent-ink);background:var(--accent);box-shadow:var(--px) var(--px) 0 0 var(--accent-strong)}.product-primary:disabled,.product-secondary:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.product-secondary{width:100%;color:var(--ink);background:var(--panel);border:var(--px) solid var(--line)}.text-button{min-height:36px;color:var(--ink-soft);background:0 0;border:0;font-size:11px;font-weight:700}.entry-divider{color:var(--ink-faint);font-family:var(--font-mono);text-transform:uppercase;align-items:center;gap:10px;margin:18px 0;font-size:10px;display:flex}.entry-divider:before,.entry-divider:after{content:"";background:var(--line-soft);flex:1;height:2px}.product-dev-links{z-index:5;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:18px;right:20px}.product-dev-links .lab-link{margin-top:0}.lab-link{color:var(--ink-soft);text-underline-offset:4px;margin-top:20px;font-size:12px;display:inline-block}.local-test-banner{border:var(--px) solid var(--accent-strong);background:var(--accent-soft);width:min(1080px,100% - 32px);color:var(--accent-strong);flex-wrap:wrap;justify-content:center;align-items:center;gap:6px 12px;margin:14px auto 0;padding:10px 14px;font-size:13px;font-weight:600;display:flex}.local-test-banner span{min-width:0;color:var(--ink-soft)}.centered-screen{place-items:center;min-height:calc(100vh - 110px);padding:40px 0;display:grid}.status-panel{text-align:center;width:min(430px,100%);padding:34px}.status-panel>i{background:var(--danger);border:2px solid var(--line);width:12px;height:12px;margin-bottom:18px;display:inline-block}.status-panel.loading>i{border:2px solid var(--line);background:var(--accent);animation:.8s steps(4,end) infinite status-spin}.status-panel h2{margin-bottom:11px}.status-panel p{color:var(--ink-soft);margin:0 0 22px;font-size:13px;line-height:1.7}@keyframes status-spin{to{transform:rotate(360deg)}}.room-layout{padding:46px 0}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px;display:flex}.section-heading h1{font-size:clamp(26px,3.4vw,38px)}.room-grid{grid-template-columns:minmax(0,1.25fr) minmax(300px,.65fr);gap:18px;display:grid}.room-main-card,.room-side-card{padding:26px}.room-main-card{flex-direction:column;min-height:430px;display:flex}.room-code{border:var(--px) dashed var(--accent-strong);background:var(--accent-soft);align-content:center;place-items:center;gap:10px;min-height:160px;display:grid}.room-code span{color:var(--ink-faint);font-family:var(--font-mono);text-transform:uppercase;font-size:10.5px;font-weight:700}.room-code strong{color:var(--accent-strong);font-family:var(--font-mono);letter-spacing:.1em;font-variant-numeric:tabular-nums;font-size:clamp(34px,6vw,60px);font-weight:800;line-height:1}.room-main-card>.product-secondary{align-self:center;width:auto;margin:14px 0 25px}.player-list{margin-top:auto}.player-list>div{border-bottom:2px solid var(--line-soft);grid-template-columns:auto 1fr auto;align-items:center;gap:11px;min-height:58px;padding:0 16px;display:grid}.player-list>div:last-child{border-bottom:0}.player-list i{background:var(--ink-faint);width:8px;height:8px}.player-list .online-dot{background:var(--accent)}.player-list span{font-weight:800}.player-list strong{color:var(--ink-faint);font-size:10px}.player-list .is-empty span{color:var(--ink-faint)}.room-side-card{flex-direction:column;display:flex}.room-side-card>p:not(.eyebrow){color:var(--ink-soft);font-size:13px;line-height:1.7}.room-side-card .product-primary{margin-top:auto}.camera-error{border:2px solid var(--danger);color:var(--danger);background:var(--danger-glass);margin:14px 0 0;padding:11px 12px;font-size:11px;line-height:1.55}.match-layout{flex-direction:column;min-height:calc(100vh - 112px);padding:22px 0;display:flex}.match-toolbar{min-height:58px;font-family:var(--font-mono);letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 18px;font-size:10px;font-weight:800;display:grid}.match-toolbar span:before{content:"●";color:var(--accent);margin-right:6px;display:inline-block}.match-toolbar strong{color:var(--accent-strong);font-variant-numeric:tabular-nums;font-size:20px}.match-toolbar button{border:2px solid var(--line-soft);min-height:34px;color:var(--ink-soft);background:0 0;justify-self:end;font-size:10px}.battle-split{aspect-ratio:9/8;border:var(--px) solid var(--line);border-top:0;flex:none;grid-template-columns:1fr 1fr;align-self:center;width:min(100%,112.5dvh - 247.5px,900px);min-width:0;min-height:0;display:grid;position:relative;overflow:hidden}.fighter-panel{background:var(--accent-strong);border-right:2px solid var(--line);align-content:center;place-items:center;gap:15px;display:grid}.fighter-panel.rival{background:var(--rival);border-right:0}.fighter-panel span{color:#fffc;font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:11px;font-weight:900}.fighter-panel.rival span{color:#3b2a1fb8}.fighter-panel strong{font-family:var(--font-mono);color:#fff;font-variant-numeric:tabular-nums;font-size:clamp(60px,11vw,130px);font-weight:800;line-height:.8}.fighter-panel.rival strong{color:var(--ink)}.fighter-panel p{color:#ffffffa6;font-size:11px}.fighter-panel.rival p{color:#3b2a1f8c}.local-video-panel{display:block;position:relative;overflow:hidden}.local-video-panel .video-stage{width:100%;height:100%;min-height:100%}.rtc-video-panel{position:relative;overflow:hidden}.rtc-render{position:absolute;inset:0}.rtc-render video{object-fit:contain;width:100%!important;height:100%!important}.rtc-video-panel>canvas{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.rtc-local-render+canvas{transform:scaleX(-1)}.rtc-placeholder{z-index:2;text-align:center;color:#ffffffd9;max-width:70%;position:relative}.rtc-video-panel .video-badge,.rtc-video-panel .fighter-score{z-index:3}.fighter-score{z-index:3;grid-template-columns:auto auto;align-items:end;gap:2px 12px;padding:13px 15px;display:grid;position:absolute;bottom:18px;left:18px;background:#140c08ad!important;border-color:#fff6!important}.fighter-score span{color:#ffffffbf;font-family:var(--font-mono);letter-spacing:.13em;text-transform:uppercase;grid-column:1;font-size:9px;font-weight:900}.fighter-score strong{font-family:var(--font-mono);color:#fff;font-variant-numeric:tabular-nums;grid-area:1/2/3;font-size:44px;font-weight:800;line-height:.8}.fighter-score small{color:#fff9;font-size:9px}.match-overlay{z-index:5;align-content:center;place-items:center;gap:12px;display:grid;position:absolute;inset:0;background:#140c08d1!important;border:0!important}.match-overlay span{color:var(--accent-2);font-family:var(--font-mono);letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:900}.match-overlay>strong{font-family:var(--font-mono);color:#fff;font-variant-numeric:tabular-nums;font-size:clamp(90px,18vw,190px);font-weight:800;line-height:.8}.match-overlay.paused{text-align:center;padding:30px}.match-overlay.paused p{color:#fffc;max-width:460px;margin:0;font-size:13px;line-height:1.6}.match-overlay.paused .product-primary{width:min(320px,100%)}.match-overlay.pre-match-overlay,.match-overlay.solo-preflight{text-align:center;padding:24px;background:#140c08ad!important}.match-overlay.pre-match-overlay>p,.match-overlay.solo-preflight>p{color:#ffffffd1;max-width:460px;margin:0;font-size:13px;line-height:1.55}.match-overlay.pre-match-overlay .product-primary,.match-overlay.solo-preflight .product-primary{width:min(320px,100%)}.pre-match-invite{color:#fff;font:800 12px/1.3 var(--font-mono);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.pre-match-invite .product-secondary{min-height:38px;padding:0 14px}.versus-badge{z-index:2;width:42px;height:42px;font-family:var(--font-mono);place-items:center;font-size:11px;font-weight:900;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--accent-ink)!important;background:var(--panel)!important;border:var(--px) solid var(--line)!important}.match-coach{min-height:50px;font-family:var(--font-mono);letter-spacing:.02em;text-transform:uppercase;place-items:center;font-weight:800;display:grid;color:var(--ink)!important;background:var(--panel-2)!important;border:0!important;border-top:var(--px) solid var(--line)!important}.match-privacy{color:var(--ink-faint);text-align:center;margin:8px 0 0;font-size:10px}.solo-challenge{width:min(560px,100%);margin:0 auto}.solo-stage-progress{border:var(--px) solid var(--line);border-top:0;grid-template-columns:1fr 1fr;display:grid}.solo-stage-progress>div{color:var(--ink-faint);background:var(--panel-2);font:800 10px/1.4 var(--font-mono);text-transform:uppercase;justify-content:space-between;gap:12px;padding:11px 14px;display:flex}.solo-stage-progress>div+div{border-left:2px solid var(--line-soft)}.solo-stage-progress>div.active{color:var(--accent-strong);background:var(--accent-soft)}.solo-stage-progress>div.complete{color:var(--success)}.solo-camera-panel{aspect-ratio:9/16;border:var(--px) solid var(--line);background:#1b120c;border-top:0;align-self:center;width:min(100%,390px);position:relative;overflow:hidden}.solo-camera-panel .video-stage{width:100%;height:100%}.solo-live-score{z-index:3;color:#fff;background:#140c08b8;border:2px solid #fff6;grid-template-columns:auto auto;align-items:end;gap:3px 12px;padding:11px 13px;display:grid;position:absolute;bottom:10px;left:10px}.solo-live-score span{font:900 10px/1.2 var(--font-mono);letter-spacing:.1em}.solo-live-score strong{font:900 44px/.8 var(--font-mono);grid-area:1/2/3}.solo-live-score small{color:#ffffffb3;font-size:9px}.challenge-total-score{background:var(--accent-soft);border:var(--px) solid var(--accent-strong);gap:7px;margin:30px auto;padding:22px;display:grid}.challenge-total-score span,.challenge-total-score small{color:var(--ink-soft);font-size:11px}.challenge-total-score strong{color:var(--accent-strong);font:900 clamp(48px, 10vw, 82px)/.9 var(--font-mono)}.challenge-result-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:24px;display:grid}.challenge-result-grid>div{background:var(--panel-2);border:2px solid var(--line-soft);gap:6px;padding:16px;display:grid}.challenge-result-grid span,.challenge-result-grid small{color:var(--ink-soft);font-size:10px}.challenge-result-grid strong{font:900 24px/1 var(--font-mono)}.leaderboard-layout{padding:46px 0}.leaderboard-card{background:var(--panel);border:var(--px) solid var(--line)}.leaderboard-head,.leaderboard-row{border-bottom:2px solid var(--line-soft);grid-template-columns:70px minmax(0,1fr) 110px 80px;align-items:center;gap:10px;padding:13px 18px;display:grid}.leaderboard-head{color:var(--ink-faint);background:var(--panel-2);font:800 9px/1 var(--font-mono);text-transform:uppercase}.leaderboard-row>strong{font:900 17px/1 var(--font-mono)}.leaderboard-row>span{min-width:0;font-weight:800}.leaderboard-row>span small{color:var(--ink-faint);margin-top:4px;font-size:9px;font-weight:500;display:block}.leaderboard-row>b{color:var(--accent-strong);font:900 18px/1 var(--font-mono);text-align:right}.leaderboard-row>time{color:var(--ink-soft);font:800 11px/1 var(--font-mono);text-align:right}.leaderboard-row.rank-1,.leaderboard-row.rank-2,.leaderboard-row.rank-3{background:var(--accent-soft)}.leaderboard-row.self{outline:var(--px) solid var(--accent-strong);outline-offset:calc(var(--px) * -1)}.leaderboard-row.sticky{background:var(--panel);position:sticky;bottom:0}.leaderboard-empty{text-align:center;padding:54px 20px}.leaderboard-empty p{color:var(--ink-soft);font-size:12px}.result-layout{text-align:center;width:min(760px,100%);margin:52px auto;padding:clamp(28px,5vw,58px)}.result-layout h1{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.02em;font-size:clamp(26px,4vw,40px)}.result-score{grid-template-columns:1fr auto 1fr;align-items:center;margin:42px 0;display:grid}.result-score div{gap:8px;display:grid}.result-score span{color:var(--ink-faint);font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800}.result-score strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(56px,9vw,96px);font-weight:800;line-height:.8}.result-score div:first-child strong{color:var(--accent-strong)}.result-score b{color:var(--ink-faint);font-family:var(--font-mono);font-size:22px;font-weight:800}.quality-summary{text-align:left;color:var(--ink-soft);grid-template-columns:1fr auto;gap:12px;padding-bottom:14px;font-size:12px;display:grid;position:relative}.quality-summary strong{color:var(--ink)}.quality-summary:after,.quality-summary i{content:"";height:8px;position:absolute;bottom:0;left:0}.quality-summary:after{background:var(--panel-2);border:2px solid var(--line-soft);width:100%}.quality-summary i{z-index:1;background:var(--accent)}.result-warnings{color:var(--ink-soft);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:22px;font-size:12px;display:flex}.result-warnings span{width:100%}.result-warnings strong{color:var(--ink);background:var(--panel-2);border:2px solid var(--line-soft);padding:8px 12px;font-size:11px;font-weight:700}.result-actions{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px;margin-top:30px;display:grid}.app-shell{width:min(1480px,100%);margin:0 auto;padding:0 34px 28px}.app-header{border-bottom:var(--px) solid var(--line-soft);grid-template-columns:1fr auto 1fr;align-items:center;min-height:78px;display:grid}.brand-block{align-items:center;gap:12px;display:flex}.brand-mark{width:36px;height:36px;color:var(--accent-strong);font-family:var(--font-mono);background:var(--panel);border:var(--px) solid var(--line);place-items:center;font-weight:900;display:grid}.brand-block p,.brand-block strong{letter-spacing:.16em;color:var(--ink-faint);text-transform:uppercase;margin:0;font-size:10px}.brand-block strong{color:var(--ink);margin-top:3px;font-size:12px;display:block}.mode-tabs{background:var(--panel-2);border:2px solid var(--line-soft);padding:4px}.mode-tabs button,.segmented button{color:var(--ink-soft);cursor:pointer;font-family:var(--font-mono);text-transform:uppercase;background:0 0;border:0;padding:9px 19px;font-size:11px;font-weight:700}.mode-tabs button.active,.segmented button.active{background:var(--accent);color:var(--accent-ink);font-weight:800}.header-note{color:var(--ink-faint);font:700 10px/1 var(--font-mono), monospace;letter-spacing:.15em;text-transform:uppercase;justify-self:end}.intro-row{justify-content:space-between;align-items:end;gap:40px;padding:32px 0 25px;display:flex}.eyebrow{color:var(--accent-strong);font:800 10px/1.2 var(--font-mono), monospace;letter-spacing:.17em;text-transform:uppercase;margin:0 0 9px}h1,h2{letter-spacing:-.01em;color:var(--ink);margin:0}h1{max-width:720px;font-size:clamp(24px,3.2vw,42px);font-weight:800;line-height:1.2}h2{font-size:22px;font-weight:800}.intro-row>p{max-width:385px;color:var(--ink-soft);margin:0;font-size:13px;line-height:1.7}.mode-grid,.benchmark-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:stretch;gap:18px;display:grid}.battle-card,.control-card,.benchmark-main,.results-card{background:var(--panel);border:var(--px) solid var(--line);overflow:hidden}.battle-card{flex-direction:column;min-height:570px;display:flex;position:relative}.battle-topline{border-bottom:2px solid var(--line-soft);height:48px;font-family:var(--font-mono);letter-spacing:.13em;color:var(--ink-soft);text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 18px;font-size:10px;font-weight:800;display:flex}.status-dot{background:var(--danger);width:7px;height:7px;margin-right:7px;display:inline-block}.battle-topline strong{color:var(--accent-strong)}.video-stage{background:#1b120c;flex:1;min-height:290px;position:relative;overflow:hidden}.video-stage video,.video-stage canvas{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.video-stage canvas{pointer-events:none}.video-stage.is-mirrored video,.video-stage.is-mirrored canvas{transform:scaleX(-1)}.video-empty{color:#fff9;letter-spacing:.04em;text-align:center;place-items:center;padding:30px;font-size:13px;display:grid;position:absolute;inset:0}.video-badge,.local-pill{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#fff;background:#140c08b3;border:2px solid #fff6;padding:7px 10px;font-size:9px;font-weight:800;position:absolute;top:14px;right:14px}.battle-scorebar{border-top:2px solid var(--line-soft);grid-template-columns:repeat(4,1fr);display:grid}.battle-scorebar>div{border-right:2px solid var(--line-soft);flex-direction:column;justify-content:center;align-items:center;min-height:82px;display:flex}.battle-scorebar>div:last-child{border:0}.battle-scorebar span{color:var(--ink-faint);font-size:10px}.battle-scorebar strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin-top:3px;font-size:28px;font-weight:800;line-height:1}.battle-scorebar .phase-text{color:var(--accent-strong);font-family:var(--font-mono);text-transform:uppercase;font-size:14px;font-weight:900}.coach-prompt{background:var(--accent);min-height:48px;color:var(--accent-ink);font-family:var(--font-mono);letter-spacing:.04em;text-transform:uppercase;place-items:center;font-weight:900;display:grid}.control-card{flex-direction:column;gap:22px;padding:24px;display:flex}.muted,.privacy-note,.result-footnote{color:var(--ink-soft);font-size:12px;line-height:1.65}.segmented{background:var(--panel-2);border:2px solid var(--line-soft);grid-template-columns:1fr 1fr;padding:4px;display:grid}.segmented button:disabled{opacity:.5;cursor:wait}.metric-list{border-top:2px solid var(--line-soft);margin:0}.metric-list div{border-bottom:2px solid var(--line-soft);justify-content:space-between;gap:18px;padding:13px 0;display:flex}.metric-list dt{color:var(--ink-soft);font-size:12px}.metric-list dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0;font-size:12px;font-weight:800}.button-row{flex-wrap:wrap;gap:9px;display:flex}.button-row .primary-button{flex:180px}.button-row .ghost-button{flex:120px}.button-row.compact{justify-content:flex-end}.primary-button,.danger-button,.ghost-button{border:2px solid var(--line);min-height:44px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.02em;cursor:pointer;padding:0 17px;font-weight:800}.primary-button{background:var(--accent);width:100%;color:var(--accent-ink);border-color:var(--accent-strong);box-shadow:var(--px) var(--px) 0 0 var(--accent-strong)}.primary-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.danger-button{width:100%;color:var(--danger);border-color:var(--danger);background:var(--danger-glass)}.ghost-button{background:var(--panel-2);border-color:var(--line-soft);font-size:11px}.error-box{border:2px solid var(--danger);background:var(--danger-glass);color:var(--danger);margin:0;padding:11px;font-size:12px}.privacy-note{text-align:center;margin:auto 0 0}.benchmark-layout{grid-template-rows:auto auto}.benchmark-main{flex-direction:column;gap:16px;min-height:500px;padding:20px;display:flex}.benchmark-main .video-stage{border:2px solid var(--line-soft)}.panel-heading{justify-content:space-between;align-items:center;gap:20px;display:flex;position:relative}.panel-heading .local-pill{position:static}.annotation-card{min-height:500px}.file-picker{text-align:center;cursor:pointer;overflow-wrap:anywhere;border:var(--px) dashed var(--accent-strong);min-height:70px;color:var(--accent-strong);background:var(--accent-soft);place-items:center;padding:12px;font-size:12px;display:grid}.file-picker input{opacity:0;pointer-events:none;position:absolute}.field-label{color:var(--ink-soft);justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.field-label input{width:74px;height:38px;color:var(--ink);background:var(--panel-2);border:2px solid var(--line-soft);padding:0 9px}.issue-grid{gap:11px;display:grid}.progress-track{background:var(--panel-2);border:2px solid var(--line-soft);height:10px;overflow:hidden}.progress-track span{background:var(--accent);height:100%;transition:width .18s steps(10,end);display:block}.results-card{grid-column:1/-1;padding:22px}.table-scroll{margin-top:20px;overflow-x:auto}table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:12px}th,td{text-align:left;border-bottom:2px solid var(--line-soft);padding:13px 14px}th{color:var(--ink-faint);font-family:var(--font-mono);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}td strong{color:var(--accent-strong)}.result-footnote{margin:16px 0 0}.quality-gates{grid-template-columns:repeat(5,minmax(120px,1fr));gap:8px;margin-top:18px;display:grid}.quality-gates span,.quality-gates b{min-height:54px;color:var(--ink-soft);text-align:center;background:var(--panel-2);border:2px solid var(--line-soft);place-items:center;gap:3px;padding:8px;font-size:10px;display:grid}.quality-gates strong{color:var(--ink);font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:13px;font-weight:900}.quality-gates b{color:var(--warning);background:#a8721e1a}.quality-gates b.passed{color:var(--accent-strong);border-color:var(--accent-strong);background:var(--accent-soft)}.stability-card{background:var(--panel-2);border:2px solid var(--line-soft);gap:12px;padding:14px;display:grid}.stability-card>div:first-child{justify-content:space-between;align-items:center;gap:12px;font-size:11px;display:flex}.stability-card>div:first-child span{color:var(--ink-soft)}.stability-card>div:first-child strong{color:var(--warning);font-family:var(--font-mono);font-size:11px;font-weight:900}.stability-card.passed>div:first-child strong{color:var(--accent-strong)}.stability-card>i{background:var(--panel);border:2px solid var(--line-soft);height:8px;overflow:hidden}.stability-card>i b{background:var(--accent);height:100%;transition:width .2s steps(10,end);display:block}.stability-card>p{color:var(--ink-soft);margin:0;font-size:10px;line-height:1.5}.stability-card>dl{grid-template-columns:repeat(3,1fr);margin:0;display:grid}.stability-card>dl div{border-right:2px solid var(--line-soft);text-align:center;gap:4px;display:grid}.stability-card>dl div:last-child{border:0}.stability-card>dl dt{color:var(--ink-soft);font-size:9px}.stability-card>dl dd{font-family:var(--font-mono);font-variant-numeric:tabular-nums;margin:0;font-size:11px;font-weight:800}footer{min-height:62px;color:var(--ink-faint);font:700 9px/1 var(--font-mono), monospace;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:11px;display:flex}footer i{background:var(--accent);width:3px;height:3px}footer b{color:var(--ink-soft);margin-left:auto}@media (max-width:900px){.room-grid{grid-template-columns:1fr}.room-side-card{min-height:300px}.app-shell{padding:0 16px 22px}.app-header{grid-template-columns:1fr auto}.header-note{display:none}.intro-row{align-items:start}.mode-grid,.benchmark-layout{grid-template-columns:1fr}.battle-card{min-height:500px}.control-card{min-height:auto}.results-card{grid-column:1}.quality-gates{grid-template-columns:repeat(2,1fr)}}@media (max-width:620px){.product-shell{padding:0 16px 28px}.product-header>strong,.product-header-meta strong{display:none}.welcome-layout{min-height:auto;padding:40px 0}.entry-card{padding:22px}.today-challenge-actions{grid-template-columns:1fr}.room-code strong{font-size:36px}.result-actions{grid-template-columns:1fr}.flow-list{grid-template-columns:1fr 1fr}.app-header{align-content:center;gap:15px;min-height:126px}.brand-block{grid-column:1/-1}.mode-tabs{grid-column:1/-1;grid-template-columns:1fr 1fr;display:grid}.intro-row{padding:25px 0 18px}.intro-row>p{display:none}h1{font-size:28px}.battle-scorebar strong{font-size:22px}.battle-scorebar>div{min-height:72px}.video-stage{min-height:245px}.room-layout{padding:28px 0}.section-heading{align-items:center;margin-bottom:18px}.section-heading h1{font-size:28px}.match-layout{min-height:calc(100dvh - 78px);padding:8px 0}.match-toolbar{letter-spacing:.06em;min-height:48px;padding:0 10px;font-size:8px}.match-toolbar strong{font-size:17px}.match-toolbar small{max-width:88px;color:var(--ink-soft);text-align:right;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.match-toolbar button{min-height:32px;padding:0 10px}.battle-split{aspect-ratio:9/8;width:100%}.fighter-score{gap:2px 7px;padding:8px 9px;bottom:7px;left:7px}.fighter-score span,.fighter-score small{text-overflow:ellipsis;white-space:nowrap;max-width:62px;overflow:hidden}.fighter-score strong{font-size:28px}.versus-badge{width:30px;height:30px;font-size:9px;top:15px}.video-badge{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100% - 16px);top:8px;left:8px;overflow:hidden}.match-overlay{gap:8px}.match-overlay>strong{font-size:80px}.match-overlay>p{text-align:center;max-width:280px;padding:0 18px}.match-coach{text-align:center;min-height:44px;padding:0 12px;font-size:12px}.match-privacy{max-width:340px;margin:7px auto 0;font-size:9px;line-height:1.45}.solo-stage-progress{font-size:9px}.solo-camera-panel{width:min(100%,56.25dvh - 137.813px,360px)}.leaderboard-layout{padding:28px 0}.leaderboard-head,.leaderboard-row{grid-template-columns:44px minmax(0,1fr) 76px;padding:12px 9px}.leaderboard-head span:last-child,.leaderboard-row>time{display:none}.leaderboard-row>b{font-size:15px}footer{flex-wrap:wrap}footer b{width:100%;margin:0}}@media (orientation:landscape) and (max-height:600px){.product-header{min-height:54px}.match-layout{min-height:calc(100vh - 76px);padding:10px 0}.match-toolbar{min-height:42px}.match-coach{min-height:40px;font-size:12px}.app-header{min-height:56px}.intro-row{padding:16px 0}.intro-row h1{font-size:30px}.battle-card{min-height:calc(100vh - 150px)}}
