:root{color-scheme:dark;--bg:#090b0d;--panel:#111519;--panel2:#171c21;--line:#293139;--text:#eef3f5;--muted:#89949d;--cyan:#45e4ff;--orange:#ff6b35}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,input,select{font:inherit}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 22px;background:#0c0f12}.brand{display:flex;align-items:center;gap:13px}.brand-mark{width:38px;height:38px;display:grid;place-items:center;border:1px solid var(--cyan);color:var(--cyan);font:800 12px/1 ui-monospace,monospace;transform:skew(-8deg);box-shadow:inset 0 0 18px #45e4ff18}.brand h1{font-size:15px;margin:0;letter-spacing:.07em}.brand p{font:10px/1.4 ui-monospace,monospace;margin:3px 0 0;color:var(--muted);letter-spacing:.12em}.file-actions{display:flex;align-items:center;gap:10px}.status{display:flex;align-items:center;gap:8px;color:var(--muted);font:11px ui-monospace,monospace;margin-right:6px}.status i{width:7px;height:7px;border-radius:50%;background:#ffbd45;box-shadow:0 0 9px #ffbd45}.status.ready i{background:#51e38b;box-shadow:0 0 9px #51e38b}.status.error i{background:#ff5b62}.button{border:1px solid var(--line);padding:10px 14px;text-transform:uppercase;letter-spacing:.08em;font-size:10px;font-weight:800;cursor:pointer;background:var(--panel2);color:var(--text)}.button.primary{background:var(--orange);border-color:var(--orange);color:#0a0b0c}.button:disabled{opacity:.35;cursor:not-allowed}.workspace{height:calc(100vh - 72px);display:grid;grid-template-columns:minmax(0,1fr) 344px}.stage-panel{min-width:0;display:grid;grid-template-rows:minmax(0,1fr) 52px 48px;border-right:1px solid var(--line)}.stage{position:relative;overflow:hidden;background-color:#0d1114}.checker{background-image:linear-gradient(45deg,#14191d 25%,transparent 25%),linear-gradient(-45deg,#14191d 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#14191d 75%),linear-gradient(-45deg,transparent 75%,#14191d 75%);background-size:28px 28px;background-position:0 0,0 14px,14px -14px,-14px 0}.stage canvas{display:block;width:100%;height:100%}.stage-hud{position:absolute;top:18px;z-index:2;display:flex;flex-direction:column;gap:3px;pointer-events:none;text-shadow:0 2px 4px #000}.stage-hud span{color:var(--cyan);font:9px ui-monospace,monospace;letter-spacing:.14em}.stage-hud strong{font:700 11px ui-monospace,monospace;letter-spacing:.05em}.top-left{left:20px}.top-right{right:20px;text-align:right}.drop-hint{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);font:10px ui-monospace,monospace;color:#71808a;opacity:0;transition:.2s}.stage:hover .drop-hint{opacity:1}.stage.dragging:after{content:"DROP FBX TO LOAD";position:absolute;inset:16px;display:grid;place-items:center;border:1px dashed var(--cyan);background:#45e4ff12;color:var(--cyan);font:800 16px ui-monospace,monospace;letter-spacing:.16em}.transport{display:grid;grid-template-columns:34px 1fr 112px;align-items:center;gap:14px;padding:0 18px;background:var(--panel);border-top:1px solid var(--line)}.icon-button{border:1px solid var(--line);width:30px;height:30px;background:#1a2025;color:var(--cyan);cursor:pointer}.transport input{width:100%}.mono{font:10px ui-monospace,monospace;color:var(--muted);text-align:right}.quick-views{display:flex;align-items:center;padding:0 18px;gap:7px;background:#0d1114;border-top:1px solid #1c2328}.quick-views button{background:transparent;border:1px solid var(--line);color:var(--muted);padding:7px 10px;font-size:10px;cursor:pointer}.quick-views button:hover{color:var(--cyan);border-color:#3b6970}.quick-views #fitButton{margin-left:auto}.controls{overflow-y:auto;background:var(--panel)}.control-section{border-bottom:1px solid var(--line)}.section-title{width:100%;height:48px;border:0;background:#0e1215;color:var(--text);padding:0 16px;display:flex;align-items:center;gap:10px;text-transform:uppercase;font-size:11px;font-weight:800;letter-spacing:.1em;cursor:pointer}.section-title span{color:var(--cyan);font:10px ui-monospace,monospace}.section-title b{margin-left:auto;color:var(--muted)}.section-body{padding:15px 16px 18px;display:grid;gap:15px}.control-section:not(.open) .section-body{display:none}.control-section:not(.open) .section-title b:after{content:"+"}.control-section:not(.open) .section-title b{font-size:0}.control-section:not(.open) .section-title b:after{font-size:14px}.section-body label{display:grid;grid-template-columns:1fr auto;gap:8px;font-size:10px;color:#adb7bd;letter-spacing:.04em}.section-body output{font:10px ui-monospace,monospace;color:var(--cyan)}.section-body input[type=range]{grid-column:1/-1;width:100%;accent-color:var(--cyan)}select,input[type=number]{grid-column:1/-1;width:100%;height:34px;border:1px solid var(--line);background:#0c1013;color:var(--text);padding:0 9px;font-size:11px}.segmented{display:grid;grid-template-columns:1fr 1fr}.segmented button{border:1px solid var(--line);background:#0b0f12;color:var(--muted);padding:8px;font-size:9px;text-transform:uppercase}.segmented button.active{border-color:var(--cyan);color:var(--cyan);background:#45e4ff0d}.grid-two{grid-template-columns:1fr 1fr}.grid-two .wide{grid-column:1/-1}.check-label{display:flex!important;align-items:center;justify-content:flex-start!important;gap:8px!important}.check-label input{accent-color:var(--cyan)}.sheet-summary{border:1px solid var(--line);background:#0c1013;padding:12px;display:flex;flex-direction:column;gap:4px}.sheet-summary span{font:9px ui-monospace,monospace;color:var(--orange)}.sheet-summary strong{font:700 13px ui-monospace,monospace}.sheet-summary small{color:var(--muted);font:9px ui-monospace,monospace}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);padding:11px 16px;background:#eef3f5;color:#0b0d0f;font-size:11px;font-weight:700;opacity:0;pointer-events:none;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:800px){html,body{overflow:auto}.topbar{height:auto;padding:12px;align-items:flex-start}.status{display:none}.workspace{height:auto;display:block}.stage-panel{height:70vh}.controls{overflow:visible}.file-actions{flex-wrap:wrap;justify-content:flex-end}.button{padding:9px}.brand p{display:none}}
/* Keep the file control available to browser upload handling while presenting the styled label. */
.visually-hidden-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.import-overlay{position:absolute;inset:0;z-index:6;display:grid;place-items:center;background:#090b0dbd;backdrop-filter:blur(3px)}.import-overlay[hidden]{display:none!important}.import-card{min-width:min(420px,88%);padding:22px 25px;border:1px solid #3b6970;background:#10161beF;box-shadow:0 12px 44px #0009;display:grid;grid-template-columns:14px 1fr;column-gap:13px;row-gap:5px}.import-card i{grid-row:1/3;width:11px;height:11px;margin-top:4px;border:2px solid #45e4ff3d;border-top-color:var(--cyan);border-radius:50%;animation:import-spin .75s linear infinite}.import-card strong{font:700 13px ui-monospace,monospace;letter-spacing:.04em;color:var(--text)}.import-card span{font:11px/1.45 ui-monospace,monospace;color:var(--muted)}.import-overlay.error .import-card{border-color:#ff5b62}.import-overlay.error .import-card i{animation:none;background:#ff5b62;border-color:#ff5b62}@keyframes import-spin{to{transform:rotate(360deg)}}
