@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800;900&family=Barlow:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0b1414;--ink:#f2f0dc;--muted:#91a6a1;--amber:#ffbd45;--teal:#5ad4bd}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 50% 30%,#17352c 0,transparent 65%),var(--bg);color:var(--ink);font-family:Barlow,Arial,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:700 12px Barlow,Arial;letter-spacing:1px;cursor:pointer;border:1px solid #45605a;background:#14221f;color:var(--ink);padding:12px 17px;border-radius:4px}button:hover{border-color:var(--amber);color:var(--amber)}button:focus-visible,a:focus-visible{outline:3px solid var(--amber);outline-offset:4px}header{height:91px;border-bottom:1px solid #ffffff12;display:flex;align-items:center;justify-content:space-between;padding:0 5%}.brand{font:900 italic 27px/.83 'Barlow Condensed',Impact,sans-serif;color:var(--amber);text-decoration:none;transform:rotate(-3deg)}.brand span{display:block;color:var(--teal);font-size:19px;margin-top:5px}.chapter{font-size:10px;letter-spacing:2px;color:var(--muted);display:flex;align-items:center;gap:14px}.chapter i{width:5px;height:5px;border-radius:100%;background:var(--amber)}main{max-width:1440px;margin:auto;padding:28px 5% 0}.intro{text-align:center;margin:10px 0 28px}.eyebrow{font-size:10px;letter-spacing:2.6px;font-weight:700;color:var(--teal)}h1{font:800 clamp(30px,3.1vw,46px)/1.06 'Barlow Condensed',Impact,sans-serif;text-transform:uppercase;margin:13px 0}h1 em{font-style:normal;color:var(--amber)}.intro>p:last-child{font-size:13px;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.card{position:relative;padding:0;text-align:left;overflow:hidden;border:1px solid #ffffff20;transition:transform .2s,border .2s;background:#14241f}.card:hover{transform:translateY(-4px)}.card.active{border:2px solid var(--amber);box-shadow:0 0 32px #ffbd4515}.card .portrait{height:clamp(180px,24vw,320px);background-image:url('assets/fighters.webp');background-size:300% 200%;background-repeat:no-repeat;background-color:#1d3029;position:relative}.portrait:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 65%,#10201f)}.card .bio{padding:17px 19px 20px}.bio .role{font-size:9px;letter-spacing:2px;color:var(--teal)}.bio h2{font:800 34px/1 'Barlow Condensed',Impact;margin:6px 0 10px}.bio p{font-size:12px;line-height:1.55;letter-spacing:0;font-weight:400;color:#adc0b7;margin:0;min-height:38px}.selectmark{position:absolute;right:12px;top:12px;z-index:2;background:var(--amber);color:#14221f;padding:7px 9px;font-size:10px}.trait{display:flex;align-items:center;gap:7px;margin-top:13px;color:#91a6a1;font-size:9px}.trait i{height:3px;flex:1;background:#435a51}.trait i.on{background:var(--amber)}.launch{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #ffffff18;background:#12201de6;padding:21px 24px;margin:22px 0 28px}.launch>div{display:flex;gap:16px;align-items:center}.tag{font-size:9px;letter-spacing:1.8px;color:var(--teal);border:1px solid #5ad4bd50;padding:7px}.launch strong{font:700 22px 'Barlow Condensed'}.muted{color:var(--muted);font-size:11px}.primary{background:var(--amber);color:#17211a;border:0;padding:17px 26px;min-width:220px;box-shadow:0 4px 24px #ffbd4515}.primary:hover{background:#ffd680;color:#17211a}.primary span{float:right;margin-left:24px;font-size:17px}footer{display:flex;justify-content:space-between;gap:15px;margin:0 5%;padding:23px 0;border-top:1px solid #ffffff12;color:#758b83;font-size:9px;letter-spacing:1px}footer b{color:var(--amber);margin:0 8px}.stage-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;letter-spacing:2px;color:var(--teal);margin-bottom:13px}.stage-top button{padding:9px 12px;font-size:10px;margin-left:7px}#arena{position:relative;background:#13231f;border:1px solid #426353;border-radius:5px;overflow:hidden}canvas{display:block;width:100%;aspect-ratio:16/9;outline:none}#overlay{position:absolute;inset:0;background:#071712dc;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px}#overlay[hidden],[hidden]{display:none!important}#overlay h2{font:800 clamp(32px,6vw,70px) 'Barlow Condensed';margin:6px 0;color:var(--amber)}#overlay p:not(.eyebrow){color:#b8ccc2;font-size:14px}#overlay button{margin-top:13px}.controls{display:flex;justify-content:center;gap:23px;flex-wrap:wrap;padding:20px 0;color:#9eb5aa;font-size:11px}kbd{font:600 10px Barlow;background:#20352b;border:1px solid #456051;padding:4px 6px;border-radius:3px;color:var(--ink);margin-right:4px}#touch{display:none;justify-content:space-between;margin-bottom:20px}.dpad,.actions{display:flex;align-items:center;gap:6px}#touch button{touch-action:none;user-select:none;padding:14px}#touch .actions button:nth-child(2){background:var(--amber);color:#14221f}@media(pointer:coarse){#touch{display:flex}.controls{display:none}}@media(max-width:800px){header{height:75px}.chapter{display:none}main{padding-top:19px}.cards{gap:9px}.card .bio{padding:12px}.bio h2{font-size:29px}.bio p{font-size:11px}.launch>div{flex-wrap:wrap;gap:9px}.launch .muted{display:none}.primary{min-width:175px;padding:15px}.trait{display:none}footer span:last-child{display:none}.stage-top{letter-spacing:.5px;font-size:9px}}@media(max-width:550px){.cards{grid-template-columns:repeat(2,1fr)}.card .portrait{height:210px}.intro{margin-bottom:21px}h1{font-size:31px}.launch{padding:15px;gap:10px}.launch strong{font-size:18px}.tag{display:none}.primary{font-size:10px;min-width:155px}.controls{gap:12px}.stage-top button{font-size:8px;padding:8px}.bio p{min-height:34px}#touch button{font-size:9px;padding:13px 10px}}


