:root{--paper: #f4efe6;--paper2: #faf6ee;--ink: #2b2b2b;--orange: #c2571b;--teal: #0e7c86;--line: rgba(43, 43, 43, .14);--ok: #2e7d32;--warn: #b23a12;--shadow: 0 1px 3px rgba(43, 43, 43, .14)}*{box-sizing:border-box}html,body{margin:0;height:100%;background:var(--paper);color:var(--ink);font-family:Archivo,system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:var(--paper2);border-bottom:1px solid var(--line);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.brand h1{font-size:17px;font-weight:700;margin:0;letter-spacing:-.2px}.brand h1 em{font-weight:400;color:var(--teal);font-style:normal}.dot{width:12px;height:12px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 3px #c2571b33}.topctl{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topctl label{display:flex;flex-direction:column;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#2b2b2b99;gap:2px}.topctl select{font-family:IBM Plex Mono,monospace;font-size:13px;padding:3px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.status{font-family:IBM Plex Mono,monospace;font-size:12px;padding:3px 10px;border-radius:20px}.status.ok{background:#2e7d321f;color:var(--ok)}.status.busy{background:#c2571b24;color:var(--orange)}.status.err{background:#b23a1224;color:var(--warn)}.btn{font-family:Archivo,sans-serif;font-size:13px;font-weight:600;padding:7px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer;box-shadow:var(--shadow);transition:transform .05s ease,background .12s ease}.btn:hover{background:#fff8ee}.btn:active{transform:translateY(1px)}.btn.accent{background:var(--orange);color:#fff;border-color:#9c440f}.btn.accent:hover{background:#d0611f}.btn.ghost{background:transparent;box-shadow:none;color:#2b2b2bb3}.layout{display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:14px;padding:14px;align-items:start}@media (max-width: 1000px){.layout{grid-template-columns:1fr}}.stagecol{display:flex;flex-direction:column;gap:12px;min-width:0}.stagewrap{position:relative}#stage{width:100%;height:460px;border-radius:12px;border:1px solid var(--line);background:var(--paper2);box-shadow:var(--shadow);display:block}.hud{position:absolute;top:10px;right:10px;display:grid;grid-template-columns:repeat(2,minmax(78px,auto));gap:2px 14px;font-family:IBM Plex Mono,monospace;font-size:12px;background:#faf6eee6;border:1px solid var(--line);border-radius:8px;padding:8px 10px;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.hud .k{color:#2b2b2b8c}.hud .v{text-align:right;font-weight:500}.hud .sat{color:var(--warn);font-weight:700}.errbanner{position:absolute;left:10px;bottom:10px;right:10px;background:#b23a12f2;color:#fff;font-family:IBM Plex Mono,monospace;font-size:12px;padding:8px 10px;border-radius:8px;white-space:pre-wrap}.hidden{display:none!important}#topview{width:100%;height:210px;border-radius:12px;border:1px solid var(--line);background:var(--paper2);box-shadow:var(--shadow);display:block}.wprow{display:flex;align-items:end;gap:10px;margin-top:10px;flex-wrap:wrap}.wprow label{display:flex;flex-direction:column;font-size:10px;text-transform:uppercase;letter-spacing:.5px;color:#2b2b2b99;gap:2px}.wprow input{width:76px;font-family:IBM Plex Mono,monospace;font-size:13px;padding:5px 6px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.charts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:118px;gap:10px}@media (max-width: 700px){.charts{grid-template-columns:1fr}}.chart{width:100%;height:118px;border-radius:10px;border:1px solid var(--line);background:var(--paper2);box-shadow:var(--shadow);display:block}.panel{display:flex;flex-direction:column;gap:12px}.card{background:var(--paper2);border:1px solid var(--line);border-radius:12px;padding:12px;box-shadow:var(--shadow)}.card h2{font-size:13px;margin:0 0 10px;text-transform:uppercase;letter-spacing:.6px;color:#2b2b2bbf}.card h2 code{text-transform:none;letter-spacing:0;color:var(--orange);font-family:IBM Plex Mono,monospace;font-size:12px}.cardhead{display:flex;align-items:baseline;justify-content:space-between}.hint{font-size:11px;color:#2b2b2b73;font-weight:400;text-transform:none;letter-spacing:0}.btnrow{display:flex;flex-wrap:wrap;gap:8px}.challist{display:flex;flex-direction:column;gap:4px}.chrow{display:grid;grid-template-columns:22px 1fr auto;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:12px;padding:4px 6px;border-radius:6px;background:#2b2b2b08}.chrow .cdetail{color:#2b2b2b8c;font-size:11px}.chrow.run{background:#c2571b1a}.chrow.pass{background:#2e7d321a}.chrow.pass .cdetail{color:var(--ok);font-weight:600}.chrow.fail{background:#b23a121f}.chrow.fail .cdetail{color:var(--warn);font-weight:600}.rcsliders{margin-top:10px}#rcToggle.rcon{background:var(--orange);color:#fff;border-color:#9c440f}.sgroup{margin-bottom:10px}.sgroup>summary{cursor:pointer;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--teal);padding:4px 0;list-style:none}.sgroup>summary::-webkit-details-marker{display:none}.sgroup>summary:before{content:"▸ "}.sgroup[open]>summary:before{content:"▾ "}.srow{display:grid;grid-template-columns:96px 1fr 58px;align-items:center;gap:8px;margin:3px 0}.srow label{font-size:12px;color:#2b2b2bb8}.srow input[type=range]{width:100%;accent-color:var(--teal)}.srow .sval{font-family:IBM Plex Mono,monospace;font-size:12px;text-align:right;color:var(--ink)}.senrow{display:grid;grid-template-columns:1fr 96px;align-items:center;gap:8px;margin:3px 0}.senrow label{font-size:12px;color:#2b2b2bb8;font-family:IBM Plex Mono,monospace}.senrow select{font-family:IBM Plex Mono,monospace;font-size:11px;padding:2px 4px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink)}.senrow select.senfault{background:#b23a121f;color:var(--warn);border-color:#b23a1266;font-weight:600}#editor{width:100%;height:260px;resize:vertical;font-family:IBM Plex Mono,monospace;font-size:12px;line-height:1.45;border:1px solid var(--line);border-radius:8px;padding:10px;background:#fffdf8;color:var(--ink);margin-bottom:8px;-moz-tab-size:4;tab-size:4;white-space:pre;overflow:auto}.log{font-family:IBM Plex Mono,monospace;font-size:11.5px;line-height:1.4;background:#23201b;color:#e7dfd0;border-radius:8px;padding:10px;margin:8px 0 0;max-height:160px;overflow:auto;white-space:pre-wrap}.log.console{background:#1c2624;color:#cfe6e2;max-height:180px}.log:empty:before{content:"—";color:#ffffff4d}
