:root{color-scheme:dark;--pink:#edb8cd;--cyan:#76d7e5}*{box-sizing:border-box}body{margin:0;color:#fff5f8;background:#10162b;font-family:-apple-system,BlinkMacSystemFont,'Yu Gothic',Meiryo,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;background:#29314a;color:#fff3f8;border:1px solid #75627e;border-radius:10px;padding:10px 14px;min-height:44px;touch-action:manipulation}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #f8dda7;outline-offset:3px}a{color:inherit;text-decoration:none}.nav{max-width:1120px;margin:auto;padding:22px 16px;display:flex;justify-content:space-between;font-size:12px}.wrap{max-width:1080px;margin:auto;padding:10px 16px 35px}.heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:25px}.eyebrow{font-size:10px;letter-spacing:.18em;font-weight:bold;color:#edb8cd}h1{font-size:clamp(34px,6vw,57px);margin:8px 0;letter-spacing:.03em}.heading>div>p:last-child{color:#c1b6cd;font-size:13px}.badge{border:1px solid #95758e;border-radius:99px;padding:10px 14px;white-space:nowrap;font-size:12px}.setup{display:grid;grid-template-columns:1.1fr 1fr;gap:25px;padding:22px;border:1px solid #5b5674;border-radius:17px;background:#20263d;margin-bottom:22px}h2{font-size:20px;margin:0 0 15px}.characters{display:flex;gap:8px}.characters button{flex:1;text-align:left;padding:12px 10px}.characters button b{display:block;font-size:13px}.characters button small{display:block;color:#ccbcd0;line-height:1.7;font-size:10px;margin-top:7px}.characters button[aria-pressed=true]{border-color:#f4bdd2;background:#503c56}.characters .char-icon{display:block;font-size:27px;margin-bottom:10px}.mode-buttons{display:flex;gap:7px;flex-wrap:wrap;margin-top:13px}.primary{background:#edb8cd;color:#2d2439;border-color:#edb8cd;font-weight:bold}select,textarea{background:#111a30;color:#fff5f8;border:1px solid #8b7089;border-radius:8px;padding:10px;font-size:16px;max-width:100%}.setup p,.guide p,.training-settings p,.friend-panel p,.credits{font-size:12px;color:#c8bfd2;line-height:1.85}.play-shell{padding:12px;border:1px solid #7b6683;border-radius:18px;background:#191e34;position:relative}.hud{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);gap:18px;margin-bottom:10px}.name-row{display:flex;justify-content:space-between;gap:8px;margin-bottom:7px;font-size:12px}.name-row span{color:#ffe19e;white-space:nowrap}.hp,.meter{position:relative;overflow:hidden;background:#08121d;border-radius:5px}.hp{height:18px}.hp i,.meter i{position:absolute;inset:0 auto 0 0;width:100%;transition:width .06s linear}.pink{background:#ed96c0}.green{background:linear-gradient(90deg,#30b877,#92e5a3)}.meter-row{display:flex;align-items:center;gap:5px;margin-top:6px}.meter{height:9px;flex:1}.meter i{background:#72d9ed;width:0}.meter-row b{font-size:10px;color:#a2f1fc}.center-hud{display:flex;flex-direction:column;align-items:center}.center-hud>b{font-size:32px;color:#fff0c9;line-height:1}.center-hud>span{font-size:8px;margin-top:7px;color:#d6bccb}.arena{position:relative;overflow:hidden;border:1px solid #655570;border-radius:10px;background:#111a30}canvas{width:100%;display:block;aspect-ratio:16/9;touch-action:none}.training-hud{position:absolute;top:13px;left:50%;transform:translateX(-50%);text-align:center;background:#111b2ee0;border:1px solid #7c6d87;border-radius:9px;padding:9px 15px;min-width:220px;max-width:80%;font-size:12px;pointer-events:none}.training-hud b{display:block;color:#ffe1af;font-size:17px}.training-hud>span{display:block;color:#b4eae7;margin-top:5px}#history{font-size:12px;margin-top:7px;color:#ecd4e0;min-height:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.play-tools{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-top:10px}.play-tools button{font-size:11px;min-height:36px;padding:7px 10px}.play-tools label{display:flex;gap:5px;align-items:center;font-size:11px}.play-tools input{width:70px;min-height:32px;accent-color:#edb8cd}.play-tools output{font-size:10px;min-width:3em}.play-tools>span{font-size:11px;color:#e1cbd9;margin-left:auto}.touch-controls{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-top:13px;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.dpad{display:grid;grid-template-columns:repeat(3,48px);grid-template-rows:repeat(3,39px);gap:3px;touch-action:none}.dpad button{min-height:0;padding:0;font-size:22px;background:#30364f;touch-action:none;opacity:.74}.dpad .neutral{display:grid;place-items:center;color:#8f91aa}.attack-buttons{display:flex;gap:10px}.attack-buttons button{width:72px;height:72px;font-size:26px;border-radius:50%;padding:5px;opacity:.78;touch-action:none}.attack-buttons small{display:block;font-size:10px}.attack-buttons .p{background:#3e6480}.attack-buttons .k{background:#886148}.attack-buttons .s{background:#725277}.touch-controls button.pressed{opacity:1;border-color:#fff0bd;box-shadow:0 0 10px #ffe7c144}.guide,.training-settings,.friend-panel{padding:23px;border:1px solid #655571;border-radius:17px;background:#20243a;margin-top:23px}.friend-panel{margin-bottom:20px}.friend-actions,.training-options{display:flex;gap:9px;flex-wrap:wrap;align-items:center}.training-options label{font-size:12px;display:flex;gap:8px;align-items:center}.friend-panel>label{display:block;font-size:12px;margin-top:14px}.friend-panel textarea{display:block;width:100%;margin-top:8px;font-family:monospace;font-size:11px;resize:vertical}.guide table{width:100%;border-collapse:collapse;text-align:left;font-size:12px}.guide th,.guide td{border-bottom:1px solid #584c64;padding:11px 7px;line-height:1.65}.guide th{color:#efbdcf;font-size:11px}.credits{margin:25px 5px}footer{text-align:center;padding:20px;font-size:11px;color:#a69bb4}[hidden]{display:none!important}
body.expanded{position:fixed;inset:0;overflow:hidden;overscroll-behavior:none}.play-shell.expanded{position:fixed;inset:auto;left:var(--viewport-left,0px);top:var(--viewport-top,0px);z-index:1000;width:var(--vw,100vw);height:var(--vh,100dvh);border:0;border-radius:0;padding:0;display:block;overflow:hidden}.play-shell.expanded .arena{position:absolute;inset:0;border:0;border-radius:0;min-height:0}.play-shell.expanded #arena{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;object-fit:fill}.play-shell.expanded .hud{position:absolute;left:max(14px,var(--play-safe-left,0px));right:max(14px,var(--play-safe-right,0px));top:max(10px,var(--play-safe-top,0px));z-index:4;margin:0;padding:5px 8px 8px;border-radius:10px;background:linear-gradient(#0b1326d9,#0b13266b);pointer-events:none}.play-shell.expanded .play-tools{position:absolute;left:50%;bottom:max(12px,var(--play-safe-bottom,0px));transform:translateX(-50%);z-index:6;display:flex;flex-wrap:nowrap;gap:5px;margin:0;padding:4px;border:1px solid #63708d77;border-radius:10px;background:#101b30a6}.play-shell.expanded .play-tools #reset,.play-shell.expanded .play-tools #playStatus,.play-shell.expanded .play-tools .audio-controls{display:none}.play-shell.expanded .touch-controls{position:absolute;left:max(18px,var(--play-safe-left,0px));right:max(18px,var(--play-safe-right,0px));bottom:max(18px,var(--play-safe-bottom,0px));z-index:5;margin:0;pointer-events:none}.expanded .touch-controls>div{pointer-events:auto}.expanded .dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,40px)}.expanded .dpad button{background:#27304a99;opacity:.62}.expanded .attack-buttons button{width:68px;height:68px;opacity:.62}.expanded .touch-controls button.pressed{opacity:.95}.play-shell.expanded .training-hud{top:64px;min-width:0;max-width:42%;padding:4px 9px;background:#111b2ea6;font-size:10px}.play-shell.expanded .training-hud b{font-size:13px}.play-shell.expanded .training-hud>span{margin-top:2px;font-size:9px}.play-shell.expanded #history{font-size:10px;margin-top:2px;min-height:12px}.play-shell.rotated{width:var(--vh);height:var(--vw);top:calc(var(--viewport-top,0px) + var(--vh)/2);left:calc(var(--viewport-left,0px) + var(--vw)/2);transform:translate(-50%,-50%) rotate(90deg)}

@media(max-width:650px){.heading{display:block}.badge{display:inline-block;margin-top:8px}.setup{grid-template-columns:1fr;padding:15px}.hud{gap:8px;grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr)}.name-row{font-size:10px;gap:4px}.center-hud>b{font-size:28px}.hp{height:14px}.guide,.training-settings,.friend-panel{padding:16px}.guide td,.guide th{font-size:11px;padding:10px 3px}.dpad{grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,36px)}.attack-buttons{gap:6px}.attack-buttons button{width:57px;height:57px;font-size:22px}.play-tools>span{width:100%;margin-left:0}.touch-controls{gap:6px}.wrap{padding:8px 10px 30px}.training-hud{padding:6px 9px;min-width:185px;font-size:10px}.training-hud b{font-size:13px}}
@media(orientation:landscape) and (max-height:520px){.expanded .hud{grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr);gap:16px}.expanded .hp{height:12px}.expanded .name-row{font-size:10px}.expanded .center-hud>b{font-size:24px}.expanded .center-hud>span{margin-top:2px}.expanded .meter{height:6px}.expanded .play-tools button{min-height:30px;padding:4px 7px;font-size:10px}.expanded .play-tools input{min-height:26px;width:55px}.expanded .play-tools>span{width:auto;max-width:240px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.expanded .touch-controls{bottom:max(47px,calc(var(--play-safe-bottom,0px) + 39px));margin:0}.expanded .training-hud{top:5px;padding:5px 9px;max-width:50%;font-size:10px}.expanded .training-hud b{font-size:12px}}

