@font-face{font-family:Barlow;src:url(../fonts/barlow-condensed-bold-italic.ttf)format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:DM;src:url(../fonts/dm-sans-variable.ttf)format("truetype");font-weight:100 1000;font-display:swap}:root{--touch-cue-offset:6rem;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#f1eee5;--surface:#e7e3d8;--card:#faf8f2;--ink:#182031;--muted:#525a64;--line:#c5c5bc;--accent:#ea5228;--accent-ink:#74220d;--on-accent:#181e2c;--brand-detail:#f1eee5;--ring:#121e34;--ring-light:#2c3c58;--ring-line:#8896aa;--ring-text:#f9f7ee;--ring-muted:#bac4d3;--hp:#d0ee7a;--power:#f2b74a;--shadow-fill:#83dcbd24;--shadow-edge:#b9ffe2a8;--shadow-muscle:#aeffe54a;--shadow-fist:#a6ffda55;--shadow-floor:#07162640;--shadow-hair:#a6ffda30;--shadow-short:#92e9d218;--shadow-width:29rem;--shadow-stroke:1.6;--coach-max-width:26rem;--coach-line-height:1.4;--coach-button-height:2.5rem;--coach-notch:.65rem;--thumb-cluster-width:20rem;--thumb-toggle-width:6rem;--thumb-label-size:.6rem;--touch-target:2.75rem;--danger:#ffb4a5;--focus:#8a3218;--focus-ring:#ffdb84;--shadow:0 1.5rem 4rem #1720341a;--veil:#0b1424da;--transparent:transparent;--border:1px;--border-bold:2px;--radius:.65rem;--radius-sm:.3rem;--radius-pill:99rem;--font-text:DM, Arial, sans-serif;--font-display:Barlow, Impact, sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--text-xs:.625rem;--text-sm:.75rem;--text-base:.875rem;--text-lg:1rem;--text-xl:1.25rem;--display-lg:4.75rem;--ring-height:31rem;--proof-max-width:80rem;--proof-title:clamp(2.4rem, 5vw, 4rem);--proof-ring-height:24rem;--proof-ring-mobile:20rem;--proof-stat:2rem;--button-height:3rem;--motion-fast:.13s;--motion-normal:.22s;--ease:cubic-bezier(.16, 1, .3, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#101827;--surface:#1c2738;--card:#202d40;--ink:#f5f1e6;--muted:#bdc7d4;--line:#526073;--accent:#ff8961;--accent-ink:#ffc0a8;--on-accent:#141e2b;--brand-detail:#101827;--focus:#ffc78f;--shadow:0 1.5rem 4rem #0003}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#101827;--surface:#1c2738;--card:#202d40;--ink:#f5f1e6;--muted:#bdc7d4;--line:#526073;--accent:#ff8961;--accent-ink:#ffc0a8;--on-accent:#141e2b;--brand-detail:#101827;--focus:#ffc78f;--shadow:0 1.5rem 4rem #0003}}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font:500 var(--text-base) / 1.5 var(--font-text);-webkit-font-smoothing:antialiased;margin:0}button,a{-webkit-tap-highlight-color:var(--transparent)}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:default}button[hidden]{display:none}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:var(--border-bold) solid var(--focus);outline-offset:var(--space-1)}button{transition:transform var(--motion-fast) var(--ease), opacity var(--motion-fast)}button:active:not(:disabled){transform:translateY(.1rem)}svg{display:block}button svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}h1,h2,p{margin:0}button:disabled{opacity:.55}a{color:inherit}#app{max-width:83rem;padding:0 var(--space-10);margin:auto}.topbar{border-bottom:var(--border) solid var(--line);justify-content:space-between;align-items:center;gap:var(--space-4);height:6.25rem;display:flex}.brand{align-items:center;gap:var(--space-3);text-decoration:none;display:flex}.brand>span{font:italic 700 1.5rem / .86 var(--font-display);letter-spacing:-.025em}.brand-line{display:block}.brand-mark{width:2.6rem;height:2.6rem;color:var(--accent)}.edition{font-size:var(--text-xs);letter-spacing:.15em;font-weight:800}.edition-volume{margin-left:var(--space-3);padding-left:var(--space-3);border-left:var(--border) solid var(--line);color:var(--muted)}.top-actions{gap:var(--space-2);display:flex}.icon-button{border:var(--border) solid var(--line);background:var(--transparent);border-radius:50%;place-items:center;width:2.75rem;height:2.75rem;display:grid}.icon-button:hover{background:var(--surface)}.game-layout{gap:var(--space-16);max-width:68rem;margin:var(--space-10) auto;grid-template-columns:17.5rem minmax(0,1fr);display:grid}.eyebrow{gap:var(--space-2);font-size:var(--text-xs);letter-spacing:.12em;align-items:center;font-weight:800;display:flex}.live-dot{background:var(--accent);border-radius:50%;width:.4rem;height:.4rem}h1{font:italic 700 var(--display-lg) / .9 var(--font-display);letter-spacing:-.02em;margin:var(--space-6) 0 var(--space-5)}.headline-accent{color:var(--accent)}.intro-copy{font-size:var(--text-base);color:var(--muted);line-height:1.65}fieldset{border:0;min-inline-size:0;margin:0;padding:0}.roster-heading{margin-top:var(--space-8);justify-content:space-between;align-items:center;display:flex}.roster-title{font-size:var(--text-sm);letter-spacing:.09em}.roster-heading>span{font-size:var(--text-xs);color:var(--muted);font-weight:800}.circuit-tabs{gap:var(--space-1);margin:var(--space-4) 0;display:flex}.circuit-tab{border:var(--border) solid var(--line);border-radius:var(--radius-sm);background:var(--transparent);height:1.7rem;font-size:var(--text-xs);flex:1;font-weight:800}.circuit-tab[aria-pressed=true]{color:var(--paper);background:var(--ink);border-color:var(--ink)}.roster{gap:var(--space-2);display:grid}.roster-fighter{text-align:left;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2);border:var(--border) solid var(--line);border-radius:var(--radius);background:var(--transparent);min-height:4rem;display:flex;position:relative}.roster-fighter[aria-pressed=true]{border:var(--border-bold) solid var(--ink);padding:calc(var(--space-2) - var(--border));background:var(--card)}.roster-fighter:disabled{opacity:.6}.fighter-portrait{background-color:var(--ring);background-image:var(--atlas);border-radius:var(--radius-sm);background-size:200% 200%;flex:none;width:3rem;height:3rem;display:block}.fighter-label{flex:1;min-width:0}.fighter-label strong{font:italic 700 1.5rem / 1.1 var(--font-display);display:block}.fighter-label>span{font-size:var(--text-xs);color:var(--muted)}.fighter-rank{font-size:var(--text-xs);padding:var(--space-1);align-self:flex-start;font-weight:800}.text-button{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--transparent);padding:var(--space-3) 0;font-size:var(--text-sm);border:0;font-weight:700;display:flex}.text-button>span{font-size:var(--text-lg)}.record-box{margin-top:var(--space-6);padding-top:var(--space-5);border-top:var(--border) solid var(--line);font-size:var(--text-xs);letter-spacing:.06em;grid-template-columns:1fr auto;display:grid}.record-box strong{font:italic 700 2rem / 1 var(--font-display);grid-area:1/2/3}.record-box>span:last-child{margin-top:var(--space-2);color:var(--muted);letter-spacing:0}.development-note{font-size:var(--text-xs);color:var(--muted);margin-top:var(--space-6);letter-spacing:.035em}#training-toggle{min-height:2.25rem}.arena-column{min-width:0}.arena-heading{justify-content:space-between;gap:var(--space-2);font-size:var(--text-xs);letter-spacing:.11em;margin-bottom:var(--space-3);font-weight:800;display:flex}.arena-label{align-items:center;gap:var(--space-2);display:flex}.arena-label i{background:var(--accent);border-radius:50%;width:.35rem;height:.35rem;display:block}.arena{isolation:isolate;height:var(--ring-height);border-radius:var(--radius);background:var(--ring);color:var(--ring-text);box-shadow:var(--shadow);border:var(--border) solid var(--ring-light);position:relative;overflow:hidden}.ring-lights{background:radial-gradient(ellipse at 50% -20%, var(--ring-light), var(--transparent) 65%);position:absolute;inset:0}.ring-lights:after{content:"";opacity:.3;background-image:radial-gradient(var(--ring-muted) 10%, var(--transparent) 11%);-webkit-mask-image:linear-gradient(var(--transparent), var(--ink));mask-image:linear-gradient(var(--transparent), var(--ink));background-size:1.1rem 1.25rem;position:absolute;inset:40% 0 28%}.ring-rope{background:var(--ring-line);height:.32rem;box-shadow:0 1rem 0 var(--ring-light);position:absolute;inset:47% 0 auto;transform:skewY(-2deg)}.rope-middle{background:var(--ring-line);top:63%;transform:skewY(2deg)}.ring-post{background:var(--ring-line);opacity:.45;width:1rem;height:50%;position:absolute;top:43%}.post-left{left:3%;transform:rotate(-5deg)}.post-right{right:3%;transform:rotate(5deg)}.ring-floor{background:var(--ring-light);border-top:var(--border-bold) solid var(--ring-line);text-align:center;position:absolute;inset:70% -20% -30%;transform:perspective(18rem)rotateX(35deg)}.ring-floor>span{color:var(--ring-muted);opacity:.18;font:italic 700 4rem / .8 var(--font-display);margin-top:var(--space-4);display:block}.match-hud{z-index:3;inset:var(--space-5) var(--space-5) auto;align-items:flex-start;gap:var(--space-6);display:flex;position:absolute}.fighter-hud{padding-top:var(--space-1);flex:1}.fighter-hud>div:first-child{font-size:var(--text-xs);letter-spacing:.1em;margin-bottom:var(--space-2);justify-content:space-between;font-weight:800;display:flex}.fighter-hud>div:first-child>span:last-child{color:var(--ring-muted)}.health-track{background:var(--ring-light);border-radius:var(--radius-pill);height:.45rem;overflow:hidden}.health-track>div{background:var(--accent);transform-origin:0;width:100%;height:100%;transition:transform var(--motion-fast) linear}.timer{text-align:center;flex:none;min-width:4rem;display:grid}.timer>span{letter-spacing:.15em;color:var(--ring-muted);font-size:.5rem;font-weight:800}.timer strong{font:italic 700 2.65rem / 1 var(--font-display);font-variant-numeric:tabular-nums}.opponent{z-index:1;aspect-ratio:1;width:80%;max-width:28rem;transition:transform var(--motion-fast) var(--ease), opacity var(--motion-normal);position:absolute;bottom:14%;left:50%;transform:translate(-50%)}.opponent-art{background-image:var(--pose-atlas);background-position:0 0;background-size:300% 400%;width:100%;height:100%}.arena-intro{z-index:4;top:25%;left:var(--space-6);width:50%;position:absolute}.arena:not(.playing) .opponent{opacity:.9;transform:translate(-18%)}.ticket-label{letter-spacing:.14em;color:var(--ring-muted);font-size:.5rem;font-weight:800;display:block}.arena-intro h2{font:italic 700 5.75rem / .86 var(--font-display);margin:var(--space-4) 0 var(--space-5);letter-spacing:-.02em;text-shadow:.1rem .1rem var(--ring)}.arena-intro em{color:var(--power)}.primary-button{justify-content:space-between;align-items:center;gap:var(--space-6);min-height:var(--button-height);padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm);font-weight:800;font-size:var(--text-base);border:0;display:flex}.primary-button:hover{opacity:.9}.arena .primary-button:focus-visible,.arena button:focus-visible{outline-color:var(--focus-ring)}.playing .arena-intro{display:none}.attack-cue{z-index:5;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--ring);color:var(--ring-text);font-size:var(--text-sm);white-space:nowrap;border:var(--border) solid var(--ring-line);visibility:hidden;font-weight:800;position:absolute;top:23%;left:50%;transform:translate(-50%)}.playing .attack-cue{visibility:visible}.impact{z-index:6;color:var(--power);font:italic 700 4rem / .9 var(--font-display);opacity:0;pointer-events:none;text-shadow:.12rem .12rem var(--ring);position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)rotate(-12deg)scale(.8)}.impact.show{animation:impact var(--motion-normal) var(--ease)}.arena[data-pose=telegraph] .opponent{transform:translate(-46%)rotate(-5deg)}.arena[data-pose=attack] .opponent{transform:translate(-50%)scale(1.13)}.arena[data-pose=hit] .opponent{transform:translate(-54%)rotate(-5deg)}.arena[data-pose=down] .opponent{opacity:.25;transform:translate(-50%,70%)rotate(25deg)}.fight-bottom{z-index:7;inset:auto var(--space-5) var(--space-4);align-items:flex-end;gap:var(--space-6);display:flex;position:absolute}.player-stats{flex:1}.player-stats>span{font-size:var(--text-xs);letter-spacing:.1em;margin-bottom:var(--space-2);justify-content:space-between;font-weight:800;display:flex}.player-stats b{color:var(--ring-muted);font-weight:600}.player-health>div{background:var(--hp)}.pause-button{background:var(--ring);width:2rem;height:2rem;color:var(--ring-text);border:var(--border) solid var(--ring-line);border-radius:var(--radius-sm);place-items:center;display:grid}.pause-button svg{stroke-width:3px;width:1rem;height:1rem}.power-row{align-items:center;gap:var(--space-5);margin:var(--space-4) 0;display:flex}.power-row>span{font-size:var(--text-xs);letter-spacing:.08em;flex:none;font-weight:800}.power-row b{letter-spacing:0;color:var(--muted);margin-left:var(--space-3);font-weight:500}.power-track{border-radius:var(--radius-pill);background:var(--line);flex:1;height:.3rem;overflow:hidden}.power-track>div{background:var(--accent);transform-origin:0;height:100%;transition:transform var(--motion-fast);transform:scaleX(0)}.controls{gap:var(--space-3);flex-direction:row-reverse;align-items:stretch;display:flex}.controls[data-hand=left]{flex-direction:row}.thumb-pad{border:var(--border) solid var(--line);border-radius:var(--radius);background:var(--card);touch-action:none;-webkit-user-select:none;user-select:none;flex:1;position:relative}.pad-grid{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr;height:7rem;display:grid}.pad-grid>button{background:var(--transparent);font-size:var(--thumb-label-size);letter-spacing:.04em;color:var(--muted);touch-action:none;border:0;align-content:center;gap:.1rem;font-weight:800;display:grid}.pad-grid>button>span{font-size:var(--text-sm);letter-spacing:.06em;color:var(--ink)}.pad-grid>button:first-child,.pad-grid>button:nth-child(2){border-bottom:var(--border) solid var(--line)}.pad-grid>button:nth-child(odd){border-right:var(--border) solid var(--line)}.pad-grid>button:hover{background:var(--surface)}.pad-center{background:var(--card);border:var(--border) solid var(--line);pointer-events:none;border-radius:50%;place-items:center;width:1.8rem;height:1.8rem;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pad-center svg{fill:none;width:.85rem;height:.85rem;stroke:var(--muted);stroke-width:1.4px}.power-button{place-content:center;justify-items:center;gap:var(--space-2);border:var(--border) solid var(--line);border-radius:var(--radius);background:var(--surface);width:5.5rem;color:var(--muted);font-size:var(--text-xs);letter-spacing:.1em;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;font-weight:800;display:grid}.power-button:not(:disabled){background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.power-button svg{fill:currentColor;stroke:none;width:2rem;height:2rem}.control-hint{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);color:var(--muted);font-size:.55rem;display:flex}.control-hint i{margin:0 var(--space-1);font-style:normal}.control-hint>button{background:var(--transparent);padding:var(--space-2) 0;min-height:var(--button-height);width:var(--thumb-toggle-width);font-size:var(--text-xs);letter-spacing:.06em;white-space:normal;border:0;flex:none;font-weight:800}.control-copy{gap:var(--space-1);min-width:0;font-size:var(--text-sm);display:grid}.control-hint strong{font-weight:700}.gesture-legend{font-size:var(--text-xs);line-height:1.4}.control-hint>button>span{font-size:var(--text-base);margin-left:var(--space-1)}.quick-defense{gap:var(--space-2);margin-top:var(--space-2);display:flex}.quick-defense button{background:var(--transparent);border:var(--border) solid var(--line);border-radius:var(--radius-sm);min-height:var(--touch-target);font-size:var(--text-sm);flex:1}.page-footer{justify-content:space-between;gap:var(--space-4);border-top:var(--border) solid var(--line);padding:var(--space-5) 0;letter-spacing:.08em;color:var(--muted);font-size:.5rem;font-weight:700;display:flex}.page-footer b{margin-left:var(--space-3);font-weight:500}.sr-only{width:var(--border);height:var(--border);clip-path:inset(50%);white-space:nowrap;border:0;padding:0;position:absolute;overflow:hidden}dialog{border:var(--border) solid var(--line);border-radius:var(--radius);width:100%;max-width:min(90vw,25rem);color:var(--ink);background:var(--paper);box-shadow:var(--shadow);padding:0}dialog::backdrop{background:var(--veil)}.dialog-inner{padding:var(--space-8)}.dialog-title{font:italic 700 4rem / .95 var(--font-display);margin:var(--space-5) 0}dialog p{color:var(--muted);line-height:1.7}dialog .primary-button{width:100%;margin-top:var(--space-6)}dialog .text-button{width:100%;margin-top:var(--space-2);justify-content:center}.help-list{padding-left:var(--space-5);font-size:var(--text-sm);color:var(--muted);line-height:1.8}.result-stats{border-top:var(--border) solid var(--line);padding-top:var(--space-4);margin-top:var(--space-5);font-size:var(--text-sm);justify-content:space-between;display:flex}.result-stats strong{font-family:var(--font-display);font-size:2rem}.playing-page .fight-card{opacity:.85}.playing-page .arena-intro{display:none}.playing-page .roster-fighter{pointer-events:none}.playing-page .roster-fighter:focus-visible{pointer-events:auto}@keyframes impact{0%{opacity:0;transform:translate(-50%,-50%)rotate(-12deg)scale(.8)}20%{opacity:1;transform:translate(-50%,-50%)rotate(-12deg)scale(1.1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-70%)rotate(-12deg)scale(1)}}@media (width>=90rem){.game-layout{margin-top:var(--space-12)}}@media (width<=65rem){#app{padding:0 var(--space-6)}.game-layout{gap:var(--space-8);grid-template-columns:15rem minmax(0,1fr)}h1{font-size:4rem}.edition,.power-row b{display:none}.control-hint{font-size:.5rem}.control-hint i{margin:0}.ring-floor>span{font-size:3rem}}@media (width<=45rem){#app{padding:0 var(--space-4)}.topbar{height:4.6rem}.brand>span{font-size:1.25rem}.brand-mark{width:2rem;height:2rem}.top-actions{gap:var(--space-1)}.icon-button{width:2.5rem;height:2.5rem}.game-layout{gap:var(--space-5);margin:var(--space-6) auto var(--space-8);flex-direction:column;max-width:28rem;display:flex}.fight-card{column-gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.fight-card>.eyebrow{grid-column:1/-1;font-size:.5rem}h1{margin:var(--space-3) 0 0;font-size:2.8rem}h1 br,.intro-copy,.record-box,.development-note{display:none}.roster-heading{margin-top:var(--space-3);white-space:nowrap;justify-content:flex-end;align-items:flex-start}.roster-title{display:none}.circuit-tabs{margin:var(--space-4) 0 var(--space-2);grid-column:1/-1}.roster{gap:var(--space-2);grid-column:1/-1;display:flex}.roster-fighter{text-align:center;justify-items:center;gap:var(--space-1);min-width:0;padding:var(--space-2) var(--space-1);flex:1;min-height:0;display:grid}.roster-fighter[aria-pressed=true]{padding:calc(var(--space-2) - var(--border)) calc(var(--space-1) - var(--border))}.fighter-portrait{width:2.75rem;height:2.75rem}.fighter-label strong{white-space:nowrap;font-size:1.1rem}.fighter-label>span,.fighter-rank{display:none}#training-toggle{padding:var(--space-2) 0 0;grid-column:1/-1;justify-self:end;font-size:.6rem}.arena-heading{margin-bottom:var(--space-2);font-size:.5rem}.arena{height:25rem}.arena-intro{left:var(--space-5);top:26%}.arena-intro h2{font-size:5rem}.arena-intro .primary-button{padding:var(--space-3) var(--space-4);gap:var(--space-3);font-size:var(--text-sm)}.ticket-label{font-size:.45rem}.match-hud{inset:var(--space-4) var(--space-4) auto;gap:var(--space-4)}.opponent{width:95%;bottom:15%}.fight-bottom{inset:auto var(--space-4) var(--space-3)}.arena:not(.playing) .opponent{transform:translate(-27%)}.power-row{margin:var(--space-3) 0}.pad-grid{height:6.25rem}.power-button{width:4.5rem}.control-hint{flex-wrap:nowrap;row-gap:0}.control-hint>span{font-size:var(--text-sm)}.control-hint>button{font-size:var(--text-xs)}.quick-defense{gap:var(--space-1)}.quick-defense button{font-size:var(--text-xs);min-height:var(--touch-target)}.page-footer{padding:var(--space-4) 0;font-size:.45rem}.page-footer>span:last-child,.playing-page .fight-card{display:none}.playing-page .game-layout{margin-top:var(--space-4)}.playing-page .arena{height:min(60dvh,30rem)}.playing-page .arena .opponent{width:96%;max-width:25rem}.dialog-inner{padding:var(--space-6)}.dialog-title{font-size:3.25rem}}@media (height<=47rem) and (width<=45rem){.playing-page .arena{height:calc(100dvh - 19rem);min-height:15rem}.playing-page .arena .opponent{width:70%;bottom:10%}.playing-page .attack-cue{top:25%}.playing-page .timer strong{font-size:2rem}.playing-page .pad-grid{height:5.75rem}.playing-page .page-footer{display:none}}@media (prefers-reduced-motion:reduce){#app *,#app :before,#app :after,#game-dialog *,#game-dialog :before,#game-dialog :after{scroll-behavior:auto;transition:none;animation:none}.impact.show{opacity:1}.arena[data-pose] .opponent{transform:translate(-50%)}.arena:not(.playing) .opponent{transform:translate(-27%)}.arena[data-pose=down] .opponent{opacity:.25}}.arena-canvas{touch-action:none;outline:none;width:100%;height:100%;position:absolute;inset:0}.arena:not(.playing) .arena-canvas{visibility:hidden}.has-3d.playing .ring-lights,.has-3d.playing .ring-rope,.has-3d.playing .ring-floor,.has-3d.playing .ring-post{display:none}.has-3d.playing .opponent-art{opacity:0}body.playing-page{background:var(--ring);height:100dvh;color:var(--ring-text);overflow:hidden}.playing-page #app{max-width:none;height:100dvh;padding:0}.playing-page .topbar{z-index:12;inset:env(safe-area-inset-top,0rem) var(--space-4) auto;height:3.5rem;color:var(--ring-text);border:0;position:fixed}.playing-page .brand{pointer-events:none}.playing-page .brand>span{font-size:1.1rem}.playing-page .brand-mark{width:1.8rem;height:1.8rem}.playing-page .edition,.playing-page .fight-card,.playing-page .arena-heading,.playing-page .page-footer{display:none}.playing-page .icon-button{background:var(--ring);color:var(--ring-text);border-color:var(--ring-line)}.playing-page .game-layout{max-width:none;margin:0;display:block}.playing-page .arena-column{background:var(--ring);grid-template-rows:minmax(0,1fr) auto auto auto auto;gap:0;display:grid;position:fixed;inset:0}.playing-page .arena{height:auto;min-height:0;box-shadow:none;border:0;border-radius:0}.playing-page .match-hud{top:calc(env(safe-area-inset-top,0rem) + 4rem)}.playing-page .arena .opponent{width:min(100%,32rem);max-width:none;bottom:12%}.playing-page .attack-cue{top:calc(env(safe-area-inset-top,0rem) + 8.25rem)}.playing-page .power-row{padding:var(--space-3) var(--space-4);background:var(--ring);color:var(--ring-text);margin:0}.playing-page .power-row b{color:var(--ring-muted)}.playing-page .power-track{background:var(--ring-light)}.playing-page .controls{padding:0 var(--space-4);background:var(--ring);color:var(--ring-text)}@media (aspect-ratio<=1){.playing-page .controls{width:min(100%, calc(var(--thumb-cluster-width) + var(--space-8)));justify-self:end}[data-hand=left] .playing-page .controls{justify-self:start}}.playing-page .thumb-pad,.playing-page .pad-center{background:var(--ring-light);border-color:var(--ring-line)}.playing-page .pad-grid>button{color:var(--ring-muted)}.playing-page .pad-grid>button>span{color:var(--ring-text)}.playing-page .pad-grid>button{border-color:var(--ring-line)}.playing-page .pad-grid>button:hover{background:var(--ring)}.playing-page .pad-center svg{stroke:var(--ring-text)}.playing-page .power-button{border-color:var(--ring-line);background:var(--ring-light);color:var(--ring-muted)}.playing-page .power-button:not(:disabled){background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.playing-page .control-hint{padding:var(--space-2) var(--space-4);color:var(--ring-muted);background:var(--ring);margin:0}.playing-page .quick-defense{padding:0 var(--space-4) calc(env(safe-area-inset-bottom,0rem) + var(--space-3));background:var(--ring);margin:0}.playing-page .quick-defense button{border-color:var(--ring-line);color:var(--ring-text)}.playing-page button:focus-visible,.playing-page a:focus-visible,.playing-page [tabindex]:focus-visible{outline-color:var(--focus-ring)}.playing-page #game-dialog button:focus-visible{outline-color:var(--focus)}@media (aspect-ratio>=1){.playing-page .arena-column{display:block}.playing-page .arena{width:100%;height:100%;position:absolute;inset:0}.playing-page .match-hud{max-width:42rem;width:calc(100% - var(--space-8));left:50%;transform:translate(-50%)}.playing-page .arena .opponent{width:min(65vh,32rem);bottom:14%}.playing-page .controls{width:min(45vw, var(--thumb-cluster-width));right:var(--space-4);bottom:calc(env(safe-area-inset-bottom,0rem) + 6rem);padding:0;position:absolute}.playing-page .power-row{bottom:calc(env(safe-area-inset-bottom,0rem) + 13.5rem);right:var(--space-4);width:min(45vw, var(--thumb-cluster-width));padding:0 0 var(--space-3);position:absolute}.playing-page .power-row b{display:none}.playing-page .control-hint{right:var(--space-4);bottom:calc(env(safe-area-inset-bottom,0rem) + 3.25rem);width:min(45vw, var(--thumb-cluster-width));padding:0;position:absolute}.playing-page .control-hint>span{display:grid}.playing-page .gesture-legend{display:none}.playing-page .quick-defense{right:var(--space-4);bottom:env(safe-area-inset-bottom,0rem);width:min(45vw, var(--thumb-cluster-width));padding:0 0 var(--space-3);position:absolute}[data-hand=left] .playing-page .controls,[data-hand=left] .playing-page .power-row,[data-hand=left] .playing-page .control-hint,[data-hand=left] .playing-page .quick-defense{right:auto;left:var(--space-4)}.playing-page .fight-bottom{width:min(40vw,25rem);left:var(--space-5);bottom:var(--space-6)}[data-hand=left] .playing-page .fight-bottom{right:var(--space-5);left:auto}.playing-page .attack-cue{top:30%}.playing-page .pad-grid{height:6rem}}@media (horizontal-viewport-segments:2){.playing-page .arena-column{display:block}.playing-page .arena{height:100%;width:env(viewport-segment-width 0 0,50vw);position:absolute;inset:0 auto 0 0}.playing-page .controls,.playing-page .power-row,.playing-page .control-hint,.playing-page .quick-defense{left:auto;right:var(--space-4);width:min(var(--thumb-cluster-width), calc(env(viewport-segment-width 1 0,50vw) - var(--space-8)));position:absolute}.playing-page .controls{bottom:calc(env(safe-area-inset-bottom,0rem) + 6rem);padding:0}.playing-page .power-row{bottom:calc(env(safe-area-inset-bottom,0rem) + 14rem);padding:0 0 var(--space-3)}.playing-page .control-hint{bottom:calc(env(safe-area-inset-bottom,0rem) + 3.25rem);padding:0}.playing-page .gesture-legend{display:none}.playing-page .quick-defense{bottom:env(safe-area-inset-bottom,0rem);padding:0 0 var(--space-3)}[data-hand=left] .playing-page .arena{left:env(viewport-segment-left 1 0,50vw)}[data-hand=left] .playing-page .controls,[data-hand=left] .playing-page .power-row,[data-hand=left] .playing-page .control-hint,[data-hand=left] .playing-page .quick-defense{right:auto;left:var(--space-4)}.playing-page .match-hud{left:var(--space-4);width:calc(100% - var(--space-8));transform:none}.playing-page .fight-bottom{width:calc(100% - var(--space-8))}}@media (vertical-viewport-segments:2){.playing-page .arena{max-height:env(viewport-segment-height 0 0,50dvh)}.playing-page .controls{margin-top:var(--space-2)}}@media (prefers-reduced-motion:reduce){.playing-page .arena[data-pose] .opponent{transform:translate(-50%)}}.player-avatar{z-index:2;width:min(90%, var(--shadow-width));transform-origin:50% 100%;pointer-events:none;height:66%;transition:transform var(--motion-fast) var(--ease), opacity var(--motion-fast);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.player-avatar svg{width:100%;height:100%;display:block;overflow:visible}.player-avatar path{stroke:var(--shadow-edge);stroke-width:var(--shadow-stroke);stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.shadow-body{fill:var(--shadow-fill)}.shadow-hair{fill:var(--shadow-hair)}.shadow-shorts{fill:var(--shadow-short)}.player-avatar .shadow-detail{fill:none;stroke:var(--shadow-muscle)}.shadow-fist{fill:var(--shadow-fist)}.shadow-floor{fill:var(--shadow-floor)}.shadow-arm{transform-box:fill-box;transform-origin:70% 90%;transition:transform var(--motion-fast) var(--ease)}.arena:not(.playing) .player-avatar{opacity:0}.arena[data-punch=left] .shadow-arm-left,.arena[data-punch=right] .shadow-arm-right{transform:translate(45%,-45%)scale(.83)rotate(17deg)}.arena[data-punch-target=body][data-punch=left] .shadow-arm-left,.arena[data-punch-target=body][data-punch=right] .shadow-arm-right{transform:translate(55%,-10%)scale(.86)rotate(24deg)}.arena[data-defense=left] .player-avatar{transform:translate(-67%)rotate(-8deg)}.arena[data-defense=right] .player-avatar{transform:translate(-33%)rotate(8deg)}.arena[data-defense=duck] .player-avatar{transform:translate(-50%,29%)scaleY(.86)}.arena[data-defense=guard] .shadow-arm{transform:translate(24%,-15%)rotate(8deg)}.arena[data-player-down=true] .player-avatar{opacity:.35;transform:translate(-50%,70%)rotate(-12deg)}@media (prefers-reduced-motion:reduce){.player-avatar,.shadow-arm{transition:none}}.tutorial-launch{color:var(--accent-ink);min-height:var(--coach-button-height);width:100%;margin-top:var(--space-2);justify-content:center;text-decoration:underline}.playing-page .tutorial-launch{display:none}.coach-panel{padding:calc(env(safe-area-inset-top,0rem) + var(--space-16)) var(--space-4) var(--space-3);background:var(--ring);z-index:11}.coach-bubble{padding:var(--space-3) var(--space-4);border:var(--border-bold) solid var(--power);border-radius:var(--radius);background:var(--card);color:var(--ink);position:relative}.coach-bubble:after{content:"";bottom:calc(-1 * var(--coach-notch));left:var(--space-6);width:var(--coach-notch);height:var(--coach-notch);background:var(--card);border-right:var(--border-bold) solid var(--power);border-bottom:var(--border-bold) solid var(--power);position:absolute;transform:rotate(45deg)}.coach-heading{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:800;display:flex}.coach-badge{color:var(--accent-ink)}.coach-heading>button{margin-left:auto}.coach-bubble h2{font:italic 700 var(--text-xl) / 1.1 var(--font-display);margin:var(--space-1) 0}.coach-bubble p{font-size:var(--text-base);line-height:var(--coach-line-height);margin:var(--space-2) 0}.coach-bubble button{min-height:var(--coach-button-height);padding:var(--space-2) var(--space-3);border:var(--border) solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--text-sm);font-weight:800}.coach-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}#coach-ready,#coach-next:not(:disabled){background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.coach-bubble button:disabled{opacity:.6}.coach-target{outline:var(--border-bold) dashed var(--power);outline-offset:calc(-1 * var(--space-1))}.tutorial-active .arena-column{grid-template-rows:auto minmax(0,1fr) auto auto auto auto}.tutorial-active .coach-panel{grid-row:1}.tutorial-active .arena{grid-row:2}.tutorial-active .match-hud{top:var(--space-3)}.tutorial-active .attack-cue{visibility:hidden}.tutorial-active .player-avatar{height:70%}@media (aspect-ratio>=1){.tutorial-active .coach-panel{width:min(36vw, var(--coach-max-width));left:var(--space-4);top:calc(env(safe-area-inset-top,0rem) + var(--space-16));padding:0;position:absolute}.tutorial-active .match-hud{top:calc(env(safe-area-inset-top,0rem) + var(--space-16))}[data-hand=left] .tutorial-active .coach-panel{left:auto;right:var(--space-4)}}@media (horizontal-viewport-segments:2){.tutorial-active .coach-panel{top:calc(env(safe-area-inset-top,0rem) + var(--space-16));left:calc(env(viewport-segment-left 1 0,50vw) + var(--space-4));width:calc(env(viewport-segment-width 1 0,50vw) - var(--space-8));padding:0;position:absolute}[data-hand=left] .tutorial-active .coach-panel{left:var(--space-4);right:auto}}.playing-page .coach-bubble button:focus-visible{outline-color:var(--focus)}#coach-timing{color:var(--accent-ink);margin-left:auto}.coach-panel[data-timing=react] .coach-bubble{border-color:var(--accent)}.input-choice{align-items:center;gap:var(--space-2);font-size:var(--text-sm);margin-top:var(--space-3);display:flex}.input-choice select{min-height:var(--touch-target);background:var(--card);max-width:100%;color:var(--ink);border:var(--border) solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2)}.touch-hand-choice,.touch-menu-guide,[data-input=touch] .controls,[data-input=touch] .control-hint,[data-input=touch] .quick-defense,[data-input=touch] .arena-column>.power-row{display:none}[data-input=touch] .touch-hand-choice{display:flex}[data-input=touch] .input-choice{grid-column:1/-1}[data-input=touch] .touch-menu-guide{font-size:var(--text-sm);line-height:var(--coach-line-height);color:var(--muted);display:block}[data-input=touch] .playing-page .touch-menu-guide,[data-input=touch] .playing-page .topbar,[data-input=touch] .playing-page .controls,[data-input=touch] .playing-page .control-hint,[data-input=touch] .playing-page .quick-defense,[data-input=touch] .playing-page #pause-fight{display:none}[data-input=touch] .playing-page .arena-column{display:block}[data-input=touch] .playing-page .arena{touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;min-height:0;max-height:none;position:absolute;inset:0}[data-input=touch] .playing-page .match-hud{top:calc(env(safe-area-inset-top,0rem) + var(--space-4))}#pause-clock{color:inherit;font:inherit;cursor:pointer;min-width:var(--touch-target);min-height:var(--touch-target);background:0 0;border:0;padding:0}[data-input=touch] .playing-page .fight-bottom{inset:auto var(--space-5) calc(env(safe-area-inset-bottom,0rem) + var(--space-5));pointer-events:none;width:auto}[data-input=touch] .playing-page .power-row{inset:auto var(--space-5) calc(env(safe-area-inset-bottom,0rem) + var(--space-16));pointer-events:none;background:0 0;width:auto;padding:0;position:absolute}[data-input=touch] .playing-page .arena-column>.power-row{display:flex}[data-input=touch] .playing-page .power-row b{display:none}[data-input=touch] .playing-page .attack-cue{top:calc(env(safe-area-inset-top,0rem) + var(--touch-cue-offset))}[data-input=touch] .playing-page .coach-panel{z-index:11;inset:calc(env(safe-area-inset-top,0rem) + var(--touch-cue-offset)) var(--space-4) auto;touch-action:none;background:0 0;width:auto;padding:0;position:absolute}[data-input=touch] .coach-panel button,[data-input=touch] .coach-panel .coach-actions{display:none}[data-input=touch] .coach-bubble p{font-size:var(--text-sm)}[data-input=touch] .coach-target{outline:none}.touch-coach-hint{display:none}[data-input=touch] .touch-coach-hint{color:var(--muted);display:block}@media (horizontal-viewport-segments:2){[data-input=touch] .playing-page .arena{left:env(viewport-segment-left 1 0,50vw);width:env(viewport-segment-width 1 0,50vw);right:auto}[data-input=touch][data-hand=left] .playing-page .arena{left:0}[data-input=touch] .playing-page .power-row{left:calc(env(viewport-segment-left 1 0,50vw) + var(--space-5));right:var(--space-5)}[data-input=touch][data-hand=left] .playing-page .power-row{left:var(--space-5);width:calc(env(viewport-segment-width 0 0,50vw) - var(--space-10));right:auto}[data-input=touch] .playing-page .coach-panel{left:var(--space-4);width:calc(env(viewport-segment-width 0 0,50vw) - var(--space-8));right:auto}[data-input=touch][data-hand=left] .playing-page .coach-panel{left:calc(env(viewport-segment-left 1 0,50vw) + var(--space-4));right:var(--space-4)}}@media (vertical-viewport-segments:2){[data-input=touch] .playing-page .arena{top:env(viewport-segment-top 0 1,50dvh);height:env(viewport-segment-height 0 1,50dvh)}[data-input=touch] .playing-page .coach-panel{top:var(--space-4);max-height:env(viewport-segment-height 0 0,50dvh)}}
