:root{
  --ink:#f4f0df;
  --muted:#b7aec7;
  --bg:#090512;
  --panel:#171027;
  --panel-2:#24143b;
  --red:#ee3b48;
  --red-dark:#8d1628;
  --gold:#ffd45a;
  --cyan:#57f2e5;
  --blue:#4f7cff;
  --green:#6cf08e;
  --shadow:#020105;
  --pixel: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  --display: Impact, Haettenschweiler, "Arial Narrow Bold", sans-serif;
  --safe-top: env(safe-area-inset-top,0px);
  --safe-bottom: env(safe-area-inset-bottom,0px);
  color-scheme:dark;
}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:#05030a;color:var(--ink);font-family:var(--pixel);}
body{touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:radial-gradient(circle at 50% 0,#25103d 0,#08040f 46%,#030205 100%)}
button,input{font:inherit}
button{color:inherit}
button:focus-visible{outline:3px solid var(--cyan);outline-offset:3px}
[hidden]{display:none!important}

/* Boot */
.boot{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;gap:22px;text-align:center;background:#05030a;transition:opacity .35s ease}
.boot.done{opacity:0;pointer-events:none}
.boot-logo{display:flex;align-items:flex-end;justify-content:center;filter:drop-shadow(7px 7px 0 #6d1120)}
.boot-logo span{font-size:clamp(64px,16vw,150px);font-weight:1000;letter-spacing:-.12em;color:#fff0d0;text-shadow:4px 0 0 #ee3b48,8px 0 0 #4f7cff}
.boot-logo b{font-size:clamp(38px,9vw,84px);color:var(--gold);transform:translate(-4px,-12px) rotate(-9deg)}
.boot p{margin:0;font-size:13px;letter-spacing:.25em;color:var(--muted)}
.boot-bar{width:min(380px,72vw);height:16px;padding:3px;border:2px solid #6f6280;background:#10091c;box-shadow:5px 5px 0 #000}
.boot-bar i{display:block;width:0;height:100%;background:repeating-linear-gradient(90deg,var(--red) 0 18px,var(--gold) 18px 28px,var(--cyan) 28px 40px);animation:bootload 1.1s steps(12,end) forwards}
@keyframes bootload{to{width:100%}}

#app{height:100%;padding-top:calc(50px + var(--safe-top));position:relative}
.site-bar{position:fixed;z-index:90;left:0;right:0;top:0;height:calc(50px + var(--safe-top));padding:var(--safe-top) 14px 0;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;background:rgba(6,3,12,.94);border-bottom:3px solid #40234e;box-shadow:0 4px 0 rgba(0,0,0,.5)}
.site-wordmark{line-height:1.05;text-align:center;min-width:0}
.site-wordmark span{display:block;font-size:8px;letter-spacing:.22em;color:#9b8bab}
.site-wordmark b{display:block;font-size:11px;letter-spacing:.08em;color:#f1e8cc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.site-actions{display:flex;gap:7px}
.site-home{padding:8px 11px!important;font-size:9px!important;min-width:0!important}
.icon-button{display:grid;place-items:center;width:34px;height:34px;border:2px solid #6c5a7a;background:#1b1027;box-shadow:3px 3px 0 #000;color:#f9e8c2;cursor:pointer}
.icon-button[aria-pressed="true"]{color:#ff6171;border-color:#ff6171}

.screen{position:absolute;inset:calc(50px + var(--safe-top)) 0 0;display:none;overflow:auto;overscroll-behavior:none;padding:clamp(18px,3vw,34px);}
.screen.active{display:block}
.eyebrow{margin:0 0 8px;font-size:10px;letter-spacing:.24em;color:var(--gold);font-weight:900}
.pixel-button{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-height:48px;padding:11px 16px;border:3px solid #7a668d;background:linear-gradient(#27153a,#140b21);box-shadow:5px 5px 0 #030106;text-align:left;font-weight:1000;font-size:11px;letter-spacing:.06em;cursor:pointer;text-transform:uppercase;transition:transform .08s ease,filter .08s ease}
.pixel-button:hover{filter:brightness(1.18)}
.pixel-button:active{transform:translate(4px,4px);box-shadow:1px 1px 0 #030106}
.pixel-button small{font-size:7px;font-weight:700;color:#bcaed0;letter-spacing:.05em;margin-top:4px}
.pixel-button.primary{border-color:#ffb353;background:linear-gradient(#e53d4a,#8e1529);color:#fff5d7;box-shadow:5px 5px 0 #51101d}
.pixel-button.quiet{background:#100919;border-color:#4e3c60;color:#b8abc8}

/* Arcade */
#arcade-screen{overflow:hidden;background:linear-gradient(180deg,#12071e 0 45%,#07040d 45% 100%)}
#arcade-screen:before{content:"";position:absolute;inset:45% 0 0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.035) 0 2px,transparent 2px 44px),repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 2px,transparent 2px 32px);transform:perspective(500px) rotateX(62deg) scale(1.5);transform-origin:top;opacity:.5}
.arcade-atmosphere{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.arcade-atmosphere i{position:absolute;width:3px;height:100%;background:linear-gradient(transparent,var(--cyan),transparent);opacity:.1;filter:blur(2px);animation:arcadeSweep 7s linear infinite}
.arcade-atmosphere i:nth-child(1){left:14%}.arcade-atmosphere i:nth-child(2){left:39%;animation-delay:-2s}.arcade-atmosphere i:nth-child(3){left:66%;animation-delay:-4s}.arcade-atmosphere i:nth-child(4){left:88%;animation-delay:-6s}
@keyframes arcadeSweep{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}
.arcade-heading{position:relative;z-index:2;text-align:center;margin:0 auto 18px}
.arcade-heading h1{margin:0;font-size:clamp(42px,9vw,86px);line-height:.83;letter-spacing:-.1em;color:#fff2cc;text-shadow:4px 0 0 #ee3b48,8px 0 0 #4f7cff,12px 0 0 #1a0927}
.arcade-heading h1 span{display:block;font-size:.48em;letter-spacing:.38em;margin-right:-.38em;color:var(--gold);text-shadow:3px 3px 0 #6d3511}
.arcade-heading>p:last-child{font-size:9px;letter-spacing:.16em;color:#ac9abc;margin:12px 0 0}
.cabinet-row{position:relative;z-index:2;display:flex;justify-content:center;align-items:flex-end;gap:clamp(16px,3.4vw,46px);height:min(66vh,590px);padding:4px 6px 38px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.cabinet-row::-webkit-scrollbar{display:none}
.cabinet{flex:0 0 clamp(210px,24vw,280px);height:100%;max-height:520px;min-height:410px;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;scroll-snap-align:center;filter:saturate(.82) brightness(.72);transform:scale(.94);transition:filter .2s,transform .2s;position:relative}
.cabinet.selected,.cabinet:hover{filter:none;transform:scale(1)}
.cabinet.locked{cursor:not-allowed;filter:grayscale(.4) brightness(.55)}
.cabinet-marquee{height:22%;min-height:76px;display:flex;flex-direction:column;align-items:center;justify-content:center;clip-path:polygon(8% 0,92% 0,100% 20%,96% 100%,4% 100%,0 20%);background:linear-gradient(135deg,#f3c54d,#d3313f 40%,#4e1978 41%,#251036);border:4px solid #17111c;text-shadow:3px 3px 0 #2a0810;box-shadow:0 0 22px rgba(238,59,72,.35)}
.cabinet-marquee small{font-size:10px;letter-spacing:.18em;color:#19101d;background:#f5cf58;padding:2px 5px;text-shadow:none}
.cabinet-marquee b{font-size:clamp(17px,2.5vw,26px);line-height:.86;margin-top:5px;color:#fff1cb}
.cabinet-shell{display:block;height:65%;background:linear-gradient(90deg,#17101f,#3a2150 12% 88%,#130d1a);clip-path:polygon(5% 0,95% 0,100% 100%,0 100%);padding:10% 12% 7%;border-left:5px solid #060408;border-right:5px solid #060408;position:relative}
.cabinet-screen{height:59%;display:block;position:relative;overflow:hidden;background:#05030a;border:7px solid #0e0912;box-shadow:inset 0 0 0 3px #5e476c,0 5px 0 #030204}
.mortal-screen{background:linear-gradient(#341246 0 58%,#be293f 58% 64%,#1c0c25 64%)}
.mortal-screen:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.05) 4px 5px);pointer-events:none}
.fighter-silhouette{position:absolute;bottom:20%;width:24%;height:49%;background:#0a0710;box-shadow:inset 5px 0 0 #6b2a57}
.fighter-silhouette:before{content:"";position:absolute;width:55%;aspect-ratio:1;left:22%;top:-30%;background:#0a0710}
.fighter-silhouette.left{left:13%;clip-path:polygon(25% 0,75% 0,100% 38%,75% 45%,100% 100%,58% 80%,48% 100%,0 100%,24% 47%,0 30%)}
.fighter-silhouette.right{right:13%;transform:scaleX(-1);clip-path:polygon(25% 0,75% 0,100% 38%,75% 45%,100% 100%,58% 80%,48% 100%,0 100%,24% 47%,0 30%)}
.versus{position:absolute;left:50%;top:37%;transform:translate(-50%,-50%) rotate(-8deg);font-size:22px;font-weight:1000;color:var(--gold);text-shadow:2px 2px 0 #9a1b2f}
.mortal-screen em{position:absolute;bottom:6%;left:0;right:0;font-size:6px;letter-spacing:.08em;color:#fff4ce;font-style:normal}
.locked-screen{display:grid;place-content:center;gap:6px;background:linear-gradient(#102f44,#050a10);color:#81c9ff}
.locked-screen.dirt{background:linear-gradient(#275c75 0 55%,#9b5224 55%);color:#ffd36c}
.locked-screen i{font-style:normal;font-size:28px}.locked-screen b{font-size:10px;line-height:1.1}
.cabinet-controls{position:absolute;left:11%;right:11%;bottom:6%;height:23%;background:#130b1c;border:5px solid #07040a;transform:perspective(130px) rotateX(24deg);display:flex;align-items:center;justify-content:center;gap:10px}
.cabinet-controls i{width:8px;height:23px;background:#e9434d;box-shadow:0 -6px 0 3px #ffb5b5,0 5px 0 #020102}
.cabinet-controls b{width:15px;height:15px;border-radius:50%;background:#ffd04e;box-shadow:2px 2px 0 #5e3210}
.cabinet-controls b:nth-of-type(2){background:#59e7d8}.cabinet-controls b:nth-of-type(3){background:#e9506a}.cabinet-controls b:nth-of-type(4){background:#6890ff}
.cabinet-coin{position:absolute;right:11%;bottom:1%;font-size:6px;color:#62f5d4;letter-spacing:.1em}
.cabinet-plinth{display:flex;height:13%;min-height:64px;flex-direction:column;justify-content:center;background:linear-gradient(#1d1029,#08050c);clip-path:polygon(0 0,100% 0,94% 100%,6% 100%);border-top:5px solid #050307}
.cabinet-plinth b{font-size:12px;color:var(--gold)}.cabinet-plinth small{font-size:6px;color:#a392b5;margin-top:4px}
.arcade-footer{position:absolute;z-index:5;left:20px;right:20px;bottom:calc(10px + var(--safe-bottom));display:flex;justify-content:space-between;gap:20px;font-size:8px;letter-spacing:.12em;color:#9d8cab}.arcade-footer b{color:var(--cyan)}

/* Title */
#title-screen{overflow:hidden;display:none;place-items:center;background:radial-gradient(circle at 50% 42%,#541339 0,#190a27 34%,#06030a 74%)}
#title-screen.active{display:grid;grid-template-columns:minmax(280px,1.15fr) minmax(260px,.85fr);gap:clamp(24px,7vw,100px);padding-left:max(28px,8vw);padding-right:max(28px,8vw)}
.title-stage{position:absolute;inset:0;opacity:.23;pointer-events:none;overflow:hidden}
.pixel-column{position:absolute;bottom:-5%;width:13%;height:58%;background:repeating-linear-gradient(90deg,#6b355e 0 14px,#32172d 14px 28px);clip-path:polygon(18% 0,82% 0,100% 100%,0 100%)}
.pixel-column:before{content:"";position:absolute;left:-15%;right:-15%;top:-9%;height:12%;background:#7f486b;box-shadow:0 13px 0 #3a1c34}
.pixel-column.c1{left:2%}.pixel-column.c2{left:27%;height:48%}.pixel-column.c3{right:27%;height:48%}.pixel-column.c4{right:2%}
.game-logo{position:relative;text-align:center;z-index:2}
.game-logo>span{display:inline-block;padding:4px 8px;background:#f8d253;color:#180b1f;font-size:16px;font-weight:1000;transform:skew(-8deg) rotate(-4deg);box-shadow:4px 4px 0 #8e1e2d}
.game-logo h1{margin:12px 0 0;font-size:clamp(54px,8vw,112px);line-height:.72;letter-spacing:-.12em;color:#f4ead0;text-shadow:5px 5px 0 #6c1021,9px 9px 0 #150918}
.game-logo h1 b{display:block;color:#f04652;font-size:.86em;text-shadow:5px 5px 0 #4f1e83,9px 9px 0 #150918}
.game-logo p{margin:28px 0 0;font-size:clamp(10px,1.4vw,15px);letter-spacing:.2em;color:var(--gold);font-weight:1000}
.title-menu{position:relative;z-index:3;display:grid;gap:12px;width:min(100%,440px)}
.difficulty-picker{position:absolute;z-index:3;bottom:34px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px;background:rgba(8,4,14,.8);border:2px solid #432553;white-space:nowrap}
.difficulty-picker span{font-size:7px;color:#a994b8;margin-right:4px}
.difficulty-picker button{padding:7px 9px;border:1px solid #675474;background:#140b20;color:#aa9ab9;font-size:7px;cursor:pointer}.difficulty-picker button.selected{background:#a82538;color:#fff4d5;border-color:#ffca60}
.title-credit{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:6px;letter-spacing:.12em;color:#766985}

/* Character select */
#character-screen{background:linear-gradient(135deg,#0a0610,#231031 47%,#0a0610);padding:22px max(20px,5vw) calc(22px + var(--safe-bottom))}
.select-header{text-align:center}.select-header h2{margin:0;font-size:clamp(30px,5vw,58px);line-height:.9;letter-spacing:-.06em}.select-header h2 span{color:var(--red)}.select-header>p:last-child{font-size:8px;color:#a99ab7;letter-spacing:.08em}
.character-layout{display:grid;grid-template-columns:minmax(340px,1.15fr) minmax(300px,.85fr);gap:clamp(18px,4vw,50px);max-width:1260px;margin:18px auto 0;min-height:0}
.character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;align-content:center}
.character-card{min-width:0;padding:8px;border:3px solid #493456;background:#130b1c;box-shadow:4px 4px 0 #020103;cursor:pointer;text-align:left;transition:transform .1s,filter .1s}
.character-card:hover{filter:brightness(1.2)}.character-card.selected{border-color:var(--gold);background:#3c1937;transform:translate(-2px,-2px);box-shadow:6px 6px 0 #09020b,0 0 18px rgba(255,212,90,.25)}
.character-card .mini-portrait{display:block;aspect-ratio:1;background:#21102f;image-rendering:pixelated;position:relative;overflow:hidden;margin-bottom:7px}
.character-card b{display:block;font-size:9px;line-height:1.05;color:#f3e9ce;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-card small{display:block;margin-top:4px;font-size:6px;color:#9c8baa;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.character-dossier{display:grid;grid-template-columns:minmax(145px,.9fr) minmax(180px,1.1fr);gap:16px;align-items:stretch;padding:16px;border:4px solid #5a3e6a;background:linear-gradient(135deg,#231134,#0e0817);box-shadow:8px 8px 0 #030105}
.large-portrait{min-height:310px;background:#150b20;position:relative;overflow:hidden;image-rendering:pixelated;border:3px solid #3f2c4a}
.dossier-copy{min-width:0}.dossier-copy>small{font-size:8px;color:var(--cyan);letter-spacing:.2em}.dossier-copy h3{margin:8px 0;font-size:clamp(23px,3.4vw,42px);line-height:.88;color:var(--gold)}.dossier-copy>p{font-size:9px;line-height:1.55;color:#c5b7cd;min-height:45px}
.fighter-stats{display:grid;gap:8px;margin:16px 0}.fighter-stats div{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:8px}.fighter-stats dt{font-size:7px;color:#a693b1}.fighter-stats dd{margin:0;height:9px;background:#08040d;border:1px solid #4b3857;padding:2px}.fighter-stats i{display:block;height:100%;width:50%;background:linear-gradient(90deg,var(--red),var(--gold))}
.move-list{border-top:2px solid #473153;padding-top:10px}.move-list>span{font-size:8px;letter-spacing:.16em;color:var(--red)}.move-list p{margin:7px 0;font-size:7px;line-height:1.3;color:#c8bad0}.move-list p:last-child{color:var(--gold)}
.select-actions{display:flex;justify-content:center;gap:12px;max-width:1260px;margin:16px auto 0}.select-actions .pixel-button{min-width:190px;align-items:center;text-align:center}

/* Pixel portraits made with layered CSS blocks */
.mini-portrait:before,.large-portrait:before{content:"";position:absolute;left:50%;top:18%;width:28%;height:24%;transform:translateX(-50%);background:var(--skin,#c58f6e);box-shadow:-8px 0 0 var(--hair,#1d1518),8px 0 0 var(--hair,#1d1518),0 34px 0 18px var(--primary,#333),-20px 60px 0 5px var(--accent,#ddd),20px 60px 0 5px var(--accent,#ddd)}
.mini-portrait:after,.large-portrait:after{content:"";position:absolute;left:50%;bottom:8%;width:62%;height:18%;transform:translateX(-50%);background:var(--accent,#ddd);clip-path:polygon(10% 0,90% 0,100% 100%,0 100%)}
.large-portrait:before{top:15%;width:22%;height:18%;box-shadow:-14px 0 0 var(--hair,#1d1518),14px 0 0 var(--hair,#1d1518),0 72px 0 52px var(--primary,#333),-58px 130px 0 11px var(--accent,#ddd),58px 130px 0 11px var(--accent,#ddd)}
.large-portrait:after{bottom:5%;height:16%}

/* Fight */
#fight-screen{padding:0;overflow:hidden;background:#000}
.fight-shell{position:absolute;inset:0;display:grid;place-items:center;background:#020104;overflow:hidden}
#game-canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;background:#05030a}
.fight-hud{position:absolute;z-index:15;left:max(14px,2.2vw);right:max(14px,2.2vw);top:12px;display:grid;grid-template-columns:1fr auto 1fr;gap:12px;pointer-events:none;text-shadow:2px 2px 0 #000}
.hud-fighter>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:8px}.hud-fighter span{font-size:clamp(8px,1.4vw,14px);font-weight:1000;color:#fff1cc}.hud-fighter small{font-size:12px;color:var(--gold)}
.hud-fighter.p2{text-align:right}.hud-fighter.p2>div:first-child{flex-direction:row}
.health{height:17px;padding:3px;background:#110913;border:2px solid #e7d7ac;box-shadow:3px 3px 0 #000;overflow:hidden}.health i{display:block;height:100%;width:100%;background:linear-gradient(90deg,#59e67a,#e2d342 68%,#ee3b48);transform-origin:left;transition:transform .12s linear}.p2 .health i{transform-origin:right}
.meter{position:relative;height:9px;margin-top:4px;background:#110913;border:1px solid #766388;overflow:visible}.meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,#4f7cff,#57f2e5,#fff);transition:width .1s}.meter b{position:absolute;top:11px;left:0;font-size:5px;letter-spacing:.15em;color:#9c8bb2}.p2 .meter b{left:auto;right:0}
.hud-center{text-align:center;min-width:86px}.hud-center span{display:block;font-size:7px;color:var(--gold);letter-spacing:.14em}.hud-center b{display:block;font-size:clamp(22px,4vw,38px);line-height:.9;color:#fff}.hud-center small{display:block;font-size:5px;color:#b3a5c0;margin-top:3px}
.announcer{position:absolute;z-index:20;left:0;right:0;top:42%;transform:translateY(-50%);text-align:center;font-size:clamp(28px,8vw,74px);font-weight:1000;color:#fff3cf;text-shadow:5px 5px 0 #8f1429,9px 9px 0 #21091c;letter-spacing:-.06em;pointer-events:none;opacity:0}.announcer.show{animation:announce .72s steps(5,end) both}.announcer.litigate{color:var(--gold);font-size:clamp(38px,11vw,104px)}
@keyframes announce{0%{opacity:0;transform:translateY(-50%) scale(2)}25%{opacity:1;transform:translateY(-50%) scale(1)}80%{opacity:1}100%{opacity:0}}
.move-banner{position:absolute;z-index:18;left:50%;bottom:20%;transform:translateX(-50%);padding:7px 12px;background:#0e0815;border:2px solid #ffd45a;color:#ffd45a;font-size:8px;letter-spacing:.12em;white-space:nowrap;opacity:0;pointer-events:none}.move-banner.show{animation:banner 1.1s steps(5,end)}
@keyframes banner{0%{opacity:0;transform:translate(-50%,8px)}12%,75%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}
.fight-pause{position:absolute;z-index:30;right:12px;bottom:calc(12px + var(--safe-bottom));width:36px;height:30px;border:2px solid #8f789f;background:#150b20;box-shadow:3px 3px 0 #000;color:#fff;cursor:pointer}
.touch-controls{position:absolute;z-index:25;inset:auto 0 calc(4px + var(--safe-bottom));height:min(38vh,205px);pointer-events:none;display:none}
.joystick{pointer-events:auto;position:absolute;left:max(14px,4vw);bottom:8px;width:clamp(108px,25vw,150px);aspect-ratio:1;border-radius:50%;border:3px solid rgba(255,255,255,.36);background:radial-gradient(circle,rgba(83,55,99,.62) 0 44%,rgba(13,7,20,.76) 45%);box-shadow:inset 0 0 0 10px rgba(0,0,0,.2);touch-action:none}
.joystick:before,.joystick:after{content:"";position:absolute;background:rgba(255,255,255,.14)}.joystick:before{left:49%;top:9%;bottom:9%;width:2px}.joystick:after{top:49%;left:9%;right:9%;height:2px}
.joystick i{position:absolute;left:50%;top:50%;width:45%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:linear-gradient(135deg,#ff5e68,#96182c);border:3px solid #ffd4c0;box-shadow:4px 5px 0 rgba(0,0,0,.45)}
.action-pad{pointer-events:none;position:absolute;right:max(14px,4vw);bottom:4px;width:clamp(190px,39vw,255px);height:clamp(145px,31vw,190px)}
.action{pointer-events:auto;position:absolute;width:clamp(62px,14vw,82px);aspect-ratio:1;border-radius:50%;border:3px solid rgba(255,255,255,.62);box-shadow:4px 5px 0 rgba(0,0,0,.5);display:grid;place-content:center;text-align:center;touch-action:none;user-select:none}.action b{font-size:clamp(21px,5vw,30px);line-height:.8}.action small{font-size:5px;margin-top:5px}.action:active,.action.active{transform:translate(3px,4px);box-shadow:1px 1px 0 #000;filter:brightness(1.35)}
.action.special{left:50%;top:0;transform:translateX(-50%);background:#5d35b4}.action.special:active,.action.special.active{transform:translate(-50%,4px)}
.action.punch{left:0;top:42%;background:#d52f43}.action.kick{right:0;top:42%;background:#d99328}.action.guard{left:50%;bottom:0;transform:translateX(-50%);background:#238c76}.action.guard:active,.action.guard.active{transform:translate(-50%,4px)}
.overlay-panel{position:absolute;z-index:80;inset:0;display:grid;place-items:center;background:rgba(4,2,8,.8);backdrop-filter:blur(4px)}
.overlay-panel .panel{width:min(420px,88vw);padding:26px;background:#120a1c;border:4px solid #6d547b;box-shadow:10px 10px 0 #000;text-align:center}.overlay-panel h2{font-size:44px;margin:0 0 18px;color:var(--gold)}.overlay-panel .pixel-button{width:100%;align-items:center;margin-top:10px}

/* Results */
#result-screen{background:radial-gradient(circle at 50% 42%,#48203b,#110817 55%,#040206);text-align:center;display:none;place-content:center;justify-items:center}
#result-screen.active{display:grid}
.result-seal{display:grid;place-content:center;width:150px;aspect-ratio:1;border-radius:50%;border:9px double #f5cc55;color:#f5cc55;font-size:26px;font-weight:1000;transform:rotate(-9deg);box-shadow:0 0 0 6px #a12637,0 0 40px rgba(255,212,90,.25)}
#result-screen h2{font-size:clamp(42px,8vw,84px);line-height:.82;margin:18px 0 10px;color:#fff1cf;text-shadow:5px 5px 0 #9c1730}
#result-copy{max-width:670px;font-size:11px;line-height:1.6;color:#c6b7cc}
.ladder-progress{display:flex;gap:8px;margin:14px 0 22px}.ladder-progress i{width:52px;height:11px;background:#2a1734;border:2px solid #644772}.ladder-progress i.won{background:#61e68a;border-color:#caffd3}.ladder-progress i.lost{background:#e34050;border-color:#ffc1c8}.ladder-progress i.current{background:#ffd45a;border-color:#fff1b3;animation:blink .7s steps(2,end) infinite}
@keyframes blink{50%{filter:brightness(.45)}}
.result-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}.result-actions .pixel-button{min-width:190px;align-items:center;text-align:center}

/* Dialog */
.how-dialog{width:min(920px,94vw);max-height:88vh;padding:0;border:4px solid #725487;background:#100919;color:var(--ink);box-shadow:12px 12px 0 #000}.how-dialog::backdrop{background:rgba(2,1,4,.86)}.how-dialog form{position:relative;padding:24px}.how-dialog h2{margin:0 0 18px;font-size:clamp(34px,6vw,64px);line-height:.85}.how-dialog h2 span{color:var(--red)}.dialog-close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:2px solid #695176;background:#21112d;color:#fff;font-size:25px;cursor:pointer}.how-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.how-grid section{padding:14px;border:2px solid #493657;background:#180d23}.how-grid h3{margin:0 0 9px;color:var(--gold);font-size:13px}.how-grid p,.how-grid li{font-size:8px;line-height:1.55;color:#c5b6cd}.how-grid ul{margin:8px 0 0;padding-left:18px}.how-grid .warning{color:#ff7887}.how-dialog .pixel-button{width:100%;align-items:center}

/* Responsive */
@media (pointer:coarse),(max-width:900px){
  .touch-controls{display:block}
  .fight-pause{bottom:auto;top:76px;right:7px}
}
@media (max-width:900px){
  #app{padding-top:calc(45px + var(--safe-top))}.site-bar{height:calc(45px + var(--safe-top));padding-left:8px;padding-right:8px}.screen{inset:calc(45px + var(--safe-top)) 0 0}
  .site-wordmark span{display:none}.site-wordmark b{font-size:8px}.site-home{font-size:7px!important;padding:7px!important}.icon-button{width:30px;height:30px}
  #title-screen.active{grid-template-columns:1fr;align-content:center;gap:26px;padding:20px 22px 72px}.game-logo h1{font-size:clamp(58px,15vw,100px)}.game-logo p{margin-top:20px}.title-menu{margin:auto}.difficulty-picker{bottom:28px;max-width:95vw;overflow-x:auto}.title-credit{display:none}
  .character-layout{grid-template-columns:1fr}.character-grid{grid-template-columns:repeat(4,1fr)}.character-dossier{grid-template-columns:150px 1fr}.large-portrait{min-height:250px}.select-actions{position:sticky;bottom:0;padding:10px 0;background:linear-gradient(transparent,#090510 22%)}
}
@media (max-width:680px){
  #arcade-screen{padding-left:8px;padding-right:8px}.arcade-heading{margin-bottom:8px}.arcade-heading h1{font-size:52px}.cabinet-row{justify-content:flex-start;height:70vh;padding-left:calc(50vw - 112px);padding-right:calc(50vw - 112px)}.cabinet{flex-basis:224px}.arcade-footer span{display:none}
  #character-screen{padding:14px 10px calc(12px + var(--safe-bottom))}.select-header>p:last-child{display:none}.character-layout{margin-top:8px;gap:10px}.character-grid{grid-template-columns:repeat(4,1fr);gap:6px}.character-card{padding:5px;border-width:2px}.character-card b{font-size:7px}.character-card small{display:none}.character-dossier{grid-template-columns:110px 1fr;padding:9px;gap:10px;border-width:3px}.large-portrait{min-height:190px}.dossier-copy h3{font-size:24px}.dossier-copy>p{font-size:7px;min-height:30px}.fighter-stats{margin:8px 0;gap:5px}.fighter-stats div{grid-template-columns:68px 1fr}.move-list p{font-size:6px;margin:4px 0}.select-actions{gap:6px}.select-actions .pixel-button{min-width:0;flex:1;padding:8px;font-size:7px}
  .fight-hud{left:6px;right:6px;top:5px;gap:5px}.hud-center{min-width:60px}.hud-fighter span{font-size:7px}.health{height:12px;border-width:1px}.hud-fighter small{font-size:8px}.meter b{display:none}.hud-center span{font-size:5px}.hud-center b{font-size:22px}.hud-center small{font-size:4px}
  .how-grid{grid-template-columns:1fr}.how-dialog form{padding:18px}.result-actions{display:grid;width:min(330px,90vw)}
}
@media (orientation:portrait) and (pointer:coarse){
  #fight-screen:before{content:"ROTATE FOR THE FULL RECORD";position:absolute;z-index:60;left:50%;top:78px;transform:translateX(-50%);padding:5px 8px;background:#210d22;border:1px solid #f0c85b;color:#f0c85b;font-size:6px;letter-spacing:.12em;white-space:nowrap;pointer-events:none}
  .touch-controls{height:30vh}.joystick{width:31vw}.action-pad{width:46vw;height:36vw}.action{width:16vw}
}
@media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}

/* ============================================================
   GP046 — MK II / MK III ADAPTIVE PRESENTATION + 2P LAN COURT
   ============================================================ */
.visual-badge{align-self:center;padding:5px 7px;border:1px solid #775c86;background:#180d23;color:#f7cf5c;font-size:6px;letter-spacing:.12em;white-space:nowrap;box-shadow:2px 2px 0 #000}
.fight-profile{display:block;margin:0 auto 2px;color:#6ff0dc;font:900 5px/1 var(--pixel);letter-spacing:.15em;text-transform:uppercase}
.lan-button{border-color:#68eadb;background:linear-gradient(135deg,#183951,#15102b);box-shadow:5px 5px 0 #071419,0 0 20px rgba(87,242,229,.12)}
.lan-button small{color:#a9eee4}
html[data-arcade-profile="mk2"]{--profile-accent:#f1c24c}
html[data-arcade-profile="mk3"]{--profile-accent:#64efd9}
html[data-arcade-profile="mk2"] #game-canvas{image-rendering:pixelated;filter:saturate(.92) contrast(1.07)}
html[data-arcade-profile="mk3"] #game-canvas{image-rendering:auto;filter:saturate(1.12) contrast(1.035)}
html[data-arcade-profile="mk2"] .fight-shell:after,
html[data-arcade-profile="mk3"] .fight-shell:after{content:"";position:absolute;z-index:12;inset:0;pointer-events:none;mix-blend-mode:overlay}
html[data-arcade-profile="mk2"] .fight-shell:after{background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(4,0,8,.15) 3px 4px);opacity:.48}
html[data-arcade-profile="mk3"] .fight-shell:after{background:linear-gradient(90deg,rgba(255,40,70,.025),transparent 18%,transparent 82%,rgba(60,220,255,.025)),repeating-linear-gradient(0deg,transparent 0 5px,rgba(255,255,255,.018) 5px 6px);opacity:.62}
html[data-arcade-profile="mk3"] .health{border-color:#fff3cb;box-shadow:3px 3px 0 #000,0 0 14px rgba(255,212,90,.15)}
html[data-arcade-profile="mk3"] .meter i{box-shadow:0 0 9px #57f2e5}
html[data-arcade-profile="mk3"] .announcer{text-shadow:4px 4px 0 #8f1429,8px 8px 0 #21091c,0 0 22px rgba(255,212,90,.26)}

/* LAN screen */
#lan-screen{background:radial-gradient(circle at 50% 10%,#342046 0,#120a1d 44%,#050309 100%);padding:22px max(18px,4vw) calc(18px + var(--safe-bottom));overflow:auto}
.lan-backdrop{position:absolute;inset:0;overflow:hidden;pointer-events:none;opacity:.3}.lan-backdrop:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 58px,rgba(255,255,255,.03) 58px 60px),repeating-linear-gradient(0deg,transparent 0 38px,rgba(255,255,255,.025) 38px 40px);transform:perspective(500px) rotateX(58deg) scale(1.7);transform-origin:bottom}.lan-backdrop i{position:absolute;top:-20%;width:2px;height:140%;background:linear-gradient(transparent,#57f2e5,transparent);filter:blur(1px);animation:lanSweep 7s linear infinite}.lan-backdrop i:nth-child(1){left:18%}.lan-backdrop i:nth-child(2){left:51%;animation-delay:-2.2s}.lan-backdrop i:nth-child(3){left:82%;animation-delay:-4.6s}@keyframes lanSweep{to{transform:translateY(35%)}}
.lan-header,.lan-layout,.lan-footer{position:relative;z-index:2;max-width:1320px;margin-left:auto;margin-right:auto}.lan-header{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:16px}.lan-header h2{margin:0;font-size:clamp(34px,5vw,68px);line-height:.82;letter-spacing:-.07em}.lan-header h2 span{display:block;color:#ef4753}.lan-header>div>p:last-child{max-width:720px;margin:12px 0 0;color:#b9aac5;font-size:8px;line-height:1.5}.lan-security{flex:none;padding:10px 14px;border:2px solid #57f2e5;background:#071b20;box-shadow:5px 5px 0 #020607;text-align:right}.lan-security b{display:block;color:#82ffed;font-size:10px}.lan-security small{display:block;margin-top:4px;color:#8eb6b1;font-size:6px}
.lan-layout{display:grid;grid-template-columns:minmax(400px,1.05fr) minmax(420px,.95fr);gap:18px}.lan-fighter-panel,.lan-connect-panel{min-width:0;padding:16px;border:3px solid #5a4168;background:linear-gradient(135deg,rgba(37,19,54,.94),rgba(11,6,18,.96));box-shadow:8px 8px 0 #020103}.lan-connect-panel{border-color:#406477;background:linear-gradient(135deg,rgba(11,35,47,.94),rgba(9,6,18,.96))}.lan-section-title{display:flex;align-items:center;gap:10px;margin-bottom:12px}.lan-section-title>span{display:grid;place-items:center;width:34px;height:34px;background:#ee3b48;color:#fff3d4;font-size:13px;font-weight:1000;box-shadow:3px 3px 0 #4b0b18}.lan-section-title b{display:block;color:#f6e8c9;font-size:11px;letter-spacing:.08em}.lan-section-title small{display:block;margin-top:3px;color:#a99ab7;font-size:6px;line-height:1.3}.lan-name-label,.lan-role-panel>label,.lan-answer-box label,.lan-signal-copy label{display:block;color:#aebfcf;font-size:7px;letter-spacing:.12em}.lan-name-label input,.lan-role-panel textarea,.lan-answer-box textarea,.lan-signal-copy textarea{display:block;width:100%;margin-top:6px;padding:9px;background:#07050c;color:#fff1d1;border:2px solid #58466a;box-shadow:inset 0 0 0 2px #110c19;font:800 9px/1.35 var(--pixel);resize:vertical}.lan-name-label input{height:39px;resize:none}.lan-role-panel textarea,.lan-answer-box textarea,.lan-signal-copy textarea{min-height:76px;word-break:break-all}.lan-character-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:12px 0}.lan-fighter-card{min-width:0;padding:5px;border:2px solid #493456;background:#110a18;color:#f4ead0;cursor:pointer;box-shadow:3px 3px 0 #020103}.lan-fighter-card canvas{display:block;width:100%;aspect-ratio:1;image-rendering:pixelated;background:#1d1129}.lan-fighter-card b{display:block;margin-top:4px;font-size:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lan-fighter-card.selected{border-color:#ffd45a;background:#3c1834;transform:translate(-1px,-1px);box-shadow:4px 4px 0 #080208,0 0 12px rgba(255,212,90,.2)}.lan-selection-summary{display:grid;grid-template-columns:115px 1fr;gap:12px;align-items:center;padding:10px;border:2px solid #4e3b59;background:#0b0711}.lan-selection-summary canvas{display:block;width:115px;height:145px;image-rendering:pixelated;background:#160d20}.lan-selection-summary small{color:#62ead7;font-size:6px;letter-spacing:.14em}.lan-selection-summary b{display:block;margin:6px 0;color:#ffd45a;font-size:18px;line-height:.9}.lan-selection-summary p{margin:0;color:#bcaec6;font-size:7px;line-height:1.5}
.lan-role-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:5px 0 12px}.lan-role-tabs button,.lan-inline-actions button{border:2px solid #4c6171;background:#0b1d28;color:#b8d7df;padding:9px 8px;font-weight:900;font-size:7px;cursor:pointer;box-shadow:3px 3px 0 #020507}.lan-role-tabs button.selected{border-color:#57f2e5;background:#14505a;color:#f1ffff}.lan-role-panel>.pixel-button{width:100%;align-items:center;text-align:center}.lan-signal-card{display:grid;grid-template-columns:170px 1fr;gap:12px;margin-top:12px;padding:10px;border:2px solid #4f7380;background:#081820}.lan-qr-wrap{display:grid;place-items:center;gap:6px;padding:8px;background:#f4eddc;color:#111}.lan-qr-wrap img{display:block;width:150px;height:150px;object-fit:contain;image-rendering:pixelated}.lan-qr-wrap b{font-size:6px;letter-spacing:.08em}.lan-signal-copy{min-width:0}.lan-inline-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.lan-inline-actions button{flex:1;min-width:76px}.lan-inline-actions .primary-mini{border-color:#ffbf57;background:#a62939;color:#fff3d2}.lan-answer-box{margin-top:12px;padding:10px;border:2px solid #775c86;background:#130d1b}.lan-status-panel{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;margin-top:13px;padding:11px;border:2px solid #364956;background:#070f16}.lan-status-panel>i{width:14px;height:14px;border-radius:50%;background:#7e303b;box-shadow:0 0 12px #7e303b}.lan-status-panel.connected>i{background:#55ef91;box-shadow:0 0 15px #55ef91}.lan-status-panel.connecting>i{background:#f5ca50;box-shadow:0 0 14px #f5ca50;animation:blink .65s steps(2,end) infinite}.lan-status-panel small{display:block;color:#7993a0;font-size:5px;letter-spacing:.15em}.lan-status-panel b{display:block;margin-top:3px;color:#f0e8d1;font-size:9px}.lan-status-panel p{margin:3px 0 0;color:#93a8b1;font-size:6px;line-height:1.3}.lan-status-panel>span{color:#6af2df;font-size:8px}.lan-opponent{margin-top:8px;padding:9px;border-left:4px solid #ef4753;background:#1d0d18}.lan-opponent small{display:block;color:#c8919b;font-size:5px}.lan-opponent b{display:block;margin:3px 0;color:#fff0d2;font-size:10px}.lan-opponent span{color:#f3c95a;font-size:7px}.lan-ready-row{display:grid;grid-template-columns:1fr 1.3fr;gap:8px;margin-top:10px}.lan-ready-row .pixel-button{min-width:0;align-items:center;text-align:center;padding:9px;font-size:8px}.lan-ready-row button:disabled{filter:grayscale(.65) brightness(.55);cursor:not-allowed}.lan-note{margin:9px 0 0;color:#8397a0;font-size:6px;line-height:1.45}.lan-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:12px}.lan-footer .pixel-button{min-height:40px;padding:8px 13px;font-size:7px}.lan-footer span{color:#7eb8c0;font-size:6px;letter-spacing:.09em;text-align:right}
.lan-scanner{position:fixed;z-index:200;inset:0;display:grid;place-items:center;padding:20px;background:rgba(2,1,5,.92)}.lan-scanner>div{width:min(520px,94vw);padding:18px;border:4px solid #5deedb;background:#07141b;box-shadow:10px 10px 0 #000;text-align:center}.lan-scanner h2{margin:0 0 10px;color:#ffd45a;font-size:26px}.lan-scan-frame{position:relative;aspect-ratio:4/3;background:#000;border:3px solid #4a6471;overflow:hidden}.lan-scan-frame:after{content:"";position:absolute;inset:12%;border:3px solid #58f1df;box-shadow:0 0 0 999px rgba(0,0,0,.38)}.lan-scan-frame video{width:100%;height:100%;object-fit:cover}.lan-scanner p{color:#a8bec5;font-size:7px;line-height:1.4}.lan-scanner button{width:100%}

/* Canvas portraits replace the old one-shape-fits-all silhouettes. */
.mini-portrait canvas,.large-portrait canvas{display:block;width:100%;height:100%;image-rendering:pixelated}.mini-portrait:before,.mini-portrait:after,.large-portrait:before,.large-portrait:after{display:none!important}
.large-portrait{padding:0}

@media(max-width:980px){
  .visual-badge{display:none}.lan-layout{grid-template-columns:1fr}.lan-header{align-items:flex-start}.lan-security{display:none}.lan-character-grid{grid-template-columns:repeat(4,1fr)}
}
@media(max-width:680px){
  #lan-screen{padding:12px 8px calc(10px + var(--safe-bottom))}.lan-header{margin-bottom:9px}.lan-header h2{font-size:38px}.lan-header>div>p:last-child{display:none}.lan-fighter-panel,.lan-connect-panel{padding:10px;border-width:2px;box-shadow:4px 4px 0 #020103}.lan-section-title{margin-bottom:7px}.lan-section-title>span{width:28px;height:28px;font-size:10px}.lan-section-title small{display:none}.lan-name-label input{height:34px}.lan-character-grid{gap:4px;margin:7px 0}.lan-fighter-card{padding:3px}.lan-fighter-card b{font-size:5px}.lan-selection-summary{grid-template-columns:82px 1fr;padding:7px;gap:8px}.lan-selection-summary canvas{width:82px;height:104px}.lan-selection-summary b{font-size:14px}.lan-selection-summary p{font-size:6px}.lan-signal-card{grid-template-columns:118px 1fr;padding:7px;gap:7px}.lan-qr-wrap img{width:104px;height:104px}.lan-role-panel textarea,.lan-answer-box textarea,.lan-signal-copy textarea{min-height:58px;font-size:7px}.lan-ready-row{grid-template-columns:1fr}.lan-footer span{display:none}.lan-footer .pixel-button{width:100%}
}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){
  #lan-screen{padding-top:6px}.lan-header{display:none}.lan-layout{grid-template-columns:.9fr 1.1fr;gap:7px}.lan-fighter-panel,.lan-connect-panel{padding:7px}.lan-section-title{display:none}.lan-name-label{display:none}.lan-character-grid{grid-template-columns:repeat(4,1fr);margin:0 0 5px}.lan-fighter-card canvas{max-height:54px}.lan-selection-summary{grid-template-columns:54px 1fr}.lan-selection-summary canvas{width:54px;height:66px}.lan-selection-summary p{display:none}.lan-role-tabs{margin:0 0 5px}.lan-role-tabs button,.lan-inline-actions button{padding:5px}.lan-signal-card{grid-template-columns:82px 1fr;margin-top:5px}.lan-qr-wrap{padding:3px}.lan-qr-wrap img{width:72px;height:72px}.lan-role-panel textarea,.lan-answer-box textarea,.lan-signal-copy textarea{min-height:42px}.lan-status-panel{margin-top:5px;padding:6px}.lan-opponent{margin-top:4px;padding:5px}.lan-ready-row{margin-top:5px;grid-template-columns:1fr 1.2fr}.lan-ready-row .pixel-button{min-height:34px;padding:4px}.lan-note{display:none}.lan-footer{margin-top:5px}.lan-footer .pixel-button{min-height:30px}
}

/* Pre-fight appellate-versus card */
.versus-overlay{position:absolute;z-index:70;inset:0;display:grid;grid-template-columns:1fr auto 1fr;grid-template-rows:1fr auto;align-items:center;gap:10px 20px;padding:42px max(25px,8vw) 24px;background:radial-gradient(circle at 50% 40%,#55213f 0,#170a20 45%,#030105 100%);overflow:hidden}.versus-overlay:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 4px,rgba(255,255,255,.035) 4px 5px),linear-gradient(90deg,rgba(235,47,68,.16),transparent 42%,transparent 58%,rgba(61,220,240,.14));pointer-events:none}.versus-stage-name{position:absolute;left:50%;top:18px;transform:translateX(-50%);text-align:center}.versus-stage-name small{display:block;color:#9a879d;font-size:5px;letter-spacing:.2em}.versus-stage-name b{display:block;margin-top:4px;color:#f5d261;font-size:9px;letter-spacing:.11em;white-space:nowrap}.versus-fighter{position:relative;z-index:2;display:grid;justify-items:center;align-content:center;text-align:center;animation:vsEnter .42s steps(5,end) both}.versus-fighter.v-left{animation-name:vsLeft}.versus-fighter.v-right{animation-name:vsRight}.versus-fighter canvas{display:block;width:min(230px,30vw);height:min(300px,42vh);object-fit:contain;image-rendering:pixelated;filter:drop-shadow(9px 11px 0 rgba(0,0,0,.58))}.versus-fighter span{margin-top:-8px;color:#7cebdc;font-size:6px;letter-spacing:.16em}.versus-fighter b{max-width:340px;margin-top:7px;color:#fff0cf;font-size:clamp(18px,3vw,34px);line-height:.88;text-shadow:4px 4px 0 #78142a}.versus-mark{position:relative;z-index:3;color:#ffd45a;font-size:clamp(62px,12vw,132px);font-weight:1000;line-height:.7;letter-spacing:-.18em;text-shadow:6px 6px 0 #9f1831,10px 10px 0 #160718;transform:rotate(-8deg)}.versus-mark span{color:#ef3e4c}.versus-overlay>p{position:relative;z-index:2;grid-column:1/-1;margin:0;text-align:center;color:#af9db7;font-size:7px;letter-spacing:.12em}.versus-overlay.closing{animation:vsClose .28s steps(4,end) both}@keyframes vsLeft{from{transform:translateX(-80px);opacity:0}to{transform:none;opacity:1}}@keyframes vsRight{from{transform:translateX(80px);opacity:0}to{transform:none;opacity:1}}@keyframes vsClose{to{opacity:0;filter:brightness(2.4);transform:scale(1.08)}}
html[data-arcade-profile="mk3"] .versus-fighter canvas{image-rendering:auto}.versus-overlay[hidden]{display:none!important}
@media(max-width:680px){.versus-overlay{padding:34px 12px 14px;gap:4px 7px}.versus-fighter canvas{width:28vw;height:46vh}.versus-fighter b{font-size:15px}.versus-mark{font-size:58px}.versus-overlay>p{font-size:5px}.versus-stage-name{top:9px}}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){.versus-overlay{padding-top:25px}.versus-fighter canvas{height:55vh}.versus-fighter span{display:none}.versus-fighter b{font-size:12px}.versus-overlay>p{display:none}}

@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){
  .joystick{width:100px;left:12px;bottom:4px}.action-pad{width:198px;height:145px;right:9px;bottom:0}.action{width:64px;opacity:.88}.action.active,.action:active{opacity:1}.touch-controls{height:155px}
}

/* ============================================================
   GP047 — DEPRAVITY INTENSITY + GORY-EPIC FINISHER PRESENTATION
   ============================================================ */
.difficulty-picker{bottom:54px}
.depravity-picker{position:absolute;z-index:3;bottom:14px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;padding:7px;background:rgba(8,4,14,.88);border:2px solid #5b1f36;white-space:nowrap;box-shadow:0 0 18px rgba(238,59,72,.12)}
.depravity-picker span{font-size:7px;color:#e6a5ae;margin-right:4px;font-weight:900;letter-spacing:.08em}
.depravity-picker button{padding:7px 9px;border:1px solid #6e3a48;background:#170912;color:#bb8a93;font-size:7px;cursor:pointer}
.depravity-picker button.selected{background:linear-gradient(#e33a48,#841426);color:#fff4d5;border-color:#ffcc63;box-shadow:0 0 10px rgba(255,38,63,.24)}
.title-credit{top:8px;bottom:auto;font-size:5px;opacity:.72}
html[data-arcade-profile="mk3"] .depravity-picker{border-color:#7b263d;background:rgba(16,4,12,.92)}
html[data-arcade-profile="mk2"] .depravity-picker{box-shadow:none}
@media(max-width:900px){
  #title-screen.active{padding-bottom:112px}
  .difficulty-picker{bottom:53px;max-width:96vw;overflow-x:auto}
  .depravity-picker{bottom:11px;max-width:96vw;overflow-x:auto}
  .difficulty-picker span,.depravity-picker span{position:sticky;left:0;background:inherit;padding-left:2px}
}
@media(max-width:560px){
  .difficulty-picker,.depravity-picker{gap:4px;padding:5px}
  .difficulty-picker button,.depravity-picker button{padding:6px 7px;font-size:6px}
  .difficulty-picker span,.depravity-picker span{font-size:6px}
}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){
  #title-screen.active{grid-template-columns:.9fr 1.1fr;gap:18px;padding:8px 18px 84px}
  .game-logo h1{font-size:58px}.game-logo p{font-size:8px;margin-top:14px}.title-menu{gap:6px}.title-menu .pixel-button{min-height:36px;padding:6px 10px;font-size:8px}.title-menu .pixel-button small{font-size:5px}
  .difficulty-picker{bottom:42px}.depravity-picker{bottom:6px}
}
body.depravity-active .site-bar{border-bottom-color:#b50f29;box-shadow:0 4px 0 rgba(0,0,0,.7),0 0 22px rgba(255,38,63,.26)}
body.depravity-active .fight-shell{box-shadow:inset 0 0 0 4px #6f0716,inset 0 0 55px rgba(160,0,24,.24),0 0 30px rgba(255,38,63,.18)}
body.depravity-active .fight-hud{filter:saturate(1.35) contrast(1.06)}
body.depravity-active .touch-controls{filter:saturate(1.12)}
@media(prefers-reduced-motion:reduce){body.depravity-active .fight-shell{box-shadow:inset 0 0 0 3px #6f0716}}
body.depravity-active .fight-hud{opacity:.08;transition:opacity .16s steps(2,end)}
body.depravity-active .touch-controls,body.depravity-active .fight-pause{opacity:.16;transition:opacity .16s steps(2,end)}
body.depravity-active #game-canvas{filter:saturate(1.3) contrast(1.08)}
body.depravity-active .touch-controls,body.depravity-active .fight-pause{opacity:.035;pointer-events:none}

/* ============================================================
   GP048 — CLOSING ARGUMENT / 32–64 BIT GAMEPLAY POLISH
   ============================================================ */
.move-list.expanded{padding-top:8px}.move-list.expanded>span{display:block;margin-bottom:7px}.move-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}.move-grid p{margin:0;padding:5px 6px;background:rgba(255,255,255,.035);border-left:2px solid #5f3d6c;font-size:6px;line-height:1.35}.procedurality-move{margin-top:7px!important;padding:7px!important;border:1px solid #b4263c!important;background:rgba(173,25,49,.12)!important;color:#ffd562!important}
.special-context{position:absolute;z-index:24;left:50%;bottom:11px;transform:translateX(-50%);max-width:min(620px,62vw);padding:6px 10px;border:1px solid rgba(255,212,90,.65);background:rgba(10,5,15,.84);color:#ffe293;font:900 6px/1.25 var(--pixel);letter-spacing:.08em;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;box-shadow:0 0 13px rgba(255,212,90,.1)}.special-context.insufficient{border-color:#6b3442;color:#a9838b}.special-context.closing{bottom:17%;max-width:90vw;border-color:#ff314b;background:#260008;color:#fff0c4;font-size:8px;animation:closingPulse .6s steps(2,end) infinite}
.fight-pause{width:auto;min-width:70px;padding:0 8px;display:flex;align-items:center;justify-content:center;gap:6px}.fight-pause b{font-size:13px}.fight-pause span{font:900 6px/1 var(--pixel);letter-spacing:.08em}
.pause-moves{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin:0 0 12px;text-align:left}.pause-moves b{grid-column:1/-1;color:#ffd45a;font-size:10px;text-align:center;margin-bottom:3px}.pause-moves span{padding:6px;border-left:2px solid #5de0d0;background:#1a1025;color:#d9cde0;font-size:6px;line-height:1.3}.pause-tip{margin:0 0 12px;color:#83daca;font-size:6px;line-height:1.45;letter-spacing:.06em}.overlay-panel button:disabled{opacity:.38;cursor:not-allowed}
.closing-overlay{position:absolute;z-index:19;inset:0;pointer-events:none;overflow:hidden;background:radial-gradient(circle at 50% 48%,rgba(63,0,16,.18),rgba(0,0,0,.62) 62%,rgba(0,0,0,.91));display:grid;place-items:center}.closing-overlay[hidden]{display:none!important}.closing-overlay .shroud{position:absolute;top:-8%;bottom:-8%;width:42%;background:linear-gradient(90deg,rgba(0,0,0,.94),rgba(38,0,18,.78),rgba(0,0,0,.25));filter:blur(8px);opacity:.92}.closing-overlay .s1{left:-4%;animation:shroudLeft .58s steps(7,end) both}.closing-overlay .s2{right:-4%;transform:scaleX(-1);animation:shroudRight .58s steps(7,end) both}.closing-overlay .s3{left:23%;width:28%;opacity:.55;animation:shroudLeft .76s steps(8,end) both}.closing-overlay .s4{right:23%;width:28%;opacity:.55;transform:scaleX(-1);animation:shroudRight .76s steps(8,end) both}.closing-overlay>div{position:relative;z-index:2;text-align:center;opacity:0;animation:closingCopy .64s .48s steps(6,end) forwards}.closing-overlay small{display:block;color:#d7b5b9;font:900 6px/1 var(--pixel);letter-spacing:.2em}.closing-overlay b{display:block;margin-top:12px;color:#d80f31;font:1000 clamp(39px,9vw,88px)/.78 var(--display);letter-spacing:-.05em;text-shadow:4px 4px 0 #210006,7px 7px 0 #000,0 0 20px rgba(255,24,55,.32);transform:rotate(-2deg)}.closing-overlay span{display:block;margin-top:16px;color:#ffe5ad;font:900 7px/1.2 var(--pixel);letter-spacing:.12em;opacity:.58}.closing-overlay.ready span{opacity:1;color:#fff1bd;animation:closingPulse .58s steps(2,end) infinite}.closing-overlay.ready b{color:#ff2947;filter:saturate(1.2) brightness(1.06)}
.announcer.closing{color:#ee1437;font-size:clamp(34px,9vw,90px);text-shadow:4px 4px 0 #210005,8px 8px 0 #000,0 0 20px rgba(255,16,52,.38)}
body.closing-argument .fight-hud{opacity:.18;filter:saturate(.35) brightness(.48);transition:opacity .22s steps(3,end)}body.closing-argument #game-canvas{filter:saturate(.68) contrast(1.12) brightness(.66)}body.closing-argument .fight-pause{opacity:.12;pointer-events:none}body.closing-argument .touch-controls{filter:saturate(.6) brightness(.74)}body.closing-argument .special-context{z-index:27}
.action.special.depravity-ready{background:radial-gradient(circle,#ff455b 0 35%,#8f061e 36% 70%,#260008 71%);border-color:#fff0be;box-shadow:0 0 0 5px rgba(214,12,46,.25),0 0 28px rgba(255,32,64,.72),4px 5px 0 rgba(0,0,0,.5);animation:closingButton .55s steps(2,end) infinite}.action.special.depravity-ready b{font-size:34px;color:#fff0c0}.action.special.depravity-ready small{color:#fff;font-size:5px}
@keyframes shroudLeft{from{transform:translateX(-112%)}to{transform:translateX(0)}}@keyframes shroudRight{from{transform:scaleX(-1) translateX(-112%)}to{transform:scaleX(-1) translateX(0)}}@keyframes closingCopy{from{opacity:0;transform:scale(1.7)}to{opacity:1;transform:scale(1)}}@keyframes closingPulse{50%{filter:brightness(1.5)}}@keyframes closingButton{50%{transform:translateX(-50%) scale(1.08);filter:brightness(1.35)}}
html[data-arcade-profile="mk64"] .fight-shell:after{content:"";position:absolute;z-index:12;inset:0;pointer-events:none;mix-blend-mode:overlay;background:linear-gradient(90deg,rgba(255,36,70,.035),transparent 20%,transparent 80%,rgba(42,221,255,.035)),repeating-linear-gradient(0deg,transparent 0 7px,rgba(255,255,255,.015) 7px 8px);opacity:.7}html[data-arcade-profile="mk64"] .health{border-color:#fff5d0;box-shadow:3px 3px 0 #000,0 0 20px rgba(255,212,90,.22)}html[data-arcade-profile="mk64"] .meter i{box-shadow:0 0 14px #57f2e5}html[data-arcade-profile="mk64"] .announcer{text-shadow:4px 4px 0 #8f1429,8px 8px 0 #21091c,0 0 30px rgba(255,212,90,.34)}html[data-arcade-profile="mk64"] #game-canvas{image-rendering:auto;filter:saturate(1.08) contrast(1.04)}html[data-arcade-profile="mk64"] .versus-fighter canvas{image-rendering:auto;filter:drop-shadow(10px 13px 0 rgba(0,0,0,.62)) drop-shadow(0 0 18px rgba(255,212,90,.12))}
@media(max-width:900px){.special-context{bottom:4px;max-width:52vw;font-size:5px}.fight-pause{min-width:38px;padding:0 5px}.fight-pause span{display:none}.move-grid{grid-template-columns:1fr}.pause-moves{grid-template-columns:1fr 1fr}.closing-overlay b{font-size:clamp(34px,12vw,62px)}}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){.special-context{bottom:3px;max-width:43vw;padding:4px 7px}.special-context.closing{bottom:7px;max-width:60vw}.closing-overlay b{font-size:42px}.closing-overlay span{margin-top:9px;font-size:5px}.pause-moves{max-height:34vh;overflow:auto}.overlay-panel .panel{padding:15px}.overlay-panel h2{font-size:32px;margin-bottom:8px}}
@media(prefers-reduced-motion:reduce){.closing-overlay .shroud,.closing-overlay>div,.action.special.depravity-ready{animation:none!important}.closing-overlay>div{opacity:1}.closing-overlay span{opacity:1}}

/* ============================================================
   GP049 — PRECEDENT ENGINE / COMBAT DOCTRINE
   ============================================================ */
.combat-doctrine{position:absolute;z-index:23;left:50%;top:79px;transform:translateX(-50%);display:grid;grid-template-columns:auto auto;align-items:center;gap:5px 10px;max-width:min(720px,80vw);padding:5px 9px;border:1px solid rgba(112,235,218,.38);background:rgba(4,8,14,.68);box-shadow:0 0 14px rgba(82,236,217,.08);pointer-events:none;white-space:nowrap;transition:opacity .14s,filter .14s}.combat-doctrine b{grid-row:1/3;color:#74eadb;font:900 5px/1.1 var(--pixel);letter-spacing:.12em}.combat-doctrine span{color:#f8e3a3;font:900 6px/1.1 var(--pixel);letter-spacing:.07em}.combat-doctrine small{color:#8eabb2;font:900 5px/1.1 var(--pixel);letter-spacing:.05em}.combat-doctrine.active{border-color:#ffd45a;box-shadow:0 0 18px rgba(255,212,90,.24);filter:brightness(1.15)}
.breaker-prompt{position:absolute;z-index:28;left:50%;top:44%;transform:translate(-50%,-50%) rotate(-1deg);min-width:min(430px,86vw);padding:12px 18px;border:3px solid #c6fff6;background:linear-gradient(180deg,rgba(4,44,49,.96),rgba(4,15,24,.96));box-shadow:6px 7px 0 #000,0 0 28px rgba(91,244,222,.44);text-align:center;pointer-events:none;animation:breakerPulse .42s steps(2,end) infinite}.breaker-prompt[hidden]{display:none!important}.breaker-prompt b{display:block;color:#7dffe9;font:1000 clamp(18px,4vw,36px)/.9 var(--display);text-shadow:3px 3px 0 #05333a}.breaker-prompt span{display:block;margin-top:7px;color:#fff2bd;font:900 6px/1.2 var(--pixel);letter-spacing:.12em}
@keyframes breakerPulse{50%{filter:brightness(1.28);transform:translate(-50%,-50%) rotate(1deg) scale(1.025)}}
.action.guard.breaker-ready,.action.special.breaker-ready{border-color:#bafff3!important;box-shadow:0 0 0 4px rgba(91,244,222,.22),0 0 25px rgba(91,244,222,.58),4px 5px 0 rgba(0,0,0,.5)!important;animation:breakerButton .45s steps(2,end) infinite}.action.guard.breaker-ready small,.action.special.breaker-ready small{color:#dffff9!important}.action.guard.breaker-ready b,.action.special.breaker-ready b{color:#fff6b8!important}
@keyframes breakerButton{50%{filter:brightness(1.45)}}
.fight-hud .health.danger{border-color:#ff4055;box-shadow:3px 3px 0 #000,0 0 18px rgba(255,32,58,.55);animation:dangerPulse .62s steps(2,end) infinite}.fight-hud .health.danger i{filter:saturate(1.55) brightness(1.22)}@keyframes dangerPulse{50%{filter:brightness(1.38)}}
body.closing-argument .combat-doctrine,body.depravity-active .combat-doctrine{opacity:.05}.special-context.breaker{border-color:#73ffe7;background:#04232c;color:#dffff8;box-shadow:0 0 18px rgba(85,244,221,.28);animation:breakerPulseText .5s steps(2,end) infinite}@keyframes breakerPulseText{50%{filter:brightness(1.4)}}
.pause-moves .doctrine-title{grid-column:1/-1;margin-top:4px;padding:7px!important;border:1px solid #826329!important;background:#261b0c!important;color:#ffd45a!important;text-align:center!important}.pause-moves .defense{border-left-color:#65ead7!important;background:#082128!important;color:#bffdf3!important}.pause-moves .offense{border-left-color:#f0c858!important;background:#251c0e!important;color:#ffe8a5!important}
html[data-arcade-profile="mk64"] .combat-doctrine{background:rgba(2,8,14,.76);border-color:rgba(112,235,218,.55);box-shadow:0 0 18px rgba(82,236,217,.15)}
@media(max-width:900px){.combat-doctrine{top:58px;max-width:73vw;padding:4px 6px;gap:3px 6px}.combat-doctrine b{display:none}.combat-doctrine span{font-size:5px}.combat-doctrine small{font-size:4px}.breaker-prompt{padding:9px 12px}.breaker-prompt b{font-size:24px}}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){.combat-doctrine{top:47px;left:50%;max-width:56vw}.combat-doctrine small{display:none}.breaker-prompt{top:38%;min-width:54vw;padding:8px}.breaker-prompt b{font-size:20px}.breaker-prompt span{font-size:5px}.fight-hud .health.danger{animation:none}}
@media(prefers-reduced-motion:reduce){.breaker-prompt,.action.guard.breaker-ready,.action.special.breaker-ready,.fight-hud .health.danger{animation:none!important}}

/* ============================================================
   GP050 — KOMBAT DOCTRINE UX / FULLSCREEN RECOVERY / BOOK BRIDGE
   ============================================================ */
a{text-decoration:none;color:inherit}
.site-actions{align-items:center}
.site-book-link{display:grid;place-items:center;height:30px;padding:0 10px;border:2px solid #d9a83e;background:linear-gradient(#5a3212,#251306);box-shadow:3px 3px 0 #000;color:#fff0b4;font:1000 7px/1 var(--pixel);letter-spacing:.08em;white-space:nowrap}
.site-book-link:hover{filter:brightness(1.25)}
.book-promo{position:relative;z-index:4;grid-column:1/-1;justify-self:center;display:grid;grid-template-columns:auto auto;align-items:center;gap:4px 14px;width:min(720px,82vw);padding:9px 14px;border:2px solid #d4a03c;background:linear-gradient(90deg,rgba(77,34,13,.94),rgba(30,12,35,.94));box-shadow:5px 5px 0 #030106,0 0 24px rgba(255,193,71,.14);color:#fff0bd}
.book-promo small{grid-row:1;font-size:6px;letter-spacing:.16em;color:#ffcf63}.book-promo b{grid-row:2;font:1000 15px/1 var(--display);letter-spacing:.08em}.book-promo span{grid-column:2;grid-row:1/3;font-size:7px;line-height:1.45;color:#e8d7bf;text-align:right}
.book-button{border-color:#d6a540!important;background:linear-gradient(#5a3212,#251306)!important;color:#fff0b4!important;text-decoration:none}.book-button small{color:#e6c989!important}
.inline-book-link{display:inline-block;padding:7px 9px;border:1px solid #d4a03c;background:#3a210c;color:#ffe29a;font-weight:1000;letter-spacing:.06em}
.character-dna,.character-palette{min-height:0!important;margin:6px 0 0!important;padding:6px 8px;border-left:3px solid var(--gold);background:rgba(255,212,90,.06);font-size:6px!important;letter-spacing:.07em!important;line-height:1.45!important;color:#e8d9b8!important}
.character-palette{border-left-color:var(--cyan);color:#aef6ec!important}
.fight-fullscreen{position:absolute;z-index:31;right:95px;bottom:calc(12px + var(--safe-bottom));min-width:92px;height:30px;padding:0 9px;border:2px solid #5de6db;background:#102b32;box-shadow:3px 3px 0 #000;color:#e6fffc;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.fight-fullscreen b{font-size:14px}.fight-fullscreen span{font:900 6px/1 var(--pixel);letter-spacing:.08em}
.orientation-recovery{position:absolute;z-index:70;left:50%;top:78px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;padding:8px 12px;border:3px solid #ffd45a;background:linear-gradient(#8f182b,#3a0a16);box-shadow:5px 5px 0 #000;color:#fff4c7;cursor:pointer;animation:blink .7s steps(2,end) infinite}
.orientation-recovery b{font-size:8px}.orientation-recovery span{font-size:6px;letter-spacing:.08em}
.fight-shell:fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;background:#020105}
.fight-shell:fullscreen #game-canvas{width:100%;height:100%;object-fit:fill}
.fight-shell:fullscreen .fight-fullscreen{right:95px;bottom:calc(12px + var(--safe-bottom))}
body.orientation-changed .fight-shell{box-shadow:inset 0 0 0 3px rgba(255,212,90,.25)}

@media(max-width:900px){
  .site-book-link{height:28px;padding:0 7px;font-size:6px}
  .book-promo{width:min(94vw,660px);padding:7px 10px;gap:3px 8px}.book-promo b{font-size:12px}.book-promo span{font-size:6px}
  .fight-fullscreen{bottom:auto;top:76px;right:52px;min-width:38px;padding:0 6px}.fight-fullscreen span{display:none}
  .orientation-recovery{top:112px}
}
@media(max-width:680px){
  .site-book-link{font-size:0;width:31px;padding:0}.site-book-link:after{content:'BOOK';font-size:5px}
  .visual-badge{display:none}
  .book-promo{grid-template-columns:1fr;text-align:center}.book-promo small,.book-promo b,.book-promo span{grid-column:1;grid-row:auto;text-align:center}.book-promo span{font-size:5px}
  .character-dna,.character-palette{font-size:5px!important;padding:4px 6px;margin-top:4px!important}
}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){
  .book-promo{position:absolute;left:50%;bottom:75px;transform:translateX(-50%);width:min(66vw,600px);grid-template-columns:auto 1fr;padding:5px 8px}.book-promo b{font-size:10px}.book-promo span{font-size:5px}
  .fight-fullscreen{top:46px;right:48px}.fight-pause{top:46px}.orientation-recovery{top:82px;padding:6px 9px}
}
body.fight-pseudo-fullscreen{overflow:hidden;background:#000}
body.fight-pseudo-fullscreen .site-bar{display:none}
body.fight-pseudo-fullscreen #fight-screen{position:fixed;inset:0;z-index:9999;display:block!important;background:#000}
body.fight-pseudo-fullscreen .fight-shell{position:fixed;inset:0;width:100vw;height:100dvh;z-index:10000}
body.fight-pseudo-fullscreen #game-canvas{width:100%;height:100%;object-fit:fill}


/* GP006 — ARCADE FEEL + FIRST-HEARING UX PASS */
#game-canvas:focus{outline:3px solid rgba(255,212,90,.48);outline-offset:-3px}
@media (min-width:901px) and (pointer:fine){
  .site-button,.site-book-link{font-size:10px;min-height:40px;padding:9px 12px}.site-brand small{font-size:8px}.site-brand b{font-size:15px}
  .pixel-button{font-size:13px;min-height:56px;padding:13px 18px}.pixel-button small{font-size:9px;line-height:1.35}
  .character-card b{font-size:10px}.character-card small{font-size:8px}.character-copy p,.character-dna,.character-palette{font-size:10px!important}.stat-row span{font-size:9px}
  .fight-hud .hud-fighter span{font-size:12px}.fight-hud .hud-fighter small{font-size:10px}.fight-hud .meter b{font-size:8px}.hud-center i{font-size:8px}.hud-center span{font-size:10px}.hud-center small{font-size:8px}
  .combat-doctrine{top:88px;padding:8px 12px;gap:7px 14px}.combat-doctrine b{font-size:8px}.combat-doctrine span{font-size:10px}.combat-doctrine small{font-size:8px}
  .special-context{font-size:10px;padding:8px 13px}.fight-pause,.fight-fullscreen{min-width:96px;padding:8px 11px}.fight-pause span,.fight-fullscreen span{font-size:9px}.fight-pause b,.fight-fullscreen b{font-size:18px}
  .overlay-panel .panel{width:min(1040px,82vw);max-height:88vh;padding:30px;border-width:5px}.overlay-panel .eyebrow{font-size:12px}.overlay-panel h2{font-size:58px;margin:0 0 18px}
  .pause-moves{gap:9px 14px;margin-bottom:18px}.pause-moves b{font-size:14px}.pause-moves span{padding:11px 13px;font-size:11px;line-height:1.45;border-left-width:4px}.pause-moves .doctrine-title{font-size:12px!important;padding:11px!important}.pause-tip{font-size:11px;line-height:1.55;margin-bottom:18px}
  .overlay-panel .pixel-button{font-size:12px;min-height:54px}
  .how-dialog h2{font-size:54px}.how-grid h3{font-size:13px}.how-grid p,.how-grid li{font-size:10px;line-height:1.55}
}
@media (min-width:1500px) and (pointer:fine){
  .overlay-panel .panel{width:min(1120px,76vw)}.pause-moves span{font-size:12px}.pause-tip{font-size:12px}
}
@media (max-width:900px){
  .pause-moves span{font-size:8px;line-height:1.4}.pause-tip{font-size:8px}.overlay-panel .pixel-button{font-size:9px}
}


/* GP006 — desktop legibility floor and first-fight control cue */
.desktop-control-tip{display:none}
@media (min-width:901px) and (pointer:fine){
  .overlay-panel .panel{width:min(1180px,86vw);max-height:91vh;padding:34px 36px}
  .overlay-panel .eyebrow{font-size:14px;letter-spacing:.18em}.overlay-panel h2{font-size:66px;line-height:.88;margin:3px 0 21px}
  .pause-moves{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 16px;margin-bottom:21px}
  .pause-moves span{min-height:48px;padding:14px 15px;font-size:14px;line-height:1.42;letter-spacing:.025em;border-left-width:5px}
  .pause-moves .doctrine-title{font-size:14px!important;padding:13px!important}.pause-tip{font-size:14px;line-height:1.5;margin-bottom:20px}
  .overlay-panel .pixel-button{min-height:59px;font-size:14px;letter-spacing:.05em}
  .desktop-control-tip{display:block;position:absolute;z-index:26;left:50%;bottom:14px;transform:translateX(-50%);padding:9px 15px;border:2px solid rgba(101,234,215,.75);background:rgba(3,10,20,.89);box-shadow:4px 4px 0 #000;color:#edfdfb;font:900 11px/1.3 var(--pixel);letter-spacing:.04em;white-space:nowrap;pointer-events:none;animation:gp006Tip 7s linear forwards}
  .desktop-control-tip b{color:#ffd45a}
}
@keyframes gp006Tip{0%,64%{opacity:1}100%{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.desktop-control-tip{animation:none!important;opacity:1}}


/* GP006 — first-hearing coach and clearer moment-to-moment UX */
.fight-coach{position:absolute;z-index:31;left:50%;bottom:70px;transform:translateX(-50%);width:min(570px,72vw);padding:10px 14px;border:3px solid #63f1e3;background:linear-gradient(90deg,rgba(4,8,24,.95),rgba(33,7,47,.95));box-shadow:7px 7px 0 #000;color:#f3fbff;text-align:center;pointer-events:none;animation:mkCoachIn .18s steps(2,end)}
.fight-coach[hidden]{display:none!important}.fight-coach b{display:block;color:#ffe06a;font:1000 14px/.95 var(--display);letter-spacing:.08em;text-shadow:2px 2px 0 #a51639}.fight-coach span{display:block;margin-top:5px;font:900 8px/1.35 var(--pixel);letter-spacing:.035em}
@keyframes mkCoachIn{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}
@media(pointer:coarse){.fight-coach{bottom:145px;width:min(520px,64vw);padding:7px 9px}.fight-coach b{font-size:10px}.fight-coach span{font-size:6px}}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){.fight-coach{bottom:110px;width:min(430px,50vw);padding:5px 7px}.fight-coach b{font-size:8px}.fight-coach span{font-size:5px}}
@media(prefers-reduced-motion:reduce){.fight-coach{animation:none}}

/* GP007 MOORE FUN — visible accessibility doctrine. */
.moore-fun-banner{position:absolute;z-index:3;left:50%;bottom:96px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;max-width:min(760px,92vw);margin:0;padding:7px 11px;border:2px solid #6af0df;background:rgba(3,18,25,.91);box-shadow:0 0 16px rgba(92,239,218,.22);white-space:nowrap}
.moore-fun-banner b{color:#ffe06a;font:1000 8px/1 var(--display);letter-spacing:.08em}.moore-fun-banner span{color:#d8fff9;font:900 6px/1.25 var(--pixel);letter-spacing:.04em}
@media(max-width:900px){.moore-fun-banner{bottom:91px;max-width:94vw;overflow:hidden}.moore-fun-banner span{font-size:5px;text-overflow:ellipsis;overflow:hidden}}
@media(orientation:landscape) and (pointer:coarse) and (max-height:500px){.moore-fun-banner{bottom:76px;padding:4px 7px}.moore-fun-banner b{font-size:6px}.moore-fun-banner span{font-size:4px}}
