:root{color-scheme:dark;--background: #090b0d;--background-deep: #050607;--panel: rgba(18, 22, 25, .94);--panel-solid: #121619;--panel-raised: #1a2024;--panel-hover: #232a2f;--line: rgba(210, 222, 211, .12);--line-strong: rgba(210, 222, 211, .24);--text: #eef1e8;--muted: #8e9992;--faint: #59635e;--accent: #d8ff73;--accent-soft: rgba(216, 255, 115, .13);--selection: #a8d950;--signal: #efb85d;--danger: #f17b6f;--shadow: rgba(0, 0, 0, .46);--graph-width: 540px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden}body{background:var(--background);color:var(--text);font-size:13px;line-height:1.4}button,input,select{color:inherit;font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:default;opacity:.38}button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-shell{display:grid;grid-template-rows:54px minmax(0,1fr);width:100%;height:100%;background:var(--background)}.app-header{z-index:40;display:grid;grid-template-columns:190px minmax(160px,1fr) auto;align-items:center;gap:18px;padding:0 14px;border-bottom:1px solid var(--line);background:#0b0e10f5;box-shadow:0 5px 24px #0003;backdrop-filter:blur(18px) saturate(125%)}.brand,.history-actions,.output-actions,.preview-control,.panel-heading,.build-info{display:flex;align-items:center}.brand{gap:10px;color:#f4f7ec;font-size:14px;letter-spacing:.04em}.brand-mark{position:relative;width:28px;height:28px;overflow:hidden;border:1px solid rgba(216,255,115,.55);border-radius:50%;background:repeating-conic-gradient(from 2deg,transparent 0deg 4deg,var(--accent) 4deg 5deg),#101610;box-shadow:inset 0 0 0 5px #05070694,0 0 22px #d8ff7326}.brand-mark:after{position:absolute;inset:8px;border:1px solid rgba(216,255,115,.7);border-radius:50%;content:""}.project-name{justify-self:center;min-width:180px;max-width:min(440px,100%);padding:7px 12px;border:1px solid transparent;border-radius:7px;outline:none;background:transparent;color:var(--text);font-weight:560;text-align:center;text-overflow:ellipsis}.project-name:hover,.project-name:focus{border-color:var(--line-strong);background:#ffffff09}.history-actions{justify-content:flex-end;gap:6px;min-width:0}.output-actions{gap:6px;margin-left:3px;padding-left:9px;border-left:1px solid var(--line)}.preview-control{gap:5px;color:var(--muted);font-size:9px}.button{min-height:30px;padding:4px 11px;border:1px solid var(--line);border-radius:7px;background:#ffffff09;color:#d5dbd3;font-size:11px;font-weight:560;transition:border-color .11s ease,background .11s ease,color .11s ease,transform .11s ease}.button:not(:disabled):hover{border-color:var(--line-strong);background:var(--panel-hover);color:#fff}.button:not(:disabled):active{transform:translateY(1px)}.save-state{min-width:54px;color:var(--faint);font-size:10px;text-align:right}.save-state.dirty{color:var(--accent)}.file-input{display:none}.file-message{max-width:220px;overflow:hidden;color:var(--muted);font-size:9px;text-overflow:ellipsis;white-space:nowrap}.workspace,.primary-workspace{width:100%;height:100%;min-width:0;min-height:0}.workspace{position:relative;overflow:hidden}.primary-workspace{display:grid;grid-template:"graph divider stage" minmax(0,1fr) "transport transport transport" 46px "status status status" 30px / var(--graph-width) 7px minmax(0,1fr);overflow:hidden}.stage{grid-area:stage;position:relative;isolation:isolate;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(circle at 50% 40%,rgba(92,112,100,.14),transparent 42%),linear-gradient(145deg,#0b0e10,var(--background-deep))}.stage:before{position:absolute;z-index:1;inset:0;background-image:radial-gradient(circle,rgba(216,255,115,.12) .75px,transparent .8px);background-size:22px 22px;content:"";opacity:.28;pointer-events:none}.stage-canvas{position:absolute;z-index:0;inset:0;display:block;width:100%;height:100%;min-width:0;min-height:0}.preview-control select,.transport-duration input,.transport-select{min-width:0;padding:4px 6px;border:1px solid var(--line);border-radius:5px;outline:none;background:var(--panel-raised);font-size:9px}.transport{display:grid;grid-template-columns:28px 28px 48px minmax(100px,1fr) 70px 58px 92px;align-items:center;gap:7px;min-width:0}.transport .transport-icon-button{display:grid;place-items:center;width:28px;min-height:27px;padding:0}.transport input{min-width:0;accent-color:var(--accent)}.transport>input[type=range]{height:3px}.transport-duration{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px;min-width:0}.transport-duration input,.transport-select{width:100%}.transport-current,.transport-duration span{color:var(--muted);font:9px ui-monospace,SFMono-Regular,Consolas,monospace;text-align:right}.transport-icon{position:relative;display:block;width:11px;height:11px}.transport-icon.play{width:0;height:0;margin-left:2px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid currentColor}.transport-icon.pause:before,.transport-icon.pause:after{position:absolute;top:0;bottom:0;width:3px;border-radius:1px;background:currentColor;content:""}.transport-icon.pause:before{left:1px}.transport-icon.pause:after{right:1px}.transport-icon.stop{width:9px;height:9px;border-radius:1px;background:currentColor}.workspace-divider{grid-area:divider;position:relative;z-index:22;min-width:7px;border-right:1px solid var(--line);border-left:1px solid var(--line);outline:none;background:#101417;cursor:col-resize;touch-action:none}.workspace-divider:after{position:absolute;top:50%;left:50%;width:2px;height:42px;border-radius:999px;background:var(--line-strong);content:"";transform:translate(-50%,-50%);transition:height .12s ease,background .12s ease}.workspace-divider:hover:after,.workspace-divider:focus-visible:after,.workspace-divider:active:after{height:64px;background:var(--accent)}.graph-panel{grid-area:graph;display:grid;grid-template-rows:52px minmax(0,1fr);min-width:0;min-height:0;overflow:hidden;background:var(--panel-solid)}.panel-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;min-width:0;padding:0 13px;border-bottom:1px solid var(--line);background:#0f1215e0;color:var(--muted);font-size:10px}.graph-toolbar{display:flex;align-items:center;gap:7px}.graph-toolbar button,.graph-toolbar select{padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#ffffff09;color:var(--muted);font-size:9px;text-transform:none}.graph-toolbar button:hover,.graph-toolbar select:hover{border-color:var(--line-strong);color:var(--text)}.graph-add select{max-width:124px}.graph-zoom select{min-width:62px}.graph-canvas{position:relative;min-width:0;min-height:0;overflow:hidden;background-color:#0e1214;background-image:linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px),radial-gradient(circle,rgba(216,255,115,.16) .8px,transparent .9px);background-position:-1px -1px,-1px -1px,9px 9px;background-size:100px 100px,100px 100px,20px 20px;touch-action:none}.graph-viewport{position:absolute;inset:0;transform-origin:0 0;pointer-events:none}.wire-layer{position:absolute;top:0;left:0;width:1800px;height:1000px;overflow:visible;pointer-events:none}.graph-wire,.graph-wire-hit{fill:none}.graph-wire{stroke:#6f8477;stroke-width:1.6px}.graph-wire-hit{stroke:transparent;stroke-width:12px;pointer-events:stroke;cursor:pointer}.graph-wire-hit:hover+.graph-wire,.graph-wire:hover{stroke:var(--accent)}.graph-card{position:absolute;display:grid;gap:3px;width:168px;min-height:92px;padding:11px;border:1px solid var(--line-strong);border-radius:9px;outline:none;background:linear-gradient(160deg,#1b2225,#14191c);box-shadow:0 12px 28px #00000061;text-align:left;user-select:none;pointer-events:auto}.graph-card:before{position:absolute;top:0;right:10px;left:10px;height:1px;background:linear-gradient(90deg,transparent,rgba(216,255,115,.3),transparent);content:""}.graph-card.selected,.graph-card:focus{border-color:var(--selection);box-shadow:0 0 0 1px #a8d95059,0 0 28px #a8d95017,0 12px 28px #0000006b}.graph-card.hovered{background:linear-gradient(160deg,#222b2f,#181e21)}.graph-card>strong{padding-right:20px;color:#f0f3ea;font-size:12px;font-weight:650}.graph-card-mode{position:absolute;top:8px;right:8px;width:22px;height:20px;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:5px;outline:none;appearance:none;background:linear-gradient(45deg,transparent 50%,var(--muted) 50%) calc(50% - 2px) 50% / 4px 4px no-repeat,linear-gradient(135deg,var(--muted) 50%,transparent 50%) calc(50% + 2px) 50% / 4px 4px no-repeat,var(--panel-raised);color:transparent;font-size:0;cursor:pointer}.graph-card-mode option{color:var(--text);font-size:11px}.graph-card-mode:hover,.graph-card-mode:focus-visible{border-color:var(--accent)}.graph-card-category,.graph-card-id,.graph-port-label,.property-kicker{color:var(--muted);font-size:8px;letter-spacing:.09em;text-transform:uppercase}.graph-card-category{color:var(--accent)}.graph-card-id{color:var(--faint);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;letter-spacing:0;text-transform:none}.graph-card-ports{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin:8px -16px -3px}.graph-port-column{display:grid;align-content:start;gap:4px}.graph-port-row{display:flex;align-items:center;gap:6px;min-width:0;min-height:16px;padding:0;border:0;outline:none;background:transparent;text-align:left}.graph-port-row.output{flex-direction:row-reverse;text-align:right}.graph-port{flex:0 0 auto;width:9px;height:9px;border:1px solid #67736d;border-radius:50%;background:#131719;box-shadow:0 0 0 3px #171d20}.graph-port-row:hover .graph-port,.graph-port-row:focus .graph-port,.graph-port-row.pending .graph-port{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 3px #171d20,0 0 11px #d8ff73b8}.graph-port-row.connected .graph-port{border-color:var(--selection);background:var(--selection)}.graph-port-label{min-width:0;overflow:hidden;color:#89948e;letter-spacing:.03em;text-overflow:ellipsis;text-transform:none;white-space:nowrap}.graph-message{position:absolute;bottom:9px;left:11px;max-width:calc(100% - 22px);padding:4px 8px;border:1px solid var(--line);border-radius:6px;background:#0a0c0ec2;color:var(--muted);font-size:9px;pointer-events:none}.render-status{display:flex;align-items:center;gap:8px;min-width:0;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Consolas,monospace}.animation-toolbar{grid-area:transport;display:grid;grid-template-columns:minmax(0,760px);align-items:center;justify-content:center;min-width:0;padding:0 13px;border-top:1px solid var(--line);background:#0f1215f5}.workspace-status{grid-area:status;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;min-width:0;padding:0 13px;border-top:1px solid var(--line);background:#101417}.authored-status{display:flex;align-items:center;justify-content:flex-end;gap:7px;color:var(--faint);font:9px ui-monospace,SFMono-Regular,Consolas,monospace;white-space:nowrap}.render-status strong{flex:0 0 auto;color:var(--text);font-weight:650}.render-status.ready strong{color:var(--accent)}.render-status.error strong{color:var(--danger)}.render-status span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-context-menu{position:absolute;z-index:24;display:grid;min-width:160px;padding:5px;border:1px solid var(--line-strong);border-radius:8px;background:#121619f7;box-shadow:0 18px 44px var(--shadow);backdrop-filter:blur(16px)}.graph-context-menu button{display:flex;justify-content:space-between;gap:18px;padding:7px 9px;border-radius:5px;background:transparent;color:var(--text);font-size:10px;text-align:left}.graph-context-menu button:not(:disabled):hover{background:var(--panel-hover)}.graph-context-menu kbd{color:var(--muted);font-size:9px}.properties-panel{position:absolute;z-index:30;top:16px;right:16px;display:flex;flex-direction:column;width:min(342px,calc(100% - 32px));max-height:calc(100% - 32px);min-height:0;overflow:hidden;border:1px solid var(--line-strong);border-radius:13px;background:var(--panel);box-shadow:0 20px 58px var(--shadow);backdrop-filter:blur(22px) saturate(125%)}.properties-heading{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-height:58px;padding:10px 12px 9px 15px;border-bottom:1px solid var(--line);background:#ffffff05}.properties-heading h2{margin:2px 0 0;overflow:hidden;color:#f2f5ed;font-size:15px;font-weight:650;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap}.property-kicker{color:var(--accent)}.properties-close{display:grid;place-items:center;width:28px;height:28px;border:1px solid transparent;border-radius:7px;background:transparent;color:var(--muted);font-size:12px}.properties-close:hover{border-color:var(--line);background:var(--panel-hover);color:var(--text)}.property-stack{min-height:0;padding:14px 15px 16px;overflow:auto;overscroll-behavior:contain}.property-stack::-webkit-scrollbar{width:8px}.property-stack::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:var(--line-strong);background-clip:padding-box}.node-preview{position:relative;width:100%;aspect-ratio:2 / 1;margin-bottom:13px;overflow:hidden;border:1px solid var(--line);border-radius:9px;background:repeating-radial-gradient(circle at 48% 52%,#0d1110 0 2px,#dbe8b0 2px 3px),#0d1110;box-shadow:inset 0 0 36px #0000005c}.node-preview:before{position:absolute;z-index:1;inset:0;border:1px solid rgba(255,255,255,.04);border-radius:inherit;content:"";pointer-events:none}.node-preview.disc-transform{background:radial-gradient(circle at 50% 50%,transparent 0 var(--preview-radius),var(--line-strong) calc(var(--preview-radius) + 1%),transparent calc(var(--preview-radius) + 2%)),repeating-conic-gradient(from 4deg,#19222b 0deg 1deg,#bac790 1deg 4deg)}.node-preview.disc-transform:after{position:absolute;z-index:2;top:var(--preview-pivot-y);left:var(--preview-pivot-x);width:8px;height:8px;border:1px solid var(--accent);border-radius:50%;background:#080a0ab8;box-shadow:0 0 10px #d8ff7380;content:"";transform:translate(-50%,-50%)}.node-preview.optical-composite{background:repeating-conic-gradient(from 2deg at 45% 50%,transparent 0deg 2deg,#22303a 2deg 4deg),repeating-conic-gradient(from -1deg at 55% 50%,transparent 0deg 2.2deg,#463026 2.2deg 4.3deg),#d8d1bf}.node-preview.output,.node-preview.unavailable{display:none}.property-presets{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 13px}.property-presets:empty{display:none}.property-presets button{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#ffffff09;color:var(--muted);font-size:9px}.property-presets button:hover{border-color:var(--selection);color:var(--text)}.property-group,.scalar-targets,.output-controls,.property-summary{margin:0;padding:12px 0 2px;border-top:1px solid var(--line)}.property-group+.property-group{margin-top:7px}.property-group h3,.scalar-targets h3,.output-controls h3{margin:0 0 7px;color:#afb8b1;font-size:9px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.property-control{display:grid;grid-template-columns:minmax(0,1fr) 104px 34px;align-items:center;gap:7px;min-height:34px;color:var(--muted);font-size:10px}.property-control input,.property-control select{width:100%;min-width:0;min-height:27px;padding:4px 6px;border:1px solid var(--line);border-radius:6px;outline:none;background:#07090ab8}.property-control input:hover,.property-control select:hover{border-color:var(--line-strong)}.property-control input:focus,.property-control select:focus{border-color:var(--selection)}.property-control input[type=checkbox]{justify-self:end;width:16px;min-height:auto;accent-color:var(--accent)}.property-control input[type=color]{height:27px;padding:2px}.property-control small{color:var(--faint);font-size:8px}.property-control .parameter-link{grid-column:2 / -1;padding-bottom:5px;color:var(--signal)}.scalar-targets,.output-controls,.property-summary{margin-top:12px}.scalar-targets p,.scalar-targets ul{margin:0;color:var(--muted);font-size:9px}.scalar-targets ul{display:grid;gap:7px;padding:0;list-style:none}.scalar-targets li{display:grid;gap:2px}.scalar-targets code{color:var(--text);font-size:9px}.property-summary{display:grid;gap:7px;padding-bottom:0}.property-summary div{display:grid;grid-template-columns:54px minmax(0,1fr);gap:8px}.property-summary dt{color:var(--faint);font-size:9px}.property-summary dd{min-width:0;margin:0;overflow:hidden;color:var(--muted);font:9px ui-monospace,SFMono-Regular,Consolas,monospace;text-overflow:ellipsis}.build-info{flex:0 0 31px;justify-content:flex-end;gap:7px;padding:0 13px;border-top:1px solid var(--line);color:var(--faint);font:8px ui-monospace,SFMono-Regular,Consolas,monospace}@media(max-width:1000px){.app-header{grid-template-columns:145px minmax(120px,1fr) auto;gap:10px}.file-message{display:none}}@media(max-width:720px){.app-header{grid-template-columns:auto minmax(100px,1fr) auto;padding:0 9px}.brand strong,.save-state,.output-actions,.history-actions .button:nth-of-type(n+3){display:none}.brand{gap:0}.project-name{min-width:0;width:100%}.properties-panel{top:12px;right:12px;width:min(310px,calc(100% - 24px));max-height:calc(100% - 24px)}.transport{grid-template-columns:28px 28px 42px minmax(60px,1fr) 54px}.transport-duration,.transport-select:not(.timescale){display:none}}@media(max-height:620px){.primary-workspace{grid-template-rows:minmax(0,1fr) 42px 30px}}