#trainboss{display:block;margin:-8px auto 28px;color:var(--amber);border-color:#ffbd4555;background:transparent;font-size:10px;padding:11px 18px}#trainboss:hover{background:#ffbd4510}

.stage-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:32px 0 12px;color:#a6b9b0;font-size:13px}.stage-heading .eyebrow{margin:0}.stagecards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.stagecard{position:relative;min-height:137px;text-align:left;overflow:hidden;border:1px solid #39554c;border-radius:5px;padding:19px;background:linear-gradient(0deg,#071b19 0%,#071b1988 70%),var(--scene) center/cover;color:#d6e3d9;cursor:pointer}.stagecard.active{border-color:#ffbf53;box-shadow:inset 0 0 0 1px #ffbf53}.stagecard span{display:block;color:#ffcf7c;font-size:12px;letter-spacing:2px}.stagecard strong{display:block;margin:8px 0;font-size:23px}.stagecard small{color:#c1d5cb}.stagecard:hover{filter:brightness(1.12)}#overlay #next{display:block;margin:20px auto 12px}#overlay #next[hidden]{display:none}.launch .muted{max-width:400px} @media(max-width:650px){.stagecards{grid-template-columns:1fr}.stagecard{min-height:108px;padding:14px}.stage-heading{align-items:flex-start;flex-direction:column}.stagecard strong{font-size:22px}.launch .muted{max-width:260px}#overlay #next{max-width:90%;font-size:16px}}

