: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-dot-light:#00000021;--grid-dot-standard:#0003;--grid-dot-strong:#00000057;--grid-fine-light:#0000000d;--grid-fine-standard:#00000012;--grid-fine-strong:#0000001f;--grid-coarse-light:#0000001a;--grid-coarse-standard:#00000024;--grid-coarse-strong:#0000003d;--watermark:#00000042;--node-body:#fbfbfd;--node-border:#b3b9c4;--node-shadow:0 2px 6px #00000024;--radius-xs:3px;--radius-sm:6px;--radius-md:8px;--shadow-raised:0 4px 14px #00000047;--shadow-popover:0 8px 28px #0000005c;--shadow-modal:0 20px 60px #00000073;--text-xs:10px;--text-sm:11px;--text-md:12px;--text-lg:13px;--text-xl:15px;--text-2xl:20px;--text-display:30px;--glass:color-mix(in srgb, var(--bg-panel) 94%, transparent);--hit:30px;--edge:10px;--chrome-top:calc(var(--hit) + 8px + var(--edge) * 2);--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:8px;--head-tint:.14;--cat-ink:85%;--tab-width:30px;--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;--tree-script-server:#4b5563;--tree-script-local:#2e7d47;--tree-script-module:#1f64c4;--tree-folder-plain:var(--fg-muted);--tree-folder-special:#1f64c4;--tree-folder-packages:#7048c0;--select:#ff9c2e;--pin:#2fbfa8}@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;--tree-script-server:#fff;--tree-script-local:#5cb87a;--tree-script-module:#5ea2ee;--tree-folder-plain:var(--fg-muted);--tree-folder-special:#5ea2ee;--tree-folder-packages:#b48cf0;--fg:#e4e7ec;--fg-muted:#9aa2af;--fg-faint:#6b7280;--border:#2d323b;--border-strong:#414855;--grid-dot-light:#ffffff1a;--grid-dot-standard:#ffffff26;--grid-dot-strong:#ffffff47;--grid-fine-light:#ffffff0a;--grid-fine-standard:#ffffff0d;--grid-fine-strong:#ffffff17;--grid-coarse-light:#ffffff14;--grid-coarse-standard:#ffffff1a;--grid-coarse-strong:#ffffff2e;--watermark:#ffffff38;--node-body:#262a32;--node-border:#3a404b;--node-shadow:0 3px 10px #00000073;--head-tint:.24;--cat-ink:45%;--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{--strip-w:0px;flex:1;min-width:0;min-height:0;position:relative;overflow:hidden}.workspace.has-strip{--strip-w:calc(var(--hit) + 8px + var(--edge))}.centre{z-index:0;isolation:isolate;background:var(--bg-canvas);flex-direction:column;min-width:0;min-height:0;display:flex;position:absolute;inset:0}.centre-body{flex:1;grid-template-rows:minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.dock{z-index:3;box-sizing:border-box;pointer-events:none;flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex;position:absolute}.dock.left{left:calc(var(--edge) + var(--strip-w));top:var(--chrome-top);max-height:calc(100% - var(--chrome-top) - var(--pill-h,var(--hit)) - var(--edge) * 3)}.dock.right{right:var(--edge);top:var(--chrome-top);max-height:calc(100% - var(--chrome-top) - var(--edge))}.dock.bottom{left:var(--edge);bottom:var(--edge);max-width:min(640px, calc(100% - var(--edge) * 2));max-height:45%}.dock.foot{left:calc(var(--edge) * 2 + var(--strip-w) + var(--left-w,0px));right:calc(var(--edge) * 2 + var(--right-w,0px));bottom:calc(var(--edge) * 2 + var(--hit) + 6px);max-height:calc(100% - var(--chrome-top) - var(--edge) * 3 - var(--hit) - 6px);flex-direction:row}.dock.foot.full{top:var(--chrome-top);z-index:4;max-height:none}.dock.bottom{z-index:5}.dock.foot>.card{flex-direction:column;flex:1 1 0;min-width:0;display:flex}.dock.foot>.card.folded{align-self:flex-end}.dock.foot>.splitter{cursor:row-resize;width:auto;height:12px;inset:-9px 0 auto}.dock.foot>.splitter:after{width:auto;height:2px;inset:5px 12px auto}.panel{flex-direction:column;min-width:0;min-height:0;display:flex}.dock>.card{pointer-events:auto;background:color-mix(in srgb, var(--bg-panel) 98%, transparent);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(14px)saturate(1.2);flex:0 auto;overflow:hidden}.dock .panel-tree .tree{min-height:0;overflow:auto}.dock .panel-variables,.dock .panel-inspector,.dock .panel-properties,.dock.bottom>.card{overflow:auto}.dock>.splitter{z-index:1;cursor:col-resize;touch-action:none;pointer-events:auto;width:12px;position:absolute;top:0;bottom:0}.dock.left>.splitter{right:-9px}.dock.right>.splitter{left:-9px}.dock>.splitter:after{content:"";background:0 0;border-radius:1px;width:2px;transition:background .12s;position:absolute;top:12px;bottom:12px;left:5px}.dock>.splitter:hover:after,.dock>.splitter:active:after{background:var(--accent)}.floating-tools{top:var(--edge);left:var(--edge);right:var(--edge);z-index:5;pointer-events:none;flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex;position:absolute}.floating-tools .spacer{flex:1}.tool-group{pointer-events:auto;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(14px)saturate(1.2);flex-wrap:wrap;align-items:center;gap:2px;padding:3px;display:flex}.tool-group button.tb,.tool-group select.tb{min-height:var(--hit);background:0 0;border-color:#0000}.tool-group button.tb.icon-only{width:var(--hit);height:var(--hit)}.tool-group button.tb:hover:not(:disabled),.tool-group select.tb:hover{background:var(--bg-hover);border-color:#0000}.tool-group button.tb.on,.tool-group button.tb.icon-only.on,.tool-group button.tb.on:hover:not(:disabled){background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent);border-color:#0000}.tool-group button.tb.primary,.tool-group button.tb.primary:hover:not(:disabled){background:var(--accent);color:#fff}.tool-group .segmented{background:0 0;border:0;gap:2px;padding:0}.tool-group .segmented button{min-height:var(--hit);border-radius:var(--radius-sm);font-size:var(--text-md);padding:0 12px}.tool-group .segmented button.on{font-weight:600}.tool-group .divider{background:var(--border-strong);align-self:stretch;width:1px;margin:5px 3px}.tool-group .doc-name{margin:0 2px 0 4px;font-weight:600}.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{scrollbar-width:none;flex-wrap:nowrap;flex:0 auto;min-width:0;max-width:min(560px,46vw);overflow:auto hidden}.graph-tabs::-webkit-scrollbar{display:none}.graph-tab{height:var(--hit);border-radius:var(--radius-sm);color:var(--fg-muted);cursor:pointer;white-space:nowrap;flex:none;align-items:center;gap:6px;max-width:220px;padding:0 6px 0 10px;display:flex}.graph-tab:hover{background:var(--bg-hover)}.graph-tab.on{color:var(--fg);background:color-mix(in srgb, var(--accent) 12%, transparent);font-weight:600}.graph-tab .name{text-overflow:ellipsis;overflow:hidden}.literal.picker .preview-unset{color:var(--fg-faint);font-style:italic}.graph-tab .tab-dirty{background:var(--warning);border-radius:50%;flex:none;width:6px;height:6px}.tab-kind{color:var(--fg-muted);flex:none}.tab-kind.tab-kind-nodescript,.tab-kind.tab-kind-function{color:var(--accent)}.tab-kind.tab-kind-nodemap{color:var(--ok)}.tab-kind.tree-script-server{color:var(--tree-script-server)}.tab-kind.tree-script-local{color:var(--tree-script-local)}.tab-kind.tree-script-module{color:var(--tree-script-module)}.graph-tab .close{color:var(--fg-faint);cursor:pointer;font-size:var(--text-lg);border-radius:var(--radius-xs);visibility:hidden;background:0 0;border:0;padding:0 3px;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{flex:none;align-items:center;min-width:8px;display:flex}.tab-list{align-items:center;display:flex;position:relative}.tab-list>button.tb{width:var(--hit);height:var(--hit);place-items:center;padding:0;display:grid}@media (width<=699px){.graph-tab:not(.on){display:none}.graph-tabs{max-width:44vw}.graph-tab.on .close{display:none}}.value-picker{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);width:min(1040px,92vw);height:min(660px,84vh);box-shadow:var(--shadow-modal);flex-direction:column;justify-self:center;display:flex;overflow:hidden}.value-search{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;padding:8px 10px;display:flex}.value-field{flex:1;min-width:0;display:flex;position:relative}.value-field>.icon{color:var(--fg-faint);pointer-events:none;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.value-field>input.tb{flex:1;min-width:0;min-height:30px;padding-left:32px}.value-search>.tb.icon-only{flex:none;place-items:center;width:30px;height:30px;padding:0;display:inline-grid}.value-main{flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid}.value-main.with-rail{grid-template-columns:170px minmax(0,1fr)}.value-rail{border-right:1px solid var(--border);background:color-mix(in srgb, var(--accent) 5%, var(--bg-panel));flex-direction:column;gap:1px;padding:6px;display:flex;overflow-y:auto}.value-rail button{border-radius:var(--radius-xs);width:100%;color:var(--fg-muted);font-size:var(--text-sm);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:4px 8px;display:flex}.value-rail button:hover{background:var(--bg-hover);color:var(--fg)}.value-rail button.on{background:color-mix(in srgb, var(--accent) 16%, transparent);color:var(--fg);font-weight:600}.value-rail-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.value-rail-count{color:var(--fg-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:400}.value-list{min-height:0;padding:0 12px 10px;overflow-y:auto}.value-group+.value-group{margin-top:4px}.value-group>.pane-head{z-index:1;background:var(--bg-panel);margin-top:0;position:sticky;top:0}.value-options{column-width:190px;column-gap:10px;padding:4px 0 6px}.value-option{text-align:left;border-radius:var(--radius-xs);width:100%;color:var(--fg);font:var(--text-sm) "Cascadia Mono", Consolas, monospace;cursor:pointer;white-space:nowrap;break-inside:avoid;background:0 0;border:0;align-items:center;gap:7px;padding:3px 8px;display:flex}.value-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.value-dot{border-radius:50%;flex:none;width:8px;height:8px}.value-option.on{background:var(--bg-hover)}.value-option.current{color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent);font-weight:600}.value-empty{color:var(--fg-muted);margin:12px 4px}.value-detail{border-top:1px solid var(--border);min-height:22px;color:var(--fg-faint);font-size:var(--text-sm);white-space:nowrap;flex:none;align-items:center;gap:6px;padding:7px 12px;display:flex;overflow:hidden}.value-chain{align-items:center;gap:6px;display:inline-flex}.value-detail-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.value-keys{font-size:var(--text-xs);margin-left:auto;padding-left:12px}@media (width<=699px){.value-main.with-rail{grid-template-columns:minmax(0,1fr)}.value-rail,.value-keys{display:none}}.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-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.float-layer.front{z-index:5}.float-layer>*{pointer-events:auto}.float-panel{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-md);min-width:200px;min-height:140px;box-shadow:var(--shadow-popover);z-index:60;flex-direction:column;display:flex;position:absolute;overflow:hidden}.float-panel .float-body h2{-webkit-user-select:none;user-select:none}button.tb.icon-only.float-dock,button.tb.icon-only.panel-float{width:20px;min-width:0;height:20px;font-size:var(--text-md);z-index:2;padding:0;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;width:100%;min-width:0;font:var(--text-sm) "Cascadia Mono", Consolas, monospace;color:var(--fg);align-items:center;gap:6px;display:flex}.tb.type-picker .type-dot{border-radius:50%;flex:none;width:8px;height:8px}.tb.type-picker .preview{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tb.type-picker>.icon{color:var(--fg-faint);flex:none}.variable-head .badge.const{font-size:var(--text-xs);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:var(--radius-xs);flex:none;padding:0 4px}.node-picker{background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-md);width:min(880px,100%);max-height:72vh;box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.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);font-size:var(--text-xl);background:0 0;border:0;outline:none;flex:1}.node-picker-field .count{font-size:var(--text-sm);color:var(--fg-faint)}.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{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);padding:8px 8px 4px}.node-picker-list .empty{color:var(--fg-faint);font-size:var(--text-md);padding:12px 8px}.node-picker-hit{border-radius:var(--radius-sm);text-align:left;cursor:pointer;width:100%;color:var(--fg-muted);font-size:var(--text-md);background:0 0;border:0;align-items:baseline;gap:8px;padding:5px 8px;display:flex}.node-picker-hit.on{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--fg)}.node-picker-hit .title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.menu .item .read-only-mark,.node-picker-hit .read-only-mark{color:var(--fg-muted);flex:none;align-self:center}.node-picker-hit .hint{font-size:var(--text-xs);color:var(--fg-faint);white-space:nowrap;flex:none;align-self:center;margin-left:auto}.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{font-size:var(--text-lg);color:var(--fg)}.node-picker-preview .where{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint)}.node-picker-preview .summary{font-size:var(--text-md);color:var(--fg-muted);margin:6px 0 0;line-height:1.5}.node-picker-foot{border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--fg-faint);gap:14px;padding:8px 12px;display:flex}.node-picker-foot kbd{border:1px solid var(--border);border-radius:var(--radius-xs);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:3px 8px;display:flex}.toolbar .logo{letter-spacing:.04em;border-radius:var(--radius-sm);color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;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{font-weight:400;font-size:var(--text-xs);letter-spacing:0;color:var(--fg-faint);font-variant-numeric:tabular-nums}.toolbar .spacer{flex:1}.toolbar .group-label{font-size:var(--text-sm);color:var(--fg-muted);white-space:nowrap;margin-right:-3px}.toolbar .doc-name{margin-right:2px;font-weight:600}.toolbar .dirty:after{content:"•";color:var(--warning);margin-left:5px}button.tb,select.tb,input.tb{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;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{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:2px;display:inline-flex}.segmented button{border-radius:var(--radius-xs);color:var(--fg-muted);cursor:pointer;background:0 0;border:0;padding:3px 10px}.segmented button:hover{background:var(--bg-hover);color:var(--fg)}.segmented button.on{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.dock h2,.float-panel h2{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);background:var(--bg-panel);z-index:1;margin:0;padding:10px 34px 6px 12px;position:sticky;top:0}.tree{-webkit-user-select:none;user-select:none;flex:1;padding:0 6px 12px}.tree-row{border-radius:var(--radius-xs);cursor:default;white-space:nowrap;align-items:center;gap:6px;padding:3px 6px;display:flex;position:relative}.tree-row:has(>.function-twist):before{width:calc((var(--depth,0) - 1) * 13px)}.tree-row:before{content:"";top:0;bottom:0;left:calc(1px + var(--guide-from,0) * 13px);width:calc(var(--depth,0) * 13px);background:repeating-linear-gradient(to right, transparent 0 12px, color-mix(in srgb, var(--fg) 14%, transparent) 12px 13px);pointer-events:none;position:absolute}.tree-row:hover{background:var(--bg-hover)}.tree-row.selected{background:color-mix(in srgb, var(--accent) 16%, transparent)}.tree-row.open-doc .label{color:var(--fg);font-weight:650}.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)}.tree-row .badge{font-size:var(--text-xs);color:var(--fg-faint);border:1px solid var(--border);border-radius:999px;margin-left:auto;padding:0 6px}.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;width:100%;height:100%;display:block;position:absolute;inset:0}:root{--grid-step:24px;--grid-x:0px;--grid-y:0px;--grid-dot:var(--grid-dot-light);--grid-fine:var(--grid-fine-light);--grid-coarse:var(--grid-coarse-light);--grid-dot-size:1.1px}:root[data-grid-contrast=standard]{--grid-dot:var(--grid-dot-standard);--grid-fine:var(--grid-fine-standard);--grid-coarse:var(--grid-coarse-standard)}:root[data-grid-contrast=strong]{--grid-dot:var(--grid-dot-strong);--grid-fine:var(--grid-fine-strong);--grid-coarse:var(--grid-coarse-strong);--grid-dot-size:1.4px}@media (prefers-contrast:more){:root:not([data-grid-contrast]),:root[data-grid-contrast=auto]{--grid-dot:var(--grid-dot-strong);--grid-fine:var(--grid-fine-strong);--grid-coarse:var(--grid-coarse-strong);--grid-dot-size:1.4px}}:where(.grid-surface,.start-page,.pack-browser,.node-editor-stage,.node-editor:not(.split)>.node-logic,.centre-body:has(>.map-editor,>.source,>.alias-doc),.docs-preview,.docs-bar-frame.float,.docs-layout-region.kind-canvas){background-image:radial-gradient(circle, var(--grid-dot) var(--grid-dot-size), transparent calc(var(--grid-dot-size) + .6px));background-size:var(--grid-step) var(--grid-step);background-position:calc(var(--grid-x) - var(--grid-step) / 2) calc(var(--grid-y) - var(--grid-step) / 2)}:root[data-grid=lines] :where(.grid-surface,.start-page,.pack-browser,.node-editor-stage,.node-editor:not(.split)>.node-logic,.centre-body:has(>.map-editor,>.source,>.alias-doc),.docs-preview,.docs-bar-frame.float,.docs-layout-region.kind-canvas){background-image:linear-gradient(to right, var(--grid-coarse) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-coarse) 1px, transparent 1px), linear-gradient(to right, var(--grid-fine) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-fine) 1px, transparent 1px);background-size:calc(var(--grid-step) * 5) calc(var(--grid-step) * 5), calc(var(--grid-step) * 5) calc(var(--grid-step) * 5), var(--grid-step) var(--grid-step), var(--grid-step) var(--grid-step);background-position:var(--grid-x) var(--grid-y)}.canvas .world{transform-origin:0 0;width:0;height:0;position:absolute;top:0;left:0}.canvas .watermark{font-size:var(--text-xl);color:var(--watermark);pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:baseline;gap:8px;font-weight:700;line-height:1.2;display:flex;position:absolute;bottom:18px;right:18px}.canvas .canvas-start-hint{top:calc(var(--chrome-top,58px) + 14px);border:1px solid var(--border);background:var(--bg-panel);box-shadow:var(--shadow-raised);color:var(--fg-muted);font-size:var(--text-md);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;border-radius:999px;padding:7px 16px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.canvas .canvas-start-hint .when-touch{display:none}@media (hover:none) and (pointer:coarse){.canvas .canvas-start-hint .when-pointer{display:none}.canvas .canvas-start-hint .when-touch{display:inline}}.canvas .watermark small{font-size:var(--text-sm);letter-spacing:.12em;text-transform:uppercase;font-weight:600}.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.node--selected{border-color:var(--select);box-shadow:0 0 0 2px color-mix(in srgb, var(--select) 55%, transparent), var(--node-shadow)}.node.node--pinned{outline:2px dashed var(--pin);outline-offset:5px}.node .node-pin{background:color-mix(in srgb, var(--pin) 80%, transparent);color:#ffffffd9;pointer-events:none;z-index:1;border-radius:50%;place-items:center;width:20px;height:20px;display:grid;position:absolute;top:-10px;left:-10px}.node .node-pin svg{transform:rotate(-30deg)}.node.node--selected.node--anchor{box-shadow:0 0 0 4px var(--select), var(--node-shadow)}.node.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;background:color-mix(in srgb, var(--cat) calc(var(--head-tint) * 100%), var(--node-body));height:30px;box-shadow:inset 0 -1px 0 color-mix(in srgb, var(--cat) calc(var(--head-tint) * 200%), var(--node-body));color:var(--fg);font-weight:600;font-size:var(--text-md);cursor:grab;align-items:center;gap:8px;padding:0 9px 0 0;display:flex;overflow:hidden}.node .head .tab{width:var(--tab-width);background:var(--cat);color:#fff;flex:none;justify-content:center;align-self:stretch;align-items:center;display:flex}.node .head .tab svg{display:block}.node .head .tab.code-tab{background:var(--bg-input);box-shadow:inset -1px 0 0 color-mix(in srgb, var(--cat) 35%, var(--node-border));font-family:Cascadia Mono,Consolas,monospace;font-size:var(--text-md);white-space:nowrap;font-weight:700}.node .head .tab.code-tab.code-mark-block{color:var(--code-keyword)}.node .head .tab.code-tab.code-mark-expression{color:var(--code-function)}.node .head .tab.code-tab.code-mark-type{color:var(--code-type)}.node .head .tab.code-tab .code-mark-angle{color:var(--fg-faint);font-weight:400}.node.node--pure .head .tab.code-tab{box-shadow:none;background:0 0;min-width:15px}.node .head .title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.node .head .marker{font-size:var(--text-xs);opacity:.85}.node .rows{grid-template-columns:minmax(0,1fr) auto;align-content:start;display:grid;position:relative}.node .rows>.row{grid-column:1/-1;grid-template-columns:subgrid;display:grid}.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 .head-pin{height:var(--pin-slot);margin-top:calc(-1 * (var(--pin-slot) / 2 + var(--node-stroke)));display:flex;position:absolute}.node .head-pin.in{left:calc(-1 * (var(--exec-width) + var(--exec-gap) + var(--node-stroke)))}.node .head-pin.out{right:calc(-1 * (var(--pin-slot) + var(--exec-gap) + var(--node-stroke)))}.node .pin:after{content:"";position:absolute;inset:-3px}.canvas.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.fam-object .dot{border-radius:3px}.node .pin.fam-table .dot{border-radius:2px;inset:3.5px;transform:rotate(45deg)}.node .pin.fam-function .dot{background:radial-gradient(closest-side, currentColor 0 1.5px, var(--pin-well) 2px)}.node .pin.fam-function.connected .dot{background:radial-gradient(closest-side, currentColor 0 1.8px, var(--pin-well) 2.3px 2.6px, currentColor 3px)}.node .pin.fam-signal .dot{box-shadow:none;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);background:currentColor;border:0;border-radius:0;inset:2.5px 2px}.node .pin.fam-signal .dot:after{content:"";background:var(--pin-well);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);position:absolute;inset:2px 2.3px}.node .pin.fam-signal.connected .dot:after{display:none}.node .pin.fam-signal.compatible:before,.node .pin.fam-signal.highlighted:before{content:"";box-shadow:0 0 0 3px color-mix(in srgb, var(--ok) 45%, transparent);border-radius:50%;position:absolute;inset:2px}.node .pin.fam-signal.highlighted:before{box-shadow:0 0 0 3px var(--accent)}.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{font-size:var(--text-sm);color:color-mix(in srgb, var(--fg) 88%, var(--node-body));white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.node .type-chip{background:color-mix(in srgb, var(--pin) 16%, var(--node-body));min-width:0;max-width:96px;height:16px;color:color-mix(in srgb, var(--pin) 62%, var(--fg));font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;cursor:help;border-radius:4px;flex:0 auto;padding:0 5px;font-weight:600;line-height:16px;overflow:hidden}.node .hanging-type{max-width:120px;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%)}.node .type-chip.type-chip--read-only{align-items:center;gap:3px;display:inline-flex}.node .type-chip:hover{box-shadow:0 0 0 1.5px color-mix(in srgb, var(--pin) 70%, transparent)}.type-card{z-index:1000;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-popover);color:var(--fg);position:fixed}.node .cast-mark{border:1px solid color-mix(in srgb, var(--pin) 55%, transparent);border-radius:var(--radius-xs);background:color-mix(in srgb, var(--pin) 12%, transparent);min-width:0;max-width:110px;color:var(--fg);font-family:var(--mono,ui-monospace, monospace);font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;flex:0 auto;margin:0 2px 0 4px;padding:0 5px;line-height:16px;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);font-size:var(--text-xs);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;overflow:hidden}.node .row .side.left>.literal,.node .row .side.left>input[type=checkbox]{margin-left:auto}.node.node--operator .row .side.left>.literal,.node.node--operator .row .side.left>input[type=checkbox]{margin-left:0}.node .literal.unset{border:1px dashed var(--border-strong);color:var(--fg-faint);font-size:var(--text-xs);cursor:pointer;background:0 0;padding:0 5px;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;font-size:var(--text-md);background:0 0;border:0;padding:0 1px;line-height:1}.node .optional-value .clear:hover{color:var(--danger)}.node .literal{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);font-size:var(--text-sm);width:70px;min-width:0;padding:1px 4px}.node .literal.wide{width:92px}.node .property-field{align-items:center;gap:3px;display:flex}.node .property-field:focus-within{outline:1px solid var(--accent)}.node .property-field input{min-width:0;color:inherit;font:inherit;background:0 0;border:0;outline:none;flex:auto;padding:0}.node .property-field.property-field--read-only{border-color:var(--warning)}.node .property-field .property-field-lock{color:var(--warning)}.property-list{box-sizing:border-box;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:var(--radius-sm);min-width:176px;max-width:260px;max-height:260px;box-shadow:var(--shadow-popover);font-size:var(--text-sm);color:var(--fg);padding:3px;position:fixed;overflow-y:auto}.property-list .property-list-class{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);padding:3px 6px 2px}.property-list .property-list-item{cursor:pointer;border-radius:4px;align-items:center;gap:6px;padding:4px 6px;display:flex}.property-list .property-list-item.on{background:var(--bg-active)}.property-list .property-list-item .swatch{border-radius:2px;flex:none;width:7px;height:7px}.property-list .property-list-item .name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.property-list .property-list-item .type{font-size:var(--text-xs);color:var(--fg-faint);flex:none}.property-list .property-list-note{border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--fg-muted);align-items:flex-start;gap:5px;margin:3px 2px 0;padding:5px 4px 3px;line-height:1.4;display:flex}.property-list .property-list-note .icon{margin-top:2px}.node .literal:focus{outline:1px solid var(--accent)}.node.node--operator .badge-count,.node.node--capsule .badge-count{top:-6px;right:-1px}.node .badge-count{background:var(--danger);color:#fff;border-radius:var(--radius-md);font-size:var(--text-xs);padding:0 5px;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}.problem-note{border-radius:var(--radius-md);border:1px solid color-mix(in srgb, var(--danger) 40%, var(--bg-panel));background:color-mix(in srgb, var(--danger) 10%, var(--bg-panel));width:max-content;color:color-mix(in srgb, var(--danger) 55%, var(--fg));box-shadow:var(--shadow-raised);font-size:var(--text-md);overflow-wrap:anywhere;pointer-events:none;padding:5px 9px;line-height:1.4;position:absolute}.problem-note.warn{border-color:color-mix(in srgb, var(--warning) 50%, var(--bg-panel));background:color-mix(in srgb, var(--warning) 12%, var(--bg-panel));color:color-mix(in srgb, var(--warning) 40%, var(--fg))}.problem-note .more{opacity:.75}.node .pin-label.fault{color:var(--danger);font-weight:600}.comment{border-radius:var(--radius-sm);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;position:absolute}.comment.comment--selected{border-color:var(--select);box-shadow:0 0 0 2px color-mix(in srgb, var(--select) 45%, transparent)}.comment .bar{min-height:26px;font-weight:600;font-size:var(--text-md);color:#fff;background:color-mix(in srgb, var(--comment-color) 82%, transparent);border-radius:var(--radius-sm) var(--radius-sm) 0 0;cursor:grab;text-shadow:0 1px 1px #0006;white-space:pre-wrap;overflow-wrap:anywhere;align-items:flex-start;padding:5px 8px;line-height:16px;display:flex}.comment .bar textarea{border-radius:var(--radius-xs);color:#fff;font:inherit;line-height:inherit;resize:none;background:#00000047;border:0;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:var(--radius-md);box-shadow:var(--shadow-popover);flex-direction:column;width:280px;max-height:60vh;display:flex;position:fixed;overflow:hidden}.menu.menu--palette{width:360px;max-width:calc(100vw - 16px)}.menu-from{border-bottom:1px solid var(--border);background:var(--bg-hover);font-size:var(--text-sm);color:var(--fg-muted);align-items:center;gap:6px;padding:7px 10px;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{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);padding:6px 8px 3px}.menu .subgroup{font-size:var(--text-sm);color:var(--fg-muted);padding:5px 8px 2px 16px;font-weight:600}.menu .item{border-radius:var(--radius-sm);cursor:pointer;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 .name{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;overflow:hidden}.menu .item .swatch{border-radius:var(--radius-xs);flex:none;width:8px;height:8px}.menu .item .hint{font-size:var(--text-xs);color:var(--fg-faint);white-space:nowrap;flex:none;align-self:center;margin-left:auto}.menu .item .hint~.hint,.node-picker-hit .hint~.hint{margin-left:0}.menu .empty{color:var(--fg-faint);text-align:center;padding:12px}.menu.menu--list{width:max-content;min-width:180px;max-width:min(340px,100vw - 16px);max-height:calc(100vh - 16px)}.menu:focus{outline:none}.menu-body{flex-direction:column;padding:4px;display:flex;overflow:auto}.menu-section{flex-direction:column;display:flex}.menu-sep{background:var(--border);flex:none;height:1px;margin:4px 6px}.menu-label{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);padding:6px 8px 3px}.menu-item{border-radius:var(--radius-sm);width:100%;color:inherit;font:inherit;text-align:left;white-space:nowrap;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;text-decoration:none;display:flex}.menu-item:hover,.menu-item:focus{background:var(--bg-active);outline:none}.menu-item[aria-disabled=true]{opacity:.45;cursor:default}.menu-item[aria-disabled=true]:hover,.menu-item[aria-disabled=true]:focus{background:0 0}.menu-icon{color:var(--fg-muted);flex:none}.menu-icon-space{flex:none;width:15px}.menu-swatch{border-radius:var(--radius-xs);flex:none;width:8px;height:8px;margin-inline:3.5px}.menu-text{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.menu-hint{font-size:var(--text-xs);color:var(--fg-faint);margin-left:auto;padding-left:16px}.menu-item--danger,.menu-item--danger .menu-icon{color:var(--danger)}.menu-item--checked,.menu-item--checked .menu-icon{color:var(--accent)}.menu-item--current .menu-text{font-weight:600}.menu-dot{background:var(--fg-muted);border-radius:50%;width:7px;height:7px;display:block}.menu-empty{max-width:260px;font-size:var(--text-sm);color:var(--fg-faint);white-space:normal;padding:10px 12px;line-height:1.5}.inspector .field-row{align-items:center;gap:6px;min-width:0;display:flex}.inspector .field-row:has(>.tb.type-picker){align-items:stretch}.inspector .field-row>.tb.type-picker{flex:none;width:auto;min-width:104px}.inspector .field-row>input.tb{flex:auto;min-width:0}.inspector .tb.unset-choice{border:1px dashed var(--border-strong);width:100%;color:var(--fg-faint);text-align:left;cursor:pointer;background:0 0;font-style:italic}.inspector .tb.unset-choice:hover{border-color:var(--accent);color:var(--fg-muted)}.inspector .cast-row{align-items:center;gap:4px;min-width:0;display:flex}.inspector .cast-row>.tb.type-picker{flex:auto;min-width:0}.inspector .cast-row>.list-remove{width:24px;height:24px;color:var(--fg-faint);background:0 0;border-color:#0000;flex:none;place-items:center;padding:0;display:inline-grid}.inspector .cast-row>.list-remove:hover{background:var(--bg-hover);color:var(--danger)}.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}.refactor .refactor-act{text-align:left;width:100%;min-width:0;color:var(--fg);background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);font:inherit;cursor:pointer;align-items:center;gap:10px;padding:8px 10px;display:flex}.refactor .refactor-act:hover:not(:disabled){border-color:var(--accent)}.refactor .refactor-act:disabled{cursor:default;opacity:.55}.refactor .refactor-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.refactor .refactor-label{font-weight:600}.refactor .refactor-hint{font-size:var(--text-xs);color:var(--fg-faint);overflow-wrap:anywhere}.refactor .refactor-act kbd{font-family:inherit;font-size:var(--text-xs);color:var(--fg-faint);border:1px solid var(--border);border-radius:var(--radius-xs);flex:none;padding:0 4px}.inspector .list-row,.inspector .list-row input{min-width:0}.inspector button.type-definition{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;min-height:3.2em;max-height:14em;color:var(--fg);font-family:var(--mono);font-size:var(--text-sm);text-align:left;white-space:pre;cursor:text;flex-direction:column;padding:5px 8px;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{font-size:var(--text-sm);color:var(--danger);margin:4px 0 0}.tree-section{padding:0 2px}.tree-section>.pane-head{margin-top:0}.tree-section:first-child{padding-top:6px}.tree-section+.tree-row,.tree-row+.tree-section,.tree-section+.tree-section{margin-top:6px}.tree-section .empty{font-size:var(--text-xs);color:var(--fg-faint)}.tree-row.target-dir{background:color-mix(in srgb, var(--accent) 7%, transparent)}.crash{flex-direction:column;gap:14px;max-width:780px;margin:0 auto;padding:48px 24px;display:flex}.crash h1{font-size:var(--text-2xl);margin:0}.crash p{color:var(--fg-muted);margin:0}.crash-detail{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);max-height:40vh;font-size:var(--text-sm);white-space:pre-wrap;word-break:break-word;margin:0;padding:12px;line-height:1.5;overflow:auto}.crash-actions{gap:8px;display:flex}.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{font-size:var(--text-xs);color:var(--fg-faint);white-space:nowrap;margin-left:auto}.status{border-top:1px solid var(--border);background:var(--bg-panel);flex-direction:column;max-height:260px;display:flex}.status .bar{min-height:32px;font-size:var(--text-md);align-items:center;gap:8px;padding:4px 34px 4px 6px;display:flex}.status .bar>*{white-space:nowrap;flex:none}.status .bar>.spacer{flex:1 1 0;min-width:4px}.status .scopes{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);gap:2px;padding:2px;display:inline-flex}.status .scope-tab{border-radius:var(--radius-xs);min-height:22px;color:var(--fg-muted);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:1px 5px 1px 9px;display:inline-flex}.status .scope-tab[aria-selected=true]{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--fg);font-weight:600}.status .scope-tab .short{display:none}.status .badge{box-sizing:border-box;font-variant-numeric:tabular-nums;color:#fff;border-radius:999px;place-items:center;min-width:18px;height:16px;padding:0 5px;font:700 10px/1 system-ui,sans-serif;display:inline-grid}.status .badge.error{background:var(--danger)}.status .badge.warning{background:var(--warning)}.status .badge.clean{background:var(--ok)}.status .badge.unknown{background:var(--bg-active);color:var(--fg-muted)}.status .bar .status-text{text-overflow:ellipsis;min-width:0;color:var(--fg-muted);font-size:var(--text-sm);flex:0 auto;overflow:hidden}.status .status-check{min-height:22px;font-size:var(--text-sm);align-items:center;gap:5px;padding:0 8px;display:inline-flex}.status .status-check.spin svg{animation:.8s linear infinite status-spin}@keyframes status-spin{to{transform:rotate(360deg)}}.status .status-fold-button{color:var(--fg-faint)}.status .status-fold{transition:transform .12s;transform:rotate(-90deg)}.status .status-fold-button[aria-expanded=true] .status-fold{transform:none}.status .summary{border-top:1px solid var(--border);color:var(--fg-muted);font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;gap:0 4px;padding:4px 10px;display:flex}.status .summary b{color:var(--fg);font-weight:600}.status .summary .err{color:var(--danger);font-weight:600}.status .summary .warn{color:var(--warning);font-weight:600}.status .summary-status{display:none}.dock.left .status,.dock.right .status{max-height:340px}.sev-mark,.status .entry:before{color:#fff;background:var(--ok);border-radius:50%;flex:none;place-items:center;width:16px;height:16px;font:700 10px/1 system-ui,sans-serif;display:inline-grid}.status .entry:before{content:"✓";margin-top:1px}.status .entry.error:before{content:"!";background:var(--danger)}.status .entry.warning:before{content:"!";background:var(--warning)}.status .list{border-top:1px solid var(--border);padding:4px;overflow:auto}.status .entry{border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;align-items:flex-start;gap:8px;padding:4px 6px;line-height:1.45;display:flex}.status .entry:hover{background:var(--bg-hover)}.status .entry .sev{color:var(--fg);flex:none;font-weight:600}.status .entry .sev:first-letter{text-transform:uppercase}.status .entry .where{border:1px solid var(--border);background:var(--bg-input);color:var(--fg-muted);font:var(--text-xs) / 1.5 "Cascadia Mono", Consolas, monospace;white-space:nowrap;border-radius:999px;margin-left:auto;padding:0 7px}.status .entry .msg{min-width:0}.status .entry .where.link{cursor:pointer;text-decoration:underline}.status .group+.group{margin-top:2px}.status .group-head{border-radius:var(--radius-xs);font-size:var(--text-sm);cursor:pointer;align-items:center;gap:6px;padding:4px 6px;display:flex}.status .group-head:hover{background:var(--bg-hover)}.status .group-chev{color:var(--fg-faint);flex:none;transition:transform .12s}.status .group[data-open=false] .group-chev{transform:rotate(-90deg)}.status .group[data-open=false] .group-body{display:none}.status .group-glyph{color:var(--accent);flex:none}.status .group-head .name{font-weight:650}.status .group-head .path{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg-faint);font:var(--text-xs) / 1.5 "Cascadia Mono", Consolas, monospace;overflow:hidden}.status .group-head .open-here{color:var(--accent);font-size:var(--text-xs);flex:none}.status .group-head .chips{flex:none;margin-left:auto}.status .group-body{padding-left:16px}.status .stale-note{color:var(--warning);font-size:var(--text-xs);margin:0 6px 2px 22px}.status .clean-line{color:var(--fg-muted);font-size:var(--text-sm);align-items:center;gap:8px;padding:4px 6px;display:flex}.workspace.compact .status .bar,.docs-layout-screen:is(.dev-tablet,.dev-phone) .status .bar{min-height:44px;font-size:var(--text-lg);gap:6px}.workspace.compact .status .scope-tab,.docs-layout-screen:is(.dev-tablet,.dev-phone) .status .scope-tab{min-height:32px;padding:4px 8px 4px 12px}.workspace.compact .status .badge,.docs-layout-screen:is(.dev-tablet,.dev-phone) .status .badge{min-width:20px;height:18px;font-size:11px}.workspace.compact .status :is(.status-check,.status-fold-button),.docs-layout-screen:is(.dev-tablet,.dev-phone) .status :is(.status-check,.status-fold-button){min-width:var(--hit);justify-content:center;min-height:32px}.workspace.compact .status :is(.entry,.group-head),.docs-layout-screen:is(.dev-tablet,.dev-phone) .status :is(.entry,.group-head){font-size:var(--text-md);padding:7px 8px}@media (width<=699px){.workspace.compact .status .scopes{flex:auto}.workspace.compact .status .scope-tab{flex:1 1 0;justify-content:center}.workspace.compact .status .scope-tab .long,.workspace.compact .status .bar :is(.status-text,.spacer){display:none}.workspace.compact .status .scope-tab .short,.workspace.compact .status .summary-status{display:inline}.workspace.compact .status .status-check .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.docs-layout-screen.dev-phone .status .scopes{flex:auto}.docs-layout-screen.dev-phone .status .scope-tab{flex:1 1 0;justify-content:center}.docs-layout-screen.dev-phone .status .scope-tab .long,.docs-layout-screen.dev-phone .status .bar :is(.status-text,.spacer){display:none}.docs-layout-screen.dev-phone .status .scope-tab .short,.docs-layout-screen.dev-phone .status .summary-status{display:inline}@media (prefers-reduced-motion:reduce){.status :is(.status-fold,.group-chev){transition:none}.status .status-check.spin svg{animation:none}}.placeholder{text-align:center;color:var(--fg-muted);place-content:center;gap:10px;padding:40px;display:grid}.placeholder h1{font-size:var(--text-2xl);color:var(--fg);margin:0}.placeholder code{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:1px 5px}.start-page{--start-card:color-mix(in srgb, var(--accent) 5%, var(--bg-panel));--start-card-hover:color-mix(in srgb, var(--accent) 10%, var(--bg-panel));background-color:var(--bg-canvas);height:100%;position:relative;overflow:hidden}.start-page .window-mark{cursor:default}.start-scroll{position:absolute;inset:0;overflow:auto}.start-column{width:min(820px,100% - 32px);padding:calc(var(--chrome-top) + 24px) 0 60px;margin:0 auto}.start-hero{align-items:center;gap:16px;margin-bottom:18px;display:flex}.start-hero .logo-mark{flex:none}.start-hero h1{margin:0;font-size:26px;line-height:1.1}.start-hero p{color:var(--fg-muted);font-size:var(--text-md);text-wrap:balance;margin:4px 0 0}.start-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--start-card);box-shadow:var(--shadow-raised);padding:14px}.start-label{font-size:var(--text-sm);color:var(--fg-muted);margin:0 0 8px;display:block}.start-row{align-items:stretch;gap:8px;display:flex}.start-row>.tb{height:36px;padding:0 14px}.start-field{box-sizing:border-box;border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);min-width:0;height:36px;color:var(--fg-faint);flex:1;align-items:center;gap:8px;padding:0 10px;display:flex}.start-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent)}.start-field input{min-width:0;height:100%;color:var(--fg);font-family:var(--mono,ui-monospace, monospace);font-size:var(--text-md);background:0 0;border:0;outline:0;flex:1;padding:0}.start-verdict{min-height:20px;font-size:var(--text-md);color:var(--fg-muted);align-items:center;gap:8px;margin:10px 2px 0;display:flex}.start-dot{background:var(--fg-faint);border-radius:50%;flex:none;width:8px;height:8px}.start-verdict-ok .start-dot{background:var(--ok)}.start-verdict-new .start-dot{background:var(--accent)}.start-verdict-bad{color:var(--danger)}.start-verdict-bad .start-dot{background:var(--danger)}.start-new{font-size:var(--text-md);color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:10px 2px 0;display:flex}.start-new-place{cursor:pointer;align-items:center;gap:7px;display:inline-flex}.start-new-place.off{opacity:.5;cursor:default}.start-new-place code{font-size:var(--text-sm)}.start-down{gap:10px;display:grid}.start-down h2{font-size:var(--text-lg);color:var(--danger);margin:0}.start-down p{color:var(--fg-muted);margin:0}.start-down .start-note{font-size:var(--text-sm);color:var(--fg-faint)}.start-command{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);align-items:center;gap:8px;padding:6px 6px 6px 10px;display:flex}.start-command code{font-family:var(--mono,ui-monospace, monospace);flex:1}.start-section{font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--fg-faint);align-items:center;gap:10px;margin:26px 0 10px;font-weight:700;display:flex}.start-section .spacer,.start-foot .spacer{flex:1}.start-count{letter-spacing:0;font-weight:400}.start-filter{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:200px;height:26px;color:var(--fg);font:inherit;font-size:var(--text-sm);letter-spacing:0;text-transform:none;padding:0 8px;font-weight:400}.start-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.start-empty{text-align:center;color:var(--fg-faint);border:1px dashed var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 3%, var(--bg-canvas));margin:0;padding:18px}.start-tile{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--start-card);min-width:0;box-shadow:var(--shadow-raised);color:var(--fg);font:inherit;text-align:left;display:grid;position:relative}.start-tile:hover,.start-tile:focus-within{border-color:color-mix(in srgb, var(--accent) 50%, var(--border));background:var(--start-card-hover)}.start-tile-open,button.start-tile{min-width:0;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;gap:6px;padding:11px 12px;display:grid}.start-tile-open{border:0}button.start-tile{background:var(--start-card)}.start-tile-open:focus-visible,button.start-tile:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:var(--radius-md)}.start-tile-name{min-width:0;font-weight:600;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;padding-right:30px;display:flex;overflow:hidden}.start-tile-path{font-family:var(--mono,ui-monospace, monospace);font-size:var(--text-sm);color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.start-tile-what{font-size:var(--text-sm);color:var(--fg-muted)}.start-tile-meta{min-height:20px;font-size:var(--text-sm);color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:6px;display:flex}.start-faint{color:var(--fg-faint)}.start-missing{color:var(--warning)}.start-tile-gone .start-tile-name{color:var(--fg-muted)}.start-tile-acts{opacity:0;gap:2px;transition:opacity .12s;display:flex;position:absolute;top:7px;right:7px}.start-tile:hover .start-tile-acts,.start-tile:focus-within .start-tile-acts{opacity:1}@media (hover:none){.start-tile-acts{opacity:1}}.start-tile-acts .tb.icon-only{background:0 0;border-color:#0000;place-items:center;width:24px;height:24px;min-height:0;padding:0;display:inline-grid}.start-tile-acts .tb.icon-only:hover{background:var(--bg-hover)}button.start-tile:disabled{cursor:progress;opacity:.7}.start-foot{font-size:var(--text-sm);color:var(--fg-faint);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:30px;display:flex}.start-foot a{color:var(--fg-muted)}.start-foot code{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-input);color:var(--fg-muted);padding:1px 6px}.runtime-chip{border:1px solid var(--border);font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-weight:400;display:inline-flex}.runtime-chip-roblox{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, var(--border))}.runtime-chip-lune{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 45%, var(--border))}@media (width<=699px){.start-cards{grid-template-columns:minmax(0,1fr)}.start-row{flex-wrap:wrap}.start-field{flex-basis:100%}.start-filter{width:150px}}@media (prefers-reduced-motion:reduce){.start-tile-acts{transition:none}}.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{font-size:var(--text-md);color:var(--fg);font-weight:600}.source-head .badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;border:1px solid var(--border);color:var(--fg-muted);border-radius:999px;padding:1px 7px}.source-head .badge.generated{border-color:color-mix(in srgb, var(--accent) 55%, transparent);color:var(--accent)}.source-head .meta{font-size:var(--text-sm);color:var(--fg-faint)}.source-note{font-size:var(--text-sm);color:var(--fg-faint);background:var(--bg-panel);border-bottom:1px solid var(--border);margin:0;padding:6px 12px}.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{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);background:var(--bg-panel);margin:0;padding:10px 12px 6px;position:sticky;top:0}.inspector-body{flex-direction:column;gap:10px;padding:10px 10px 18px;display:flex}.inspector .summary{font-size:var(--text-sm);color:var(--fg-muted);margin:0;line-height:1.5}.inspector .field{flex-direction:column;gap:4px;display:flex}.inspector .field>.field-label{font-size:var(--text-sm);color:var(--fg);font-weight:600}.inspector .field:has(>input.tb,>select.tb,>.tb.type-picker,>.target-pick,>.docs-bar-field:not(.docs-bar-code),>.docs-bar-select){grid-template-columns:minmax(70px,36%) minmax(0,1fr);align-items:center;gap:10px;display:grid}.inspector .field input{cursor:text;width:100%}.inspector .swatches{flex-wrap:wrap;gap:6px;display:flex}.inspector .swatch{border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;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{flex-direction:column;gap:4px;display:flex}.inspector .list-editor>.summary{padding-left:6px}.inspector .list-row{grid-template-columns:10px minmax(0,1fr) minmax(0,46%) 24px;align-items:center;gap:6px;padding-left:6px;display:grid}.inspector .list-row input.tb,.inspector .list-row .tb.type-picker{box-sizing:border-box;min-width:0;height:28px;padding-block:0}.inspector .list-row .list-remove{width:24px;height:24px;color:var(--fg-faint);background:0 0;border-color:#0000;place-items:center;padding:0;display:inline-grid}.inspector .list-row .list-remove:hover:not(:disabled){background:var(--bg-hover);color:var(--danger);border-color:#0000}.inspector .pin-summary{border-radius:var(--radius-xs);font-size:var(--text-sm);grid-template-columns:10px minmax(0,1fr) auto;align-items:center;gap:8px;padding:3px 6px;display:grid}.inspector .pin-summary:hover{background:var(--bg-hover)}.pin-dot{background:var(--pin);border-radius:50%;width:9px;height:9px}.pin-dot.out{box-shadow:inset 0 0 0 2px var(--pin);background:0 0}.inspector .pin-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.inspector .pin-dir{font-size:var(--text-xs);color:var(--fg-faint);margin-left:5px}.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{font-size:var(--text-xs);opacity:.78;letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-family:Cascadia Mono,Consolas,monospace;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{font-size:var(--text-sm);text-transform:none;letter-spacing:0;padding:1px 8px}.variable-list{padding:0 6px 12px}.variables .hint{font-size:var(--text-sm);color:var(--fg-faint);margin:0;padding:2px 8px 6px;line-height:1.5}.variables-sub{letter-spacing:0;text-transform:none;min-height:24px;color:var(--accent);align-items:center;gap:6px;margin:8px 0 2px;padding:0 4px;font-size:.923077em;font-weight:650;display:flex}.variables-sub:after{content:"";background:color-mix(in srgb, var(--accent) 35%, var(--border));flex:1;order:1;min-width:12px;height:1px}.variables-sub>button.tb{height:22px;min-height:0;font-size:var(--text-sm);order:2;margin-left:0;padding:0 7px;font-weight:400}.variable-head{border-radius:var(--radius-sm);cursor:grab;-webkit-user-select:none;user-select:none;white-space:nowrap;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;flex:none;max-width:65%;overflow:hidden}.variable-head .type-swatch{border-radius:var(--radius-xs);background:var(--code-type)}.variable-head .type{text-overflow:ellipsis;min-width:0;font-size:var(--text-xs);color:var(--fg-faint);flex:0 auto;margin-left:auto;font-family:Cascadia Mono,Consolas,monospace;overflow:hidden}.variable-head .badge-result{font-size:var(--text-xs);color:var(--fg-faint);font-family:Cascadia Mono,Consolas,monospace}.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{font-size:var(--text-sm);color:var(--fg-faint)}.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{font-size:var(--text-sm);color:var(--danger);padding:1px 8px}.map-editor{grid-template-columns:1fr 380px;min-height:0;display:grid;overflow:hidden}.map-editor.map-editor-resizable{grid-template-columns:minmax(180px, 1fr) 0 min(var(--map-side-w,380px), calc(100% - 180px))}.map-splitter{z-index:2;cursor:col-resize;touch-action:none;position:relative}.map-splitter:before{content:"";position:absolute;inset:0 -6px}.map-splitter:after{content:"";background:0 0;width:2px;transition:background .12s;position:absolute;top:0;bottom:0;left:-1px}.map-splitter:hover:after,.map-splitter:active:after{background:var(--accent)}.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{font-size:var(--text-sm);color:var(--fg-faint);font-family:Cascadia Mono,Consolas,monospace}.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{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin:0;padding:10px 12px 6px}.map-side .summary{font-size:var(--text-sm);color:var(--fg-muted);margin:0;padding:0 12px 6px}.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{font-size:var(--text-sm);color:var(--fg-faint)}.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);border-radius:var(--radius-sm);white-space:pre;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{font-size:var(--text-sm);gap:8px;padding:2px 0;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)}: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.node--head-only .head{border-radius:max(0px, calc(var(--node-radius) - 1px));box-shadow:none}.node .node-face-body{box-sizing:border-box;padding:8px 10px 10px;position:relative}.node .node-face{box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);white-space:pre;color:var(--fg);cursor:pointer;padding:5px 8px;font:11px/16px Cascadia Mono,Consolas,monospace;display:block;position:relative;overflow:hidden}.node .node-face-line{text-overflow:ellipsis;display:block;overflow:hidden}.node .node-face:hover,.node .node-face:focus-visible{border-color:var(--accent);outline:none}.node .node-face:not([role=button]){cursor:inherit}.node .node-face.clipped{padding-bottom:19px}.node .node-face.clipped:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg-input) 70%);pointer-events:none;height:30px;position:absolute;bottom:0;left:0;right:0}.node .node-face .more{z-index:1;color:var(--fg-muted);background:var(--bg-panel);border:1px solid var(--border);border-radius:7px;padding:0 6px;font:600 10px/12px system-ui,sans-serif;position:absolute;bottom:3px;right:6px}.node .node-face.empty{color:var(--fg-faint);text-align:center;white-space:normal;border-style:dashed;font:12px/18px system-ui,sans-serif}.node.node--has-error .node-face.empty{border-color:color-mix(in srgb, var(--danger) 60%, var(--border));color:color-mix(in srgb, var(--danger) 70%, var(--fg))}.node .node-face-pin{height:var(--pin-slot);margin-top:calc(-1 * (var(--pin-slot) / 2 + var(--node-stroke)));display:flex;position:absolute}.node .node-face-pin.in{left:calc(-1 * (var(--pin-slot) / 2 + var(--node-stroke)))}.node .node-face-pin.out{right:calc(-1 * (var(--pin-slot) / 2 + var(--node-stroke)))}.node .literal.code{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;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:var(--radius-md);box-shadow:var(--shadow-modal);grid-template-rows:auto 1fr auto;width:min(880px,100%);height:min(600px,100%);display:grid;overflow:hidden}.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{font-size:var(--text-sm);color:var(--fg-faint)}.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:var(--text-md);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}.card-body.panel-code{flex-direction:column;display:flex;overflow:hidden}.code-panel{flex-direction:column;flex:auto;min-height:0;display:flex}.card-lead{flex:auto;align-self:stretch;min-width:0;display:flex}.code-tabs{scrollbar-width:none;align-items:stretch;gap:2px;min-width:0;display:flex;overflow-x:auto}.code-tabs::-webkit-scrollbar{display:none}.card.folded>.card-head .code-head-action{display:none}.workspace.compact .code-head-action .tb-icon-when-narrow{display:inline-block}.workspace.compact .code-head-action{min-width:var(--hit);justify-content:center;padding-inline:0}.workspace.compact .code-head-action .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.code-tab-list{flex:none;align-self:center}.code-tab{max-width:260px;color:var(--fg-muted);flex:none;align-items:stretch;display:flex}.code-tab:hover{background:var(--bg-hover);color:var(--fg)}.code-tab.on{color:var(--fg);background:color-mix(in srgb, var(--accent) 28%, var(--card-head))}.code-tab-pick,.code-tab-close{color:inherit;font:inherit;font-size:var(--text-md);cursor:pointer;background:0 0;border:0;align-items:center;line-height:16px;display:flex}.code-tab-pick{min-width:0;padding:0 4px 0 10px}.code-tab-label{align-items:baseline;gap:6px;min-width:0;display:flex}.code-tab.on .code-tab-title{font-weight:600}.code-mark{min-width:18px;font-family:Cascadia Mono,Consolas,monospace;font-size:var(--text-sm);text-align:center;white-space:nowrap;flex:none;font-weight:700}.code-mark-block{color:var(--code-keyword)}.code-mark-expression{color:var(--code-function)}.code-mark-type{color:color-mix(in srgb, var(--accent) 72%, #fff)}.code-mark-angle{color:var(--fg-faint);font-weight:400}.code-tab-title{white-space:nowrap;flex:none}.code-tab-where{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--fg-faint);font-size:var(--text-sm);overflow:hidden}.code-tab-close{width:22px;color:var(--fg-faint);flex:none;justify-content:center;padding:0 4px 0 0}.code-tab-close:hover,.code-tab-close:focus-visible{color:var(--fg)}.code-tab-pick:focus-visible,.code-tab-close:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.code-field{flex-direction:column;flex:auto;min-height:0;display:flex}.code-field[hidden]{display:none}.code-field .code-body{flex:auto;min-height:160px}.dock.foot .code-field .code-body{min-height:0}.card-tools .code-full{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.code-field .code-status{flex:none;padding:4px 12px}.code-status .code-ok{background:var(--ok,#2e7d47);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:4px;display:inline-block}.code-status .code-note{color:var(--fg-faint);white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.code-status .code-verdict{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.code-status .keys{flex:none}.code-status{border-top:1px solid var(--border);font-size:var(--text-sm);color:var(--fg-muted);align-items:center;gap:10px;padding:6px 12px;display:flex}.code-status.bad{color:var(--danger)}.code-status.warn{color:var(--warning)}.code-status .where{color:var(--fg-faint)}.code-status .keys{color:var(--fg-faint);font-size:var(--text-xs)}.node.node--operator{cursor:grab}.node.node--operator .operator-rows{position:absolute;left:0;right:0}.node.node--operator .pin-label{display:none}.node.node--operator .operator-symbol{font-family:Cascadia Mono,Consolas,monospace;font-size:var(--text-lg);color:var(--fg);pointer-events:none;justify-content:center;align-items:center;font-weight:700;display:flex;position:absolute;top:0;bottom:0}.node.node--operator .operator-out{right:var(--pin-pad);display:flex;position:absolute}.node.node--operator .operator-out .pin{left:calc(var(--pin-pad) + var(--pin-slot) / 2 + var(--node-stroke))}.node.node--operator .operator-grow{flex-direction:column;justify-content:center;gap:2px;display:flex;position:absolute;top:0;bottom:0}.node.node--operator .operator-grow button{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-input);width:14px;height:14px;color:var(--fg-muted);font-size:var(--text-xs);cursor:pointer;padding:0;line-height:1}.node.node--operator .operator-grow button:disabled{opacity:.3;cursor:default}.node .add-row,.node.node--operator .operator-grow{opacity:0;pointer-events:none;transition:opacity .12s}.node:hover .add-row,.node.node--selected .add-row,.node .add-row:focus-visible,.node.node--operator:hover .operator-grow,.node.node--operator.node--selected .operator-grow,.node.node--operator .operator-grow:focus-within{opacity:1;pointer-events:auto}.node:hover .pin-remove,.node.node--selected .pin-remove,.node:focus-within .pin-remove{justify-content:center;align-items:center;display:inline-flex}@media (prefers-reduced-motion:reduce){.node .add-row,.node.node--operator .operator-grow{transition:none}}.node.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.node--capsule .capsule-label{min-width:0;font-size:var(--text-md);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:500;overflow:hidden}.node.node--capsule .pin-label{display:none}.node.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:var(--radius-md);box-shadow:var(--shadow-modal);flex-direction:column;gap:12px;width:min(420px,100%);padding:16px 18px 14px;display:flex}.dialog h3{font-size:var(--text-lg);margin:0}.dialog p{color:var(--fg-muted);margin:0;line-height:1.5}.dialog .field{flex-direction:column;gap:5px;display:flex}.dialog .field>span{font-size:var(--text-sm);color:var(--fg-faint)}.dialog .field input{cursor:text;width:100%}.dialog .field select{width:100%}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-choices{border:0;flex-direction:column;gap:6px;margin:0;padding:0;display:flex}.dialog-choices legend{font-size:var(--text-sm);color:var(--fg-faint);padding:0 0 5px}.dialog-option{color:var(--fg);cursor:pointer;align-items:center;gap:8px;line-height:1.4;display:flex}.dialog-option input{accent-color:var(--accent);margin:0}.dialog.export-menu{gap:14px;width:min(520px,100%)}.export-menu-form{gap:10px;display:grid}.export-menu-row{grid-template-columns:110px minmax(0,1fr);align-items:start;gap:12px;display:grid}.export-menu-label{font-size:var(--text-md);color:var(--fg-muted);text-align:right;overflow-wrap:anywhere;padding-top:5px}.export-menu-control{justify-items:start;gap:5px;min-width:0;display:grid}.export-menu-control select{min-width:200px}.export-menu-section{font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--fg-faint);border-bottom:1px solid var(--border);margin-top:2px;padding:6px 0 4px;font-weight:600}.export-menu-name{align-items:center;gap:4px;width:100%;display:flex}.export-menu-name input{cursor:text;flex:1;min-width:0}.export-menu-suffix{font-family:var(--font-mono,ui-monospace, monospace);font-size:var(--text-md);color:var(--fg-muted)}.export-menu-note{font-size:var(--text-sm);color:var(--fg-faint);line-height:1.45}.export-menu-problem{font-size:var(--text-md);color:var(--warning);margin:0;line-height:1.45}.dialog-actions.export-menu-foot{border-top:1px solid var(--border);align-items:center;padding-top:12px}.export-menu-contents{margin-right:auto}.dialog-backdrop.export-menu-backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0}.dialog.export-menu.export-menu-anchored{width:min(480px,100vw - 16px);max-height:calc(100dvh - 80px);position:fixed;overflow-y:auto}.export-menu .segmented{flex-wrap:wrap}.export-menu-legacy{font-size:var(--text-xs);color:var(--fg-faint);margin-left:2px}.export-menu-note-flush{padding-top:5px}.export-menu-remember{font-size:var(--text-md);color:var(--fg-muted);cursor:pointer;align-items:center;gap:8px;display:flex}.export-menu-remember input{accent-color:var(--accent);margin:0}@media (pointer:coarse){.export-menu .segmented button{min-height:32px;padding:0 12px}.export-menu-name input{height:36px;font-size:16px}.export-menu-remember input{width:20px;height:20px}.export-menu-foot .tb{height:36px;padding:0 16px}}@media (width<=480px){.export-menu-row{grid-template-columns:minmax(0,1fr);gap:4px}.export-menu-label{text-align:left;padding-top:0}}.dialog-option.dialog-option-off{color:var(--fg-faint);cursor:default}button.tb.primary.danger{background:var(--danger);color:#fff;border-color:#0000}button.tb.primary.danger:hover:not(:disabled){background:var(--danger)}.node.node--pure{border-radius:calc(var(--node-radius) * 2);border-color:color-mix(in srgb, var(--pure-edge) 40%, var(--node-border));background:color-mix(in srgb, var(--cat) 5%, var(--node-body))}.node.node--pure .head{border-radius:max(0px, calc(var(--node-radius) * 2 - 1px)) max(0px, calc(var(--node-radius) * 2 - 1px)) 0 0;box-shadow:none;color:color-mix(in srgb, var(--cat) var(--cat-ink), var(--fg));background:0 0;gap:5px;padding-left:6px}.node.node--pure .head .tab{width:auto;color:inherit;background:0 0;align-self:center}: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 .add-row{border:1px dashed color-mix(in srgb, var(--cat,var(--fg-faint)) 45%, var(--node-border));border-radius:var(--radius-sm);background:var(--node-body);height:22px;color:var(--fg-muted);font-size:var(--text-sm);cursor:pointer;padding:0;position:absolute;top:calc(100% + 3px);left:10px;right:10px}.node .add-row:before{content:"";height:5px;position:absolute;top:-5px;left:0;right:0}.node .add-row:hover{color:var(--fg);background:color-mix(in srgb, var(--cat,var(--fg-faint)) 12%, var(--node-body));border-style:solid}.node .pin-remove{border-radius:var(--radius-xs);width:14px;height:14px;color:var(--fg-faint);cursor:pointer;background:0 0;border:0;flex:none;padding:0;font-size:13px;line-height:13px;display:none}.node .pin-remove:hover{color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.node .head .subtitle .sig-type{color:color-mix(in srgb, var(--pin) 75%, var(--fg));font-weight:600}.node .head .open-graph{border:1px solid color-mix(in srgb, var(--cat) 45%, var(--node-border));border-radius:var(--radius-xs);background:var(--node-body);width:18px;height:18px;color:var(--fg);cursor:pointer;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:flex}.node .head .open-graph:hover{background:color-mix(in srgb, var(--cat) 22%, var(--node-body))}.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)}.tree-row .kind.luau.tree-script-server{color:var(--tree-script-server)}.tree-row .kind.luau.tree-script-local{color:var(--tree-script-local)}.tree-row .kind.luau.tree-script-module{color:var(--tree-script-module)}.tree-row .kind.tree-folder-plain{color:var(--tree-folder-plain)}.tree-row .kind.tree-folder-special{color:var(--tree-folder-special)}.tree-row .kind.tree-folder-packages,.tree-row .kind.package{color:var(--tree-folder-packages)}.tree-row .kind.tree-folder-place{color:var(--danger)}.project-views{text-transform:none;letter-spacing:0;flex:none}.project-views button{font-size:var(--text-md);color:var(--fg);padding:2px 10px}.project-view{flex-direction:column;flex:1;min-height:0;display:flex}.project-view[hidden]{display:none}.place-browser{flex-direction:column;flex:1;min-height:0;display:flex}.place-browser-head{flex:none;gap:6px;padding:6px 7px;display:flex}.place-filter{cursor:text;flex:1;min-width:0}.place-tree{min-height:96px;overflow:auto}.place-row .place-twist{flex:none;width:14px;display:inline-flex}.place-row .label{flex:0 auto;min-width:0}.place-class{font-size:var(--text-sm);color:var(--fg-faint);flex:none;margin-left:auto;padding-left:8px}.place-where{font-size:var(--text-sm);color:var(--fg-faint);text-overflow:ellipsis;min-width:0;overflow:hidden}.place-more .label{font-size:var(--text-md);color:var(--accent);cursor:pointer}.place-properties{flex-direction:column;flex:1;min-height:0;display:flex}.place-properties h2{flex:none;justify-content:space-between;align-items:center;display:flex;position:static}.place-properties h2 button{font-size:var(--text-sm);text-transform:none;letter-spacing:0;padding:1px 8px}.place-props{flex:1;min-height:0;padding:2px 12px 12px;overflow:auto}.place-props-head{cursor:grab;margin-top:8px}.place-path{font-size:var(--text-sm);color:var(--fg-faint);overflow-wrap:anywhere;margin-top:3px}.place-summary{font-size:var(--text-md);color:var(--fg-muted);margin:6px 0 0;line-height:1.45}.place-summary code{border-radius:var(--radius-xs);background:var(--bg-input);color:var(--fg);font-size:var(--text-sm);padding:0 4px}.place-owner{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.place-note{font-size:var(--text-md);color:var(--fg-faint);margin:4px 0;padding:0 12px}.place-props .place-note{padding:0}.place-group{margin-top:6px}.place-prop{border-radius:var(--radius-xs);min-height:24px;font-size:var(--text-md);cursor:grab;grid-template-columns:minmax(0,46%) minmax(0,1fr);align-items:center;gap:10px;padding:1px 6px;display:grid}.place-prop.place-prop--removable{grid-template-columns:minmax(0,46%) minmax(0,1fr) auto}.place-prop:hover{background:var(--bg-hover)}.place-prop-name{color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.place-prop-value{color:var(--fg);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-weight:500}.place-enum-value{color:var(--fg-faint);font-weight:400}.place-bool{align-items:center;gap:6px;display:inline-flex}.place-bool>i{border:1px solid var(--border-strong);border-radius:var(--radius-xs);place-items:center;width:12px;height:12px;font-size:9px;font-style:normal;line-height:1;display:inline-grid}.place-bool.on>i{background:var(--accent);border-color:var(--accent);color:#fff}.place-swatch{border:1px solid var(--border);border-radius:var(--radius-xs);vertical-align:-1px;width:10px;height:10px;margin-right:5px;display:inline-block}.place-ref{background:color-mix(in srgb, var(--accent) 16%, transparent);max-width:100%;color:var(--accent);font:inherit;text-align:left;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:4px;padding:0 7px;display:inline-flex}.place-ref:hover{background:color-mix(in srgb, var(--accent) 26%, transparent)}.place-ref-edit{align-items:center;gap:4px;min-width:0;max-width:100%;display:inline-flex}.place-ref.place-ref-go{flex:none;padding:2px 4px}.place-edit{border-radius:var(--radius-xs);max-width:100%;min-height:20px;color:inherit;font:inherit;text-align:left;overflow-wrap:anywhere;cursor:text;background:0 0;border:1px solid #0000;align-items:center;gap:6px;margin:0 -5px;padding:0 5px;display:inline-flex}.place-edit:hover:not(:disabled){border-color:var(--border-strong);background:var(--bg)}.place-bool.place-edit{cursor:pointer}.place-edit:disabled{opacity:.6}.place-edit-field{width:100%;min-width:0;height:22px;font-size:var(--text-md);padding:0 5px}select.place-edit-field{padding:0 2px}.place-prop-editable{cursor:default}.place-prop-editable .place-prop-value{align-items:center;gap:5px;min-width:0;display:flex}.place-colour{border:1px solid var(--border);border-radius:var(--radius-xs);cursor:pointer;background:0 0;flex:none;width:16px;height:16px;padding:0}.place-colour::-webkit-color-swatch-wrapper{padding:0}.place-colour::-webkit-color-swatch{border:0;border-radius:1px}.place-colour::-moz-color-swatch{border:0;border-radius:1px}.place-empty{color:var(--fg-faint);font-style:italic;font-weight:400}.place-fields{flex:auto;gap:6px;min-width:0;display:grid}.place-fields-row{gap:2px;display:grid}.place-fields-label{font-size:var(--text-sm);color:var(--fg-muted);font-weight:400}.place-fields-grid{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:4px;display:grid}.place-fields-grid.place-fields-four{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}.place-field{gap:1px;min-width:0;display:grid}.place-field>span{font-size:var(--text-xs);color:var(--fg-faint);white-space:nowrap;text-overflow:ellipsis;font-weight:400;overflow:hidden}.place-prop-refused{color:var(--danger);font-size:var(--text-sm);grid-column:1/-1;font-weight:400}.place-studio{color:var(--warning)}@media (pointer:coarse){.place-edit,.place-edit-field{min-height:32px}.place-colour{width:28px;height:28px}}.place-tags{flex-wrap:wrap;gap:4px;padding-top:5px;display:flex}.place-tag{border:1px solid var(--border);border-radius:var(--radius-xs);font-size:var(--text-sm);color:var(--fg-muted);align-items:center;gap:3px;padding:1px 6px;display:inline-flex}.place-tag-remove,.place-prop-remove{border-radius:var(--radius-xs);color:var(--fg-faint);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;padding:2px;display:inline-flex}.place-tag-remove:hover,.place-prop-remove:hover{background:var(--bg-hover);color:var(--danger)}@media (pointer:coarse){.place-filter,.place-edit-field{font-size:16px}}.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-pending{font-size:var(--text-xs);color:var(--fg-muted);white-space:nowrap;flex:none;align-items:center;gap:3px;display:inline-flex}.path-missing{font-size:var(--text-xs);color:var(--danger);white-space:nowrap;flex:none;align-items:center;gap:3px;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{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);justify-content:space-between;align-items:center;display:flex}.map-list-head button{font-size:var(--text-sm);text-transform:none;letter-spacing:0;padding:1px 8px}.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:var(--text-sm)}.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{font-size:var(--text-sm);color:var(--fg-faint);margin:4px 8px 6px;line-height:1.5}:root{--code-global:#2c6f8f;--code-function:#7a5a2f;--code-type:#2f7a6a;--code-completing:#e2c48261}@media (prefers-color-scheme:dark){:root{--code-global:#7fc4d6;--code-function:#d9b06c;--code-type:#6fc2a8;--code-completing:#f5e4bc29}}.code-body .cm-lintRange-error{border-bottom:2px wavy var(--danger);background:0 0}.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.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.node--reroute .pin{--pin-slot:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.node.node--reroute .pin:after{inset:-1px}.node.node--reroute .pin.exec .dot{left:calc((var(--pin-slot) - var(--exec-width)) / 2)}.node.node--reroute:before{content:"";z-index:-1;border-radius:50%;position:absolute;inset:-6px}.canvas.canvas--wiring .node.node--reroute .pin:after{inset:-5px}.node.node--reroute .pin+.pin .dot,.node.node--reroute .pin-label{display:none}.node.node--reroute.node--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:var(--radius-md);box-shadow:var(--shadow-modal);grid-template-rows:auto 1fr;width:min(1080px,100%);height:min(820px,100%);display:grid;overflow:hidden}.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:var(--text-md)}.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);border-radius:var(--radius-sm);font:inherit;color:inherit;outline:none;margin-bottom:8px;padding:5px 8px}.docs-nav .search:focus{border-color:var(--accent)}.docs-section-head{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--fg);font-weight:600;font-size:var(--text-md);background:0 0;border:0;align-items:center;gap:6px;padding:5px 6px;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{font-weight:400;font-size:var(--text-xs);color:var(--fg-faint);font-variant-numeric:tabular-nums;margin-left:auto}.docs-pages{flex-direction:column;padding:1px 0 4px 14px;display:flex}.docs-link,.docs-hit{text-align:left;border-radius:var(--radius-sm);cursor:pointer;width:100%;color:var(--fg-muted);font-size:var(--text-md);background:0 0;border:0;align-items:baseline;gap:6px;padding:4px 8px;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{font-size:var(--text-xs);color:var(--fg-faint)}.docs-results{flex-direction:column;gap:1px;display:flex}.docs-results .empty{color:var(--fg-faint);font-size:var(--text-md);padding:12px 8px}.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:var(--radius-md);width:min(720px,100%);max-height:70vh;box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.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);font-size:var(--text-xl);background:0 0;border:0;outline:none;flex:1}.docs-palette-list{flex-direction:column;gap:2px;padding:6px;display:flex;overflow:auto}.docs-palette-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);padding:6px 8px 4px}.docs-palette-list .empty{color:var(--fg-faint);font-size:var(--text-md);padding:12px 8px}.docs-palette-hit{border-radius:var(--radius-sm);text-align:left;cursor:pointer;width:100%;color:var(--fg-muted);background:0 0;border:0;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{width:52px;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);border:1px solid var(--border);border-radius:var(--radius-xs);text-align:center;flex:none;margin-top:2px;padding:1px 0}.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{font-size:var(--text-lg);color:var(--fg)}.docs-palette-hit .where{font-size:var(--text-xs);color:var(--fg-faint)}.docs-palette-hit .summary{font-size:var(--text-sm);color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.docs-palette-foot{border-top:1px solid var(--border);font-size:var(--text-xs);color:var(--fg-faint);gap:14px;padding:8px 12px;display:flex}.docs-palette-foot kbd{border:1px solid var(--border);border-radius:var(--radius-xs);margin-right:3px;padding:0 4px;font-family:inherit}.docs .badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);border:1px solid var(--border);border-radius:var(--radius-xs);white-space:nowrap;padding:0 4px}.docs-content{max-width:74ch;padding:22px 30px 60px;overflow:auto}.docs-content h1:where(:not(.docs-layout-screen *)){align-items:center;gap:8px;margin:0 0 4px;font-size:22px;display:flex}.docs-content .summary:where(:not(.docs-layout-screen *)){color:var(--fg-faint);margin:0 0 22px}.docs-content h2:where(:not(.docs-layout-screen *)){border-top:1px solid var(--border);margin:28px 0 8px;padding-top:14px;font-size:15px}.docs-content h3:where(:not(.docs-layout-screen *)){margin:20px 0 6px;font-size:13px}.docs-content p:where(:not(.docs-layout-screen *)){margin:0 0 12px;line-height:1.6}.docs-content ul:where(:not(.docs-layout-screen *)),.docs-content ol:where(:not(.docs-layout-screen *)){margin:0 0 12px;padding-left:20px;line-height:1.6}.docs-content li:where(:not(.docs-layout-screen *)){margin-bottom:4px}.docs-content li:where(:not(.docs-layout-screen *))::marker{color:var(--fg-faint)}.docs-content code:where(:not(.docs-layout-screen *)){background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-xs);padding:0 4px;font-size:11px}.docs-content pre:where(:not(.docs-layout-screen *)){background:var(--bg-canvas);border:1px solid var(--border);border-radius:var(--radius-sm);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:where(:not(.docs-layout-screen *)){border-collapse:collapse;width:100%;font-size:12px}.docs-content th:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){border-bottom:1px solid var(--border);vertical-align:top;padding:7px 10px 7px 0;line-height:1.5}.docs-content td.mono:where(:not(.docs-layout-screen *)){color:var(--fg-muted);white-space:nowrap;font-size:11px}.docs-content td em:where(:not(.docs-layout-screen *)){color:var(--fg-faint);font-style:normal}.docs-content table.pins td.swatch-cell:where(:not(.docs-layout-screen *)){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 var(--radius-sm) var(--radius-sm) 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{margin:var(--edge) var(--edge) 0;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(14px)saturate(1.2);z-index:5;align-items:center;gap:4px;padding:3px 6px 3px 3px;display:flex;position:relative}.docs-page-head button.tb,.docs-page-head a.tb{min-height:var(--hit);background:0 0;border-color:#0000}.docs-page-head button.tb:hover:not(:disabled),.docs-page-head a.tb:hover{background:var(--bg-hover);border-color:#0000}.docs-page-head button.tb.on{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.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);border-radius:var(--radius-xs);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:.04em;margin-left:2px;padding:0 4px}.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{font-size:var(--text-md);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;line-height:1.5;display:flex}.canary-banner-mark{text-transform:uppercase;letter-spacing:.06em;font-size:var(--text-xs);color:var(--warning);border:1px solid color-mix(in srgb, var(--warning) 55%, transparent);border-radius:var(--radius-xs);white-space:nowrap;padding:1px 6px;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{font-weight:400;font-size:var(--text-xs);letter-spacing:0;color:var(--fg-faint);font-variant-numeric:tabular-nums}.docs-page-head .sub{color:var(--fg-faint);font-size:var(--text-md)}.docs-page-head .grow{flex:1}.docs-page-head .warn{font-size:var(--text-sm);color:var(--warning);border:1px solid var(--warning);border-radius:var(--radius-xs);padding:0 6px}.docs-page-head a.tb,.intro-foot a.tb{color:inherit;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);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.node--capsule.node--selected{border-color:var(--select);box-shadow:0 0 0 2px color-mix(in srgb, var(--select) 55%, transparent), var(--node-shadow)}.node.node--capsule.node--selected.node--anchor,.node.node--reroute.node--selected.node--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{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;color:var(--fg-faint);border-bottom:1px solid var(--border);margin-bottom:4px;padding:6px 6px 4px;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{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;color:var(--fg-faint);margin-bottom:6px;font-weight:700}.docs-toc-link{color:var(--fg-muted);font-size:var(--text-sm);border-radius:0 var(--radius-xs) var(--radius-xs) 0;border-left:2px solid #0000;padding:3px 6px;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);border-radius:var(--radius-sm);background-color:var(--bg-canvas);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{font-size:var(--text-md);color:var(--fg-muted);margin-top:14px;line-height:1.5}.docs-code{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-canvas);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{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint)}.docs-code-head .copy{border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--fg-muted);cursor:pointer;background:0 0;border:1px solid #0000;margin-left:auto;padding:2px 8px}.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:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){color:var(--fg);margin:24px 0 8px;font-size:14px}.docs-page .docs-content p:where(:not(.docs-layout-screen *)),.docs-page .docs-content li:where(:not(.docs-layout-screen *)){font-size:13.5px;line-height:1.68}.docs-page .docs-content table:where(:not(.docs-layout-screen *)){border-top:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);font-size:13px}.docs-page .docs-content th:where(:not(.docs-layout-screen *)){border-bottom:1px solid var(--border-strong);padding:9px 14px 9px 0}.docs-page .docs-content td:where(:not(.docs-layout-screen *)){padding:10px 14px 10px 0}.docs-page .docs-content tbody tr:last-child td:where(:not(.docs-layout-screen *)){border-bottom:0}.docs-page .docs-note{border-radius:var(--radius-sm);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,.node-face) .tok-keyword{color:var(--code-keyword)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-string{color:var(--code-string)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-number{color:var(--code-number)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-comment{color:var(--code-comment);font-style:italic}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-meta{color:var(--code-type);font-style:italic}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-operator{color:var(--code-operator)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-global{color:var(--code-global)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-function{color:var(--code-function)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-type{color:var(--code-type)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-property{color:var(--code-property)}:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-bracket,:is(.docs-code,.preview-code,.landing-code,.luau-hover code,.luau-signature code,.code-view,.node-face) .tok-punctuation{color:var(--fg-muted)}.docs-pins{border:1px solid var(--border);border-radius:var(--radius-sm);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{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--text-md);flex-wrap:wrap;align-items:baseline;gap:7px;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{font-family:Segoe UI,system-ui,sans-serif;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);background:var(--bg-hover);border:1px solid var(--border);border-radius:var(--radius-xs);padding:1px 5px}.docs-pins .badge.warn{color:var(--warning);border-color:var(--warning)}.docs-pins .detail{font-size:var(--text-md);color:var(--fg-muted);margin-top: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>:where(:not(.docs-layout-screen *)){max-width:none}.docs-tail{flex:none;height:min(45vh,420px)}.dialog-diff{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);max-height:320px;font-family:var(--mono,ui-monospace, monospace);font-size:var(--text-xs);white-space:pre;margin:0 0 14px;padding:6px 0;line-height:1.5;overflow:auto}.dialog-diff>span{padding:0 10px;display:block}.dialog-diff .diff-add{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--fg)}.dialog-diff .diff-del{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--fg-muted)}.dialog-diff .diff-same{color:var(--fg-faint)}.dialog-diff .diff-gap{color:var(--fg-faint);font-style:italic}.dialog-points{font-size:var(--text-md);gap:6px;margin:0 0 14px;padding-left:18px;line-height:1.45;display:grid}.dialog-list{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);max-height:180px;font-size:var(--text-md);margin:0 0 14px;padding:6px 10px 6px 26px;line-height:1.6;overflow:auto}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:var(--radius-md);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{font-size:var(--text-sm);color:var(--fg-faint);margin:0;line-height:1.6}.page-editor-said{color:var(--ok)}.page-block{border-radius:var(--radius-sm);border:1px dashed #0000;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);border-radius:var(--radius-sm);font:inherit;resize:vertical;padding:8px 10px;line-height:1.6}.block-field.mono{font-family:Cascadia Mono,Consolas,monospace;font-size:var(--text-md)}.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);border-radius:var(--radius-sm);max-height:320px;font-family:Cascadia Mono,Consolas,monospace;font-size:var(--text-sm);white-space:pre;padding:10px 12px;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{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin:8px 0 0}.designer .field{grid-template-columns:96px 1fr;align-items:center;gap:8px;display:grid}.designer .field>span{font-size:var(--text-sm);color:var(--fg-faint)}.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:var(--radius-md);justify-content:center;padding:14px;display:flex}.designer-problems{color:var(--danger);font-size:var(--text-md);margin:0;padding-left:18px;line-height:1.6}.designer-actions{flex-wrap:wrap;gap:6px;display:flex}.designer-said{color:var(--ok);font-size:var(--text-md);margin:0}.designer-failed{color:var(--danger);font-size:var(--text-md);margin:0}.designer .hint{font-size:var(--text-sm);color:var(--fg-faint);margin:0;line-height:1.6}.designer-notice{z-index:80;border:1px solid var(--border);border-radius:var(--radius-md);max-width:min(440px,100vw - 36px);font-size:var(--text-md);background:var(--bg-panel);box-shadow:var(--shadow-popover);align-items:center;gap:10px;padding:8px 8px 8px 14px;animation:.14s ease-out designer-toast-in;display:flex;position:fixed;bottom:18px;right:18px}@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{--packs-card:color-mix(in srgb, var(--accent) 5%, var(--bg-panel));--packs-card-hover:color-mix(in srgb, var(--accent) 10%, var(--bg-panel));gap:var(--edge);box-sizing:border-box;height:100%;padding:var(--chrome-top) var(--edge) 0;background-color:var(--bg-canvas);grid-template-rows:minmax(0,1fr);grid-template-columns:210px minmax(0,1fr);display:grid;overflow:hidden}.pack-browser-peeking{grid-template-columns:210px minmax(0,1fr) 320px}.window-chrome .mark-group{order:-3}.window-chrome .mode-strip{order:-2}.window-chrome .packs-search-group{order:-1}.packs-search{width:280px;height:var(--hit);box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--fg-faint);cursor:text;align-items:center;gap:6px;padding:0 8px 0 10px;display:flex}.packs-search:focus-within{border-color:var(--accent)}.packs-search input{min-width:0;color:var(--fg);font:inherit;background:0 0;border:0;outline:0;flex:1;padding:0}.packs-search kbd{border:1px solid var(--border);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-xs);color:var(--fg-faint);padding:0 6px}.packs-clear{border-radius:var(--radius-xs);width:20px;height:20px;color:var(--fg-faint);cursor:pointer;background:0 0;border:0;place-items:center;padding:0;display:inline-grid}.packs-clear:hover{background:var(--bg-hover);color:var(--fg)}.packs-naming{gap:6px;display:flex}.packs-filters,.packs-peek{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--packs-card);min-height:0;box-shadow:var(--shadow-raised);flex-direction:column;display:flex;overflow:hidden}.packs-filters{align-self:start}.packs-peek{margin-bottom:var(--edge)}.packs-filters .card-head,.packs-peek .card-head{cursor:default}.packs-filter-groups{flex-direction:column;padding:0 6px 8px;display:flex}.packs-filter-head{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin:10px 6px 4px}.packs-filter-rule{display:none}.packs-filter{border-radius:var(--radius-sm);color:var(--fg-muted);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:5px 8px;display:flex}.packs-filter:hover{background:var(--bg-hover);color:var(--fg)}.packs-filter-on{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent)}.packs-filter .packs-count{margin-left:auto}.packs-count{font-size:var(--text-sm);letter-spacing:0;color:var(--fg-faint);font-weight:400}.packs-main{min-width:0;padding:0 2px 40px;overflow:auto}.packs-section{font-size:var(--text-xs);letter-spacing:.09em;text-transform:uppercase;color:var(--fg-faint);align-items:center;gap:10px;margin:4px 0 10px;font-weight:700;display:flex}.packs-main>.packs-section~.packs-section{margin-top:26px}.tb.packs-fold{height:22px;min-height:0;font-size:var(--text-sm);letter-spacing:0;text-transform:none;align-items:center;gap:4px;padding:0 8px 0 4px;font-weight:400;display:inline-flex}.tb.packs-fold svg{transition:transform .12s}.tb.packs-fold[aria-expanded=false] svg{transform:rotate(-90deg)}.packs-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:10px;display:grid}.packs-grid-builtin{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.packs-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--packs-card);min-width:0;box-shadow:var(--shadow-raised);color:var(--fg);cursor:pointer;flex-direction:column;gap:8px;padding:11px 12px;display:flex;position:relative}.packs-card:hover{border-color:var(--border-strong);background:var(--packs-card-hover)}.packs-card:focus-visible,.packs-row:focus-visible{outline:2px solid var(--accent);outline-offset:-1px}.packs-card.packs-selected{border-color:color-mix(in srgb, var(--accent) 60%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 45%, transparent), var(--shadow-raised)}.packs-head{align-items:center;gap:8px;min-width:0;display:flex}.packs-name{min-width:0;font-weight:600;font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tb.icon-only.packs-more{background:0 0;border-color:#0000;place-items:center;width:24px;height:24px;min-height:0;padding:0;display:inline-grid}.packs-head .packs-more{margin-left:auto}.tb.icon-only.packs-more:hover{background:var(--bg-hover)}.packs-path{font-family:var(--mono,ui-monospace, monospace);font-size:var(--text-sm);color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.packs-pills{flex-wrap:wrap;gap:5px;display:flex}.packs-pill{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);max-width:100%;font-size:var(--text-sm);color:var(--fg-muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:2px 8px 2px 6px;display:inline-flex;overflow:hidden}.packs-pill i,.packs-peek-node i{border-radius:2px;flex:none;width:8px;height:8px}.packs-pill-more{color:var(--fg-faint)}.packs-pill.packs-hit,.packs-peek-node.packs-hit{border-color:color-mix(in srgb, var(--accent) 70%, var(--border));background:color-mix(in srgb, var(--accent) 14%, var(--bg-input));color:var(--fg)}.packs-requires{font-size:var(--text-sm);color:var(--fg-muted);margin:0}.packs-foot,.packs-meta{font-size:var(--text-sm);color:var(--fg-muted);flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.packs-foot{margin-top:auto}.packs-foot .spacer{flex:1}.packs-foot .tb{height:24px;min-height:0;font-size:var(--text-sm);padding:0 8px}.runtime-chip-warn{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 60%, var(--border))}.packs-card-builtin{gap:4px;padding-left:16px}.packs-card-builtin:before{content:"";background:var(--packs-stripe,var(--border-strong));border-radius:0 3px 3px 0;width:4px;position:absolute;top:10px;bottom:10px;left:0}.packs-line{font-size:var(--text-sm);color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.packs-line-hit{color:var(--fg);font-weight:600}.packs-ghosts{grid-template-rows:1fr 1fr;gap:8px;display:grid}.packs-ghost{border:1px dashed var(--border-strong);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 3%, var(--bg-canvas));color:var(--fg-muted);font:inherit;text-align:center;cursor:pointer;place-content:center;justify-items:center;gap:2px;padding:12px;display:grid}.packs-ghost:hover{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 8%, var(--bg-canvas))}.packs-ghost strong{font-size:var(--text-lg);align-items:center;gap:6px;display:inline-flex}.packs-ghost span{font-size:var(--text-sm)}.packs-none{text-align:center;color:var(--fg-faint);border:1px dashed var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 3%, var(--bg-canvas));margin:0;padding:20px}.packs-grid+.packs-none{margin-top:10px}.packs-list{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--packs-card);box-shadow:var(--shadow-raised);grid-template-columns:minmax(0,1fr);gap:0;overflow:hidden}.packs-row{border-top:1px solid var(--border);cursor:pointer;grid-template-columns:12px minmax(120px,1.2fr) 90px 80px minmax(0,1.4fr) minmax(0,2fr) 28px;align-items:center;gap:10px;padding:7px 10px;display:grid}.packs-row:first-child{border-top:0}.packs-row:hover{background:var(--packs-card-hover)}.packs-row.packs-selected{background:color-mix(in srgb, var(--accent) 14%, var(--bg-panel))}.packs-row .packs-name{font-size:var(--text-md)}.packs-swatch{background:var(--border-strong);border-radius:3px;width:10px;height:10px}.packs-row-count{font-size:var(--text-sm);color:var(--fg-muted)}.packs-row-runs{gap:4px;min-width:0;display:flex;overflow:hidden}.packs-peek-body{flex:1;align-content:start;gap:8px;min-height:0;padding:10px 12px;display:grid;overflow:auto}.packs-peek-about{font-size:var(--text-md);color:var(--fg-muted);overflow-wrap:anywhere;margin:0}.packs-peek-node{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--fg);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:8px;padding:6px 8px;display:flex}.packs-peek-node:hover{border-color:var(--accent)}.packs-peek-open{font-size:var(--text-sm);color:var(--fg-faint);margin-left:auto}.packs-peek-actions{border-top:1px solid var(--border);background:var(--card-head);flex-wrap:wrap;align-items:center;gap:6px;padding:10px 12px;display:flex}.pack-dialog{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);width:min(420px,92vw);box-shadow:var(--shadow-modal);gap:10px;padding:14px 16px;display:grid}.pack-dialog p{color:var(--fg-muted);margin:0}.pack-dialog-row{justify-content:flex-end;gap:8px;display:flex}.pack-browser-narrow,.pack-browser-narrow.pack-browser-peeking{padding:var(--chrome-top) 10px 0;flex-direction:column;gap:8px;display:flex}.packs-bar{flex-wrap:wrap;flex:none;gap:8px;display:flex}.packs-bar .tool-group{flex-wrap:nowrap}.packs-bar .packs-search-group{flex:220px;min-width:0}.packs-bar .packs-search{width:100%}.pack-browser-narrow .packs-filters{flex:none;align-self:stretch}.pack-browser-narrow .packs-filters .card-head,.pack-browser-narrow .packs-filter-head{display:none}.pack-browser-narrow .packs-filter-groups{scrollbar-width:none;flex-direction:row;gap:2px;padding:4px;overflow-x:auto}.pack-browser-narrow .packs-filter{flex:none}.pack-browser-narrow .packs-filter-rule{background:var(--border);flex:none;width:1px;margin:4px 2px;display:block}.pack-browser-narrow .packs-main{flex:1}.pack-browser-narrow .packs-peek{z-index:20;max-height:62%;box-shadow:var(--shadow-popover);margin:0;position:absolute;bottom:6px;left:6px;right:6px}.pack-browser-narrow .packs-row{grid-template-columns:12px minmax(0,1fr) 70px 28px}.pack-browser-narrow .packs-row-kind,.pack-browser-narrow .packs-row-runs,.pack-browser-narrow .packs-row .packs-path,.pack-browser-narrow .packs-row .packs-line{display:none}@media (width<=699px){.packs-search kbd{display:none}}@media (prefers-reduced-motion:reduce){.tb.packs-fold svg{transition:none}}.pack-nodes h1{font-size:var(--text-2xl);margin:0}.pack-import .spacer{flex:1}.designer .badge{font-size:var(--text-sm);border:1px solid var(--border);color:var(--fg-muted);white-space:nowrap;border-radius:999px;padding:1px 7px}.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-import{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);width:min(720px,92vw);max-height:80vh;box-shadow:var(--shadow-modal);padding:12px 14px;overflow:auto}.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:var(--radius-sm);font-size:var(--text-md);align-items:center;gap:8px;padding:6px 8px;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;border-radius:var(--radius-sm);width:100%;color:var(--fg);cursor:pointer;background:0 0;border:1px solid #0000;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:var(--radius-xs);grid-row:1/3;width:8px}.pack-node .id{font-size:var(--text-sm);color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;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);--grid-step: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;font-weight:600;font-size:var(--text-md);background:0 0;border:0;outline:none;padding:0 10px;position:absolute;top:0;left:0}.node-title-edit::placeholder{color:#ffffff8c}.node .pin-target{border-radius:var(--radius-sm);cursor:pointer;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{font-size:var(--text-md);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;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{font-size:var(--text-sm);color:var(--fg-faint)}.tool-group .badge{font-size:var(--text-sm);border:1px solid var(--border);color:var(--fg-muted);border-radius:999px;padding:1px 7px}.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:var(--radius-md);box-shadow:var(--shadow-raised);font-size:var(--text-md);padding:8px 10px;position:absolute;bottom:10px}.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:min(max(70px,30%),110px) minmax(0,1fr);align-items:center;gap:10px;display:grid}.node-details label>span,.pin-popover label>span{font-size:var(--text-sm);color:var(--fg);font-weight:600}.pin-popover label.check>span{color:var(--fg-muted);font-weight:400}.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:var(--radius-md);width:270px;box-shadow:var(--shadow-popover);font-size:var(--text-md);flex-direction:column;display:flex;position:absolute;overflow:hidden}.pin-popover-head,.pin-popover-actions{flex:none;align-items:center;gap:6px;display:flex}.pin-popover-head{min-height:calc(var(--hit) + 8px);border-bottom:1px solid var(--border);background:var(--card-head);padding:4px 4px 4px 10px}.pin-popover.folded .pin-popover-head{border-bottom:0}.pin-popover-head strong{font-size:1em}.pin-popover-kind{font-size:var(--text-sm);color:var(--fg-muted)}.pin-popover-body{flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex;overflow-y:auto}.pin-popover-body>p.hint{margin:0}.pin-popover-actions{border-top:1px solid var(--border);padding:4px 6px}.pin-popover label.check{grid-template-columns:auto 1fr}.pin-popover-body>.pin-popover-note.hint{font-size:var(--text-sm);margin:-4px 0 0 calc(min(max(70px,30%),110px) + 10px)}.pin-popover .hint code{font-size:var(--text-sm)}.logic-splitter{cursor:row-resize;background:var(--border);flex:none;height:5px}.logic-splitter:hover{background:var(--accent)}.node-logic{background-color: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{font-size:var(--text-md);border:1px solid var(--border);border-radius:999px;padding:2px 10px}.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);font-family:Cascadia Mono,Consolas,monospace;font-size:var(--text-md);white-space:pre;color:var(--fg-muted);margin:0;padding:8px 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{font-size:var(--text-sm);color:var(--fg-faint);margin-right:2px}.pack-requires select.tb{font-size:var(--text-sm);padding:1px 6px}.badge .badge-remove{color:inherit;cursor:pointer;font-size:var(--text-sm);background:0 0;border:0;margin-left:4px;padding:0}.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{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint);margin-bottom:6px}.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;font-size:var(--text-md);color:var(--fg);cursor:pointer;border-radius:999px;padding:4px 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{font-size:var(--text-xs);opacity:.75;margin-left:6px}.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{position:relative}.docs-graph-tabs>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;top:0;left:0}.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-radius:var(--radius-sm) var(--radius-sm) 0 0;border-bottom-color:#0000}.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:where(:not(.docs-layout-screen *)){border-top:1px solid var(--border);padding:10px 0}.docs-content details.docs-details:last-child:where(:not(.docs-layout-screen *)){border-bottom:1px solid var(--border)}.docs-content details.docs-details>summary:where(:not(.docs-layout-screen *)){cursor:pointer;align-items:baseline;gap:10px;font-size:16px;font-weight:600;list-style:none;display:flex}.docs-content details.docs-details>summary:where(:not(.docs-layout-screen *))::-webkit-details-marker{display:none}.docs-content details.docs-details>summary:where(:not(.docs-layout-screen *)):before{content:"▸";color:var(--fg-faint);font-size:11px}.docs-content details.docs-details[open]>summary:where(:not(.docs-layout-screen *)):before{content:"▾"}.docs-content details.docs-details>summary .aside:where(:not(.docs-layout-screen *)),.docs-content h3 .aside:where(:not(.docs-layout-screen *)){color:var(--fg-faint);margin-left:auto;font-size:12px;font-weight:400}.docs-content details.docs-details>summary .docs-details-title:where(:not(.docs-layout-screen *)){flex-direction:column;gap:2px;min-width:0;display:flex}.docs-content details.docs-details>summary .docs-details-sub:where(:not(.docs-layout-screen *)){font-size:var(--text-md);color:var(--fg-muted);text-wrap:pretty;font-weight:400}.docs-content details.docs-details.with-sub>summary:where(:not(.docs-layout-screen *)):before{align-self:flex-start;margin-top:5px}.docs-content details.docs-details[hidden]{display:none}.docs-content details.docs-details>summary .aside:where(:not(.docs-layout-screen *)){white-space:nowrap;flex:none}.docs-release{--release-card:color-mix(in srgb, var(--accent) 5%, var(--bg-panel));border:1px solid var(--border);border-radius:var(--radius-md);background:var(--release-card);scroll-margin-top:calc(var(--chrome-top,60px) + 12px);margin:14px 0;padding:14px 16px 6px}.docs-release[hidden],.docs-release-section[hidden],.docs-release-entries>li[hidden]{display:none}.docs-release.is-latest{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 25%, transparent)}.docs-release-head{align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.docs-release-version{font-variant-numeric:tabular-nums;color:var(--fg);font-size:17px;font-weight:700;text-decoration:none}a.docs-release-version:hover{color:var(--accent)}.docs-release-head .aside{color:var(--fg-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.docs-release-new{letter-spacing:.06em;text-transform:uppercase;color:var(--ok);align-items:center;gap:5px;font-size:10px;font-weight:700;display:none}.docs-release-new:before{content:"";background:var(--ok);border-radius:50%;width:7px;height:7px}.is-new>.docs-release-new{display:inline-flex}.docs-link.docs-link--unlisted{font-style:italic}.docs-link.is-new:after{content:"";background:var(--ok);border-radius:50%;flex:none;align-self:center;width:7px;height:7px;margin-left:auto}.docs-release .docs-tags{margin:0 0 8px}.docs-page .docs-content .docs-release-headline{color:var(--fg);margin:0 0 8px;font-weight:600}.docs-page .docs-content .docs-release h4{margin:12px 0 4px}.docs-page .docs-content ul.docs-release-entries{margin:0 0 8px;padding:0;list-style:none}.docs-page .docs-content ul.docs-release-entries>li{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);font-size:var(--text-md);margin:0;padding:8px 0;line-height:1.55}.docs-page .docs-content ul.docs-release-entries>li:first-child{border-top:0}.docs-ver{border:1px solid color-mix(in srgb, var(--fg-faint) 40%, transparent);border-radius:var(--radius-xs);font-variant-numeric:tabular-nums;text-align:center;min-width:4.6em;color:var(--fg-muted);vertical-align:1px;margin-right:8px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.docs-page .docs-content ul.docs-release-entries>li,.docs-page .docs-content ol.docs-minor-releases>li{scroll-margin-top:calc(var(--chrome-top,60px) + 40px)}.docs-page .docs-content ol.docs-minor-releases{margin:0 0 8px;padding:0;list-style:none}.docs-page .docs-content ol.docs-minor-releases>li{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);font-size:var(--text-md);flex-wrap:wrap;align-items:baseline;gap:4px 8px;margin:0;padding:7px 0;display:flex}.docs-page .docs-content ol.docs-minor-releases>li:first-child{border-top:0}.docs-minor-releases .docs-ver-text{flex:18em;min-width:0}.docs-minor-releases .aside{color:var(--fg-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.docs-release li.is-target{background:color-mix(in srgb, var(--accent) 9%, transparent);box-shadow:inset 3px 0 0 var(--accent);padding-left:8px}.docs-minor-rows{margin:6px 0 14px;display:grid}a.docs-minor-row{border-top:1px solid color-mix(in srgb, var(--border) 70%, transparent);color:var(--fg);flex-wrap:wrap;align-items:baseline;gap:4px 8px;padding:9px 6px;text-decoration:none;display:flex}a.docs-minor-row:hover{background:var(--bg-hover)}a.docs-minor-row .docs-ver-text{min-width:0;color:var(--fg-muted);flex:18em}a.docs-minor-row .aside{color:var(--fg-faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:12px}.docs-versions{justify-content:flex-end;margin:0 0 6px;display:flex}.docs-versions label{font-size:var(--text-sm);color:var(--fg-muted);align-items:center;gap:8px;display:inline-flex}.docs-versions select{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-input);max-width:100%;color:var(--fg);font:inherit;font-variant-numeric:tabular-nums;padding:5px 8px}.docs-release-pager{font-size:var(--text-md);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin:10px 0 4px;display:grid}.docs-release-pager a{color:var(--accent);text-decoration:none}.docs-release-pager a:hover{text-decoration:underline}.docs-release-pager .newer{justify-self:end}.docs-content .badge.security{border:1px solid color-mix(in srgb, var(--accent) 45%, var(--danger));background:color-mix(in srgb, color-mix(in srgb, var(--accent) 45%, var(--danger)) 12%, transparent);color:color-mix(in srgb, var(--accent) 45%, var(--danger));letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:1px 7px;font-size:10px;font-weight:600}@media (width<=699px){.docs-release{padding:12px 12px 4px}}.docs-content .badge.latest:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){align-items:baseline;gap:10px;margin-top:22px;display:flex}.docs-page .docs-content h4:where(:not(.docs-layout-screen *)){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;font-size:var(--text-xs);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-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.spec.normative{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 55%, transparent)}.docs-title .badge.spec.informative{color:var(--fg-muted);border-color:var(--border)}.docs-title .badge.spec.draft{color:var(--warning);border-color:color-mix(in srgb, var(--warning) 60%, transparent)}.docs-title .docs-status .badge+.badge{margin-left:6px}.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);border-radius:var(--radius-sm);min-width:0;max-width:48%;color:var(--fg);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{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--fg-faint)}.docs-neighbour .title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.docs-content p.docs-reviewed:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){align-items:baseline;gap:14px;display:flex}.docs-page .docs-content h2 .aside:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){border-top:1px solid var(--border);margin-top:34px;padding-top:20px}.docs-page .docs-content h2:first-of-type:where(:not(.docs-layout-screen *)){border-top:0;padding-top:0}.toast-layer{left:0;right:0;top:calc(var(--chrome-top) + env(safe-area-inset-top,0px));z-index:69;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed}.toast{box-sizing:border-box;background:var(--glass);border:1px solid var(--border);max-width:min(520px,100%);min-height:40px;box-shadow:var(--shadow-popover);-webkit-backdrop-filter:blur(14px)saturate(1.2);opacity:0;border-radius:999px;align-items:center;gap:10px;padding:6px 18px 6px 7px;transition:opacity .16s,transform .26s cubic-bezier(.2,.9,.3,1.25);display:inline-flex;transform:translateY(-10px)scale(.96)}.toast.shown{opacity:1;transform:none}.toast-icon{background:color-mix(in srgb, var(--accent) 18%, transparent);width:28px;height:28px;color:var(--accent);border-radius:50%;flex:none;place-items:center;display:grid}.toast.ok .toast-icon{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.toast.warn .toast-icon{background:color-mix(in srgb, var(--warning) 20%, transparent);color:var(--warning)}.toast-text{min-width:0;line-height:1.3;display:grid}.toast-text b{font-weight:600;font-size:var(--text-md)}.toast-text b strong{color:var(--accent)}.toast-text span{font-size:var(--text-sm);color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}@media (prefers-reduced-motion:reduce){.toast{transition:opacity .12s;transform:none}}.toast.toast-clickable{pointer-events:auto;cursor:pointer}.toast.toast-clickable:hover{border-color:var(--border-strong)}.compile-toast{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-sm);width:260px;box-shadow:var(--shadow-raised);font-size:var(--text-sm);cursor:pointer;z-index:5;padding:8px 10px 9px;position:absolute;bottom:16px;right:16px}.workspace.compact .compile-toast{top:var(--chrome-top);bottom:auto;right:var(--edge);max-width:calc(100% - var(--edge) * 2)}.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{border-radius:var(--radius-xs);background:var(--bg-input);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.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{font-size:var(--text-sm);color:var(--bg-panel);background:var(--accent);border-radius:0 0 var(--radius-sm) var(--radius-sm);box-shadow:var(--shadow-raised);margin-top:52px;padding:4px 12px;font-weight:600}.editing-locked{pointer-events:none;opacity:.5}.docs-tags{flex-wrap:wrap;gap:6px;margin:-4px 0 12px;display:flex}.docs-tag{font-size:var(--text-xs);letter-spacing:.04em;border-radius:var(--radius-xs);border:1px solid color-mix(in srgb, var(--fg-faint) 40%, transparent);color:var(--fg-muted);white-space:nowrap;padding:2px 8px;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-security{color:color-mix(in srgb, var(--accent) 45%, var(--danger));border-color:color-mix(in srgb, color-mix(in srgb, var(--accent) 45%, var(--danger)) 50%, transparent);background:color-mix(in srgb, color-mix(in srgb, var(--accent) 45%, var(--danger)) 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:var(--radius-sm);margin-bottom:16px;overflow:hidden}.docs-table.bare td{font-size:var(--text-md);padding:10px 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):where(:not(.docs-layout-screen *)){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);border-radius:var(--radius-sm);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;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";font-size:var(--text-xs);color:var(--fg-faint);background:color-mix(in srgb, var(--bg-panel) 80%, transparent);border-radius:var(--radius-xs);pointer-events:none;padding:1px 6px;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-sheet{background:var(--bg-panel);border:1px solid var(--border-strong);width:min(1040px,100%);height:min(760px,100%);box-shadow:var(--shadow-modal);border-radius:14px;outline:none;grid-template-columns:236px minmax(0,1fr);display:grid;overflow:hidden}.settings-compact{grid-template-columns:210px minmax(0,1fr);width:min(820px,100%);height:min(560px,100%)}.settings-nav{background:color-mix(in srgb, var(--bg-canvas) 30%, var(--bg-panel));border-right:1px solid var(--border);flex-direction:column;gap:2px;min-height:0;padding:16px 12px;display:flex;overflow:auto}.settings-brand{font-size:var(--text-lg);align-items:center;gap:8px;padding:0 6px 12px;display:flex}.settings-search{background:var(--bg-input);border:1px solid var(--border);color:var(--fg-faint);border-radius:8px;align-items:center;gap:8px;margin-bottom:6px;padding:6px 10px;display:flex}.settings-search:focus-within{border-color:var(--accent)}.settings-search input{min-width:0;color:var(--fg);font:inherit;background:0 0;border:0;outline:none;flex:1}.settings-keeper{flex-direction:column;gap:2px;margin-top:8px;display:flex}.settings-keeper.keeper-about{margin-top:auto;padding-top:12px}.settings-keeper-head{font-size:var(--text-sm);color:var(--fg-muted);align-items:baseline;gap:6px;padding:6px 10px 4px;display:flex}.settings-keeper-head code{font-size:var(--text-xs);color:var(--fg-faint)}.settings-link{color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;padding:7px 10px}.settings-link:hover{background:var(--bg-hover)}.settings-link.on{background:color-mix(in srgb, var(--accent) 16%, transparent);font-weight:600}.settings-elsewhere{border:1px dashed var(--border);font-size:var(--text-sm);color:var(--fg-muted);border-radius:8px;margin:auto 4px 0;padding:10px;line-height:1.45}.settings-elsewhere a{color:var(--accent)}.settings-keeper.keeper-about+.settings-elsewhere{margin-top:10px}.settings-main{background:color-mix(in srgb, var(--bg-canvas) 14%, var(--bg-panel));flex-direction:column;min-width:0;min-height:0;display:flex;position:relative}.settings-close{z-index:1;position:absolute;top:14px;right:14px}.settings-current,.settings-results{flex:1;min-height:0;padding:20px 26px 32px;overflow:auto}.settings-page-head{padding-right:44px}.settings-page-head h2{font-size:var(--text-xl);margin:0 0 4px}.settings-page-head .settings-note{margin:0}.settings-group h3{font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;color:var(--fg-muted);margin:22px 4px 8px;font-weight:600}.settings-box{background:var(--bg-input);border:1px solid var(--border);border-radius:10px}.settings-box>.setting{padding:14px 16px}.settings-box>.setting:first-child{border-top:0}.settings-results .settings-section+.settings-section{margin-top:30px}.settings-results .settings-group:not(:has(.setting)){display:none}.settings-results .settings-section:not(.matched):not(:has(.setting)){display:none}.settings-empty{color:var(--fg-muted);display:none}.settings-results:not(:has(.setting,.settings-section.matched)) .settings-empty{display:block}.settings-sheet .segmented{background:color-mix(in srgb, var(--bg-canvas) 70%, var(--bg-panel));border:0;border-radius:8px;gap:2px;padding:2px}.settings-sheet .segmented button{border-radius:6px;padding:5px 10px}.settings-sheet .segmented button.on{background:var(--bg-input);color:var(--fg);font-weight:600;box-shadow:0 1px 2px #00000024}.settings-sheet .settings-toggle{color:var(--fg-muted);background:0 0;border:0;justify-content:flex-end;gap:10px;padding:2px 0}.settings-sheet .settings-toggle input{appearance:none;background:radial-gradient(7.5px 7.5px at 10px 50%, #fff 92%, transparent 100%), var(--border-strong);cursor:pointer;border-radius:999px;flex:none;order:1;width:34px;height:20px;margin:0;transition:background .15s}.settings-sheet .settings-toggle input:checked{background:radial-gradient(7.5px 7.5px at calc(100% - 10px) 50%, #fff 92%, transparent 100%), var(--accent)}.settings-sheet .settings-toggle input:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inspector-warn{border-radius:var(--radius-sm);border-left:3px solid var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent);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{font-size:var(--text-xl);margin:0 0 4px}.alias-doc h2{font-size:var(--text-lg);margin:28px 0 4px}.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-radius:var(--radius-sm);border-left:3px solid var(--warning);background:color-mix(in srgb, var(--warning) 10%, transparent);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:var(--radius-xs);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);border-radius:var(--radius-sm);cursor:pointer;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);border-radius:var(--radius-md);cursor:pointer;text-align:left;color:inherit;font:inherit;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-radius:var(--radius-sm);border:1px solid var(--border);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{font-size:var(--text-sm);color:var(--fg-faint);min-height:14px;padding:0 2px 2px}.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-radius:var(--radius-xs);border:1px solid var(--border-strong);width:14px;height:14px}.role span:last-child{color:var(--fg-faint)}.settings-box>.licence-row{padding:0;display:block}.licence-head{width:100%;min-height:44px;color:var(--fg);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0 14px;display:flex}.licence-head:hover{background:var(--bg-hover)}.licence-name{font-weight:600}.licence-holder{color:var(--fg-faint);white-space:nowrap;text-overflow:ellipsis;margin-left:auto;overflow:hidden}.spdx{font-size:var(--text-sm);color:var(--fg-muted);border:1px solid var(--capsule-border);background:var(--capsule-bg);border-radius:var(--radius-xs);white-space:nowrap;padding:1px 6px}.licence-detail{flex-direction:column;gap:10px;padding:4px 16px 16px;display:flex}.licence-meta{font-size:var(--text-sm);color:var(--fg-muted);flex-direction:column;gap:3px;line-height:1.5;display:flex}.licence-hash code{overflow-wrap:anywhere}.licence-view{border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.licence-view .cm-editor{max-height:360px;font-size:12px}.licence-view .cm-scroller{overflow:auto}.licence-actions{flex-wrap:wrap;gap:8px;display:flex}.licence-actions a.tb{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--fg);align-items:center;padding:4px 9px;text-decoration:none;display:inline-flex}.licence-actions a.tb:hover{background:var(--bg-hover);border-color:var(--border-strong)}.docs-licences{flex-direction:column;gap:8px;margin:12px 0;display:flex}.docs-content details.docs-licence>summary .docs-details-title{flex-direction:row;align-items:center;gap:8px}.docs-licence .docs-details-title .spdx{flex:none;font-size:12px;font-weight:400}.licence-meta a{color:var(--accent)}.docs-content .licence-meta code{overflow-wrap:anywhere;background:0 0;border:0;padding:0;font-size:12px}p.licence-meta,.docs-licence .licence-meta,.docs-licences>.licence-meta{margin:6px 0 10px;display:block}.docs-licence .licence-detail{padding:0}.licence-lines,.docs-content ol.licence-lines{counter-reset:licence-line;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:360px;color:var(--fg);margin:0;padding:10px 14px 10px 0;font:12px/1.6 Cascadia Mono,ui-monospace,Consolas,monospace;list-style:none;overflow:auto}.licence-lines li,.docs-content .licence-lines li{white-space:pre-wrap;overflow-wrap:anywhere;counter-increment:licence-line;grid-template-columns:40px minmax(0,1fr);column-gap:12px;min-height:1.6em;margin:0;padding:0;font-size:12px;line-height:1.6;display:grid}.licence-lines li:before{content:counter(licence-line);text-align:right;color:var(--fg-faint);-webkit-user-select:none;user-select:none}.attr{--use-included:var(--accent);--use-quoted:#2f8a76;--use-target:#6a5acd;--use-works:var(--fg-muted);--use-example:var(--fg-muted);--use-inspired:#b8860b;--use-homage:#b0448a;flex-direction:column;gap:14px;margin:18px 0 30px;display:flex;container-type:inline-size}.attr-use,.attr-pick{--use:var(--use-works);background:color-mix(in srgb, var(--use) 16%, var(--bg-input));color:color-mix(in srgb, var(--use) 72%, var(--fg))}.use-included{--use:var(--use-included)}.use-quoted{--use:var(--use-quoted)}.use-target{--use:var(--use-target)}.use-works{--use:var(--use-works)}.use-inspired{--use:var(--use-inspired)}.use-homage{--use:var(--use-homage)}.attr-use.use-example,.attr-pick.use-example{background:var(--bg-input);box-shadow:inset 0 0 0 1px var(--border-strong);color:var(--fg-muted)}.attr-use{white-space:nowrap;border-radius:999px;align-items:center;height:22px;padding:0 9px;font-size:12px;font-weight:600;display:inline-flex}.attr-radio{opacity:0;pointer-events:none;position:absolute}.attr-switch{background:var(--bg-active);border-radius:999px;align-self:flex-start;gap:2px;padding:3px;display:inline-flex}.attr-switch label{min-height:34px;color:var(--fg-muted);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;padding:0 18px;font-weight:600;display:inline-flex}#attr-view-simple:checked~.attr-switch label[for=attr-view-simple],#attr-view-advanced:checked~.attr-switch label[for=attr-view-advanced]{background:var(--bg-input);color:var(--fg);box-shadow:0 1px 3px #00000029}#attr-view-simple:focus-visible~.attr-switch label[for=attr-view-simple],#attr-view-advanced:focus-visible~.attr-switch label[for=attr-view-advanced]{outline:2px solid var(--accent);outline-offset:1px}#attr-view-simple:checked~.attr-advanced,#attr-view-advanced:checked~.attr-simple{display:none}.attr-hint{color:var(--fg-muted);margin:0 0 10px}.attr-grid-box{border:1px solid var(--border);background:var(--bg-input);border-radius:12px;overflow-x:auto}.attr-grid{border-collapse:collapse;width:100%;font-size:12.5px;line-height:1.3}.attr .attr-grid th,.attr .attr-grid td{border-top:1px solid var(--border);text-align:center;vertical-align:middle;padding:8px}.attr .attr-grid th:first-child{text-align:left;padding-left:14px}.attr-grid thead th{background:var(--bg-panel);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-muted);border-top:0;font-size:11px;font-weight:650}.attr-grid thead .attr-use{letter-spacing:0;text-transform:none}.attr .attr-grid tbody th{letter-spacing:0;text-transform:none;min-width:120px;max-width:190px;color:var(--fg);white-space:normal;font-size:13px;font-weight:600}.attr-grid td+td,.attr-grid th+td{border-left:1px solid color-mix(in srgb, var(--border) 50%, transparent)}.attr-pick{text-align:left;cursor:pointer;border:0;border-radius:6px;margin:2px;padding:3px 7px;font-family:inherit;font-size:12px;font-weight:600;line-height:1.3;display:inline-block}.attr-grid .attr-pick{text-align:center}.attr-pick:hover{filter:brightness(.95)}.attr-dot{color:var(--fg-faint)}.attr-grid-list,.docs-content .attr ul.attr-grid-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:none}.attr-grid-list li{border:1px solid var(--border);background:var(--bg-input);border-radius:12px;flex-direction:column;gap:6px;padding:10px 12px;display:flex}.attr-tools{flex-direction:column;gap:10px;display:flex}.attr-tools[hidden]{display:none}.attr-search{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);flex-direction:column;gap:5px;font-size:11px;font-weight:650;display:flex}.attr-search input{border:1px solid var(--border-strong);background:var(--bg-input);height:42px;color:var(--fg);font:inherit;letter-spacing:0;text-transform:none;border-radius:10px;padding:0 14px;font-size:15px}.attr-chips{flex-wrap:wrap;gap:6px;display:flex}.attr-chip{border:1px solid var(--border);background:var(--bg-input);min-height:34px;color:var(--fg);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 13px;font-size:13px;display:inline-flex}.attr-chip span{opacity:.6;font-weight:600}.attr-chip[aria-pressed=true]{background:var(--fg);border-color:var(--fg);color:var(--bg-input)}.attr-summary{margin:0;font-size:13px;font-weight:600}.attr-jumps{flex-wrap:wrap;gap:2px 12px;font-size:13px;display:flex}.attr-jumps a[hidden]{display:none}.attr-empty{border:1px solid var(--border);text-align:center;color:var(--fg-muted);border-radius:12px;padding:28px}.attr-groups{flex-direction:column;gap:22px;margin-top:6px;display:flex}.attr-holder[hidden],.attr-row[hidden]{display:none}.attr-holder{scroll-margin-top:80px}.attr-holder h3{letter-spacing:.08em;text-transform:uppercase;color:var(--fg-muted);align-items:baseline;gap:10px;margin:0 4px 6px;font-size:12px;font-weight:650;display:flex}.attr-count{letter-spacing:0;text-transform:none;color:var(--fg-faint);font-weight:400}.attr-statement{color:var(--fg-muted);margin:0 4px 8px;font-size:13px;line-height:1.5}.attr-rows{border:1px solid var(--border);background:var(--bg-input);border-radius:12px;overflow:hidden}.attr-row{border-top:1px solid var(--border);grid-template-columns:minmax(130px,190px) 112px 140px minmax(0,1fr);align-items:start;gap:14px;padding:12px 16px;scroll-margin-top:120px;transition:background-color .4s;display:grid}.attr-row:first-child{border-top:0}.attr-row.attr-found{background:color-mix(in srgb, var(--accent) 12%, var(--bg-input))}.attr-name{min-width:0;font-weight:600}.attr-name a{color:var(--fg);text-decoration:none}.attr-name a:hover{text-decoration:underline}.attr-licence{border:1px solid var(--border-strong);background:var(--bg-input);min-height:28px;color:var(--fg);font:inherit;text-align:left;cursor:pointer;border-radius:8px;align-items:center;padding:0 10px;font-size:12.5px;font-weight:600;display:inline-flex}.attr-licence:hover{border-color:var(--accent);color:var(--accent)}.attr-none{color:var(--fg-muted);font-size:13px;line-height:28px}.attr-what{flex-direction:column;gap:4px;min-width:0;line-height:1.45;display:flex}.attr-where{color:var(--fg-muted);overflow-wrap:anywhere;font-size:12.5px}.attr-legend ul,.docs-content .attr-legend ul{flex-direction:column;gap:8px;margin:10px 0 0;padding:0;list-style:none;display:flex}.attr-legend li{grid-template-columns:120px minmax(0,1fr);align-items:baseline;gap:12px;font-size:13.5px;line-height:1.5;display:grid}@container (width<=760px){.attr-grid-box{display:none}.attr-grid-list,.docs-content .attr ul.attr-grid-list{display:flex}.attr-row{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.attr-row .attr-lic{grid-area:1/2}.attr-row .attr-how,.attr-row .attr-what{grid-column:1/-1}.attr-legend li{grid-template-columns:minmax(0,1fr);gap:4px}}.attr-dialog{border:1px solid var(--border);background:var(--bg-panel);width:min(780px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--fg);border-radius:14px;padding:0;box-shadow:0 24px 60px #0000004d}.attr-dialog[open]{flex-direction:column;gap:10px;padding:16px 20px 18px;display:flex}.attr-dialog::backdrop{background:#14161a73}.attr-dialog-head{align-items:center;gap:12px;display:flex}.attr-dialog-head h2,.docs-content .attr-dialog-head h2{border:0;flex:1;margin:0;padding:0;font-size:18px}.attr-dialog .licence-lines{max-height:min(60vh,520px)}.attr-dialog .licence-detail{padding:0}.attr-dialog .licence-meta{margin:0}.made-note{padding:14px 16px;line-height:1.55;display:block}.made-note p{margin:0}.made-note p+p{color:var(--fg-muted);margin-top:8px}.preview-luau{grid-template-rows:auto 1fr;width:min(760px,100%);height:min(620px,100%)}.preview-luau .docs-head .spacer{flex:1}.preview-toggle{font-size:var(--text-sm);color:var(--fg-muted);cursor:pointer;align-items:center;gap:6px;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);border-radius:var(--radius-sm);color:var(--fg-muted);margin:0 0 12px;padding:9px 11px;line-height:1.55}.preview-code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:var(--text-md);white-space:pre;margin:0;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);border-radius:var(--radius-sm);background:var(--bg-panel);margin:0 0 22px;overflow:hidden}.docs-bar-picture{overflow-x:auto}.docs-bar-frame{-webkit-user-select:none;user-select:none;background-color: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:var(--radius-md)}.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);border-radius:var(--radius-md);background:var(--bg-panel);width:min(340px,100%);padding:4px 0 8px}.docs-bar-frame.inspector>.inspector{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);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);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;min-width:0;color:var(--fg);text-align:left;white-space:nowrap;text-overflow:ellipsis;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.filetree,.docs-bar-frame.place,.docs-bar-frame.properties,.docs-bar-frame.modal{flex-direction:column;align-items:safe center;display:flex}.docs-bar-frame>.docs-tree-shot,.docs-bar-frame>.docs-dialog-shot{text-align:left;font:13px/1.45 Segoe UI,system-ui,-apple-system,sans-serif}.docs-bar-frame>.docs-tree-shot{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);flex:none;width:min(320px,100%);padding:8px 0 4px}.docs-bar-frame.properties>.docs-tree-shot{width:min(340px,100%)}.docs-tree-shot .tree,.docs-tree-shot .place-props{flex:none;overflow:visible}.docs-bar-frame.properties .place-properties h2{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);border:0;justify-content:space-between;align-items:center;margin:2px 0 6px;padding:0 12px;font-weight:600;display:flex}.docs-bar-frame.properties .place-properties h2 button.tb{font-size:var(--text-sm);text-transform:none;letter-spacing:0;padding:1px 8px}.docs-bar-frame>.docs-dialog-shot{box-shadow:none}.docs-bar-frame.modal h3{font-size:var(--text-lg);letter-spacing:0;text-transform:none;color:var(--fg);margin:0;font-weight:600}.docs-bar-frame.modal p{font-size:var(--text-lg);color:var(--fg-muted);margin:0;line-height:1.5}.docs-bar-frame.modal ul.dialog-list,.docs-bar-frame.modal ul.dialog-list li{margin:0}.docs-bar-frame.modal .docs-bar-field,.docs-bar-frame.modal .docs-bar-select{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);width:100%;min-width:0;min-height:28px;color:var(--fg);white-space:nowrap;text-overflow:ellipsis;align-items:center;padding:4px 8px;display:flex;overflow:hidden}.docs-bar-frame.modal .export-menu-name .docs-bar-field{flex:1;width:auto}.docs-bar-frame.inspector .list-row{margin-top:2px}.docs-bar-frame.inspector .list-row .docs-bar-field{box-sizing:border-box;min-width:0;height:28px}.docs-bar-frame.inspector span.tb.type-picker{box-sizing:border-box;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);height:28px;padding:0 9px}.docs-bar-frame.panel h2{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);align-items:center;gap:8px;margin:10px 0 4px;padding:0 10px;font-weight:600;display:flex}.docs-bar-frame.panel h2 button.tb{font-size:var(--text-sm);margin-left:auto;padding:1px 8px}.docs-bar-frame.panel h3.variables-sub{letter-spacing:0;text-transform:none;min-height:24px;color:var(--accent);align-items:center;gap:6px;margin:8px 0 2px;padding:0 8px;font-size:.923077em;font-weight:650;display:flex}.docs-bar-frame.panel h3.variables-sub:after{content:"";background:color-mix(in srgb, var(--accent) 35%, var(--border));flex:1;order:1;min-width:12px;height:1px}.docs-bar-frame.panel h3.variables-sub>button.tb{height:22px;min-height:0;font-size:var(--text-sm);order:2;margin-left:0;padding:0 7px;font-weight:400}.docs-bar-frame.panel .variable-head{padding:3px 10px}.docs-bar-frame.panel .panel-section{border-radius:var(--radius-sm);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>.card-head{border-radius:calc(var(--radius-sm) - 1px) calc(var(--radius-sm) - 1px) 0 0;margin:0 1px}.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);padding:20px 14px}.docs-bar-frame [data-control],.docs-bar-frame [data-control] button{cursor:help}.docs-bar-frame button.tb:hover:not(:disabled){background:var(--bg-input);border-color:var(--border)}.docs-bar-frame .tool-group button.tb:hover:not(:disabled),.docs-bar-frame .segmented button:hover{color:inherit;background:0 0;border-color:#0000}.docs-bar-frame .segmented button.on:hover{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}.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);border-radius:var(--radius-sm);white-space:nowrap;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:var(--radius-sm)}.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{font-size:var(--text-sm);color:var(--fg-faint);border-top:1px solid var(--border);padding:8px 14px}.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{font-size:var(--text-md);color:var(--fg-muted);border-top:1px solid var(--border);background:var(--bg-panel);margin:0;padding:10px 14px}.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);font-size:var(--text-lg);grid-template-columns:minmax(9rem,14rem) 1fr;gap:4px 18px;margin:0;padding:9px 14px;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{font-weight:400;font-size:var(--text-sm);color:var(--fg-faint)}.docs-bar-what{color:var(--fg-muted)}.docs-bar figcaption{border-top:1px solid var(--border);font-size:var(--text-md);color:var(--fg-muted);padding:10px 14px;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-drop{border-radius:var(--radius-sm)}.variables-drop.over{outline:1px dashed var(--accent);outline-offset:-1px;background:color-mix(in srgb, var(--accent) 8%, transparent)}.variables .variable-add{padding:3px 6px 3px 22px}.variables .variable-add input{width:100%}.variables h3.variables-sub{align-items:center;gap:8px;display:flex}.variables h3.variables-sub button.tb{font-size:var(--text-sm);margin-left:auto;padding:1px 8px}.menu-runtimes{flex-wrap:wrap;align-items:center;gap:4px;padding:8px;display:flex}.menu-runtimes button{font:inherit;font-size:var(--text-sm);border:1px solid var(--border);background:var(--bg-input);color:var(--fg-muted);cursor:pointer;border-radius:999px;padding:1px 8px;line-height:1.6}.menu-runtimes button:hover{border-color:var(--border-strong);color:var(--fg)}.menu-runtimes .only{font-size:var(--text-sm);color:var(--fg-faint);padding:1px 2px;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{border-radius:var(--radius-xs);text-transform:uppercase;letter-spacing:.04em;font-size:var(--text-xs);border:1px solid #0000;align-self:center;padding:0 4px}.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.pack{color:var(--fg-muted);border-color:color-mix(in srgb, var(--fg-muted) 45%, transparent);border-style:dashed}.node-picker-preview .from-pack{font-size:var(--text-sm);color:var(--fg-muted);line-height:1.5}.node-picker-preview .from-pack code,.pack-source .pack-file code{font-family:var(--mono,ui-monospace, monospace);font-size:var(--text-xs);overflow-wrap:anywhere}.pack-source .pack-file{color:var(--fg-muted);align-items:center;gap:6px;margin:4px 0;display:flex}.pack-source .pack-note{font-size:var(--text-sm);color:var(--fg-muted);margin:6px 0;line-height:1.5}.pack-source .pack-luau{border-radius:var(--radius-sm);background:var(--bg-input);border:1px solid var(--border);max-height:240px;font-family:var(--mono,ui-monospace, monospace);font-size:var(--text-xs);white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 6px;padding:8px 10px;line-height:1.5;overflow:auto}.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:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){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:where(:not(.docs-layout-screen *)){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);border-radius:var(--radius-sm);background:var(--bg-panel);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:var(--radius-xs);transition:background-color 90ms,box-shadow 90ms;display:block}.map-reach{float:right;color:var(--fg-faint);padding-left:24px}.docs-walk-map .map-editor{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.docs-map .map-preview-line.lit,.docs-map .map-row.lit,.docs-walk-map .map-preview-line.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-radius:var(--radius-sm);font-size:var(--text-md);border-left:2px solid #0000;padding:4px 10px 5px;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);border-radius:var(--radius-sm);pointer-events:none;z-index:4;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);border-radius:var(--radius-md);background:var(--bg-panel);width:min(760px,100%);max-height:min(640px,100%);box-shadow:var(--shadow-modal);flex-direction:column;display:flex;overflow:hidden}.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{font-size:var(--text-xl);letter-spacing:.01em;color:var(--fg);align-items:center;gap:9px;font-weight:600;display:flex}.intro-where{border-left:1px solid var(--border);font-size:var(--text-md);color:var(--fg-dim);align-items:center;gap:6px;padding-left:10px;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{font-size:var(--text-sm);letter-spacing:.08em;text-transform:uppercase;color:var(--fg-faint);margin:0;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);border-radius:var(--radius-md);background:var(--bg-input);text-align:left;cursor:pointer;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{font-size:var(--text-lg);color:var(--fg);align-items:center;gap:6px;font-weight:600;display:flex}.intro-card .badge{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.06em;color:var(--fg-faint);border:1px solid var(--border);border-radius:var(--radius-xs);white-space:nowrap;padding:1px 4px;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{font-size:var(--text-sm);color:var(--fg-muted);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}.intro-card-open{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);margin-top:2px}.intro-empty{text-align:center;font-size:var(--text-md);color:var(--fg-muted);margin:0;padding:28px 16px}.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{border-radius:var(--radius-sm);font-family:inherit;font-size:inherit;color:inherit;cursor:pointer;background:0 0;border:1px solid #0000;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{font-size:var(--text-md);color:var(--danger);margin:0;padding:4px 16px 10px}.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);border-radius:var(--radius-sm);background:var(--bg-input);cursor:pointer;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{font-size:var(--text-md);color:var(--fg-muted);grid-column:2;line-height:1.5}.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;border-radius:var(--radius-sm);background:color-mix(in srgb, var(--select) 14%, transparent)}.touch-drag-ghost{z-index:1000;pointer-events:none;border:1px solid var(--select);border-radius:var(--radius-sm);background:var(--bg-panel);max-width:240px;color:var(--fg);box-shadow:var(--shadow-popover);white-space:nowrap;text-overflow:ellipsis;padding:6px 10px;position:fixed;overflow:hidden;transform:translate(-50%,calc(-100% - 18px))}.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{top:var(--chrome-top);bottom:var(--edge);z-index:67;box-sizing:border-box;pointer-events:auto;background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);width:min(340px,86vw);box-shadow:var(--shadow-popover);padding:0;transition:transform .2s cubic-bezier(.2,.9,.3,1),opacity .16s,visibility .2s;position:absolute;overflow:auto}.dock.drawer.left{left:var(--edge)}.dock.drawer.right{right:var(--edge)}.dock.drawer:not(.drawer-open){visibility:hidden;opacity:0;box-shadow:none}.dock.drawer.left:not(.drawer-open){transform:translate(-16px)}.dock.drawer.right:not(.drawer-open){transform:translate(16px)}.dock.drawer>.panel{min-height:0;box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;border-radius:0;flex:1}.dock.drawer .panel.panel-away{display:none}.dock.drawer .panel-variables{flex:1;max-height:none}.dock.drawer .card-tabs{flex:none}.dock.drawer .card-tab{cursor:pointer;touch-action:manipulation}.drawer-backdrop{z-index:66;background:#00000040;position:absolute;inset:0}.drawer-toggles{left:50%;bottom:calc(var(--edge) + env(safe-area-inset-bottom,0px));z-index:68;max-width:calc(100% - var(--edge) * 2);box-sizing:border-box;background:var(--glass);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(14px)saturate(1.2);scrollbar-width:none;align-items:center;gap:2px;padding:3px;display:flex;position:absolute;overflow-x:auto;transform:translate(-50%)}.drawer-toggles button.tb.icon-only{width:var(--hit);height:var(--hit);background:0 0;border-color:#0000;flex:none;place-items:center;padding:0;display:inline-grid}.drawer-toggles button.tb.icon-only.on{background:color-mix(in srgb, var(--accent) 20%, transparent);color:var(--accent)}@media (width>=700px){.drawer-toggles button.tb.icon-only.drawer-toggle{display:none}.drawer-toggles:not(:has(.touch-bar)){display:none}}.workspace.compact:has(.drawer-toggles .touch-bar) .dock.bottom{bottom:calc(var(--edge) * 2 + var(--hit) + 8px + env(safe-area-inset-bottom,0px))}.workspace.compact:has(.drawer-toggles .touch-bar) .dock.foot{bottom:calc(var(--edge) * 3 + var(--hit) * 2 + 14px + env(safe-area-inset-bottom,0px))}.workspace.compact:has(.drawer-toggles .touch-bar) .dock.foot:not(.full){max-height:calc(100% - var(--chrome-top) - var(--edge) * 4 - var(--hit) * 2 - 14px)}@media (width<=699px){.dock.foot{bottom:calc(var(--edge) * 3 + var(--hit) * 2 + 14px + env(safe-area-inset-bottom,0px))}.dock.foot:not(.full){max-height:calc(100% - var(--chrome-top) - var(--edge) * 4 - var(--hit) * 2 - 14px)}}.touch-bar{align-items:center;display:flex}.touch-bar-group{flex-wrap:nowrap;gap:2px;display:flex}.touch-bar-group.unified{box-shadow:none;background:0 0;border:0;padding:0}.touch-bar button.tb{box-shadow:none;background:0 0;border-color:#0000;flex:none}@media (hover:none){.touch-bar .touch-bar-group button.tb:hover:not(:disabled):not(.on){background:0 0;border-color:#0000}}.touch-bar .touch-bar-group button.tb.icon-only{width:var(--hit);height:var(--hit);place-items:center;padding:0;line-height:0;display:inline-grid}@media (width<=699px){.dock.bottom{bottom:calc(var(--edge) * 2 + var(--hit) + 8px + env(safe-area-inset-bottom,0px))}.dock.drawer.left,.dock.drawer.right{top:auto;left:6px;right:6px;bottom:calc(6px + env(safe-area-inset-bottom,0px));width:auto;max-height:66%;box-shadow:var(--shadow-modal);border-radius:18px}.dock.drawer.left:not(.drawer-open),.dock.drawer.right:not(.drawer-open){transform:translateY(24px)}.canvas .watermark{display: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);width:min(320px,86vw);box-shadow:var(--shadow-modal);grid-area:2/1;transition:transform .16s ease-out,visibility .16s;position:absolute;top:0;bottom:0;left:0}.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-sheet{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.settings-nav{border-right:0;border-bottom:1px solid var(--border);flex-direction:row;align-items:center;gap:4px;padding:8px}.settings-brand,.settings-keeper-head,.settings-elsewhere{display:none}.settings-search{flex:none;width:150px;margin:0}.settings-keeper,.settings-keeper.keeper-about{flex-direction:row;margin:0;padding:0}.settings-link{white-space:nowrap}.settings-current,.settings-results{padding:14px 14px 28px}.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);border-radius:var(--radius-sm);height:var(--hit);box-sizing:border-box;align-items:center;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%);box-shadow:var(--shadow-modal);display:flex;position:absolute;top:0;bottom:0;left:0}.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%);box-shadow:var(--shadow-modal);display:flex;position:absolute;top:0;bottom:0;left:0}.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-static .docs-page-head{flex-wrap:nowrap}.docs-page-head .logo .version,.docs-page-head .docs-try-more,.docs-page-head a.tb.docs-try .version.preview-chip,.docs-page-head a.tb.docs-source{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);border-radius:var(--radius-md);background:var(--bg-app);font-size:var(--text-sm);gap:3px;margin:14px;padding:6px;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);border-radius:var(--radius-sm);background-color:var(--bg-panel);min-width:0;min-height:0;color:var(--fg-muted);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);--grid-step:14px;align-content:flex-end}.docs-layout-region.number-middle-end{place-content:center flex-end}.docs-layout-region.kind-float{z-index:2;box-shadow:var(--shadow-raised);flex-wrap:nowrap;align-self:center;align-items:center;margin:0 6px}.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);font-size:var(--text-xs);border-radius:50%;flex:none;place-items:center;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);border-radius:var(--radius-sm);background:var(--bg-input);white-space:nowrap;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);border-radius:var(--radius-md);background:var(--bg-panel);min-width:190px;box-shadow:var(--shadow-popover);flex-direction:column;gap:6px;padding:8px;display:flex;position:absolute;top:calc(100% + 8px);left:0}.tool-popout-end .tool-popout-panel{left:auto;right:0}.tool-popout-panel select.tb{width:100%}@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);border-radius:var(--radius-md);background:var(--bg-panel);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;font-size:var(--text-md);color:var(--fg-faint);flex:1}.docs-walk-steps{margin:0;padding:10px 14px 12px 36px}.docs-walk-steps>li{border-radius:var(--radius-sm);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{box-shadow:none;position:static}.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:var(--text-sm)}.luau-hover{border-radius:var(--radius-sm);max-width:min(480px,100vw - 24px);font-size:var(--text-md);color:var(--fg);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{font-size:var(--text-sm);color:var(--fg-faint);margin-top:2px;display:block}.luau-hover code{font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:var(--text-lg);color:var(--fg);white-space:pre-wrap;font-weight:700;display:block}.luau-hover p{color:var(--fg-muted);margin:0;padding:7px 10px 0}.luau-hover>p:last-child{padding-bottom:8px}.luau-hover-doc{max-height:min(360px,50vh);padding-bottom:8px;overflow:auto}.luau-hover .luau-hover-doc code{font-size:var(--text-sm);white-space:pre-wrap;font-weight:400;display:inline}.luau-hover-doc pre{border-radius:var(--radius-sm);background:color-mix(in srgb, var(--bg-canvas) 70%, var(--bg-panel));margin:7px 10px 0;padding:6px 8px;overflow-x:auto}.luau-hover .luau-hover-doc pre code{white-space:pre;display:block}.luau-hover .luau-hover-doc a{margin:0;display:inline}.luau-hover-tags{margin:7px 10px 0}.luau-hover-tags dt{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--fg-faint);font-weight:600}.luau-hover-tags dd{color:var(--fg-muted);margin:2px 0 0}.luau-hover-deprecated,.luau-hover-yields{font-weight:600}.luau-hover .luau-hover-deprecated{color:var(--warning)}.luau-hover .luau-hover-note{border-left:2px solid var(--warning);background:color-mix(in srgb, var(--warning) 8%, transparent);margin:7px 10px 0;padding:5px 8px}.luau-hover a{color:var(--accent);margin:6px 10px 8px;display:inline-block}.luau-signature{border-radius:var(--radius-sm);padding:5px 9px}.luau-signature code{font-family:Cascadia Mono,Consolas,ui-monospace,monospace;font-size:var(--text-md);color:var(--fg-muted);white-space:pre-wrap}.luau-signature .param.active{color:var(--fg);text-underline-offset:3px;font-weight:700;text-decoration:underline}@media (hover:none) and (pointer:coarse){:root{--hit:38px}}.workspace-chrome{z-index:5;pointer-events:none;position:absolute;top:0;left:0;right:0}.workspace{container:workspace/inline-size}.workspace-chrome .floating-tools{flex-wrap:nowrap}.workspace-chrome .tool-group{flex-wrap:nowrap;flex:none}.workspace-chrome .tool-group.graph-tabs{flex:0 auto}.window-mark{height:var(--hit);border-radius:var(--radius-sm);color:var(--fg);cursor:pointer;background:0 0;border:0;align-items:center;gap:7px;padding:0 8px;font-family:inherit;font-weight:600;display:inline-flex}.window-mark:hover,.window-mark:focus-visible{background:var(--bg-hover)}.window-mark .version{font-weight:400;font-size:var(--text-xs);color:var(--fg-faint);font-variant-numeric:tabular-nums}.window-mark .window-glyph{border-left:1px solid var(--border-strong);color:var(--fg-faint);align-items:center;padding-left:7px;display:none}@media (width<=699px){.window-mark .window-glyph{display:inline-flex}.window-mark .window-name,.window-mark .version{display:none}}#root{position:relative}.page-layer{position:absolute;inset:0}.page-layer:not([data-showing]):not([data-leaving]),.page-layer:not([data-showing]):not([data-leaving]) *{visibility:hidden!important}.page-layer[data-leaving]{z-index:1}.page-layer[data-entering]{z-index:2;opacity:0}.page-layer[data-entering][data-fading]{opacity:1;transition:opacity .2s ease-out}.page-layer[data-leaving] .mark-group:not(.docs-bar-frame *),.page-layer[data-leaving] .mode-strip:not(.docs-bar-frame *),.page-layer[data-entering] .mark-group:not(.docs-bar-frame *),.page-layer[data-entering] .mode-strip:not(.docs-bar-frame *){visibility:hidden!important}.mode-flight{z-index:3;pointer-events:none;position:fixed;inset:0}.mode-flight>*{box-sizing:border-box;margin:0;position:absolute}.mode-flight .mode-box{transition:left .32s cubic-bezier(.32,.72,0,1)}@media (prefers-reduced-motion:reduce){.page-layer[data-entering][data-fading],.mode-flight .mode-box{transition:none}}.app.starting .workspace{flex:1}.app.arriving .centre-body,.app.arriving .dock,.app.arriving .float-layer{animation:.18s ease-out both app-arrive}@keyframes app-arrive{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.app.arriving .centre-body,.app.arriving .dock,.app.arriving .float-layer{animation:none}}.mode-strip{flex-wrap:nowrap}.mode-slots{grid-template-columns:repeat(3, var(--hit));gap:2px;display:grid;position:relative}.mode-box{top:0;left:calc(var(--mode-at,0) * (var(--hit) + 2px));width:var(--hit);height:var(--hit);border-radius:var(--radius-sm);background:color-mix(in srgb, var(--accent) 22%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);pointer-events:none;position:absolute}.mode-slot{width:var(--hit);height:var(--hit);border-radius:var(--radius-sm);color:var(--fg-muted);justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.mode-slot:hover{background:var(--bg-hover);color:var(--fg)}.mode-slot[aria-current=page],.mode-slot[aria-current=page]:hover{color:var(--accent);background:0 0}.mode-slot:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}@media (width<=699px){.mode-strip:not(.docs-bar-frame *){display:none}}@media (width>=700px){.docs-page-head a.tb.docs-try{display:none}}@view-transition{navigation:auto}::view-transition-old(root){animation-duration:.2s}::view-transition-new(root){animation-duration:.2s}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.tool-group.doc-group{height:calc(var(--hit) + 8px);box-sizing:border-box;gap:8px;padding:0 12px}.tool-group .doc-name{font-weight:600}.tool-group .doc-kind{font-size:var(--text-sm);color:var(--fg-faint)}.tool-group .dirty:not(.graph-tab):after{content:"•";color:var(--warning);margin-left:5px}@container workspace (width<=1099px){.workspace-chrome .tb-collapsible .tb-icon-when-narrow{display:inline-block}.workspace-chrome .tb-collapsible .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.workspace-chrome .window-mark .version{display:none}}.tool-popout-panel .segmented{display:flex}.tool-popout-panel .segmented button{min-height:var(--hit);flex:1}.side-strip{left:var(--edge);z-index:4;flex-flow:column;padding:4px 3px;position:absolute;top:50%;transform:translateY(-50%)}.side-strip .strip-zoom{writing-mode:vertical-lr;width:22px;height:120px;accent-color:var(--accent);cursor:pointer;direction:rtl;margin:4px 0}.side-strip .strip-percent{font:inherit;font-size:var(--text-xs);color:var(--fg-muted);font-variant-numeric:tabular-nums;cursor:pointer;background:0 0;border:0;padding:2px 0}.side-strip .strip-percent:hover{color:var(--fg)}.side-strip .strip-rule{background:var(--border);width:60%;height:1px;margin:3px 0}@media (width<=699px){.side-strip{display:none}}@media (hover:hover) and (pointer:fine) and (width>=700px){.workspace.has-strip{--strip-w:0px}.side-strip{top:auto;left:50%;bottom:var(--edge);flex-direction:row;padding:3px 6px;transform:translate(-50%)}.side-strip .strip-zoom{writing-mode:horizontal-tb;direction:ltr;width:120px;height:22px;margin:0 4px}.side-strip .strip-percent{min-width:3.4em;padding:0 4px}.side-strip .strip-rule{width:1px;height:60%;margin:0 3px}}.graph-settings .field select.tb,.graph-settings .target-pick{width:100%}.graph-settings .target-pick{align-items:center;gap:6px;display:flex}.graph-settings .target-pick select.tb{font-size:inherit;flex:1;padding:4px 9px}.graph-settings .graph-figures{color:var(--fg-muted);font-size:var(--text-sm);gap:16px;margin:10px 0 4px;display:flex}.graph-settings .graph-figures b{color:var(--fg);font-variant-numeric:tabular-nums}.workspace{--left-w:0px;--right-w:0px}.centre-body>.map-editor,.centre-body>.source,.centre-body>.alias-doc{margin:var(--chrome-top) calc(var(--edge) * 2 + var(--right-w)) calc(var(--pill-h,var(--hit)) + var(--edge) * 2) calc(var(--edge) * 2 + var(--left-w));background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);min-width:0;height:auto;min-height:0;box-shadow:var(--shadow-raised);overflow:hidden}.centre-body>.placeholder{margin-top:var(--chrome-top)}.window-chrome{z-index:30;pointer-events:none;position:absolute;top:0;left:0;right:0}.window-chrome .floating-tools{flex-wrap:nowrap}.window-chrome .tool-group{flex-wrap:nowrap;flex:none}.window-chrome .tool-slot{display:contents}.window-chrome a.tb.icon-only{width:var(--hit);height:var(--hit);box-sizing:border-box;place-items:center;padding:0;display:inline-grid}.designer{height:100%;position:relative;overflow:hidden}.designer>.pack-view,.designer>.pack-browser{flex:1;min-height:0;position:relative}.pack-view:not(.compact){--list-w:calc(260px + var(--edge));display:block}.pack-view:not(.compact)>.pack-nodes{left:var(--edge);top:var(--chrome-top);z-index:10;width:260px;max-height:calc(100% - var(--chrome-top) - var(--edge));box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);position:absolute}.pack-view>.node-editor:not(.split),.pack-view:not(.compact)>.designer-stage{position:absolute;inset:0}.pack-view:not(.compact)>.designer-stage{padding-top:var(--chrome-top);padding-left:calc(var(--list-w) + var(--edge))}.pack-view.compact{--list-w:0px;display:block}.pack-view.compact>.pack-compact-bar{top:var(--chrome-top);left:var(--edge);max-width:calc(100% - var(--edge) * 2);box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--glass);box-shadow:var(--shadow-raised);-webkit-backdrop-filter:blur(14px)saturate(1.2);padding:3px 8px 3px 3px;position:absolute;right:auto}.pack-view.compact .pack-nodes.drawer{top:calc(var(--chrome-top) + var(--hit) + 18px);bottom:var(--edge);left:var(--edge);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-popover)}.pack-view.compact .pack-nodes.drawer:not(.drawer-open){opacity:0;transform:translate(-16px)}.node-editor:not(.split){display:block}.node-editor:not(.split)>.node-logic{background-color:var(--bg-canvas);position:absolute;inset:0}.node-editor:not(.split) .logic-split{display:block;position:absolute;inset:0}.node-editor:not(.split) .logic-canvas{position:absolute;inset:0}.node-editor:not(.split) .logic-canvas .floating-tools{top:auto;bottom:var(--edge);left:calc(var(--list-w,0px) + var(--edge));right:auto}.node-editor:not(.split) .logic-head.logic-head-folded,.node-editor:not(.split) .logic-head .hint{display:none}.tool-group.logic-mode-group{align-items:center;gap:8px;padding-left:10px}.tool-group.logic-mode-group .group-label{font-size:var(--text-md);color:var(--fg);white-space:nowrap;margin:0;font-weight:700}.tool-group .pack-switches .segmented,.tool-group.pack-switches .segmented{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.tool-group .pack-switches .segmented+.segmented,.tool-group.pack-switches .segmented+.segmented{margin-left:8px}.tool-group .pack-switches .segmented button,.tool-group.pack-switches .segmented button{min-height:calc(var(--hit) - 6px);border-radius:var(--radius-xs);padding:0 10px}.tool-group.logic-mode-group .segmented{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px}.tool-group.logic-mode-group .segmented button{min-height:calc(var(--hit) - 6px);border-radius:var(--radius-xs);padding:0 10px}.tool-group.logic-mode-group .segmented button.on{font-weight:400}.node-editor:not(.split) .logic-head{left:calc(var(--list-w,0px) + var(--edge));bottom:var(--edge);z-index:7;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--glass);box-shadow:var(--shadow-raised);padding:3px 8px;position:absolute}.node-editor:not(.split) .logic-compiled{right:var(--edge);bottom:calc(var(--edge) * 3 + var(--hit) + 48px);z-index:6;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);width:min(420px,40%);max-height:40%;box-shadow:var(--shadow-popover);position:absolute}.node-editor:not(.split) .luau-field,.node-editor:not(.split) .logic-empty{top:var(--chrome-top);left:calc(var(--list-w,0px) + var(--edge));right:calc(var(--plate-w,0px) + var(--edge) * 2);bottom:calc(var(--edge) * 3 + var(--hit) + 48px);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-panel);box-shadow:var(--shadow-raised);margin:0;position:absolute}.node-editor:not(.split)>.plate-column{top:var(--chrome-top);right:var(--edge);z-index:5;align-items:stretch;gap:var(--edge);width:min(var(--plate-w,400px), calc(100% - var(--edge) * 2));max-height:calc(100% - var(--chrome-top) - var(--edge) * 4 - var(--hit) - 48px);pointer-events:none;flex-direction:column;display:flex;position:absolute;overflow-y:auto}.node-editor:not(.split)>.plate-column>*{pointer-events:auto;flex:none}.node-editor.split>.plate-column{display:contents}.node-editor:not(.split) .plate-column>.pin-popover.docked,.node-editor:not(.split) .plate-column>.node-details{width:auto;max-height:none;box-shadow:var(--shadow-raised);position:static}.node-editor:not(.split) .plate-column>.pin-popover.docked{min-height:calc(var(--hit) * 3 + 24px);flex:0 auto}.pin-popover.folded>:not(.pin-popover-head){display:none}.node-editor:not(.split) .plate-column>.node-editor-stage{z-index:5;border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);position:relative}.plate-head{z-index:6;box-sizing:border-box;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-panel) 92%, transparent);border-radius:var(--radius-md) var(--radius-md) 0 0;align-items:center;gap:6px;height:34px;padding:0 4px 0 12px;display:flex;position:absolute;top:0;left:0;right:0}.plate-head .plate-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.plate-head button.tb.icon-only{background:0 0;border-color:#0000;width:28px;height:28px}.node-editor-stage.folded{overflow:hidden}.node-editor-stage.folded>:not(.plate-head){display:none}.node-editor-stage.folded .plate-head{border-radius:var(--radius-md);border-bottom:0}.plate-counts{z-index:6;flex-wrap:nowrap;width:max-content;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.pin-stepper{align-items:center;gap:8px;padding-left:6px;display:inline-flex}.pin-stepper .group-label{font-size:var(--text-md);color:var(--fg);white-space:nowrap;font-weight:700}.pin-stepper-track{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;padding:1px;display:inline-flex}.pin-stepper-track button.tb.icon-only{width:calc(var(--hit) - 6px);min-width:0;height:calc(var(--hit) - 8px);border-radius:var(--radius-xs);min-height:0;font-size:var(--text-lg);background:0 0;border:0;padding:0;line-height:1}.pin-stepper-track .tb.icon-only:hover:not(:disabled){background:var(--bg-hover)}.pin-stepper-count{text-align:center;font-variant-numeric:tabular-nums;min-width:2ch;color:var(--accent);font-weight:600}.node-editor>.pin-palette{right:var(--edge);bottom:var(--edge);z-index:7;max-width:calc(100% - var(--list-w,0px) - var(--edge) * 3 - var(--tools-w,190px));justify-content:flex-end;position:absolute}.node-editor.split>.pin-palette{max-width:calc(100% - var(--edge) * 2);align-self:center;margin:6px 0;position:static;transform:none}.node-editor .plate-column>.node-details{box-sizing:border-box}.node-editor>.node-problems{left:auto;right:var(--edge);bottom:calc(var(--edge) * 2 + var(--hit) + 8px);z-index:8;max-width:min(360px, calc(100% - var(--edge) * 2))}.node-editor>.node-actions{top:var(--edge);right:var(--edge);z-index:9;position:absolute}.node-editor.split{inset:calc(var(--chrome-top) + var(--hit) + 18px) 0 0 0;position:absolute}.docs-page-head .tb.docs-search-field{background:var(--bg-input);border:1px solid var(--border);min-width:220px;color:var(--fg-faint);cursor:text;align-items:center;gap:8px;margin-left:4px;display:inline-flex}.docs-page-head .tb.docs-search-field:hover{background:var(--bg-input);border-color:var(--border-strong)}.docs-search-field kbd{border:1px solid var(--border);border-radius:var(--radius-xs);font:inherit;font-size:var(--text-xs);margin-left:auto;padding:0 5px}.docs-window .docs-nav>.search{display:none}@media (width<=760px),(hover:none) and (pointer:coarse){.docs-page-head .tb.docs-search-field{min-width:0}.docs-search-field .docs-search-label,.docs-search-field kbd{display:none}}.docs-page-head.docs-clusters{box-shadow:none;-webkit-backdrop-filter:none;background:0 0;border:0;gap:8px;padding:0}.docs-clusters .spacer{flex:1}.docs-clusters .tool-group{flex-wrap:nowrap}.docs-clusters .tool-group a.tb.icon-only{width:var(--hit);height:var(--hit);box-sizing:border-box;place-items:center;padding:0;display:inline-grid}.docs-clusters .search-group{padding:3px}.docs-clusters .search-group .tb.docs-search-field{min-height:var(--hit);margin-left:0}.docs-clusters .contents-group{display:none}@media (width<=760px),(hover:none) and (pointer:coarse){.docs-clusters .contents-group{display:flex}}.docs-window .docs-nav,.docs-window .docs-toc-card{box-sizing:border-box;max-height:calc(100% - var(--edge) * 2);background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);align-self:start;overflow:auto}.docs-window .docs-nav{margin:var(--edge) 0 var(--edge) var(--edge);padding:0 6px 8px}.docs-window .docs-toc{padding:var(--edge) var(--edge) var(--edge) 0;border-left:0}.docs-window .docs-toc-card{flex-direction:column;gap:2px;padding:0 6px 8px;display:flex}.docs-card-head{z-index:1;border-bottom:1px solid var(--border);background:var(--bg-panel);align-items:center;gap:8px;min-width:0;margin:0 -6px 6px;padding:4px 4px 4px 12px;display:flex;position:sticky;top:0}.docs-card-title{font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.09em;color:var(--fg-faint);flex:none;font-weight:700}.docs-card-where{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-md);flex:1;display:block;overflow:hidden}.docs-card-where .crumb{color:var(--fg-faint)}.docs-card-where .crumb:after{content:" › "}.docs-card-fold{flex:none;margin-left:auto}.docs-card-head button.tb.icon-only{background:0 0;border-color:#0000;width:28px;height:28px}.docs-nav.folded .docs-card-where,.docs-toc-card.folded .docs-card-where{display:block}.docs-nav.folded>:not(.docs-card-head),.docs-toc-card.folded>:not(.docs-card-head){display:none}.docs-nav.folded .docs-card-head,.docs-toc-card.folded .docs-card-head{border-bottom:0;margin-bottom:-8px}.docs-toc-link.on{color:var(--accent);font-weight:600}.docs-toc-card .docs-toc-head{display:none}@media (width<=760px),(hover:none) and (pointer:coarse){.docs-window .docs-nav{box-shadow:none;border-radius:0;max-height:none;margin:0}.docs-window .docs-nav .docs-card-fold{display:none}}@media (width>=761px) and (pointer:fine){.docs-window .docs-body{display:block;position:relative;overflow:hidden}.docs-window .docs-content{box-sizing:border-box;max-width:none;padding:var(--edge) calc(260px + var(--edge) * 3) 60px;position:absolute;inset:0;overflow:auto}.docs-window .docs-nav{left:var(--edge);top:var(--edge);z-index:5;width:260px;margin:0;position:absolute}.docs-window .docs-toc{right:calc(var(--edge) + 12px);top:var(--edge);z-index:5;width:220px;max-height:calc(100% - var(--edge) * 2);pointer-events:none;padding:0;position:absolute;overflow:visible}.docs-window .docs-toc>*{pointer-events:auto}.docs-window .docs-toc-card,.docs-window .docs-nav{box-sizing:border-box;min-width:0;max-width:100%;max-height:100%}.docs-window .docs-toc-card{width:100%}.docs-window .docs-card-head,.docs-window .docs-card-where{min-width:0}.docs-window .docs-body:has(>.docs-nav.folded)>.docs-content{padding-left:calc(var(--edge) * 2);padding-right:calc(var(--edge) * 2 + 12px)}.docs-window .docs-nav,.docs-window .docs-toc-card{background:var(--glass);-webkit-backdrop-filter:blur(14px)saturate(1.2)}.docs-window .docs-card-head{background:color-mix(in srgb, var(--bg-panel) 97%, transparent);border-radius:var(--radius-md) var(--radius-md) 0 0}}@media (width>=761px) and (width<=1100px) and (pointer:fine){.docs-window .docs-content{padding-right:calc(var(--edge) * 2 + 12px)}}:root{scrollbar-color:color-mix(in srgb, var(--fg-faint) 55%, transparent) transparent}*{scrollbar-width:thin}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:color-mix(in srgb, var(--fg-faint) 55%, transparent);background-clip:padding-box;border:3px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:var(--fg-muted)}::-webkit-scrollbar-button{display:none}.node-editor:not(.split)>.pin-palette{bottom:calc(var(--edge) + env(safe-area-inset-bottom,0px))}.node-editor:not(.split) .logic-canvas .drawer-toggles{bottom:calc(var(--edge) * 2 + var(--hit) + 8px + env(safe-area-inset-bottom,0px))}.node-editor:not(.split) .logic-head,.node-editor:not(.split) .logic-canvas .floating-tools{bottom:calc(var(--edge) + env(safe-area-inset-bottom,0px))}.node-editor:not(.split)>.node-problems{bottom:calc(var(--edge) * 2 + var(--hit) + 8px + env(safe-area-inset-bottom,0px))}.node-editor:not(.split):has(.touch-bar)>.node-problems{bottom:calc(var(--edge) * 3 + var(--hit) * 2 + 16px + env(safe-area-inset-bottom,0px))}.pack-view.compact .node-editor:not(.split) .luau-field,.pack-view.compact .node-editor:not(.split) .logic-empty{top:calc(var(--chrome-top) + var(--hit) + 8px + var(--edge))}.node-editor:not(.split):where(:not(:has(.logic-canvas .floating-tools)))>.pin-palette{max-width:calc(100% - var(--list-w,0px) - var(--edge) * 2)}.node-editor:not(.split):where(:not(:has(.logic-canvas .floating-tools))):where(:has(.logic-head:not(.logic-head-folded)))>.pin-palette{max-width:calc(100% - var(--list-w,0px) - var(--edge) * 3 - 180px)}.node-editor:not(.split):where(:not(:has(.logic-head:not(.logic-head-folded)))) .luau-field,.node-editor:not(.split):where(:not(:has(.logic-head:not(.logic-head-folded)))) .logic-empty{bottom:calc(var(--edge) * 2 + var(--hit) + 8px + env(safe-area-inset-bottom,0px))}@media (orientation:portrait) and (width>=700px){.node-editor:not(.split){--stack-top:var(--chrome-top)}.pack-view.compact .node-editor:not(.split){--stack-top:calc(var(--chrome-top) + var(--hit) + 8px + var(--edge))}.node-editor:not(.split)>.plate-column{top:var(--stack-top);left:calc(var(--list-w,0px) + var(--edge));width:auto;max-height:65%}.node-editor:not(.split) .luau-field,.node-editor:not(.split) .logic-empty,.pack-view.compact .node-editor:not(.split) .luau-field,.pack-view.compact .node-editor:not(.split) .logic-empty{top:calc(var(--stack-top) + var(--column-h,0px) + var(--edge));right:var(--edge);bottom:calc(var(--edge) * 3 + var(--hit) + 48px + env(safe-area-inset-bottom,0px))}}.node-editor>.pin-palette{scrollbar-width:none;min-height:calc(var(--hit) + 8px);box-sizing:border-box;flex-wrap:nowrap;align-items:center;overflow-x:auto}.node-editor>.pin-palette>*{flex:none}.node-editor.split>.node-problems{top:var(--edge);bottom:auto;left:var(--edge);right:var(--edge);max-width:none}@media (width<=699px){.node-details .segmented{flex-wrap:wrap}.node-details .segmented button{white-space:normal}}@media (hover:hover) and (pointer:fine) and (width>=700px){.dock.bottom{max-width:min(640px,50% - 210px)}}.docs-layout-fit{padding:4px 6px;overflow-x:auto;container:docs-layout/inline-size}.docs-layout-screen.dev-phone{--z:.68}.docs-layout-screen.dev-desktop{--z:.085}.docs-layout-screen.dev-tablet{--z:.131}@container docs-layout (width>=200px){.docs-layout-screen.dev-desktop{--z:.085}}@container docs-layout (width>=225px){.docs-layout-screen.dev-desktop{--z:.101}}@container docs-layout (width>=250px){.docs-layout-screen.dev-desktop{--z:.116}}@container docs-layout (width>=275px){.docs-layout-screen.dev-desktop{--z:.132}}@container docs-layout (width>=300px){.docs-layout-screen.dev-desktop{--z:.147}}@container docs-layout (width>=325px){.docs-layout-screen.dev-desktop{--z:.163}}@container docs-layout (width>=350px){.docs-layout-screen.dev-desktop{--z:.179}}@container docs-layout (width>=375px){.docs-layout-screen.dev-desktop{--z:.194}}@container docs-layout (width>=400px){.docs-layout-screen.dev-desktop{--z:.21}}@container docs-layout (width>=425px){.docs-layout-screen.dev-desktop{--z:.226}}@container docs-layout (width>=450px){.docs-layout-screen.dev-desktop{--z:.241}}@container docs-layout (width>=475px){.docs-layout-screen.dev-desktop{--z:.257}}@container docs-layout (width>=500px){.docs-layout-screen.dev-desktop{--z:.273}}@container docs-layout (width>=525px){.docs-layout-screen.dev-desktop{--z:.288}}@container docs-layout (width>=550px){.docs-layout-screen.dev-desktop{--z:.304}}@container docs-layout (width>=575px){.docs-layout-screen.dev-desktop{--z:.319}}@container docs-layout (width>=600px){.docs-layout-screen.dev-desktop{--z:.335}}@container docs-layout (width>=625px){.docs-layout-screen.dev-desktop{--z:.351}}@container docs-layout (width>=650px){.docs-layout-screen.dev-desktop{--z:.366}}@container docs-layout (width>=675px){.docs-layout-screen.dev-desktop{--z:.382}}@container docs-layout (width>=700px){.docs-layout-screen.dev-desktop{--z:.398}}@container docs-layout (width>=725px){.docs-layout-screen.dev-desktop{--z:.413}}@container docs-layout (width>=750px){.docs-layout-screen.dev-desktop{--z:.429}}@container docs-layout (width>=775px){.docs-layout-screen.dev-desktop{--z:.444}}@container docs-layout (width>=800px){.docs-layout-screen.dev-desktop{--z:.46}}@container docs-layout (width>=825px){.docs-layout-screen.dev-desktop{--z:.476}}@container docs-layout (width>=850px){.docs-layout-screen.dev-desktop{--z:.491}}@container docs-layout (width>=875px){.docs-layout-screen.dev-desktop{--z:.507}}@container docs-layout (width>=900px){.docs-layout-screen.dev-desktop{--z:.522}}@container docs-layout (width>=925px){.docs-layout-screen.dev-desktop{--z:.538}}@container docs-layout (width>=950px){.docs-layout-screen.dev-desktop{--z:.554}}@container docs-layout (width>=975px){.docs-layout-screen.dev-desktop{--z:.569}}@container docs-layout (width>=1000px){.docs-layout-screen.dev-desktop{--z:.585}}@container docs-layout (width>=1025px){.docs-layout-screen.dev-desktop{--z:.601}}@container docs-layout (width>=1050px){.docs-layout-screen.dev-desktop{--z:.616}}@container docs-layout (width>=1075px){.docs-layout-screen.dev-desktop{--z:.632}}@container docs-layout (width>=1100px){.docs-layout-screen.dev-desktop{--z:.647}}@container docs-layout (width>=1125px){.docs-layout-screen.dev-desktop{--z:.663}}@container docs-layout (width>=1150px){.docs-layout-screen.dev-desktop{--z:.679}}@container docs-layout (width>=1175px){.docs-layout-screen.dev-desktop{--z:.694}}@container docs-layout (width>=1200px){.docs-layout-screen.dev-desktop{--z:.71}}@container docs-layout (width>=1225px){.docs-layout-screen.dev-desktop{--z:.726}}@container docs-layout (width>=1250px){.docs-layout-screen.dev-desktop{--z:.741}}@container docs-layout (width>=1275px){.docs-layout-screen.dev-desktop{--z:.757}}@container docs-layout (width>=1300px){.docs-layout-screen.dev-desktop{--z:.772}}@container docs-layout (width>=1325px){.docs-layout-screen.dev-desktop{--z:.788}}@container docs-layout (width>=1350px){.docs-layout-screen.dev-desktop{--z:.804}}@container docs-layout (width>=1375px){.docs-layout-screen.dev-desktop{--z:.819}}@container docs-layout (width>=1400px){.docs-layout-screen.dev-desktop{--z:.835}}@container docs-layout (width>=1425px){.docs-layout-screen.dev-desktop{--z:.851}}@container docs-layout (width>=1450px){.docs-layout-screen.dev-desktop{--z:.866}}@container docs-layout (width>=1475px){.docs-layout-screen.dev-desktop{--z:.882}}@container docs-layout (width>=1500px){.docs-layout-screen.dev-desktop{--z:.897}}@container docs-layout (width>=1525px){.docs-layout-screen.dev-desktop{--z:.913}}@container docs-layout (width>=1550px){.docs-layout-screen.dev-desktop{--z:.929}}@container docs-layout (width>=1575px){.docs-layout-screen.dev-desktop{--z:.944}}@container docs-layout (width>=1600px){.docs-layout-screen.dev-desktop{--z:.96}}@container docs-layout (width>=1625px){.docs-layout-screen.dev-desktop{--z:.976}}@container docs-layout (width>=1650px){.docs-layout-screen.dev-desktop{--z:.991}}@container docs-layout (width>=1675px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1700px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1725px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1750px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1775px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1800px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1825px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1850px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1875px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1900px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1925px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1950px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=1975px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2000px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2025px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2050px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2075px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2100px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2125px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2150px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2175px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2200px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2225px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2250px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2275px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2300px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2325px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2350px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2375px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=2400px){.docs-layout-screen.dev-desktop{--z:1}}@container docs-layout (width>=200px){.docs-layout-screen.dev-tablet{--z:.131}}@container docs-layout (width>=225px){.docs-layout-screen.dev-tablet{--z:.153}}@container docs-layout (width>=250px){.docs-layout-screen.dev-tablet{--z:.175}}@container docs-layout (width>=275px){.docs-layout-screen.dev-tablet{--z:.197}}@container docs-layout (width>=300px){.docs-layout-screen.dev-tablet{--z:.219}}@container docs-layout (width>=325px){.docs-layout-screen.dev-tablet{--z:.241}}@container docs-layout (width>=350px){.docs-layout-screen.dev-tablet{--z:.263}}@container docs-layout (width>=375px){.docs-layout-screen.dev-tablet{--z:.285}}@container docs-layout (width>=400px){.docs-layout-screen.dev-tablet{--z:.307}}@container docs-layout (width>=425px){.docs-layout-screen.dev-tablet{--z:.329}}@container docs-layout (width>=450px){.docs-layout-screen.dev-tablet{--z:.351}}@container docs-layout (width>=475px){.docs-layout-screen.dev-tablet{--z:.373}}@container docs-layout (width>=500px){.docs-layout-screen.dev-tablet{--z:.395}}@container docs-layout (width>=525px){.docs-layout-screen.dev-tablet{--z:.417}}@container docs-layout (width>=550px){.docs-layout-screen.dev-tablet{--z:.44}}@container docs-layout (width>=575px){.docs-layout-screen.dev-tablet{--z:.462}}@container docs-layout (width>=600px){.docs-layout-screen.dev-tablet{--z:.484}}@container docs-layout (width>=625px){.docs-layout-screen.dev-tablet{--z:.506}}@container docs-layout (width>=650px){.docs-layout-screen.dev-tablet{--z:.528}}@container docs-layout (width>=675px){.docs-layout-screen.dev-tablet{--z:.55}}@container docs-layout (width>=700px){.docs-layout-screen.dev-tablet{--z:.572}}@container docs-layout (width>=725px){.docs-layout-screen.dev-tablet{--z:.594}}@container docs-layout (width>=750px){.docs-layout-screen.dev-tablet{--z:.616}}@container docs-layout (width>=775px){.docs-layout-screen.dev-tablet{--z:.638}}@container docs-layout (width>=800px){.docs-layout-screen.dev-tablet{--z:.66}}@container docs-layout (width>=825px){.docs-layout-screen.dev-tablet{--z:.682}}@container docs-layout (width>=850px){.docs-layout-screen.dev-tablet{--z:.704}}@container docs-layout (width>=875px){.docs-layout-screen.dev-tablet{--z:.726}}@container docs-layout (width>=900px){.docs-layout-screen.dev-tablet{--z:.748}}@container docs-layout (width>=925px){.docs-layout-screen.dev-tablet{--z:.771}}@container docs-layout (width>=950px){.docs-layout-screen.dev-tablet{--z:.793}}@container docs-layout (width>=975px){.docs-layout-screen.dev-tablet{--z:.815}}@container docs-layout (width>=1000px){.docs-layout-screen.dev-tablet{--z:.837}}@container docs-layout (width>=1025px){.docs-layout-screen.dev-tablet{--z:.859}}@container docs-layout (width>=1050px){.docs-layout-screen.dev-tablet{--z:.881}}@container docs-layout (width>=1075px){.docs-layout-screen.dev-tablet{--z:.903}}@container docs-layout (width>=1100px){.docs-layout-screen.dev-tablet{--z:.925}}@container docs-layout (width>=1125px){.docs-layout-screen.dev-tablet{--z:.947}}@container docs-layout (width>=1150px){.docs-layout-screen.dev-tablet{--z:.969}}@container docs-layout (width>=1175px){.docs-layout-screen.dev-tablet{--z:.991}}@container docs-layout (width>=1200px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1225px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1250px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1275px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1300px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1325px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1350px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1375px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1400px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1425px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1450px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1475px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1500px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1525px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1550px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1575px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1600px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1625px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1650px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1675px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1700px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1725px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1750px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1775px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1800px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1825px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1850px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1875px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1900px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1925px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1950px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=1975px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2000px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2025px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2050px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2075px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2100px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2125px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2150px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2175px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2200px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2225px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2250px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2275px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2300px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2325px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2350px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2375px){.docs-layout-screen.dev-tablet{--z:1}}@container docs-layout (width>=2400px){.docs-layout-screen.dev-tablet{--z:1}}.docs-layout-frame.monitor{box-shadow:0 0 0 1px #2a2e36, var(--shadow-raised);border:12px solid #0d0f13;border-bottom-width:24px;border-radius:14px;position:relative;margin-bottom:64px!important}.docs-layout-frame.monitor:before{content:"";clip-path:polygon(16% 0,84% 0,100% 100%,0 100%);background:linear-gradient(#15181d,#0d0f13);width:72px;height:34px;position:absolute;top:calc(100% + 24px);left:50%;transform:translate(-50%)}.docs-layout-frame.monitor:after{content:"";background:#15181d;border-radius:4px 4px 2px 2px;width:220px;height:8px;position:absolute;top:calc(100% + 56px);left:50%;transform:translate(-50%);box-shadow:0 0 0 1px #2a2e36}.docs-layout-screen [data-control].lit{box-shadow:0 0 0 calc(3px / var(--z)) var(--accent), 0 0 0 calc(8px / var(--z)) color-mix(in srgb, var(--accent) 28%, transparent)!important}.docs-bar-frame.float{container:docs-bar/inline-size}.docs-walk-frame .docs-bar-frame.float{container-type:normal}.docs-walk-frame .docs-bar-frame .tb-collapsible .tb-icon-when-narrow{display:inline-block}.docs-walk-frame .docs-bar-frame .tb-collapsible .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@container docs-bar (width<=1060px){.docs-bar-frame .tb-collapsible .tb-icon-when-narrow{display:inline-block}.docs-bar-frame .tb-collapsible .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}.docs-walk-frame.walk-window,.docs-walk-frame.walk-map{width:auto}.docs-layout-screen .walk-here{box-shadow:0 0 0 calc(3px / var(--z)) var(--accent);animation-name:walk-here-window}@keyframes walk-here-window{50%{box-shadow:0 0 0 calc(3px / var(--z)) var(--accent), 0 0 0 calc(9px / var(--z)) color-mix(in srgb, var(--accent) 35%, transparent)}}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}.workspace.has-strip .dock.bottom{left:calc(var(--edge) + var(--strip-w))}@media (width<=699px){.workspace.has-strip{--strip-w:0px}}.side-strip{top:var(--chrome-top);bottom:var(--edge);height:max-content;margin-block:auto;transform:none}@media (hover:hover) and (pointer:fine) and (width>=700px){.side-strip{margin-block:0;top:auto;transform:translate(-50%)}}@media (height<=640px){.side-strip .strip-zoom{display:none}}@media (width<=699px){.centre-body>.map-editor,.centre-body>.source,.centre-body>.alias-doc{margin:var(--chrome-top) 6px calc(var(--hit) + var(--edge) * 3 + 46px + env(safe-area-inset-bottom,0px)) 6px}.map-editor,.map-editor.map-editor-resizable{grid-template-rows:minmax(0,36%) minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.map-editor.map-editor-resizable{grid-template-rows:min(var(--map-tree-h,36%), calc(100% - 180px)) 0 minmax(0, 1fr)}.map-splitter{cursor:row-resize}.map-splitter:before{inset:-10px 0}.map-splitter:after{width:auto;height:2px;inset:-1px 0 auto}.map-side{border-left:none;border-top:1px solid var(--border)}.source-head,.preview-luau .docs-head{flex-wrap:wrap;row-gap:6px}.source-head .tb:disabled{display:none}.source-head .tb,.preview-luau .docs-head .sub,.preview-toggle{white-space:nowrap}.docs-backdrop{padding:10px}.preview-code{white-space:pre-wrap;overflow-wrap:anywhere}.preview-code .ln{text-indent:calc(-3.5ch - 12px);padding-left:calc(3.5ch + 12px)}.preview-code .num{text-indent:0}}@media (hover:none) and (pointer:coarse){@container workspace (width<=1299px){.workspace-chrome .tb-collapsible .tb-icon-when-narrow{display:inline-block}.workspace-chrome .tb-collapsible .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}}.docs-layout-screen.dev-desktop{--hit:30px}.docs-layout-screen.dev-tablet,.docs-layout-screen.dev-phone{--hit:38px}.docs-layout-screen.dev-tablet .tb-collapsible .tb-icon-when-narrow{display:inline-block}.docs-layout-screen.dev-tablet .tb-collapsible .tb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.docs-layout-frame,.docs-walk-window{isolation:isolate}.docs-layout-fit{padding:6px 12px}:root{--card-head:color-mix(in srgb, var(--bg-input) 70%, var(--bg-panel));--card-head-focus:color-mix(in srgb, var(--accent) 16%, var(--card-head))}.dock:not(.drawer){gap:0}.dock.left.shared{bottom:calc(var(--pill-h,var(--hit)) + var(--edge) * 2);max-height:none}.dock.right.shared{bottom:var(--edge);max-height:none}.card{flex-direction:column;min-width:0;min-height:0;display:flex}.card.folded{flex:none!important}.card-head{min-height:var(--hit);box-sizing:border-box;background:var(--card-head);border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;flex:none;align-items:center;gap:6px;padding:0 3px 0 10px;display:flex}.card-head:active{cursor:grabbing}.card.folded>.card-head{border-bottom-color:#0000}.card-title{font-size:var(--text-md);color:var(--fg-muted);white-space:nowrap;flex:none;font-weight:600}.card-slot{flex:1;align-self:stretch;align-items:center;gap:6px;min-width:0;display:flex}.card-slot[hidden],.card-body[hidden]{display:none!important}.card-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:var(--text-md);color:var(--fg-faint);overflow:hidden}.card-tools{flex:none;align-items:center;gap:4px;margin-left:auto;display:inline-flex}.card-tools .tb{min-height:0;height:calc(var(--hit) - 10px);font-size:var(--text-sm);padding:0 8px;line-height:1}.card-tools .segmented{padding:1px}.card-tools .segmented button{min-height:0;height:calc(var(--hit) - 12px);font-size:var(--text-sm);padding:0 8px;line-height:1}.card-head>.tb.icon-only{width:calc(var(--hit) - 8px);height:calc(var(--hit) - 8px);color:var(--fg-muted);background:0 0;border-color:#0000;flex:none;place-items:center;padding:0;display:inline-grid}.card-head>.tb.icon-only:hover{background:var(--bg-hover);color:var(--fg)}.card-tabs{align-self:stretch;gap:2px;min-width:0;display:inline-flex;overflow:hidden}.card-tab{border-radius:var(--radius-sm) var(--radius-sm) 0 0;color:var(--fg-muted);font:inherit;font-size:var(--text-md);white-space:nowrap;cursor:grab;touch-action:none;background:0 0;border:0;align-items:center;padding:0 9px;font-weight:600;display:inline-flex;position:relative}.card-tab:hover{color:var(--fg)}.card-tab.on{color:var(--fg);background:color-mix(in srgb, var(--bg-panel) 98%, transparent)}.card-tab.on:after{content:"";background:var(--accent);border-radius:1px;height:2px;position:absolute;bottom:0;left:8px;right:8px}.card.focus{border-color:color-mix(in srgb, var(--accent) 55%, var(--border))}.card.focus>.card-head{background:var(--card-head-focus)}.card.focus>.card-head .card-title,.card.focus>.card-head .card-tab.on{color:var(--accent)}.card-body{flex:auto;min-height:0;overflow:auto}.card.headless .status>.bar{background:var(--card-head)}.card.headless.focus .status>.bar{background:var(--card-head-focus)}.card-split{pointer-events:auto;flex:0 0 8px;position:relative}.card-split.live{cursor:row-resize;touch-action:none}.card-split.live:after{content:"";background:var(--border-strong);opacity:0;border-radius:2px;width:44px;height:4px;transition:opacity .12s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.card-split.live:hover:after,.card-split.live.active:after{opacity:1;background:var(--accent)}.card-size{z-index:4;touch-action:none;position:absolute}.card-size.n,.card-size.s{cursor:ns-resize;height:8px;left:10px;right:10px}.card-size.e,.card-size.w{cursor:ew-resize;width:8px;top:10px;bottom:10px}.card-size.n{top:-2px}.card-size.s{bottom:-2px}.card-size.e{right:-2px}.card-size.w{left:-2px}.card-size.ne,.card-size.nw,.card-size.se,.card-size.sw{width:14px;height:14px}.card-size.ne{cursor:nesw-resize;top:-2px;right:-2px}.card-size.sw{cursor:nesw-resize;bottom:-2px;left:-2px}.card-size.nw{cursor:nwse-resize;top:-2px;left:-2px}.card-size.se{cursor:nwse-resize;bottom:-2px;right:-2px}.drop-preview{border-radius:var(--radius-md);transition:left 90ms,top 90ms,width 90ms,height 90ms}.drop-preview.dashed{background:color-mix(in srgb, var(--accent) 8%, transparent);border-style:dashed}.drop-preview.line{background:var(--accent);border:0;border-radius:2px}.drop-label{z-index:31;pointer-events:none;border-radius:var(--radius-sm);background:var(--accent);color:var(--bg-panel);font-size:var(--text-sm);white-space:nowrap;padding:2px 8px;font-weight:600;position:absolute}.dock.drawer .card-head{z-index:1;cursor:default;border-radius:0;position:sticky;top:0}@media (prefers-reduced-motion:reduce){.drop-preview,.card-split.live:after{transition:none}}.docs-static .docs-card-fold svg{transition:transform .14s}.docs-static .docs-nav.folded .docs-card-fold svg,.docs-static .docs-toc-card.folded .docs-card-fold svg{transform:rotate(-90deg)}@media (prefers-reduced-motion:reduce){.docs-static .docs-card-fold svg{transition:none}}.pane-head{align-items:center;gap:6px;min-height:24px;margin-top:4px;display:flex}.pane-toggle{border-radius:var(--radius-xs);min-width:0;height:24px;color:var(--accent);font:inherit;text-align:left;white-space:nowrap;background:0 0;border:0;flex:none;align-items:center;gap:6px;padding:0 4px;font-size:.923077em;font-weight:650;display:inline-flex}button.pane-toggle{cursor:pointer}button.pane-toggle:hover{background:var(--bg-hover)}button.pane-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.pane-fold{flex:none;transition:transform .12s}.pane-toggle[aria-expanded=false] .pane-fold{transform:rotate(-90deg)}.pane-title{text-overflow:ellipsis;min-width:0;overflow:hidden}.pane-count{color:var(--fg-faint);font-variant-numeric:tabular-nums;font-weight:400}.pane-line{background:color-mix(in srgb, var(--accent) 35%, var(--border));flex:1;min-width:12px;height:1px}.pane-tools{flex:none;align-items:center;gap:4px;display:inline-flex}.tb.pane-add{height:22px;min-height:0;font-size:var(--text-sm);align-items:center;gap:3px;padding:0 7px 0 4px;display:inline-flex}@media (prefers-reduced-motion:reduce){.pane-fold,.status .status-fold{transition:none}}.ident{border:1px solid var(--border);border-radius:var(--radius-md);background:color-mix(in srgb, var(--accent) 5%, var(--bg-panel));grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:8px 8px 8px 9px;display:grid}.ident-badge{color:#fff;border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.ident-text{flex-direction:column;min-width:0;display:flex}.ident-name{text-overflow:ellipsis;white-space:nowrap;font-size:1em;font-weight:650;line-height:1.25;overflow:hidden}.ident-kind{color:var(--fg-faint);text-overflow:ellipsis;white-space:nowrap;font-size:.846154em;overflow:hidden}.ident-tools{gap:2px;display:inline-flex}.ident-tools .tb.icon-only{width:26px;height:26px;min-height:0;color:var(--fg-muted);background:0 0;border-color:#0000;place-items:center;padding:0;text-decoration:none;display:inline-grid}.ident-tools .tb.icon-only:hover{background:var(--bg-hover);color:var(--fg)}.chip-type{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--border);background:var(--bg-input);max-width:100%;color:var(--fg-muted);font:var(--text-xs) / 1.5 "Cascadia Mono", Consolas, monospace;border-radius:999px;padding:0 7px;display:inline-block;overflow:hidden}input.tb:where(:not([type=checkbox],[type=radio],[type=range])),textarea.tb{background:color-mix(in srgb, var(--bg-input) 72%, var(--bg-canvas));color:var(--fg);cursor:text;outline:none;transition:border-color .12s,box-shadow .12s,background .12s;box-shadow:inset 0 1px 2px #00000024}input.tb::placeholder,textarea.tb::placeholder{color:var(--fg-faint);opacity:1}input.tb:where(:hover:not(:disabled,[readonly])),textarea.tb:where(:hover:not(:disabled)){border-color:var(--border-strong)}input.tb:where(:focus:not([readonly])),textarea.tb:where(:focus){background:var(--bg-input);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 24%, transparent)}input.tb:where([aria-invalid=true]){border-color:var(--danger)}input.tb:where([aria-invalid=true]:focus){box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 24%, transparent)}input.tb:where([readonly]){box-shadow:none;cursor:default;background:0 0;border-style:dashed}input.tb:where(:disabled),textarea.tb:where(:disabled){opacity:.5;cursor:not-allowed}@media (prefers-reduced-motion:reduce){input.tb,textarea.tb{transition:none}}.type-chip{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);white-space:nowrap;vertical-align:middle;align-items:center;gap:6px;margin:2px 0;padding:1px 8px;display:inline-flex}.type-chip .type-dot{border-radius:50%;flex:none;width:8px;height:8px}.docs-content .type-chip code{color:var(--fg);font-size:var(--text-sm);background:0 0;border:0;padding:0;font-weight:600}.dialog.dialog-panel{gap:0;width:min(440px,100%);padding:0;overflow:hidden}.dialog.dialog-panel.dialog-wide{width:min(500px,100%)}.dialog-panel{--tone:var(--accent)}.dialog-panel.dialog-danger{--tone:var(--danger)}.dialog-panel.dialog-warning{--tone:var(--warning)}.dialog-panel.dialog-info{--tone:var(--fg-faint)}.dialog-head{background:var(--card-head);border-bottom:1px solid var(--border);grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 12px 12px 14px;display:grid}.dialog-badge{color:#fff;background:var(--tone);border-radius:8px;place-items:center;width:30px;height:30px;display:grid}.dialog-panel .dialog-head h3{text-wrap:balance;margin:0;font-size:1em;font-weight:650;line-height:1.3}.dialog-head .dialog-close{width:26px;height:26px;min-height:0;color:var(--fg-muted);background:0 0;border-color:#0000;place-items:center;padding:0;display:inline-grid}.dialog-head .dialog-close:hover:not(:disabled){background:var(--bg-hover);color:var(--fg);border-color:#0000}.dialog-body{overflow-wrap:anywhere;gap:12px;padding:14px 14px 16px;display:grid}.dialog-panel .field{grid-template-columns:minmax(90px,32%) minmax(0,1fr);align-items:center;gap:10px;display:grid}.dialog-panel .field.wide{grid-template-columns:minmax(0,1fr);gap:6px}.dialog-panel .field>span{font-size:var(--text-sm);color:var(--fg);font-weight:600}.dialog-panel .field>small{min-width:0;font-size:var(--text-xs);color:var(--fg-faint);overflow-wrap:anywhere;align-items:center;gap:5px;display:flex}.dialog-panel .field input.tb,.dialog-panel .field select.tb{box-sizing:border-box;min-height:30px}.dialog-panel .dialog-choices legend{font-size:var(--text-sm);color:var(--fg);padding:0 0 6px;font-weight:600}.dialog-panel .dialog-option{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-panel);gap:10px;padding:8px 10px}.dialog-panel .dialog-option:hover{border-color:var(--border-strong)}.dialog-panel .dialog-option.on{border-color:color-mix(in srgb, var(--accent) 55%, var(--border));background:color-mix(in srgb, var(--accent) 16%, transparent)}.dialog-panel .dialog-option.dialog-check{background:0 0;border:0;padding:2px 0}.dialog-panel .dialog-list{gap:4px;max-height:160px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.dialog-panel .dialog-list li{border-radius:var(--radius-xs);background:var(--bg-input);min-width:0;font:var(--text-sm) "Cascadia Mono", Consolas, monospace;color:var(--fg);align-items:center;gap:7px;padding:4px 8px;display:flex}.dialog-panel .dialog-list li .icon{color:var(--accent);flex:none}.dialog-panel .dialog-list li span{overflow-wrap:anywhere;min-width:0}.dialog-panel .dialog-actions{border-top:1px solid var(--border);background:color-mix(in srgb, var(--accent) 3%, var(--bg-panel));flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:10px 12px 10px 14px}.dialog-keys{font-size:var(--text-xs);color:var(--fg-faint);white-space:nowrap;flex:1 0 auto}.dialog-keys kbd{border:1px solid var(--border);border-radius:var(--radius-xs);background:var(--bg-input);font:inherit;padding:0 5px}.dialog-panel .dialog-actions .tb{white-space:nowrap;flex:none;min-width:72px;min-height:30px}@media (hover:none) and (pointer:coarse){.dialog-keys{visibility:hidden}}@media (width<=699px){.dialog-panel .field{grid-template-columns:minmax(0,1fr);gap:6px}.dialog-keys{display:none}}.kw{letter-spacing:.04em;vertical-align:.08em;white-space:nowrap;border-radius:4px;padding:1px 5px;font:700 .72em/1.35 Cascadia Mono,Consolas,ui-monospace,monospace;display:inline-block}.kw.kw-must{background:color-mix(in srgb, var(--danger) 16%, transparent);color:color-mix(in srgb, var(--danger) 78%, var(--fg))}.kw.kw-should{background:color-mix(in srgb, var(--warning) 20%, transparent);color:color-mix(in srgb, var(--warning) 62%, var(--fg))}.kw.kw-may{background:color-mix(in srgb, var(--fg) 10%, transparent);color:color-mix(in srgb, var(--fg) 80%, transparent)}.spec-req{border:1px solid var(--border);background:var(--bg-input);border-radius:10px;grid-template-columns:76px minmax(0,1fr) auto;align-items:start;gap:6px 14px;margin:0 0 16px;padding:12px 16px;display:grid}.spec-req:has(+.spec-req){border-bottom-right-radius:0;border-bottom-left-radius:0;margin-bottom:0}.spec-req+.spec-req{border-top:0;border-top-left-radius:0;border-top-right-radius:0}.spec-req:target{box-shadow:inset 3px 0 0 var(--accent)}.spec-req-id{color:var(--fg-muted);white-space:nowrap;padding-top:2px;font:600 12px/1.7 Cascadia Mono,Consolas,ui-monospace,monospace;text-decoration:none}.spec-req-id:hover{color:var(--accent)}.spec-req-text p{margin:0}.spec-req-text .spec-req-gap{color:var(--fg-muted);margin-top:6px;font-size:.9em}.spec-req-status{white-space:nowrap;align-items:center;gap:6px;padding-top:3px;font-size:12px;font-weight:650;display:inline-flex}.spec-req-status:before{content:"";background:currentColor;border-radius:50%;width:8px;height:8px}.spec-req-status.st-meets{color:var(--ok)}.spec-req-status.st-partly{color:var(--warning)}.spec-req-status.st-not-yet{color:var(--danger)}@media (width<=640px){.spec-req{grid-template-columns:minmax(0,1fr) auto}.spec-req-text{grid-area:2/1/auto/-1}}.docs-compare{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin:0 0 18px;display:grid}.docs-compare-card{background:color-mix(in srgb, var(--fg) 5%, var(--bg-input));border-radius:8px;flex-direction:column;gap:3px;padding:10px 12px;line-height:1.5;display:flex}.docs-compare-card.tone-warn{background:color-mix(in srgb, var(--danger) 9%, var(--bg-input));color:color-mix(in srgb, var(--danger) 45%, var(--fg))}.docs-compare-card .label{letter-spacing:.08em;text-transform:uppercase;opacity:.75;font-size:10.5px;font-weight:700}.docs-preview.framed{padding-top:0;overflow:hidden}.docs-frame-head{border-bottom:1px solid var(--border);background:var(--bg-panel);color:var(--fg-muted);justify-content:space-between;gap:12px;margin:0 -16px 16px;padding:7px 14px;font-size:12px;display:flex}.docs-frame-head .aside{font-style:italic}
