:root{color:#d8d8e1;font-synthesis:none;--bg:#0c0d11;--panel:#101116;--line:#24252d;--muted:#727582;--accent:#b9a2ff;--green:#9ad5bd;background:#090a0d;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:8px;transition:background .16s,color .16s,border-color .16s,transform .16s;display:inline-flex}button:hover{color:#fff;background:#ffffff08}button:active{transform:translateY(1px)}button:disabled{opacity:.25;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,textarea{color:inherit}a{color:inherit;text-decoration:none}kbd{color:#7f828d;text-align:center;white-space:nowrap;border:1px solid #30313a;border-radius:4px;min-width:18px;padding:2px 4px;font:10px ui-monospace,SFMono-Regular,monospace}::selection{background:#8e72d944}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-thumb{background:#30313d;border-radius:4px}.app{flex-direction:column;height:100dvh;min-height:680px;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);background:#0f1014;flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;height:72px;padding:0 24px;display:flex}.brand{letter-spacing:-1.3px;align-items:center;gap:9px;font-size:25px;font-weight:800;display:flex}.brand-mark{width:42px;height:42px}.brand-divider{background:#34353d;width:1px;height:22px;margin:0 7px 0 13px}.brand small{letter-spacing:1.5px;color:#90929c;max-width:80px;font-size:8px;font-weight:500;line-height:1.6}.topbar nav{gap:9px;height:100%;display:flex}.topbar nav button{color:#8c8e9a;white-space:nowrap;padding:0 13px;font-size:11px;position:relative}.topbar nav button.active{color:#dbd2f4}.topbar nav button.active:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:10px;right:10px}.top-actions{align-items:center;gap:9px;display:flex}.top-actions>button{padding:9px;font-size:11px}.top-actions .show-button{background:var(--accent);color:#1a142d;white-space:nowrap;border-radius:5px;margin-left:6px;padding:10px 13px;font-weight:650}.show-button:hover{background:#cbb9ff}.show-button kbd{color:#48365f;border-color:#9d85d8;margin-left:10px}.workspace{flex:1;min-height:0;display:flex}.library{border-right:1px solid var(--line);background:#101116;flex-direction:column;flex-shrink:0;width:218px;padding:26px 17px 14px;display:flex;overflow:auto}.panel-eyebrow{letter-spacing:1.2px;color:#a2a3ad;justify-content:space-between;font-size:8px;display:flex}.panel-eyebrow span{color:#5a5d69;font:8px monospace}.library h2{letter-spacing:-.45px;margin:13px 0 8px;font-size:17px;font-weight:500}.intro{color:#737682;margin:0 0 22px;font-size:11px;line-height:1.7}.preset-list{flex-direction:column;gap:12px;display:flex}.preset{text-align:left;background:#121318;border:1px solid #0000;border-radius:5px;flex-shrink:0;padding:0;display:block;overflow:hidden}.preset:hover{border-color:#555063}.preset.selected{background:#1b1825;border-color:#8f76ca}.preset-art{--p:#9b66ff;--s:#e3b5ff;background:radial-gradient(#292049 0,#101017 64%);height:69px;position:relative;overflow:hidden}.mini-orbit{background:repeating-conic-gradient(from 15deg, transparent 0deg 10deg, var(--p) 11deg 12deg, transparent 13deg 26deg), radial-gradient(ellipse, transparent 18%, var(--s) 19%, transparent 21% 31%, var(--p) 32%, transparent 35% 50%, var(--s) 51%, transparent 53%);width:105px;height:105px;filter:drop-shadow(0 0 9px var(--p));opacity:.9;border-radius:50%;position:absolute;top:-17px;left:calc(50% - 52px);transform:rotate(-25deg)scaleY(.44)}.art-1{--p:#ff6a2f;--s:#ffd299;background:radial-gradient(#3e251b,#120f10 70%)}.art-1 .mini-orbit{width:86px;left:calc(50% - 43px);transform:rotate(29deg)scaleY(.62)}.art-2{--p:#24b7ed;--s:#b0f6ff;background:radial-gradient(#142c3b,#0e1116 70%)}.art-2 .mini-orbit{width:155px;left:calc(50% - 77px);transform:rotate(-12deg)scaleY(.34)}.art-3{--p:#b5ec64;--s:#e4edb7;background:radial-gradient(#293321,#11150f 70%)}.art-3 .mini-orbit{transform:rotate(45deg)scaleY(.6)}.art-4{--p:#e87dac;--s:#ffc3d5;background:radial-gradient(#3d2334,#160f14 70%)}.art-4 .mini-orbit{transform:rotate(-65deg)scaleY(.6)}.preset-number{color:#ffffff45;font:8px monospace;position:absolute;top:9px;left:10px}.preset-check{background:var(--accent);color:#1b142b;border-radius:50%;place-items:center;width:16px;height:16px;display:grid;position:absolute;top:9px;right:9px}.preset-meta{padding:10px 11px 11px}.preset-meta b{color:#c6c6d0;font-size:11px;font-weight:500;display:block}.preset-meta small{letter-spacing:1.25px;color:#6e707d;margin-top:6px;font:7px ui-monospace,monospace;display:block}.selected .preset-meta b{color:#d5c4ff}.library-note{color:#696675;align-items:center;gap:10px;margin-top:auto;padding:27px 3px 18px;display:flex}.library-note p{margin:0;font-size:9px;line-height:1.7}.guide-button{border-top:1px solid var(--line);color:#9c9daa;justify-content:flex-start;width:100%;padding:14px 3px 0;font-size:10px}.guide-button svg:last-child{margin-left:auto}.main{background:#090a0e;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.stage-heading{border-bottom:1px solid #1b1c23;flex-shrink:0;justify-content:space-between;align-items:center;height:88px;padding:20px 25px;display:flex}.eyebrow{letter-spacing:1.5px;color:#737681;font-size:8px}.project-title{align-items:center;gap:14px;margin-top:7px;display:flex}.project-title input{letter-spacing:-.6px;outline-offset:4px;background:0 0;border:0;width:185px;padding:0;font-size:21px;font-weight:400}.unsaved{color:#676b78;letter-spacing:1px;border:1px solid #2c2d37;border-radius:3px;padding:4px 5px;font:7px ui-monospace,monospace}.icon-button{color:#898c99;border-radius:4px;width:30px;height:30px}.stage{background:#05060a;flex:1;min-height:180px;position:relative;overflow:hidden}.stage canvas{cursor:crosshair;touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.stage-corner,.stage-top-right,.stage-bottom-left,.stage-bottom-right{pointer-events:none;letter-spacing:1px;color:#9493a7;align-items:center;gap:7px;font:8px ui-monospace,monospace;display:flex;position:absolute}.stage-corner{top:22px;left:25px}.live-dot{background:#a5d6b8;border-radius:50%;width:5px;height:5px;display:inline-block;box-shadow:0 0 8px #91d1ac30}.renderer-type{color:#73707f;border:1px solid #35333f;border-radius:3px;margin-left:6px;padding:3px 5px;font-size:7px}.stage-top-right{color:#575567;font-size:7px;top:26px;right:25px}.stage-bottom-left{color:#555565;gap:14px;font-size:7px;bottom:22px;left:25px}.stage-bottom-left b{color:#9a97a9;margin-left:6px;font-weight:400}.axis-mark{width:28px;height:30px;font:18px/12px monospace;display:block;position:relative}.axis-mark i{font:6px monospace;position:absolute;top:0;left:21px}.axis-mark i:last-child{top:21px}.stage-bottom-right{letter-spacing:.4px;color:#827f91;font-size:7px;bottom:23px;right:25px}.stage-bottom-right>span:not(.live-dot){color:#383540;margin:0 5px}.stage-profile{pointer-events:none;letter-spacing:.4px;color:#6f6c7d;text-transform:uppercase;justify-items:end;gap:2px;font:7px ui-monospace,monospace;display:grid;position:absolute;bottom:38px;right:25px}.stage-profile span{gap:8px;display:flex}.stage-profile i{color:#46424f;font-style:normal}.stage-crosshair{pointer-events:none;width:9px;height:9px;position:absolute}.stage-crosshair:before,.stage-crosshair:after{content:"";background:#38333f;position:absolute}.stage-crosshair:before{width:9px;height:1px;top:4px}.stage-crosshair:after{width:1px;height:9px;left:4px}.cross-a{top:65px;left:25px}.cross-b{bottom:65px;right:25px}.stage-hint{text-align:center;pointer-events:none;color:#a59bb9;text-shadow:0 1px 6px #000;font-size:10px;position:absolute;bottom:66px;left:0;right:0}.stage-hint>span{letter-spacing:2px;color:#696273;margin-bottom:10px;font:7px monospace;display:block}.stage-hint small{color:#65616f;margin-top:6px;font-size:8px;display:block}.field-marker{color:var(--field-color);cursor:grab;touch-action:none;background:#0e091d9c;border:1px solid #c0a0ff70;border-radius:50%;width:30px;height:30px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 0 0 8px #b092ff05}.field-marker:active{cursor:grabbing}.field-guides{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.field-guides path{fill:none;stroke-width:1px;vector-effect:non-scaling-stroke}.guide-grid{stroke:#b092ff;opacity:.13}.guide-x{stroke:#ff6b81;opacity:.55}.guide-y{stroke:#7dffb0;opacity:.55}.guide-z{stroke:#6bb5ff;opacity:.55}.guide-drops{stroke:#c0a0ff;opacity:.5}.guide-columns{stroke:#c0a0ff;opacity:.4;stroke-dasharray:3 4}.field-marker span{color:#a695c5;font:8px monospace;position:absolute;top:34px}.field-marker:hover{background:#553479}.interaction-bar{border-top:1px solid var(--line);background:#0e0f14;justify-content:space-between;align-items:center;gap:12px;min-height:88px;padding:17px 22px;display:flex}.tool-label span{letter-spacing:1.2px;color:#adabb9;margin-bottom:7px;font-size:8px;display:block}.tool-label small{color:#626674;white-space:nowrap;font-size:9px}.tools{gap:5px;display:flex}.tools button{color:#777887;border:1px solid #0000;border-radius:5px;width:41px;height:46px;padding-bottom:10px;position:relative}.tools button kbd{color:#4f5260;border:0;padding:0;font-size:7px;position:absolute;bottom:3px}.tools button.selected{color:#c8b2ff;background:#221b34;border:1px solid #4b3d64}.tools button.selected kbd{color:#9c83c8}.tools button:hover{background:#201c2c}.clear-fields{color:#5f6270;border-left:1px solid #252631;padding:10px 0 10px 15px}.transport{border-top:1px solid var(--line);background:#111218;flex-shrink:0;align-items:center;gap:17px;height:54px;padding:0 21px;display:flex}.transport-controls{align-items:center;gap:7px;display:flex}.play-control{color:#c7b3ec;background:#252230;border-radius:4px;width:25px;height:25px}.timecode{color:#c1bacf;white-space:nowrap;margin-left:5px;font:12px ui-monospace,monospace}.timecode small{color:#5f5b6e;font-size:9px}.timeline{flex:1;justify-content:space-between;align-items:center;height:19px;display:flex;position:relative}.timeline>span{background:#30303e;width:1px;height:4px}.timeline>span.major{height:10px}.timeline>i{z-index:1;background:#b9a2ff;width:1px;height:22px;position:absolute}.timeline>i:before{content:"";background:#b9a2ff;border-radius:1px;width:5px;height:4px;position:absolute;top:0;left:-2px}.transport-end{align-items:center;gap:13px;display:flex}.transport-end>span{color:#737080;white-space:nowrap;font:7px monospace}.transport-end button{color:#9992a4;font-size:9px}.transport-end button svg{color:#ba8ca2}.transport-end button.recording{color:#ff8a99}.recording svg{fill:#ff5276;animation:1s infinite blink}@keyframes blink{50%{opacity:.4}}.inspector{border-left:1px solid var(--line);background:#101116;flex-direction:column;flex-shrink:0;width:282px;min-height:0;display:flex}.inspector-head{color:#83818f;letter-spacing:1.5px;justify-content:space-between;align-items:center;padding:22px 20px 18px;font-size:8px;display:flex}.inspector-tabs{border-bottom:1px solid var(--line);flex-shrink:0;margin:0 19px;display:flex}.inspector-tabs button{color:#646672;flex:1;padding:10px 0 14px;font-size:10px;position:relative}.inspector-tabs button.active{color:#c6bbdb}.inspector-tabs button.active:after{content:"";background:#bda5ec;width:100%;height:2px;position:absolute;bottom:-1px}.parameter-scroll{flex:1;min-height:0;padding:0 20px;overflow:auto}.palette-section{padding:22px 0 20px}.section-caption{color:#94929f;letter-spacing:1px;justify-content:space-between;align-items:center;font-size:8px;display:flex}.section-caption>span{letter-spacing:0;color:#8a7fa2;font-size:8px}.palette-swatches{gap:8px;margin-top:13px;display:flex}.palette-swatches button{opacity:.5;color:#fff;border:2px solid #0000;border-radius:4px;flex:1;height:29px}.palette-swatches button.active{opacity:1;outline-offset:3px;outline:1px solid #d4c0ff}.palette-swatches button:hover{opacity:1}.gradient-preview{opacity:.7;border-radius:1px;height:4px;margin-top:19px}.gradient-labels{letter-spacing:1px;color:#5d5c69;justify-content:space-between;margin-top:7px;font:6px monospace;display:flex}.inspector details{border-top:1px solid var(--line)}summary{cursor:pointer;color:#b3afbf;justify-content:space-between;align-items:center;padding:16px 0;font-size:11px;font-weight:500;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary>svg{color:#676471;transform:rotate(-90deg)}details[open]>summary>svg{transform:rotate(0)}.section-controls{padding:0 0 5px}.control{margin:0 0 16px}.control-label{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.control-label button{color:#85838f;gap:6px;padding:0;font-size:10px;font-weight:400}.control-label button span{opacity:0;border:1px solid #3c3847;border-radius:50%;width:11px;height:11px;font-size:7px;line-height:9px;transition:opacity .15s}.control-label button:hover span,.control-label button:focus-visible span{opacity:1}.control-label input[type=number]{text-align:right;color:#b8adc9;-moz-appearance:textfield;background:#17161f;border:1px solid #2b2935;border-radius:3px;width:52px;padding:4px;font:9px ui-monospace,monospace}.control-label input::-webkit-inner-spin-button{display:none}input[type=range]{appearance:none;background:linear-gradient(to right, #9a83c3 var(--fill,40%), #2c2838 var(--fill,40%));outline-offset:6px;cursor:pointer;border-radius:2px;width:100%;height:3px;margin:0;display:block}input[type=range]::-webkit-slider-thumb{appearance:none;background:#c2aedf;border-radius:50%;width:7px;height:7px;transition:box-shadow .15s;box-shadow:0 0 0 2px #18151e}input[type=range]::-webkit-slider-thumb:hover{box-shadow:0 0 0 5px #b098d525}input[type=range]::-moz-range-thumb{background:#c2aedf;border:0;width:7px;height:7px}.color-picker{color:#8a8498;justify-content:space-between;align-items:center;margin:12px 0;font-size:10px;display:flex}input[type=color]{background:0 0;border:0;width:40px;height:24px}.inspector-note{color:#8c8599;padding:22px 0;font-size:9px;line-height:1.8}.inspector-note .live-dot{margin-right:8px}.inspector-note>span:last-child{color:#595563;padding-left:13px}.inspector-footer{border-top:1px solid var(--line);letter-spacing:1px;color:#696574;flex-shrink:0;justify-content:space-between;padding:15px 20px;font:7px monospace;display:flex}.inspector-footer b{color:#baabd1;font-weight:400}.statusbar{border-top:1px solid var(--line);color:#656573;background:#0e0f13;flex-shrink:0;justify-content:space-between;align-items:center;height:30px;padding:0 20px;font-size:8px;display:flex}.statusbar>span:first-child{color:#858d8a;align-items:center;gap:7px;display:flex}.statusbar i{background:#98baa6;border-radius:50%;width:4px;height:4px}.statusbar>span:nth-child(2){letter-spacing:1.2px;color:#565360;font:6px monospace}.statusbar b{margin:0 11px;font-weight:400}.statusbar button{color:#6c6777;font-size:8px}.statusbar kbd{border-color:#34303e;min-width:14px;padding:0 3px;font-size:7px}.parameter-tooltip{z-index:20;pointer-events:auto;background:#22202c;border:1px solid #51455f;border-radius:7px;width:272px;padding:20px;animation:.15s ease-out reveal;position:fixed;top:210px;right:302px;box-shadow:0 16px 50px #0008}.parameter-tooltip>span{letter-spacing:1.3px;color:#a28bbc;font:7px monospace}.parameter-tooltip h3{margin:12px 0;font-size:16px;font-weight:500}.parameter-tooltip p{color:#b8afc5;font-size:11px;line-height:1.8}.parameter-tooltip small{color:#81758e;letter-spacing:1px;margin:17px 0 8px;font:7px monospace;display:block}.parameter-tooltip a{color:#c7acf2;font-size:10px;line-height:1.6;text-decoration:underline}.toast{z-index:100;color:#e0d2ef;text-align:center;background:#282331;border:1px solid #584967;border-radius:6px;max-width:90vw;padding:13px 20px;font-size:11px;animation:.2s ease-out reveal;position:fixed;bottom:47px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #0008}.recovery{z-index:40;background:#25202e;border:1px solid #514360;border-radius:7px;align-items:center;gap:15px;padding:16px;display:flex;position:fixed;bottom:48px;left:235px}.recovery b,.recovery span{font-size:11px;display:block}.recovery span{color:#9e8caf;margin-top:6px;font-size:10px}.recovery button{color:#d4b9fb;font-size:11px}.modal-backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:80;background:#05040bc9;place-items:center;padding:30px;display:grid;position:fixed;inset:0}.guide-modal{background:#15131c;border:1px solid #38303f;border-radius:12px;width:100%;max-width:720px;max-height:90dvh;padding:36px;animation:.2s reveal;position:relative;overflow:auto;box-shadow:0 30px 100px #0008}.modal-close{color:#8b7e9b;position:absolute;top:20px;right:20px}.guide-modal h1{letter-spacing:-1.5px;margin:14px 0;font-size:34px;font-weight:450}.guide-modal>p{color:#8c819a;font-size:12px}.guide-grid{grid-template-columns:1fr 1fr;gap:40px;margin:26px 0;display:grid}.guide-modal h3{color:#cbb4e9;font-size:12px;font-weight:500}.shortcut{color:#aa9bbd;border-bottom:1px solid #2c2436;align-items:center;gap:10px;padding:9px 0;font-size:11px;display:flex}.shortcut kbd{color:#a895be;border-color:#43374f;margin-left:auto}.guide-grid small{color:#887996;margin-top:14px;font-size:10px;line-height:1.8;display:block}.guide-bottom{border-top:1px solid #31283c;padding-top:10px}.guide-bottom p{color:#978aa5;font-size:11px;line-height:1.9}.guide-bottom b{color:#c4b4d5;font-weight:500}.show-mode{min-height:0}.show-mode .topbar,.show-mode .library,.show-mode .stage-heading,.show-mode .inspector,.show-mode .interaction-bar,.show-mode .transport,.show-mode .statusbar{display:none}.show-mode .workspace,.show-mode .main,.show-mode .stage{height:100dvh}.show-mode .stage canvas{cursor:none}.show-mode .stage{border:0}.show-mode .toast{animation:.2s reveal}.code-panel{flex-direction:column;flex:1;gap:12px;min-height:0;padding:18px;display:flex;overflow:auto}.code-intro{color:#b09ccb;justify-content:space-between;font:9px monospace;display:flex}.code-intro span:last-child{font-size:7px}.success{color:#91c4a9}.warning{color:#d7b283!important}.code-panel p{color:#8b7f9a;margin:0;font-size:10px;line-height:1.7}.primary-button{background:#b8a0e7;border-radius:4px;flex-shrink:0;padding:10px;font-size:10px;font-weight:600;color:#21132e!important}.primary-button:hover{background:#d1b9ff}.code-actions{justify-content:space-between;gap:10px;display:flex}.code-actions button{color:#aa92c1;padding:0;font-size:9px}.shader-error{color:#ef9fba;white-space:pre-wrap;background:#3a162880;border:1px solid #5c2944;max-height:140px;padding:10px;font:9px/1.5 monospace;overflow:auto}.scene-code{color:#a493ba;flex:1;min-height:100px;margin:0;font:10px/1.8 monospace;overflow:auto}.field-list{padding:0 0 12px}.field-list>div{justify-content:space-between;align-items:center;margin:10px 0;display:flex}.field-list label{flex:1;justify-content:space-between;gap:16px;font-size:10px;display:flex}.field-list input{background:#211a2a;border:1px solid #45344f;border-radius:2px;width:50px;padding:3px;font:9px monospace}.field-list p{color:#7d7188;font-size:10px}.render-error{z-index:20;text-align:center;background:#0f0a17e8;flex-direction:column;justify-content:center;align-items:center;padding:40px;display:flex;position:absolute;inset:0}.render-error h2{font-size:20px;font-weight:400}.render-error p{color:#b09bbe;max-width:450px;line-height:1.8}.render-error button{border:1px solid #564065;border-radius:5px;margin-top:10px;padding:12px}.node-editor{background:#100e16;border-top:1px solid #373040;flex-direction:column;flex-shrink:0;height:280px;display:flex;position:relative}.node-head{border-bottom:1px solid #2c2535;flex-shrink:0;justify-content:space-between;align-items:center;height:43px;padding:0 17px;display:flex;position:relative}.node-head>div:first-child{color:#a68cc5;align-items:center;gap:9px;display:flex}.node-head b{font-size:10px;font-weight:500}.node-head span{color:#756285;margin-left:7px;font-size:8px}.node-head>button{color:#c3a8df;border:1px solid #45344f;border-radius:3px;padding:5px 8px;font-size:9px}.node-scroll{flex:1;position:relative;overflow:auto}.node-world{background-image:radial-gradient(#45334f 1px,#0000 1px);background-size:18px 18px;width:1640px;height:730px;position:relative}.wires{pointer-events:none;position:absolute;inset:0}.wires path{fill:none;stroke:#4b3e58;stroke-width:3px;pointer-events:stroke;cursor:pointer}.wires path.active{stroke:#9173b9}.wires path:hover{stroke:#efabc8;stroke-width:6px}.graph-node{cursor:grab;touch-action:none;background:#1b1624;border:1px solid #3d304b;border-radius:6px;width:186px;min-height:108px;padding:12px 14px;position:absolute;box-shadow:0 6px 18px #0004}.graph-node.connected{border-color:#756087}.node-type{letter-spacing:1px;color:var(--node-color);justify-content:space-between;align-items:center;margin-bottom:8px;font:6px monospace;display:flex}.node-type button{color:#64536f;padding:0}.graph-node>b{color:#d0bcdf;font-size:12px;font-weight:500}.port{background:var(--node-color);border:2px solid #1b1422;border-radius:50%;width:10px;height:10px;padding:0;position:absolute;top:59px}.port.input{left:-6px}.port.output{right:-6px}.port.selected,.port.awaiting{box-shadow:0 0 0 4px #c294ef45}.node-value{margin-top:14px;display:block}.node-value>span{color:#827091;justify-content:space-between;margin-bottom:9px;font-size:8px;display:flex}.node-value em{color:#bba0cd;font-style:normal}.node-caption{color:#776583;margin-top:13px;font-size:8px;display:block}.node-menu{z-index:15;background:#241b30;border:1px solid #59436a;border-radius:5px;padding:5px;position:absolute;top:37px;right:17px;box-shadow:0 10px 30px #0008}.node-menu button{justify-content:flex-start;width:100%;padding:9px;font-size:10px;display:flex}.node-menu i{border-radius:50%;width:5px;height:5px}.node-foot{color:#7d698e;border-top:1px solid #302539;flex-shrink:0;height:24px;padding:8px 15px;font:7px monospace}.mode-nodes .stage-hint{display:none}@keyframes reveal{0%{opacity:0;translate:0 5px}to{opacity:1;translate:0}}@media (width>=1550px){.library{width:244px;padding-left:22px;padding-right:22px}.preset-art{height:88px}.inspector{width:310px}.parameter-tooltip{right:330px}.mini-orbit{top:-5px}.stage-heading{height:100px}.interaction-bar{height:96px}.preset-list{gap:16px}}@media (height<=850px){.library{padding-top:18px}.intro{margin-bottom:15px}.preset-list{gap:8px}.preset-art{height:52px}.preset-meta{padding:8px 10px}.preset-meta small{margin-top:4px}.library-note{padding-top:18px}.stage-heading{height:78px}.interaction-bar{min-height:75px}.node-editor{height:250px}}@media (width<=1200px){.brand small,.brand-divider{display:none}.topbar{gap:10px;padding:0 16px}.topbar nav{gap:0}.topbar nav button{padding:0 10px;font-size:10px}.library{width:180px;padding:20px 13px 12px}.inspector{width:253px}.parameter-scroll{padding:0 15px}.parameter-tooltip{right:270px}.tool-label small{display:none}.tool-label span{max-width:65px;line-height:1.6}.tools{gap:3px}.tools button{width:34px}.interaction-bar{padding:12px}.stage-heading{padding:20px}.unsaved{display:none}.transport{gap:10px;padding:0 13px}.transport-end>span{display:none}.top-actions{gap:0}.top-actions>button{padding:8px}.show-button kbd{display:none}}@media (width<=980px){.library{width:150px}.library h2{font-size:14px}.panel-eyebrow{font-size:7px}.panel-eyebrow span{display:none}.inspector{width:235px}.top-actions>button:not(.show-button){gap:0;font-size:0}.topbar nav button{padding:0 8px;font-size:9px}.brand{font-size:22px}.brand-mark{width:34px;height:34px}.stage-top-right,.tool-label{display:none}.tools{flex:1;justify-content:space-between}.parameter-tooltip{width:245px;right:250px}.interaction-bar{gap:4px}.clear-fields{padding-left:8px}.stage-hint{font-size:9px}.recovery{left:170px}.stage-bottom-right{font-size:6px;right:12px}}@media (width<=760px){.app{height:auto;min-height:100dvh;overflow:visible}.topbar{flex-wrap:wrap;gap:12px;height:auto;min-height:65px;padding:12px}.brand{order:0}.top-actions{order:1;margin-left:auto}.topbar nav{order:2;justify-content:center;width:100%;height:36px}.topbar nav button{flex:1;font-size:10px}.workspace{flex-direction:column}.library{display:none}.main{flex:none;height:640px}.stage{min-height:340px}.stage-heading{height:76px}.inspector{border-left:0;border-top:1px solid var(--line);width:100%;max-height:700px}.inspector-head{padding:18px 20px 10px}.parameter-scroll{padding:0 24px}.inspector-tabs{margin:0 24px}.parameter-tooltip{width:auto;max-width:400px;inset:auto 20px 80px}.statusbar{position:relative}.statusbar>span:nth-child(2){display:none}.interaction-bar{min-height:72px;padding:10px 20px}.tools button{width:40px}.stage-bottom-right{font-size:8px}.mode-nodes .main{height:900px}.node-editor{height:300px}.recovery{bottom:15px;left:15px;right:15px}.recovery>svg{display:none}.guide-modal{padding:25px}.guide-modal h1{font-size:27px}.guide-grid{grid-template-columns:1fr;gap:18px}.modal-backdrop{padding:14px}.show-mode{height:100dvh;min-height:0;overflow:hidden}.show-mode .main{height:100dvh}.show-mode .stage{min-height:0}.stage-hint{bottom:65px}.code-editor{min-height:400px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.show-exit{z-index:60;opacity:0;color:#d8c6ef;background:#201828cc;border:1px solid #69527955;border-radius:6px;padding:12px;transition:opacity .2s;position:fixed;top:20px;right:20px}.show-exit:hover,.show-exit:focus-visible{opacity:1}.show-exit span{font-size:10px}@media (hover:none){.show-exit{opacity:.35}.show-exit span{display:none}}:root{--accent:#c4d8c9;--panel:#101313;--line:#252b29;--muted:#89918d}.topbar{background:#0e1110}.brand small{letter-spacing:.15em;font-size:8px}.topbar nav button{padding-left:12px;padding-right:12px;font-size:11px}.library{background:linear-gradient(#131716,#0d1010)}.library h2{letter-spacing:-.035em;font-family:Georgia,serif;font-size:29px;font-weight:400}.library .intro{color:#89938e;line-height:1.6}.specimen{background:#090c0d;border:1px solid #26312b;border-radius:10px;transition:border-color .18s,background .18s;overflow:hidden}.specimen:hover{background:#151c18;border-color:#71877a}.specimen-image{aspect-ratio:240/190;width:100%;color:var(--muted);place-items:center;font-size:10px;display:grid;overflow:hidden}.specimen-image img{object-fit:cover;width:100%;height:100%}.specimen .preset-meta{padding:11px 12px 13px}.specimen .preset-meta b{font-size:12px;font-weight:500}.specimen .preset-meta small{letter-spacing:.12em;color:#8b9a90;font-size:8px}.collection-heading{letter-spacing:.1em;justify-content:space-between;align-items:center;margin:25px 0 12px;font-size:9px;display:flex}.collection-heading button{color:var(--accent);padding:5px}.empty-collection{color:var(--muted);font-size:11px;line-height:1.7}.saved-specimen{border-bottom:1px solid var(--line);padding:8px 0;display:flex}.saved-specimen>button:first-child{text-align:left;flex:1;justify-content:flex-start;min-width:0}.saved-specimen img{object-fit:cover;border-radius:5px;width:48px;height:48px}.saved-specimen span{text-overflow:ellipsis;overflow:hidden}.saved-specimen small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.material-identity{border-bottom:1px solid var(--line);background:#ffffff02;padding:18px 18px 8px}.material-identity p{color:var(--muted);font-size:10px;line-height:1.65}.material-select{color:#a4aea8;flex-direction:column;gap:7px;margin:14px 0;font-size:10px;display:flex}.material-select select{color:#e4ece7;background:#19201c;border:1px solid #354039;border-radius:6px;width:100%;padding:9px}.stage{background:#030507}.project-title input{letter-spacing:-.035em;font-weight:400}.inspector{background:#101413}.inspector-head{color:#a4b2a9;letter-spacing:.16em}@media (width>=1350px){.brand small{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.species-toggle{color:var(--accent);align-items:center;gap:8px;font-size:11px;display:flex}.species-note{color:var(--muted);font-size:10px;line-height:1.7}.pair-matrix{text-align:center;grid-template-columns:1fr repeat(3,1fr);align-items:center;gap:5px;margin:14px 0 20px;font-size:10px;display:grid}.pair-matrix input{color:#d7e8dc;background:#1b221f;border:1px solid #364239;border-radius:4px;width:100%;min-width:0;padding:6px 3px}.pair-matrix b{color:var(--accent);font-weight:500}.object-editor{border-bottom:1px solid var(--line);padding:18px 16px}.object-editor-title h2{margin:12px 0;font-family:Georgia,serif;font-size:23px;font-weight:400}.object-editor-title p,.mesh-formats{color:var(--muted);font-size:10px;line-height:1.7}.object-editor .primary-button{width:100%;margin:12px 0 0}.object-editor .eyebrow{letter-spacing:.1em;font-size:8px}.mesh-message{color:#efc99b;background:#57392240;border:1px solid #87604466;border-radius:5px;padding:10px;font-size:11px;line-height:1.6}.object-row{background:#171e1a;border:1px solid #303b34;border-radius:6px;min-width:0;margin-top:8px;display:flex}.object-row.selected{background:#202c25;border-color:#a3c8ac}.object-row>button:first-child{text-align:left;flex:1;justify-content:flex-start;min-width:0;padding:10px 8px}.object-row span{text-overflow:ellipsis;font-size:11px;overflow:hidden}.object-row small{color:var(--muted);margin-top:5px;font-size:8px;display:block}.object-row i{border-radius:3px;flex-shrink:0;width:7px;height:22px}.object-properties{border:0;min-width:0;margin:0;padding:4px 0}.object-properties :not(.control-label)>input:not([type=range]):not([type=color]){color:#d8e5dc;background:#171d19;border:1px solid #38463c;border-radius:4px;width:100%;min-width:0;padding:7px}.object-color{justify-content:space-between;align-items:center;margin:15px 0;font-size:11px;display:flex}.object-color input{background:0 0;border:1px solid #485d4d;width:40px;height:26px;padding:2px}.object-transform{margin:18px 0}.object-transform>span{color:#a6b9ab;font-size:10px}.object-transform>div{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:8px;display:grid}.object-transform label{color:#839a8a;font-size:9px}.object-transform input{margin-top:5px}.object-actions{gap:6px;margin:20px 0;display:flex}.object-actions button,.object-undo{border:1px solid #3c4b40;border-radius:4px;padding:8px;font-size:10px}.object-undo{margin:12px 16px}.object-empty{margin-top:24px}.object-empty span{color:#bbd8c5;letter-spacing:.12em;font-size:9px}.object-empty p{color:var(--muted);margin:8px 0 18px;font-size:11px;line-height:1.7}.mesh-stage-empty{pointer-events:none;text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.mesh-stage-empty>span{letter-spacing:.2em;color:#7d9c88;font-size:9px}.mesh-stage-empty h2{color:#d3e3d9;margin:15px 0;font-family:Georgia,serif;font-size:34px;font-weight:400}.mesh-stage-empty p{color:#879b8e;font-size:12px;line-height:1.8}.mode-glass .palette-section{display:none}.primitive-actions{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:16px;display:grid}.shape-options{background:#17141d;border:1px solid #2a2434;border-radius:8px;gap:8px;margin:10px 0 14px;padding:12px;display:grid}.shape-options label>span{letter-spacing:.09em;text-transform:uppercase;color:#8d84a0;margin-bottom:5px;font-size:10px;display:block}.shape-options select{width:100%}.shape-hollow{align-items:center;gap:8px;display:flex}.shape-hollow>span{margin:0}.shape-hollow input{width:auto}.primitive-actions button{padding:11px 6px;font-size:11px}.finish-eyebrow{color:#bed5c9;letter-spacing:.12em;margin:18px 0 0;font-size:9px;display:block}.glass-finishes{grid-template-columns:repeat(4,1fr);gap:6px}.glass-finishes button{letter-spacing:.04em;padding:9px 2px;font-size:10px}.layer-designer,.family-designer{border-top:1px solid #ffffff16;margin-top:22px;padding-top:18px}.layer-designer .eyebrow,.family-designer .eyebrow{color:#bed5c9;letter-spacing:.12em;margin:18px 0 10px;font-size:9px;display:block}.family-designer p{color:#969f9d;font-size:11px;line-height:1.7}.material-review{color:#cbb695;background:#b59b720c;border-left:2px solid #b59b72;padding:12px;font-size:11px;line-height:1.65}.material-identity>.primary-button{width:100%;margin-top:12px;padding:12px}.saves-modal{background:var(--panel);border:1px solid var(--line);border-radius:8px;min-width:320px;max-width:440px;max-height:70vh;padding:22px 24px 18px;overflow:auto}.saves-modal h3{margin:4px 0 14px;font-size:17px;font-weight:500}.saves-modal ul{gap:4px;margin:0 0 14px;padding:0;list-style:none;display:grid}.saves-modal li button{text-align:left;border:1px solid var(--line);color:#d3dcd6;background:#00000030;border-radius:5px;width:100%;padding:9px 11px;font-size:12px}.saves-modal li button:hover{border-color:var(--accent);color:#fff}.saves-elsewhere{color:var(--muted);padding:6px 0 0;font-size:10px}.saves-elsewhere:hover{color:var(--accent)}.shader-error{border-radius:4px;margin:0;animation:.18s shader-error-in}@keyframes shader-error-in{0%{opacity:0;transform:translateY(-2px)}}.family-code-note button{border:1px solid var(--line);color:#d3dcd6;background:#00000030;border-radius:4px;margin-top:8px;padding:6px 10px;font-size:10px;display:block}.family-code-note button:hover{border-color:var(--accent);color:#fff}.family-actions{flex-wrap:wrap;gap:6px;margin:10px 0 0;display:flex}.family-actions button{border:1px solid var(--line);color:#cfd9d2;background:#00000030;border-radius:4px;flex:auto;padding:7px 10px;font-size:10px}.family-actions button:hover{border-color:var(--accent);color:#fff}.family-identity{gap:6px;margin-top:8px;display:flex}.family-identity input{color:#d8e5dc;background:#171d19;border:1px solid #38463c;border-radius:4px;flex:1;min-width:0;padding:7px;font-size:11px}.family-identity button{width:28px;color:var(--muted);background:0 0;border:1px solid #38463c;border-radius:4px}.family-identity button:hover{color:#ef9fba;border-color:#7a3350}.code-editor{background:#0b0a10;border:1px solid #30263b;border-radius:4px;flex:1;min-height:310px;transition:border-color .18s,box-shadow .18s;display:flex;overflow:hidden}.code-editor.is-invalid{border-color:#7a3350;box-shadow:inset 0 0 0 1px #7a335055}.code-editor:focus-within{border-color:#4a3c5c}.code-editor.is-invalid:focus-within{border-color:#9c4467}.code-editor .code-back,.code-editor .code-front,.code-editor .code-gutter{tab-size:2;border:0;margin:0;padding:12px 0;font:10px/1.7 ui-monospace,monospace}.code-gutter{text-align:right;color:#3f3850;-webkit-user-select:none;user-select:none;background:#08070c;border-right:1px solid #221c2c;flex-direction:column;padding-left:10px;padding-right:8px;display:flex;overflow:hidden}.code-gutter .at-error{color:#ef9fba}.code-layers{flex:1;min-width:0;position:relative}.code-editor .code-back,.code-editor .code-front{white-space:pre;overflow-wrap:normal;padding-left:10px;padding-right:10px;position:absolute;inset:0;overflow:auto}.code-editor .code-back{pointer-events:none;color:#cbbcdf}.code-editor .code-front{color:#0000;caret-color:#c2aedf;resize:none;background:0 0;outline:none}.code-front::selection{background:#6a53a055}.t-num{color:#e0b088}.code-editor .code-back .t-num{pointer-events:auto}.code-editor.is-scrubbable .code-front,.code-editor.is-scrubbable .code-back .t-num{cursor:ew-resize}.t-uni{color:#82c6bb}.t-key,.t-pre{color:#b49ae0}.t-type{color:#8fa6df}.t-fn{color:#d3c9e6}.t-comment{color:#5d5570;font-style:italic}.t-decl{color:#7fae94;font-style:normal}.t-punc,.t-id{color:#cbbcdf}.code-back .on-error{background:#5c294433}body.is-scrubbing,body.is-scrubbing *{cursor:ew-resize!important;-webkit-user-select:none!important;user-select:none!important}.family-library{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.family-library button{color:var(--muted);background:0 0;border:1px dashed #38463c;border-radius:4px;padding:6px 9px;font-size:10px}.family-library button:hover{border-style:solid;border-color:var(--accent);color:#fff}.saved-picker{border:1px solid var(--line);background:#00000030;border-radius:5px;gap:4px;margin:8px 0 0;padding:8px;display:grid}.saved-picker button{text-align:left;color:#d3dcd6;background:0 0;border:1px solid #ffffff10;border-radius:4px;padding:7px 9px;font-size:11px}.saved-picker button:hover{border-color:var(--accent);color:#fff}.saved-picker .saves-elsewhere{border:0;padding-top:4px}.field-list>div{flex-wrap:wrap}.field-position{gap:10px;width:100%;margin-top:6px;display:flex}.field-list .field-position label{color:#7d7188;justify-content:flex-start;gap:5px}.field-position input{width:100%;min-width:0}.field-list .field-axis{white-space:nowrap;color:#7d7188;flex:none;justify-content:flex-start;gap:8px;width:100%;margin-top:6px}.field-axis select{color:inherit;background:#211a2a;border:1px solid #45344f;border-radius:2px;padding:3px;font:9px monospace}
