:root{color-scheme:dark;--bg:#1c1917;--ink:#dcd4cc;--muted:#9f9b97;--mint:#b7c8cd;--purple:#c9bcb1}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg);color:var(--ink);font-family:Inter,"Yu Gothic UI","Meiryo",sans-serif}body{overscroll-behavior:none}button,select,a{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #bbcbd0;outline-offset:4px}.hidden{display:none!important}#app{max-width:1600px;margin:auto;padding:0 38px}.topbar{height:88px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:5px;align-items:center;color:#fff;text-decoration:none;font-weight:900;font-size:23px;letter-spacing:-1px}.brand>span:not(.brand-mark){color:var(--mint)}.brand .brand-mark{font-size:33px;margin-right:9px;color:var(--mint)}.brand small{font-size:9px;letter-spacing:2px;font-weight:500;border-left:1px solid #4d4a47;padding-left:14px;margin-left:15px}.top-actions{display:flex;align-items:center;gap:12px}.offline{color:#b2aeab;font-size:10px;letter-spacing:1.8px;margin-right:13px}.offline i,.live-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--mint);margin-right:8px}.icon-btn{border:1px solid #46423e;background:#272422;color:#cbc5bf;border-radius:9px;min-width:41px;height:36px;font-size:12px}.arena-shell{position:relative;overflow:hidden;width:100%;aspect-ratio:16/9;max-height:calc(100dvh - 220px);min-height:420px;border:1px solid #4b4641;border-radius:19px;background:#2c2824;box-shadow:0 20px 70px #0003}canvas{width:100%;height:100%;display:block}.arena-label{position:absolute;top:25px;left:28px;font-size:9px;font-weight:600;letter-spacing:2px;color:#c1c8cb;pointer-events:none}.label-divider{color:#6f777a;margin:0 10px}.overlay{position:absolute;inset:0;background:linear-gradient(90deg,#211d1aea 0%,#1b2022be 37%,#1b202210 72%);display:flex;align-items:center;padding:5%}.menu-content{position:relative;z-index:1;width:55%;max-width:560px}.eyebrow{font-size:10px;letter-spacing:2.2px;color:var(--mint);font-weight:600}.eyebrow>span{display:inline-block;width:25px;height:1px;background:var(--mint);vertical-align:middle;margin-right:9px}h1{font-weight:900;font-size:clamp(32px,4.2vw,66px);letter-spacing:-2px;line-height:1.27;margin:22px 0 18px}h1 span{color:var(--mint)}.intro{color:#c0bbb6;font-size:13px;line-height:1.95;margin:0 0 25px}.setup{display:flex;gap:25px;align-items:center;margin-bottom:20px}.setup label,.rule-chip>span{display:block;font-size:8px;letter-spacing:1.8px;color:#939b9d;margin-bottom:8px}select{background:#272d2f;color:#c8d1d3;border:1px solid #5b5753;border-radius:7px;padding:10px 25px 10px 10px;font-size:11px;max-width:100%}.rule-chip strong{font-size:11px;font-weight:500;letter-spacing:1px}.rule-chip b{margin:0 5px;color:#827d78}.primary{border:0;border-radius:9px;background:var(--mint);color:#1d2223;padding:17px 23px;display:flex;align-items:center;justify-content:space-between;gap:60px;min-width:260px;font-size:14px;font-weight:800;box-shadow:0 5px 30px #a6bbc113;transition:transform .15s,background .15s}.primary:hover{background:#c3d1d5;transform:translateY(-2px)}.primary span{font-size:22px;line-height:16px}.menu-hint{margin-top:15px;color:#a0a8aa;font-size:9px;letter-spacing:.5px}.menu-hint span{margin:0 7px}.hero-tag{position:absolute;right:10%;bottom:14%;display:flex;align-items:center;gap:16px}.tag-line{height:45px;width:2px;background:var(--mint);transform:rotate(20deg)}.hero-tag small{font-size:8px;letter-spacing:2px;color:var(--mint)}.hero-tag strong{display:block;font-size:24px;letter-spacing:3px;margin:5px 0}.hero-tag strong span{font-size:10px;color:#b5bec1;letter-spacing:1px}.hero-tag p{color:#afb6b8;font-size:9px;margin:0}.hud{position:absolute;top:25px;left:25px;right:25px;display:flex;align-items:start;justify-content:space-between;pointer-events:none}.hud~.overlay{z-index:3}.arena-shell:has(.hud:not(.hidden))>.arena-label{display:none}.fighter-card{display:flex;gap:13px;align-items:center;min-width:174px;padding:13px 18px;border:1px solid #a7b6bb33;background:#25201cd9;border-radius:12px}.cpu-card{text-align:right;border-color:#ccc0b540}.avatar{background:#b1c3c9;color:#2d373a;border-radius:12px 12px 20px 12px;width:42px;height:49px;display:grid;place-items:center;font-weight:900;font-size:23px}.cpu-card .avatar{background:#cbbfb3;color:#524b44}.fighter-name{font-weight:800;font-size:12px;letter-spacing:1px}.fighter-name em{font-style:normal;font-size:8px;color:var(--mint);margin:0 6px}.cpu-card em{color:#cfc4b9}.damage{font-size:31px;font-weight:900;font-variant-numeric:tabular-nums;line-height:1.2}.damage small{font-size:15px;margin-left:2px}.stocks{font-size:11px;letter-spacing:5px;color:var(--mint);height:16px}.cpu-card .stocks{color:#ccc1b6}.match-info{text-align:center;padding-top:7px;text-shadow:0 2px 8px #1c1917}.match-info>span,.match-info small{display:block;font-size:8px;letter-spacing:2px;color:#b8c1c4}.match-info strong{display:block;font-size:28px;font-weight:700;letter-spacing:2px;line-height:1.5;font-variant-numeric:tabular-nums}.centered{justify-content:center;background:#1d1916b8;backdrop-filter:blur(8px)}.modal{text-align:center;width:330px;max-width:90%}.modal h2{font-size:46px;letter-spacing:-2px;margin:15px 0;color:var(--mint)}.modal p{font-size:13px;color:#bac2c5;line-height:1.8}.modal .primary{width:100%;min-width:0;margin-top:24px}.secondary{color:#a9b1b4;background:transparent;border:0;padding:17px;font-size:12px}.result-stats{display:flex;justify-content:center;gap:35px;margin-top:25px}.result-stats small{display:block;color:#a0a8ab;font-size:10px}.result-stats strong{display:block;margin-top:7px;font-size:26px}.instructions{display:flex;align-items:center;justify-content:center;gap:22px;padding:26px 0 17px;color:#b1aca8;font-size:11px;flex-wrap:wrap}.instructions>span{display:flex;gap:4px;align-items:center}.instructions .section-label{font-size:8px;letter-spacing:2px;color:#7e7974;margin-right:5px}kbd{display:inline-grid;place-items:center;min-width:24px;height:24px;border:1px solid #4b4743;border-bottom:2px solid #5d5854;border-radius:4px;font:10px monospace;color:#c5c1bd;padding:0 5px;margin-right:2px}.or{color:#68635e;margin-right:3px}.tip{text-align:center;color:#8b8681;font-size:10px;line-height:1.7;padding-bottom:22px}.tip>span{color:var(--mint);margin-right:8px}#announcement{pointer-events:none;position:absolute;top:40%;left:0;right:0;text-align:center;font-size:70px;font-weight:1000;font-style:italic;color:#c8d5d9;text-shadow:0 5px 0 #526267,0 10px 40px #1a2225;z-index:4}.touch-controls{position:absolute;bottom:15px;left:18px;right:18px;display:flex;justify-content:space-between;align-items:end;pointer-events:none;z-index:2;touch-action:none;user-select:none}.touch-controls button{pointer-events:auto;touch-action:none;user-select:none;border:1px solid #c4d2d638;background:#232d3099;color:#ccd7db;width:62px;height:62px;border-radius:50%;font-size:23px;backdrop-filter:blur(4px);box-shadow:inset 0 0 18px #acbfc50c}.touch-controls button.held{background:#bfced3a8;transform:scale(.94)}.movement{display:flex;gap:12px}.actions{display:flex;gap:9px;align-items:end}.actions small{display:block;font-size:7px;letter-spacing:.5px;margin-top:2px}.actions .touch-attack{background:#abbec53d;border-color:#b7c8cd80;width:70px;height:70px}.actions .touch-special{background:#c8bcb035;border-color:#cfc4ba66}.actions .touch-guard{width:51px;height:51px;font-size:18px}.actions .touch-jump{margin-bottom:38px}.touch-controls{display:none}@media(pointer:coarse),(max-width:850px){.touch-controls{display:flex}#app{padding:0 12px}.topbar{height:60px}.brand{font-size:18px}.brand .brand-mark{font-size:26px}.offline{display:none}.arena-shell{max-height:none;min-height:0;aspect-ratio:16/10;border-radius:13px}.instructions{gap:12px;padding-top:18px}.arena-label{top:17px;left:19px;font-size:7px}.menu-content{width:63%}h1{font-size:clamp(25px,5vw,48px);margin:15px 0 12px}.intro{font-size:11px;margin-bottom:14px}.setup{gap:12px;margin-bottom:13px}.primary{min-width:220px;padding:13px 17px;font-size:12px}.hero-tag{right:6%;bottom:14%}.menu-hint{font-size:8px}.hud{top:12px;left:12px;right:12px}.fighter-card{padding:8px 10px;min-width:130px;gap:9px}.avatar{width:30px;height:38px;font-size:19px}.damage{font-size:25px}.match-info strong{font-size:24px}.match-info>span,.match-info small{font-size:7px}.instructions .section-label{width:100%;justify-content:center}.tip{font-size:9px}}
@media(max-width:600px) and (orientation:portrait){#app{padding:0 8px}.brand small{display:none}.arena-shell{height:calc(100dvh - 145px);min-height:500px;aspect-ratio:auto}.overlay{padding:26px;background:linear-gradient(180deg,#211d1ae8,#1b202295 65%,#1b202210)}.menu-content{width:100%;align-self:flex-start;margin-top:55px}h1{font-size:40px}.intro{font-size:12px}.hero-tag{bottom:12%;right:9%}.setup{margin:20px 0}.primary{min-width:245px;padding:16px 20px}.eyebrow{font-size:8px}.rule-chip strong{font-size:9px}.menu-hint{font-size:8px}.instructions{display:none}.tip{padding:11px 15px;max-width:380px;margin:auto}.fighter-card{min-width:105px;padding:7px;gap:5px}.avatar{width:24px;height:32px;font-size:16px}.fighter-name{font-size:10px}.fighter-name em{font-size:7px;margin:0 2px}.damage{font-size:23px}.stocks{font-size:9px;letter-spacing:4px}.match-info{padding-top:4px}.match-info strong{font-size:21px}.match-info>span{font-size:6px;letter-spacing:1px}.match-info small{font-size:6px;letter-spacing:1px}.touch-controls{bottom:22px;left:10px;right:10px}.touch-controls button{width:49px;height:49px;font-size:20px}.movement{gap:6px}.actions{gap:5px}.actions .touch-attack{width:57px;height:57px}.actions .touch-guard{width:42px;height:42px;font-size:16px}.actions .touch-special{width:48px;height:48px}.actions .touch-jump{width:48px;height:48px;margin-bottom:51px;margin-left:-20px}.modal{align-self:center}.modal h2{font-size:43px}}
@media(max-height:550px) and (orientation:landscape){#app{padding:0}.topbar{height:38px;padding:0 15px}.brand{font-size:15px}.brand .brand-mark{font-size:22px}.icon-btn{height:27px}.arena-shell{height:calc(100dvh - 38px);aspect-ratio:auto;border-radius:0;border:0}.arena-label{top:12px}.overlay{padding:25px 5%}.menu-content{width:60%;margin-top:12px}h1{font-size:32px;margin:10px 0}.intro{font-size:10px;line-height:1.5;margin-bottom:10px}.setup{margin-bottom:10px}select{padding:7px;font-size:10px}.primary{padding:11px 16px}.menu-hint{margin-top:8px}.hero-tag{bottom:13%}footer{display:none}.touch-controls{bottom:10px}.touch-controls button{width:51px;height:51px}.actions .touch-attack{width:58px;height:58px}.actions .touch-jump{margin-bottom:28px}.modal h2{font-size:34px;margin:10px}.modal .primary{margin-top:15px}.result-stats{margin-top:12px}.hud{top:10px}.fighter-card{padding:5px 10px}.damage{font-size:22px}.avatar{height:32px}.stocks{height:13px}}

.movement{align-items:end}.vertical{display:flex;flex-direction:column;gap:5px}.vertical button{width:43px;height:43px;font-size:19px}.tip{color:#b1b8bb}.arena-label{text-shadow:0 2px 6px #3a322a}.fighter-card{border-bottom:3px solid #b4c5cb}.cpu-card{border-bottom-color:#cbbfb4}
@media(max-width:600px) and (orientation:portrait){.movement{gap:3px}.movement>button{width:39px;height:43px}.vertical button{width:36px;height:36px}.touch-controls{left:6px;right:6px}.actions{gap:3px}.actions .touch-attack{width:49px;height:49px}.actions .touch-guard{width:37px;height:37px}.actions .touch-special{width:43px;height:43px}.actions .touch-jump{width:43px;height:43px;margin-left:-18px}}
/* Celestial Ruins art direction: obsidian / jade / antique gold. */
:root{--bg:#191613;--mint:#b9c9ce;--gold:#c4baab}
body{background:radial-gradient(ellipse at 65% 0,#3a3632 0,transparent 65%),#191613}
.topbar{height:76px}.brand{font-style:italic;letter-spacing:-.8px}.brand small{font-style:normal;color:#b7b0a6}.brand .brand-mark{color:var(--gold)}
.arena-shell{border-radius:14px;border-color:#7a767375;box-shadow:0 24px 80px #0005,0 0 0 5px #ffffff03;max-height:calc(100dvh - 205px)}
.arena-label{color:#cec6b9;letter-spacing:1.6px}.live-dot{background:var(--gold)}
.overlay{background:linear-gradient(90deg,#181512f2 0%,#1b2123db 31%,#191e2055 55%,transparent 78%)}
.menu-content{max-width:570px}.eyebrow{color:#c4baab;font-size:9px;letter-spacing:2.3px}.eyebrow>span{background:#c4baab}
h1{font-style:italic;text-shadow:0 5px 25px #18141066;line-height:1.3;letter-spacing:-2px;margin:18px 0 16px}h1 span{color:#bdccd1}.intro{color:#c1c6c8;font-size:12px;line-height:1.9;margin-bottom:19px}
.primary{border-radius:3px;box-shadow:5px 5px 0 #31383a,0 0 32px #b7c7cd1a;min-height:49px;letter-spacing:.4px}.primary:hover{box-shadow:5px 7px 0 #31383a,0 0 36px #b7c7cd30}.setup select{border-radius:3px;background:#1d2325d9}.rule-chip{border-left:1px solid #beb7ad45;padding-left:20px}.setup label,.rule-chip>span{color:#b6b4b0}
.stage-features{display:flex;gap:13px;color:#bfbab2;font-size:9px;margin-top:21px}.menu-hint{font-size:8px;margin-top:9px;color:#a8b0b2}.hero-tag{right:8%;bottom:12%;background:#1e26299c;padding:13px 21px 13px 14px;border-right:2px solid #bacacf;backdrop-filter:blur(5px)}.hero-tag strong{font-size:26px;font-style:italic}.hero-tag p{color:#c5ccce}.stage-seal{position:absolute;top:13%;right:6%;color:#d5cec3;text-align:right;font-size:11px;line-height:1.4;letter-spacing:4px;text-shadow:0 2px 12px #46423e}.stage-seal>span{display:block;font-size:54px;font-weight:200;line-height:1.2;opacity:.6;letter-spacing:-3px}.stage-seal small{display:block;font-size:9px;letter-spacing:2px;margin-top:9px;border-top:1px solid #d4ccc166;padding-top:9px}
.fighter-card{position:relative;border-radius:3px;background:linear-gradient(115deg,#1c2224ed,#283032d9);border-top-color:#c6d4d84d;box-shadow:0 5px 15px #1c171340;padding:9px 15px;gap:12px;min-width:178px}.cpu-card{background:linear-gradient(-115deg,#2b2724ed,#3e3935d9)}.avatar{overflow:hidden;background:#242d30;border:1px solid #bdccd166;border-radius:2px;width:49px;height:65px;transform:skew(-5deg)}.avatar img{height:100%;width:100%;object-fit:cover;transform:skew(5deg) scale(1.15)}.cpu-card .avatar{border-color:#ccc1b666;background:#47423d}.nova img{filter:hue-rotate(76deg) saturate(1.25)}.fighter-name{font-size:11px;letter-spacing:1.6px}.damage{font-style:italic;font-size:34px;text-shadow:2px 2px #12191b}.damage small{font-size:17px}.stocks{font-size:10px}.match-info{background:linear-gradient(#221e1ab3,transparent);padding:9px 21px 15px;clip-path:polygon(0 0,100% 0,92% 100%,8% 100%)}.match-info strong{font-weight:900;font-style:italic}.match-info>span{color:#c8beb1}.centered{background:#171411c9}.modal{padding:26px 22px;background:linear-gradient(145deg,#272e31ee,#24201def);border:1px solid #b2bec255;border-top:3px solid var(--mint);width:370px;box-shadow:0 22px 90px #0006}.modal h2{font-style:italic}.result-stats{border-block:1px solid #929a9c33;padding:18px 0}
.instructions{gap:16px;padding-top:22px;font-size:10px}.touch-controls button{border-width:2px;background:#2a241fc9;box-shadow:0 4px 0 #12171870,inset 0 1px 10px #c8d4d818}.actions .touch-attack{background:#343f42d9}.actions .touch-special{background:#4d463fdd}.actions .touch-jump{background:#3a4346d9}.touch-controls button.held{background:#bdccd1;color:#202628}
@media(pointer:coarse),(max-width:850px){.topbar{height:56px}.arena-shell{max-height:none}.avatar{width:35px;height:48px}.fighter-card{min-width:140px;padding:6px 9px}.stage-seal{top:12%;right:5%;font-size:9px}.stage-seal>span{font-size:38px}.hero-tag{padding:10px 14px}.stage-features{font-size:8px;gap:9px;margin-top:15px}.menu-hint{font-size:7px}.intro{font-size:11px;margin-bottom:12px}.rule-chip{padding-left:12px}.match-info{padding:6px 10px 10px}.modal{padding:20px}.damage{font-size:27px}}
@media(max-width:600px) and (orientation:portrait){.arena-shell{height:calc(100dvh - 126px);min-height:500px}.overlay{background:linear-gradient(180deg,#211d1ae8,#1b202295 65%,#1b202210)}.menu-content{margin-top:46px}.stage-seal{display:none}.stage-features{font-size:8px;gap:10px}.hero-tag{bottom:9%;right:6%}.hero-tag strong{font-size:24px}.avatar{width:29px;height:44px}.fighter-card{min-width:108px;padding:5px;gap:5px}.fighter-name{letter-spacing:.6px;font-size:9px}.damage{font-size:26px}.damage small{font-size:12px}.match-info{padding:5px 7px 10px}.match-info strong{font-size:20px}.hud{left:8px;right:8px}.modal{padding:22px 16px}.modal .eyebrow{font-size:8px}.intro{font-size:12px}.menu-hint{font-size:8px}.rule-chip{padding-left:10px}}
@media(max-height:550px) and (orientation:landscape){.topbar{height:38px}.arena-shell{max-height:none;border-radius:0}.menu-content{margin-top:14px}.eyebrow{font-size:8px}h1{font-size:30px;line-height:1.2;margin:9px 0}.intro{font-size:10px;line-height:1.4;margin-bottom:8px}.stage-features{display:none}.menu-hint{margin-top:10px}.setup{margin-bottom:8px}.setup label,.rule-chip>span{margin-bottom:4px}.primary{min-height:38px;padding:9px 15px}.hero-tag{bottom:12%;right:7%}.stage-seal{top:12%;font-size:8px}.stage-seal>span{font-size:30px}.stage-seal small{font-size:7px}.fighter-card{padding:4px 8px}.avatar{height:39px;width:30px}.damage{font-size:22px}.match-info{padding-top:3px}.match-info strong{font-size:22px;line-height:1.3}.modal{padding:14px 22px}.modal h2{font-size:32px}.result-stats{padding:9px 0;margin-top:10px}.result-stats strong{font-size:23px}.modal .primary{margin-top:13px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Place charge above the inner attack cluster, clear of jump and movement. */
.actions{position:relative}.actions .touch-charge{position:absolute;right:137px;bottom:74px;width:51px;height:51px;background:#585045c9;border-color:#c5bbabb3;font-size:19px;color:#d2cabf}.actions .touch-charge.held{background:#ccc3b6;color:#353029;box-shadow:0 0 24px #c8beb07a}
@media(max-width:600px) and (orientation:portrait){.actions .touch-charge{right:78px;bottom:59px;width:42px;height:42px;font-size:17px}}
@media(max-height:550px) and (orientation:landscape){.actions .touch-charge{right:115px;bottom:61px;width:43px;height:43px;font-size:17px}}

.audio-settings{position:relative;z-index:10}.audio-settings summary{list-style:none;cursor:pointer;border:1px solid #5a5652;border-radius:7px;background:#2c2824;color:#c1bab0;width:36px;height:36px;display:grid;place-items:center}.audio-settings summary::-webkit-details-marker{display:none}.audio-panel{position:absolute;right:0;top:43px;width:240px;padding:18px;background:#2a2521f5;border:1px solid #b2c0c555;box-shadow:0 10px 35px #0008;border-radius:10px}.audio-panel strong{font-size:10px;letter-spacing:2px;color:#c0b8ac}.audio-panel label{display:flex;align-items:center;justify-content:space-between;gap:15px;font-size:11px;margin-top:17px}.audio-panel input{width:155px;accent-color:#b7c8cd}.audio-panel small{display:block;font-size:9px;color:#adb5b8;margin-top:15px}@media(max-height:550px) and (orientation:landscape){.audio-settings summary{height:27px}}

/* Restrained editorial treatment. */
:root{--bg:#131516;--ink:#e0e0da;--muted:#939997;--mint:#afbab6;--purple:#a49c91;--gold:#a89b80}
html,body{background:#131516}#app{max-width:1500px}.brand{font-style:normal;letter-spacing:1px;font-size:19px}.brand>span:not(.brand-mark){color:#a3aba8}.arena-shell{border-radius:2px;border-color:#414747;box-shadow:none}h1{font-size:clamp(64px,7.5vw,110px);line-height:.86;letter-spacing:-5px;font-weight:900;font-style:normal;text-shadow:none;margin:28px 0 38px}h1 span{color:#a5aeaa}.eyebrow{color:#9baba7;font-size:9px;letter-spacing:3px}.eyebrow>span{display:none}.overlay{background:linear-gradient(90deg,#101415f2,#121819c4 35%,#12181930 68%,transparent)}.primary{background:#a9b4ae;color:#18201d;border:1px solid #bdc5c0;border-radius:2px;box-shadow:none;min-width:240px}.primary:hover{background:#c0c7c2;box-shadow:none}.primary span{font-size:18px}.hero-tag{background:#171c20b8;border:1px solid #69716a;padding:12px 18px;backdrop-filter:none}.hero-tag strong{font-style:normal}.hero-tag .tag-line{display:none}.stage-seal,.stage-features{display:none}.arena-label{color:#a6adaa;font-size:9px}.fighter-card,.cpu-card{background:#171e23e8;border-color:#64716b}.cpu-card{background:#27221de8;border-color:#8d7963}.avatar,.cpu-card .avatar{background:#262d2d}.nova img{filter:sepia(.3) saturate(.4)}.damage,.match-info strong,.modal h2{font-style:normal;text-shadow:none}.stocks,.fighter-name em{color:#a5c0b5}.cpu-card .stocks,.cpu-card em{color:#c2a284}.centered{background:#101516df}.modal{background:#1b2021;border:1px solid #606b65;box-shadow:none}.modal .eyebrow:empty,.modal p:empty{display:none}.controls-help{margin:18px auto;color:#969f9b;font-size:11px;text-align:center}.controls-help summary{cursor:pointer;list-style:none;letter-spacing:1px;padding:9px}.controls-help summary::after{content:' +';margin-left:10px}.controls-help[open] summary::after{content:' −'}.tip{color:#a0a9a5;max-width:780px;margin:auto}.instructions{padding-top:12px}.touch-controls button{background:#202a2ddb;border-color:#737e7880;box-shadow:none;color:#d6dcd8}.actions .touch-attack{background:#3b534c}.actions .touch-special{background:#4d4841}.actions .touch-jump{background:#303e46}.actions .touch-charge{background:#584c36;border-color:#958468;color:#dbd3bf}.touch-controls button.held,.actions .touch-charge.held{background:#8c9e93;color:#121914;box-shadow:none}.audio-panel{background:#1d2425;border-color:#5e6b64}.audio-panel input{accent-color:#9cae9f}#announcement{color:#e1e5df;text-shadow:0 3px 1px #293b38,0 9px 25px #0b1010}
@media(max-width:600px) and (orientation:portrait){h1{font-size:72px;margin:24px 0 32px}.menu-content{margin-top:35px}.overlay{background:linear-gradient(#111719e8,#111719a8 60%,#11171915)}.hero-tag{bottom:12%}.controls-help{margin:6px auto}}
@media(max-height:550px) and (orientation:landscape){h1{font-size:52px;margin:12px 0 18px}.menu-content{margin-top:10px}.setup{margin-bottom:13px}.menu-hint{margin-top:12px}}
.controls-help[open] .instructions{display:flex}

/* Simple controls: floating horizontal stick and two actions. */
.touch-controls{inset:0;align-items:initial}.simple-actions{position:absolute;bottom:24px;right:22px;display:flex;align-items:end;gap:17px;pointer-events:none}#move-zone{position:absolute;inset:115px 45% 0 0;pointer-events:auto;touch-action:none;overflow:hidden}.move-hint{position:absolute;bottom:42px;left:28px;color:#bbc6be66;letter-spacing:3px;font-size:12px;pointer-events:none}#stick{position:absolute;width:112px;height:112px;border:1px solid #a9b6ad70;background:#1b25254d;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}#stick-knob{position:absolute;left:50%;top:50%;width:47px;height:47px;border-radius:50%;background:#9eada68c;border:1px solid #ced9d0a0;transform:translate(-50%,-50%)}.simple-actions #simple-attack{width:84px;height:84px;background:#43574e;border-color:#8c9e92;color:#e6ebe7;font-size:20px}.simple-actions small{display:block;font-size:9px;margin-top:5px}.simple-actions .simple-jump{width:66px;height:66px;margin-bottom:47px;background:#34424a;font-size:25px}.simple-actions button.held{background:#83988a}
@media(max-width:600px) and (orientation:portrait){.simple-actions{right:15px;bottom:25px;gap:12px}.simple-actions #simple-attack{width:75px;height:75px}.simple-actions .simple-jump{width:59px;height:59px;margin-bottom:53px}}
@media(max-height:550px) and (orientation:landscape){#move-zone{top:90px}.simple-actions{bottom:17px;right:22px}.simple-actions #simple-attack{width:72px;height:72px}.simple-actions .simple-jump{width:60px;height:60px;margin-bottom:38px}}
