:root{color-scheme:dark;font-family:Inter,system-ui,sans-serif;background:#0d1423;color:#f6f2ec;font-size:16px}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 8% 0,#571a30 0,transparent 45%),#0d1423;min-height:100vh}button,a,select,input{font:inherit}button,select{border:1px solid #657086;background:#1c2940;color:#fff;border-radius:8px;padding:11px 15px}button{cursor:pointer;font-weight:750;transition:background .15s,transform .15s}button:hover:not(:disabled){background:#34415a;transform:translateY(-1px)}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #ffd378;outline-offset:3px}button.primary{background:#ffd378;color:#21152b;border-color:#ffd378}header{min-height:76px;border-bottom:1px solid #ffffff20;display:flex;align-items:center;gap:20px;padding:12px 4vw;background:#0c1421b8}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-size:17px;font-weight:900;letter-spacing:2px}.brand span{color:#ffc866;margin-left:-6px}.brand img{width:43px;height:43px;object-fit:contain;background:#fff;border-radius:8px}.edition{flex:1;font-size:12px;letter-spacing:2px;color:#aab8cb;text-align:center}main{max-width:1420px;margin:auto;padding:28px 4vw 40px}.screen[hidden],[hidden]{display:none!important}.eyebrow{font-size:12px;letter-spacing:3px;font-weight:850;color:#ffd378}.intro{display:flex;justify-content:space-between;gap:24px;align-items:center}.intro h1{font-size:clamp(42px,5.5vw,78px);line-height:.98;margin:10px 0 20px;letter-spacing:-3px}.intro h1 span{color:#ffd378}.intro p:not(.eyebrow){color:#b5c0d0}h1{font-size:42px;letter-spacing:-1px}h2{font-size:22px;margin:12px 0}.rules{display:grid;grid-template-columns:1fr 1fr;gap:15px;padding:22px;border:1px solid #ffffff22;border-radius:12px;background:#182237}.rules label{display:grid;gap:8px;font-size:14px;color:#bcc7d7}.rules label:last-child{display:flex;align-items:center}.rules select{min-width:130px}.section-head{display:flex;justify-content:space-between;align-items:center;margin-top:24px}.section-head span{font-weight:800;color:#ffd378}.hint{font-size:14px;color:#b7c1d0;line-height:1.6;max-width:1100px}.slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:20px 0}.slot{min-width:0;border:1px solid #ffffff28;border-top:4px solid var(--player);background:#182237;border-radius:12px;overflow:hidden;position:relative}.slot.empty{display:grid;align-content:center;text-align:center;min-height:330px;background:#151e2d}.slot-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;color:var(--player);font-size:14px;font-weight:800}.portrait{height:150px;display:flex;justify-content:center;align-items:flex-end;background:linear-gradient(135deg,#ffffff07,#ffffff00),radial-gradient(ellipse at bottom,var(--player),transparent 75%)}.portrait img{width:115px;height:140px;object-fit:cover;object-position:top;border-radius:55px 55px 8px 8px;filter:drop-shadow(0 8px 8px #0008)}.slot-content{padding:15px}.slot h3{font-size:20px;margin:0 0 5px}.slot p{font-size:14px;color:#c1c9d7;line-height:1.45;margin:6px 0 12px}.slot .role{color:var(--player);font-weight:750}.slot-controls{display:flex;flex-wrap:wrap;gap:6px}.slot-controls button{padding:8px 10px;font-size:14px}.slot select{width:100%;margin-top:10px}.slot .remove{background:transparent;border:0;font-size:20px;padding:0 6px}.toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0}.toolbar .primary{margin-left:auto}.footer-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:14px;color:#aebbd0;border-top:1px solid #ffffff20;padding:18px 0}details{border:1px solid #ffffff22;border-radius:8px;padding:14px 18px;margin:10px 0;color:#bec9db;font-size:14px;line-height:1.65}summary{cursor:pointer;font-weight:750;color:#fff}.guide{display:grid;grid-template-columns:1fr 1fr;gap:25px}.guide b{color:#ffd378}.stage-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}.stage-card{text-align:left;padding:25px;background:#1b293e;border:2px solid #53637a}.stage-card.selected{border-color:#ffd378;background:#42233a}.stage-card img{width:80px;height:80px;object-fit:contain}.stage-card h2{font-size:27px}.stage-card p{font-size:15px;line-height:1.6;color:#c1ccdb}.stage-card small{color:#ffd378}.game-bar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.game-bar strong{font-size:26px;font-variant-numeric:tabular-nums}.canvas-wrap{position:relative;aspect-ratio:16/9;max-height:66vh;margin:auto;border:1px solid #51617a;border-radius:12px;overflow:hidden;background:#131b2b}canvas{display:block;width:100%;height:100%;object-fit:contain}.hud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:12px}.hud-card{border-left:4px solid var(--player);background:#1b263a;border-radius:8px;padding:10px 14px;min-width:0}.hud-card .name{color:var(--player);font-size:14px;font-weight:800}.hud-card .damage{font-size:32px;font-weight:900;font-variant-numeric:tabular-nums}.hud-card .stats{font-size:12px;color:#c7d0df}.meter{height:6px;background:#071222;border-radius:5px;overflow:hidden;margin:6px 0}.meter i{display:block;height:100%;background:var(--player)}.hud-card small{font-size:12px}.overlay{position:absolute;inset:0;display:grid;place-items:center;background:#07101dcc;backdrop-filter:blur(8px)}.overlay-card{text-align:center;max-width:620px;width:90%;padding:26px;background:#15223a;border:1px solid #ffda7f88;border-radius:16px}.overlay-card h2{font-size:38px}.overlay-card .toolbar{justify-content:center}.overlay-card .primary{margin-left:0}#results p{font-size:15px}#banner{position:absolute;top:15%;width:100%;text-align:center;color:#ffe6a7;font-weight:850;text-shadow:0 2px 6px #000;font-size:clamp(15px,2vw,26px);pointer-events:none}#bindings{display:grid;gap:16px}.binding-group{padding:18px;background:#1a263b;border-radius:10px}.binding-grid{display:flex;gap:8px;flex-wrap:wrap}.binding-grid button{font-size:14px}.binding-grid button.waiting{border-color:#ffd378;color:#ffd378}.audio-settings{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:25px 0}.audio-settings label{display:grid;gap:8px}.notice{background:#53401e;color:#ffecbe;padding:14px 18px;border-radius:8px}.diagnostics{margin-top:30px}.diagnostics pre{white-space:pre-wrap;overflow-wrap:anywhere;color:#80e4bb}#deviceMonitor{font-family:monospace;font-size:13px}.training label{font-size:14px}input[type=range]{width:100%}@media(max-width:900px){.slots{grid-template-columns:repeat(2,minmax(0,1fr))}.edition{display:none}.brand{flex:1}.intro{align-items:start}.rules{grid-template-columns:1fr}.hud{grid-template-columns:repeat(2,minmax(0,1fr))}.audio-settings{grid-template-columns:1fr 1fr}.canvas-wrap{max-height:none}.slot.empty{min-height:300px}}@media(max-width:560px){main{padding:18px 14px}.intro{display:block}.rules{grid-template-columns:1fr 1fr}.intro h1{font-size:49px}.slots{gap:8px}.slot-content{padding:10px}.slot h3{font-size:18px}.portrait{height:120px}.portrait img{height:110px;width:95px}.stage-list,.guide{grid-template-columns:1fr}header{gap:8px;padding:10px 14px}.brand{font-size:14px;letter-spacing:1px}header button{font-size:13px}.toolbar button{flex-grow:1}.overlay-card{padding:10px}.overlay-card h2{font-size:23px}.overlay-card .eyebrow{display:none}.hud-card{padding:8px}.hud-card .damage{font-size:25px}}
.stage-card canvas{height:auto;aspect-ratio:16/9;border-radius:8px;margin-bottom:14px}.hud-portrait{width:35px;height:42px;object-fit:cover;object-position:top;float:right;border-radius:5px;margin-left:5px}

.touch-controls{display:flex;justify-content:space-between;gap:16px;margin:12px 0;user-select:none;-webkit-user-select:none}.touch-controls[hidden]{display:none}.touch-controls button{touch-action:none;min-width:52px;min-height:52px;-webkit-touch-callout:none}.touch-directions{display:grid;grid-template-columns:repeat(3,52px);gap:5px}.touch-directions [data-touch=up]{grid-column:2}.touch-directions [data-touch=left]{grid-column:1;grid-row:2}.touch-directions [data-touch=down]{grid-column:2;grid-row:2}.touch-directions [data-touch=right]{grid-column:3;grid-row:2}.touch-actions{display:grid;grid-template-columns:repeat(4,minmax(52px,1fr));gap:5px;max-width:480px}.touch-actions button{padding:8px;font-size:14px;background:#34435e}.touch-actions [data-touch=attack],.touch-actions [data-touch=jump]{background:#b22e4b}@media(max-width:580px){.touch-controls{flex-wrap:wrap;justify-content:center}.touch-actions{width:100%}}
