:root{color-scheme:dark;--bg:#0b1017;--panel:#121b27;--line:#2b3d50;--text:#eef6fb;--muted:#9aafc0;--cyan:#43d6c6;--red:#ed5960}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 10% -10%,#1b3850,transparent 35%),var(--bg);color:var(--text);font:14px/1.5 "Segoe UI","Microsoft YaHei",sans-serif}button,input,select{font:inherit}button{background:#1a2a3a;color:var(--text);border:1px solid var(--line);padding:9px 12px;border-radius:8px;cursor:pointer}button:hover{border-color:var(--cyan)}button.primary,.accent{background:#1da99d;color:#041512;border-color:var(--cyan);font-weight:700}.danger{background:#a7232f;border-color:#ff6b70;font-weight:700}.hidden{display:none!important}header{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 3vw;background:#0b121b; border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:10px}.brand>span{display:grid;place-items:center;background:var(--cyan);color:#071514;border-radius:8px;width:34px;height:34px;font-weight:900;font-size:20px}.brand strong{font-size:19px}.brand small{color:var(--muted);border-left:1px solid var(--line);padding-left:10px}.header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge{border:1px solid var(--line);border-radius:999px;padding:4px 9px;color:var(--muted)}.badge.demo{color:#ffd58b;border-color:#a67b30}.card{background:linear-gradient(145deg,#172535f5,#101923f5);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 18px 44px #0005}main{width:min(1450px,96vw);margin:22px auto 50px;display:grid;grid-template-columns:minmax(520px,1.55fr) minmax(330px,.9fr);gap:18px;align-items:start}.viewer{grid-row:span 2}.viewer canvas{display:block;width:100%;height:auto;min-height:360px;background:#101923;border-radius:10px;border:1px solid #30495f}.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px}.section-title h2,h2{margin:3px 0 12px;font-size:17px}.section-title em,em{font-style:normal;color:var(--cyan);font-size:11px;letter-spacing:.12em}.status{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:12px}.status span,.id6 span{display:flex;flex-direction:column;color:var(--muted);font-size:12px}.status b,.id6 b{color:var(--text);font-size:13px}.grid-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.id6{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tabs .active{border-color:var(--cyan);color:var(--cyan)}.controls{grid-column:1}.slider{display:grid;grid-template-columns:105px 1fr 72px;gap:10px;align-items:center;margin:12px 0}.slider label{color:var(--muted)}input[type=range]{width:100%;accent-color:var(--cyan)}output{font-variant-numeric:tabular-nums;text-align:right}.hint{color:var(--muted);margin:8px 0}.transcript{margin-top:14px;padding:12px;background:#0b131d;border-radius:8px;color:var(--muted)}.transcript b{color:var(--text)}.row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.log-card{grid-column:1/-1}.log-card #log{height:130px;overflow:auto;background:#0b131d;border-radius:8px;padding:8px}.log-line{padding:3px 0;border-bottom:1px solid #1d2a38;color:#b8c8d6}.log-line.error{color:#ff8d93}dialog{background:#142332;color:var(--text);border:1px solid var(--line);border-radius:12px;max-width:460px}dialog::backdrop{background:#0009}dialog input{width:100%;padding:10px;background:#0b131d;color:var(--text);border:1px solid var(--line);border-radius:7px}@media(max-width:950px){main{grid-template-columns:1fr}.viewer,.controls{grid-column:1}.viewer{grid-row:auto}.status{grid-template-columns:repeat(2,1fr)}}
