:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg-app:#eceef2;--bg-panel:#f6f7f9;--bg-canvas:#d9dce3;--bg-input:#fff;--bg-hover:#0000000f;--bg-active:#0000001f;--fg:#1c1f24;--fg-muted:#5c636e;--fg-faint:#8b93a0;--border:#c6cad2;--border-strong:#a8aeb9;--grid-fine:#00000012;--grid-coarse:#00000024;--watermark:#00000029;--node-body:#fbfbfd;--node-border:#b3b9c4;--node-shadow:0 2px 6px #00000024;--pin-slot:16px;--pin-pad:6px;--node-stroke:1px;--pin-lane:10px;--exec-width:calc(var(--pin-slot) * .866);--exec-gap:5px;--exec-shrink:.433;--node-radius:7px;--pin-hollow:var(--node-body);--pin-well:#2a2f37;--comment-fill:.1;--comment-header-alpha:.75;--wire-exec:#5a616d;--accent:#3b6ea5;--danger:#c0392b;--warning:#b8860b;--ok:#2e7d47;--select:#ff9c2e}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-app:#16181d;--bg-panel:#1b1e24;--bg-canvas:#101216;--bg-input:#23272f;--bg-hover:#ffffff12;--bg-active:#ffffff21;--fg:#e4e7ec;--fg-muted:#9aa2af;--fg-faint:#6b7280;--border:#2d323b;--border-strong:#414855;--grid-fine:#ffffff0d;--grid-coarse:#ffffff1a;--watermark:#ffffff24;--node-body:#262a32;--node-border:#3a404b;--node-shadow:0 3px 10px #00000073;--pin-well:#06080b;--comment-fill:.14;--wire-exec:#b9c0cc;--accent:#5b9bd5;--danger:#e06c5a;--warning:#d8a83a;--ok:#5cb87a}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-app);color:var(--fg);-webkit-font-smoothing:antialiased;font:13px/1.45 Segoe UI,system-ui,-apple-system,sans-serif;overflow:hidden}button,input,select,textarea{font:inherit;color:inherit}select option,select optgroup{color:#1c1f24;background-color:#fff}@media (prefers-color-scheme:dark){select option,select optgroup{color:#e4e7ec;background-color:#23272f}}.app{flex-direction:column;height:100%;display:flex}.workspace{flex:1;grid-template-areas:"left split-left centre split-right right""split-bottom split-bottom split-bottom split-bottom split-bottom""bottom bottom bottom bottom bottom";min-width:0;min-height:0;display:grid;position:relative}.dock{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.dock.left{background:var(--bg-panel);overflow:auto}.dock.bottom{max-height:45vh;overflow:auto}.panel{flex-direction:column;min-width:0;min-height:0;display:flex}.dock.left .panel-tree{flex:1}.dock .panel-tree .tree{min-height:0;overflow:auto}.dock.left .panel-variables{flex:0 auto;max-height:60%;overflow:auto}.dock.right .panel,.dock.bottom .panel{flex:1;overflow:hidden}.splitter{background:var(--border);z-index:1;touch-action:none;position:relative}.splitter:hover,.splitter:active{background:var(--accent)}.splitter.col{cursor:col-resize;background-clip:padding-box;border-left:3px solid #0000;border-right:3px solid #0000;margin:0 -3px}.splitter.row{cursor:row-resize;background-clip:padding-box;border-top:3px solid #0000;border-bottom:3px solid #0000;margin:-3px 0}.splitter.left{grid-area:split-left}.splitter.right{grid-area:split-right}.splitter.bottom{grid-area:split-bottom}.centre{flex-direction:column;grid-area:centre;min-width:0;min-height:0;display:flex;position:relative}.centre-body{flex:1;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.floating-tools{z-index:5;pointer-events:none;flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex;position:absolute;top:8px;left:10px;right:10px}.floating-tools .spacer{flex:1}.tool-group{pointer-events:auto;background:color-mix(in srgb, var(--bg-panel) 94%, transparent);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;padding:4px 6px;display:flex;box-shadow:0 4px 14px #00000047}.tool-group .divider{background:var(--border-strong);align-self:stretch;width:1px;margin:3px 2px}.tool-group .doc-name{margin:0 2px 0 4px;font-weight:600}.tool-group .dirty:after{content:"•";color:var(--warning);margin-left:5px}.tool-group .doc-of{color:var(--fg-muted);font-weight:400}.tool-group .doc-dirty{background:var(--warning);border-radius:50%;width:6px;height:6px;margin:0 2px 0 4px}.tool-group select.doc-target.lune{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 60%, transparent)}.workspace.dragging{-webkit-user-select:none;user-select:none;cursor:grabbing}.drop-preview{z-index:30;pointer-events:none;background:color-mix(in srgb, var(--accent) 22%, transparent);border:2px solid var(--accent);position:absolute}.dock h2,.dock .bar,.float-panel h2,.float-panel .bar{cursor:grab}.dock h2:active,.dock .bar:active,.float-panel h2:active,.float-panel .bar:active{cursor:grabbing}.graph-tabs{background:var(--bg-app);border-bottom:1px solid var(--border);flex:none;align-items:stretch;gap:1px;display:flex;overflow:auto hidden}.graph-tab{background:var(--bg-panel);border-right:1px solid var(--border);color:var(--fg-muted);cursor:pointer;white-space:nowrap;align-items:center;gap:6px;max-width:220px;padding:5px 8px 5px 11px;display:flex}.graph-tab:hover{background:var(--bg-hover)}.graph-tab.on{background:var(--bg-canvas);color:var(--fg);box-shadow:inset 0 2px 0 var(--accent)}.graph-tab .name{text-overflow:ellipsis;overflow:hidden}.graph-tab.dirty .name:after{content:"•";color:var(--warning);margin-left:5px}.graph-tab .tab-fn{color:var(--accent);flex:none}.graph-tab .close{color:var(--fg-faint);cursor:pointer;visibility:hidden;background:0 0;border:0;border-radius:3px;padding:0 2px;font-size:13px;line-height:1}.graph-tab:hover .close,.graph-tab.on .close{visibility:visible}.graph-tab .close:hover{background:var(--bg-active);color:var(--danger)}.graph-tabs.reordering .graph-tab{cursor:grabbing}.graph-tab.dragging{opacity:.45}.graph-tab.drop-before,.tab-rest.drop-before{box-shadow:inset 2px 0 0 var(--accent)}.tab-rest{background:var(--bg-app);flex:1 0 44px;align-items:center;padding-left:2px;display:flex}.tab-list{align-items:center;display:flex;position:relative}.tab-list>button{padding:2px 5px;line-height:1}.tab-list-menu{background:var(--bg-panel);border:1px solid var(--border);min-width:220px;max-height:60vh;box-shadow:var(--shadow-menu,0 8px 24px #00000059);border-radius:6px;flex-direction:column;gap:1px;padding:4px;display:flex;position:fixed;overflow-y:auto}.tab-list-item{color:var(--fg-muted);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:4px 8px;display:flex}.tab-list-item:hover{background:var(--bg-hover);color:var(--fg)}.tab-list-item.on{color:var(--fg);background:var(--bg-active)}.tab-list-item .name{text-overflow:ellipsis;flex:1;overflow:hidden}.tab-list-item .dot{background:var(--warning);border-radius:50%;flex:none;width:6px;height:6px}.value-picker{background:var(--bg-panel);border:1px solid var(--border);width:min(1040px,92vw);height:min(660px,84vh);box-shadow:var(--shadow-menu,0 12px 40px #00000073);border-radius:8px;flex-direction:column;justify-self:center;display:flex;overflow:hidden}.value-search{border-bottom:1px solid var(--border);color:var(--fg-faint);flex:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.value-search input{flex:1;min-width:0}.value-list{flex:1;padding:10px 12px;overflow-y:auto}.value-group{break-inside:avoid;margin-bottom:10px}.value-group h3{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);margin:0 0 4px;font-size:11px}.value-options{column-width:210px;column-gap:14px}.value-option{text-align:left;width:100%;color:var(--fg-muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:4px;padding:2px 6px;display:block;overflow:hidden}.value-option.on{background:var(--bg-active);color:var(--fg)}.value-option.current{color:var(--accent)}.value-empty{color:var(--fg-muted);margin:12px 4px}.value-detail{border-top:1px solid var(--border);color:var(--fg-faint);white-space:nowrap;text-overflow:ellipsis;flex:none;padding:7px 12px;font-size:12px;overflow:hidden}.literal.picker{cursor:pointer;text-align:left;justify-content:space-between;align-items:center;gap:4px;display:flex}.literal.picker .preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.float-panel{background:var(--bg-panel);border:1px solid var(--border-strong);z-index:60;border-radius:8px;flex-direction:column;min-width:200px;min-height:140px;display:flex;position:absolute;overflow:hidden;box-shadow:0 12px 32px #0006}.float-panel .float-body h2{-webkit-user-select:none;user-select:none}button.tb.icon-only.float-dock,button.tb.icon-only.panel-float{z-index:2;width:20px;min-width:0;height:20px;padding:0;font-size:12px;line-height:1}.panel,.float-panel{--dock-button-top:6px}.panel-analysis,.float-analysis{--dock-button-top:3px}.float-panel .float-dock{top:var(--dock-button-top);position:absolute;right:8px}.panel .panel-float{top:var(--dock-button-top);margin:var(--dock-button-top) 8px calc(-20px - var(--dock-button-top)) 0;align-self:flex-end;position:sticky}.float-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto}.float-body>.panel{flex:1;min-height:0}.float-size{cursor:nwse-resize;z-index:3;width:16px;height:16px;position:absolute}.float-size:after{content:"";width:8px;height:8px;position:absolute}.float-size.se{bottom:0;right:0}.float-size.se:after{border-right:2px solid var(--border-strong);border-bottom:2px solid var(--border-strong);bottom:3px;right:3px}.float-size.nw{top:0;left:0}.float-size.nw:after{border-left:2px solid var(--border-strong);border-top:2px solid var(--border-strong);top:3px;left:3px}.tb.type-picker{text-align:left;justify-content:space-between;align-items:center;gap:4px;width:100%;min-width:0;display:flex}.tb.type-picker .preview{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.variable-head .badge.const{font-size:9px;font-family:var(--mono,ui-monospace, monospace);color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 55%, transparent);background:color-mix(in srgb, var(--warning) 12%, transparent);border-radius:3px;flex:none;padding:0 4px}.node-picker{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:10px;flex-direction:column;width:min(880px,100%);max-height:72vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000073}.node-picker-field{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.node-picker-field input{min-width:0;color:var(--fg);background:0 0;border:0;outline:none;flex:1;font-size:15px}.node-picker-field .count{color:var(--fg-faint);font-size:11px}.node-picker-body{flex:1;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);min-height:0;display:grid}.node-picker-list{border-right:1px solid var(--border);flex-direction:column;gap:1px;padding:6px;display:flex;overflow:auto}.node-picker-group .head{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);padding:8px 8px 4px;font-size:10px}.node-picker-list .empty{color:var(--fg-faint);padding:12px 8px;font-size:12px}.node-picker-hit{text-align:left;cursor:pointer;width:100%;color:var(--fg-muted);background:0 0;border:0;border-radius:5px;align-items:baseline;gap:8px;padding:5px 8px;font-size:12px;display:flex}.node-picker-hit.on{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--fg)}.node-picker-hit .hint{color:var(--fg-faint);align-self:center;margin-left:auto;font-size:9px}.node-picker-preview{background:var(--bg-canvas,var(--bg-input));flex-direction:column;gap:12px;padding:16px;display:flex;overflow:auto}.node-picker-preview .shot{justify-content:center;align-items:center;min-height:120px;display:flex}.node-picker-preview .name{color:var(--fg);font-size:14px}.node-picker-preview .where{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);font-size:10px}.node-picker-preview .summary{color:var(--fg-muted);margin:6px 0 0;font-size:12px;line-height:1.5}.node-picker-foot{border-top:1px solid var(--border);color:var(--fg-faint);gap:14px;padding:8px 12px;font-size:10px;display:flex}.node-picker-foot kbd{border:1px solid var(--border);border-radius:3px;margin-right:3px;padding:0 4px;font-family:inherit}.node-picker-foot{flex-wrap:wrap}.node-picker-foot-touch{display:none}@media (hover:none) and (pointer:coarse){.node-picker-foot-keys{display:none}.node-picker-foot-touch{display:flex}}.node-picker-spawn{align-self:flex-start}.picker-backdrop.picker-backdrop-dragging{pointer-events:none;opacity:.15;background:0 0}.toolbar{background:var(--bg-panel);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.toolbar .logo{letter-spacing:.04em;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:6px;margin-right:4px;padding:3px 6px;font-family:inherit;font-weight:600;display:inline-flex}.toolbar .logo:hover,.toolbar .logo:focus-visible{background:var(--bg-hover);border-color:var(--border)}.toolbar .logo .version{letter-spacing:0;color:var(--fg-faint);font-variant-numeric:tabular-nums;font-size:10px;font-weight:400}.toolbar .spacer{flex:1}.toolbar .group-label{color:var(--fg-muted);white-space:nowrap;margin-right:-3px;font-size:11px}.docbar{background:var(--bg-app);border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:8px;padding:5px 10px;display:flex}.docbar .spacer{flex:1}.docbar .divider{background:var(--border-strong);align-self:stretch;width:1px;margin:3px}.toolbar .doc-name,.docbar .doc-name{margin-right:2px;font-weight:600}.docbar .doc-kind{color:var(--fg-faint);font-size:11px}.toolbar .dirty:after,.docbar .dirty:after{content:"•";color:var(--warning);margin-left:5px}button.tb,select.tb,input.tb{background:var(--bg-input);border:1px solid var(--border);cursor:pointer;border-radius:5px;padding:4px 9px}button.tb:hover:not(:disabled),select.tb:hover{background:var(--bg-hover);border-color:var(--border-strong)}button.tb:disabled{opacity:.45;cursor:default}button.tb.on{background:color-mix(in srgb, var(--accent) 18%, var(--bg-input));border-color:var(--accent);color:var(--accent)}button.tb.on:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 26%, var(--bg-input));border-color:var(--accent)}button.tb.primary{background:var(--accent);color:#fff;border-color:#0000}button.tb.primary:hover:not(:disabled){filter:brightness(1.1);background:var(--accent)}.segmented{border:1px solid var(--border);border-radius:5px;display:inline-flex;overflow:hidden}.segmented button{background:var(--bg-input);cursor:pointer;border:0;padding:4px 10px}.segmented button.on{background:var(--accent);color:#fff}.dock h2,.float-panel h2{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);background:var(--bg-panel);z-index:1;margin:0;padding:10px 34px 6px 12px;font-size:11px;position:sticky;top:0}.tree{-webkit-user-select:none;user-select:none;flex:1;padding:0 6px 12px}.tree-row{cursor:default;white-space:nowrap;border-radius:4px;align-items:center;gap:6px;padding:3px 6px;display:flex}.tree-row:hover{background:var(--bg-hover)}.tree-row.selected{background:var(--bg-active)}.tree-row.open-doc{box-shadow:inset 2px 0 0 var(--accent)}.tree-row.drop-target{outline:1px dashed var(--accent);outline-offset:-1px}.tree-row .glyph{text-align:center;width:14px;color:var(--fg-faint);flex:none}.tree-row .label{text-overflow:ellipsis;overflow:hidden}.tree-row.readonly .label{color:var(--fg-muted);font-style:italic}.tree-row .badge{color:var(--fg-faint);border:1px solid var(--border);border-radius:3px;margin-left:auto;padding:0 4px;font-size:10px}.canvas{background:var(--bg-canvas);touch-action:none;contain:strict;min-height:0;position:relative;overflow:hidden}.canvas:focus{outline:none}.canvas .grid{pointer-events:none;position:absolute;inset:0}.canvas .world{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.canvas .watermark{letter-spacing:.02em;color:var(--watermark);pointer-events:none;-webkit-user-select:none;user-select:none;text-align:right;font-size:30px;font-weight:700;line-height:1.1;position:absolute;bottom:14px;right:18px}.canvas .watermark small{letter-spacing:.12em;text-transform:uppercase;font-size:12px;font-weight:500;display:block}.canvas .wires{pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0;overflow:visible}.canvas .wires path{fill:none;stroke-linecap:round}.canvas .wires path.hit{stroke:#0000;stroke-width:12px;pointer-events:stroke;cursor:pointer}.canvas .marquee{border:1px solid var(--select);background:color-mix(in srgb, var(--select) 14%, transparent);pointer-events:none;position:absolute}.node{border-radius:var(--node-radius);background:var(--node-body);border:var(--node-stroke) solid var(--node-border);box-shadow:var(--node-shadow);-webkit-user-select:none;user-select:none;position:absolute}.node.selected{border-color:var(--select);box-shadow:0 0 0 2px color-mix(in srgb, var(--select) 55%, transparent), var(--node-shadow)}.node.selected.anchor{box-shadow:0 0 0 4px var(--select), var(--node-shadow)}.node.has-error{border-color:var(--danger)}.node .head{border-radius:max(0px, calc(var(--node-radius) - 1px)) max(0px, calc(var(--node-radius) - 1px)) 0 0;color:#fff;cursor:grab;text-shadow:0 1px 1px #00000059;align-items:center;gap:6px;height:30px;padding:0 9px;font-size:12px;font-weight:600;display:flex;overflow:hidden}.node .head .title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.node .head .marker{opacity:.85;font-size:10px}.node .rows{position:relative}.node .row{align-items:center;height:24px;display:flex;position:relative}.node .row .side{align-items:center;gap:5px;min-width:0;display:flex}.node .row .side.left{padding-left:var(--pin-pad);flex:1}.node .row .side.right{padding-right:var(--pin-pad);min-width:var(--pin-lane);justify-content:flex-end;margin-left:auto}.node .pin{width:var(--pin-slot);height:var(--pin-slot);cursor:crosshair;flex:none;position:relative}.node .row .side .pin{top:calc(-1 * var(--node-stroke));margin:0 calc(var(--pin-lane) - var(--pin-pad) - var(--pin-slot))}.node .row .side.left .pin{left:calc(-1 * (var(--pin-pad) + var(--pin-slot) / 2 + var(--node-stroke)));margin-left:0}.node .row .side.right .pin{left:calc(var(--pin-pad) + var(--pin-slot) / 2 + var(--node-stroke));margin-right:0}.node .row .side.left .pin.exec{left:calc(-1 * (var(--pin-pad) + var(--exec-width) + var(--exec-gap) + var(--node-stroke)))}.node .row .side.right .pin.exec{left:calc(var(--pin-pad) + var(--pin-slot) + var(--exec-gap) + var(--node-stroke))}.node .pin:after{content:"";position:absolute;inset:-3px}.canvas.wiring .node .pin:after{inset:-9px}.node .pin .dot{background:var(--pin-well);box-shadow:0 0 0 1px var(--pin-well);border:2px solid;border-radius:50%;position:absolute;inset:3px}.node .pin.connected .dot{background:currentColor}.node .pin.exec .dot{width:var(--exec-width);clip-path:polygon(0 0,100% 50%,0 100%);background:currentColor;border:0;border-radius:0;position:absolute;inset:0 auto 0 0}.node .pin.exec .dot:after{content:"";inset:calc(var(--pin-slot) / 2 * var(--exec-shrink)) calc(var(--exec-width) * 2 / 3 * var(--exec-shrink)) calc(var(--pin-slot) / 2 * var(--exec-shrink)) calc(var(--exec-width) / 3 * var(--exec-shrink));background:var(--pin-hollow);clip-path:polygon(0 0,100% 50%,0 100%);position:absolute}.node .pin.exec.connected .dot:after{display:none}.node .pin.compatible .dot{box-shadow:0 0 0 1px var(--pin-well), 0 0 0 4px color-mix(in srgb, var(--ok) 45%, transparent)}.node .pin.incompatible{opacity:.3}.node .pin-label{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.node .pin-label.part{color:var(--fg-faint);padding-left:9px;position:relative}.node .pin-label.part:before{content:"";background:var(--border-strong);width:4px;height:1px;position:absolute;top:50%;left:2px}.node .side.right .pin-label.part{padding-left:0;padding-right:9px}.node .side.right .pin-label.part:before{left:auto;right:2px}.node .literal.constant{color:var(--fg-faint);font-family:var(--mono,ui-monospace, monospace);white-space:nowrap;text-overflow:ellipsis;text-align:right;cursor:default;background:0 0;border:1px solid #0000;flex:none;max-width:140px;margin-left:auto;padding:0;font-size:10px;overflow:hidden}.node .row .side.left>.literal,.node .row .side.left>input[type=checkbox]{margin-left:auto}.node.operator .row .side.left>.literal,.node.operator .row .side.left>input[type=checkbox]{margin-left:0}.node .literal.unset{border:1px dashed var(--border-strong);color:var(--fg-faint);cursor:pointer;background:0 0;padding:0 5px;font-size:10px;font-style:italic}.node .literal.unset:hover{border-color:var(--accent);color:var(--fg-muted)}.node .optional-value{align-items:center;gap:2px;min-width:0;display:flex}.node .optional-value .clear{color:var(--fg-faint);cursor:pointer;background:0 0;border:0;padding:0 1px;font-size:12px;line-height:1}.node .optional-value .clear:hover{color:var(--danger)}.node .literal{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;width:70px;min-width:0;padding:1px 4px;font-size:11px}.node .literal.wide{width:92px}.node .literal:focus{outline:1px solid var(--accent)}.node.operator .badge-count,.node.capsule .badge-count{top:-6px;right:-1px}.node .badge-count{background:var(--danger);color:#fff;border-radius:8px;padding:0 5px;font-size:10px;line-height:15px;position:absolute;top:-7px;right:-7px}.node .badge-count.warn{background:var(--warning);color:#1c1f24;text-align:center;min-width:15px;padding:0;font-weight:700}.comment{border:1px solid color-mix(in srgb, var(--comment-color) 65%, transparent);background:color-mix(in srgb, var(--comment-color) calc(var(--comment-fill) * 100%), transparent);-webkit-user-select:none;user-select:none;border-radius:6px;position:absolute}.comment.selected{border-color:var(--select);box-shadow:0 0 0 2px color-mix(in srgb, var(--select) 45%, transparent)}.comment .bar{color:#fff;background:color-mix(in srgb, var(--comment-color) 82%, transparent);cursor:grab;text-shadow:0 1px 1px #0006;white-space:pre-wrap;overflow-wrap:anywhere;border-radius:5px 5px 0 0;align-items:flex-start;min-height:26px;padding:5px 8px;font-size:12px;font-weight:600;line-height:16px;display:flex}.comment .bar textarea{color:#fff;font:inherit;line-height:inherit;resize:none;background:#00000047;border:0;border-radius:3px;width:100%;padding:1px 4px;overflow:hidden}.comment .bar textarea:focus{outline:1px solid #fff}.comment .resize{cursor:nwse-resize;z-index:36;width:16px;height:16px;position:absolute}.comment .resize:after{content:"";width:8px;height:8px;position:absolute}.comment .resize.se{bottom:0;right:0}.comment .resize.se:after{border-right:2px solid color-mix(in srgb, var(--comment-color) 90%, transparent);border-bottom:2px solid color-mix(in srgb, var(--comment-color) 90%, transparent);bottom:3px;right:3px}.comment .resize.nw{top:0;left:0}.comment .resize.nw:after{border-left:2px solid color-mix(in srgb, var(--comment-color) 90%, transparent);border-top:2px solid color-mix(in srgb, var(--comment-color) 90%, transparent);top:3px;left:3px}.menu{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:7px;flex-direction:column;width:280px;max-height:60vh;display:flex;position:fixed;overflow:hidden;box-shadow:0 8px 28px #00000059}.menu-from{border-bottom:1px solid var(--border);background:var(--bg-hover);color:var(--fg-muted);align-items:center;gap:6px;padding:7px 10px;font-size:11px;display:flex}.menu-from .dot{border-radius:50%;flex:none;width:8px;height:8px}.menu input.search{border:0;border-bottom:1px solid var(--border);background:var(--bg-input);outline:none;padding:8px 10px}.menu .items{padding:4px;overflow:auto}.menu .group{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);padding:6px 8px 3px;font-size:10px}.menu .subgroup{color:var(--fg-muted);padding:5px 8px 2px 16px;font-size:11px;font-weight:600}.menu .item{cursor:pointer;border-radius:4px;align-items:baseline;gap:7px;padding:4px 8px;display:flex}.menu .item:hover,.menu .item.active{background:var(--bg-active)}.menu .item.item-unavailable{cursor:default;opacity:.45}.menu .item.item-unavailable:hover{background:0 0}.menu .item .swatch{border-radius:2px;flex:none;width:8px;height:8px}.menu .item .hint{color:var(--fg-faint);align-self:center;margin-left:auto;font-size:10px}.menu .item .hint~.hint,.node-picker-hit .hint~.hint{margin-left:0}.menu .empty{color:var(--fg-faint);text-align:center;padding:12px}.inspector .field-row{align-items:center;gap:6px;min-width:0;display:flex}.inspector .docs-link{color:var(--accent);white-space:nowrap;cursor:pointer;text-decoration:underline}.inspector .check-row{cursor:pointer;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;display:flex}.inspector .check-row input[type=checkbox]{cursor:pointer;flex:none;width:auto;margin:0}.inspector .check-row span{overflow-wrap:anywhere;min-width:0}.inspector .list-row,.inspector .list-row input{min-width:0}.inspector button.type-definition{border:1px solid var(--border);background:var(--bg-input);width:100%;min-height:3.2em;max-height:14em;color:var(--fg);font-family:var(--mono);text-align:left;white-space:pre;cursor:text;border-radius:5px;flex-direction:column;padding:5px 8px;font-size:11px;line-height:1.5;display:flex;overflow:auto}.inspector button.type-definition:hover{border-color:var(--border-strong)}.inspector button.type-definition.bad{border-color:var(--danger)}.inspector button.type-definition .placeholder{color:var(--fg-faint)}.inspector .type-definition-problem{color:var(--danger);margin:4px 0 0;font-size:11px}.tree-section{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-muted);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--bg-hover);border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:center;gap:5px;padding:5px 6px;font-size:10px;display:flex}.tree-section:first-child{border-top:none}.tree-section:hover{color:var(--fg);background:var(--bg-active)}.tree-section .twist{font-size:9px}.tree-section .empty{text-transform:none;letter-spacing:0;opacity:.7;margin-left:auto}.tree-row.target-dir{box-shadow:inset 2px 0 0 var(--accent)}.crash{flex-direction:column;gap:14px;max-width:780px;margin:0 auto;padding:48px 24px;display:flex}.crash h1{margin:0;font-size:20px}.crash p{color:var(--fg-muted);margin:0}.crash-detail{background:var(--bg-panel);border:1px solid var(--border);white-space:pre-wrap;word-break:break-word;border-radius:7px;max-height:40vh;margin:0;padding:12px;font-size:11px;line-height:1.5;overflow:auto}.crash-actions{gap:8px;display:flex}.menu.project-menu{width:260px;max-height:none}.menu.project-menu .current{border-bottom:1px solid var(--border);background:var(--bg-hover);flex-direction:column;gap:1px;padding:8px 10px;display:flex}.menu.project-menu .current .name{font-size:12px;font-weight:600}.menu.project-menu .current .path,.menu.project-menu .item .path{color:var(--fg-faint);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.menu.project-menu .item{align-items:center}.menu.project-menu .item .name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.menu.project-menu .item .forget{color:var(--fg-faint);cursor:pointer;visibility:hidden;background:0 0;border:none;margin-left:auto;padding:0 2px;font-size:13px;line-height:1}.menu.project-menu .item:hover .forget{visibility:visible}.menu.project-menu .item .forget:hover{color:var(--danger)}.menu.pin-menu{width:220px;max-height:none}.menu.pin-menu .pin-head{border-bottom:1px solid var(--border);background:var(--bg-input);align-items:center;gap:7px;padding:7px 10px;display:flex}.menu.pin-menu .pin-head .swatch{border-radius:50%;flex:none;width:9px;height:9px}.menu.pin-menu .pin-head .swatch.exec{clip-path:polygon(0 0,100% 50%,0 100%);border-radius:0;width:8px}.menu.pin-menu .pin-head .name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.menu.pin-menu .pin-head .type{color:var(--fg-faint);white-space:nowrap;margin-left:auto;font-size:10px}.menu.pin-menu .empty{text-align:left;padding:10px;font-size:11px}.status{border-top:1px solid var(--border);background:var(--bg-panel);flex-direction:column;max-height:190px;display:flex}.status .bar{cursor:pointer;align-items:center;gap:10px;padding:4px 34px 4px 10px;font-size:12px;display:flex}.status .bar .count{align-items:center;gap:4px;display:inline-flex}.status .list{border-top:1px solid var(--border);padding:4px 0;overflow:auto}.status .entry{cursor:pointer;gap:8px;padding:3px 12px;display:flex}.status .entry:hover{background:var(--bg-hover)}.status .entry .sev{flex:none;width:62px;font-weight:600}.status .entry.error .sev{color:var(--danger)}.status .entry.warning .sev{color:var(--warning)}.status .entry .where{color:var(--fg-faint);white-space:nowrap;margin-left:auto}.placeholder{text-align:center;color:var(--fg-muted);place-content:center;gap:10px;padding:40px;display:grid}.placeholder h1{color:var(--fg);margin:0;font-size:22px}.placeholder h1.logo{justify-content:center;align-items:center;gap:10px;display:inline-flex}.placeholder code{background:var(--bg-input);border:1px solid var(--border);border-radius:4px;padding:1px 5px}.placeholder .row{justify-content:center;gap:8px;display:flex}.placeholder.shell{place-content:start center;max-width:640px;margin:0 auto;padding-top:12vh}.placeholder.shell .shell-note{color:var(--fg-faint);min-height:18px;margin:0;font-size:12px}.placeholder.shell .shell-broken{color:var(--danger);margin:0 0 4px}.placeholder.shell .shell-row{justify-content:center;gap:8px;margin-top:14px;display:flex}.shell-recent{text-align:left;border-top:1px solid var(--border);margin-top:18px;padding-top:14px}.shell-recent-head{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin-bottom:6px;font-size:10px}.shell-recent-row{align-items:stretch;gap:4px;display:flex}.shell-recent-open{cursor:pointer;text-align:left;min-width:0;color:inherit;font:inherit;background:0 0;border:1px solid #0000;border-radius:5px;flex-direction:column;flex:1;align-items:flex-start;gap:1px;padding:6px 8px;display:flex}.shell-recent-open:hover{background:var(--bg-hover);border-color:var(--border)}.shell-recent-open .name{color:var(--fg);font-size:13px}.shell-recent-open .path{color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;text-align:left;direction:rtl;max-width:100%;font-size:11px;overflow:hidden}.shell-recent-forget{color:var(--fg-faint);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;flex:none;padding:0 8px;font-size:14px}.shell-recent-forget:hover{background:var(--bg-hover);border-color:var(--border);color:var(--fg)}.source{background:var(--bg-canvas);grid-template-rows:auto auto 1fr;height:100%;min-height:0;display:grid}.source-head{background:var(--bg-panel);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:6px 10px;display:flex}.source-head .name{color:var(--fg);font-size:12px;font-weight:600}.source-head .badge{text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--fg-muted);border-radius:999px;padding:1px 7px;font-size:10px}.source-head .badge.generated{border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent)}.source-head .meta{color:var(--fg-faint);font-size:11px}.source-note{color:var(--fg-faint);background:var(--bg-panel);border-bottom:1px solid var(--border);margin:0;padding:6px 12px;font-size:11px}.source-body{min-height:0;overflow:hidden}.inspector{background:var(--bg-panel);border-left:1px solid var(--border);min-height:0;overflow:auto}.inspector h2{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);background:var(--bg-panel);margin:0;padding:10px 12px 6px;font-size:11px;position:sticky;top:0}.inspector-body{flex-direction:column;gap:12px;padding:0 12px 20px;display:flex}.inspector .node-heading{color:#fff;text-shadow:0 1px 1px #00000059;border-radius:5px;padding:6px 10px;font-weight:600}.inspector .summary{color:var(--fg-muted);margin:0;font-size:11px;line-height:1.5}.inspector .field{flex-direction:column;gap:4px;display:flex}.inspector .field>span{color:var(--fg-faint);font-size:11px}.inspector .field input{cursor:text;width:100%}.inspector .swatches{flex-wrap:wrap;gap:6px;display:flex}.inspector .swatch{border:1px solid var(--border);cursor:pointer;border-radius:5px;width:22px;height:22px;padding:0}.inspector .swatch.on{outline:2px solid var(--fg);outline-offset:1px}.inspector .swatch:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.inspector .list-editor{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding-top:10px;display:flex}.inspector .list-title{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);justify-content:space-between;align-items:center;font-size:11px;display:flex}.inspector .list-title button{padding:1px 8px;font-size:11px}.inspector .list-row{grid-template-columns:minmax(0,3fr) minmax(0,2fr) 24px;gap:4px;display:grid}.inspector .list-row input{cursor:text;min-width:0}.inspector .list-row button:not(.type-picker){text-align:center;padding:0}.inspector .pin-summary{color:var(--fg-muted);justify-content:space-between;padding:1px 0;font-size:11px;display:flex}.inspector .pin-summary .type{color:var(--fg-faint);font-family:Cascadia Mono,Consolas,monospace;font-size:10px}.node .head.two-line{align-items:center}.node .head .lines{flex-direction:column;justify-content:center;min-width:0;line-height:1.25;display:flex}.node .head .subtitle{opacity:.78;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-family:Cascadia Mono,Consolas,monospace;font-size:10px;font-weight:500;overflow:hidden}.variables{border-top:1px solid var(--border);flex:none}.variables h2{justify-content:space-between;align-items:center;display:flex;position:static}.variables h2 button{text-transform:none;letter-spacing:0;padding:1px 8px;font-size:11px}.variable-list{padding:0 6px 12px}.variables .hint{color:var(--fg-faint);margin:0;padding:2px 8px 6px;font-size:11px;line-height:1.5}.variables-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);margin:10px 0 2px;padding:0 6px;font-size:10px;font-weight:600}.variable-head{cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;border-radius:4px;align-items:center;gap:7px;padding:3px 6px;display:flex}.variable-head:hover{background:var(--bg-hover)}.variable.expanded .variable-head{background:var(--bg-active)}.variable-head .swatch{border-radius:50%;flex:none;width:9px;height:9px}.variable-head .name{text-overflow:ellipsis;overflow:hidden}.variable-head .type-swatch{background:var(--code-type);border-radius:2px}.variable-head .type{color:var(--fg-faint);margin-left:auto;font-family:Cascadia Mono,Consolas,monospace;font-size:10px}.variable-head .variable-delete{color:var(--fg-faint);cursor:pointer;background:0 0;border-color:#0000;flex:none;padding:0 5px;line-height:16px}.variable-head .variable-delete:hover,.variable-head .variable-delete:focus-visible{color:var(--danger,#e06c6c);border-color:var(--border)}.variable-body{flex-direction:column;gap:7px;padding:8px 8px 12px 22px;display:flex}.variable-body .field{grid-template-columns:84px 1fr;align-items:center;gap:6px;display:grid}.variable-body .field>span{color:var(--fg-faint);font-size:11px}.variable-body .field input[type=text],.variable-body .field input:not([type]),.variable-body .field input[type=number],.variable-body .field select{cursor:text;width:100%;min-width:0}.variable-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.variable-footer .hint{padding:0}.variable-footer button{color:var(--danger);padding:1px 8px;font-size:11px}.map-editor{grid-template-columns:1fr 380px;min-height:0;display:grid;overflow:hidden}.map-tree{background:var(--bg-canvas);padding-bottom:16px;overflow:auto}.map-bar{border-bottom:1px solid var(--border);background:var(--bg-panel);z-index:1;align-items:center;gap:8px;padding:6px 10px;font-weight:600;display:flex;position:sticky;top:0}.map-bar .dirty:after{content:"•";color:var(--warning);margin-left:5px}.map-row{cursor:default;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:7px;padding:4px 10px;display:flex}.map-row:hover{background:var(--bg-hover)}.map-row.selected{background:var(--bg-active);box-shadow:inset 2px 0 0 var(--accent)}.map-row .glyph{width:12px;color:var(--fg-faint);cursor:pointer;flex:none}.map-row .name{font-weight:500}.map-row .class,.map-row .path{color:var(--fg-faint);font-family:Cascadia Mono,Consolas,monospace;font-size:11px}.map-row .path{color:var(--accent);margin-left:auto}.map-side{border-left:1px solid var(--border);background:var(--bg-panel);flex-direction:column;min-height:0;display:flex;overflow:auto}.map-side>*{flex-shrink:0}.map-side h2{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin:0;padding:10px 12px 6px;font-size:11px}.map-side .summary{color:var(--fg-muted);margin:0;padding:0 12px 6px;font-size:11px}.map-fields,.map-side>.field{flex-direction:column;gap:7px;padding:0 12px 8px;display:flex}.map-fields .field,.map-side>.field{grid-template-columns:100px 1fr;align-items:center;gap:6px;display:grid}.map-fields .field>span,.map-side>.field>span{color:var(--fg-faint);font-size:11px}.map-fields input,.map-fields select,.map-side>.field input{cursor:text;width:100%;min-width:0}.map-actions{flex-wrap:wrap;gap:6px;padding:0 12px 10px;display:flex}.map-preview{background:var(--bg-canvas);border:1px solid var(--border);white-space:pre;border-radius:5px;max-height:340px;margin:0 12px 12px;padding:10px 12px;font:11px/1.55 Cascadia Mono,Consolas,monospace;overflow:auto}.map-diagnostics{padding:0 12px 16px}.map-diagnostics .entry{gap:8px;padding:2px 0;font-size:11px;display:flex}.map-diagnostics .entry .sev{flex:none;width:56px;font-weight:600}.map-diagnostics .entry.error .sev{color:var(--danger)}.map-diagnostics .entry.warning .sev{color:var(--warning)}.tree-menu{width:170px;max-height:none}.tree-menu .item.danger{color:var(--danger)}:root{--code-keyword:#9a4f9a;--code-string:#2f7f4f;--code-number:#8a5a2f;--code-comment:#7a8290;--code-operator:#4a6fa5;--code-property:#2c6f8f}@media (prefers-color-scheme:dark){:root{--code-keyword:#c98fd0;--code-string:#8fce9b;--code-number:#d9a86c;--code-comment:#6b7280;--code-operator:#86b3e0;--code-property:#7fc4d6}}.node .literal.code{background:var(--bg-input);border:1px solid var(--border);cursor:pointer;border-radius:3px;align-items:center;gap:4px;max-width:104px;padding:1px 5px;font:10px/1.5 Cascadia Mono,Consolas,monospace;display:inline-flex;overflow:hidden}.node .literal.code:hover{border-color:var(--accent)}.node .literal.code .preview{text-overflow:ellipsis;white-space:nowrap;color:var(--fg-muted);overflow:hidden}.node .literal.code .more{color:var(--fg-faint);border-left:1px solid var(--border);flex:none;padding-left:4px}.code-backdrop{background:#00000073;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.code-modal{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;grid-template-rows:auto 1fr auto;width:min(880px,100%);height:min(600px,100%);display:grid;overflow:hidden;box-shadow:0 20px 60px #00000073}.code-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 12px;display:flex}.code-head .title{font-weight:600}.code-head .hint{color:var(--fg-faint);font-size:11px}.code-body{min-height:0;overflow:hidden}.code-body .cm-editor{height:100%}.docs-code-backdrop{z-index:1000}.code-modal.read-only{grid-template-rows:auto minmax(0,1fr);height:auto;max-height:min(600px,100%)}.code-modal.read-only .code-head .hint{flex:1}.code-modal.read-only .code-body{background:var(--bg-canvas);overflow:auto}.code-view{min-height:100%;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;line-height:1.5;display:flex}.code-view pre{font:inherit;line-height:inherit;white-space:pre;background:0 0;border:0;border-radius:0;margin:0;padding:10px 0}.code-view-gutter{text-align:right;color:var(--fg-faint);-webkit-user-select:none;user-select:none;flex:none;background:var(--bg-panel)!important;border-right:1px solid var(--border)!important;padding-left:14px!important;padding-right:10px!important}.code-view-code{flex:1;padding-left:8px!important;padding-right:14px!important}.code-view-code code{font:inherit;color:var(--fg);background:0 0;padding:0}.graph-viewport .docs-code-node{cursor:pointer}.graph-viewport .docs-code-node:hover{filter:brightness(1.15)}.code-body .cm-scroller{overflow:auto}.code-status{border-top:1px solid var(--border);color:var(--fg-muted);align-items:center;gap:10px;padding:6px 12px;font-size:11px;display:flex}.code-status.bad{color:var(--danger)}.code-status .where{color:var(--fg-faint)}.code-status .keys{color:var(--fg-faint);font-size:10px}.node.operator{cursor:grab}.node.operator .operator-rows{position:absolute;left:0;right:0}.node.operator .pin-label{display:none}.node.operator .operator-symbol{color:var(--fg);pointer-events:none;justify-content:center;align-items:center;font-family:Cascadia Mono,Consolas,monospace;font-size:13px;font-weight:700;display:flex;position:absolute;top:0;bottom:0}.node.operator .operator-out{right:var(--pin-pad);display:flex;position:absolute}.node.operator .operator-out .pin{left:calc(var(--pin-pad) + var(--pin-slot) / 2 + var(--node-stroke))}.node.operator .operator-grow{flex-direction:column;justify-content:center;gap:2px;display:flex;position:absolute;top:0;bottom:0}.node.operator .operator-grow button{border:1px solid var(--border);background:var(--bg-input);width:14px;height:14px;color:var(--fg-muted);cursor:pointer;border-radius:3px;padding:0;font-size:10px;line-height:1}.node.operator .operator-grow button:disabled{opacity:.3;cursor:default}.node.capsule{--pin-hollow:var(--capsule-bg);background:var(--capsule-bg);border:1px solid var(--capsule-border);box-shadow:var(--node-shadow);cursor:grab;border-radius:999px;align-items:center;gap:8px;padding:0 10px 0 12px;display:flex}.node.capsule .capsule-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;font-weight:500;overflow:hidden}.node.capsule .pin-label{display:none}.node.capsule .pin{left:calc(10px + var(--pin-slot) / 2 + var(--node-stroke));flex:none}:root{--capsule-bg:#e9ebf0;--capsule-border:#b3b9c4}@media (prefers-color-scheme:dark){:root{--capsule-bg:#2b3038;--capsule-border:#3d434e}}.dialog-backdrop{background:#0006;place-items:center;padding:40px;display:grid;position:fixed;inset:0}.dialog{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;flex-direction:column;gap:12px;width:min(420px,100%);padding:16px 18px 14px;display:flex;box-shadow:0 20px 60px #00000073}.dialog h3{margin:0;font-size:14px}.dialog p{color:var(--fg-muted);margin:0;line-height:1.5}.dialog .field{flex-direction:column;gap:5px;display:flex}.dialog .field>span{color:var(--fg-faint);font-size:11px}.dialog .field input{cursor:text;width:100%}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}button.tb.primary.danger{background:var(--danger);color:#fff;border-color:#0000}button.tb.primary.danger:hover:not(:disabled){background:var(--danger)}.node.pure{border-left:3px solid var(--pure-edge)}:root{--pure-edge:#6aa84f}@media (prefers-color-scheme:dark){:root{--pure-edge:#7fbf5f}}.node select.literal{cursor:pointer;appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--fg-faint) 50%), linear-gradient(135deg, var(--fg-faint) 50%, transparent 50%);text-overflow:ellipsis;background-position:calc(100% - 8px) 6px,calc(100% - 4px) 6px;background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:14px}.node .head .grow{flex:none;gap:2px;margin-left:auto;display:flex}.node .head .grow button{text-align:center;color:#fff;cursor:pointer;background:#0003;border:1px solid #ffffff59;border-radius:3px;width:16px;height:16px;padding:0;font-size:12px;line-height:14px}.node .head .grow button:hover:not(:disabled){background:#ffffff40}.node .head .grow button:disabled{opacity:.3;cursor:default}.node .head .open-graph{color:#fff;cursor:pointer;background:#0003;border:1px solid #ffffff59;border-radius:3px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;margin-left:auto;padding:0;display:flex}.node .head .open-graph:hover{background:#ffffff40}.node .head .open-graph+.grow{margin-left:4px}.node.grow-target{box-shadow:0 0 0 2px var(--ok), var(--node-shadow)}.icon{flex:none;transition:transform .12s;display:block}.logo-mark{flex:none;display:block}.tree-row .twist{color:var(--fg-faint);cursor:pointer}.tree-row .kind{color:var(--fg-muted)}.tree-row .kind.nodescript,.tree-row .kind.function{color:var(--accent)}.tree-row .function-twist{margin-left:-14px;display:inline-flex}.tree-row .kind.nodemap{color:var(--ok)}.tree-row .kind.luau{color:var(--fg-faint)}.menu .item .icon{color:var(--fg-muted)}.menu .item.danger .icon{color:var(--danger)}button.tb .icon,.toolbar .icon{color:currentColor}button.tb.with-icon{align-items:center;gap:6px;display:inline-flex}button.tb.icon-only{width:28px;height:28px;color:var(--fg-muted);justify-content:center;align-items:center;padding:5px;display:inline-flex}button.tb.icon-only:hover:not(:disabled){color:var(--fg)}button.tb.icon-only.on{background:var(--bg-active);color:var(--fg);border-color:var(--border-strong)}.map-fields .path-field{align-items:center;gap:6px;min-width:0;display:flex}.map-fields .path-field input{flex:1;min-width:0}.path-missing{color:var(--danger);white-space:nowrap;flex:none;align-items:center;gap:3px;font-size:10px;display:inline-flex}.map-list{border-top:1px solid var(--border);flex-direction:column;gap:5px;margin:0 12px;padding:8px 0;display:flex}.map-list-head{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);justify-content:space-between;align-items:center;font-size:11px;display:flex}.map-list-head button{text-transform:none;letter-spacing:0;padding:1px 8px;font-size:11px}.map-list .summary{padding:0}.map-list-row{grid-template-columns:1fr 24px;gap:4px;display:grid}.map-list-row input{cursor:text;min-width:0;font-family:Cascadia Mono,Consolas,monospace;font-size:11px}.map-list-row button{text-align:center;padding:0}.drop-menu{width:260px;max-height:none}.drop-head{border-bottom:1px solid var(--border);flex-direction:column;gap:3px;padding:8px 10px;display:flex}.drop-head code{color:var(--accent);word-break:break-all;font:10px/1.4 Cascadia Mono,Consolas,monospace}.drop-note{color:var(--fg-faint);margin:4px 8px 6px;font-size:11px;line-height:1.5}:root{--code-global:#2c6f8f;--code-function:#7a5a2f;--code-type:#2f7a6a}@media (prefers-color-scheme:dark){:root{--code-global:#7fc4d6;--code-function:#d9b06c;--code-type:#6fc2a8}}.code-body .cm-lintRange-error{border-bottom:2px wavy var(--danger);background:0 0}.code-body .cm-diagnostic{border-left-color:var(--danger);background:var(--bg-panel);color:var(--fg);font-family:inherit}.code-body .cm-tooltip,.source-body .cm-tooltip{background:var(--bg-panel);border:1px solid var(--border-strong);color:var(--fg);border-radius:6px;box-shadow:0 8px 24px #0006}.code-body .cm-tooltip-autocomplete>ul>li{padding:3px 8px;font-family:Cascadia Mono,Consolas,monospace;font-size:11px}.code-body .cm-tooltip-autocomplete>ul>li[aria-selected]{background:var(--accent);color:#fff}.code-body .cm-completionDetail{opacity:.7;margin-left:10px;font-size:10px;font-style:normal}.code-body .cm-lint-marker-error{content:none}.code-body .cm-errorLine{background:color-mix(in srgb, var(--danger) 11%, transparent);box-shadow:inset 2px 0 0 color-mix(in srgb, var(--danger) 65%, transparent)}.code-body .cm-errorLine.cm-activeLine{background:color-mix(in srgb, var(--danger) 17%, transparent)}.node.reroute{background:var(--capsule-bg);--pin-hollow:var(--capsule-bg);border:1px solid var(--capsule-border);box-shadow:var(--node-shadow);cursor:grab;border-radius:50%;place-items:center;display:grid}.node.reroute .pin{--pin-slot:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.node.reroute .pin:after{inset:-1px}.node.reroute .pin.exec .dot{left:calc((var(--pin-slot) - var(--exec-width)) / 2)}.node.reroute:before{content:"";z-index:-1;border-radius:50%;position:absolute;inset:-6px}.canvas.wiring .node.reroute .pin:after{inset:-5px}.node.reroute .pin+.pin .dot,.node.reroute .pin-label{display:none}.node.reroute.selected{border-color:var(--select)}.docs-backdrop{background:#00000080;place-items:center;padding:32px;display:grid;position:fixed;inset:0}.docs{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;grid-template-rows:auto 1fr;width:min(1080px,100%);height:min(820px,100%);display:grid;overflow:hidden;box-shadow:0 24px 70px #00000080}.docs-head{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:10px 14px;display:flex}.docs-head .sub{color:var(--fg-faint);font-size:12px}.docs-body{grid-template-columns:232px 1fr;min-height:0;display:grid}.docs-nav{border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:10px 8px;display:flex;overflow:auto}.docs-nav .search{background:var(--bg-input);border:1px solid var(--border);font:inherit;color:inherit;border-radius:5px;outline:none;margin-bottom:8px;padding:5px 8px}.docs-nav .search:focus{border-color:var(--accent)}.docs-section-head{text-align:left;cursor:pointer;width:100%;color:var(--fg);background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;padding:5px 6px;font-size:12px;font-weight:600;display:flex}.docs-section-head:hover{background:var(--bg-hover)}.docs-section-head .icon{flex:none;transition:transform .12s;transform:rotate(-90deg)}.docs-section-head[aria-expanded=true] .icon{transform:none}@media (prefers-reduced-motion:reduce){.docs-section-head .icon{transition:none}}.docs-section-head .count{color:var(--fg-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:10px;font-weight:400}.docs-pages{flex-direction:column;padding:1px 0 4px 14px;display:flex}.docs-link,.docs-hit{text-align:left;cursor:pointer;width:100%;color:var(--fg-muted);background:0 0;border:0;border-radius:4px;align-items:baseline;gap:6px;padding:4px 8px;font-size:12px;display:flex}.docs-link:hover,.docs-hit:hover{background:var(--bg-hover);color:var(--fg)}.docs-link.on,.docs-hit.on{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--fg)}.docs-hit{flex-direction:column;align-items:stretch;gap:0}.docs-hit .title{color:inherit}.docs-hit .where{color:var(--fg-faint);font-size:10px}.docs-results{flex-direction:column;gap:1px;display:flex}.docs-results .empty{color:var(--fg-faint);padding:12px 8px;font-size:12px}.picker-backdrop,.docs-palette-backdrop{background:#00000073;justify-content:center;align-items:flex-start;padding:10vh 16px 16px;display:flex;position:fixed;inset:0}.docs-palette{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:10px;flex-direction:column;width:min(720px,100%);max-height:70vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #00000073}.docs-palette-field{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 12px;display:flex}.docs-palette-field input{min-width:0;color:var(--fg);background:0 0;border:0;outline:none;flex:1;font-size:15px}.docs-palette-list{flex-direction:column;gap:2px;padding:6px;display:flex;overflow:auto}.docs-palette-head{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);padding:6px 8px 4px;font-size:10px}.docs-palette-list .empty{color:var(--fg-faint);padding:12px 8px;font-size:12px}.docs-palette-hit{text-align:left;cursor:pointer;width:100%;color:var(--fg-muted);background:0 0;border:0;border-radius:6px;align-items:flex-start;gap:10px;padding:8px;display:flex}.docs-palette-hit.on{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--fg)}.docs-palette-hit .kind{text-transform:uppercase;letter-spacing:.06em;width:52px;color:var(--fg-faint);border:1px solid var(--border);text-align:center;border-radius:3px;flex:none;margin-top:2px;padding:1px 0;font-size:9px}.docs-palette-hit .kind-node{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 55%, transparent);background:color-mix(in srgb, var(--warning) 12%, transparent)}.docs-palette-hit .kind-article{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.docs-palette-section{flex-direction:column;gap:2px;display:flex}.docs-palette-section+.docs-palette-section{border-top:1px solid var(--border);margin-top:6px;padding-top:4px}.docs-palette-hit .body{flex-direction:column;gap:1px;min-width:0;display:flex}.docs-palette-hit .title{color:var(--fg);font-size:13px}.docs-palette-hit .where{color:var(--fg-faint);font-size:10px}.docs-palette-hit .summary{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.docs-palette-foot{border-top:1px solid var(--border);color:var(--fg-faint);gap:14px;padding:8px 12px;font-size:10px;display:flex}.docs-palette-foot kbd{border:1px solid var(--border);border-radius:3px;margin-right:3px;padding:0 4px;font-family:inherit}.docs .badge{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);border:1px solid var(--border);white-space:nowrap;border-radius:3px;padding:0 4px;font-size:9px}.docs-content{max-width:74ch;padding:22px 30px 60px;overflow:auto}.docs-content h1{align-items:center;gap:8px;margin:0 0 4px;font-size:22px;display:flex}.docs-content .summary{color:var(--fg-faint);margin:0 0 22px}.docs-content h2{border-top:1px solid var(--border);margin:28px 0 8px;padding-top:14px;font-size:15px}.docs-content h3{margin:20px 0 6px;font-size:13px}.docs-content p{margin:0 0 12px;line-height:1.6}.docs-content ul,.docs-content ol{margin:0 0 12px;padding-left:20px;line-height:1.6}.docs-content li{margin-bottom:4px}.docs-content li::marker{color:var(--fg-faint)}.docs-content code{background:var(--bg-input);border:1px solid var(--border);border-radius:3px;padding:0 4px;font-size:11px}.docs-content pre{background:var(--bg-canvas);border:1px solid var(--border);border-radius:5px;margin:0 0 14px;padding:10px 12px;font-size:11.5px;line-height:1.55;overflow-x:auto}.docs-table{margin:0 0 14px;overflow-x:auto}.docs-content table{border-collapse:collapse;width:100%;font-size:12px}.docs-content th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);border-bottom:1px solid var(--border);white-space:nowrap;padding:0 10px 5px 0;font-size:10px}.docs-content td{border-bottom:1px solid var(--border);vertical-align:top;padding:7px 10px 7px 0;line-height:1.5}.docs-content td.mono{color:var(--fg-muted);white-space:nowrap;font-size:11px}.docs-content td em{color:var(--fg-faint);font-style:normal}.docs-content table.pins td.swatch-cell{width:14px;padding-right:6px}.docs-swatch{border-radius:50%;width:9px;height:9px;display:inline-block}.docs-swatch.exec{clip-path:polygon(0 0,100% 50%,0 100%);border-radius:0;width:8px}.docs-note{--note:var(--border-strong);border-left:4px solid var(--note);background:color-mix(in srgb, var(--note) 9%, var(--bg-input));border-radius:0 4px 4px 0;margin:0 0 14px;padding:9px 12px;line-height:1.55}.docs-note.note-info{--note:var(--accent)}.docs-note.note-good{--note:var(--ok)}.docs-note.note-warn{--note:var(--warning)}.docs-note.note-danger{--note:var(--danger)}.docs-note-head{letter-spacing:.06em;text-transform:uppercase;color:var(--note);align-items:center;gap:6px;margin:0 0 4px;font-size:11px;font-weight:700;display:flex}.docs-note-body>:last-child{margin-bottom:0}.docs-note ul{margin:6px 0 0;padding-left:18px}.docs-note li{margin:3px 0}.docs-page{background:var(--bg-app);grid-template-rows:auto 1fr;height:100%;display:grid}.docs-page-head{background:var(--bg-panel);border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:8px 14px;display:flex}.docs-page-head .logo{letter-spacing:.04em;align-items:center;gap:6px;font-weight:600;display:inline-flex}.toolbar .logo .version.preview-chip,.docs-page-head .logo .version.preview-chip,.docs-page-head a.tb .version.preview-chip{color:var(--chip-ink);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em;border-radius:3px;margin-left:2px;padding:0 4px;font-size:9px}.docs-page-head a.tb .version.preview-chip{margin-left:0;font-weight:400;line-height:1.6}.version.preview-chip{--chip-ink:var(--accent)}.logo-mark.logo-mark.mark-preview{color:var(--accent)}.logo-mark.logo-mark.mark-canary{color:var(--warning)}.version.preview-chip.canary{--chip-ink:var(--warning);border-color:color-mix(in srgb, var(--warning) 55%, transparent)}.canary-banner{color:var(--fg);background:color-mix(in srgb, var(--warning) 14%, var(--bg-panel));border-bottom:1px solid color-mix(in srgb, var(--warning) 45%, transparent);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 14px;font-size:12px;line-height:1.5;display:flex}.canary-banner-mark{text-transform:uppercase;letter-spacing:.06em;color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 55%, transparent);white-space:nowrap;border-radius:3px;padding:1px 6px;font-size:10px;font-weight:600}.canary-banner-text{flex:1;min-width:12rem}.canary-banner-out{color:var(--accent);white-space:nowrap}.canary-banner.canary-banner-backup{background:color-mix(in srgb, var(--accent) 12%, var(--bg-panel));border-bottom-color:color-mix(in srgb, var(--accent) 45%, transparent)}.canary-banner-backup .canary-banner-mark{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 55%, transparent)}.docs-page-head .logo .version{letter-spacing:0;color:var(--fg-faint);font-variant-numeric:tabular-nums;font-size:10px;font-weight:400}.docs-page-head .sub{color:var(--fg-faint);font-size:12px}.docs-page-head .grow{flex:1}.docs-page-head .warn{color:var(--warning);border:1px solid var(--warning);border-radius:3px;padding:0 6px;font-size:11px}.docs-page-head a.tb,.intro-foot a.tb{color:inherit;background:var(--bg-input);border:1px solid var(--border);border-radius:5px;padding:4px 9px;text-decoration:none}.docs-page-head a.tb,.docs-page-head button.tb,.intro-foot a.tb,.intro-foot button.tb{box-sizing:border-box;height:29px}.docs-page-head a.tb:hover,.intro-foot a.tb:hover{background:var(--bg-hover)}.docs-page-head button.tb,.docs-page-head a.tb,.intro-foot button.tb,.intro-foot a.tb{align-items:center;gap:5px;display:inline-flex}.docs-page-head a.tb.icon-only{width:29px;color:var(--fg-muted);justify-content:center;padding:4px}.docs-page .docs-body{grid-template-columns:260px 1fr;min-height:0}.docs-page .docs-content{max-width:none;padding:26px 40px 80px}.node.capsule.selected{border-color:var(--select);box-shadow:0 0 0 2px color-mix(in srgb, var(--select) 55%, transparent), var(--node-shadow)}.node.capsule.selected.anchor,.node.reroute.selected.anchor{box-shadow:0 0 0 4px var(--select), var(--node-shadow)}.docs-page .docs-body{grid-template-columns:268px minmax(0,1fr) 210px}@media (width<=1100px){.docs-page .docs-body{grid-template-columns:268px minmax(0,1fr)}.docs-page .docs-toc{display:none}}.docs-group+.docs-group{margin-top:14px}.docs-group-head{text-transform:uppercase;letter-spacing:.09em;color:var(--fg-faint);border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 6px 4px;font-size:10px;font-weight:700}.docs-toc{border-left:1px solid var(--border);flex-direction:column;align-content:start;gap:2px;padding:26px 14px 40px;display:flex;overflow:auto}.docs-toc-head{text-transform:uppercase;letter-spacing:.09em;color:var(--fg-faint);margin-bottom:6px;font-size:10px;font-weight:700}.docs-toc-link{color:var(--fg-muted);border-left:2px solid #0000;border-radius:0 3px 3px 0;padding:3px 6px;font-size:11.5px;line-height:1.4;text-decoration:none}.docs-toc-link:hover{color:var(--fg);border-left-color:var(--accent);background:var(--bg-hover)}.docs-preview{border:1px solid var(--border);background:var(--bg-canvas);background-image:linear-gradient(var(--grid-fine) 1px, transparent 1px), linear-gradient(90deg, var(--grid-fine) 1px, transparent 1px);background-size:24px 24px;border-radius:6px;margin:0 0 18px;padding:18px 16px}.docs-preview .row{flex-wrap:wrap;align-items:flex-start;gap:20px;display:flex}.docs-preview .node-preview-frame{filter:drop-shadow(0 2px 6px #0000002e)}.docs-preview svg.node-preview{font-family:inherit;display:block}.docs-preview figcaption{color:var(--fg-muted);margin-top:14px;font-size:12px;line-height:1.5}.docs-code{border:1px solid var(--border);background:var(--bg-canvas);border-radius:6px;margin:0 0 16px;overflow:hidden}.docs-code-head{background:var(--bg-panel);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:4px 8px 4px 12px;display:flex}.docs-code-head .lang{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);font-size:10px}.docs-code-head .copy{color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:4px;margin-left:auto;padding:2px 8px;font-size:11px}.docs-code-head .copy:hover{background:var(--bg-hover);border-color:var(--border);color:var(--fg)}.docs-code pre{-webkit-user-select:text;user-select:text;background:0 0;border:0;border-radius:0;margin:0;padding:12px 14px}.docs-page .docs-content{padding:30px 44px 90px}.docs-page .docs-content h1{letter-spacing:-.015em;margin-bottom:6px;font-size:30px}.docs-page .docs-title{border-bottom:1px solid var(--border);margin-bottom:30px;padding-bottom:18px}.docs-page .docs-content .summary{max-width:none;color:var(--fg-muted);border:0;margin:0;padding:0;font-size:15px;line-height:1.55}.docs-page .docs-content h2{letter-spacing:-.01em;border-top:0;margin:36px 0 10px;padding-top:0;scroll-margin-top:20px;font-size:19px}.docs-page .docs-content h3{color:var(--fg);margin:24px 0 8px;font-size:14px}.docs-page .docs-content p,.docs-page .docs-content li{font-size:13.5px;line-height:1.68}.docs-page .docs-content table{border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);font-size:13px}.docs-page .docs-content th{border-bottom:1px solid var(--border-strong);padding:9px 14px 9px 0}.docs-page .docs-content td{padding:10px 14px 10px 0}.docs-page .docs-content tbody tr:last-child td{border-bottom:0}.docs-page .docs-note{border-radius:5px;margin-bottom:16px;padding:12px 16px;font-size:13.5px}.docs-code pre{tab-size:2}.docs-toc:empty{border-left-color:#0000}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-keyword{color:var(--code-keyword)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-string{color:var(--code-string)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-number{color:var(--code-number)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-comment{color:var(--code-comment);font-style:italic}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-operator{color:var(--code-operator)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-global{color:var(--code-global)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-function{color:var(--code-function)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-type{color:var(--code-type)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-property{color:var(--code-property)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-bracket,:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view) .tok-punctuation{color:var(--fg-muted)}.docs-pins{border:1px solid var(--border);border-radius:6px;margin:0 0 18px;padding:0;list-style:none;overflow:hidden}.docs-pins li{border-bottom:1px solid var(--border);margin:0;padding:10px 14px}.docs-pins li:last-child{border-bottom:0}.docs-pins li:nth-child(odd){background:color-mix(in srgb, var(--fg) 2.5%, transparent)}.docs-pins .sig{flex-wrap:wrap;align-items:baseline;gap:7px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12.5px;display:flex}.docs-pins .sig .docs-swatch{flex:none;align-self:center}.docs-pins .name{color:var(--fg);font-weight:600}.docs-pins .sep{color:var(--fg-faint)}.docs-pins .type{color:var(--code-global);text-decoration:underline;-webkit-text-decoration-color:var(--border-strong);text-decoration-color:var(--border-strong);text-underline-offset:3px}.docs-pins .def{color:var(--fg-faint)}.docs-pins .def code{color:var(--fg-muted);background:0 0;border:0;padding:0}.docs-pins .badge{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);background:var(--bg-hover);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-family:Segoe UI,system-ui,sans-serif;font-size:9.5px}.docs-pins .badge.warn{color:var(--warning);border-color:var(--warning)}.docs-pins .detail{color:var(--fg-muted);margin-top:5px;font-size:12.5px;line-height:1.55}.docs-page .docs-content{justify-content:center;display:flex;container-type:inline-size}.docs-preview.breakout{--frame:min(calc(100% * var(--preview-scale)), calc(100cqw - 48px));box-sizing:border-box;width:var(--frame);margin-left:calc((100% - var(--frame)) / 2)}.docs-preview .node-preview-frame{min-width:0;max-width:100%}.docs-preview svg.node-preview:not(.graph-preview){max-width:100%;height:auto}.docs-page .docs-content>*{max-width:none}.docs-tail{flex:none;height:min(45vh,420px)}.dialog-list{border:1px solid var(--border);background:var(--bg-input);border-radius:5px;max-height:180px;margin:0 0 14px;padding:6px 10px 6px 26px;font-size:12.5px;line-height:1.6;overflow:auto}.docbar select.doc-target.lune{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 60%, transparent)}.docs-title h1 .docs-edit{vertical-align:middle;margin-left:10px}.page-editor{flex-direction:column;gap:6px;display:flex}.page-editor-bar{z-index:2;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;padding:8px 10px;display:flex;position:sticky;top:0}.page-editor .hint,.page-editor-said{color:var(--fg-faint);margin:0;font-size:11px;line-height:1.6}.page-editor-said{color:var(--ok)}.page-block{border:1px dashed #0000;border-radius:6px;padding:2px 8px;position:relative}.page-block:hover{border-color:var(--border)}.page-block-tools{z-index:1;gap:4px;display:none;position:absolute;top:2px;right:4px}.page-block:hover .page-block-tools{display:flex}.page-block-tools button.tb{padding:2px 6px;line-height:1.2}.page-block-add{flex-wrap:wrap;gap:6px;padding:6px 0;display:flex}.page-block-add.end{border-top:1px solid var(--border);margin-top:10px}.page-block-shown{cursor:text}.block-stack{flex-direction:column;gap:6px;padding:6px 0;display:flex}.block-row{gap:6px;padding:6px 0;display:flex}.block-row>input,.block-row>select{flex:1;min-width:0}.block-field{background:var(--bg-input);width:100%;color:var(--fg);border:1px solid var(--border);font:inherit;resize:vertical;border-radius:6px;padding:8px 10px;line-height:1.6}.block-field.mono{font-family:Cascadia Mono,Consolas,monospace;font-size:12px}.block-matches,.block-chips,.block-preview-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.page-editor-source{background:var(--bg-canvas);border:1px solid var(--border);white-space:pre;border-radius:6px;max-height:320px;padding:10px 12px;font-family:Cascadia Mono,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}.designer{background:var(--bg-app);height:100vh;color:var(--fg);flex-direction:column;display:flex}.designer-body{grid-template-columns:minmax(0,1fr) 360px;align-items:start;gap:18px;padding:18px;display:grid;overflow:auto}.designer-form,.designer-side{flex-direction:column;gap:10px;min-width:0;display:flex}.designer-side{position:sticky;top:0}.designer h2{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin:8px 0 0;font-size:11px}.designer .field{grid-template-columns:96px 1fr;align-items:center;gap:8px;display:grid}.designer .field>span{color:var(--fg-faint);font-size:11px}.designer .field textarea{resize:vertical;font-family:Cascadia Mono,Consolas,monospace}.designer-pins{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding-top:10px;display:flex}.designer-pin{border-left:2px solid var(--border);flex-direction:column;gap:5px;padding-left:8px;display:flex}.designer-row{gap:6px;display:flex}.designer-row>*{flex:1;min-width:0}.designer-row>button.tb{flex:none}.designer-preview{background:var(--bg-canvas);border:1px solid var(--border);border-radius:8px;justify-content:center;padding:14px;display:flex}.designer-problems{color:var(--danger);margin:0;padding-left:18px;font-size:12px;line-height:1.6}.designer-actions{flex-wrap:wrap;gap:6px;display:flex}.designer-said{color:var(--ok);margin:0;font-size:12px}.designer-failed{color:var(--danger);margin:0;font-size:12px}.designer .hint{color:var(--fg-faint);margin:0;font-size:11px;line-height:1.6}.designer-notice{z-index:80;border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;align-items:center;gap:10px;max-width:min(440px,100vw - 36px);padding:8px 8px 8px 14px;font-size:12px;animation:.14s ease-out designer-toast-in;display:flex;position:fixed;bottom:18px;right:18px;box-shadow:0 8px 28px #0006}@keyframes designer-toast-in{0%{opacity:0;transform:translateY(8px)}}.designer-notice.ok{border-color:color-mix(in srgb, var(--ok) 50%, transparent)}.designer-notice.failed{border-color:color-mix(in srgb, var(--danger) 60%, transparent);color:var(--danger)}.designer-notice span{flex:1}.pack-browser{flex-direction:column;gap:10px;min-height:0;padding:16px 24px 32px;display:flex;overflow:auto}.pack-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.pack-toolbar h1,.pack-nodes h1{margin:0;font-size:18px}.pack-toolbar .spacer,.pack-import .spacer{flex:1}.pack-naming{gap:6px;display:flex}.pack-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px;display:grid}.pack-grid.list{grid-template-columns:1fr;gap:6px}.pack-card{background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;min-width:0;padding:10px 12px;display:flex}.pack-card:hover,.pack-card:focus-visible{border-color:var(--accent);outline:none}.pack-grid.list .pack-card{flex-flow:wrap;align-items:center;gap:6px 14px}.pack-card-head{align-items:center;gap:8px;display:flex}.pack-card h3{margin:0;font-size:14px}.pack-path{color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.pack-badges{flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.designer .badge{border:1px solid var(--border);color:var(--fg-muted);white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:11px}.designer .badge.warn{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 60%, transparent)}.designer .count{color:var(--fg-faint)}button.tb.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, transparent)}.pack-actions,.pack-confirm{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.pack-grid:not(.list) .pack-actions,.pack-grid:not(.list) .pack-confirm{margin-top:auto;padding-top:4px}.pack-grid.list .pack-actions,.pack-grid.list .pack-confirm{margin-left:auto}.pack-actions .tb{align-items:center;gap:5px;font-size:12px;display:inline-flex}.pack-confirm p{flex-basis:100%;margin:0 6px 0 0;font-size:12px}.pack-import{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;width:min(720px,92vw);max-height:80vh;padding:12px 14px;overflow:auto;box-shadow:0 12px 40px #0006}.pack-import-head{align-items:center;gap:8px;display:flex}.pack-import ul{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.pack-import li{border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.pack-import .name{font-weight:600}.pack-view{flex:1;grid-template-rows:minmax(0,1fr);grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid}.pack-nodes{border-right:1px solid var(--border);background:var(--bg-panel);flex-direction:column;gap:8px;padding:14px;display:flex;overflow:auto}.pack-back{align-self:flex-start;align-items:center;gap:4px;display:inline-flex}.pack-nodes ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.pack-node{text-align:left;width:100%;color:var(--fg);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-rows:auto auto;grid-template-columns:8px 1fr;column-gap:8px;padding:5px 8px;display:grid}.pack-node:hover{background:var(--bg-hover)}.pack-node.on{background:var(--bg-active);border-color:var(--border)}.pack-node .swatch{border-radius:2px;grid-row:1/3;width:8px}.pack-node .id{color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.designer-stage{background:var(--bg-canvas);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:relative;overflow:auto}.node-editor{flex-direction:column;min-width:0;min-height:0;display:flex}.node-editor-stage{background-color:var(--bg-canvas);background-image:linear-gradient(to right, var(--grid-fine) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-fine) 1px, transparent 1px);background-size:38px 38px;flex:1;min-height:0;position:relative;overflow:hidden}.node-editor-world{transform-origin:0 0;position:absolute;top:0;left:0}.node-plate{box-sizing:border-box;background:color-mix(in srgb, var(--bg-panel) 70%, transparent);border:1px dashed var(--border-strong);pointer-events:none;border-radius:14px;position:absolute}.node-editor-world .node .head .title{visibility:hidden}.node-title-edit{z-index:60;box-sizing:border-box;color:#fff;font:inherit;background:0 0;border:0;outline:none;padding:0 10px;font-size:12.5px;font-weight:600;position:absolute;top:0;left:0}.node-title-edit::placeholder{color:#ffffff8c}.node .pin-target{cursor:pointer;border-radius:5px;align-items:center;gap:5px;min-width:0;margin:-2px -6px;padding:2px 6px;transition:background-color 80ms;display:inline-flex}.node .pin-target:hover{background:color-mix(in srgb, var(--accent) 16%, transparent)}.node .pin-target.pin-selected,.node .pin-target.pin-selected:hover{background:color-mix(in srgb, var(--accent) 30%, transparent);box-shadow:inset 0 0 0 1px var(--accent)}.node .pin-target.pin-selected .pin-label{color:var(--fg)}.node .pin-target>input[type=checkbox]{margin-left:4px}.node .pin.highlighted .dot{box-shadow:0 0 0 1px var(--pin-well), 0 0 0 3px var(--accent)}.pin-chip{border:1px solid var(--border);background:var(--bg-input);cursor:grab;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:12px;display:inline-flex}.chip-dot{box-sizing:border-box;border:2px solid;border-radius:50%;width:9px;height:9px}.chip-dot.exec{border-radius:1px;transform:rotate(45deg)scale(.85)}.tool-group .tool-label{color:var(--fg-faint);font-size:11px}.tool-group .badge{border:1px solid var(--border);color:var(--fg-muted);border-radius:999px;padding:1px 7px;font-size:11px}.tool-group .badge.warn{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 60%, transparent)}.node-details,.node-problems{z-index:5;background:color-mix(in srgb, var(--bg-panel) 94%, transparent);border:1px solid var(--border);border-radius:8px;padding:8px 10px;font-size:12px;position:absolute;bottom:10px;box-shadow:0 4px 14px #00000047}.node-details{gap:6px;width:min(380px,45%);display:grid;top:56px;bottom:auto;left:10px}.node-details-head{align-items:center;gap:6px;margin-bottom:2px;display:flex}.node-details textarea.tb{resize:vertical;min-height:54px;font:inherit;line-height:1.45}.node-details .segmented,.inspector .field .segmented,.variable-body .field .segmented{width:100%;display:flex}.node-details .segmented button,.inspector .field .segmented button,.variable-body .field .segmented button{text-align:center;white-space:nowrap;flex:auto}.node-details label.summary{align-items:start}.node-details label.summary>span{padding-top:5px}.node-details label,.pin-popover label{grid-template-columns:70px minmax(0,1fr);align-items:center;gap:8px;display:grid}.node-details label>span,.pin-popover label>span{color:var(--fg-faint);font-size:11px}.node-problems{max-width:min(420px,45%);color:var(--ok);right:10px}.node-problems.bad{color:var(--danger)}.node-problems ul{margin:0;padding-left:16px;line-height:1.6}.pin-popover{z-index:6;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:8px;flex-direction:column;gap:7px;width:270px;padding:8px 10px 10px;font-size:12px;display:flex;position:absolute;box-shadow:0 8px 24px #00000061}.pin-popover-head,.pin-popover-actions{align-items:center;gap:6px;display:flex}.pin-popover label.check{grid-template-columns:auto 1fr}.pin-popover .hint code{font-size:11px}.logic-splitter{cursor:row-resize;background:var(--border);flex:none;height:5px}.logic-splitter:hover{background:var(--accent)}.node-logic{background:var(--bg-panel);flex-direction:column;flex:none;min-height:0;display:flex}.logic-head{border-bottom:1px solid var(--border);flex-wrap:wrap;align-items:center;gap:10px;padding:6px 12px;display:flex}.logic-tab{border:1px solid var(--border);border-radius:999px;padding:2px 10px;font-size:12px}.logic-tab.on{border-color:var(--accent);color:var(--fg)}.luau-field{flex:1;min-height:0;overflow:hidden}.logic-split{flex:1;grid-template-columns:minmax(0,1fr) minmax(220px,30%);min-height:0;display:grid}.logic-canvas{min-width:0;min-height:0;position:relative}.logic-canvas>.canvas{position:absolute;inset:0}.logic-canvas .watermark{display:none}.logic-compiled{border-left:1px solid var(--border);background:var(--bg-canvas);white-space:pre;color:var(--fg-muted);margin:0;padding:8px 12px;font-family:Cascadia Mono,Consolas,monospace;font-size:12px;line-height:1.5;overflow:auto}.node-problems ul.warnings{color:var(--warning);margin-top:4px}.pack-requires{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.pack-requires .tool-label{color:var(--fg-faint);margin-right:2px;font-size:11px}.pack-requires select.tb{padding:1px 6px;font-size:11px}.badge .badge-remove{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:4px;padding:0;font-size:11px}.logic-empty{padding:12px}.docs-tabs{margin:16px 0;position:relative}.docs-tabs>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}.docs-tabs-label{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin-bottom:6px;font-size:11px}.docs-tab-bar{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:6px;padding-bottom:8px;display:flex}.docs-tab-bar label,.docs-tab-bar button{background:var(--bg-input);border:1px solid var(--border);font:inherit;color:var(--fg);cursor:pointer;border-radius:999px;padding:4px 12px;font-size:12px}.docs-tab-bar label:hover,.docs-tab-bar button:hover{background:var(--bg-hover)}.docs-tab-bar button.on{background:var(--accent);border-color:var(--accent);color:#fff}.docs-tab-here{opacity:.75;margin-left:6px;font-size:10.5px}.docs-tab-here:before{content:"· "}.docs-tab-panel{padding-top:14px;display:none}.docs-tab-panel.on,.docs-tabs>input:first-of-type:checked~.docs-tab-panels>.docs-tab-panel:first-child,.docs-tabs>input:nth-of-type(2):checked~.docs-tab-panels>.docs-tab-panel:nth-child(2),.docs-tabs>input:nth-of-type(3):checked~.docs-tab-panels>.docs-tab-panel:nth-child(3),.docs-tabs>input:nth-of-type(4):checked~.docs-tab-panels>.docs-tab-panel:nth-child(4){display:block}.docs-tabs>input:first-of-type:checked~.docs-tab-bar>label:first-child,.docs-tabs>input:nth-of-type(2):checked~.docs-tab-bar>label:nth-child(2),.docs-tabs>input:nth-of-type(3):checked~.docs-tab-bar>label:nth-child(3),.docs-tabs>input:nth-of-type(4):checked~.docs-tab-bar>label:nth-child(4){background:var(--accent);border-color:var(--accent);color:#fff}@media (width>=1180px){.docs-page .docs-article.narrow .docs-preview.graph,.docs-page .docs-article.narrow .docs-graph-tabs,.docs-page .docs-article.narrow .docs-tab-panel .docs-preview.graph{width:min(940px,100vw - 420px);margin-left:calc(50% + min(940px,100vw - 420px)/-2)}.docs-page .docs-article.narrow .docs-preview.graph .graph-viewport{height:360px}}.docs-graph-tabs>input{opacity:0;pointer-events:none;position:absolute}.docs-graph-tabs .docs-tab-bar{border-bottom:0;gap:4px;padding-bottom:0}.docs-graph-tabs .docs-tab-bar label,.docs-graph-tabs .docs-tab-bar button{border-bottom-color:#0000;border-radius:6px 6px 0 0}.docs-graph-tabs.with-panel{grid-template-columns:minmax(0,240px) minmax(0,1fr);grid-template-areas:"label label"".bar""panel graph";align-items:start;column-gap:14px;display:grid}.docs-graph-tabs.with-panel>.docs-tabs-label{grid-area:label}.docs-graph-tabs.with-panel>.docs-tab-bar{grid-area:bar}.docs-graph-tabs.with-panel>.graph-declares{grid-area:panel}.docs-graph-tabs.with-panel>.docs-tab-panels,.docs-graph-tabs.with-panel>.docs-preview{grid-area:graph;min-width:0}@media (width<=860px){.docs-graph-tabs.with-panel{grid-template-columns:minmax(0,1fr);grid-template-areas:"label""panel""bar""graph"}.docs-graph-tabs.with-panel>.graph-declares{margin-bottom:14px}}.docs-graph-tabs .docs-graph-panel{border-top-left-radius:0;margin-top:0;display:none}.docs-graph-tabs.live .docs-graph-panel,.docs-graph-tabs>input:first-of-type:checked~.docs-tab-panels>.docs-graph-panel:first-child,.docs-graph-tabs>input:nth-of-type(2):checked~.docs-tab-panels>.docs-graph-panel:nth-child(2),.docs-graph-tabs>input:nth-of-type(3):checked~.docs-tab-panels>.docs-graph-panel:nth-child(3),.docs-graph-tabs>input:nth-of-type(4):checked~.docs-tab-panels>.docs-graph-panel:nth-child(4){display:block}.docs-graph-tabs>input:first-of-type:checked~.docs-tab-bar>label:first-child,.docs-graph-tabs>input:nth-of-type(2):checked~.docs-tab-bar>label:nth-child(2),.docs-graph-tabs>input:nth-of-type(3):checked~.docs-tab-bar>label:nth-child(3),.docs-graph-tabs>input:nth-of-type(4):checked~.docs-tab-bar>label:nth-child(4){background:var(--accent);border-color:var(--accent);color:#fff}.docs-content details.docs-details{border-top:1px solid var(--border);padding:10px 0}.docs-content details.docs-details:last-child{border-bottom:1px solid var(--border)}.docs-content details.docs-details>summary{cursor:pointer;align-items:baseline;gap:10px;font-size:16px;font-weight:600;list-style:none;display:flex}.docs-content details.docs-details>summary::-webkit-details-marker{display:none}.docs-content details.docs-details>summary:before{content:"▸";color:var(--fg-faint);font-size:11px}.docs-content details.docs-details[open]>summary:before{content:"▾"}.docs-content details.docs-details>summary .aside,.docs-content h3 .aside{color:var(--fg-faint);margin-left:auto;font-size:12px;font-weight:400}.docs-content .badge.latest{border:1px solid color-mix(in srgb, var(--accent) 60%, transparent);color:var(--accent);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:600}.docs-content details.docs-details h3{align-items:baseline;gap:10px;margin-top:22px;display:flex}.docs-page .docs-content h4{letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);margin:14px 0 6px;font-size:11.5px}:root[data-docs-font=serif] .docs-article{font-family:Georgia,Iowan Old Style,Palatino Linotype,Times New Roman,serif}:root[data-docs-font=wide] .docs-article{font-family:Verdana,Tahoma,DejaVu Sans,sans-serif}:root[data-docs-font=mono] .docs-article{font-family:Cascadia Mono,Consolas,ui-monospace,monospace}.settings-range{align-items:center;gap:10px;display:flex}.settings-range input[type=range]{width:180px;accent-color:var(--accent)}.settings-range .value{min-width:4ch;color:var(--fg-muted);font-variant-numeric:tabular-nums}.docs-title .badge{vertical-align:middle;letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);border:1px solid var(--border);white-space:nowrap;border-radius:999px;margin-left:10px;padding:1px 8px;font-size:10px;font-weight:600}.docs-title p.docs-status{margin:10px 0 0;line-height:1}.docs-title .docs-status .badge{margin-left:0}.docs-title .badge.review.pending{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 60%, transparent)}.docs-title .badge.runtime.luau{color:var(--fg-muted);border-color:var(--border)}.docs-title .badge.runtime.roblox{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.docs-title .badge.runtime.lune{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, transparent)}.docs-title .badge.review.reviewed{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 60%, transparent)}.docs-title .badge.review.verified{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 60%, transparent)}.docs-neighbours{justify-content:space-between;gap:12px;margin:40px 0 0;display:flex}.docs-neighbour{border:1px solid var(--border);min-width:0;max-width:48%;color:var(--fg);border-radius:6px;flex-direction:column;gap:2px;padding:8px 12px;text-decoration:none;display:flex}.docs-neighbour:hover{border-color:var(--border-strong);background:var(--bg-hover)}.docs-neighbour.next{text-align:right;margin-left:auto}.docs-neighbour.none{pointer-events:none;border:0;padding:0}.docs-neighbour .way{text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);font-size:11px}.docs-neighbour .title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.docs-content p.docs-reviewed{border-top:1px solid var(--border);color:var(--fg-faint);margin:44px 0 0;padding-top:12px;font-size:12.5px}.docs-content p.docs-verify{color:var(--fg-faint);margin:4px 0 0;font-size:12.5px;line-height:1.55}.docs-page .docs-article{width:100%;max-width:940px}.docs-page .docs-article>p,.docs-page .docs-article>ul:not(.docs-pins),.docs-page .docs-article>ol{max-width:none}@media (width>=1500px){.docs-page .docs-body{grid-template-columns:288px minmax(0,1fr) 240px}.docs-page .docs-article{max-width:1040px}}.docs-static .docs-link,.docs-static .docs-hit,.docs-static .docs-palette-hit{color:inherit;text-decoration:none}.docs-static .docs-section-head{align-items:center;gap:6px;list-style:none;display:flex}.docs-static .docs-section-head::-webkit-details-marker{display:none}.docs-static .docs-section-head:before{content:"";opacity:.55;border-top:3.5px solid #0000;border-bottom:3.5px solid #0000;border-left:4px solid;flex:none;width:0;height:0;transition:transform .12s}.docs-static details[open]>.docs-section-head:before{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.docs-static .docs-section-head:before{transition:none}}.docs-static .docs-page-head .logo{color:inherit;text-decoration:none}.docs-section-head.solo{padding-left:6px;text-decoration:none}.docs-static .docs-section-head.solo:before{content:none}.docs-section-head.solo.on{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--fg)}.docs-page .docs-content h2{align-items:baseline;gap:14px;display:flex}.docs-page .docs-content h2 .aside{color:var(--fg-faint);font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:auto;font-size:12px;font-weight:400}.docs-page .docs-article.narrow{max-width:78ch}.docs-page .docs-article.narrow>p,.docs-page .docs-article.narrow>ul,.docs-page .docs-article.narrow>ol{max-width:none}.docs-page .docs-content h2{border-top:1px solid var(--border);margin-top:34px;padding-top:20px}.docs-page .docs-content h2:first-of-type{border-top:0;padding-top:0}.centre-notice{z-index:6;background:var(--bg-panel);border:1px solid color-mix(in srgb, var(--warning) 55%, var(--border));border-radius:6px;align-items:center;gap:10px;max-width:min(460px,100% - 32px);padding:7px 7px 7px 12px;font-size:12px;display:flex;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000047}@keyframes centre-notice-in{0%{opacity:0;transform:translate(-50%,8px)}}@media (prefers-reduced-motion:no-preference){.centre-notice{animation:.14s ease-out centre-notice-in}}.compile-toast{background:var(--bg-panel);border:1px solid var(--border);cursor:pointer;z-index:5;border-radius:5px;width:260px;padding:8px 10px 9px;font-size:11px;position:absolute;bottom:16px;right:16px;box-shadow:0 4px 16px #00000047}.compile-toast .head{align-items:baseline;gap:8px;display:flex}.compile-toast .what{color:var(--fg);font-weight:600}.compile-toast .count{color:var(--fg-faint);font-variant-numeric:tabular-nums;margin-left:auto}.compile-toast .detail{color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;overflow:hidden}.compile-toast.has-failures .detail{color:var(--danger)}.compile-toast .track{background:var(--bg-input);border-radius:2px;height:3px;margin-top:7px;overflow:hidden}.compile-toast .track .fill{background:var(--accent);height:100%;transition:width .12s linear;display:block}.compile-toast.has-failures .track .fill{background:var(--danger)}.canvas.locked{box-shadow:inset 0 0 0 2px var(--accent)}.canvas-lock{cursor:progress;background:color-mix(in srgb, var(--accent) 5%, transparent);justify-content:center;align-items:flex-start;display:flex;position:absolute;inset:0}.canvas-lock span{color:var(--bg-panel);background:var(--accent);border-radius:0 0 4px 4px;margin-top:52px;padding:4px 12px;font-size:11px;font-weight:600;box-shadow:0 2px 8px #0000004d}.editing-locked{pointer-events:none;opacity:.5}.docs-tags{flex-wrap:wrap;gap:6px;margin:-4px 0 12px;display:flex}.docs-tag{letter-spacing:.04em;border:1px solid color-mix(in srgb, var(--fg-faint) 40%, transparent);color:var(--fg-muted);white-space:nowrap;border-radius:3px;padding:2px 8px;font-size:10px;font-weight:600}.docs-tag.tag-feature{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, transparent);background:color-mix(in srgb, var(--ok) 10%, transparent)}.docs-tag.tag-fix{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.docs-tag.tag-breaking{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 50%, transparent);background:color-mix(in srgb, var(--danger) 10%, transparent)}.docs-tag.tag-editor,.docs-tag.tag-designer,.docs-tag.tag-docs{color:var(--fg-faint);border-style:dashed}.docs-table.bare{border:1px solid var(--border);border-radius:5px;margin-bottom:16px;overflow:hidden}.docs-table.bare td{padding:10px 12px;font-size:12px;line-height:1.55}.docs-table.bare tr:last-child td{border-bottom:none}.docs-content h2:has(+.docs-tags):not(:first-of-type){border-top:1px solid var(--border);margin-top:34px;padding-top:26px}.docs-preview.graph{background:0 0;border:none;border-radius:0;padding:0}.docs-preview.graph figcaption{padding:8px 2px 0}.docs-preview.graph .graph-viewport{border:1px solid var(--border);background:var(--bg-canvas);background-image:linear-gradient(to right, color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--border) 55%, transparent) 1px, transparent 1px);background-size:24px 24px;border-radius:5px;height:260px;position:relative;overflow:hidden}.docs-preview.graph .graph-viewport.interactive{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.docs-preview.graph .graph-viewport.panning{cursor:grabbing}.docs-preview.graph .graph-viewport svg{display:block;position:absolute;top:0;left:0}.docs-preview.graph .graph-viewport.interactive:after{opacity:0;content:"scroll to zoom · drag to pan · double-click to fit";color:var(--fg-faint);background:color-mix(in srgb, var(--bg-panel) 80%, transparent);pointer-events:none;border-radius:3px;padding:1px 6px;font-size:10px;transition:opacity .12s;position:absolute;bottom:6px;right:8px}.docs-preview.graph .graph-viewport.interactive:hover:after{opacity:1}@media (prefers-reduced-motion:reduce){.docs-preview.graph .graph-viewport.interactive:after{transition:none}}.settings{width:min(900px,100%);height:min(720px,100%)}.settings .docs-head .spacer{flex:1}.settings-tab{text-align:left;flex-direction:column;align-items:flex-start;gap:1px;display:flex}.settings-tab-sub{color:var(--fg-faint);font-size:10px}.settings-page{padding:18px 22px 40px;overflow:auto}.settings-page h2{margin:0 0 4px;font-size:15px}.settings-page h3{margin:26px 0 4px;font-size:13px}.inspector-warn{border-left:3px solid var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent);border-radius:6px;margin:8px 0 4px;padding:9px 10px;line-height:1.5}.inspector-warn p{margin:0 0 8px}.alias-doc{height:100%;padding:20px 24px 40px;overflow:auto}.alias-doc .settings-warn,.alias-doc .settings-note,.alias-doc .settings-problem,.alias-doc .alias-scope{max-width:none}.alias-doc .alias-row{grid-template-columns:minmax(140px,220px) 1fr;align-items:center;gap:12px}.alias-doc .alias-row .setting-label{gap:1px;min-width:0}.alias-doc .alias-row .setting-label span{overflow-wrap:anywhere}.alias-doc-head h1{margin:0 0 4px;font-size:16px}.alias-doc h2{margin:28px 0 4px;font-size:14px}.alias-scope{color:var(--fg-muted);max-width:64ch;margin:0 0 18px;line-height:1.55}.alias-control{align-items:center;gap:6px;display:flex}.alias-control input{flex:1;min-width:0}.alias-row .setting-label input{margin-bottom:3px}.alias-from{color:var(--fg-faint);justify-content:flex-end}.alias-inherited .setting-control{opacity:.8}.settings-warn{border-left:3px solid var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent);border-radius:6px;max-width:64ch;margin:0 0 14px;padding:10px 12px;line-height:1.55}.settings-problem{max-width:64ch;margin:4px 0;line-height:1.5}.settings-problem.error{color:var(--danger)}.settings-problem.warning{color:var(--warning)}.docs.docs-compact{width:min(560px,100%);height:auto;max-height:min(520px,100%)}.settings-note{color:var(--fg-muted);max-width:64ch;margin:0 0 14px;line-height:1.55}.settings-note code{background:var(--capsule-bg);border:1px solid var(--capsule-border);border-radius:3px;padding:0 4px}.setting{border-top:1px solid var(--border);grid-template-columns:1fr 260px;align-items:start;gap:16px;padding:11px 0;display:grid}.setting-label{flex-direction:column;gap:3px;display:flex}.setting-label span{color:var(--fg-faint);line-height:1.5}.setting-control{justify-content:flex-end;display:flex}.setting-control>*{width:100%}.setting-control .segmented{display:flex}.setting-control .segmented button{text-align:center;flex:1}.settings-toggle{background:var(--bg-input);border:1px solid var(--border);cursor:pointer;border-radius:5px;align-items:center;gap:7px;padding:4px 9px;display:flex}.settings-toggle:hover{border-color:var(--border-strong)}.path-list{flex-direction:column;gap:6px;max-width:520px;display:flex}.path-row{gap:6px;display:flex}.path-row input{flex:1}.theme-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:16px;display:grid}.theme-card{background:var(--bg-input);border:1px solid var(--border);cursor:pointer;text-align:left;color:inherit;font:inherit;border-radius:7px;flex-direction:column;gap:4px;padding:6px;display:flex}.theme-card:hover{border-color:var(--border-strong)}.theme-card.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.theme-swatch,.theme-swatch-pair{aspect-ratio:160/78;border:1px solid var(--border);border-radius:4px;width:100%;display:block;overflow:hidden}.theme-swatch-pair{position:relative}.theme-swatch-pair .half{width:50%;position:absolute;inset:0;overflow:hidden}.theme-swatch-pair .half svg{width:200%;height:100%}.theme-swatch-pair .half.right{left:50%}.theme-swatch-pair .half.right svg{margin-left:-100%}.theme-name{padding:0 2px;font-weight:600}.theme-credit{color:var(--fg-faint);min-height:14px;padding:0 2px 2px;font-size:11px}.role-table{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2px 16px;display:grid}.role{grid-template-columns:14px 118px 1fr;align-items:center;gap:8px;padding:3px 0;display:grid}.role .chip{border:1px solid var(--border-strong);border-radius:3px;width:14px;height:14px}.role span:last-child{color:var(--fg-faint)}.licence h3 .spdx{color:var(--fg-faint);border:1px solid var(--capsule-border);background:var(--capsule-bg);vertical-align:middle;border-radius:3px;margin-left:6px;padding:1px 5px;font-size:11px;font-weight:400}.licence-text{background:var(--bg-input);border:1px solid var(--border);white-space:pre-wrap;color:var(--fg-muted);border-radius:6px;max-height:260px;margin:0 0 18px;padding:12px 14px;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:11px;line-height:1.5;overflow:auto}.preview-luau{grid-template-rows:auto 1fr;width:min(760px,100%);height:min(620px,100%)}.preview-luau .docs-head .spacer{flex:1}.preview-toggle{color:var(--fg-muted);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.preview-body{min-height:0;padding:12px 14px 20px;overflow:auto}.preview-note{background:var(--capsule-bg);border:1px solid var(--capsule-border);color:var(--fg-muted);border-radius:6px;margin:0 0 12px;padding:9px 11px;line-height:1.55}.preview-code{white-space:pre;margin:0;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:12px;line-height:1.6;overflow-x:auto}.preview-code .ln{display:block}.preview-code .num{text-align:right;width:3.5ch;color:var(--fg-faint);-webkit-user-select:none;user-select:none;margin-right:12px;display:inline-block}.preview-code .ln.mine{background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:inset 2px 0 0 var(--accent)}.preview-code .ln.mine .num{color:var(--accent)}.preview-code .ln.downstream{background:color-mix(in srgb, var(--ok) 12%, transparent);box-shadow:inset 2px 0 0 var(--ok)}.preview-code .ln.downstream .num{color:var(--ok)}.preview-code .fold{color:var(--fg-faint);-webkit-user-select:none;user-select:none;padding-left:4.5ch;display:block}.docs-bar{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;margin:0 0 22px;overflow:hidden}.docs-bar-picture{overflow-x:auto}.docs-bar-frame{-webkit-user-select:none;user-select:none;background:var(--bg-app);min-width:min-content;padding:12px}.docs-bar-frame.bar>.toolbar,.docs-bar-frame.head>.docs-page-head{border:1px solid var(--border);border-radius:7px}.docs-bar-frame.panel,.docs-bar-frame.inspector{flex-direction:column;align-items:safe center;display:flex}.docs-bar-frame.panel>.variables{border:1px solid var(--border);background:var(--bg-panel);border-radius:7px;width:min(340px,100%);padding:4px 0 8px}.docs-bar-frame.inspector>.inspector{border:1px solid var(--border);background:var(--bg-panel);border-radius:7px;width:min(360px,100%);padding:12px}.docs-bar-frame.inspector .docs-bar-field,.docs-bar-frame.inspector .docs-bar-select{box-sizing:border-box;border:1px solid var(--border);background:var(--bg-input);width:100%;min-width:0;color:var(--fg);text-align:left;white-space:nowrap;text-overflow:ellipsis;border-radius:5px;padding:5px 8px;display:block;overflow:hidden}.docs-bar-frame.inspector .docs-bar-select{justify-content:space-between;align-items:center;gap:8px;display:flex}.docs-bar-frame.inspector>.inspector{overflow:hidden}.docs-bar-frame.inspector .list-row button{text-align:center;padding:0}.docs-bar-frame.inspector .list-row{grid-template-columns:minmax(0,3fr) minmax(0,2fr) 24px;gap:4px;margin-top:4px;display:grid}.docs-bar-frame.panel h2,.docs-bar-frame.panel h3.variables-sub{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);align-items:center;gap:8px;margin:10px 0 4px;padding:0 10px;font-size:10px;font-weight:600;display:flex}.docs-bar-frame.panel h2 button.tb,.docs-bar-frame.panel h3.variables-sub button.tb{margin-left:auto;padding:1px 8px;font-size:11px}.docs-bar-frame.panel .variable-head{padding:3px 10px}.docs-bar-frame.panel .panel-section{border-radius:6px;padding:1px 0 3px;transition:opacity .12s}.docs-bar-frame.panel .panel-section.dim{opacity:.4}.docs-bar-frame.panel .panel-section.focus{background:color-mix(in srgb, var(--accent) 9%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent)}.docs-bar-frame.panel .panel-section.dim:has(.lit){opacity:1}.docs-bar-frame.panel .hint{margin:0;padding:2px 10px 4px}.docs-bar-frame.float{background-color:var(--bg-canvas);background-image:linear-gradient(var(--grid-fine) 1px, transparent 1px), linear-gradient(90deg, var(--grid-fine) 1px, transparent 1px);background-size:24px 24px;padding:20px 14px}.docs-bar-frame [data-control],.docs-bar-frame [data-control] button{cursor:help}.docs-bar-frame button.tb:hover:not(:disabled),.docs-bar-frame .segmented button:hover{background:var(--bg-input);border-color:var(--border)}.docs-bar-frame button.tb.primary:hover:not(:disabled){background:var(--accent);filter:none}.docs-bar-frame button.tb.on:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, var(--bg-input));border-color:var(--accent)}.docs-bar-frame button.tb.icon-only:hover:not(:disabled){color:var(--fg-muted)}.docs-bar-frame.bar>.toolbar,.docs-bar-frame.head>.docs-page-head{border-bottom:0;flex-wrap:nowrap}.docs-bar-frame.float>.floating-tools{flex-wrap:nowrap;margin:0;position:static}.docs-bar-frame .tb.docs-bar-select{background:var(--bg-input);border:1px solid var(--border);white-space:nowrap;border-radius:5px;align-items:center;gap:8px;padding:4px 9px;display:inline-flex}.docs-bar-frame .tb.docs-bar-select:after{content:"";border:4px solid #0000;border-top-color:var(--fg-muted);width:0;height:0;margin-top:2px}.docs-bar [data-control]{border-radius:6px}.docs-bar.linked [data-control]{transition:box-shadow 90ms,background-color 90ms}.docs-bar-frame [data-control].lit{box-shadow:0 0 0 2px var(--accent)}.docs-bar-legend li.lit{background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:inset 2px 0 0 var(--accent)}.docs-bar.linked .docs-bar-legend li{cursor:help}.docs-bar.linked .docs-bar-legend li a{cursor:pointer}.docs-bar-hint{color:var(--fg-faint);border-top:1px solid var(--border);padding:8px 14px;font-size:11px}.docs-bar:not(.linked) .docs-bar-hint{display:none}@media (hover:none){.docs-bar-hint:after{content:" Tap one to keep it lit."}}.docs-bar-summary{color:var(--fg-muted);border-top:1px solid var(--border);background:var(--bg-panel);margin:0;padding:10px 14px;font-size:12px}.docs-bar .docs-bar-legend{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.docs-bar .docs-bar-legend li{border-bottom:1px solid var(--border);grid-template-columns:minmax(9rem,14rem) 1fr;gap:4px 18px;margin:0;padding:9px 14px;font-size:13px;line-height:1.55;display:grid}.docs-bar-legend li:last-child{border-bottom:0}.docs-bar-name{flex-direction:column;gap:2px;font-weight:600;display:flex}.docs-bar-where{color:var(--fg-faint);font-size:11px;font-weight:400}.docs-bar-what{color:var(--fg-muted)}.docs-bar figcaption{border-top:1px solid var(--border);color:var(--fg-muted);padding:10px 14px;font-size:12px;line-height:1.5}@container (width<=620px){.docs-bar .docs-bar-legend li{grid-template-columns:1fr;gap:2px}}.variables .swatch.module{border:1px solid var(--fg-faint);background:0 0}.variables h3.variables-sub{align-items:center;gap:8px;display:flex}.variables h3.variables-sub button.tb{margin-left:auto;padding:1px 8px;font-size:11px}.menu-runtimes{flex-wrap:wrap;align-items:center;gap:4px;padding:8px;display:flex}.menu-runtimes button{font:inherit;border:1px solid var(--border);background:var(--bg-input);color:var(--fg-muted);cursor:pointer;border-radius:999px;padding:1px 8px;font-size:11px;line-height:1.6}.menu-runtimes button:hover{border-color:var(--border-strong);color:var(--fg)}.menu-runtimes .only{color:var(--fg-faint);padding:1px 2px;font-size:11px;line-height:1.6}.menu-runtimes .only strong{color:var(--fg-muted);font-weight:600}.menu-runtimes button.on{background:color-mix(in srgb, var(--accent) 18%, var(--bg-input));border-color:var(--accent);color:var(--accent)}.hint.runtime{text-transform:uppercase;letter-spacing:.04em;border:1px solid #0000;border-radius:3px;align-self:center;padding:0 4px;font-size:9px}.hint.runtime.roblox{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 40%, transparent)}.hint.runtime.lune{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 45%, transparent)}.hint.runtime.graph{color:var(--fg-muted);border-color:var(--border)}.docs-page .docs-article>.docs-map{--frame:min(1280px, calc(100cqw - 32px));box-sizing:border-box;width:var(--frame);margin:0 0 18px calc((100% - var(--frame)) / 2);max-width:none;padding:0}.docs-page .docs-content .docs-map-frame h2{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);border:0;margin:0;padding:10px 12px 6px;font-size:11px;font-weight:600}.docs-page .docs-content .docs-map-frame p.summary{max-width:none;color:var(--fg-muted);margin:0;padding:0 12px 6px;font-size:11px;line-height:1.45}.docs-page .docs-content .docs-map-frame p.summary code{padding:0 3px;font-size:10.5px}.docs-map-body{grid-template-columns:minmax(0,1fr) minmax(0,290px);align-items:stretch;gap:18px;display:grid}@media (width<=900px){.docs-map-body{grid-template-columns:minmax(0,1fr)}}.docs-map-frame{border:1px solid var(--border);background:var(--bg-panel);border-radius:6px;max-height:min(860px,88vh);display:flex;overflow:hidden}.docs-map-frame .map-editor{flex:1;min-width:0;min-height:380px}.docs-map-frame .map-preview{max-height:320px}.map-preview-line{border-radius:3px;transition:background-color 90ms,box-shadow 90ms;display:block}.map-reach{float:right;color:var(--fg-faint);padding-left:24px}.docs-map .map-preview-line.lit,.docs-map .map-row.lit{background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:inset 2px 0 0 var(--accent)}.docs-map .map-row[data-control]{cursor:pointer}.docs-map-frame .map-editor button[disabled],.docs-map-frame .map-editor .map-actions select[disabled]{opacity:.38;cursor:default}.docs-map-frame .map-editor input[readonly],.docs-map-frame .map-editor select[disabled]{cursor:default}.docs-map-legend{flex-direction:column;align-content:start;gap:10px;margin:0;padding:0;list-style:none;display:flex}.docs-map-legend li{border-left:2px solid #0000;border-radius:5px;padding:4px 10px 5px;font-size:12px;line-height:1.5;transition:background-color 90ms,opacity 90ms}.docs-map-legend .docs-map-part{color:var(--fg);margin-bottom:1px;font-weight:600;display:block}.docs-map-legend .docs-map-what{color:var(--fg-muted);text-wrap:pretty;display:block}.docs-map.linked .docs-map-legend li{cursor:help}.docs-map.pointing .docs-map-legend li,.docs-map.pointing .docs-map-frame [data-part]{opacity:.32}.docs-map.pointing .docs-map-legend li.shown,.docs-map.pointing .docs-map-frame [data-part].shown{opacity:1}.docs-map-legend li.shown{background:color-mix(in srgb, var(--accent) 12%, transparent);border-left-color:var(--accent)}.docs-map-frame [data-part]{position:relative}.docs-map-frame [data-part].shown:after{content:"";border:2px solid var(--accent);pointer-events:none;z-index:4;border-radius:4px;position:absolute;inset:0}.docs-map>figcaption{margin:8px 0 0}@media (width<=860px){.docs-map-frame .map-editor{grid-template-columns:minmax(0,1fr);height:auto}.docs-map-frame .map-side{border-left:none;border-top:1px solid var(--border)}}.intro-backdrop{z-index:68;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000073;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.intro-panel{border:1px solid var(--border-strong);background:var(--bg-panel);border-radius:10px;flex-direction:column;width:min(760px,100%);max-height:min(640px,100%);display:flex;overflow:hidden;box-shadow:0 18px 60px #00000080}.intro-head{border-bottom:1px solid var(--border);background:var(--bg-input);align-items:center;gap:10px;padding:12px 12px 12px 16px;display:flex}.intro-head .logo{letter-spacing:.01em;color:var(--fg);align-items:center;gap:9px;font-size:15px;font-weight:600;display:flex}.intro-where{border-left:1px solid var(--border);color:var(--fg-dim);align-items:center;gap:6px;padding-left:10px;font-size:12px;display:flex}.intro-body{flex:1;min-height:0;padding:4px 0 8px;overflow-y:auto}.intro-shelf{padding:10px 0 4px}.intro-shelf-head{align-items:center;gap:8px;padding:0 16px 8px;display:flex}.intro-shelf-head h2{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);margin:0;font-size:11px;font-weight:600}.intro-arrows{gap:4px;margin-left:auto;display:flex}.turn-left,.turn-right{display:inline-flex}.turn-left svg{transform:rotate(90deg)}.turn-right svg{transform:rotate(-90deg)}.intro-rail{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:transparent transparent;gap:10px;padding:2px 16px 6px;scroll-padding-inline:16px;transition:scrollbar-color .12s;display:flex;overflow-x:auto}.intro-shelf:hover .intro-rail{scrollbar-color:var(--border-strong) transparent}.intro-card{scroll-snap-align:start;border:1px solid var(--border);background:var(--bg-input);text-align:left;cursor:pointer;border-radius:8px;flex-direction:column;flex:none;gap:3px;width:220px;padding:11px 12px;transition:border-color 90ms,background-color 90ms;display:flex}.intro-card:hover{border-color:var(--accent);background:var(--bg-hover)}.intro-card.on{border-color:color-mix(in srgb, var(--accent) 60%, transparent)}.intro-card-name{color:var(--fg);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.intro-card .badge{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);border:1px solid var(--border);white-space:nowrap;border-radius:3px;padding:1px 4px;font-size:9px;font-weight:600}.intro-card .badge.runtime.roblox{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.intro-card .badge.runtime.lune{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 50%, transparent)}.intro-card-what{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;line-height:1.4;overflow:hidden}.intro-card-open{letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);margin-top:2px;font-size:10.5px}.intro-empty{text-align:center;color:var(--fg-muted);margin:0;padding:28px 16px;font-size:12.5px}.intro-foot{border-top:1px solid var(--border);background:var(--bg-input);align-items:center;gap:8px;padding:10px 12px;display:flex}@media (width<=620px){.intro-foot{flex-wrap:wrap}.intro-foot>span[style]{display:none}}.docs-page-head .logo.as-chip{font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;margin-left:-6px;padding:2px 6px;transition:background-color 90ms,border-color 90ms}.docs-page-head .logo.as-chip:hover{border-color:var(--border);background:var(--bg-hover)}.docs-page-head .logo.as-chip:active{background:color-mix(in srgb, var(--accent) 14%, var(--bg-hover))}.docs-page-head .logo.as-chip:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.intro-trouble{color:var(--danger);margin:0;padding:4px 16px 10px;font-size:12px}.intro-card:disabled{opacity:.55;cursor:default}.docs-preview.graph.with-panel{grid-template-columns:minmax(0,240px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.docs-preview.graph.with-panel>figcaption{grid-column:1/-1}.graph-declares .docs-bar-frame{margin:0}@media (width<=860px){.docs-preview.graph.with-panel{grid-template-columns:minmax(0,1fr)}}.intro-card{position:relative}.intro-card-open-it{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:3px;padding:0;display:flex}.intro-forget{opacity:0;width:20px;min-width:0;height:20px;padding:0;transition:opacity 90ms;position:absolute;top:6px;right:6px}.intro-card:hover .intro-forget,.intro-forget:focus-visible{opacity:1}.intro-card.gone{border-color:color-mix(in srgb, var(--danger) 55%, transparent)}.intro-card-open.gone{color:var(--danger)}.docs-toggle{border:1px solid var(--border);background:var(--bg-input);cursor:pointer;border-radius:6px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:2px 9px;margin:0 0 18px;padding:10px 12px;display:grid}.docs-toggle input{cursor:pointer;margin:2px 0 0}.docs-toggle-label{color:var(--fg);font-weight:600}.docs-toggle-hint{color:var(--fg-muted);grid-column:2;font-size:12px;line-height:1.5}:root[data-showprereleasenotes=off] .docs-details[data-prerelease]{display:none}.app,.designer,.docs-page{touch-action:manipulation;-webkit-touch-callout:none}@media (pointer:coarse){.app,.designer{-webkit-user-select:none;user-select:none}.app :is(input,textarea,[contenteditable=true],.cm-content),.designer :is(input,textarea,[contenteditable=true],.cm-content){-webkit-user-select:text;user-select:text}.splitter.col{border-left-width:9px;border-right-width:9px;margin:0 -9px}}.canvas-hold{border:2px solid var(--select);background:color-mix(in srgb, var(--select) 14%, transparent);pointer-events:none;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;animation:.14s ease-out canvas-hold-in;position:absolute}@keyframes canvas-hold-in{0%{opacity:0;transform:scale(.4)}}@media (prefers-reduced-motion:reduce){.canvas-hold{animation:none}}.touch-lifted{outline:2px solid var(--select);outline-offset:-2px;background:color-mix(in srgb, var(--select) 14%, transparent);border-radius:5px}.touch-drag-ghost{z-index:1000;pointer-events:none;border:1px solid var(--select);background:var(--bg-panel);max-width:240px;color:var(--fg);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:6px 10px;position:fixed;overflow:hidden;transform:translate(-50%,calc(-100% - 18px));box-shadow:0 8px 24px #00000059}.touch-drag-image{z-index:1000;pointer-events:none;opacity:.9;filter:drop-shadow(0 8px 16px #00000059);position:fixed}.touch-drag-image svg{display:block}@media (hover:none) and (pointer:coarse){[draggable=true]{-webkit-user-drag:none}button.tb:hover:not(:disabled):not(.on):not(.primary):not(.danger),select.tb:hover{background:var(--bg-input);border-color:var(--border)}button.tb.on:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 18%, var(--bg-input))}}.dock.drawer{z-index:67;background:var(--bg-panel);width:min(340px,86vw);transition:transform .16s ease-out,visibility .16s;position:absolute;top:0;bottom:0;overflow:auto;box-shadow:0 16px 48px #00000073}.dock.drawer.left{border-right:1px solid var(--border-strong);left:0}.dock.drawer.right{border-left:1px solid var(--border-strong);right:0}.dock.drawer:not(.drawer-open){visibility:hidden;box-shadow:none}.dock.drawer.left:not(.drawer-open){transform:translate(-100%)}.dock.drawer.right:not(.drawer-open){transform:translate(100%)}.drawer-backdrop{z-index:66;background:#00000059;position:relative}.drawer-toggles{z-index:68;pointer-events:none;justify-content:space-between;gap:8px;display:flex;position:absolute;bottom:10px;left:10px;right:10px}.drawer-toggles button.tb{pointer-events:auto;padding:8px 12px;box-shadow:0 4px 14px #0000004d}.drawer-toggles{flex-wrap:wrap;row-gap:8px}.touch-bar{flex-wrap:wrap;flex-basis:100%;justify-content:center;gap:6px;display:flex}.touch-bar button.tb{pointer-events:auto;padding:8px 12px;box-shadow:0 4px 14px #0000004d}.touch-bar-group{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.touch-bar-group.unified{border:1px solid var(--border);background:var(--bg-panel);pointer-events:auto;border-radius:8px;gap:4px;padding:6px 8px;box-shadow:0 4px 14px #0000004d}.touch-bar-group.unified button.tb{box-shadow:none;background:0 0;border-color:#0000}@media (hover:none){.touch-bar .touch-bar-group.unified button.tb:hover:not(:disabled):not(.on){background:0 0;border-color:#0000}}.touch-bar .touch-bar-group button.tb.icon-only{place-items:center;width:46px;height:46px;padding:0;line-height:0;display:inline-grid}.drawer-group{gap:8px;display:flex}.dock.drawer{padding-bottom:56px}.dock.drawer .panel{flex:1;min-height:0}.dock.drawer .panel.panel-away{display:none}.dock.drawer .panel-variables{flex:1;max-height:none}@media (prefers-reduced-motion:reduce){.dock.drawer{transition:none}}.pack-view.compact{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);position:relative}.pack-compact-bar{z-index:68;border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:10px;min-width:0;padding:6px 10px;display:flex;position:relative}.pack-compact-slot{flex:none;gap:8px;margin-left:auto;display:flex}.pack-compact-slot:empty{display:none}.pack-compact-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg-muted);flex:1;overflow:hidden}.pack-view.compact .pack-nodes.drawer{z-index:67;box-sizing:border-box;border-right:1px solid var(--border-strong);grid-area:2/1;width:min(320px,86vw);transition:transform .16s ease-out,visibility .16s;position:absolute;top:0;bottom:0;left:0;box-shadow:0 16px 48px #00000073}.pack-view.compact .pack-nodes.drawer:not(.drawer-open){visibility:hidden;box-shadow:none;transform:translate(-100%)}.pack-scrim{z-index:66;background:#00000059;grid-area:2/1;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.pack-view.compact .pack-nodes.drawer{transition:none}}.node-editor-views{border-bottom:1px solid var(--border);background:var(--bg-panel);justify-content:center;padding:6px 10px;display:flex}.logic-head.logic-head-slim:not(:has(>*)){display:none}.node-editor.split .logic-splitter,.node-editor.split.view-preview .node-logic,.node-editor.split.view-logic .node-editor-stage{display:none}.node-editor.split.view-logic .node-logic{flex:1}.node-editor.split .logic-split{grid-template-rows:minmax(0,1fr) minmax(120px,30%);grid-template-columns:minmax(0,1fr)}@media (width<=640px){.docs-backdrop{padding:8px}.settings .docs-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.settings .docs-nav{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;gap:4px;padding:6px;overflow-x:auto}.settings .settings-tab{white-space:nowrap;flex:none;width:auto}.settings .settings-tab-sub{display:none}.settings-page{padding:14px 14px 32px}.setting{grid-template-columns:minmax(0,1fr);gap:8px}.setting-control{justify-content:flex-start}}.docs-nav-check{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.docs-page-head .tb.docs-nav-toggle,.docs-page-head .tb.docs-search-toggle{display:none}.docs-page-head label.tb{cursor:pointer;background:var(--bg-input);border:1px solid var(--border);box-sizing:border-box;border-radius:5px;align-items:center;height:29px;padding:4px 9px}@media (width<=760px),(hover:none) and (pointer:coarse){.docs-page-head .tb.docs-nav-toggle,.docs-page-head .tb.docs-search-toggle:not([hidden]){display:inline-flex}.docs-page .docs-body{grid-template-columns:minmax(0,1fr);position:relative}.docs-page .docs-nav{display:none}.docs-page.nav-open .docs-nav{box-sizing:border-box;z-index:5;background:var(--bg-panel);border-right:1px solid var(--border-strong);width:min(360px,100%);display:flex;position:absolute;top:0;bottom:0;left:0;box-shadow:0 16px 48px #00000073}.docs-page:has(.docs-nav-check:checked) .docs-nav{box-sizing:border-box;z-index:5;background:var(--bg-panel);border-right:1px solid var(--border-strong);width:min(360px,100%);display:flex;position:absolute;top:0;bottom:0;left:0;box-shadow:0 16px 48px #00000073}.docs-page.nav-open .docs-nav-scrim{z-index:4;cursor:pointer;background:#00000059;display:block;position:absolute;inset:0}.docs-page:has(.docs-nav-check:checked) .docs-nav-scrim{z-index:4;cursor:pointer;background:#00000059;display:block;position:absolute;inset:0}.docs-page.nav-open .docs-nav-toggle{background:color-mix(in srgb, var(--accent) 18%, var(--bg-input));border-color:var(--accent);color:var(--accent)}.docs-page:has(.docs-nav-check:checked) .docs-nav-toggle{background:color-mix(in srgb, var(--accent) 18%, var(--bg-input));border-color:var(--accent);color:var(--accent)}}@media (hover:none) and (pointer:coarse) and (width>=1101px){.docs-page .docs-body{grid-template-columns:minmax(0,1fr) 210px}}@media (hover:none) and (pointer:coarse) and (width>=1500px){.docs-page .docs-body{grid-template-columns:minmax(0,1fr) 240px}}.docs-nav-scrim{display:none}@media (width<=760px){.docs-page-head{flex-wrap:wrap;row-gap:6px;padding:8px 10px}.docs-page .docs-content{padding:18px 16px 60px}}@media (hover:none) and (pointer:coarse){.docs-palette-foot{display:none}}@media (pointer:coarse){.docs-static :is(input,select,textarea),.docs-palette-field input{font-size:16px}}.docs-palette-backdrop,.docs-static .docs-backdrop{z-index:100}.docs-bar.linked,.docs-map.linked{-webkit-tap-highlight-color:transparent}@media (width<=560px){.docs-page-head .grow{flex-basis:100%;height:0}.docs-page-head .logo .version{display:none}}select:not(.literal):not([multiple]){appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--fg-muted) 50%), linear-gradient(135deg, var(--fg-muted) 50%, transparent 50%);text-overflow:ellipsis;background-position:calc(100% - 13px),calc(100% - 9px);background-repeat:no-repeat;background-size:4px 4px,4px 4px;padding-right:24px}.docs-layout-frame{border:1px solid var(--border-strong);background:var(--bg-app);border-radius:8px;gap:3px;margin:14px;padding:6px;font-size:11px;line-height:1.3;display:grid}.docs-layout-frame.device-desktop{aspect-ratio:16/10}.docs-layout-frame.device-tablet{aspect-ratio:4/3;border:10px solid var(--border-strong);border-radius:22px;max-width:620px;margin-inline:auto}.docs-layout-frame.device-phone{aspect-ratio:9/19;border:9px solid var(--border-strong);border-radius:28px;max-width:280px;margin-inline:auto;font-size:9.5px}.docs-layout-region{border:1px solid var(--border);background:var(--bg-panel);min-width:0;min-height:0;color:var(--fg-muted);border-radius:5px;flex-wrap:wrap;align-content:flex-start;align-items:flex-start;gap:4px 6px;padding:5px 7px;display:flex;overflow:hidden}.docs-layout-region.kind-bar{align-content:center;align-items:center}.docs-layout-region.kind-canvas{background-color:var(--bg-canvas);background-image:linear-gradient(to right, var(--grid-fine) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-fine) 1px, transparent 1px);background-size:14px 14px;align-content:flex-end}.docs-layout-region.number-middle-end{place-content:center flex-end}.docs-layout-region.kind-float{z-index:2;flex-wrap:nowrap;align-self:center;align-items:center;margin:0 6px;box-shadow:0 4px 12px #00000040}.docs-layout-region.kind-float.place-start{justify-self:start}.docs-layout-region.kind-float.place-center{justify-self:center}.docs-layout-region.kind-float.place-end{justify-self:end}.docs-layout-region.kind-drawer{z-index:3;border-color:var(--border-strong);box-shadow:-8px 0 20px #0000004d}.docs-layout-num{background:var(--accent);width:17px;height:17px;color:var(--bg-panel);border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:700;line-height:1;display:inline-grid}.docs-layout-icons,.docs-layout-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.docs-layout-icons.docs-layout-end{margin-left:auto}.docs-layout-chips>span,.docs-layout-chip{border:1px solid var(--border);background:var(--bg-input);white-space:nowrap;border-radius:4px;padding:1px 6px}.docs-bar.docs-layout .docs-bar-picture{overflow:visible}.docs-layout-frame [data-control]{cursor:pointer}.docs-layout-frame [data-control].lit{box-shadow:0 0 0 2px var(--accent)}.docs-layout-legend{list-style:none}.docs-layout-legend .docs-bar-name{flex-flow:wrap;align-items:center;column-gap:7px}.docs-layout-legend .docs-bar-where{flex-basis:100%;padding-left:24px}@media (width<=560px){.docs-layout-frame .docs-layout-chips,.docs-layout-frame .docs-layout-icons{display:none}.docs-layout-frame{margin:8px}}.tb-icon-when-narrow{display:none}@media (width<=899px){.toolbar .group-label,.toolbar .logo .version{display:none}.toolbar .tb-collapsible .tb-icon-when-narrow{display:inline-block}.toolbar .tb-collapsible .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.centre{container:centre/inline-size}@container centre (width<=819px){.floating-tools .tb-collapsible .tb-icon-when-narrow{display:inline-block}.floating-tools .tb-collapsible .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.tool-popout{position:relative}.tool-popout-panel{z-index:20;border:1px solid var(--border-strong);background:var(--bg-panel);border-radius:8px;flex-direction:column;gap:6px;min-width:190px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 10px 28px #00000059}.tool-popout-end .tool-popout-panel{left:auto;right:0}.tool-popout-panel select.tb{width:100%}.tool-popout-up .tool-popout-panel{gap:2px;min-width:170px;padding:5px}.tool-popout-up .tool-popout-panel>button.tb{background:0 0;border-color:#0000;justify-content:flex-start;width:100%}.tool-popout-up .tool-popout-panel>button.tb:hover{background:var(--bg-hover)}.tool-popout-up .tool-popout-panel>.tool-popout-rule{background:var(--border);height:1px;margin:3px 4px}@media (width<=699px){.floating-tools{gap:5px;left:6px;right:6px}.floating-tools .tool-group{gap:4px;padding:4px}}.target-pick{display:inline-flex;position:relative}.target-pick select.doc-target.lune{padding-right:44px}.target-pick .target-warn{color:var(--warning);pointer-events:none;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.target-warn-inline{color:var(--warning)}.pin-chip-grid{flex-wrap:wrap;gap:6px;max-width:260px;display:flex}.pin-counts{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=699px){.docs-page-head .tb-collapsible .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.logic-split.luau-hidden,.node-editor.split .logic-split.luau-hidden{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.docs-layout-frame.device-phone .icon{width:11px;height:11px}.docs-layout-frame.device-phone .docs-layout-region{gap:3px 4px;padding:4px 5px}.docs-layout-frame.device-phone .docs-layout-num{width:14px;height:14px;font-size:9px}.docs-layout-frame.device-phone .docs-layout-region.kind-float{margin:0 3px}.docs-layout-frame.device-phone .docs-layout-chips>span,.docs-layout-frame.device-phone .docs-layout-chip{padding:0 4px}.docs-layout-frame.device-phone .docs-layout-icons{gap:3px}.docs-bar-frame.device-tablet{max-width:760px}.docs-bar-frame.device-phone{max-width:409px}.docs-bar-frame.device-tablet .toolbar,.docs-bar-frame.device-phone .toolbar,.docs-bar-frame.device-tablet .docs-page-head,.docs-bar-frame.device-phone .docs-page-head,.docs-bar-frame.device-tablet .floating-tools,.docs-bar-frame.device-phone .floating-tools{flex-wrap:wrap}.docs-bar-frame .docs-bar-break{flex-basis:100%;height:0}.docs-walk{border:1px solid var(--border);background:var(--bg-panel);border-radius:8px;margin:16px 0;overflow:hidden}.docs-walk-window{background:var(--bg-app);overflow-x:auto}.docs-walk-frame[hidden]{display:none}.docs-walk-frame{width:max-content}.docs-walk-frame .tb{white-space:nowrap}.docs-walk-frame .docs-bar-frame+.docs-bar-frame{padding-top:0}.docs-walk-nav{border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:8px 12px;display:flex}.docs-walk:not(.walk-on) .docs-walk-nav{display:none}.docs-walk-count{text-align:center;color:var(--fg-faint);flex:1;font-size:12px}.docs-walk-steps{margin:0;padding:10px 14px 12px 36px}.docs-walk-steps>li{border-radius:6px;padding:6px 8px}.walk-on .docs-walk-steps>li{cursor:pointer;transition:background-color .12s,color .12s}.walk-on .docs-walk-steps>li.walk-next,.walk-on .docs-walk-steps>li.walk-done{color:var(--fg-faint)}.walk-on .docs-walk-steps>li.walk-done::marker{color:var(--ok)}.walk-on .docs-walk-steps>li.walk-current{color:var(--fg);background:color-mix(in srgb, var(--accent) 12%, transparent);box-shadow:inset 2px 0 0 var(--accent)}.docs-walk-frame .walk-here{box-shadow:0 0 0 2px var(--accent);cursor:pointer;animation:1.6s ease-in-out infinite walk-here}@keyframes walk-here{50%{box-shadow:0 0 0 5px color-mix(in srgb, var(--accent) 35%, transparent)}}@media (prefers-reduced-motion:reduce){.docs-walk-frame .walk-here{animation:none}}.docs-bar-frame.popmenu>.docs-menu-shot{min-width:170px;box-shadow:none;gap:2px;padding:5px;display:inline-flex;position:static}.docs-menu-shot>button.tb{background:0 0;border-color:#0000;justify-content:flex-start;width:100%}.docs-bar-frame [data-control=home] .icon{transform:rotate(90deg)}.docs-bar-field{min-width:220px;color:var(--fg-faint);cursor:text;align-items:center;display:inline-flex}.docs-bar-frame.inspector .docs-bar-code{font-family:var(--mono);font-size:11px}.luau-hover{max-width:400px;color:var(--fg);border-radius:6px;font-size:12px;line-height:1.45;overflow:hidden}.luau-hover-head{background:color-mix(in srgb, var(--bg-canvas) 70%, var(--bg-panel));border-bottom:1px solid var(--border);padding:7px 10px}.luau-hover-head:last-child{border-bottom:0}.luau-hover-role{color:var(--fg-faint);margin-top:2px;font-size:11px;display:block}.luau-hover code{color:var(--fg);white-space:pre-wrap;font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:13px;font-weight:700;display:block}.luau-hover p{color:var(--fg-muted);margin:0;padding:7px 10px 0}.luau-hover a{color:var(--accent);margin:6px 10px 8px;display:inline-block}.luau-signature{border-radius:6px;padding:5px 9px}.luau-signature code{color:var(--fg-muted);white-space:pre-wrap;font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:12px}.luau-signature .param.active{color:var(--fg);text-underline-offset:3px;font-weight:700;text-decoration:underline}
