@font-face{font-family:Pixelify Sans;src:url(/fonts/pixelify-sans.ttf) format("truetype");font-weight:400 700;font-display:swap}:root{font-family:Arial,sans-serif;font-synthesis:none;color:#f1efd9;background:#1d302b;--paper: #f0efdd;--ink: #263d34;--muted: #68725e;--line: #c9ceba;--rock: #a84e32;--paper-color: #416344;--scissors: #2b6976;--yellow: #f0c66b}*{box-sizing:border-box}body,h1,h2,h3,p{margin:0}button,select{font:inherit;color:inherit}button{cursor:pointer;border:0;touch-action:manipulation}button:disabled{cursor:default}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #f0c66b;outline-offset:4px}a{color:inherit;text-decoration:none}button .icon{pointer-events:none}.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0}[hidden]{display:none!important}.rock{--bucket: var(--rock);--button-face: #efb093;--button-light: #ffdfbb;--button-shade: #bf7b5d;--button-rim: #764734;--card-edge: #f07869;--card-edge-shade: #963d35;--card-label: #ffbaad}.paper{--bucket: var(--paper-color);--button-face: #c5d69e;--button-light: #ecf1c9;--button-shade: #91a66e;--button-rim: #4f663e;--card-edge: #83c96f;--card-edge-shade: #42743b;--card-label: #b9e9a4}.scissors{--bucket: var(--scissors);--button-face: #a5d0d0;--button-light: #daf3e8;--button-shade: #70a5ac;--button-rim: #365b63;--card-edge: #6caef5;--card-edge-shade: #395f9c;--card-label: #b5d8ff}.game-shell{width:100%;max-width:1680px;height:100dvh;min-height:700px;margin:auto;padding:10px clamp(16px,2.2vw,36px) 0;display:flex;flex-direction:column}.masthead{display:flex;align-items:center;justify-content:space-between;height:46px;flex-shrink:0;padding-bottom:10px}.wordmark{font:700 30px/1 Pixelify Sans,monospace;letter-spacing:-1.3px}.brand-star{font-size:19px;color:#e9aa80;margin-left:5px;vertical-align:top}.brand-dot{display:none}.masthead nav{display:flex;align-items:center;gap:16px}.text-button{background:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;font-size:12px;padding:8px 0}.text-button:hover{color:#e4ba69}.text-button .icon{width:15px;height:15px}.icon-button{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #91a18a60;background:#ffffff08}.icon-button .icon{width:17px;height:17px}.icon-button:hover{background:#ffffff18}main{flex:1;min-height:min-content;display:grid;grid-template-rows:minmax(290px,1fr) auto;position:relative}.connection{position:absolute;top:0;inset-inline:0;z-index:10;padding:12px;background:#f4d492;color:var(--ink);text-align:center;font-size:12px}.battle{position:relative;min-height:0;border:3px solid #62715a;border-bottom:0;overflow:hidden;background:#cdd6c1;color:var(--ink)}.scoreboard{position:absolute;top:19px;left:26px;right:26px;display:grid;grid-template-columns:minmax(0,1fr) 130px minmax(0,1fr);align-items:start;z-index:5}.fighter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px}.fighter-identity{display:flex;align-items:center;gap:10px}.eyebrow{display:block;font:700 9px/1.2 monospace;letter-spacing:1.3px;color:var(--muted)}.fighter-identity>.eyebrow{padding:4px 5px;color:#f6f2d8;background:#3d5e49;letter-spacing:1px}.fighter-heading h2{font:600 clamp(22px,2vw,30px)/1 "Pixelify Sans",monospace}.health-number{font:700 32px/1 Pixelify Sans,monospace;white-space:nowrap}.health-number small{font:11px monospace;color:#52624e}.health-track{height:19px;border:3px solid #324b37;padding:2px;background:#415342;box-shadow:0 2px #f7f2d1,inset 0 2px #223428}.health-track>span{display:block;height:100%;background:#82af5c;box-shadow:inset 0 3px #c9de8e}.enemy-hud .fighter-heading,.enemy-hud .fighter-identity{flex-direction:row-reverse}.enemy-hud .fighter-identity>.eyebrow{background:#88583c}.enemy-hud .health-track>span{background:#d88b57;box-shadow:inset 0 3px #f7ca82;margin-left:auto}.health-track.critical>span{background:#ca5a3d;box-shadow:inset 0 3px #fbab72}.hud-energy{display:flex;align-items:center;gap:9px;min-height:32px;padding-top:7px}.enemy-hud .hud-energy{flex-direction:row-reverse}.energy-value{display:inline-flex;align-items:center;gap:4px;font:600 20px Pixelify Sans,monospace}.energy-value>.icon{width:14px;height:18px;color:#8a612c}.energy-value>small{font:10px monospace;color:#5d6955}.energy-pips{display:flex;gap:4px}.energy-pips i{width:clamp(12px,1.6vw,24px);height:12px;border:2px solid #8a9278;background:#b9c0a8}.energy-pips i.filled{background:#e3b351;border-color:#846039;box-shadow:inset 0 2px #ffe4a0}.energy-pips i.spending{background:#c9744c;border-color:#8e4129;box-shadow:inset 0 2px #efb28b}.energy-pips i.recovering{background:#a7cb76;border-color:#507144;box-shadow:inset 0 2px #d6edb1}.energy-preview{font:10px monospace;color:#5f4b29;margin-left:2px}.fighter-name{display:inline-flex;align-items:center;gap:7px;padding:0;background:none;font:inherit}.fighter-name .icon{width:13px;height:13px;opacity:.7}.round-counter{justify-self:center;text-align:center;border:2px solid #79866b;background:#f4efd4;padding:7px 17px 8px;box-shadow:0 3px #88947a}.round-counter>span{display:block;font:9px monospace;letter-spacing:2px}.round-counter>b{display:block;font:700 35px/1 Pixelify Sans,monospace;margin-top:2px}.stage{position:absolute;top:0;right:0;bottom:0;left:0;isolation:isolate;background:url(/assets/pixel-battle/arena.png) center bottom / cover no-repeat;image-rendering:pixelated}.stage:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(#e9ecdb 0,#e9ecdbd9 80px,#e9ecdb00 160px);pointer-events:none}.fighter{position:absolute;inset-block:0;width:32%;display:flex;align-items:flex-end;justify-content:center;--direction: 1}.fighter.player{left:9%}.fighter.opponent{right:9%;--direction: -1}.hand-wrap{position:relative;height:calc(100% - 140px);max-height:400px;width:auto;aspect-ratio:1;max-width:100%;margin-bottom:32px;z-index:1;animation:pixel-idle 2.8s steps(2,end) infinite}.opponent .hand-wrap{animation-delay:-1.7s}.hand-art.pixel-hand{display:block;width:100%;aspect-ratio:1;background-size:300% 100%;background-repeat:no-repeat;image-rendering:pixelated}.opponent .hand-art{transform:scaleX(-1)}.fighter-shadow{position:absolute;bottom:58px;width:47%;height:11px;background:#475b4845;clip-path:polygon(8% 0,92% 0,92% 25%,100% 25%,100% 75%,92% 75%,92% 100%,8% 100%,8% 75%,0 75%,0 25%,8% 25%)}.stage-copy{position:absolute;top:115px;left:50%;transform:translate(-50%);width:34%;max-width:410px;text-align:center;z-index:4;pointer-events:none}.stage-copy h1{font:700 clamp(27px,2.4vw,39px)/1 "Pixelify Sans",monospace;letter-spacing:-.6px;text-shadow:0 2px #edf0df}.stage-copy p{font:11px/1.5 Arial,sans-serif;color:#465b43;margin:8px auto 0;max-width:240px}.stage-copy button{pointer-events:auto}.round-label{display:block;font:700 10px monospace;letter-spacing:1.2px;color:#795527;margin-bottom:7px}.move-plaque{position:absolute;bottom:37px;text-align:center;font:12px Pixelify Sans,monospace;z-index:3;white-space:nowrap}.move-plaque>span{display:inline-flex;align-items:center;gap:5px;padding:4px 8px;background:#f4efd9ef;border:1px solid #8b957c;color:var(--bucket,var(--ink));box-shadow:0 2px #66745940}.move-plaque .icon{width:14px;height:14px}.arena-floor{position:absolute;inset:auto 0 0;min-height:32px;background:#e7e6cde8;border-top:1px solid #b0b89b;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:3px 20px;z-index:6}.arena-name{font:9px monospace;letter-spacing:2px;color:#67745c}.read-context{display:flex;gap:10px;align-items:center;font-size:11px}.context-label{color:#52614b}.throw-history{display:flex;align-items:center;gap:5px}.history-token{display:inline-grid;place-items:center;width:23px;height:23px;background:#f4f1dc;border:1px solid #a7af92}.history-token.latest{border-color:#6e795c;background:#fff6cf}.history-token .icon{width:16px;height:16px}.no-read{letter-spacing:4px;color:#7b856a}.damage-number{position:absolute;left:50%;top:38%;z-index:5;color:#ac4e30;opacity:0;font:700 64px Pixelify Sans,monospace;text-shadow:3px 3px #fff6db,-2px -2px #fff6db,-2px 2px #fff6db,2px -2px #fff6db}.impact-burst{position:absolute;width:145px;height:145px;left:calc(50% - 72px);top:52%;z-index:4;opacity:0;pointer-events:none}.impact-burst svg{width:100%;height:100%}.stage[data-hit=player] .impact-burst{left:calc(25% - 72px)}.stage[data-hit=opponent] .impact-burst{left:calc(75% - 72px)}.moves-section{background:#293e33;border:3px solid #62715a;border-top:5px solid #344c3c;padding:0 16px;box-shadow:inset 0 2px #7c8a63}.decision-heading{display:flex;align-items:center;gap:14px;height:43px}.decision-heading h2{font:500 22px/1 Pixelify Sans,monospace;color:#e9e7c9}.keyboard-hint{font:10px monospace;color:#b0ba9d}#move-details{margin-left:auto;color:#ced2b7;min-height:40px;font-size:11px}.throw-groups{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;padding-bottom:5px}.move-card,.bank-button{position:relative;width:100%;min-width:0;min-height:234px;display:flex;flex-direction:column;padding:9px 10px;gap:5px;border:2px solid var(--button-rim);background:var(--button-face);box-shadow:0 5px var(--button-rim),inset 0 3px var(--button-light),inset 3px 0 var(--button-light),inset 0 -3px var(--button-shade),inset -3px 0 var(--button-shade);color:var(--ink);text-align:left;transition:transform 80ms steps(2,end),filter 80ms,box-shadow 80ms}.move-card:hover:enabled,.bank-button:hover:enabled{transform:translateY(-3px);filter:brightness(1.07);box-shadow:0 8px var(--button-rim),inset 0 3px var(--button-light),inset 3px 0 var(--button-light),inset 0 -3px var(--button-shade),inset -3px 0 var(--button-shade)}.move-card:focus-visible{outline:3px solid #f8d47a;outline-offset:4px}.move-card:active:enabled,.move-card.played,.bank-button:active:enabled{transform:translateY(4px);box-shadow:0 1px var(--button-rim),inset 0 2px var(--button-shade)}.move-card.played{background:#f3ce78;animation:button-strike .16s steps(3,end)}.move-card:disabled:not(.played) .action-art,.bank-button:disabled{filter:saturate(.6)}.move-card.unaffordable{--button-face: #a8b0a0;--button-light: #c9cfba;--button-shade: #82917b;--button-rim: #4d6051;color:#394e40}.move-top{display:flex;align-items:center;gap:7px;width:100%;min-height:20px}.move-top kbd{display:inline-grid;place-items:center;width:20px;height:20px;background:var(--button-rim);color:#fff4d7;font:13px Pixelify Sans,monospace;box-shadow:inset 0 -2px #0002}.move-type{display:inline-flex;align-items:center;gap:5px;font:600 16px/1 Pixelify Sans,monospace;color:var(--bucket)}.move-type .icon{width:17px;height:17px}.move-cost{display:inline-flex;align-items:center;justify-content:center;gap:3px;margin-left:auto;min-width:25px;font:700 23px/1 Pixelify Sans,monospace}.move-cost .icon{width:12px;height:16px}.move-cost.free{font:700 10px monospace;letter-spacing:.4px}.action-art{display:block;width:100%;height:100%;object-fit:cover;image-rendering:pixelated}.card-picture{position:absolute;inset:0 0 auto;width:100%;height:calc(100% - 55px);overflow:hidden;background:#354a37}.move-card.unaffordable .action-art{filter:grayscale(.8);opacity:.65}.move-card.played .action-art{animation:card-impact .2s steps(3,end)}.action-purpose{font:600 25px/1 Pixelify Sans,monospace}.move-facts{display:flex;align-items:center;gap:15px;font-size:11px}.move-facts>span{display:inline-flex;align-items:baseline;gap:4px}.move-facts b{font:600 21px/1 Pixelify Sans,monospace}.move-benefit{display:flex;align-items:center;gap:4px;font-size:11px;line-height:1.3;color:#334b38}.move-benefit .icon{width:12px;height:12px}.move-flavor{font-size:10px;line-height:1.2;color:#4c5b45;margin-top:auto}.move-card{border:3px solid var(--card-edge)}.opening-card{min-height:244px;padding:0;gap:0;overflow:hidden;isolation:isolate;color:#f6f0db;background:#172b23;box-shadow:0 4px var(--card-edge-shade),0 0 0 1px #15251f}.opening-card:hover:enabled{box-shadow:0 7px var(--card-edge-shade),0 0 0 1px #15251f}.opening-card:active:enabled,.opening-card.played{box-shadow:0 1px var(--card-edge-shade),0 0 0 1px #15251f}.opening-card.unaffordable{color:#d0d8c9}.opening-card>.move-top{position:relative;padding:7px;gap:5px;align-items:start}.opening-card kbd{background:#15291fee;border:1px solid #b8c3a777;height:24px}.opening-card .move-type{padding:4px 5px;min-height:24px;color:var(--card-label);background:#12271ff2;border:1px solid var(--card-edge)}.opening-card .move-cost{padding:3px 5px;min-height:25px;background:#12271ff2;color:#ffe0a1;border:1px solid #c5ab6b}.card-copy{position:relative;margin-top:auto;padding:7px 9px;display:flex;flex-direction:column;gap:4px;width:100%;background:#12271ff5;border-top:1px solid #cbd4b940}.card-title{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.card-title .action-purpose{font-size:22px}.card-title .move-flavor{color:#b9c7af;font-size:9px;text-align:right;margin-top:0}.opening-card .move-facts{color:#dce4d2}.opening-card .move-benefit{color:#d0dfbe}.opening-card.unaffordable .move-benefit{color:#ffceaa}.move-insight{display:flex;align-items:center;gap:20px;height:100px;padding:10px 0}#move-note{flex:1;min-width:0}#move-note>strong{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:12px;color:#e9e7cd}#move-note>strong .icon{width:16px;height:16px}#move-note>span{display:block;font-size:11px;line-height:1.4;color:#b5c1a6;margin-top:5px;max-width:540px}.throw-cycle>span{display:inline-flex;align-items:center;gap:4px}.throw-cycle>i{font-size:10px;font-weight:400;font-style:normal;color:#afbe9f}.preview-tag{color:#b6c29f;font:8px monospace;letter-spacing:1px;margin-left:4px}.recovery-preview{display:flex;flex-direction:column;gap:5px;font-size:11px;color:#b6c6a7}.recovery-preview>b{color:#c7e0a0;font:20px Pixelify Sans,monospace}.route-diagrams{display:grid;grid-template-columns:1fr;gap:12px}.route-diagram{display:flex;flex-direction:column;gap:7px;padding:12px;border:1px solid var(--line);background:#f6f4e7}.route-diagram>strong{font:600 21px/1 Pixelify Sans,monospace}.route-pictures{display:flex;align-items:center;gap:8px}.route-pictures>i{font-style:normal;color:#7e8b6e}.route-picture{position:relative;width:65px;height:40px;border:1px solid #7f9472}.route-picture small{position:absolute;bottom:0;right:0;background:#243b30e8;color:#fff1bd;font:12px Pixelify Sans,monospace;padding:2px 5px}.route-totals{font-size:11px}.route-diagram>small{font-size:10px;color:#667657}.route-diagram.out-of-reach>small{color:#96673a}.route-diagrams.compact{display:flex;gap:20px}.compact .route-diagram{border:0;border-left:1px solid #80936c70;background:none;padding:0 0 0 16px;gap:4px}.compact .route-diagram>strong{font-size:16px;color:#efd08a}.compact .route-pictures{gap:5px}.compact .route-picture{width:38px;height:24px}.compact .route-picture small{font-size:9px;padding:1px 3px}.compact .route-totals{font-size:10px;color:#e3e5cc}.compact .route-diagram>small{font-size:9px;color:#b6c6a7}.compact .out-of-reach>small{color:#e3b58c}.commit-button{display:inline-flex;justify-content:space-between;align-items:center;gap:22px;min-height:46px;padding:8px 18px;background:#e8bf70;color:var(--ink);border:2px solid #30443c;box-shadow:0 3px #a47c43,inset 0 2px #ffe4a5;font:600 23px Pixelify Sans,monospace;flex-shrink:0}.commit-button:hover:enabled{background:#f4d28a}.commit-button:disabled{opacity:.5}.footer{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:40px;color:#b1bda7;flex-shrink:0}.footer>div{display:flex;align-items:center;gap:22px}.footer .text-button,.round-receipt{font-size:11px}.round-receipt .text-button{color:#d1d6be}#history-count{display:inline-block;font:10px monospace;color:#f0d79b}.online-button{color:#ebdfb0}.live-dot{width:6px;height:6px;background:#a6ce7b;box-shadow:0 0 0 3px #a6ce7b15}.throw-groups.is-combo{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.combo-progress{display:flex;align-items:center;gap:24px;height:65px;margin-bottom:6px}.combo-rule{font-size:10px;line-height:1.6;color:#b8c9a7}.combo-rule>b{color:#f0d99e;font-weight:400}.combo-steps{display:flex;align-items:center;gap:9px}.combo-step{display:flex;align-items:center;gap:8px;min-width:125px;height:45px;padding:4px;border:1px solid #748465;background:#20362b;color:#9aaa86}.combo-step .action-art{width:56px;height:35px}.combo-step>span{display:inline-flex;align-items:center;gap:3px;font-size:10px;padding-right:4px}.combo-step .icon{width:12px;height:12px}.combo-step.landed{color:#f5d79c;border-color:#b29d63}.combo-step.next{border:1px dashed #e6c376;color:#f5d79c}.hit-index{width:25px;font:25px/1 Pixelify Sans,monospace;text-align:center}.step-arrow{color:#9baf81}.followup-card,.bank-button{min-height:163px}.followup-card .move-top>strong,.bank-button .move-top>strong{font:600 24px/1 Pixelify Sans,monospace}.followup-picture{display:flex;align-items:center;gap:16px;height:65px}.followup-picture>.action-art{width:135px;border:1px solid var(--button-rim)}.hit-payoff{display:flex;flex-direction:column;gap:2px;font-size:11px}.hit-payoff b{font:600 40px/1 Pixelify Sans,monospace}.followup-route{display:block;font-size:11px;line-height:1.4;color:#334b38;margin-top:auto}.followup-budget{font-size:10px;line-height:1.4;color:#3f573e}.bank-button{--button-face: #e4d4a2;--button-light: #fff1c3;--button-shade: #baa773;--button-rim: #6d6746}.bank-button .move-top>.icon{margin-left:auto;width:17px;color:#807036}.bank-total{font:600 40px/1 Pixelify Sans,monospace;margin-top:15px}.bank-total small{font:11px Arial,sans-serif}.combo-wait{grid-column:1/-1;min-height:163px;display:flex;justify-content:center;align-items:center;gap:30px;padding:20px;color:#e4dfbc;border:2px solid #7b8863;background:#354c3b}.combo-wait .eyebrow{color:#bccba2}.combo-wait strong{display:block;font:600 32px/1.2 Pixelify Sans,monospace;margin-top:7px}.combo-wait strong>span{color:#8b9b72}.combo-wait p{color:#b9c7a5;font-size:12px;margin-top:7px}.game-shell[data-phase=combo] .moves-section{border-color:#b19a5f;box-shadow:inset 0 2px #dcc27d}.game-shell[data-phase=combo] .decision-heading h2{color:#f3d489}.own-moves article>div{min-width:0}#move-details{flex-shrink:0}dialog{width:min(740px,calc(100vw - 40px));max-height:88dvh;padding:0;background:var(--paper);color:var(--ink);border:2px solid #819376;box-shadow:6px 6px #273b3033;overscroll-behavior:contain}dialog::backdrop{background:#24362e66;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog-inner{padding:30px}.dialog-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.dialog-heading h2{font:600 34px Pixelify Sans,monospace}.dialog-heading .icon-button{flex-shrink:0}.dialog-intro{font-size:13px;color:var(--muted);line-height:1.6;margin-top:15px}.dialog-actions{margin-top:26px;padding-top:22px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:20px}.dialog-actions>span{color:var(--muted);font-size:11px}.small-button{display:inline-flex;align-items:center;gap:8px;font:18px Pixelify Sans,monospace;padding:8px 14px;border:1px solid #9ea98f;background:#f6f5e8}.small-button .icon{width:15px;height:15px}.stage-copy .small-button{margin-top:12px}.hand-choices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:26px}.hand-choice{display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 8px;border:2px solid #bbc7ac;background:#f9f8ed}.hand-choice.chosen{border-color:#b08b44;background:#f9f1d7;box-shadow:2px 3px #bd9a5b}.hand-choice .pixel-hand{width:125px;max-width:100%}.hand-choice strong{font:600 20px Pixelify Sans,monospace}.hand-choice>span:not(.pixel-hand){font-size:11px;color:var(--muted);line-height:1.6}.hand-choice small{font-size:7px;line-height:1.6;color:#537151;margin-top:auto}.opponent-choice{display:flex;align-items:center;gap:24px;font-size:12px;margin-top:25px}.opponent-choice select{background:#f9f8ed;border:2px solid var(--line);padding:10px 14px}.rules-list{display:grid;gap:24px;margin-top:27px}.rules-list>div{display:flex;gap:20px}.rules-list>div>b{font:24px Pixelify Sans,monospace;color:#9f9b77}.rules-list h3{font:600 22px Pixelify Sans,monospace;margin-bottom:8px}.rules-list p,.rules-footnote{font-size:12px;color:var(--muted);line-height:1.7}.rules-footnote{border-top:1px solid var(--line);padding-top:18px;margin-top:24px}.opponent-moves{margin-top:24px}.opponent-moves article{display:flex;align-items:center;gap:13px;border-top:1px solid var(--line);padding:15px 0}.opponent-moves article>span:first-child{color:var(--bucket)}.opponent-moves article>div{flex:1}.opponent-moves strong{font-size:13px}.opponent-moves p{font-size:11px;color:var(--muted);margin-top:5px}.opponent-moves article>span:nth-last-child(2){font-size:11px;color:var(--muted);white-space:nowrap}.opponent-moves b{display:flex;align-items:center;gap:4px;font-size:12px}.opponent-moves b .icon{width:13px}.history-list{margin-top:20px}.history-list article{padding:19px 0;border-top:1px solid var(--line)}.history-list h3{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:9px 0;font-size:13px;font-weight:500}.history-list h3>span{color:var(--bucket)}.history-list h3 small{font-size:10px;color:var(--muted)}.history-list .icon{width:16px;height:16px}.history-list p{font-size:12px;line-height:1.6}.history-effects{color:var(--muted)}.history-energy{display:block;font-size:11px;color:#86733f;margin-top:9px}.empty-history{color:var(--muted);padding:45px 0;text-align:center;font-size:13px}.tactics-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-top:28px}.tactic-hand>h3{font:24px Pixelify Sans,monospace}.tactic-hand>p{color:var(--muted);font-size:12px;margin-top:10px;line-height:1.5}.route-example,.route-note{font-size:11px;line-height:1.5;color:var(--muted)}.combo-list{display:grid;gap:12px}.combo-group>.eyebrow{margin:18px 0 12px}.detail-routes{font-weight:600}.windup .hand-wrap{animation:pixel-windup .21s steps(3,end) both}.attack{z-index:4}.attack .hand-wrap{animation:contact-strike .42s steps(4,end) both}.recoil .hand-wrap{animation:pixel-recoil .42s steps(4,end) both}.hit-stop{animation:arena-kick .28s steps(2,end)}.hit-stop .impact-burst{animation:pixel-burst .4s steps(4,end) both}.recoil .damage-number{animation:damage-float .52s steps(8,end) both}.victorious .hand-wrap{animation:pixel-victory .85s steps(3,end) infinite}.stage[data-beat=link] .attack .hand-wrap,.stage[data-beat=link] .recoil .hand-wrap{animation-duration:.3s}.stage[data-beat=finish] .attack .hand-wrap{animation-duration:.56s}.stage[data-beat=finish].hit-stop{animation-duration:.36s}@keyframes pixel-idle{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes pixel-windup{0%{transform:none}80%,to{transform:translate(calc(-16px * var(--direction)),4px)}}@keyframes contact-strike{0%{transform:translate(calc(-10px * var(--direction)))}16%,32%{transform:translate(calc(var(--strike-distance,100px) * var(--direction)),-6px)}44%{transform:translate(calc(var(--strike-distance,100px) * .84 * var(--direction)),-4px)}to{transform:none}}@keyframes pixel-recoil{0%,15%{transform:none}30%{transform:translate(calc(-28px * var(--direction)),-5px);filter:brightness(1.8)}55%{transform:translate(calc(-16px * var(--direction)));filter:none}to{transform:none}}@keyframes arena-kick{0%,to{transform:none}25%{transform:translate(3px,1px)}50%{transform:translate(-3px,-2px)}75%{transform:translate(1px,1px)}}@keyframes pixel-burst{0%,12%{opacity:0;transform:scale(.5)}20%,45%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}@keyframes damage-float{0%,12%{opacity:0;transform:translate(-50%,15px) scale(.7)}25%{opacity:1;transform:translate(-50%,-5px) scale(1.2)}65%{opacity:1;transform:translate(-50%,-26px)}to{opacity:0;transform:translate(-50%,-60px)}}@keyframes pixel-victory{0%,to{transform:none}40%{transform:translateY(-12px)}80%{transform:translateY(3px)}}@keyframes card-impact{0%{transform:translate(-6px) scale(1.04)}65%{transform:translate(5px) scale(1.04)}to{transform:none}}@keyframes button-strike{0%{filter:brightness(1.5)}to{filter:none}}@media(max-width:700px){.game-shell{padding:0;min-height:760px;height:100dvh}.masthead{height:49px;padding:5px 12px}.wordmark{font-size:25px;letter-spacing:-1px}.brand-star{font-size:16px}.masthead nav{gap:7px}.masthead nav .text-button{width:36px;height:36px;padding:0}.masthead nav .text-button span{display:none}.masthead nav .text-button .icon{width:20px;height:20px}.icon-button{width:36px;height:36px}main{grid-template-rows:minmax(280px,1fr) auto}.battle{border-width:2px;border-inline:0}.scoreboard{top:12px;left:12px;right:12px;grid-template-columns:minmax(0,1fr) 49px minmax(0,1fr)}.fighter-heading{align-items:end;gap:4px}.fighter-identity,.enemy-hud .fighter-identity{flex-direction:column;align-items:flex-start;gap:4px}.enemy-hud .fighter-identity{align-items:flex-end}.fighter-identity>.eyebrow{font-size:7px;padding:2px 4px}.fighter-heading h2{font-size:clamp(16px,4.9vw,22px)}.fighter-name{gap:3px;min-height:24px}.fighter-name .icon{width:10px;height:10px}.health-number{font-size:23px}.health-number small{display:none}.health-track{height:14px;border-width:2px;padding:1px}.hud-energy{gap:5px;padding-top:6px;min-height:24px;flex-wrap:wrap;position:relative}.energy-value{font-size:17px;gap:1px}.energy-value>small{display:none}.energy-value>.icon{width:11px;height:14px}.energy-pips{gap:2px}.energy-pips i{width:clamp(7px,2vw,10px);height:9px;border-width:1px}.energy-preview{position:absolute;left:0;top:30px;font-size:8px;white-space:nowrap}.round-counter{border:0;padding:4px 0;background:none;box-shadow:none;margin-top:11px}.round-counter>span{font-size:7px;letter-spacing:.5px}.round-counter>b{font-size:25px}.stage:before{background:linear-gradient(#e9ecdb 0,#e9ecdbd9 60px,#e9ecdb00 130px)}.fighter{width:49%}.fighter.player{left:0}.fighter.opponent{right:0}.hand-wrap{height:min(49vw,calc(100% - 157px));width:auto;margin-bottom:35px}.fighter-shadow{bottom:49px;width:53%;height:7px}.stage-copy{top:104px;width:82%;max-width:none}.stage-copy h1{font-size:27px}.stage-copy p{font-size:10px;max-width:230px;margin-top:4px}.round-label{font-size:9px;margin-bottom:4px}.game-shell[data-phase=combo] .stage-copy,.game-shell[data-phase=finished] .stage-copy{top:100px}.game-shell[data-phase=combo] .stage-copy h1{font-size:25px}.game-shell[data-phase=combo] .stage-copy p{display:none}.move-plaque{bottom:31px;font-size:11px}.move-plaque>span{padding:3px 5px}.move-plaque .icon{width:12px;height:12px}.arena-floor{min-height:27px;justify-content:flex-end;padding:2px 12px}.arena-name{display:none}.read-context{font-size:10px;gap:8px}.history-token{width:20px;height:20px}.history-token .icon{width:14px;height:14px}.damage-number{top:48%;font-size:46px}.impact-burst{width:90px;height:90px;top:57%;left:calc(50% - 45px)}.stage[data-hit=player] .impact-burst{left:calc(25% - 45px)}.stage[data-hit=opponent] .impact-burst{left:calc(75% - 45px)}.moves-section{display:flex;flex-direction:column;min-height:386px;padding:0 10px;border-width:2px 0;border-top-width:4px}.decision-heading{height:39px;gap:5px}.decision-heading h2{font-size:20px}.keyboard-hint{display:none}#move-details{font-size:10px;min-height:39px}.throw-groups{grid-template-columns:repeat(6,minmax(0,1fr));gap:9px 8px}.move-card{grid-column:span 2;min-height:154px;padding:6px;gap:3px}.move-card:nth-child(n+4){grid-column:span 3}.move-top{gap:3px;min-height:16px}.move-top kbd{display:none}.move-type{font-size:12px;gap:2px}.move-type .icon{width:11px;height:11px}.move-cost{font-size:19px;min-width:18px;gap:0}.move-cost .icon{width:9px;height:12px}.move-cost.free{font-size:8px}.opening-card{min-height:164px;padding:0;gap:0}.opening-card>.move-top{padding:4px;gap:3px}.opening-card .move-type{min-height:20px;padding:2px 3px;font-size:11px;gap:2px}.opening-card .move-type .icon{width:10px;height:10px}.opening-card .move-cost{min-height:20px;padding:1px 3px;font-size:17px}.opening-card .move-cost.free{font-size:7px;padding-inline:3px}.card-copy{padding:5px 6px;gap:3px}.card-title .action-purpose{font-size:19px}.card-title .move-flavor{display:none}.card-picture{height:calc(100% - 45px)}.action-purpose{font-size:20px}.move-facts{gap:7px;font-size:9px}.move-facts>span{gap:2px}.move-facts b{font-size:16px}.move-benefit,.move-flavor{font-size:9px}.move-insight{height:68px;margin-top:auto;padding:8px 0;flex-wrap:wrap;gap:6px}.move-insight:has(#your-combos:not([hidden])){height:auto;min-height:100px}#move-note{flex-basis:100%}#move-note>strong{font-size:10px;gap:4px}#move-note>strong .icon{width:12px;height:12px}#move-note>span{font-size:10px;margin-top:4px}.throw-cycle>i{font-size:9px}.throw-cycle>span{gap:2px}.preview-tag{font-size:7px}#your-combos{width:100%}.route-diagrams.compact{gap:10px}.compact .route-diagram{flex:1;padding-left:10px}.compact .route-diagram:first-child{border:0;padding-left:0}.compact .route-diagram>strong{font-size:15px}.recovery-preview{gap:3px;font-size:10px}.recovery-preview>b{font-size:17px}.combo-progress{height:62px;gap:8px;margin-bottom:4px}.combo-rule{display:none}.combo-steps{width:100%;gap:5px}.combo-step{min-width:0;flex:1;gap:3px;height:49px}.combo-step.landed{flex-direction:column;gap:1px}.combo-step .action-art{width:48px;height:25px}.combo-step>span{font-size:9px;padding:0}.combo-step .icon{width:10px;height:10px}.hit-index{font-size:23px;width:18px}.step-arrow{font-size:12px}.throw-groups.is-combo{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row;min-height:243px}.followup-card{grid-column:auto;min-height:164px}.followup-card .move-top>strong,.bank-button .move-top>strong{font-size:19px}.followup-picture{height:59px;gap:6px}.followup-picture>.action-art{width:65%}.hit-payoff{font-size:10px}.hit-payoff b{font-size:30px}.followup-route,.followup-budget{font-size:10px;line-height:1.35}.bank-button{grid-column:1/-1;min-height:70px;padding:9px 12px;display:grid;grid-template-columns:1fr auto;gap:3px 8px}.bank-button .move-top{align-self:center}.bank-button .move-top>.icon{display:none}.bank-total{font-size:27px;text-align:right;align-self:center;margin-top:0}.bank-total small{font-size:9px}.bank-button .followup-route{grid-column:1/-1}.followup-card:first-child:nth-last-child(2){grid-column:1/-1}.followup-card:first-child:nth-last-child(2) .followup-picture>.action-art{width:135px}.combo-wait{min-height:243px;flex-direction:column;gap:20px;text-align:center}.combo-wait strong{font-size:28px}.combo-wait p{font-size:11px}.footer{min-height:44px;padding:0 12px env(safe-area-inset-bottom)}.footer #receipt{display:none}.footer>div{width:100%;gap:15px;justify-content:space-between}.footer .text-button{min-height:44px;font-size:10px}.commit-button{min-height:44px;font-size:21px;width:100%}.game-shell[data-phase=finished] #move-note>span,.game-shell[data-phase=interrupted] #move-note>span{display:block}dialog{width:calc(100vw - 24px);max-height:92dvh}.dialog-inner{padding:18px}.dialog-heading h2{font-size:27px}.dialog-intro{font-size:12px}.hand-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.hand-choice .pixel-hand{width:110px}.hand-choice strong{font-size:20px}.dialog-actions{gap:14px;flex-wrap:wrap}.opponent-choice{gap:12px}.opponent-choice select{min-width:0;max-width:65%}.rules-list{gap:20px}.rules-list>div{gap:13px}.opponent-moves article{flex-wrap:wrap;gap:8px}.opponent-moves article>div{min-width:70%}.opponent-moves article>span:nth-last-child(2){margin-left:28px}.tactics-grid{grid-template-columns:1fr;gap:24px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hit-stop .impact-burst{display:none}.recoil .damage-number{opacity:1;transform:translate(-50%)}}
