:root{color:#edf0f5;font-synthesis:none;background:#101216;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;overflow:hidden}button,input,select{font:inherit}button,select,input[type=number]{color:#e8ebf0;background:#252a32;border:1px solid #39404b;border-radius:7px}button{cursor:pointer;min-height:32px;padding:5px 10px}button:hover:not(:disabled){background:#303743;border-color:#596577}button:disabled{cursor:default;opacity:.45}button.primary{color:#071a21;background:#83d9ea;border-color:#83d9ea;font-weight:700}button.primary:hover:not(:disabled){background:#a1e7f3}select,input[type=number]{width:100%;min-height:32px;padding:4px 7px}input[type=range]{accent-color:#79d4e7;width:100%}.app-shell{grid-template-columns:minmax(300px,370px) 1fr;width:100%;height:100%;display:grid}.viewport{background:radial-gradient(circle at 50% 42%,#242a33,#101216 65%);min-width:0;position:relative}.viewport canvas{width:100%;height:100%;display:block}.viewport-overlay{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.loading-card{color:#dfe5ed;background:#12151ae0;border:1px solid #39414d;border-radius:12px;width:min(420px,100% - 48px);padding:22px;box-shadow:0 18px 70px #00000059}.loading-card h2{margin:0 0 8px;font-size:18px}.loading-card p{color:#aab3c0;margin:0;line-height:1.45}.progress{background:#303642;border-radius:99px;height:4px;margin-top:16px;overflow:hidden}.progress:after{content:"";background:#79d4e7;width:40%;height:100%;animation:1.25s ease-in-out infinite progress;display:block}@keyframes progress{0%{transform:translate(-110%)}to{transform:translate(360%)}}.control-panel{background:#181b20;border-right:1px solid #2b3038;grid-template-rows:auto auto 1fr auto;min-width:0;height:100%;display:grid}.panel-header{justify-content:space-between;align-items:center;padding:18px 18px 12px;display:flex}.panel-header h1{letter-spacing:-.02em;margin:1px 0 0;font-size:21px}.eyebrow{color:#79d4e7;letter-spacing:.13em;text-transform:uppercase;margin:0;font-size:11px;font-weight:750}.panel-header a{color:#aeb8c5;font-size:12px;text-decoration:none}.toolbar{grid-template-columns:1fr 1fr;gap:8px;padding:0 18px 12px;display:grid}.scroll-area{scrollbar-color:#444c58 transparent;min-height:0;padding:0 10px 24px;overflow:auto}.scroll-area>fieldset{border:0;min-width:0;margin:0;padding:0}.section{background:#1e2228;border:1px solid #2d333c;border-radius:8px;margin:0 0 7px;overflow:hidden}.section>summary{color:#dfe4eb;cursor:pointer;-webkit-user-select:none;user-select:none;padding:10px 12px;font-size:13px;font-weight:680;list-style-position:inside}.section-content{gap:9px;padding:4px 11px 12px;display:grid}.section .section{background:#191d22;margin:3px 0 0}.stack{gap:8px;display:grid}.segmented{background:#15181d;border-radius:8px;grid-template-columns:1fr 1fr;padding:3px;display:grid}.segmented button{text-transform:capitalize;background:0 0;border-color:#0000}.segmented button.active{color:#fff;background:#39424f}.button-grid{grid-template-columns:1fr 1fr;gap:7px;display:grid}.preset-row{grid-template-columns:1fr auto;gap:7px;display:grid}.slider-row{grid-template-columns:minmax(78px,1fr) minmax(82px,1.3fr) 42px;align-items:center;gap:7px;min-width:0;font-size:11px;display:grid}.slider-row span{color:#b9c0ca;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.slider-row output{color:#8f99a6;font-variant-numeric:tabular-nums;text-align:right}.toggle-row,.input-row,.select-row{color:#bac2cc;grid-template-columns:1fr 1.25fr;align-items:center;gap:10px;font-size:12px;display:grid}.toggle-row input{accent-color:#79d4e7;justify-self:end}.vector-field{border:1px solid #303640;border-radius:7px;grid-template-columns:1fr 1fr 1fr;gap:7px;margin:0;padding:8px;display:grid}.vector-field legend{color:#aeb6c1;padding:0 4px;font-size:11px}.vector-field label{color:#77818f;grid-template-columns:auto 1fr;align-items:center;gap:4px;font-size:10px;display:grid}.vector-field input{min-width:0}.hint{color:#7f8996;margin:0;font-size:11px}.status{color:#8993a0;text-overflow:ellipsis;white-space:nowrap;border-top:1px solid #292e35;min-height:38px;padding:10px 16px;font-size:11px;overflow:hidden}@media (max-width:760px){.app-shell{grid-template-rows:54vh 46vh;grid-template-columns:1fr}.viewport{grid-row:1}.control-panel{border-top:1px solid #2b3038;border-right:0;grid-row:2}.panel-header{padding-top:10px;padding-bottom:8px}.panel-header h1{font-size:18px}.toolbar{padding-bottom:8px}}
