:root{color-scheme:dark;--bg:#07141c;--panel:#102530;--card:#142c37;--stroke:#29414b;--fg:#eaf4f1;--muted:#98afb6;--accent:#75f2cf;--teal:#08a98a;--gold:#e6c88d;font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",system-ui,sans-serif}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font-size:14px}
button,input,select,textarea{font:inherit}
button{cursor:pointer}
button:disabled{opacity:.45;cursor:not-allowed}
.topbar{height:72px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--stroke);padding:0 28px;background:#0c1d26}
.brand{display:flex;align-items:center;gap:12px}
.brand-logo{width:44px;height:44px;border:1px solid var(--teal);background:#14372f;display:grid;place-items:center;border-radius:13px;color:var(--accent);font-size:30px}
.brand strong{font-size:18px;letter-spacing:.01em}
.brand small{display:block;margin-top:2px;color:var(--muted);font-size:10px;letter-spacing:.12em}
.tag{font-size:12px;border:1px solid #2b6055;border-radius:100px;padding:7px 12px;color:#9de3cf}
.layout{display:grid;grid-template-columns:360px minmax(0,1fr);min-height:calc(100vh - 72px)}
.sidebar{background:#0c1d26;border-right:1px solid var(--stroke);padding:26px 23px 40px;display:flex;flex-direction:column;gap:19px}
.eyebrow{color:#7bd8c4;font-weight:600;font-size:10px;letter-spacing:.16em}
.heading h1{margin:7px 0;font-size:25px;letter-spacing:.03em}
.heading p,.small{margin:0;color:var(--muted);line-height:1.7;font-size:12px}
.fieldset{border-top:1px solid var(--stroke);padding-top:18px;display:flex;flex-direction:column;gap:12px}
.sect-title{display:flex;align-items:center;gap:11px;margin-bottom:0}
.step{border:1px solid #387267;color:var(--accent);width:25px;height:25px;border-radius:8px;display:grid;place-items:center;font-size:10px}
h2,h3,p{margin-top:0}
.sect-title h2{font-size:15px;margin:0}
label{color:#c6d5d8;display:flex;flex-direction:column;gap:7px;font-size:12px}
input[type=text],select,textarea{background:#102a35;color:#fff;border:1px solid #35505a;border-radius:9px;padding:11px 12px;width:100%;min-width:0;outline:none}
textarea{resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#75f2cf;box-shadow:0 0 0 2px #75f2cf20}
select{appearance:auto}
.twin{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.info{padding:12px 14px;border-left:3px solid #65b6a5;background:#15323b;color:#b8d9d0;font-size:12px;line-height:1.7;border-radius:0 8px 8px 0}
.gain-header{display:flex;justify-content:space-between;align-items:center;color:#b9c9cc}
.gain-header strong{color:var(--accent);font-size:27px;font-variant-numeric:tabular-nums}
input[type=range]{width:100%;accent-color:#73f1cd}
.gain-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.ratio{font-size:12px;color:var(--muted)}
.ratio strong{color:#eed0a0}
.help{background:#172c34;border:1px solid var(--stroke);border-radius:9px;padding:12px;font-size:12px;line-height:1.7;color:#a9c4c8}
.controls{display:flex;flex-direction:column;gap:10px}
button{border:1px solid transparent;border-radius:9px;padding:12px 15px;font-weight:600;transition:filter .1s,border-color .1s}
button:hover:not(:disabled){filter:brightness(1.14)}
.primary{background:linear-gradient(135deg,#79edc7,#49b8a1);color:#063229;font-size:14px}
.secondary{background:#183845;border-color:#3a606a;color:#d0eeeb}
.ghost{background:transparent;border-color:#33515b;color:#a6b9bd}
.sm{padding:9px 11px;font-size:11px}
.buttons button{padding:10px 8px;font-size:11px}
.support{color:#b5c0c2;font-size:11px;line-height:1.65}
.content{min-width:0;padding:27px 28px 35px}
.content-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.content-head h2{font-size:24px;margin:5px 0 0}
.stage-chip{border:1px solid #3a5c66;background:#14313c;border-radius:100px;padding:7px 14px;font-size:12px;color:#b9e1d7}
.viewport{height:min(54vh,580px);min-height:340px;border-radius:16px;overflow:hidden;position:relative;border:1px solid #3b535b;background:radial-gradient(ellipse at center,#223f4a,#0b1921 80%);touch-action:none}
#scene{display:block;width:100%;height:100%;touch-action:none}
.corner-label{position:absolute;right:18px;top:18px;color:#d8d6c6;font-size:10px;letter-spacing:.13em;background:#102b33d9;padding:9px 13px;border:1px solid #60737955;border-radius:8px;pointer-events:none}
.preview-hint{position:absolute;left:22px;top:22px;line-height:1.8;color:#b7d0d1;font-size:12px;background:#102631d9;padding:12px 16px;border:1px solid #60737955;border-radius:8px;pointer-events:none}
.hud{position:absolute;bottom:17px;left:17px;right:17px;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;pointer-events:none}
.hud>div{background:#0a1e28dd;border:1px solid #3b5660;border-radius:9px;padding:10px 14px;min-width:0}
.hud small{display:block;font-size:9px;color:#9bbac0;letter-spacing:.13em}
.hud b{font-weight:600;font-size:17px;color:#dcf4ef}
.status-row{margin-top:12px;display:flex;align-items:center;gap:10px;color:#c3d4d3;background:#102932;border:1px solid var(--stroke);border-radius:10px;padding:12px 16px;min-height:49px}
.status-row p{margin:0;font-size:12px;line-height:1.5}
.live-dot{height:9px;width:9px;background:#79ecbd;box-shadow:0 0 12px #6cebb6;border-radius:50%;flex-shrink:0}
.bottom-area{display:grid;grid-template-columns:1.15fr 1fr;gap:17px;margin-top:22px}
.panel{background:#10232d;border:1px solid #273e49;border-radius:13px;padding:19px}
.panel-head{display:flex;justify-content:space-between;align-items:start;gap:10px;margin-bottom:10px}
.panel-head h3{margin:0;font-size:15px}
.panel-head span{color:#7c9ca5;font-size:9px;letter-spacing:.09em}
.small strong{color:#cbe9d6}
.action-row{display:flex;gap:8px;margin:16px 0 10px;flex-wrap:wrap}
.logbox{max-height:135px;min-height:80px;overflow-y:auto;background:#081923;border:1px solid #223b43;border-radius:7px;padding:12px;font-family:ui-monospace,monospace;font-size:11px;color:#aecaca;line-height:1.7;white-space:pre-wrap;word-break:break-all}
.ratings{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:11px 0 14px}
.ratings label{font-size:11px}.ratings select{padding:8px 6px}
#saveRatingsBtn{margin-top:12px}
footer{font-size:11px;line-height:1.8;color:#a4b6b8;padding-top:18px}
footer strong{color:#dbd7a9}
@media(max-width:1150px){.layout{grid-template-columns:315px minmax(0,1fr)}.sidebar{padding:20px 17px}.bottom-area{grid-template-columns:1fr}.viewport{height:55vh}}
@media(max-width:740px){.topbar{padding:10px 15px;height:auto;gap:8px;flex-wrap:wrap}.layout{display:flex;flex-direction:column}.sidebar{border-right:0;border-bottom:1px solid var(--stroke)}.content{padding:19px 14px}.viewport{height:45vh;min-height:310px}.preview-hint{font-size:11px;left:9px;top:9px;padding:7px}.hud{left:7px;right:7px;bottom:7px}.hud>div{padding:8px 6px}.hud b{font-size:13px}.corner-label{display:none}.ratings{grid-template-columns:repeat(2,1fr)}}
