:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b0d10;--bg-elev:#12161c;--bg-panel:#161b22;--border:#2a3340;--text:#e6edf3;--muted:#9aa7b5;--accent:#4ea1ff;--warn:#ffb454;--danger:#ff6b6b;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--sans:"IBM Plex Sans", "Segoe UI", sans-serif;font-family:var(--sans);background:var(--bg);color:var(--text)}*{box-sizing:border-box}html,body,#root{background:radial-gradient(1200px 600px at 20% -10%, #152033 0%, var(--bg) 55%);height:100%;min-height:100%;margin:0}button,input{font:inherit}.app{grid-template-rows:auto 1fr auto;gap:.75rem;height:100%;min-height:100vh;padding:.75rem;display:grid}.app__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.app__header h1{letter-spacing:.01em;margin:0;font-size:1.25rem;font-weight:650}.app__header p{color:var(--muted);margin:.25rem 0 0;font-size:.9rem}.app__main{z-index:0;grid-template-columns:minmax(0,1.7fr) minmax(280px,.9fr);gap:.75rem;min-height:0;display:grid;position:relative;overflow:hidden}.panel{background:color-mix(in srgb, var(--bg-panel) 92%, black);border:1px solid var(--border);border-radius:10px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.panel--volume{min-height:420px}.panel__title{border-bottom:1px solid var(--border);letter-spacing:.04em;text-transform:uppercase;color:var(--muted);background:#0f1318;padding:.45rem .7rem;font-size:.78rem}.volume-host{flex:1;min-height:0;position:relative;overflow:hidden}.volume-host canvas{max-width:100%;max-height:100%;display:block;width:100%!important;height:100%!important}.panel-stack{grid-template-rows:repeat(3,minmax(0,1fr));gap:.75rem;min-height:0;display:grid;overflow:hidden}.plane-canvas{object-fit:contain;cursor:crosshair;background:#090b0e;width:100%;height:100%;display:block}.app__footer{z-index:2;background:0 0;gap:.75rem;display:grid;position:relative}.app__footer-load .dropzone{flex-direction:row;justify-content:space-between;align-items:center;padding:.6rem .8rem}.app__overlay{z-index:20;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05070ab8;place-items:center;display:grid;position:fixed;inset:0}.dropzone{background:#10141a;border:1px dashed #3b4a5c;border-radius:12px;flex-direction:column;align-items:flex-start;gap:.55rem;max-width:420px;padding:1.25rem 1.4rem;display:flex}.dropzone--disabled{opacity:.5;pointer-events:none}.dropzone__title{font-weight:600}.dropzone__hint{color:var(--muted);font-size:.85rem}.button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:#1a212b;border-radius:8px;padding:.4rem .75rem}.button:hover{border-color:#4a5b70}.button--primary{background:linear-gradient(#2a6fbf,#1f5a9c);border-color:#3d7cc7}.controls{background:var(--bg-elev);border:1px solid var(--border);z-index:3;border-radius:10px;gap:.65rem;padding:.75rem;display:grid;position:relative}.controls__row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.controls__exports{flex-wrap:wrap;gap:.4rem;margin-left:auto;display:flex}.controls__check{color:var(--muted);align-items:center;gap:.35rem;font-size:.9rem;display:inline-flex}.controls__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.slider{color:var(--muted);gap:.25rem;font-size:.82rem;display:grid}.slider input[type=range]{width:100%}.meta{border:1px solid var(--border);background:#10151c;border-radius:10px;min-width:min(420px,100%);padding:.65rem .8rem;font-size:.82rem}.meta__status{color:var(--text);margin-bottom:.35rem}.meta__busy{color:var(--accent);font-family:var(--mono);margin-bottom:.35rem}.meta__warn{color:var(--warn);margin-bottom:.35rem}.meta__grid,.meta__cursor{grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem .75rem;margin:.35rem 0 0;display:grid}.meta__grid dt,.meta__cursor dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}.meta__grid dd,.meta__cursor dd{font-family:var(--mono);margin:.1rem 0 0}@media (width<=1100px){.app__main{grid-template-rows:minmax(320px,45vh) minmax(420px,1fr);grid-template-columns:1fr}.controls__grid{grid-template-columns:1fr 1fr}.app__header{flex-direction:column}}@media (width<=720px){.controls__grid{grid-template-columns:1fr}.meta__grid,.meta__cursor{grid-template-columns:1fr 1fr}}
