:root{color:#d8e2e8;--accent:#ff5a1f;--panel:#10161c;--line:#22303b;background:#090d11;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,select,input{font:inherit}button{color:inherit;cursor:pointer;background:0 0;border:0}header{border-bottom:1px solid var(--line);background:#0b1015;align-items:center;height:64px;padding:0 4vw;display:flex}header .brand{letter-spacing:.13em;margin-right:auto;font-weight:800}b,.eyebrow,.card span,.card i{color:var(--accent)}nav{gap:20px;display:flex}.home{max-width:1200px;margin:auto;padding:70px 24px}.eyebrow{letter-spacing:.18em;font:700 12px monospace}.home>h1{max-width:900px;margin:18px 0;font-size:clamp(40px,7vw,78px);line-height:1}.lead{color:#91a3af;max-width:720px;font-size:20px;line-height:1.6}.cards{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:55px;display:grid}.card{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:210px;padding:24px}.card:hover{border-color:var(--accent);transform:translateY(-2px)}.card span{font:700 11px monospace}.card h2{margin:26px 0 8px}.card p,.hint{color:#78909c;line-height:1.5}.card i{font-style:normal}.road-title{margin-top:65px}.roadmap{color:#91a3af;line-height:2}.lab{grid-template-columns:300px 1fr;height:calc(100vh - 64px);display:grid}.lab aside{background:var(--panel);border-right:1px solid var(--line);flex-direction:column;gap:18px;padding:24px;display:flex}.back{text-align:left;color:#91a3af}.lab h1{font-size:24px}.lab label{gap:9px;font-size:13px;display:grid}.lab output{color:var(--accent)}select{color:#d8e2e8;border:1px solid var(--line);background:#0a0f13;border-radius:5px;padding:10px}.run{background:var(--accent);border-radius:5px;padding:13px;font-weight:800;color:#fff!important}.viewport{min-width:0;overflow:hidden}.viewport canvas{display:block}.hint{font-size:12px}@media (width<=800px){.cards{grid-template-columns:1fr}.lab{grid-template-rows:auto 1fr;grid-template-columns:1fr}.lab aside{grid-template-columns:1fr 1fr;padding:12px;display:grid}.viewport{min-height:50vh}.lab h1,.hint{display:none}}.actions{grid-template-columns:1fr 1fr;gap:8px;display:grid}.actions button{border:1px solid var(--line);border-radius:5px;padding:9px}.telemetry{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.telemetry span{color:#78909c;background:#0a0f13;padding:8px 5px;font:9px monospace}.telemetry b{margin-top:5px;font-size:12px;display:block}@media (width<=800px){.telemetry{display:none}}.upload{color:#9fdfff;background:#0a1117;border:1px dashed #385063;border-radius:7px;padding:12px}.upload input{width:100%;margin-top:8px;font-size:11px}.status{color:#9fdfff;margin:0;font-size:11px;line-height:1.4}.or{text-align:center;color:#5f7480;letter-spacing:.12em;font:10px monospace}.color-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.color-grid input[type=color]{border:1px solid var(--line);background:#0a0f13;border-radius:5px;width:100%;height:34px;padding:2px}.toggle{align-items:center;grid-template-columns:auto 1fr!important;gap:8px!important;display:flex!important}.toggle input{accent-color:var(--accent)}.object-list{border-top:1px solid var(--line);gap:6px;max-height:145px;padding-top:12px;display:grid;overflow:auto}.object-list>span{color:#78909c;font:10px monospace}.object-row{grid-template-columns:1fr auto;gap:4px;display:grid}.object-row button{border:1px solid var(--line);text-align:left;border-radius:4px;padding:7px;font-size:11px}.object-row.active button:first-child{border-color:var(--accent);color:var(--accent)}.object-row .delete{color:#ff776b;text-align:center}.panel-title{color:#78909c;letter-spacing:.12em;border-top:1px solid var(--line);padding-top:11px;font:10px monospace}.preset-grid,.tool-grid,.export-grid{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.preset-grid button,.tool-grid button,.export-grid button,.save-grid button,.file-button{border:1px solid var(--line);border-radius:4px;padding:7px;font-size:10px}.preset-grid button.active,.tool-grid button.active{border-color:var(--accent);color:var(--accent)}.save-grid{grid-template-columns:1fr 1fr;gap:5px;display:grid}.file-button{text-align:center;cursor:pointer}.file-button input{display:none}.results{gap:5px;max-height:160px;display:grid;overflow:auto}.result{color:#78909c;background:#0a0f13;border-radius:4px;padding:7px;font:10px monospace}.result b{color:#d8e2e8}.result span{justify-content:space-between;margin-top:3px;display:flex}.lab aside{overflow-y:auto}a{color:inherit;text-decoration:none}.back{border:1px solid var(--line);cursor:pointer;border-radius:5px;width:max-content;padding:8px 10px;display:block}.back:hover,header nav a:hover{color:var(--accent);border-color:var(--accent)}
