:root{color-scheme:dark;--bg:#060c13;--panel:#0c141e;--panel2:#101b26;--line:#253341;--muted:#778a9b;--txt:#e1e9ef;--accent:#eeac47;--bright:#f5c476;--mint:#70d7b4}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;font-size:13px}button{font:inherit;cursor:pointer}button:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:3px}#app{height:100dvh;min-height:640px;display:flex;flex-direction:column;overflow:hidden}.topbar{height:72px;flex-shrink:0;border-bottom:1px solid var(--line);background:#0a121c;display:flex;align-items:center;padding:0 22px;gap:24px;justify-content:space-between}.brand{display:flex;align-items:center;gap:13px}.brand-icon{border:1px solid #b97723;color:#f8bd66;width:44px;height:44px;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:900;font-family:ui-monospace,monospace;position:relative;letter-spacing:-4px}.brand-icon span{position:absolute;bottom:2px;right:4px;font-size:8px;letter-spacing:0}.eyebrow,.section-kicker{font-size:10px;letter-spacing:1.9px;color:var(--accent);font-weight:700}.brand-title{font-size:20px;letter-spacing:1.9px;font-weight:800;margin-top:3px}.brand-title span{font-weight:500;color:#8798a8}.divider-dot{color:#536271;padding:0 6px}.top-meta{margin-left:auto;display:flex;gap:22px;align-items:center}.pill{font-size:10px;color:#b7c9d6;border:1px solid #334454;padding:9px 11px;letter-spacing:1px}.led,.view-dot,.status-led{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);box-shadow:0 0 10px #58c6a3;margin-right:7px}.top-spec{font-size:11px;letter-spacing:1px;color:#99aab6}.top-spec b{color:var(--accent);padding:0 8px}.icon-btn{width:34px;height:34px;border:1px solid var(--line);background:var(--panel2);color:var(--txt);font-size:21px}.dashboard{display:grid;grid-template-columns:266px minmax(380px,1fr) 254px;min-height:0;flex:1}.panel{background:var(--panel);padding:22px 18px;overflow-y:auto;scrollbar-color:#3a4857 transparent;scrollbar-width:thin}.controls{border-right:1px solid var(--line)}.telemetry{border-left:1px solid var(--line)}h2{font-size:18px;margin:7px 0 21px;letter-spacing:.25px}.button-row{display:flex;gap:7px;margin-bottom:26px}.primary{background:var(--accent);color:#172027;font-weight:800;letter-spacing:.6px;border:0;flex:1;padding:13px 7px;font-size:11px}.primary.off{background:#2a4150;color:#dce6ee}.square{min-width:40px;border:1px solid var(--line);background:#182633;color:#d9e3e8;font-size:22px}.field{margin-bottom:23px}.field-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:10px}.field-head label{color:#c5d4de}.field-head output{color:var(--bright);font-weight:700;font-variant-numeric:tabular-nums}.field input[type=range]{width:100%}input[type=range]{appearance:none;display:block;background:linear-gradient(90deg,#9d641b 0,#dba148 70%,#273747 70%);height:4px;border-radius:2px;accent-color:var(--accent)}input[type=range]::-webkit-slider-thumb{appearance:none;width:13px;height:13px;border-radius:100%;border:3px solid #f0b35a;background:#111c25;box-shadow:0 0 0 2px #263747}.minmax{display:flex;justify-content:space-between;margin-top:10px;font-size:9px;color:#667a8b;letter-spacing:.8px}.section-divider{height:1px;background:var(--line);margin:21px 0}.toggle-list{margin-top:11px}.switch-line{padding:11px 0;display:flex;justify-content:space-between;gap:12px;align-items:center;cursor:pointer}.switch-line span{display:block}.switch-line b{display:block;font-size:12px;font-weight:550}.switch-line small{font-size:10px;color:var(--muted);display:block;margin-top:4px}.switch-line input{position:absolute;opacity:0;pointer-events:none}.switch-line i{width:30px;min-width:30px;height:16px;background:#263544;border-radius:20px;border:1px solid #4b5966;position:relative}.switch-line i:before{content:"";position:absolute;top:2px;left:2px;background:#8292a1;width:10px;height:10px;border-radius:100%;transition:.15s}.switch-line input:checked+i{background:#885d24;border-color:#ac7a2f}.switch-line input:checked+i:before{left:16px;background:var(--bright)}.speed-row{display:flex;gap:7px;margin-top:14px}.speed-row button{flex:1;padding:10px;background:#14212e;border:1px solid #344354;color:#9cabb8}.speed-row .active{background:#5f472b;border-color:var(--accent);color:var(--bright)}.side-note{margin:17px 0 0;font-size:10px;line-height:1.6;color:#6f8393}.viewport{position:relative;background:radial-gradient(circle at 48% 47%,#152838 0,#09131d 49%,#050b12 100%);overflow:hidden;touch-action:none;min-width:0}.viewport canvas:not(#trend){display:block;width:100%;height:100%}#scene{position:absolute;inset:0}.view-top,.view-bottom{position:absolute;left:24px;right:24px;display:flex;align-items:center;justify-content:space-between;pointer-events:none;z-index:3}.view-top{top:24px}.view-badge,.view-count{border:1px solid #314251;color:#b9cad6;background:#0b1520d0;padding:9px 11px;font-size:10px;letter-spacing:1.2px}.view-count{color:#8197a6}.slash{color:#718598;padding:0 8px}.hero-label{position:absolute;left:30px;top:80px;z-index:2;pointer-events:none;text-shadow:0 2px 18px #0009}.hero-sub{color:#98b0c1;font-size:10px;letter-spacing:2.1px;font-weight:650}.hero-title{font-size:clamp(22px,2.1vw,37px);font-weight:820;letter-spacing:-.7px;line-height:1.1;margin-top:10px;color:#e4edf5}.hero-title span{color:var(--accent)}.view-bottom{bottom:22px;align-items:end;gap:15px}.nav-tip{font-size:9px;letter-spacing:1px;color:#8799a8;white-space:nowrap;background:#08111dbb;padding:9px}.nav-tip b{color:#d3e0e8}.nav-tip span{color:var(--accent);padding:0 6px}.view-btns{display:flex;gap:4px;pointer-events:auto}.view-btns button{border:1px solid #344455;background:#0b1621db;color:#8c9faf;font-weight:750;letter-spacing:.7px;font-size:9px;padding:10px 12px}.view-btns button.selected{background:#594329cc;color:#f4c781;border-color:#a97736}.hotspots{position:absolute;inset:0;z-index:4;pointer-events:none}.hotspot{position:absolute;transform:translate(-50%,-50%);border:1px solid #e8ae56;color:#f4c67e;background:#0b1721ed;font-size:9px;letter-spacing:.7px;padding:6px 8px;white-space:nowrap;pointer-events:auto;cursor:pointer;box-shadow:0 3px 18px #0009}.hotspot:before{content:"";display:inline-block;border:1.5px solid #f4bf6f;width:6px;height:6px;margin-right:7px;border-radius:100%}.hotspot.active{border-color:#8bdacc;color:#8de6ca}.detail-panel{position:absolute;right:25px;top:95px;z-index:5;width:250px;padding:20px;border:1px solid #ba7e3a;background:#0b1925f4;box-shadow:0 15px 60px #0008;display:none}.detail-panel.show{display:block}.detail-panel>button{position:absolute;top:8px;right:9px;background:none;border:0;color:#9fb2c0;font-size:22px}.detail-code,.event-tag{color:var(--accent);font-size:9px;letter-spacing:1.4px;font-weight:800}.detail-panel h3{margin:10px 0;font-size:17px}.detail-panel p{line-height:1.6;color:#a8bdca;font-size:12px;margin:0}.boot{position:absolute;inset:0;z-index:8;background:#0a1420ef;display:flex;justify-content:center;align-items:center;flex-direction:column;gap:10px;letter-spacing:2px;font-size:12px;font-weight:800}.boot small{font-size:10px;color:#8397a7;letter-spacing:.6px;font-weight:400}.spinner{width:42px;height:42px;border-radius:50%;border:3px solid #344353;border-top-color:#e8a749;animation:spin .65s linear infinite;margin-bottom:20px}@keyframes spin{to{transform:rotate(360deg)}}.status-bar{display:flex;justify-content:space-between;align-items:center;border:1px solid #285448;background:#102822;padding:12px 9px;font-size:9px;letter-spacing:.6px;color:#95d6c0;margin-bottom:25px}.status-bar>span:nth-child(2){color:#557e72}.status-led{width:6px;height:6px;margin-right:4px}.status-led.warn{background:#ffbd68;box-shadow:0 0 8px #fda544}.stat{margin-bottom:24px}.stat-label{display:flex;justify-content:space-between;font-size:10px;color:#a2b5c2;letter-spacing:.3px}.stat-label span{font-size:8px;color:#627789}.stat-value{display:flex;align-items:baseline;gap:8px;margin:8px 0 10px;font-variant-numeric:tabular-nums}.stat-value>span{font-size:31px;font-weight:650;line-height:1}.stat-value small{color:#748c9f;font-size:12px}.meter{height:4px;background:#243443;overflow:hidden}.meter i{display:block;height:100%;background:linear-gradient(90deg,#9b6332,#f2ae58);transition:width .4s}.chart-head{display:flex;justify-content:space-between;color:#89a0b2;font-size:9px;letter-spacing:.6px;margin:29px 0 9px}.chart-head span:last-child{color:#546c80}#trend{display:block;width:100%;height:102px;background:linear-gradient(#152534,#0c1824);border:1px solid #243646}.data-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 10px}.data-grid span{font-size:9px;letter-spacing:.4px;color:#7890a0;display:block}.data-grid b{display:block;font-size:15px;margin-top:7px;font-variant-numeric:tabular-nums}.event-box{margin-top:25px;border-left:2px solid #b7823b;background:#162331;padding:14px}.event-box p{font-size:11px;line-height:1.6;color:#a5bac7;margin:9px 0 0}.footer{background:#0c151f;border-top:1px solid var(--line);display:flex;align-items:center;gap:16px;padding:13px 22px;flex-shrink:0;min-height:78px}.footer-label{font-size:10px;font-weight:800;letter-spacing:1.3px;min-width:180px}.footer-label span{display:block;font-size:9px;font-weight:400;color:#6e8494;margin-top:6px;letter-spacing:.3px}.modules{display:flex;gap:7px;flex:1}.modules button{padding:12px 12px;border:1px solid #273849;color:#a9b8c5;background:#12202d;font-size:11px;white-space:nowrap}.modules button span{font-size:9px;color:#7c8e9f;margin-right:8px}.modules button.active{background:#493921;border-color:#b17e37;color:#f4c584}.modules button.active span{color:#edb663}.footer-id{font-size:9px;color:#61778b;letter-spacing:.4px;white-space:nowrap}@media(max-width:1300px){.dashboard{grid-template-columns:238px minmax(340px,1fr) 226px}.panel{padding:18px 14px}.footer-id{display:none}.footer-label{min-width:120px}.modules button{padding:10px 8px}}@media(max-width:1010px){.dashboard{grid-template-columns:220px minmax(330px,1fr)}.telemetry{display:none}.top-spec{display:none}.footer{overflow-x:auto}.footer-label{display:none}.modules{min-width:max-content}.hero-title{font-size:24px}.view-btns button{padding:8px}}@media(max-width:640px){#app{min-height:0;height:100dvh}.topbar{height:60px;padding:0 12px}.brand-icon{width:35px;height:35px;font-size:20px}.brand-title{font-size:15px}.eyebrow{font-size:7px}.top-meta{display:none}.dashboard{display:flex;flex-direction:column}.controls{order:2;height:220px;flex-shrink:0;border-right:0;border-top:1px solid var(--line);padding:11px 14px}.controls h2{margin:5px 0 10px}.controls .section-divider,.controls .toggle-list,.controls .speed-row,.controls .side-note,.controls>.section-kicker:nth-of-type(n+2){display:none}.controls .field{display:inline-block;width:47%;vertical-align:top;margin:2px 1% 10px}.controls .field-head{font-size:10px}.controls .field input{width:96%}.controls .button-row{margin:8px 0}.viewport{order:1;flex:1;min-height:240px}.hero-label{top:62px;left:15px}.hero-sub{font-size:7px}.hero-title{font-size:17px}.view-top{top:10px;left:10px;right:10px}.view-count{font-size:8px}.view-bottom{bottom:8px;left:8px;right:8px}.nav-tip{display:none}.view-btns{width:100%;justify-content:center}.view-btns button{flex:1;font-size:8px}.footer{min-height:52px;padding:6px}.modules button{font-size:10px;padding:8px}.hotspot{font-size:7px;padding:4px}.detail-panel{right:7px;top:55px;width:225px}}
