:root{font-family:Arial,Helvetica,sans-serif;color:#eee;background:#151716;color-scheme:dark;--accent:#ffc347;--muted:#939891}*{box-sizing:border-box}body{margin:0}button,select{font:inherit;color:inherit;cursor:pointer;background:#282c28;border:1px solid #444b42;border-radius:3px;padding:9px 12px}button:hover{border-color:#c5cdbe}button:disabled{opacity:.35;cursor:default}a{color:inherit}main{display:grid;grid-template-columns:1fr;min-height:100dvh}#stage{position:relative;height:100dvh;min-height:0;overflow:hidden;background:#8e9899}canvas{display:block;width:100%;height:100%;position:absolute;inset:0;touch-action:none}.scene-label{position:absolute;z-index:2;top:26px;left:26px;display:flex;gap:8px;align-items:center;font-size:10px;letter-spacing:1.5px;color:#1a2324;background:#ffffff70;padding:10px 12px;border-radius:3px;pointer-events:none}.dot{width:6px;height:6px;background:#267247;border-radius:50%}.score{position:absolute;z-index:2;right:28px;top:26px;text-align:right;color:#142121;pointer-events:none}.score>span{font-size:10px;letter-spacing:2px}.score strong{display:block;font-size:46px;font-weight:800;letter-spacing:-2px;font-variant-numeric:tabular-nums;margin:5px 0}.score small{font-size:10px;letter-spacing:1px;opacity:.65}.score small b{margin-left:8px}.hint{position:absolute;bottom:30px;right:25px;font-size:11px;color:#243131;pointer-events:none}#loading{position:absolute;inset:0;display:grid;place-content:center;color:#152222;font-size:16px}aside{background:#1d211d;padding:24px;border-left:1px solid #343934}.panel-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:17px;font-size:10px;letter-spacing:1.3px;color:#a7afa2}.panel-title b{font-size:11px;letter-spacing:0;color:#eee}.panel-title button{font-size:10px;border:0;padding:0;background:transparent;text-decoration:underline}.body-picker{display:flex;gap:13px;height:204px;margin-bottom:26px}#body-map{height:198px;width:123px;flex-shrink:0}#body-map [data-part]{cursor:pointer;stroke:#a2aaa0;stroke-width:1;fill:#5b6458;transition:fill .15s}#body-map [data-part].selected{fill:var(--accent);stroke:#ffe5a5}#parts{display:grid;grid-template-columns:1fr;gap:1px;overflow:auto;flex:1}#parts button{font-size:9px;text-align:left;border:0;padding:4px 6px;white-space:nowrap;background:transparent;color:#959f8e}#parts button.selected{background:#ffc34718;color:var(--accent)}label{display:block;font-size:11px;color:#c2c8be;margin-bottom:15px}output{float:right;font-family:monospace;color:var(--accent)}input[type=range]{display:block;width:100%;height:4px;margin:14px 0 20px;accent-color:var(--accent)}.power-track{height:15px;background:#3c433a;overflow:hidden;border-radius:2px}.power-track div{height:100%;width:0;background:linear-gradient(90deg,#78a875,#f2d161,#f69645)}.subtle{color:#8b9485;font-size:10px;margin:9px 0 19px;line-height:1.6}.primary{width:100%;display:flex;justify-content:space-between;align-items:center;background:var(--accent);border:0;color:#212218;padding:17px 16px;font-size:15px;font-weight:800;letter-spacing:.4px}.primary span{font-size:9px;letter-spacing:1px;opacity:.55}.secondary-actions{display:flex;gap:8px;margin-top:8px}.secondary-actions>*{flex:1;font-size:11px;padding:8px;background:transparent}.damage-title{margin-top:25px;margin-bottom:10px}.damage-row{display:flex;justify-content:space-between;font-size:10px;color:#a4ad9d;padding:4px 0}.damage-row span:last-child{font-family:monospace;color:#d6ddcf}footer{font-size:9px;line-height:1.8;color:#727c6d;border-top:1px solid #363e32;padding-top:16px;margin-top:17px}dialog{width:560px;max-width:95vw;background:#222922;color:#dae0d5;border:1px solid #66715f;border-radius:5px;padding:28px;line-height:1.6;font-size:13px}dialog::backdrop{background:#0009}dialog button{float:right}dialog h2{margin-top:38px;font-size:25px}dialog a{color:var(--accent)}@media(max-width:850px){main{grid-template-columns:1fr}aside{border-left:0;padding:22px;display:block}.body-picker{height:180px}.score strong{font-size:36px}.hint{display:none}.scene-label{top:calc(18px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left))}.score{top:calc(18px + env(safe-area-inset-top));right:calc(16px + env(safe-area-inset-right))}}

.audio-controls{display:flex;gap:8px;margin-top:10px}.audio-controls button{flex:1;background:transparent;padding:7px;font-size:10px}.audio-controls .on{color:var(--accent);border-color:#867338}

.impact-camera{position:absolute;right:20px;bottom:76px;z-index:3;width:clamp(190px,36%,320px);border:1px solid #ffc347bd;border-radius:5px;overflow:hidden;box-shadow:0 8px 28px #0005;pointer-events:none}
.impact-camera[hidden]{display:none}
.impact-header{display:flex;align-items:center;gap:7px;padding:8px 10px;background:#18211fee;color:#ffc347;font-size:9px;font-weight:bold;letter-spacing:1.5px}
.impact-dot{width:5px;height:5px;border-radius:50%;background:#ffc347}
.impact-view{aspect-ratio:16/10}
.impact-caption{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;background:#18211fee;font-size:10px;color:#eee}
.impact-caption strong{color:#ffc347;font-variant-numeric:tabular-nums}
@media(max-width:850px){.impact-camera{right:12px;bottom:70px;width:clamp(175px,42%,260px)}.impact-header,.impact-caption{padding:6px 8px}}

/* The legacy editor remains available in the markup, hidden during game UI development. */
aside[hidden]{display:none}
.launch-controls{position:absolute;z-index:2;right:calc(24px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));width:260px;padding:14px;background:#18211fee;border:1px solid #ffffff38;border-radius:5px;box-shadow:0 8px 28px #0003}
.launch-controls .panel-title{margin-bottom:9px}
.launch-controls .panel-title b{color:var(--accent);font-variant-numeric:tabular-nums}
.launch-controls .power-track{height:12px;margin-bottom:12px}
.launch-controls .primary{padding:14px 12px}
.hint{left:24px;right:auto;bottom:68px}
.impact-camera{right:calc(24px + env(safe-area-inset-right));bottom:calc(188px + env(safe-area-inset-bottom))}
@media(max-width:850px){.launch-controls{right:calc(12px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));width:190px;padding:12px}.launch-controls .primary{font-size:13px;padding:12px 10px}.impact-camera{right:calc(12px + env(safe-area-inset-right));bottom:calc(140px + env(safe-area-inset-bottom))}}

.debug-panel{position:absolute;z-index:6;top:112px;left:24px;width:310px;max-height:calc(100% - 156px);padding:0;background:#18211ff5;border:1px solid #ffffff38;border-radius:5px;box-shadow:0 12px 32px #0005;overflow:auto;overscroll-behavior:contain}
.debug-heading{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #ffffff18}
.debug-heading strong{font-size:10px;letter-spacing:1.5px;color:var(--accent)}
.debug-heading button{padding:2px 7px;font-size:19px;border:0;background:transparent}
.debug-panel details{border-bottom:1px solid #ffffff18}
.debug-panel summary{cursor:pointer;padding:12px 14px;font-size:12px;color:#dfe5db}
.debug-panel summary:hover{background:#ffffff07}
.debug-panel summary span{float:right;font-size:10px;font-variant-numeric:tabular-nums;color:var(--muted)}
.debug-content{padding:2px 14px 14px}
.debug-content label{margin-bottom:13px}
.debug-content button,.debug-content select{font-size:11px}
.debug-content>select{width:100%;margin-bottom:14px;padding:8px}
.debug-content label b{float:right;color:var(--accent);font-size:10px}
.debug-content>button{margin-bottom:14px}
.debug-check{display:flex;align-items:center;gap:9px}
.debug-check input{margin:0;accent-color:var(--accent);width:15px;height:15px}
.debug-number{display:flex;align-items:center;justify-content:space-between;gap:10px}
.debug-number input,.debug-number select{width:86px;min-width:0;padding:6px 8px;background:#282c28;color:#eee;border:1px solid #444b42;border-radius:3px;font:inherit}
.debug-help{font-size:10px;line-height:1.5;color:var(--muted);margin:0 0 16px}
.debug-content input[type=range]{margin:12px 0 20px}
.debug-footer{padding:10px 14px}.debug-footer button{font-size:10px;width:100%;background:transparent}
#debug-toggle[aria-expanded=true]{color:var(--accent);border-color:#867338}
.impact-camera{width:clamp(190px,36%,var(--inset-width,320px))}
@media(max-width:850px){.debug-panel{left:calc(12px + env(safe-area-inset-left));top:calc(104px + env(safe-area-inset-top));width:min(310px,calc(100% - 24px));max-height:calc(100% - 128px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.impact-camera{width:min(var(--inset-width,320px),45vw)}}

.main-zoom{display:flex;gap:3px}.main-zoom button{padding:8px;min-width:29px}.main-zoom #zoom-reset{min-width:48px;font-variant-numeric:tabular-nums}
@media(max-width:850px){.main-zoom{gap:2px}.main-zoom button{padding:6px;min-width:24px;font-size:10px}.main-zoom #zoom-reset{min-width:42px}}

.main-impact-caption{position:absolute;z-index:3;top:76px;left:50%;transform:translateX(-50%);display:flex;gap:12px;align-items:center;max-width:calc(100% - 32px);padding:9px 12px;background:#18211fee;border:1px solid #ffc347bd;border-radius:4px;color:#eee;font-size:11px;white-space:nowrap;pointer-events:none}
.main-impact-caption[hidden]{display:none}.main-impact-caption span{color:#ffc347;font-size:9px;letter-spacing:1.2px}.main-impact-caption strong{color:#ffc347;font-variant-numeric:tabular-nums}

#debug-toggle{position:absolute;z-index:5;top:72px;left:24px;background:#18211fcc;font-size:11px;padding:7px 10px}
.debug-view-controls{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:14px}.debug-view-controls>button{font-size:11px;padding:8px}
@media(max-width:850px){#debug-toggle{top:calc(64px + env(safe-area-inset-top));left:calc(16px + env(safe-area-inset-left))}}
