*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#0b0812;color:#fff;font-family:Arial,Helvetica,sans-serif}button,select{font:inherit}button,a,select,input{ -webkit-tap-highlight-color:transparent}button{cursor:pointer;color:#fff;border:1px solid #ffffff50;background:#191326;border-radius:8px;min-height:44px}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #c8ff32;outline-offset:3px}button:disabled{opacity:.45;cursor:wait}button:active{filter:brightness(1.35)}[hidden]{display:none!important}#game{position:relative;width:100%;height:100%;height:100dvh;overflow:hidden;background:radial-gradient(ellipse at bottom,#46213d,#0b0812)}#arena{position:absolute;width:100%;height:100%;object-fit:contain}#hud{position:absolute;top:max(12px,env(safe-area-inset-top));left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));display:grid;grid-template-columns:1fr 80px 1fr;gap:14px;pointer-events:none;text-shadow:0 2px 4px #000}#hud b{font-size:clamp(12px,2vw,23px);letter-spacing:.04em;color:#ffe39b}#hud .rival{text-align:right}.health{height:19px;background:#471f35;border:2px solid #f1c96e;transform:skewX(-12deg);margin-top:6px;overflow:hidden;box-shadow:0 3px 15px #0008}.health i{display:block;width:100%;height:100%;background:linear-gradient(#fff2ab,#dca82d);transition:width .08s linear}.rival .health i{margin-left:auto}.meter{height:8px;width:55%;margin:6px 0;background:#171022;border:1px solid #9975c8;transform:skewX(-12deg)}.meter i{display:block;width:0;height:100%;background:linear-gradient(90deg,#7d3cda,#d17dff)}.rival .meter{margin-left:auto}.rival .meter i{margin-left:auto}.fighter>span{font-size:20px;color:#e6c56d;letter-spacing:4px}.clock{text-align:center;display:flex;flex-direction:column;align-items:center}.clock>span{font-size:10px;font-weight:bold;color:#edcb77}.clock strong{font-size:40px;line-height:1.1;color:#ffe3a0}.clock button{pointer-events:auto;min-height:30px;width:38px;margin-top:4px}#callout{position:absolute;top:33%;width:100%;text-align:center;font-size:clamp(28px,6vw,75px);font-weight:1000;font-style:italic;color:#ffe292;text-shadow:4px 4px #3b1664,0 0 25px #000;pointer-events:none;white-space:pre-line}.overlay{position:absolute;inset:0;background:#080511b8;display:flex;align-items:center;justify-content:center;padding:20px;overflow:auto;backdrop-filter:blur(5px)}.panel{text-align:center;width:min(740px,100%);padding:28px;border:1px solid #b38c4d;background:linear-gradient(135deg,#181024f0,#08090bf0);box-shadow:0 20px 70px #0009}.eyebrow{font-size:10px;letter-spacing:.2em;color:#edc86d}h1{font-size:clamp(30px,6vw,64px);font-style:italic;line-height:1;margin:15px 0}h1 span{display:block;font-size:.63em;font-style:normal;color:#efcd76;margin-bottom:8px}h1 em{color:#c7ff42}h2{font-size:40px;color:#f8dd9c}.intro{color:#e9ddee;line-height:1.5}.primary{display:block;width:100%;background:#ccff42;color:#15191a;font-weight:900;letter-spacing:.08em;border:0;padding:14px 22px;min-height:52px}.options{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:14px;margin:18px 0;font-size:12px;color:#e3d8ed}.options label{display:flex;align-items:center;gap:6px}select{background:#261c34;color:#fff;border:1px solid #806f8e;padding:6px}.help,.note{font-size:11px;color:#b2a5c2;line-height:1.6}.note{max-width:560px;margin:14px auto}a{color:#edcd81;font-size:12px}.compact{max-width:420px}.compact>button{width:100%;margin-top:12px}#controls{position:absolute;inset:0;pointer-events:none;touch-action:none;user-select:none;-webkit-user-select:none}#controls button{pointer-events:auto;touch-action:none;user-select:none;-webkit-user-select:none;box-shadow:0 4px 15px #0007}#controls button.held{filter:brightness(1.8);transform:scale(.94)}.dpad{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(16px,env(safe-area-inset-bottom));width:160px;height:138px}.dpad button{position:absolute;border-radius:50%;width:55px;height:55px;background:#1513219c;border:2px solid #ffffff90;font-size:24px}.up{top:0;left:53px}.left{left:0;top:44px}.right{right:0;top:44px}.down{bottom:0;left:53px}.attacks{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(30px,env(safe-area-inset-bottom));display:flex;gap:12px;align-items:end}.attacks button{position:relative;border-radius:50%;width:60px;height:60px;font-size:23px;font-weight:900;border:2px solid #e6c97d;background:#462478cc}.attacks span{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);font-size:9px;text-shadow:0 1px 4px #000}.attacks .kick{background:#a57725cc}.attacks .block{background:#286c4fcc}.attacks .special{background:#92206fcc}.attacks .special.ready{box-shadow:0 0 24px #dc85ff;border-color:#fff}#rotate{display:none;position:absolute;bottom:4px;width:100%;font-size:10px;text-align:center;color:#d6c5e4;pointer-events:none}@media(orientation:portrait){#rotate{display:block}.dpad{bottom:40px}.attacks{bottom:55px;gap:8px}.attacks button{width:43px;height:43px;font-size:19px}#hud{grid-template-columns:1fr 50px 1fr;gap:8px}.clock strong{font-size:30px}.health{height:14px}}@media(max-height:500px){.panel{padding:14px 24px}.eyebrow{margin:4px}h1{font-size:32px;margin:8px}.intro{font-size:12px;margin:7px}.options{margin:8px}.help{font-size:10px;margin:7px}.note{margin:7px;font-size:10px}.primary{min-height:44px;padding:10px}.dpad{width:135px;height:118px}.dpad button{width:47px;height:47px}.up,.down{left:44px}.left,.right{top:36px}.attacks button{width:52px;height:52px}.attacks{gap:10px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
/* Cinematic combat and soundtrack controls. */
.quick-controls{display:flex;gap:6px}.clock .quick-controls button{width:34px;min-height:32px;font-size:16px}.music-settings{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;border-block:1px solid #8c744d55;padding:10px 0;margin:10px 0;font-size:11px;color:#e4d3ed}.music-settings label{display:flex;align-items:center;gap:7px}.music-settings select{max-width:220px;min-height:36px}.music-settings input{width:90px;accent-color:#cbff42}.music-settings button{padding:7px 12px;min-height:36px;color:#d0ff72}.compact .music-settings{flex-direction:column}.compact .music-settings button{width:auto}.health{box-shadow:0 3px 15px #0008,inset 0 0 10px #c43a71}.health i{box-shadow:3px 0 16px #fff4b2}#combo{position:absolute;top:28%;left:7%;font-weight:1000;font-style:italic;font-size:clamp(18px,3vw,34px);color:#d6ff78;text-shadow:3px 3px #3f155d;pointer-events:none}#combo.opponent{left:auto;right:7%;color:#ffb46c}#nowPlaying{position:absolute;bottom:max(7px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:38%;padding:5px 12px;border:1px solid #d6b56555;border-radius:16px;background:#0e0819bb;color:#e7d7ac;font-size:9px;letter-spacing:.08em;text-align:center;pointer-events:none}#callout{z-index:2}#pauseMenu,#menu{z-index:4}.overlay{background:#080511b0}.panel{max-height:100%;overflow:auto}.matchup{font-size:11px;text-align:left;color:#c8bbd7;line-height:1.5;margin:10px 0}.matchup summary{cursor:pointer;color:#e7d3a6;min-height:30px}.matchup b{color:#d7ff8c}@media(max-height:500px){.music-settings{padding:5px 0;margin:6px 0;font-size:10px;gap:7px}.music-settings select{min-height:30px}.music-settings button{min-height:30px}.panel .help{margin:5px}.clock .quick-controls button{min-height:28px;width:30px}#nowPlaying{font-size:8px;padding:4px 8px}}@media(orientation:portrait){#nowPlaying{bottom:25px;max-width:65%}}
.attacks .grab{background:#215b86cc}.install{padding:10px 20px;border-color:#caab65;color:#e5d590;font-size:12px}dialog{max-width:450px;max-height:90dvh;overflow:auto;background:#171020;color:#efe3f5;border:1px solid #d0ad67;padding:26px;line-height:1.6}dialog::backdrop{background:#070510bb}dialog h2{font-size:24px;line-height:1.2}dialog button{width:100%;background:#cbff48;color:#182018;font-weight:bold}@media(orientation:portrait){.attacks{display:grid;grid-template-columns:repeat(3,43px);gap:27px 9px;bottom:60px}.attacks .special{grid-column:3;grid-row:1/3;align-self:center}.dpad{bottom:70px}}@media(display-mode:standalone){.install{display:none}}
#callout.ko{top:28%;font-size:clamp(64px,12vw,150px);letter-spacing:.04em;color:#ffe09a;text-shadow:5px 5px #501a69,0 0 35px #c3a441aa;-webkit-text-stroke:1px #fff3be}
.record{color:#d0ff79;font-size:11px;letter-spacing:.06em}.control-settings{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;font-size:12px;margin:12px 0;color:#ddcde7}.control-settings label{display:flex;gap:8px;align-items:center}.control-settings select{min-height:40px}.match-stats{font-size:12px;line-height:1.6;color:#d2ff85}
#coach{position:absolute;top:max(106px,24%);left:25%;right:25%;padding:7px 12px;border-left:3px solid #c6ff50;background:#11091cdb;pointer-events:none;text-shadow:0 1px 3px #000}#coach b{display:block;color:#d5ff80;font-size:9px;letter-spacing:.15em}#coach span{display:block;color:#fff3d8;font-size:11px;line-height:1.5;margin-top:3px}#coach small{display:block;color:#c2afda;font-size:9px;margin-top:4px}#combatState{position:absolute;bottom:max(14px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:9px;letter-spacing:.15em;color:#c8ff77;text-shadow:0 2px 3px #000;pointer-events:none}#nowPlaying{bottom:max(37px,calc(env(safe-area-inset-bottom) + 24px))}
#controls[data-size="large"] .dpad{width:160px;height:138px}#controls[data-size="large"] .dpad button{width:55px;height:55px}#controls[data-size="large"] .dpad .up,#controls[data-size="large"] .dpad .down{left:53px}#controls[data-size="large"] .dpad .left,#controls[data-size="large"] .dpad .right{top:44px}#controls[data-size="large"] .attacks button{width:60px;height:60px}
#controls[data-hand="left"] .dpad{left:auto;right:max(18px,env(safe-area-inset-right))}#controls[data-hand="left"] .attacks{right:auto;left:max(18px,env(safe-area-inset-left))}
@media(max-width:740px) and (orientation:landscape){#controls .attacks{gap:7px}#controls[data-size="large"] .attacks button{width:55px;height:55px}#controls[data-size="large"] .dpad{transform:scale(.9);transform-origin:bottom left}#controls[data-size="large"][data-hand="left"] .dpad{transform-origin:bottom right}#coach{left:24%;right:24%;top:104px}#coach span{font-size:10px}}
@media(orientation:portrait){#controls[data-size="large"] .attacks{grid-template-columns:repeat(3,48px);gap:25px 7px}#controls[data-size="large"] .attacks button{width:48px;height:48px}#controls[data-size="large"] .dpad{transform:scale(.9);transform-origin:bottom left}#controls[data-size="large"][data-hand="left"] .dpad{transform-origin:bottom right}#coach{top:21%;left:8%;right:8%}#combatState{bottom:29px}#nowPlaying{bottom:45px}}

@media(max-width:360px) and (orientation:portrait){#controls .dpad,#controls[data-size="large"] .dpad{transform:scale(.78);transform-origin:bottom left}#controls[data-hand="left"] .dpad{transform-origin:bottom right}#controls[data-size="large"] .attacks{grid-template-columns:repeat(3,43px);gap:25px 7px}#controls[data-size="large"] .attacks button{width:43px;height:43px}}
.roster-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:14px 0}.roster-picks button{padding:7px 4px 10px;border:1px solid #705483;background:radial-gradient(ellipse at center,#432c56,#17101f);overflow:hidden;transition:border-color .15s,background .15s}.roster-picks button[aria-pressed="true"]{border:2px solid #ccff55;background:radial-gradient(ellipse at center,#57643c,#17191c);box-shadow:0 0 16px #caff3828}.roster-picks #pick2[aria-pressed="true"]{border-color:#ff9cd9;background:radial-gradient(ellipse at center,#673352,#1d1020)}.roster-picks #pick3[aria-pressed="true"]{border-color:#d4a0ff;background:radial-gradient(ellipse at center,#613d82,#171023)}.roster-picks canvas{display:block;width:100%;height:130px;object-fit:contain}.roster-picks b{display:block;font-size:12px;color:#fff0c9}.roster-picks span{display:block;font-size:8px;color:#c7b7d6;letter-spacing:.04em;margin-top:4px}.match-select{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;font-size:11px;color:#e9d5ee}.match-select label{display:flex;align-items:center;gap:8px}.match-select select{min-height:40px;max-width:180px}.fighter-detail{font-size:11px;line-height:1.55;color:#cce9a1;margin:10px auto;max-width:600px}.panel .intro{margin-bottom:8px}@media(max-height:500px){.roster-picks{margin:7px 0;gap:7px}.roster-picks canvas{height:86px}.roster-picks button{padding:3px}.roster-picks b{font-size:10px}.roster-picks span{font-size:7px}.match-select select{min-height:34px}.fighter-detail{font-size:10px;margin:6px auto}}@media(max-width:440px){.roster-picks canvas{height:95px}.roster-picks b{font-size:9px}.roster-picks span{font-size:6px}.match-select{gap:8px}.match-select select{max-width:125px}}

/* Six-character set: three columns keep full names legible on a phone. */
.roster-picks{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-picks canvas{height:112px}.roster-picks #pick4[aria-pressed="true"]{border-color:#ffda70;background:radial-gradient(ellipse at center,#715226,#1b1510)}.roster-picks #pick5[aria-pressed="true"]{border-color:#a5defa;background:radial-gradient(ellipse at center,#2f5065,#11151e)}
@media(orientation:landscape) and (min-width:720px){.roster-picks{grid-template-columns:repeat(6,minmax(0,1fr))}.roster-picks canvas{height:85px}.roster-picks b{font-size:9px}.roster-picks span{font-size:6px}}
@media(max-width:440px){.roster-picks canvas{height:85px}.roster-picks b{font-size:10px}.roster-picks span{font-size:7px}}

.roster-picks{grid-template-columns:repeat(4,minmax(0,1fr))}.roster-picks #pick6[aria-pressed="true"]{border-color:#6ddfff;background:radial-gradient(ellipse at center,#244b7b,#0d1624)}.roster-picks #pick7[aria-pressed="true"]{border-color:#f0cc73;background:radial-gradient(ellipse at center,#345a3f,#101c16)}@media(orientation:landscape) and (min-width:720px){.roster-picks{grid-template-columns:repeat(4,minmax(0,1fr))}}

@media(orientation:landscape) and (min-width:720px){.roster-picks{grid-template-columns:repeat(8,minmax(0,1fr));gap:5px}.roster-picks canvas{height:76px}.roster-picks b{font-size:8px}.roster-picks span{font-size:5.5px;letter-spacing:0}}

.roster-picks #pick8[aria-pressed="true"]{border-color:#bcff46}.roster-picks #pick9[aria-pressed="true"]{border-color:#81a9ff}.roster-picks #pick10[aria-pressed="true"]{border-color:#ce9bff}.roster-picks #pick11[aria-pressed="true"]{border-color:#ff9455}@media(orientation:landscape) and (min-width:720px){.roster-picks{grid-template-columns:repeat(6,minmax(0,1fr))}.roster-picks canvas{height:68px}.roster-picks b{font-size:8px}.roster-picks span{font-size:5.5px}}

.roster-picks button:disabled{opacity:.4;filter:grayscale(.8);cursor:default}#storyMenu .panel{border-color:#c7ff65}#storyTitle{color:#c7ff65;font-weight:800}#storyHint{line-height:1.6}#openStory{border-color:#c7ff65;color:#c7ff65;width:100%;margin:10px 0}#storyStatus{color:#c7ff65}

.health{position:relative}.health i.hp-trail{position:absolute;top:0;bottom:0;left:0;background:#e56c78;transition:width .45s ease-out .15s}.rival .health i.hp-trail{left:auto;right:0}.health i:not(.hp-trail){position:relative;z-index:1}.health i.critical{background:linear-gradient(#ffc38f,#ed614f)}

.launch-screen{position:fixed;inset:0;z-index:200;display:grid;place-items:center;overflow:auto;padding:24px;background:linear-gradient(120deg,#140724ed,#241045a8),url('assets/rooftop.webp') center/cover}.launch-inner{text-align:center;max-width:720px}.launch-inner h1{font-size:clamp(64px,15vw,140px);line-height:.85;letter-spacing:-.055em;margin:25px 0;color:#fff;text-shadow:5px 6px #582396}.launch-inner h1 em{color:#c7ff65;font-style:italic}.launch-inner .primary{min-height:58px;min-width:250px;margin:16px auto}.launch-inner small{color:#d8cee8}.release-help{margin:14px 0;padding:12px;border:1px solid #796192;border-radius:12px;text-align:left;font-size:13px;line-height:1.6}.release-help summary{cursor:pointer;color:#c7ff65}.release-help label{display:block;margin:12px 0}.release-help input{max-width:100%}.release-help a{color:#c7ff65}[hidden]{display:none!important}@media(max-height:480px){.launch-inner h1{font-size:72px;margin:10px 0}.launch-inner .primary{margin:6px auto}.launch-inner p{margin:8px}}

/* Fixed viewport; only menus and dialogue panels may scroll. */
html{overscroll-behavior:none;height:100%;touch-action:none}
body{position:fixed;inset:0;height:100%;height:100dvh;overscroll-behavior:none;touch-action:none}
#game,#arena,#controls,#hud{overscroll-behavior:none;touch-action:none}
#controls,#controls button,#hud button{ -webkit-touch-callout:none;user-select:none;-webkit-user-select:none;}
.overlay,.panel,.launch-screen,dialog{overscroll-behavior:none;touch-action:pan-y;-webkit-overflow-scrolling:touch}
body.fighting{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}

.story-journey{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0;text-align:left}.journey-chapter{border:1px solid #ffffff25;padding:10px;background:#070610}.journey-chapter.current{border-color:#cbff65;background:#1a2519}.journey-chapter b{display:block;color:#efd38b;font-size:11px}.journey-chapter div{display:flex;flex-direction:column;gap:5px;margin-top:7px}.journey-chapter span{font-size:10px;color:#bdb2cb}.journey-chapter .cleared{color:#caff7c}
#storyMenu .panel{max-width:720px}.story-scene{position:absolute;inset:0;z-index:10;pointer-events:none;display:flex;align-items:flex-end;justify-content:center;padding:max(12px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-right))}.story-dialogue{pointer-events:auto;width:min(850px,100%);padding:16px 24px;background:#100b1af5;border:1px solid #bca16d;box-shadow:0 0 40px #0008;text-align:left;max-height:60dvh;overflow:auto;touch-action:pan-y;overscroll-behavior:none}.story-dialogue .eyebrow{margin:0 0 6px}.story-dialogue h2{font-size:clamp(16px,2.6vw,25px);margin:0 0 8px;color:#caff7c}.story-dialogue>p:not(.eyebrow){font-size:clamp(13px,1.8vw,18px);line-height:1.55;margin:0 0 12px;color:#f3e9da}.scene-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.scene-actions .primary{width:auto;min-width:140px;min-height:44px;padding:10px}.scene-actions>button:not(.primary){padding:8px 12px;background:transparent}.scene-actions>span{font-size:11px;color:#bdb2cb}
@media(max-height:440px){.story-dialogue{padding:10px 18px;max-height:56dvh}.story-dialogue>p:not(.eyebrow){font-size:13px;line-height:1.4;margin-bottom:6px}.story-dialogue h2{margin-bottom:4px}.scene-actions button{min-height:40px}.story-scene{padding:8px max(20px,env(safe-area-inset-right))}}
@media(orientation:portrait){.story-dialogue{margin-bottom:8px;max-height:48dvh}.story-journey{grid-template-columns:1fr}.story-dialogue>p:not(.eyebrow){font-size:16px}}

body.celebrating #hud,body.celebrating #controls,body.celebrating #combatState,body.celebrating #nowPlaying,body.celebrating #combo{visibility:hidden}#storyScene:not([hidden])~#rotate{display:none}

/* Stable play surface: browser toolbar resizing cannot drag controls mid-match. */
body.fighting{width:var(--play-width,100vw);height:var(--play-height,100svh);overflow:hidden;inset:0 auto auto 0}
body.fighting #game{width:100%;height:100%;overflow:hidden}body.fighting #arena{width:100%;height:100%}
body.fighting #controls,body.fighting #controls *{touch-action:none!important;overscroll-behavior:none}
.attacks .run{background:#765019dc}.attacks{display:grid;grid-template-columns:repeat(3,52px);gap:22px 9px;align-items:center}.attacks .special{grid-column:auto;grid-row:auto;align-self:center}
@media(orientation:landscape){.attacks{bottom:max(25px,env(safe-area-inset-bottom));grid-template-columns:repeat(3,48px);gap:18px 9px}.attacks button,#controls[data-size="large"] .attacks button{width:48px;height:48px}.attacks span{top:calc(100% + 2px);font-size:8px}}
@media(orientation:portrait){.attacks,#controls[data-size="large"] .attacks{grid-template-columns:repeat(3,43px);gap:24px 8px}.attacks .special{grid-column:auto;grid-row:auto}}

/* SBFENT title scene: independent motion; never moves the play surface. */
.launch-screen{background:radial-gradient(ellipse at 20% 40%,#8c26cb44,transparent 60%),linear-gradient(0deg,#090511 5%,#120a1c99 65%),url('assets/rooftop.webp') center/cover;isolation:isolate}
.launch-screen:before{content:'';position:absolute;inset:5%;border:1px solid #bdff6533;clip-path:polygon(0 0,100% 0,100% 100%,0 100%);pointer-events:none;background:repeating-linear-gradient(110deg,transparent 0 90px,#c3ff6508 91px 93px);animation:stamp-grid 8s ease-in-out infinite alternate;z-index:-1}
.launch-inner{position:relative;width:min(850px,100%);max-width:850px}.launch-inner .eyebrow{letter-spacing:.22em;color:#d9ff94;font-size:11px}.launch-inner h1{position:relative;font-size:clamp(64px,12vw,108px);margin:5px 0 20px;text-shadow:3px 4px #6220ae,0 0 40px #a054ff66;letter-spacing:-.06em}.launch-inner h1 br{display:none}.launch-inner h1 em{margin-left:.12em}.launch-inner p{letter-spacing:.12em;font-size:12px}.launch-inner #launchStatus{letter-spacing:0;color:#e6d9ee}.launch-inner .primary{border-radius:2px;border:1px solid #dfff91;box-shadow:0 0 35px #bfff6522}.launch-inner small{font-size:10px}
#launchArena{display:block;width:100%;height:min(36vh,310px);object-fit:contain;margin:0 auto -10px;pointer-events:none}
@keyframes stamp-grid{to{transform:translateY(12px);opacity:.45}}
@media(max-height:480px){#launchArena{height:36vh;margin-top:-16px}.launch-inner .eyebrow{margin:0}.launch-inner h1{font-size:56px;margin:0 0 6px}.launch-inner .primary{min-height:44px;margin:6px auto}.launch-inner #launchStatus{margin:4px}.launch-screen{padding:12px}}
@media(prefers-reduced-motion:reduce){.launch-screen:before{animation:none}}

html,body{-webkit-text-size-adjust:100%;text-size-adjust:100%}.launch-inner,.panel,.match-select,.match-select>label{min-width:0;max-width:100%}.panel input,.panel select{font-size:16px;max-width:100%}.launch-screen{padding-top:max(16px,env(safe-area-inset-top));padding-bottom:max(16px,env(safe-area-inset-bottom))}.launch-inner .eyebrow,.launch-inner p,.launch-inner small{overflow-wrap:anywhere}.launch-inner .primary{min-width:min(250px,100%);max-width:100%}@media(orientation:portrait){.launch-inner h1 br{display:block}.launch-inner h1 em{margin-left:0}.launch-inner h1{font-size:clamp(50px,15vw,90px)}#launchArena{height:min(30svh,280px)}.launch-screen{padding-inline:16px}}@media(max-width:360px){.panel{padding-inline:12px}.launch-inner .eyebrow{font-size:9px;letter-spacing:.12em}.dpad{left:8px}.attacks{right:8px;grid-template-columns:repeat(3,43px);column-gap:5px}.launch-inner h1{font-size:50px}} 

/* SBFENT street-fight HUD; POWER recharges, SUPER is earned. */
.attacks .ability{grid-column:1/-1;width:100%;height:40px;min-height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:8px;background:#0b2221d9;border:2px solid #77edcd;font-size:22px}.attacks .ability span{position:static;transform:none;max-width:130px;font-size:10px;line-height:1.1;text-align:left;white-space:normal}.attacks .ability:disabled{opacity:.68;border-color:#718287}.attacks .ability.ready{border-color:#c7ff65;box-shadow:0 0 12px #94ff6533}.super-readout{font-size:8px;color:#e6cb7d;letter-spacing:.08em;line-height:1.2}.power-guide{text-align:left;margin:14px 0;padding:14px;border:1px solid #756047;background:#100e15}.power-guide summary{cursor:pointer;font-size:12px;font-weight:800;color:#dfce8d;min-height:30px}.power-guide p{font-size:12px;line-height:1.6;color:#ddd2df}.power-list{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}.power-list p{margin:0;padding:6px 0;border-bottom:1px solid #ffffff17}.power-list strong,.power-list span{display:block}.power-list span{color:#bfff8f}.health{border-radius:0!important}.meter{border-radius:0!important}.fighter b{letter-spacing:.04em;text-shadow:2px 2px #000}.power-guide strong{color:#f1e1c3}@media(max-height:500px){.attacks .ability{height:34px;min-height:34px}.attacks .ability span{font-size:9px}.super-readout{font-size:7px}}@media(max-width:360px){.attacks .ability span{max-width:95px;font-size:9px}.power-list{grid-template-columns:1fr}}

.mastery-card{padding:12px;border-left:3px solid #d8b96e;background:#f6cf7810;color:#f3db9e;font-size:12px;line-height:1.6;text-align:left}.mastery-card:empty{display:none}

.fighter-lore{text-align:left;border:1px solid #806848;background:#131019;margin:10px 0;padding:12px 14px}.fighter-lore summary{font-size:11px;font-weight:800;color:#e3cd96;cursor:pointer;min-height:28px}.fighter-lore h3{font-size:20px;font-style:italic;margin:14px 0 8px;color:#f3e5c6}.fighter-lore p{font-size:13px;line-height:1.7;color:#ddd5df}.fighter-lore .lore-rival{font-size:12px;color:#b9ee91;border-left:2px solid #b9ee91;padding-left:12px}

#controls .attacks button.ability{width:100%;height:44px;min-height:44px}
/* Keep the new action in the existing control footprint in both orientations. */
#controls .attacks{grid-template-columns:repeat(6,22px);column-gap:5px;row-gap:18px}
#controls .attacks button{grid-column:span 2;justify-self:center}
#controls .attacks button.ability,#controls .attacks button.mix{grid-column:span 3;width:100%;height:44px;min-height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:3px;font-size:18px}
#controls .attacks button.ability span,#controls .attacks button.mix span{position:static;transform:none;font-size:8px;line-height:1.15;max-width:58px;white-space:normal;text-align:center}
#controls .attacks button.mix{order:-1;background:#30203de8;border:2px solid #d9a8ff}
#controls .attacks button.mix.ready{border-color:#ffe39b;box-shadow:0 0 12px #e9b7ff66}
#controls .attacks button.mix:disabled{opacity:.68}
@media(orientation:portrait){#controls .attacks,#controls[data-size="large"] .attacks{grid-template-columns:repeat(6,19px);column-gap:5px;row-gap:24px}}
@media(orientation:portrait){#controls[data-size="large"] .attacks button{width:44px;height:44px}#controls[data-size="large"] .attacks button.ability,#controls[data-size="large"] .attacks button.mix{width:100%;height:44px}}

/* Arcade polish:  readable combat feedback and a per-fighter pause playbook. */
.fighter-readout{display:flex;justify-content:space-between;gap:8px;font-size:11px;font-weight:800;letter-spacing:.03em;color:#eee5ff;margin:4px 0}.fighter-readout span:last-child{color:#c7ff65}.move-guide{border:1px solid #78618b;border-radius:14px;padding:12px;text-align:left;margin:14px 0;background:#180e24}.move-guide summary{min-height:44px;display:flex;align-items:center;color:#d2ff85;font-size:12px;cursor:pointer;font-weight:800}.move-guide h3{font-size:17px;color:#fff1d2}.move-guide>b{display:block;font-size:19px;color:#d2ff85;padding:10px 0}.move-guide p{font-size:14px;line-height:1.6}.move-guide small{display:block;font-size:12px;line-height:1.6;color:#cdbbdd}.overlay{overscroll-behavior:contain;padding-top:max(16px,env(safe-area-inset-top));padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(16px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left))}.panel.compact{max-height:100%;overflow:auto;scrollbar-gutter:stable}.panel button,.panel select{min-height:44px}button,a,select,input{touch-action:manipulation}input,select{font-size:16px}.panel button:focus-visible,.panel select:focus-visible,summary:focus-visible{outline:3px solid #d2ff85;outline-offset:3px}.launch-screen{padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}@media(max-height:400px){.fighter-readout{font-size:10px;margin:2px 0}#hud .fighter>span{font-size:11px}#hud{top:max(6px,env(safe-area-inset-top))}.panel.compact h2{font-size:32px;margin:8px 0}}@media(prefers-reduced-motion:reduce){.health i,.hp-trail{transition:none!important}.launch-inner{animation:none!important}}

.health-value{font-size:11px;font-weight:800;color:#fff1d2;margin-left:7px}

/* A real match on the opening screen. */
.launch-inner{width:min(720px,100%)}.launch-inner #launchArena{display:none}.launch-inner .home-gameplay{margin:14px auto 0;border:1px solid #c7ff6577;border-radius:14px;overflow:hidden;max-width:620px;background:#100b1a}.home-gameplay img{display:block;width:100%;height:clamp(140px,28vh,260px);object-fit:cover}.home-gameplay figcaption{padding:9px;color:#e7d0a4;font-size:9px;letter-spacing:1.5px}.launch-inner h1{font-size:clamp(58px,11vw,100px);margin:16px 0}.launch-inner p{font-size:12px}.launch-inner #launchStatus{font-size:11px}@media(max-height:500px) and (orientation:landscape){.launch-inner{display:grid;grid-template-columns:1.1fr 1fr;column-gap:24px;align-items:center}.launch-inner .eyebrow{grid-column:1/-1;margin:0}.launch-inner .home-gameplay{grid-row:2/7;margin:12px 0}.home-gameplay img{height:210px}.launch-inner h1{font-size:58px;margin:12px 0}.launch-inner .primary{min-width:0;min-height:48px;margin:4px auto}.launch-inner small{grid-column:1/-1;font-size:9px}}
