:root{--sh-bg: rgba(8, 8, 8, .94);--sh-border: rgba(255, 255, 255, .06);--sh-text: rgba(255, 255, 255, .88);--sh-text-dim: rgba(255, 255, 255, .38);--sh-text-mid: rgba(255, 255, 255, .55);--sh-surface: rgba(255, 255, 255, .06);--sh-surface-hover: rgba(255, 255, 255, .1);--sh-accent: rgba(255, 255, 255, .7);--sh-radius: 4px;--sh-width: 320px;--sh-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif}.sh-panel{position:fixed;top:0;right:0;width:var(--sh-width);max-width:50vw;height:100%;box-sizing:border-box;background:var(--sh-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-left:1px solid var(--sh-border);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;z-index:100;transition:width .28s cubic-bezier(.4,0,.2,1),opacity .2s ease,min-width .28s cubic-bezier(.4,0,.2,1);font-family:var(--sh-font);color:var(--sh-text);font-size:12px;line-height:1.4;-webkit-user-select:none;user-select:none}.sh-panel input:not([type=range]):not([type=color]):not([type=checkbox]):not([type=radio]),.sh-panel textarea,.sh-panel [contenteditable=true]{-webkit-user-select:text;user-select:text}.sh-panel.collapsed{width:0;min-width:0;opacity:0;pointer-events:none;overflow:hidden;border-left-width:0}.sh-panel-body{padding:16px 14px 32px;display:flex;flex-direction:column;gap:2px}.sh-panel-hint{position:fixed;right:14px;bottom:14px;padding:5px 10px;font-family:var(--sh-font);font-size:10px;text-transform:uppercase;letter-spacing:2px;color:var(--sh-text-dim);background:#ffffff0a;border:1px solid var(--sh-border);border-radius:999px;pointer-events:none;z-index:101;transition:opacity .6s ease}.sh-panel-hint.hidden{opacity:0}.sh-folder{margin-bottom:2px}.sh-folder-head{display:flex;align-items:center;gap:6px;padding:8px 2px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.8px;color:var(--sh-text-mid);transition:color .15s ease}.sh-folder-head:hover{color:var(--sh-text)}.sh-arrow{font-size:10px;transition:transform .2s ease;display:inline-block}.sh-folder.collapsed .sh-arrow{transform:rotate(-90deg)}.sh-folder-body{display:flex;flex-direction:column;gap:2px;padding-left:4px;overflow:hidden;max-height:4000px;transition:max-height .3s ease,opacity .2s ease}.sh-folder.collapsed>.sh-folder-body{max-height:0;opacity:0;pointer-events:none}.sh-ctrl{padding:6px 4px;display:flex;flex-direction:column;gap:6px}.sh-ctrl-head{display:flex;justify-content:space-between;align-items:baseline}.sh-label{font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:1.4px;color:var(--sh-text-dim)}.sh-value{font-size:11px;font-variant-numeric:tabular-nums;color:var(--sh-text-mid);min-width:36px;text-align:right}.sh-slider input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:3px;background:var(--sh-surface);border-radius:2px;cursor:pointer;outline:none}.sh-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;background:#fff;border-radius:50%;box-shadow:0 0 6px #ffffff40;cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.sh-slider input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.25);box-shadow:0 0 10px #fff6}.sh-slider input[type=range]::-moz-range-thumb{width:10px;height:10px;background:#fff;border:none;border-radius:50%;box-shadow:0 0 6px #ffffff40;cursor:pointer}.sh-slider input[type=range]::-moz-range-track{height:3px;background:var(--sh-surface);border-radius:2px}.sh-color{flex-direction:row;align-items:center;justify-content:space-between}.sh-color input[type=color]{-webkit-appearance:none;appearance:none;width:36px;height:20px;padding:0;border:1px solid var(--sh-border);border-radius:var(--sh-radius);background:transparent;cursor:pointer}.sh-color input[type=color]::-webkit-color-swatch-wrapper{padding:1px}.sh-color input[type=color]::-webkit-color-swatch{border:none;border-radius:2px}.sh-toggle{flex-direction:row;align-items:center;justify-content:space-between}.sh-switch{position:relative;display:inline-block;width:32px;height:16px;cursor:pointer}.sh-switch input{opacity:0;width:0;height:0;position:absolute}.sh-knob{position:absolute;inset:0;background:var(--sh-surface);border-radius:999px;transition:background .2s ease}.sh-knob:after{content:"";position:absolute;left:2px;top:2px;width:12px;height:12px;background:#ffffff59;border-radius:50%;transition:transform .2s ease,background .2s ease}.sh-switch input:checked+.sh-knob{background:#ffffff26}.sh-switch input:checked+.sh-knob:after{transform:translate(16px);background:#fff}.sh-btn{display:block;width:100%;padding:7px 12px;margin:2px 0;font-family:var(--sh-font);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.6px;color:var(--sh-text);background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius);cursor:pointer;transition:background .15s ease,border-color .15s ease}.sh-btn:hover{background:var(--sh-surface-hover);border-color:#ffffff1f}.sh-btn:active{background:#ffffff24}.sh-select{flex-direction:row;align-items:center;justify-content:space-between}.sh-select select{padding:4px 8px;font-family:var(--sh-font);font-size:11px;color:var(--sh-text);background:var(--sh-surface);border:1px solid var(--sh-border);border-radius:var(--sh-radius);outline:none;cursor:pointer;min-width:90px;transition:border-color .15s ease}.sh-select select:hover{border-color:#ffffff26}.sh-select select option{background:#111;color:var(--sh-text)}.sh-file{padding:4px}.sh-panel::-webkit-scrollbar{width:5px}.sh-panel::-webkit-scrollbar-track{background:transparent}.sh-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.sh-panel::-webkit-scrollbar-thumb:hover{background:#fff3}:root{color-scheme:dark;background:#32576a}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}body{font-family:system-ui,sans-serif}.app-shell{display:flex;width:100%;height:100dvh;min-height:0;background:#32576a}.scene-region{position:relative;flex:1 1 auto;min-width:0;min-height:0;overflow:hidden;background:#32576a}.viewport{position:absolute;inset:0;width:100%;height:100%;min-width:0;min-height:0;overflow:hidden;background:#32576a}.viewport:focus-visible{outline:2px solid #c8fff1;outline-offset:-2px}.viewport.placing-blocker canvas{cursor:crosshair}.viewport canvas{display:block;width:100%;height:100%;touch-action:none}.reference{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;transition:opacity .12s linear}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.capture-form{position:absolute;z-index:2;min-width:0;--form-accent: #c8fff1;--form-fill: #0b2830;--form-font-size: 13px;--form-font-family: system-ui, Arial, sans-serif;filter:drop-shadow(0 4px 12px rgba(0,8,13,.7))}.capture-form[hidden]{display:none}.capture-row{display:flex;width:100%;height:100%;padding:4px;border:1px solid color-mix(in srgb,var(--form-accent) 75%,transparent);border-radius:5px;background:color-mix(in srgb,var(--form-fill) 93%,transparent);box-shadow:inset 0 0 0 1px #000e1273}.capture-row:focus-within{border-color:var(--form-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--form-accent) 25%,transparent),0 0 24px #9af4e733}.capture-row input{flex:1 1 auto;min-width:0;padding:0 10px;border:0;outline:0;border-radius:2px;color:#f1fbf8;background:transparent;font:400 var(--form-font-size)/1.2 var(--form-font-family);letter-spacing:.01em}.capture-row input::placeholder{color:#a5c3c2;opacity:1}.capture-row button{flex:0 0 auto;max-width:48%;min-width:65px;padding:0 12px;border:0;border-radius:2px;color:#09252c;background:var(--form-accent);font:700 var(--form-font-size)/1.1 var(--form-font-family);letter-spacing:.055em;cursor:pointer}.capture-row button:hover{filter:brightness(1.08)}.capture-row button:focus-visible{outline:2px solid #fff;outline-offset:2px}.capture-feedback{position:absolute;top:100%;left:0;max-width:100%;margin:5px 0 0;padding:0 2px;color:#c8fff1;font:11px/1.3 system-ui,sans-serif;text-shadow:0 1px 4px #03161b,0 1px 8px #03161b}.capture-feedback[data-state=error]{color:#ffb6a6}#controls.sh-panel{position:relative;inset:auto;flex:0 0 320px;width:320px;max-width:none;height:100%;border-left:1px solid rgba(165,222,235,.16);background:#071b22;-webkit-backdrop-filter:none;backdrop-filter:none}#controls.sh-panel.collapsed{flex-basis:0;width:0;border-left:0}.panel-intro,.panel-status{padding:12px 16px;color:#9bb4b9;line-height:1.45;font-size:12px}.panel-intro{border-bottom:1px solid rgba(165,222,235,.12)}.panel-intro strong{display:block;color:#e3f4f3;font-size:14px;margin-bottom:4px}.panel-status{border-top:1px solid rgba(165,222,235,.12)}.panel-status[data-state=error]{color:#ffb6a6}.panel-status[data-state=ready]{color:#9dd9d5}.panel-folder-hint{margin:2px 0 12px;color:#9bb4b9;font:11px/1.45 system-ui,sans-serif}.scene-text-control,.scene-text-control .sh-label{display:block}.scene-text-control input,.scene-text-control textarea{display:block;width:100%;margin-top:7px;padding:9px 10px;border:1px solid rgba(165,222,235,.22);border-radius:4px;outline:none;color:#e8f5f1;background:#0c252d;font:12px/1.45 system-ui,sans-serif;letter-spacing:.02em;-webkit-user-select:text;user-select:text}.scene-text-control textarea{min-height:56px;resize:vertical}.scene-text-control input:focus,.scene-text-control textarea:focus{border-color:#b6eee1}@media(max-width:700px){.app-shell{flex-direction:column}#controls.sh-panel{flex:0 0 42dvh;width:100%;height:42dvh;border-left:0;border-top:1px solid rgba(165,222,235,.16)}#controls.sh-panel.collapsed{flex-basis:0;width:100%;height:0;border-top:0}}