.continuecard{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;margin:22px 0;background:linear-gradient(110deg,#183d32,#102621);border:1px solid #6aa989;border-radius:5px}.continuecard .eyebrow{display:block;margin:0 0 7px}.continuecard strong{display:block;font:700 23px 'Barlow Condensed',Arial}.continuecard small{display:block;margin-top:8px;color:#a9c2b3;font-size:12px}.missionstatus{font-size:13px;color:#c7dfcc;margin:13px 0 0;text-align:center}#overlay #retry{margin-top:20px}@media(max-width:650px){.continuecard{align-items:stretch;flex-direction:column;padding:18px}.continuecard strong{font-size:21px}.continuecard .primary{font-size:12px}.missionstatus{font-size:12px;padding:0 10px}}

.difficultyheading{margin:28px 0 12px}.difficultycards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.difficultycard{text-align:left;padding:16px 18px;background:#10221e;border-color:#39554c}.difficultycard span{display:block;font-size:9px;color:#9db7ac;margin-bottom:7px}.difficultycard strong{font:700 23px 'Barlow Condensed',Arial;letter-spacing:.5px}.difficultycard.active{border-color:#ffbf53;box-shadow:inset 0 0 0 1px #ffbf53;background:#243529}.difficultycard.active strong{color:#ffd080}.difficultynote{min-height:20px;font-size:12px;color:#adc5b7;margin:12px 0 20px}@media(max-width:600px){.difficultycards{gap:7px}.difficultycard{padding:12px 9px;letter-spacing:0}.difficultycard span{font-size:8px;line-height:1.5;min-height:24px}.difficultycard strong{font-size:21px}.difficultynote{line-height:1.6;min-height:38px}}

.stagecards{grid-template-columns:repeat(auto-fit,minmax(195px,1fr))}.stagecard{min-height:145px}.stagecard strong{font-size:22px}@media(max-width:650px){.stagecards{grid-template-columns:1fr}.stagecard{min-height:108px}}

.modepicker{display:flex;gap:10px;margin:24px 0}.modepicker button[aria-pressed=true],#partnercards button.active{color:#ffd080;border-color:#ffbd45;background:#293b2d}#partnercards{display:flex;gap:10px;flex-wrap:wrap}.partnerselect{padding:20px;border:1px solid #4b6655;border-radius:5px;margin-top:18px;background:#10261f}.partnerselect p:last-child{color:#b1cabc;font-size:12px;line-height:1.8}.coop-hidden{display:none!important}@media(max-width:650px){.modepicker{flex-direction:column}}

.bio small{display:block;min-height:38px;color:#e2c88d;font-size:11px;line-height:1.6}#abilitystatus{font-size:12px;line-height:1.8;color:#f2d69e}.actions{flex-wrap:wrap}
/* Touch layout: keep the arena visible and the controls in the thumb zones. */
.mobile-note,.rotate-tip,#mobilehud{display:none}
.touch-device .mobile-note{display:block;text-align:center;color:#b4c9bf;font-size:12px;line-height:1.6}
.touch-device #touch{display:flex}.touch-device .controls{display:none}
#touch{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.move-cluster{display:flex;align-items:flex-end;gap:8px}#move-pad{width:116px;height:116px;position:relative;border-radius:50%;background:#102c28b8;border:2px solid #9dc6b580;touch-action:none;box-shadow:inset 0 0 22px #020c0b70}#move-pad>span:not(#move-thumb){position:absolute;color:#d8e9dc;font-size:22px;pointer-events:none}.pad-up{top:3px;left:47px}.pad-down{bottom:3px;left:47px}.pad-left{left:7px;top:39px}.pad-right{right:7px;top:39px}#move-thumb{position:absolute;left:50%;top:50%;width:44px;height:44px;border-radius:50%;transform:translate(-50%,-50%);background:#d4ead68c;border:2px solid #f1ffe8ab;pointer-events:none}
#touch .actions{display:grid;grid-template-columns:repeat(3,58px);gap:7px;align-content:end}#touch button{min-height:48px;padding:7px 3px;font-size:9px;letter-spacing:.3px;background:#16392fe8;border:1px solid #b6d5bf95;color:#edf5e6;touch-action:none;box-shadow:0 3px 9px #0005}#touch .attack-touch{background:#ffca5be8;color:#18231a;border-color:#ffe4a0;font-size:11px}#touch .special-touch{background:#763d50e8;color:#ffe6d9}#touch .run-touch{min-width:52px;min-height:42px;font-size:8px;margin-bottom:4px}#touch button.pressed{filter:brightness(1.4);transform:scale(.94);border-color:white}
.touch-device.mobile-playing{overflow:hidden;overscroll-behavior:none;background:#061713}
.touch-device.mobile-playing header,.touch-device.mobile-playing footer{display:none}
.touch-device.mobile-playing main{position:fixed;inset:0;max-width:none;padding:0;margin:0}
.touch-device.mobile-playing #play{position:absolute;inset:0;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);height:100%;height:100dvh}
.touch-device.mobile-playing .stage-top{flex:0 0 36px;margin:0;padding:3px 8px;gap:6px;letter-spacing:0;font-size:9px}.touch-device.mobile-playing .stage-top>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}.touch-device.mobile-playing .stage-top>div{display:flex;flex-shrink:0}.touch-device.mobile-playing .stage-top button{min-height:30px;padding:6px 8px;margin-left:4px;font-size:9px}
.touch-device.mobile-playing #arena{flex:1;min-height:0;width:100%;border:0;border-radius:0;background:#061713}.touch-device.mobile-playing canvas{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;touch-action:none}
.touch-device.mobile-playing #touch{position:absolute;bottom:calc(9px + env(safe-area-inset-bottom));left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));z-index:3;pointer-events:none;margin:0;align-items:flex-end}.touch-device.mobile-playing #touch>*{pointer-events:auto}
.touch-device.mobile-playing #missionstatus{position:absolute;top:64px;left:0;right:0;margin:0;text-align:center;font-size:10px;pointer-events:none;text-shadow:0 1px 4px black;z-index:1}
.touch-device.mobile-playing #abilitystatus{position:absolute;top:79px;left:20%;right:20%;font-size:9px;text-align:center;line-height:1.35;margin:0;pointer-events:none;text-shadow:0 1px 4px black;z-index:1}
.touch-device.mobile-playing #mobilehud{display:block;position:absolute;top:38px;left:10px;right:10px;text-align:center;z-index:1;font-size:11px;line-height:20px;color:#e9f3de;background:#0b221bce;border-radius:4px;pointer-events:none}
.touch-device.mobile-playing #overlay{z-index:5;padding:8px 12px}.touch-device.mobile-playing #overlay h2{font-size:clamp(24px,5vw,45px);margin:0}.touch-device.mobile-playing #overlay .eyebrow{margin:3px;font-size:8px}.touch-device.mobile-playing #overlay p:not(.eyebrow){font-size:11px;margin:6px}.touch-device.mobile-playing #overlay button{padding:10px 14px;min-height:40px;margin-top:7px;min-width:180px}.touch-device.mobile-playing #overlay #next{margin:5px auto}
#play:fullscreen{background:#061713;display:flex;flex-direction:column;width:100%;height:100%;padding:8px}#play:fullscreen #arena{flex:1;min-height:0}#play:fullscreen canvas{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
@media(max-width:550px){.launch{flex-direction:column;align-items:stretch}.launch .primary{width:100%}.continuecard{flex-direction:column;align-items:stretch}.continuecard button{width:100%}.difficultycards{flex-wrap:wrap}.stagecards{grid-template-columns:1fr 1fr}.stagecard{padding:10px;min-height:116px}.stagecard strong{font-size:18px}.stagecard small{font-size:9px}.card .portrait{height:170px}.intro>p:last-child{line-height:1.6}.bio small{min-height:45px}.stage-heading{font-size:11px}}
@media(orientation:portrait){.touch-device.mobile-playing .rotate-tip{display:block;flex:0 0 auto;text-align:center;color:#ffce78;background:#23352a;font-size:12px;margin:0;padding:8px}.touch-device.mobile-playing #arena{margin-bottom:185px}.touch-device.mobile-playing #mobilehud{top:100px}.touch-device.mobile-playing #missionstatus{top:125px}.touch-device.mobile-playing #abilitystatus{top:auto;bottom:155px;left:8px;right:8px;font-size:10px}.touch-device.mobile-playing #touch{bottom:calc(20px + env(safe-area-inset-bottom))}.touch-device.mobile-playing #overlay{padding:12px}.touch-device.mobile-playing #overlay h2{font-size:27px}}
@media(orientation:landscape) and (max-height:440px){.touch-device.mobile-playing .stage-top{flex-basis:30px}.touch-device.mobile-playing #mobilehud{top:31px;font-size:10px;line-height:17px;left:25%;right:25%}.touch-device.mobile-playing #missionstatus{top:50px;font-size:9px}.touch-device.mobile-playing #abilitystatus{top:65px;font-size:8px;left:27%;right:27%}#move-pad{width:100px;height:100px}.pad-up,.pad-down{left:40px}.pad-left,.pad-right{top:32px}#touch .actions{grid-template-columns:repeat(3,52px);gap:5px}#touch button{min-height:44px}.touch-device.mobile-playing #overlay button{min-height:35px;padding:8px;margin-top:5px}}
@media(orientation:landscape) and (min-height:600px){#move-pad{width:144px;height:144px}.pad-up,.pad-down{left:60px}.pad-left,.pad-right{top:53px}#touch .actions{grid-template-columns:repeat(3,74px);gap:10px}#touch button{min-height:62px;font-size:11px}.touch-device.mobile-playing #touch{bottom:calc(22px + env(safe-area-inset-bottom));left:calc(25px + env(safe-area-inset-left));right:calc(25px + env(safe-area-inset-right))}}

.touchmode{display:block;margin:0 auto 12px;min-height:44px;color:#aee0cf}.touchmode[aria-pressed=true]{border-color:#6ad9bb;background:#1c3c31}

#mobileboss{display:none}.touch-device.mobile-playing #mobileboss:not(:empty){display:block;position:absolute;top:100px;left:25%;right:25%;text-align:center;font-size:10px;background:#572739d9;border:1px solid #ed8095;color:#ffe6dd;z-index:1;padding:3px;pointer-events:none}@media(orientation:landscape) and (max-height:440px){.touch-device.mobile-playing #mobileboss:not(:empty){top:88px;font-size:9px}}@media(orientation:portrait){.touch-device.mobile-playing #mobileboss:not(:empty){top:143px;left:10%;right:10%}}#touch .actions button:nth-child(2){background:#16392fe8;color:#edf5e6}
@media(orientation:portrait) and (max-width:400px){.move-cluster{position:relative;gap:0}#move-pad{width:100px;height:100px}.pad-up,.pad-down{left:40px}.pad-left,.pad-right{top:32px}#touch .run-touch{position:absolute;top:-49px;left:24px;margin:0;min-width:52px}#touch .actions{grid-template-columns:repeat(3,48px);gap:5px}#touch button{min-height:46px}}

/* CSS fallback keeps controls in the viewport even before device detection runs. */
@media (any-pointer:coarse),(max-width:1024px),(display-mode:standalone),(display-mode:fullscreen){
/* Touch layout: keep the arena visible and the controls in the thumb zones. */
.mobile-note,.rotate-tip,#mobilehud{display:none}
.touch-device .mobile-note{display:block;text-align:center;color:#b4c9bf;font-size:12px;line-height:1.6}
.touch-device #touch{display:flex}.touch-device .controls{display:none}
#touch{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.move-cluster{display:flex;align-items:flex-end;gap:8px}#move-pad{width:116px;height:116px;position:relative;border-radius:50%;background:#102c28b8;border:2px solid #9dc6b580;touch-action:none;box-shadow:inset 0 0 22px #020c0b70}#move-pad>span:not(#move-thumb){position:absolute;color:#d8e9dc;font-size:22px;pointer-events:none}.pad-up{top:3px;left:47px}.pad-down{bottom:3px;left:47px}.pad-left{left:7px;top:39px}.pad-right{right:7px;top:39px}#move-thumb{position:absolute;left:50%;top:50%;width:44px;height:44px;border-radius:50%;transform:translate(-50%,-50%);background:#d4ead68c;border:2px solid #f1ffe8ab;pointer-events:none}
#touch .actions{display:grid;grid-template-columns:repeat(3,58px);gap:7px;align-content:end}#touch button{min-height:48px;padding:7px 3px;font-size:9px;letter-spacing:.3px;background:#16392fe8;border:1px solid #b6d5bf95;color:#edf5e6;touch-action:none;box-shadow:0 3px 9px #0005}#touch .attack-touch{background:#ffca5be8;color:#18231a;border-color:#ffe4a0;font-size:11px}#touch .special-touch{background:#763d50e8;color:#ffe6d9}#touch .run-touch{min-width:52px;min-height:42px;font-size:8px;margin-bottom:4px}#touch button.pressed{filter:brightness(1.4);transform:scale(.94);border-color:white}
body:has(#play:not([hidden])){overflow:hidden;overscroll-behavior:none;background:#061713}
body:has(#play:not([hidden])) header,body:has(#play:not([hidden])) footer{display:none}
body:has(#play:not([hidden])) main{position:fixed;inset:0;max-width:none;padding:0;margin:0}
body:has(#play:not([hidden])) #play{position:absolute;inset:0;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);height:100%;height:100dvh}
body:has(#play:not([hidden])) .stage-top{flex:0 0 36px;margin:0;padding:3px 8px;gap:6px;letter-spacing:0;font-size:9px}body:has(#play:not([hidden])) .stage-top>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:55%}body:has(#play:not([hidden])) .stage-top>div{display:flex;flex-shrink:0}body:has(#play:not([hidden])) .stage-top button{min-height:30px;padding:6px 8px;margin-left:4px;font-size:9px}
body:has(#play:not([hidden])) #arena{flex:1;min-height:0;width:100%;border:0;border-radius:0;background:#061713}body:has(#play:not([hidden])) canvas{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;touch-action:none}
body:has(#play:not([hidden])) #touch{position:absolute;bottom:calc(9px + env(safe-area-inset-bottom));left:calc(12px + env(safe-area-inset-left));right:calc(12px + env(safe-area-inset-right));z-index:3;pointer-events:none;margin:0;align-items:flex-end}body:has(#play:not([hidden])) #touch>*{pointer-events:auto}
body:has(#play:not([hidden])) #missionstatus{position:absolute;top:64px;left:0;right:0;margin:0;text-align:center;font-size:10px;pointer-events:none;text-shadow:0 1px 4px black;z-index:1}
body:has(#play:not([hidden])) #abilitystatus{position:absolute;top:79px;left:20%;right:20%;font-size:9px;text-align:center;line-height:1.35;margin:0;pointer-events:none;text-shadow:0 1px 4px black;z-index:1}
body:has(#play:not([hidden])) #mobilehud{display:block;position:absolute;top:38px;left:10px;right:10px;text-align:center;z-index:1;font-size:11px;line-height:20px;color:#e9f3de;background:#0b221bce;border-radius:4px;pointer-events:none}
body:has(#play:not([hidden])) #overlay{z-index:5;padding:8px 12px}body:has(#play:not([hidden])) #overlay h2{font-size:clamp(24px,5vw,45px);margin:0}body:has(#play:not([hidden])) #overlay .eyebrow{margin:3px;font-size:8px}body:has(#play:not([hidden])) #overlay p:not(.eyebrow){font-size:11px;margin:6px}body:has(#play:not([hidden])) #overlay button{padding:10px 14px;min-height:40px;margin-top:7px;min-width:180px}body:has(#play:not([hidden])) #overlay #next{margin:5px auto}
#play:fullscreen{background:#061713;display:flex;flex-direction:column;width:100%;height:100%;padding:8px}#play:fullscreen #arena{flex:1;min-height:0}#play:fullscreen canvas{width:100%;height:100%;object-fit:contain;aspect-ratio:auto}
@media(max-width:550px){.launch{flex-direction:column;align-items:stretch}.launch .primary{width:100%}.continuecard{flex-direction:column;align-items:stretch}.continuecard button{width:100%}.difficultycards{flex-wrap:wrap}.stagecards{grid-template-columns:1fr 1fr}.stagecard{padding:10px;min-height:116px}.stagecard strong{font-size:18px}.stagecard small{font-size:9px}.card .portrait{height:170px}.intro>p:last-child{line-height:1.6}.bio small{min-height:45px}.stage-heading{font-size:11px}}
@media(orientation:portrait){body:has(#play:not([hidden])) .rotate-tip{display:block;flex:0 0 auto;text-align:center;color:#ffce78;background:#23352a;font-size:12px;margin:0;padding:8px}body:has(#play:not([hidden])) #arena{margin-bottom:185px}body:has(#play:not([hidden])) #mobilehud{top:100px}body:has(#play:not([hidden])) #missionstatus{top:125px}body:has(#play:not([hidden])) #abilitystatus{top:auto;bottom:155px;left:8px;right:8px;font-size:10px}body:has(#play:not([hidden])) #touch{bottom:calc(20px + env(safe-area-inset-bottom))}body:has(#play:not([hidden])) #overlay{padding:12px}body:has(#play:not([hidden])) #overlay h2{font-size:27px}}
@media(orientation:landscape) and (max-height:440px){body:has(#play:not([hidden])) .stage-top{flex-basis:30px}body:has(#play:not([hidden])) #mobilehud{top:31px;font-size:10px;line-height:17px;left:25%;right:25%}body:has(#play:not([hidden])) #missionstatus{top:50px;font-size:9px}body:has(#play:not([hidden])) #abilitystatus{top:65px;font-size:8px;left:27%;right:27%}#move-pad{width:100px;height:100px}.pad-up,.pad-down{left:40px}.pad-left,.pad-right{top:32px}#touch .actions{grid-template-columns:repeat(3,52px);gap:5px}#touch button{min-height:44px}body:has(#play:not([hidden])) #overlay button{min-height:35px;padding:8px;margin-top:5px}}
@media(orientation:landscape) and (min-height:600px){#move-pad{width:144px;height:144px}.pad-up,.pad-down{left:60px}.pad-left,.pad-right{top:53px}#touch .actions{grid-template-columns:repeat(3,74px);gap:10px}#touch button{min-height:62px;font-size:11px}body:has(#play:not([hidden])) #touch{bottom:calc(22px + env(safe-area-inset-bottom));left:calc(25px + env(safe-area-inset-left));right:calc(25px + env(safe-area-inset-right))}}

.touchmode{display:block;margin:0 auto 12px;min-height:44px;color:#aee0cf}.touchmode[aria-pressed=true]{border-color:#6ad9bb;background:#1c3c31}

#mobileboss{display:none}body:has(#play:not([hidden])) #mobileboss:not(:empty){display:block;position:absolute;top:100px;left:25%;right:25%;text-align:center;font-size:10px;background:#572739d9;border:1px solid #ed8095;color:#ffe6dd;z-index:1;padding:3px;pointer-events:none}@media(orientation:landscape) and (max-height:440px){body:has(#play:not([hidden])) #mobileboss:not(:empty){top:88px;font-size:9px}}@media(orientation:portrait){body:has(#play:not([hidden])) #mobileboss:not(:empty){top:143px;left:10%;right:10%}}#touch .actions button:nth-child(2){background:#16392fe8;color:#edf5e6}
@media(orientation:portrait) and (max-width:400px){.move-cluster{position:relative;gap:0}#move-pad{width:100px;height:100px}.pad-up,.pad-down{left:40px}.pad-left,.pad-right{top:32px}#touch .run-touch{position:absolute;top:-49px;left:24px;margin:0;min-width:52px}#touch .actions{grid-template-columns:repeat(3,48px);gap:5px}#touch button{min-height:46px}}

body:has(#play:not([hidden])) #touch{display:flex}body:has(#play:not([hidden])) .controls{display:none}
}
.installcard{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin:20px 0;padding:20px;border:1px solid #5ad4bd60;border-radius:8px;background:#13352bea}.installcard strong{display:block;font-size:20px;margin:7px 0}.installcard p{font-size:13px;line-height:1.6;color:#b9d4c7;margin:5px 0}#installstatus{flex-basis:100%;color:#ffda8a;margin:0}#installstatus:empty{display:none}#installhelp{flex-basis:100%;border-top:1px solid #8bc5a340;padding-top:10px}#installhelp button{min-height:44px;margin-top:8px}@media(max-width:550px){.installcard{padding:16px}.installcard>.primary{width:100%}.installcard strong{font-size:18px}}

.padcard{display:flex;gap:14px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin:20px 0;padding:18px;background:#142d27;border:1px solid #5ad4bd55;border-radius:7px}.padcard strong{display:block;font-size:20px;margin:7px 0}.padcard p{font-size:12px;line-height:1.7;color:#b7cfc0}.padcard details{flex-basis:100%}.padcard summary{cursor:pointer;min-height:44px;padding:12px 0;color:#ffda8a;font-size:12px}#enablegamepad[aria-pressed=true]{background:#276047;border-color:#8de4ac}.padplaystatus{font-size:11px;text-align:center;color:#9dc9b8}.touch-device.mobile-playing .padplaystatus{display:none}@media(max-width:1024px),(any-pointer:coarse),(display-mode:standalone),(display-mode:fullscreen){body:has(#play:not([hidden])) .padplaystatus{display:none}}
:root{--control-size:1;--control-opacity:.9;--control-inset:0px;--control-lift:0px}.settingsmenu{display:block;margin:0 0 16px auto;min-height:44px;color:#ffd180}#controlsettings{width:min(720px,94vw);max-height:90vh;max-height:90dvh;overflow:auto;background:#102c24;color:#edf3dc;border:1px solid #77c1a2;border-radius:10px;padding:22px}#controlsettings::backdrop{background:#020d0ce8}#controlsettings h2{font:800 30px 'Barlow Condensed',sans-serif;color:#ffd17e;margin:0 0 10px}#controlsettings h3{color:#8fe5bc;margin:22px 0 12px}#controlsettings p{font-size:12px;line-height:1.7;color:#c2d5c8}#controlsettings>label{display:block;font-size:13px;margin:15px 0}#controlsettings output{float:right;color:#ffd17e}#controlsettings input[type=range]{display:block;width:100%;height:36px;accent-color:#ffbf55}#controlsettings select{background:#092019;color:#eff3d9;border:1px solid #729b82;min-height:44px;width:150px;font-size:12px;padding:5px}#padbindings{display:grid;grid-template-columns:1fr 1fr;gap:12px}#padbindings fieldset{border:1px solid #4d8165;min-width:0;padding:12px}#padbindings label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:8px 0;font-size:12px}#controlsettings button{min-height:44px;margin:8px}.controlpreview{display:flex;justify-content:space-between;padding:20px;background:#061b15;border:1px dashed #70a58c;opacity:var(--control-opacity)}.controlpreview span{display:block;transform:scale(var(--control-size));color:#ffd17e}.controls-mirrored .controlpreview{flex-direction:row-reverse}#touch .move-cluster,#touch .actions{opacity:var(--control-opacity);transform:scale(var(--control-size));margin-bottom:var(--control-lift)}#touch .move-cluster{transform-origin:left bottom;margin-left:min(var(--control-inset),max(0px,calc((100vw - 540px)/2)))}#touch .actions{transform-origin:right bottom;margin-right:min(var(--control-inset),max(0px,calc((100vw - 540px)/2)))}.controls-mirrored #touch{flex-direction:row-reverse}.controls-mirrored #touch .move-cluster{transform-origin:right bottom;margin-left:0;margin-right:min(var(--control-inset),max(0px,calc((100vw - 540px)/2)))}.controls-mirrored #touch .actions{transform-origin:left bottom;margin-right:0;margin-left:min(var(--control-inset),max(0px,calc((100vw - 540px)/2)))}@media(max-width:400px){#touch .move-cluster,#touch .actions{transform:scale(min(var(--control-size),1))}}@media(max-width:620px){#padbindings{grid-template-columns:1fr}#controlsettings{padding:16px}}

.progressstatus{text-align:center;color:#ffda8d;font-size:11px}.touch-device.mobile-playing .progressstatus{position:absolute;top:113px;left:25%;right:25%;font-size:9px;z-index:1;margin:0;pointer-events:none;text-shadow:0 1px 3px black}@media(max-width:1024px),(any-pointer:coarse),(display-mode:standalone),(display-mode:fullscreen){body:has(#play:not([hidden])) .progressstatus{position:absolute;top:113px;left:25%;right:25%;font-size:9px;z-index:1;margin:0;pointer-events:none;text-shadow:0 1px 3px black}}@media(orientation:portrait){.touch-device.mobile-playing .progressstatus,body:has(#play:not([hidden])) .progressstatus{top:170px;left:5%;right:5%}}

.settingsfooter{position:sticky;bottom:-22px;margin:15px -22px -22px;padding:10px;background:#102c24;z-index:2;display:flex;justify-content:space-between;border-top:1px solid #426b55}.settingsfooter button{margin:3px!important}@media(max-width:620px){.settingsfooter{bottom:-16px;margin-left:-16px;margin-right:-16px;margin-bottom:-16px;gap:5px;padding:8px}.settingsfooter .primary{min-width:135px}.settingsfooter button{font-size:10px;padding:10px}}