.room-fields{display:grid;grid-template-columns:1fr 2fr;gap:12px}.lobby label{font-size:12px}.lobby input:not([type=checkbox]){display:block;color:#fff;background:#111a30;border:1px solid #8b7089;border-radius:8px;padding:10px;max-width:100%;width:100%;font-size:16px;margin:6px 0 12px}.room-public{display:flex!important;gap:8px;align-items:center;margin:12px 0 18px!important}.lobby .friend-actions{align-items:center}.lobby #roomCode{width:170px;margin-bottom:0}#roomMembership{padding:16px;margin:18px 0;background:#303b50;border:1px solid #76d7e5;border-radius:12px}#roomNumber{font-size:25px;letter-spacing:.1em;color:#9ce8ee}.board-heading{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.board-heading h3{margin:0}.room-board{display:grid;gap:10px}.room-card{display:flex;gap:15px;align-items:center;justify-content:space-between;background:#121b2f;padding:15px;border:1px solid #665979;border-radius:12px}.room-card b,.room-card span{display:block}.room-card b{font-size:15px}.room-card p{margin:5px 0;overflow-wrap:anywhere}.room-card span{font-size:11px;color:#a9dce3}.room-card button{white-space:nowrap}.room-limit{border-top:1px solid #655571;padding-top:14px}@media(max-width:650px){.room-fields{grid-template-columns:1fr}.room-card{align-items:flex-start}.lobby .friend-actions label{width:100%}.lobby #roomCode{width:100%}}

.characters .char-portrait{display:block;width:100%;height:126px;max-width:135px;margin:0 auto 10px;aspect-ratio:auto;object-fit:contain;touch-action:manipulation}.characters button{position:relative;background:linear-gradient(160deg,#242e48,#12182b);border-color:#77728c}.characters button[aria-pressed=true]{background:linear-gradient(160deg,#503753,#22253d);box-shadow:inset 0 0 0 1px #e8afc4}.characters button b{font-size:14px}@media(max-width:650px){.characters .char-portrait{height:112px}.characters button b{font-size:12px}}

.command-menu{color:#fff5f8;background:#182138;border:1px solid #9984a1;border-radius:18px;width:min(960px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:22px;overflow:auto;overscroll-behavior:contain;touch-action:pan-x pan-y}.command-menu::backdrop{background:#070d21d9;backdrop-filter:blur(4px)}.command-menu-top{display:flex;justify-content:space-between;align-items:start;gap:15px}.command-menu-top h2{margin-bottom:8px}.command-menu-top button{flex-shrink:0}.command-menu p{font-size:12px;color:#d8ccdf;line-height:1.8}.command-menu .button-legend{border:1px solid #5c6083;border-radius:9px;background:#232b45;padding:10px}.button-legend b{color:#9ce4ed}.command-scroll{overflow:auto;overscroll-behavior:contain;max-width:100%;border:1px solid #5c5776;border-radius:10px;touch-action:pan-x pan-y}.command-scroll table{width:100%;min-width:570px;border-collapse:collapse;text-align:left;font-size:12px;line-height:1.65}.command-scroll th,.command-scroll td{padding:11px 12px;border-bottom:1px solid #48445e;vertical-align:top}.command-scroll thead{color:#efc0d4;background:#30304b}.command-scroll tbody th{font-weight:600;width:28%}.command-scroll tbody td:nth-child(2){color:#a0e4ed;white-space:nowrap}.command-scroll tbody tr:nth-child(even){background:#222943}.command-scroll tr:last-child th,.command-scroll tr:last-child td{border-bottom:0}.command-menu h3,.guide h3{font-size:17px;margin:24px 0 12px}.command-menu-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.command-menu button{touch-action:manipulation}@media(max-width:650px){.command-menu{padding:15px;border-radius:12px}.command-menu-top h2{font-size:18px}.command-scroll table{font-size:11px;min-width:540px}.command-scroll th,.command-scroll td{padding:9px}.command-menu-actions button{flex:1}}

.command-scroll table{min-width:710px}.command-scroll tbody th{width:24%}.command-scroll tbody td:nth-child(2){white-space:normal;min-width:155px}.command-scroll tbody td:nth-child(3){min-width:155px}.play-tools label{white-space:nowrap}@media(orientation:landscape) and (max-height:520px){.expanded .play-tools{gap:4px}.expanded .play-tools label{font-size:9px}.expanded .play-tools input{width:44px}.expanded .play-tools button{padding:4px 6px}.expanded .play-tools>span{max-width:180px}}



.audio-controls{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.menu-settings .audio-controls{padding:14px;border:1px solid #5c6083;border-radius:10px;gap:12px}.menu-settings .audio-controls label{display:flex;gap:8px;align-items:center;font-size:12px}.menu-settings .audio-controls input{width:110px;min-height:40px;accent-color:#edb8cd}.menu-settings .audio-controls output{font-size:12px;min-width:3em}.menu-settings>button{margin-top:12px}.play-shell.expanded .touch-controls{bottom:max(18px,var(--play-safe-bottom,0px))}@media(max-height:520px){.play-shell.expanded .hud{grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr);gap:12px;top:max(6px,var(--play-safe-top,0px));padding:3px 6px 6px}.play-shell.expanded .hp{height:12px}.play-shell.expanded .name-row{font-size:10px;margin-bottom:4px}.play-shell.expanded .meter{height:6px}.play-shell.expanded .center-hud>b{font-size:24px}.play-shell.expanded .center-hud>span{margin-top:2px}.play-shell.expanded .play-tools{left:43%}.play-shell.expanded .play-tools button{font-size:10px;min-height:32px;padding:4px 7px}.play-shell.expanded .dpad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,38px)}.play-shell.expanded .attack-buttons button{width:64px;height:64px}.play-shell.expanded .training-hud{top:54px;padding:3px 7px}.play-shell.expanded .training-hud b{font-size:11px}}

.play-shell.expanded.compact .hud{grid-template-columns:minmax(0,1fr) 55px minmax(0,1fr);gap:12px;top:max(6px,var(--play-safe-top,0px));padding:3px 6px 6px}.play-shell.expanded.compact .hp{height:12px}.play-shell.expanded.compact .name-row{font-size:10px;margin-bottom:4px}.play-shell.expanded.compact .meter{height:6px}.play-shell.expanded.compact .center-hud>b{font-size:24px}.play-shell.expanded.compact .center-hud>span{margin-top:2px}.play-shell.expanded.compact .play-tools{left:43%}.play-shell.expanded.compact .play-tools button{font-size:10px;min-height:32px;padding:4px 7px}.play-shell.expanded.compact .dpad{grid-template-columns:repeat(3,42px);grid-template-rows:repeat(3,38px)}.play-shell.expanded.compact .attack-buttons button{width:64px;height:64px}.play-shell.expanded.compact .training-hud{top:54px;padding:3px 7px}.play-shell.expanded.compact .training-hud b{font-size:11px}

/* Keep training feedback beneath the opponent gauge, outside the fight center. */
.play-shell .training-hud{left:auto;right:12px;transform:none;top:12px;min-width:0;width:max-content;max-width:42%;text-align:right;padding:4px 7px;border:0;background:#101b3099;font-size:9px;line-height:1.35;opacity:.9}
.play-shell .training-hud b{font-size:11px}.play-shell .training-hud>span{margin-top:2px;font-size:9px}.play-shell #history{font-size:9px;margin-top:2px;min-height:12px;max-width:240px}
.play-shell.expanded .training-hud{left:auto;right:max(22px,var(--play-safe-right,0px));top:max(88px,calc(var(--play-safe-top,0px) + 78px));transform:none;max-width:38%;padding:3px 6px}
.play-shell.expanded .training-hud b{font-size:11px}.play-shell.expanded #history{font-size:9px}
.play-shell.expanded.compact .training-hud{top:max(64px,calc(var(--play-safe-top,0px) + 58px));padding:2px 5px}.play-shell.expanded.compact .training-hud b{font-size:10px}.play-shell.expanded.compact .training-hud>span{font-size:8px}
@media(max-height:520px){.play-shell.expanded .training-hud{top:max(64px,calc(var(--play-safe-top,0px) + 58px))}}
.fullscreen-guide{max-width:480px;width:calc(100% - 32px);max-height:85%;overflow:auto;background:#1b233a;color:#fff5f8;border:1px solid #82708d;border-radius:14px;padding:22px;font-size:13px;line-height:1.7}.fullscreen-guide::backdrop{background:#070d20c9}.fullscreen-guide li{margin:7px 0}.fullscreen-guide button{width:100%}.fullscreen-guide h2{font-size:19px}

.controller-menu{max-width:640px;width:calc(100% - 24px);max-height:90%;overflow:auto;background:#1b233a;color:#fff5f8;border:1px solid #82708d;border-radius:14px;padding:20px;font-size:12px;line-height:1.7}.controller-menu::backdrop{background:#070d20c9}.controller-menu>label{display:flex;gap:10px;align-items:center}.controller-menu>label select{flex:1;min-width:0}.controller-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.controller-fields label{display:flex;justify-content:space-between;align-items:center;gap:8px}.controller-fields select{font-size:12px;padding:8px}.controller-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.controller-badge{font-size:10px;color:#afe4e3;align-self:center}.controller-live{background:#11182e;padding:8px;border-radius:8px;min-height:36px}@media(max-width:450px){.controller-fields{grid-template-columns:1fr}.controller-menu{padding:14px}}

/* Defence stays inside each fighter HUD; online lobby is the primary entry. */
.guard-row{display:flex;align-items:center;gap:7px;margin-top:6px;font-size:9px;color:#f2d8a5}.guard-row>span{min-width:62px;white-space:nowrap}.guard-meter{height:5px;flex:1;overflow:hidden;background:#0b1022;border-radius:4px}.guard-meter i{display:block;height:100%;width:100%;background:#efd190;transition:width .08s linear}.guard-row.broken{color:#ff91af}.guard-row.broken .guard-meter i{background:#ff91af}.health-number{font-size:9px;opacity:.8;margin-left:auto}.online-entry{display:grid;grid-template-columns:1fr auto;gap:14px;align-items:center;border:2px solid #76d7e5;border-radius:17px;background:linear-gradient(135deg,#243c52,#29243f);padding:24px;margin:0 0 22px}.online-entry h2{margin-bottom:8px}.online-entry p{font-size:12px;line-height:1.7;color:#d4e9ec}.online-entry>.primary{font-size:16px;padding:18px 24px;min-height:60px}.online-entry details{grid-column:1/-1;border-top:1px solid #657185;padding-top:10px;font-size:11px;color:#aebace}.online-entry summary{cursor:pointer;padding:5px}.online-entry details button{font-size:12px}.play-shell.expanded .guard-row{margin-top:3px;font-size:8px;gap:5px}.play-shell.expanded .guard-row>span{min-width:56px}.play-shell.expanded .guard-meter{height:4px}.play-shell.expanded .training-hud{top:max(105px,calc(var(--play-safe-top,0px) + 95px))}.play-shell.expanded.compact .training-hud{top:max(77px,calc(var(--play-safe-top,0px) + 71px))}@media(max-height:520px){.play-shell.expanded .training-hud{top:max(77px,calc(var(--play-safe-top,0px) + 71px))}}@media(max-width:650px){.online-entry{grid-template-columns:1fr;padding:18px}.online-entry>.primary{width:100%}.health-number{font-size:8px}}

/* Staggered P/K/S for both phone and tablet; P/S retain the lower baseline. */
.attack-buttons{--attack-size:72px;--attack-gap:10px;position:relative;display:block;gap:0;width:calc(var(--attack-size)*3 + var(--attack-gap)*2);height:calc(var(--attack-size)*1.75);flex-shrink:0}
.attack-buttons button{position:absolute;bottom:0;width:var(--attack-size);height:var(--attack-size)}
.attack-buttons [data-attack="P"]{left:0}.attack-buttons [data-attack="K"]{left:calc(var(--attack-size) + var(--attack-gap));bottom:calc(var(--attack-size)*.75)}.attack-buttons [data-attack="S"]{right:0}
.play-shell.expanded .attack-buttons{--attack-size:68px;--attack-gap:10px}
.play-shell.expanded.compact .attack-buttons{--attack-size:64px;--attack-gap:6px}
/* Only handheld phones get the low corner controls; tablets retain their D-pad/tools. */
.play-shell.expanded.phone-layout .touch-controls{left:max(8px,var(--play-safe-left,0px));right:max(8px,var(--play-safe-right,0px));bottom:8px;gap:8px}
.play-shell.expanded.phone-layout .dpad{grid-template-columns:repeat(3,44px);grid-template-rows:repeat(3,34px);gap:3px}
.play-shell.expanded.phone-layout .dpad button{font-size:21px;opacity:.5}
.play-shell.expanded.phone-layout .attack-buttons{--attack-size:60px;--attack-gap:5px}
.play-shell.expanded.phone-layout .attack-buttons button{width:60px;height:60px;font-size:24px;opacity:.56}
.play-shell.expanded.phone-layout .attack-buttons small{font-size:9px}
.play-shell.expanded.phone-layout .touch-controls button.pressed{opacity:.96}
@media(max-width:650px){.play-shell:not(.expanded) .attack-buttons{--attack-size:57px;--attack-gap:6px}}
@media(max-height:520px){.play-shell.expanded .attack-buttons{--attack-size:64px;--attack-gap:6px}.play-shell.expanded.phone-layout .attack-buttons{--attack-size:60px;--attack-gap:5px}}

/* Safe-area values belong to the physical screen, not the rotated game axes. */
.play-shell.expanded{--play-safe-top:env(safe-area-inset-top,0px);--play-safe-right:env(safe-area-inset-right,0px);--play-safe-bottom:env(safe-area-inset-bottom,0px);--play-safe-left:env(safe-area-inset-left,0px)}
.play-shell.expanded.rotated{--play-safe-top:env(safe-area-inset-right,0px);--play-safe-right:env(safe-area-inset-bottom,0px);--play-safe-bottom:env(safe-area-inset-left,0px);--play-safe-left:env(safe-area-inset-top,0px)}
/* A translucent iOS status bar can still intercept touches when an inset is zero. */
.play-shell.expanded.rotated.phone-layout.ios-standalone .touch-controls{left:max(64px,calc(var(--play-safe-left) + 12px));right:max(12px,calc(var(--play-safe-right) + 12px));bottom:max(12px,calc(var(--play-safe-bottom) + 12px))}


/* Keep the release portrait clear; gameplay controls return with the simulation. */
.play-shell.cinematic .hud,.play-shell.cinematic .training-hud{visibility:hidden}.play-shell.cinematic .touch-controls{opacity:.12}.play-shell.cinematic .touch-controls>div{pointer-events:none}
