:root{--bg:#f4f5f3;--grid:#e3e6e1;--panel:#fff;--ink:#1c231f;--muted:#5b675f;--line:#e1e4df;--accent:#2e7a4c;--tk-kw:#8a3fb8;--tk-str:#2f7d3a;--tk-num:#b5591b;--tk-type:#1f63a8;--tk-ann:#9a6a00;--tk-key:#1f63a8;--accent-ink:#fff;--danger:#b4322e;--warn:#9a6a00;--ok:#2e7a4c;--node:#fff;--side:#fafaf9;--hover:#eef0ec;--note:#f1f3ef;--shadow:0 1px 2px #1c231f14, 0 4px 12px #1c231f0f;--c-content:#4c8f37;--c-recipe:#b06c27;--c-event:#c23b3b;--c-action:#b88a12;--c-flow:#356ac2;--c-value:#8752c2;--c-function:#c03a8f;--t-exec:#1c231f;--t-item:#2a9a9a;--t-block:#8a6a4a;--t-itemlike:#5c8f8f;--t-player:#cf4f86;--t-level:#3f7fd0;--t-pos:#8d5fd0;--t-bool:#b8921a;--t-entity:#c4613a;--t-number:#4a9a5c;--f-body:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--f-mono:"JetBrains Mono", Consolas, "Cascadia Mono", "SF Mono", Menlo, ui-monospace, monospace}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#111513;--grid:#1a201d;--panel:#171c19;--side:#141916;--hover:#212824;--ink:#e2e9e3;--muted:#93a298;--line:#262e2a;--tk-kw:#c792ea;--tk-str:#a5d68a;--tk-num:#f2a46b;--tk-type:#82b8f0;--tk-ann:#e2c06a;--tk-key:#82b8f0;--accent:#5cbf82;--accent-ink:#0d1410;--danger:#ef6b62;--warn:#e2b23f;--ok:#5cbf82;--node:#1e2722;--note:#28322c;--shadow:0 1px 2px #0006, 0 6px 18px #0000004d;--t-exec:#e2e9e3;color-scheme:dark}}:root[data-theme=dark]{--bg:#111513;--grid:#1a201d;--panel:#171c19;--side:#141916;--hover:#212824;--ink:#e2e9e3;--muted:#93a298;--line:#262e2a;--tk-kw:#c792ea;--tk-str:#a5d68a;--tk-num:#f2a46b;--tk-type:#82b8f0;--tk-ann:#e2c06a;--tk-key:#82b8f0;--accent:#5cbf82;--accent-ink:#0d1410;--danger:#ef6b62;--warn:#e2b23f;--ok:#5cbf82;--node:#1e2722;--note:#28322c;--shadow:0 1px 2px #0006, 0 6px 18px #0000004d;--t-exec:#e2e9e3;color-scheme:dark}html,body{height:100%}body{background:var(--bg);color:var(--ink);font-family:var(--f-body);margin:0;font-size:14px}h1,h2,h3{text-wrap:balance}code,pre,.code,.node-sub,textarea,.file{font-variant-ligatures:none}code,pre,kbd,samp{font-family:var(--f-mono)}*{box-sizing:border-box}[hidden]{display:none!important}img:not([src]){visibility:hidden}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app{grid-template-columns:60px minmax(0,1fr);height:100%;display:grid}.app.nav-pinned{grid-template-columns:220px minmax(0,1fr)}.sidebar{z-index:25;background:var(--side);border-right:1px solid var(--line);white-space:nowrap;flex-direction:column;gap:18px;width:60px;min-height:0;padding:16px 11px 16px 12px;display:flex;position:relative;overflow:hidden auto}.nav-pinned .sidebar,.app:not(.nav-pinned) .sidebar.open{width:220px}.app:not(.nav-pinned) .sidebar.open{box-shadow:var(--shadow)}@media (width>=901px){.app:not(.nav-pinned) .sidebar:not(.open) :is(.nav-label,.brand>span,.nav-item>span:not(.avatar)){opacity:0}.app:not(.nav-pinned) .sidebar:not(.open) .nav-recent{visibility:hidden}}.icon-btn.nav-pin{width:36px;height:36px;margin-top:auto}.nav-pin svg{transition:transform .15s}.nav-pinned .nav-pin svg{transform:scaleX(-1)}.brand{letter-spacing:-.01em;color:inherit;border-radius:6px;align-items:center;gap:12px;padding:2px 8px;font-size:16px;font-weight:600;text-decoration:none;display:flex}.brand-mark{flex:none;width:22px;height:22px}.nav{flex-direction:column;gap:2px;display:flex}.nav-group{flex-direction:column;gap:2px;margin-top:14px;display:flex}.nav-label{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:4px 9px;font-size:12px;font-weight:600;overflow:hidden}.nav-item{cursor:pointer;color:var(--muted);text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:12px;padding:7px 9px;font-weight:500;text-decoration:none;display:flex}.nav-docs{margin-top:auto}.nav-recent .nav-item>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.nav-item:hover,.nav-item[aria-current=page]{background:var(--hover);color:var(--ink)}.project-open{all:unset;cursor:pointer;flex-direction:column;flex:1;gap:6px;padding-right:28px;display:flex}.project-title{align-items:center;gap:8px;display:flex}.project-logo{width:24px;height:24px;image-rendering:pixelated;flex:none;margin:-3px 0}.project-open:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}.card-more{position:absolute;top:10px;right:10px}.card-more:focus-visible{background:var(--hover);color:var(--ink)}.card-more .nav-icon{fill:currentColor;stroke:none}.card-menu{z-index:6;background:var(--panel);border:1px solid var(--line);min-width:150px;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:42px;right:10px}.card-menu .menu-item{padding:7px 10px}.menu-item.danger{color:var(--danger)}.fi.nav-icon{width:18px;height:18px}.frame{grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.topbar{padding-block:10px;min-height:56px;padding-left:20px;padding-right:max(16px, env(safe-area-inset-right,0px));border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;display:flex}.crumbs{align-items:center;gap:6px;min-width:0;font-weight:500;display:flex}.crumb{color:var(--muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:4px;max-width:220px;padding:2px 4px;overflow:hidden}button.crumb:hover{color:var(--ink);background:var(--hover)}.crumb.current{color:var(--ink);cursor:default}.crumb-sep{color:var(--line)}.top-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-group{display:inline-flex}.btn-group .btn:first-child{border-radius:6px 0 0 6px}.btn-group .btn:last-of-type{border-radius:0 6px 6px 0}.btn-group .btn:not(:first-child):not(:last-of-type){border-radius:0}.btn-group .btn+.btn{margin-left:-1px}.content{flex-direction:column;min-height:0;display:flex;overflow:auto}.content[data-page=editor]{overflow:hidden}.content>*{flex:1;min-height:0}.btn{border:1px solid var(--line);background:var(--panel);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:6px;padding:6px 12px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{background:var(--hover)}.btn:disabled{opacity:.45;cursor:default}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn.primary:hover{filter:brightness(1.06)}.btn.danger-solid{background:var(--danger);border-color:var(--danger);color:#fff}.btn.danger-solid:hover{filter:brightness(1.08)}.status{white-space:nowrap;cursor:pointer;border:0;border-radius:999px;padding:5px 10px;font-size:12.5px;font-weight:600}.status.ok{background:color-mix(in srgb, var(--ok) 14%, transparent);color:var(--ok)}.status.bad{background:color-mix(in srgb, var(--danger) 14%, transparent);color:var(--danger)}.page{width:100%;max-width:980px;padding-block:28px 40px;padding-left:max(24px, env(safe-area-inset-left,0px));padding-right:max(24px, env(safe-area-inset-right,0px));flex-direction:column;gap:20px;margin:0;display:flex}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.page-head h1{letter-spacing:-.01em;margin:0 0 4px;font-size:22px}.project-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.project-card{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:10px;flex-direction:column;gap:6px;min-height:96px;padding:16px;display:flex;position:relative}.project-card:hover{border-color:var(--muted);box-shadow:var(--shadow)}.project-name{overflow-wrap:anywhere;font-size:15px;font-weight:600}.project-meta{color:var(--muted);margin-top:auto;font-size:12.5px}.empty-state{border:1px dashed var(--line);text-align:center;background:var(--panel);border-radius:12px;flex-direction:column;grid-column:1/-1;align-items:center;gap:10px;padding:40px 24px;display:flex}.empty-state h2{margin:0;font-size:18px}.notice{background:color-mix(in srgb, var(--warn) 14%, transparent);border-radius:8px;margin:0;padding:10px 12px;line-height:1.45}.settings{flex-direction:column;gap:16px;display:flex}.card{border:1px solid var(--line);background:var(--panel);border-radius:10px}.card-head{padding:16px 18px 0}.card-head h2{margin:0 0 4px;font-size:15px}.card-body{gap:14px;max-width:560px;padding:14px 18px 18px;display:grid}.danger-zone{border-color:color-mix(in srgb, var(--danger) 35%, var(--line))}.field-error{color:var(--danger);margin:0;font-size:12.5px}.field-note{color:var(--muted);margin:0;font-size:12.5px;line-height:1.45}.field-note.bad{color:var(--danger)}.field-value{overflow-wrap:anywhere;align-self:flex-start;max-width:100%;padding:3px 7px}.split{--left:50%;grid-template-columns:minmax(0, var(--left)) 8px minmax(0, 1fr);min-height:0;display:grid}.divider{cursor:col-resize;background:var(--line);touch-action:none;position:relative}.divider:after{content:"";background:var(--muted);opacity:.55;border-radius:2px;width:4px;height:40px;margin-top:-20px;position:absolute;top:50%;left:2px}.divider:hover,.divider:focus-visible{background:var(--accent)}.graph-pane{flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;container-type:inline-size}.embed{flex-direction:column;height:100%;display:flex}.embed>.graph-pane{flex:1}.embed-tools{margin-left:auto}.graph-pane.canvas-only>:not(.graph-body),.graph-pane.canvas-only .node-list{display:none}.graph-pane.canvas-only.fixed-tabs>.module-tabs,.graph-pane.canvas-only.fixed-tabs>.module-subtabs:not([hidden]){display:flex}.graph-pane.playing .canvas{pointer-events:none}.graph-pane.playing .node.fresh{animation:.25s ease-out node-in}@keyframes node-in{0%{opacity:0;translate:0 6px}}.embed.replay{flex-direction:row}.embed.replay>.replay-chat{border-left:1px solid var(--line);background:var(--panel);flex:none;width:min(360px,42%)}.replay-title{flex:1;padding:4px 6px;font-weight:500}@media (width<=599px){.embed.replay{flex-direction:column}.embed.replay>.replay-chat{border-left:0;border-top:1px solid var(--line);width:auto;height:50%}}.graph-pane.page-scroll .canvas:not(:focus-within){touch-action:pan-y}.side{background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex}.side-body{flex-direction:column;flex:1;min-height:0;display:flex;overflow:auto;container-type:inline-size}.side-body>.chat{flex:1}.split>.pane-switch{display:none}.split.collapsed{grid-template-columns:0 12px minmax(0,1fr)}.split.collapsed .graph-pane{visibility:hidden}.split.collapsed .divider{cursor:e-resize}.split.side-hidden{grid-template-columns:minmax(0,1fr) 12px 0}.split.side-hidden .side{visibility:hidden}.split.side-hidden .divider{cursor:w-resize}.split-reopen{z-index:4;writing-mode:vertical-rl;border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;cursor:pointer;box-shadow:var(--shadow);padding:12px 5px;font-size:12.5px;font-weight:600;display:none;position:absolute;top:50%;transform:translateY(-50%)}.split-reopen:hover{background:var(--hover)}.split.side-hidden .split-reopen{border-right:0;border-radius:6px 0 0 6px;display:block;right:100%}.split.collapsed .split-reopen{border-left:0;border-radius:0 6px 6px 0;display:block;left:100%}.split.collapsed .side>*,.split.collapsed .side-body>*{width:100%;max-width:860px;margin-inline:auto}.modal-backdrop{z-index:30;padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px));background:#0a0e0c73;place-items:center;padding-block:16px;display:grid;position:fixed;inset:0}.modal{background:var(--panel);border:1px solid var(--line);width:min(520px,100%);box-shadow:var(--shadow);border-radius:10px;flex-direction:column;gap:16px;max-height:calc(100dvh - 32px);padding:20px;display:flex;overflow:auto}.modal h2{margin:0;font-size:18px}.label{color:var(--muted);font-size:12px;font-weight:600}.choices{grid-template-columns:1fr 1fr;gap:8px;display:grid}.choice{text-align:left;border:1px solid var(--line);background:var(--node);cursor:pointer;border-radius:8px;flex-direction:column;gap:4px;padding:12px;line-height:1.4;display:flex}.choice span{color:var(--muted);font-size:13px}.choice[aria-checked=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.modal-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.graph-tools{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:6px;padding:8px;display:flex}.search{border:1px solid var(--line);background:var(--node);border-radius:6px;width:160px;min-width:0;padding:5px 8px}.add-wrap{position:relative}.picker{z-index:5;width:var(--fit,max-content);background:var(--node);border:1px solid var(--line);max-width:calc(100cqw - 16px);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden}.picker[hidden]{display:none}.picker.dragging{opacity:.35;pointer-events:none}.picker-search{border:1px solid var(--line);background:var(--panel);color:var(--ink);font:inherit;border-radius:6px;min-width:0;margin:8px;padding:6px 8px}.picker-search:focus{border-color:var(--accent);outline:none}.picker-body{border-top:1px solid var(--line);grid-template-columns:auto minmax(0,1fr);height:min(340px,55vh);display:grid}.picker-rail{border-right:1px solid var(--line);background:var(--side);flex-direction:column;gap:1px;padding:6px;display:flex;overflow-y:auto}.picker-cat{color:var(--ink);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:5px 7px;font-size:13px;display:flex}.picker-cat:before{content:"";background:var(--cat,var(--muted));border-radius:50%;flex:none;width:7px;height:7px}.picker-cat:hover{background:var(--hover)}.picker-cat[aria-pressed=true]{background:var(--hover);font-weight:600}.picker-cat.dim{color:var(--muted)}.picker-cat.dim:before{opacity:.35}.picker-list{scrollbar-gutter:stable;overscroll-behavior:contain;padding:4px;overflow-y:auto}.picker-head{color:var(--muted);padding:8px 8px 3px;font-size:12px;font-weight:600}.picker-head:first-child{padding-top:4px}.picker-item{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:8px;padding:5px 8px;display:flex}.picker-item.active{background:var(--hover);box-shadow:inset 2px 0 0 var(--cat)}.picker-dot{background:var(--cat);border-radius:2px;flex:none;width:8px;height:8px}.picker-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.picker-tag{color:var(--muted);flex:none;font-size:12px}.picker-item.unavailable{cursor:not-allowed}.picker-item.unavailable .picker-title,.picker-item.unavailable .picker-dot{opacity:.5}.picker-empty{color:var(--muted);padding:10px 8px}@media (width<=520px){.picker{width:calc(100cqw - 16px)}.picker-body{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:min(360px,60vh)}.picker-rail{border-right:0;border-bottom:1px solid var(--line);scrollbar-width:none;flex-direction:row;overflow:auto hidden}.picker-item{padding:8px}}.menu-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;width:100%;padding:4px 6px;display:block}.menu-item:hover{background:var(--bg)}.filters{border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap;align-items:center;gap:4px;padding:6px 8px;display:flex}.filters .sep{background:var(--line);width:1px;height:18px;margin:0 4px}.chip{border:1px solid var(--line);background:var(--node);color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:12px;display:inline-flex}.chip:before{content:"";background:var(--cat,var(--muted));opacity:.35;border-radius:50%;width:7px;height:7px}.chip.on{color:var(--ink);border-color:var(--muted)}.chip.on:before{opacity:1}.wire-chip{--cat:var(--ink)}.filters .chip.on{border-color:color-mix(in srgb, var(--cat,var(--muted)) 55%, var(--line));background:color-mix(in srgb, var(--cat,var(--muted)) 13%, var(--node))}.filters .chip:not(.on){text-decoration:line-through}.filters .chip:not(.on):before{box-shadow:inset 0 0 0 1.5px var(--cat,var(--muted));opacity:.7;background:0 0}.filters .wire-chip:before{border-radius:2px;width:14px;height:3px}.filters .wire-chip.data:before{background:linear-gradient(90deg, var(--t-bool), var(--t-number), var(--t-pos))}.filters .wire-chip.data:not(.on):before{box-shadow:inset 0 0 0 1px var(--muted);background:0 0}.graph-body{flex:1;min-height:0;display:flex;position:relative}.graph-windows{z-index:5;pointer-events:none;position:absolute;inset:0;overflow:hidden}.graph-window{pointer-events:auto;background:var(--panel);border:1px solid var(--line);min-width:0;min-height:0;box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex;position:absolute;overflow:hidden}.graph-window.front{border-color:color-mix(in srgb, var(--accent) 45%, var(--line))}.graph-window-head{border-bottom:1px solid var(--line);background:var(--side,var(--panel));cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;flex:none;align-items:center;gap:6px;height:30px;padding:0 4px 0 10px;display:flex}.graph-window-head.dragging{cursor:grabbing}.graph-window-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.graph-window-btn{width:24px;height:24px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;font-size:16px;line-height:1}.graph-window-btn:hover{background:var(--hover);color:var(--ink)}.graph-window-min{font-size:14px}.graph-window.min>.graph-pane,.graph-window.min>.graph-window-edge{display:none}.graph-window.min .graph-window-head{border-bottom:0}.graph-window>.graph-pane{flex:1}.graph-pane.windowed>.module-tabs,.graph-pane.windowed .node-list{display:none}.graph-pane.windowed .graph-tools{flex-wrap:nowrap;padding:6px}.graph-pane.windowed .graph-tools .search{flex-basis:40px}.graph-window-edge{z-index:6;touch-action:none;position:absolute}.graph-window-edge.n,.graph-window-edge.s{cursor:ns-resize;height:6px;left:8px;right:8px}.graph-window-edge.e,.graph-window-edge.w{cursor:ew-resize;width:6px;top:8px;bottom:8px}.graph-window-edge.n{top:-3px}.graph-window-edge.s{bottom:-3px}.graph-window-edge.e{right:-3px}.graph-window-edge.w{left:-3px}.graph-window-edge.ne,.graph-window-edge.nw,.graph-window-edge.se,.graph-window-edge.sw{width:12px;height:12px}.graph-window-edge.ne{cursor:nesw-resize;top:-3px;right:-3px}.graph-window-edge.sw{cursor:nesw-resize;bottom:-3px;left:-3px}.graph-window-edge.nw{cursor:nwse-resize;top:-3px;left:-3px}.graph-window-edge.se{cursor:nwse-resize;bottom:-3px;right:-3px}.node-list{border-right:1px solid var(--line);background:var(--panel);flex:none;width:240px;max-width:45%;font-size:13px;display:flex;position:relative}.node-list-body{flex:1;min-width:0;padding:6px 0;overflow:auto}.node-list-grip{cursor:col-resize;touch-action:none;z-index:1;width:6px;position:absolute;top:0;bottom:0;right:-3px}.node-list-grip:hover,.node-list-grip:active,.node-list-grip:focus-visible{background:var(--accent);opacity:.4;outline:none}.node-list-mod,.node-list-head,.node-list-row{align-items:center;gap:4px;padding:0 8px;display:flex}.node-list input[type=checkbox]{accent-color:var(--accent);flex:none;margin:0 2px}.node-list-section+.node-list-section{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.node-list-mod{box-shadow:inset 2px 0 #0000}.node-list-mod.here{box-shadow:inset 2px 0 0 var(--accent)}.node-list-mod-name{min-width:0;color:var(--muted);font:inherit;letter-spacing:.04em;text-transform:uppercase;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:4px;flex:1;padding:5px 4px;font-size:11px;font-weight:700;overflow:hidden}.node-list-mod.here .node-list-mod-name{color:var(--ink)}.node-list-mod-name:hover,button.node-list-name:hover,.node-list-label:hover,.node-list-chev-btn:hover,.node-list-more:hover,.node-link-to:hover{background:var(--hover)}.node-list-chev-btn,.node-list-more{cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;place-items:center;width:18px;height:22px;padding:0;display:grid}.node-list-more-gap{flex:none;width:18px}.node-list-chev{border-left:4px solid var(--muted);border-top:4px solid #0000;border-bottom:4px solid #0000;flex:none;width:0;height:0;transition:transform .12s}.node-list-chev-btn[aria-expanded=true] .node-list-chev,.node-list-more[aria-expanded=true] .node-list-chev{transform:rotate(90deg)}.node-list-head{padding-left:14px;font-weight:600}.node-list-dot{background:var(--cat);border-radius:50%;flex:none;width:7px;height:7px}.node-list-name,.node-list-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}button.node-list-name,.node-list-label{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:4px}.node-list-count{color:var(--muted);padding-right:4px;font-size:12px;font-weight:400}.node-list-row{padding-left:22px}.node-list-name.event{white-space:normal;overflow-wrap:anywhere}.node-list-sub{color:var(--muted);font-size:12px;font-weight:400;display:block}.node-list-detail{color:var(--muted)}.node-list-path{color:var(--muted);align-items:center;gap:4px;padding:0 8px 0 22px;font-size:12px;display:flex}.node-list-path-name{padding:3px 4px}.node-list-branch-items{padding-left:14px}.node-list-row.off .node-list-label{color:var(--muted);opacity:.6}.node-links{flex-direction:column;gap:4px;padding:2px 8px 8px 66px;display:flex}.node-link{flex-direction:column;gap:2px;display:flex}.node-link-kind{color:var(--muted);font-size:11px}.node-link-list{flex-wrap:wrap;gap:2px 4px;display:flex}.node-link-to{border:1px solid var(--line);background:var(--node);max-width:100%;color:var(--ink);font:inherit;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:1px 8px;font-size:12px;display:inline-flex;overflow:hidden}.node-list-empty{color:var(--muted);margin:0;padding:4px 12px}.module-tabs{box-shadow:inset 0 -1px 0 var(--line);background:var(--panel);scrollbar-width:none;flex:none;align-items:flex-end;gap:2px;padding:6px 8px 0;display:flex;overflow:auto hidden}.module-tabs::-webkit-scrollbar{display:none}.module-tab{color:var(--muted);border:1px solid #0000;border-bottom:0;border-radius:6px 6px 0 0;flex:none;align-items:center;display:flex}.module-tab.on{background:var(--bg);border-color:var(--line);color:var(--ink)}.module-tab-name{color:inherit;font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;padding:6px 12px;font-size:13px}.module-tab-name:has(+.module-tab-x){padding-right:4px}.module-tab:not(.on):hover{background:var(--hover)}.module-tab-x{color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:4px;width:20px;height:20px;margin-right:4px;font-size:14px;line-height:1}.module-tab:hover .module-tab-x,.module-tab.on .module-tab-x,.module-tab-x:focus-visible{opacity:1}.module-tab-x:hover{background:var(--hover);color:var(--ink)}.module-tab-add{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;width:28px;height:28px;margin:0 0 2px 2px;font-size:16px}.module-tab-add:hover{background:var(--hover);color:var(--ink)}.module-tabs-sep{background:var(--line);flex:none;align-self:stretch;width:1px;margin:6px 4px}.module-goto{border:1px solid var(--line);background:var(--panel);color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap;border-radius:6px;flex:none;align-items:center;gap:6px;margin:0 0 6px auto;padding:3px 8px;font-size:12.5px;display:flex;position:sticky;right:0}.module-goto:hover,.module-goto[aria-expanded=true]{background:var(--hover);color:var(--ink)}.module-goto kbd{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:0 4px;font-size:11px}.switcher{z-index:50;background:var(--panel);border:1px solid var(--line);width:min(320px,100vw - 16px);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:4px;padding:6px;display:flex;position:fixed}.switcher-q{width:100%}.switcher-list{flex-direction:column;min-height:0;display:flex;overflow:auto}.switcher-head{color:var(--muted);padding:6px 8px 2px;font-size:12px}.switcher-row{border-radius:5px;align-items:center;gap:4px;padding-right:4px;display:flex}.switcher-row.hl{background:var(--hover)}.switcher-row.on .switcher-name{color:var(--accent);font-weight:500}.switcher-row.fn .switcher-name{font-style:italic}.switcher-name{min-width:0;color:var(--ink);font:inherit;text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:5px 8px;font-size:13px;overflow:hidden}.switcher-meta{color:var(--muted);flex:none;font-size:11.5px}.switcher-act{visibility:hidden;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:2px 6px;font-size:12px}.switcher-row.hl .switcher-act,.switcher-act:focus-visible{visibility:visible}.switcher-act:hover{background:var(--panel);color:var(--ink)}.switcher-rename{font:inherit;border:1px solid var(--accent);background:var(--node);color:var(--ink);border-radius:5px;flex:1;margin:1px 0;padding:4px 8px;font-size:13px}.switcher-empty{color:var(--muted);margin:0;padding:8px;font-size:13px}.switcher-new{border-top:1px solid var(--line);gap:6px;padding-top:6px;display:flex}.switcher-new .btn{flex:1}.module-tab.fn .module-tab-name{font-style:italic}.module-tab.pinned .module-tab-x{opacity:1;place-items:center;display:grid}.module-tab-x .tab-pin,.ide-tab-close .tab-pin{width:12px;height:12px}[data-tab].dragging{z-index:2;position:relative}.module-tab.dragging{background:var(--bg);border-color:var(--line);color:var(--ink)}.sorting,.sorting *{cursor:grabbing!important}.field .fn-port{gap:4px}.field .fn-port input[type=text]{flex:1;width:auto;min-width:0}.field .fn-port select{flex:none;width:104px}.module-tab-input{width:140px;font:inherit;border:1px solid var(--accent);background:var(--node);color:var(--ink);border-radius:6px;flex:none;margin-bottom:3px;padding:4px 8px;font-size:13px}.module-subtabs{border-bottom:1px solid var(--line);background:var(--bg);flex-wrap:wrap;gap:4px;padding:6px 8px;display:flex}.module-subtabs .chip:before{display:none}.module-frame{border:1px dashed color-mix(in srgb, var(--muted) 45%, transparent);background:color-mix(in srgb, var(--panel) 35%, transparent);pointer-events:none;border-radius:10px;position:absolute}.module-frame-name{pointer-events:auto;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:4px;padding:2px 6px;font-size:13px;font-weight:600;position:absolute;top:6px;left:10px}.module-frame-name:hover{background:var(--hover);color:var(--ink)}.area{border:1px solid color-mix(in srgb, var(--accent) 40%, transparent);background:color-mix(in srgb, var(--accent) 6%, transparent);pointer-events:none;border-radius:10px;position:absolute}.area-head{z-index:1;align-items:center;gap:2px;display:flex;position:absolute;top:5px;left:8px;right:8px}.area-name{pointer-events:auto;text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--accent);cursor:grab;user-select:none;border-radius:4px;padding:2px 6px;font-size:13px;font-weight:600;overflow:hidden}.area-name:hover{background:var(--hover)}.area-name:active{cursor:grabbing}.area-x{pointer-events:auto;color:var(--muted);cursor:pointer;opacity:0;background:0 0;border:0;border-radius:4px;flex:none;width:20px;height:20px;font-size:14px;line-height:1}.area:hover .area-x,.area-x:focus-visible{opacity:1}.area-x:hover{background:var(--hover);color:var(--ink)}.area.sel{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.area-edge{pointer-events:auto;--s:calc(10px * var(--iz,1));--c:calc(14px * var(--iz,1));position:absolute}.area-edge.n,.area-edge.s{left:var(--c);right:var(--c);height:var(--s);cursor:ns-resize}.area-edge.e,.area-edge.w{top:var(--c);bottom:var(--c);width:var(--s);cursor:ew-resize}.area-edge.n{top:calc(var(--s) / -2)}.area-edge.s{bottom:calc(var(--s) / -2)}.area-edge.e{right:calc(var(--s) / -2)}.area-edge.w{left:calc(var(--s) / -2)}.area-edge.ne,.area-edge.nw,.area-edge.se,.area-edge.sw{width:var(--c);height:var(--c)}.area-edge.ne{top:calc(var(--c) / -2);right:calc(var(--c) / -2);cursor:nesw-resize}.area-edge.sw{bottom:calc(var(--c) / -2);left:calc(var(--c) / -2);cursor:nesw-resize}.area-edge.nw{top:calc(var(--c) / -2);left:calc(var(--c) / -2);cursor:nwse-resize}.area-edge.se{bottom:calc(var(--c) / -2);right:calc(var(--c) / -2);cursor:nwse-resize}.area-input{pointer-events:auto;width:180px;font:inherit;border:1px solid var(--accent);background:var(--node);color:var(--ink);border-radius:4px;padding:1px 6px;font-size:13px;font-weight:600}.module-chips{flex-wrap:wrap;gap:4px;display:flex}.module-chip{border:1px solid var(--line);background:var(--node);border-radius:999px;align-items:center;padding-right:2px;display:inline-flex}.module-chip-name{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:2px 8px;font-size:12px}.module-chip-name:hover{background:var(--hover)}.module-chip .icon-btn{width:20px;height:20px;font-size:13px}.wire-stub{text-overflow:ellipsis;white-space:nowrap;border:1px solid var(--pt);background:var(--node);max-width:160px;color:var(--ink);font:inherit;cursor:pointer;z-index:1;border-radius:999px;padding:1px 8px;font-size:11px;position:absolute;overflow:hidden;transform:translate(calc(-100% - 10px),-50%)}.wire-stub.out{transform:translate(10px,-50%)}.wire-stub:hover{background:var(--hover)}.canvas{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;background-color:var(--bg);background-image:linear-gradient(var(--grid) 1px, transparent 1px), linear-gradient(90deg, var(--grid) 1px, transparent 1px);flex:1;min-height:0;position:relative;overflow:clip}.canvas.panning{cursor:grabbing}.world{transform-origin:0 0;position:absolute;top:0;left:0}.wires{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.wire{fill:none;stroke-width:2.5px;pointer-events:stroke;cursor:pointer}.wire.exec{stroke-width:3px}.wire.sel{stroke-width:5px}.wire.ghost{stroke-dasharray:6 5;pointer-events:none}.wire-hit{fill:none;stroke:#0000;stroke-width:14px;pointer-events:stroke;cursor:pointer}.node{background:var(--node);border:1px solid var(--line);width:max-content;min-width:120px;max-width:260px;box-shadow:var(--shadow);user-select:none;cursor:grab;border-radius:6px;position:absolute}.node.sized{min-width:0;max-width:none}.node.off{display:none}.node-resize{cursor:ew-resize;width:8px;position:absolute;top:0;bottom:0;right:-4px}.node:has(.port-menu){z-index:2}.node.sel{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent), var(--shadow)}.node.has-error{border-color:var(--danger)}.node.has-warning{border-color:var(--warn)}.node-head{border-top:4px solid var(--cat);border-radius:5px 5px 0 0;align-items:center;gap:6px;padding:6px 9px;display:flex}.node-cat{text-transform:capitalize;color:var(--cat);font-size:11px;font-weight:500}.node-title{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.node-err{background:var(--danger);color:#fff;border-radius:50%;place-items:center;width:16px;height:16px;font-size:11px;font-weight:700;display:grid}.node-err.warn{background:var(--warn)}.node-sub{font-family:var(--f-mono);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:0 9px 4px;font-size:11px;overflow:hidden}.ports{justify-content:space-between;gap:14px;padding:2px 0 8px;display:flex}.port-col{flex-direction:column;gap:3px;min-width:0;display:flex}.port-col.out{align-items:flex-end;position:relative}.port-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.port-from{color:var(--muted);padding-right:2px;font-style:italic}.port-const{background:var(--panel);border:1px solid var(--line);font-family:var(--mono,monospace);border-radius:4px;margin-left:6px;padding:0 5px;font-size:12px}.port-hide{visibility:hidden;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:3px;flex:none;padding:0 2px;font-size:13px;line-height:1}.port:hover .port-hide,.port-hide:focus-visible{visibility:visible}.port-hide:hover{color:var(--ink);background:var(--hover)}.port-add{border:1px solid var(--line);background:var(--node);min-width:20px;height:18px;color:var(--muted);font:inherit;cursor:pointer;border-radius:4px;margin-right:9px;padding:0 5px;font-size:13px;line-height:1}.port-add:hover{color:var(--ink);background:var(--hover)}.port-menu{z-index:4;background:var(--panel);border:1px solid var(--line);min-width:130px;box-shadow:var(--shadow);cursor:default;border-radius:6px;flex-direction:column;margin-top:4px;padding:4px;display:flex;position:absolute;top:100%;right:4px}.port-menu-item{color:var(--ink);font:inherit;text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:4px;align-items:center;gap:8px;padding:5px 8px;font-size:12.5px;display:flex}.port-menu-item:hover,.port-menu-item:focus-visible{background:var(--hover);outline:none}.port{color:var(--muted);align-items:center;gap:6px;height:20px;font-size:12px;display:flex;position:relative}.port-col.in .port{padding-left:9px}.port-col.out .port{flex-direction:row-reverse;padding-right:9px}.dot{cursor:crosshair;touch-action:none;border-radius:50%;flex:none;width:15px;height:15px;position:relative}.dot svg{width:100%;height:100%;transition:transform .12s;display:block;overflow:visible}.dot.wire-end svg{transform:scale(1.4)}.dot .shape{fill:var(--node);stroke:var(--pt);stroke-width:2.2px;stroke-linejoin:round}.dot.filled .shape{fill:var(--pt)}.port-col.in .dot{margin-left:-16.5px}.port-col.out .dot{margin-right:-16.5px}.dot:after{content:"";border-radius:50%;position:absolute;inset:-6px}.dot.showing-source{box-shadow:0 0 0 4px color-mix(in srgb, var(--pt) 30%, transparent);border-radius:50%}.dot.target-ok{box-shadow:0 0 0 4px color-mix(in srgb, var(--accent) 45%, transparent)}.dot.target-bad{opacity:.25}.dot.armed{box-shadow:0 0 0 4px var(--accent);border-radius:50%}.req{color:var(--danger)}.node.dim{opacity:.18}.box-select{z-index:2;pointer-events:none;border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent);border-radius:2px;position:absolute}.wires .dim{opacity:.15}.wire-order circle{fill:var(--panel);stroke:var(--t-exec);stroke-width:1.5px}.wire-order text{fill:var(--ink);pointer-events:none;font-size:10px;font-weight:700}.node-thumb{width:20px;height:20px;image-rendering:pixelated;object-fit:contain;flex:none}.node-note{contain:inline-size;color:var(--ink);background:var(--note);-webkit-line-clamp:3;border-radius:4px;-webkit-box-orient:vertical;margin:0 8px 8px;padding:5px 7px;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.wire-note{fill:var(--ink);pointer-events:none;font-size:11px;font-family:var(--f-body)}.wire-note-bg{fill:var(--note);stroke:var(--line);cursor:pointer;pointer-events:all}.inspector{-webkit-user-select:text;user-select:text;z-index:3;background:var(--panel);border:1px solid var(--line);width:min(320px,100% - 20px);box-shadow:var(--shadow);cursor:default;border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex;position:absolute;top:10px;bottom:10px;right:10px;overflow:auto}.insp-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.insp-head h2{margin:0 0 2px;font-size:15px}.doc{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.doc-link{color:var(--accent);white-space:nowrap}.empty{color:var(--muted);margin:0;line-height:1.5}.stack{flex-direction:column;gap:8px;display:flex}.row{align-items:center;gap:8px;min-width:0;display:flex}.row.wrap{flex-wrap:wrap}.field{flex-direction:column;gap:4px;display:flex}.field label{color:var(--muted);font-size:12px;font-weight:600}input[type=text],input[type=email],input[type=number],input[type=search],select,textarea{border:1px solid var(--line);background:var(--node);border-radius:5px;min-width:0;padding:6px 8px}input[aria-invalid=true]{border-color:var(--danger)}input[aria-invalid=true]:focus-visible{outline-color:var(--danger)}.field input[type=text],.field input[type=email],.field input[type=number],.field select,.field textarea{width:100%}.field .row input[type=text],.field .row select{flex:1;width:auto}.settings textarea{resize:vertical}.code-input{font-family:var(--f-mono);resize:vertical;tab-size:4;min-height:160px;font-size:12px}.imports-input{min-height:0}.code-method{gap:4px;display:grid}.code-sig{font-family:var(--f-mono);color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:12px}.note-input{resize:vertical;background:var(--note)}input[type=color]{border:1px solid var(--line);background:0 0;border-radius:5px;flex:none;width:40px;height:30px;padding:0}.thumb{width:30px;height:30px;image-rendering:pixelated;border:1px solid var(--line);border-radius:4px;flex:none}.check{align-items:center;gap:8px;font-weight:500;display:flex}.list-row{border-bottom:1px solid var(--line);flex-direction:column;gap:4px;padding-bottom:6px;display:flex}.list-row>.row>select,.list-row>.row>input,.list-row>.row>.ref-chip{flex:1;min-width:0}.list-row-n{color:var(--muted);flex:1}.list-row-fields{flex-wrap:wrap}.field .list-row-fields label{flex-direction:column;flex:1;gap:2px;min-width:0;font-weight:500;display:flex}.field .list-row-fields label.wide{flex-basis:100%}.list-row-fields input[type=number]{width:100%}.item-pick{flex-direction:column;gap:4px;min-width:0;display:flex}.item-pick-btn{text-align:left;cursor:pointer;border:1px solid var(--line);background:var(--node);border-radius:5px;align-items:center;gap:8px;width:100%;min-width:0;padding:6px 8px;display:flex}.item-pick-btn:hover:not(:disabled){border-color:var(--muted)}.item-pick-btn:disabled{cursor:default;background:var(--panel);color:var(--muted)}.item-pick-btn[aria-expanded=true]{border-color:var(--accent)}.item-pick-caret{color:var(--muted);flex:none;font-size:11px}.item-pick-btn:disabled .item-pick-caret{visibility:hidden}.picker-title.none{color:var(--muted)}.item-pick-pop{background:var(--node);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex;overflow:hidden}.item-pick-pop[hidden]{display:none}.item-pick-pop .picker-list{border-top:1px solid var(--line);max-height:min(260px,40vh)}.item-pick-btn.add .picker-title{color:var(--muted)}.ref-thumb{width:20px;height:20px;image-rendering:pixelated;object-fit:contain;flex:none}.ref-chip{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.entry-rows{flex-direction:column;display:flex}.craft-grid{grid-template-columns:repeat(3,48px);gap:4px;display:grid;position:relative}.craft-grid .item-pick-btn{justify-content:center;height:48px;padding:0 4px}.craft-grid .item-pick-btn:has(.ref-thumb) .picker-title,.craft-grid .item-pick-btn .picker-title.none,.craft-grid .item-pick-btn .picker-tag,.craft-grid .item-pick-caret{display:none}.craft-grid .item-pick-btn .picker-title{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.craft-grid .item-pick-btn .picker-dot{display:none}.craft-grid .item-pick-btn .ref-thumb{width:32px;height:32px}.craft-grid .item-pick-btn:has(.ref-thumb){cursor:grab}.craft-grid .drag-from .item-pick-btn{opacity:.4}.craft-grid .drop-to .item-pick-btn{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb, var(--accent) 35%, transparent)}.slot-ghost{pointer-events:none;z-index:100;opacity:.85;width:32px;height:32px;position:fixed;top:-16px;left:-16px}.slot-ghost .ref-thumb{width:32px;height:32px}.craft-grid .item-pick-pop{z-index:5;width:max(100%,240px);position:absolute;top:calc(100% + 4px);left:0}.entry-row{border-bottom:1px solid var(--line);align-items:center;gap:2px;min-width:0;padding:3px 0;display:flex}.entry-row .icon-btn{width:26px;height:26px;font-size:15px}.node-refs{gap:2px;padding:0 9px 6px;display:grid}.ref-run{flex-wrap:wrap;gap:2px;display:flex}.node-refs .ref-thumb{width:16px;height:16px}.craft-mini{grid-template-columns:repeat(3,16px);justify-content:start;gap:2px;display:grid}.craft-mini-empty{background:color-mix(in srgb, var(--muted) 14%, transparent);border-radius:3px;width:16px;height:16px}.node-refs .ref-chip{gap:6px;font-size:12px;line-height:16px}.node-refs .ref-chip .picker-title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;overflow:hidden}.node-refs .ref-count{color:var(--muted);flex:none;margin-left:-2px}.recipe-arrow{width:16px;height:12px;color:var(--muted)}.stack{display:flex;position:relative}.stack-count{color:var(--ink);text-shadow:0 0 2px var(--node), 0 0 2px var(--node), 0 0 2px var(--node);pointer-events:none;font-size:9px;font-weight:700;line-height:1;position:absolute;bottom:-3px;right:-2px}.node-refs .picker-dot{--cat:var(--muted);width:16px;height:16px}.btn.danger{color:var(--danger)}.btn.small{padding:3px 8px;font-size:12.5px}.btn[aria-pressed=true]{background:var(--ink);color:var(--bg);border-color:var(--ink)}.tabs{border-bottom:1px solid var(--line);background:var(--panel);flex:none;gap:2px;padding:0 8px;display:flex;overflow-x:auto}.tab{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:10px 10px 8px;font-weight:500}.tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}.count{background:var(--danger);color:#fff;border-radius:999px;margin-left:4px;padding:0 6px;font-size:11px}.count.warn{background:var(--warn)}.count.none{background:color-mix(in srgb, var(--muted) 25%, transparent);color:var(--muted)}.panel{flex-direction:column;gap:12px;padding:14px;display:flex}.panel-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-head h2{margin:0;font-size:15px}.issue{border:1px solid var(--line);background:var(--node);cursor:pointer;text-align:left;-webkit-user-select:text;user-select:text;border-radius:6px;align-items:flex-start;gap:8px;padding:5px 8px;font-size:13px;line-height:1.35;display:flex}.issue-text{flex:1;min-width:0}.issue-count{color:var(--muted);flex:none;font-size:12px;font-weight:600}.issue .sev{border-radius:4px;flex:none;margin-top:1px;padding:1px 5px;font-size:11px;font-weight:600}.issue .sev.error{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.issue .sev.warning{background:color-mix(in srgb, var(--warn) 18%, transparent);color:var(--warn)}.chat{flex-direction:column;min-height:0;display:flex}.chat-log{flex-direction:column;flex:1;gap:10px;min-height:160px;padding:14px;display:flex;overflow:auto}.chat-intro{flex-direction:column;gap:10px;max-width:60ch;margin:auto 0;display:flex}.chat-intro h2{text-wrap:balance;margin:0;font-size:18px}.suggestions{flex-wrap:wrap;gap:6px;display:flex}.suggestion{border:1px solid var(--line);background:var(--node);cursor:pointer;text-align:left;border-radius:999px;padding:6px 12px}.suggestion:hover{border-color:var(--accent)}.suggestions.quiet .suggestion{color:var(--muted);background:0 0}.suggestions:not(.quiet) .suggestion{animation:.2s ease-out chip-in}@keyframes chip-in{0%{opacity:.4}}@media (prefers-reduced-motion:reduce){.suggestions:not(.quiet) .suggestion{animation:none}}.msg{flex-direction:column;gap:4px;max-width:88%;display:flex}.msg-body{white-space:pre-wrap;overflow-wrap:anywhere;border-radius:10px;padding:8px 12px;line-height:1.5}.msg.user{align-self:flex-end;align-items:flex-end}.msg-tools{color:var(--muted);opacity:0;align-items:center;gap:2px;font-size:12px;transition:opacity .12s;display:flex}.msg-tools .icon-btn{width:24px;height:24px}.msg-tools .icon-btn svg{width:14px;height:14px}.msg:hover .msg-tools,.msg-tools:focus-within,.msg-tools:has(.versions){opacity:1}.versions{font-variant-numeric:tabular-nums;align-items:center;gap:2px;display:inline-flex}.msg.editing{align-self:stretch;gap:6px;max-width:none}.msg-edit{resize:vertical;width:100%;font:inherit;border:1px solid var(--accent);background:var(--panel);color:var(--ink);border-radius:10px;padding:8px 10px}.msg.user .msg-body{background:var(--accent);color:var(--accent-ink);border-bottom-right-radius:3px}.msg.assistant .msg-body{background:var(--node);border:1px solid var(--line);border-bottom-left-radius:3px}.msg.pending .msg-body{color:var(--muted)}.msg-body.md{white-space:normal}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md pre,.md blockquote,.md .md-table{margin:0 0 8px}.md ul,.md ol{padding-left:20px}.md li>ul,.md li>ol{margin:2px 0 0}.md h3,.md h4,.md h5,.md h6{margin:10px 0 4px;font-size:1em;font-weight:600}.md code{font-family:var(--mono,ui-monospace, monospace);background:var(--panel);border:1px solid var(--line);border-radius:4px;padding:1px 4px;font-size:.9em}.md pre{background:var(--panel);border:1px solid var(--line);white-space:pre;border-radius:6px;padding:8px 10px;overflow-x:auto}.md pre code{background:0 0;border:0;padding:0}.md blockquote{border-left:2px solid var(--line);color:var(--muted);padding-left:10px}.md hr{border:0;border-top:1px solid var(--line);margin:10px 0}.md a{color:var(--accent)}.md .md-table{overflow-x:auto}.md table{border-collapse:collapse;font-size:.95em}.md th,.md td{border:1px solid var(--line);text-align:left;padding:3px 8px}.act{color:var(--muted);border-left:2px solid var(--line);flex-direction:column;gap:3px;padding:2px 0 2px 10px;font-size:12.5px;line-height:1.45;display:flex}.act-text{color:var(--ink)}.act.err{border-left-color:var(--danger)}.act.err .act-text{color:var(--danger)}.act.user-edit{border-left:0;border-right:2px solid var(--accent);text-align:right;align-self:flex-end;max-width:88%;padding:2px 10px 2px 0}.act.user-edit .act-details{align-items:flex-end}.act-details{flex-direction:column;gap:1px;margin:0;padding:0;list-style:none;display:flex}.act-link{color:inherit;font:inherit;text-align:inherit;cursor:pointer;-webkit-user-select:text;user-select:text;background:0 0;border:0;padding:0}.act-link:hover{color:var(--accent);text-decoration:underline}.chat.brief .act-details,.chat.brief .act.user-edit{display:none}.act.fold>summary{cursor:pointer;align-items:center;gap:4px;list-style:none;display:flex}.act.fold>summary::-webkit-details-marker{display:none}.act.fold>summary:after{content:"";border:solid var(--muted);border-width:0 1.5px 1.5px 0;width:5px;height:5px;margin-left:2px;transition:transform .12s;transform:rotate(-45deg)}.act.fold[open]>summary:after{transform:rotate(45deg)}.act.user-edit.fold>summary{justify-content:flex-end}.act.fold>summary:hover{color:var(--accent)}.act.chat-choices{border-left-color:var(--accent);gap:6px;padding-block:4px}.chat-choice-list{flex-wrap:wrap;gap:6px;display:flex}.chat-choice{border:1px solid var(--line);background:var(--node);color:var(--ink);cursor:pointer;text-align:left;font:inherit;border-radius:999px;padding:5px 12px;font-size:13px}.chat-choice:hover:not(:disabled){border-color:var(--accent)}.chat-choice:disabled{cursor:default;opacity:.6}.chat-choice.picked{opacity:1;background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.chat-notice{background:color-mix(in srgb, var(--warn) 14%, transparent);color:var(--ink);border-radius:6px;margin:0 14px;padding:8px 10px;font-size:13px;line-height:1.4}.composer{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding:10px;display:flex}.composer.drop{outline:2px dashed var(--accent);outline-offset:-4px}.composer textarea{resize:none;min-height:42px;max-height:160px;line-height:1.4}.composer-bar{justify-content:space-between;align-items:center;gap:8px;display:flex}.composer-actions{align-items:center;gap:6px;display:flex}.model-picker{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;padding:5px 6px;font-size:13px}.model-picker:hover{border-color:var(--line);color:var(--ink)}.attach-tray,.msg-attachments{flex-wrap:wrap;gap:6px;display:flex}.msg.user .msg-attachments{justify-content:flex-end}.attach-tile{position:relative}.attach-open{border:1px solid var(--line);background:var(--node);min-width:56px;max-width:200px;height:56px;color:var(--ink);cursor:pointer;font:inherit;border-radius:8px;align-items:center;gap:6px;padding:0 10px;font-size:12.5px;display:flex}.attach-tile.image .attach-open{justify-content:center;width:56px;padding:0;overflow:hidden}.attach-open img{object-fit:cover;width:100%;height:100%}.attach-open:hover{border-color:var(--accent)}.attach-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attach-remove{border:1px solid var(--line);background:var(--panel);width:20px;height:20px;color:var(--muted);cursor:pointer;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute;top:-6px;right:-6px}.attach-remove:hover{color:var(--danger);border-color:var(--danger)}.attach-remove .fi{width:12px;height:12px}.attach-preview{max-height:60vh;overflow:auto}.attach-preview img{image-rendering:auto;max-width:100%;max-height:60vh;margin:0 auto;display:block}.attach-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:60vh}.attach-meta{color:var(--muted);margin:0;font-size:12.5px}.modal:has(.attach-preview){width:min(860px,100%)}.content[data-page=files]{overflow:hidden}.ide{--explorer:260px;grid-template-columns:var(--explorer) 0 minmax(0, 1fr);background:var(--panel);min-height:0;display:grid;overflow:hidden}.ide-resize{z-index:2;cursor:col-resize;touch-action:none;width:0;position:relative}.ide-resize:after{content:"";position:absolute;inset:0 -4px}.ide-resize:hover:after,.ide-resize:focus-visible:after{background:var(--accent);inset:0 -2px}.explorer{border-right:1px solid var(--line);background:var(--side);flex-direction:column;min-width:0;min-height:0;display:flex}.explorer-head{border-bottom:1px solid var(--line);color:var(--muted);justify-content:space-between;align-items:center;gap:6px;padding:6px 6px 6px 12px;font-size:12px;font-weight:600;display:flex}.explorer-head .row{gap:2px}.icon-btn{width:28px;height:28px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;font-size:20px;line-height:1;display:grid}.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--ink)}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn[aria-pressed=true]{color:var(--accent)}.fi{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:16px;height:16px}.tree{flex:1;padding:4px 0 8px;font-size:13px;overflow:auto}.tree-row{--depth:0;width:100%;padding:3px 8px 3px calc(8px + var(--depth) * 14px);cursor:pointer;text-align:left;color:var(--ink);white-space:nowrap;background:0 0;border:0;align-items:center;gap:6px;display:flex}.tree-row:not(.folder){padding-left:calc(30px + var(--depth) * 14px - 14px)}.tree-row:hover{background:var(--hover)}.tree-row[aria-selected=true]{background:color-mix(in srgb, var(--accent) 16%, transparent)}.tree-row.muted{color:var(--muted);font-style:italic}.tree-row.problems-link .tree-name{color:var(--danger);text-underline-offset:2px;text-decoration:underline}.tree-row .fi{color:var(--muted)}.tree-row .chev{width:12px;height:12px;transition:transform .12s}.tree-row[aria-expanded=true] .chev{transform:rotate(90deg)}.tree-name{text-overflow:ellipsis;min-width:0;overflow:hidden}.tree-thumb{width:16px;height:16px;image-rendering:pixelated;flex:none}.find{flex-direction:column;flex:1;min-height:0;display:flex}.find[hidden]{display:none}.find-box{border-bottom:1px solid var(--line);align-items:center;gap:2px;padding:6px 6px 6px 8px;display:flex}.find-input{flex:1;width:0;padding:4px 8px;font-size:13px}.find-opt{width:24px;height:24px;font:600 12px/1 var(--f-mono);border-radius:4px}.find-opt[aria-pressed=true]{background:color-mix(in srgb, var(--accent) 16%, transparent)}.find-results{padding-top:2px}.find-file .tree-name{flex:none;max-width:70%}.find-dir{text-overflow:ellipsis;min-width:0;color:var(--muted);font-size:12px;overflow:hidden}.find-count{color:var(--muted);margin-left:auto;padding-left:6px;font-size:12px}.tree-row.find-file:not(.folder){padding-left:26px}.tree-row.find-hit{padding-left:38px}.find-line{text-overflow:ellipsis;font:12.5px/1.5 var(--f-mono);overflow:hidden}.find-results mark{background:color-mix(in srgb, var(--warn) 30%, transparent);color:inherit;border-radius:2px}.find-note{color:var(--muted);padding:6px 12px;font-size:13px}.find-note.danger{color:var(--danger);overflow-wrap:anywhere}.ide-main{flex-direction:column;min-width:0;min-height:0;display:flex}.ide-tabs{border-bottom:1px solid var(--line);background:var(--side);scrollbar-width:thin;min-height:36px;display:flex;overflow-x:auto}.ide-tab{border-right:1px solid var(--line);flex:none;align-items:center;display:flex}.ide-tab[aria-selected=true]{background:var(--panel);box-shadow:inset 0 -2px 0 var(--accent)}.ide-tab-name{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;padding:8px 4px 8px 12px;font-size:13px}.ide-tab[aria-selected=true] .ide-tab-name{color:var(--ink)}.ide-tab-close{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:4px;margin-right:6px;padding:4px;display:grid}.ide-tab-close:hover{background:var(--hover);color:var(--ink)}.ide-tab-close .fi{width:12px;height:12px}.ide-path{color:var(--muted);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;min-height:33px;padding:6px 12px;font-size:12px;display:flex}.ide-path:empty{display:none}.ide-path>span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.ide-view{flex:1;min-height:0;overflow:auto}.ide-empty{padding:24px}.ide-blocked{flex-direction:column;align-items:flex-start;gap:12px;padding:24px;display:flex}.ide-blocked p{color:var(--muted);margin:0;line-height:1.5}.code-view{--pad:10px;--lh:20px;min-height:100%;font-family:var(--f-mono);font-size:13px;line-height:var(--lh);font-variant-ligatures:none;grid-template-columns:auto minmax(0,1fr);display:grid}.code-view pre{padding-block:var(--pad);font:inherit;margin:0}.gutter span{display:inline}.gutter span.on{color:var(--ink);opacity:1}.code-text code{caret-color:var(--ink);outline:none;min-height:100%;display:block;position:relative}.line-band{height:var(--lh);background:var(--hover);pointer-events:none;position:absolute;left:0;right:0}.ide-status{flex:none;align-items:center;gap:14px;display:flex}.read-only{align-items:center;gap:4px;display:inline-flex}.read-only .fi{width:13px;height:13px}.sync-note{color:var(--muted)}.sync-note:empty{display:none}.sync-note.warn{color:var(--warn)}.tree-row .ft-java{color:#c6731f}.tree-row .ft-json{color:#b38f00}.tree-row .ft-config{color:#7a6aa8}.tree-row .ft-gradle{color:#2f8a86}.gutter{text-align:right;color:var(--muted);opacity:.6;user-select:none;border-right:1px solid var(--line);background:var(--side);padding-inline:12px 10px}.code-text{tab-size:4;padding-inline:14px;position:relative}.tk-kw{color:var(--tk-kw)}.tk-str{color:var(--tk-str)}.tk-num,.tk-const{color:var(--tk-num)}.tk-com{color:var(--muted);font-style:italic}.tk-type{color:var(--tk-type)}.tk-ann,.tk-sec{color:var(--tk-ann)}.tk-key{color:var(--tk-key)}.image-view{flex-wrap:wrap;align-items:flex-start;gap:20px;padding:20px;display:flex}.image-view img{aspect-ratio:1;width:256px;max-width:100%;image-rendering:pixelated;border:1px solid var(--line);background:repeating-conic-gradient(var(--hover) 0 25%, transparent 0 50%) 0 0 / 16px 16px;border-radius:6px}.image-info{flex-direction:column;flex:1;gap:12px;min-width:200px;display:flex}.asset-name{width:100%;font-family:var(--f-mono);font-size:13px}.code{border:1px solid var(--line);background:var(--node);font-family:var(--f-mono);white-space:pre;border-radius:6px;margin:0;padding:10px;font-size:11.5px;line-height:1.5;overflow:auto}.icon-gallery{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;display:grid}.icon-tile{border:1px solid var(--line);background:var(--node);cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px 4px 6px;display:flex;position:relative}.icon-tile:hover{border-color:var(--muted)}.icon-tile[aria-selected=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.icon-tile img{width:32px;height:32px;image-rendering:pixelated;object-fit:contain}.icon-tile span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:12px;overflow:hidden}.icon-tile .tile-dot{background:var(--warn);color:#0000;border-radius:50%;width:8px;height:8px;font-size:0;position:absolute;top:5px;right:5px}.icon-tile:not(.unsaved) .tile-dot{display:none}.icon-layout{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:14px;display:grid}.icon-layout.large{grid-template-columns:minmax(0,1fr)}.icon-layout.large .pixel-wrap{max-width:560px}.icon-tools{min-width:0}.hex-input{width:92px;font-family:var(--f-mono);text-transform:none}.hex-error{min-width:0;line-height:1.3}@container (width<=520px){.icon-layout{grid-template-columns:minmax(0,1fr)}.pixel-wrap{max-width:360px}}.pixel-wrap{width:100%;max-width:100%}.pixel-canvas{width:100%;max-width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--line);touch-action:none;cursor:crosshair;border-radius:4px;display:block}.swatches{grid-template-columns:repeat(auto-fill,26px);gap:4px;max-width:100%;display:grid}.swatch{border:1px solid var(--line);cursor:pointer;border-radius:4px;width:26px;height:26px;padding:0}.swatch.on{outline:2px solid var(--accent);outline-offset:1px}@container (width>=640px){.icon-layout.large:has(.mob-wrap:not([hidden])){grid-template-columns:minmax(0,560px) auto}.icon-layout.large:has(.mob-wrap:not([hidden])) .icon-tools{grid-column:1/-1}}.mob-view{aspect-ratio:1;width:224px;max-width:100%;height:auto;image-rendering:pixelated;border:1px solid var(--line);background:radial-gradient(circle at 50% 40%, var(--node), var(--side));cursor:grab;touch-action:none;border-radius:6px;display:block}.mob-view:active{cursor:grabbing}.node-thumb.mob-thumb{image-rendering:auto;width:24px;height:24px}.icon-tile img.mob-thumb{image-rendering:auto;width:40px;height:40px;margin:-4px 0}.tile-pair{align-items:center;gap:4px;display:flex}.modal:has(.preset-grid){width:min(600px,100%)}.preset-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px;display:grid}.preset{border:1px solid var(--line);background:var(--node);color:inherit;font:inherit;cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;gap:2px;min-width:0;padding:8px 6px;display:flex}.preset:hover,.preset:focus-visible{border-color:var(--accent)}.preset-view{width:96px;height:96px;image-rendering:pixelated}.preset-title{font-size:13px;font-weight:600}.preset-tag{color:var(--muted);font-size:12px}.preset-tag.hostile{color:var(--danger)}.previews{align-items:flex-end}.pv{image-rendering:pixelated;border:1px solid var(--line)}.toast{left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));background:var(--ink);color:var(--bg);z-index:20;border-radius:6px;max-width:calc(100% - 32px);padding:8px 14px;font-size:13px;position:fixed;transform:translate(-50%)}.toast.near{max-width:min(360px,100% - 16px);line-height:1.4;bottom:auto;transform:none}.fatal{grid-column:1/-1;max-width:60ch;padding:24px;line-height:1.5}@media (width<=900px){.app{grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:auto;min-height:100%}.sidebar{padding:8px max(16px, env(safe-area-inset-right,0px)) 8px max(16px, env(safe-area-inset-left,0px));border-right:0;border-bottom:1px solid var(--line);flex-flow:wrap;align-items:center;gap:6px;overflow:visible}.nav{display:contents}.app.nav-pinned{grid-template-columns:minmax(0,1fr)}.sidebar,.nav-pinned .sidebar,.app:not(.nav-pinned) .sidebar.open{width:auto;box-shadow:none}.brand{padding:2px 6px 2px 0}.brand>span,.nav-pin,.nav-recent{display:none}.nav-item{padding:8px}.nav-item:not([aria-current=page])>span{display:none}.topbar{padding-left:max(16px, env(safe-area-inset-left,0px))}.content,.content[data-page=editor]{overflow:visible}.split,.split.collapsed,.split.side-hidden{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}.split>.divider{display:none}.split.collapsed .graph-pane,.split.side-hidden .side{visibility:visible}.split>.graph-pane{height:max(320px,100dvh - 150px)}.split[data-pane=graph]>.side,.split[data-pane=chat]>.graph-pane{display:none}.split>.pane-switch{z-index:3;display:flex;position:sticky;top:0}.pane-switch .tab{flex:1}.choices{grid-template-columns:1fr}.side-body{overflow:visible}.side-body>.chat{min-height:60vh}.icon-layout{grid-template-columns:minmax(0,1fr)}.content[data-page=files]{overflow:visible}.ide{grid-template-rows:auto minmax(60vh,1fr);grid-template-columns:minmax(0,1fr)}.ide-resize{display:none}.explorer{border-right:0;border-bottom:1px solid var(--line);max-height:40vh}}@media (prefers-reduced-motion:no-preference){.btn,.menu-item,.file,.chip{transition:background-color .12s,border-color .12s}}.zoom-ctl{z-index:2;box-shadow:var(--shadow);border-radius:6px;position:absolute;bottom:10px;right:10px}.sel-bar{z-index:2;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;align-items:center;gap:6px;padding:4px 4px 4px 10px;display:flex;position:absolute;bottom:10px;left:10px}.sel-bar[hidden]{display:none}.canvas:has(>.inspector:not([hidden])) .zoom-ctl{right:calc(min(320px,100% - 20px) + 20px)}.sel-count{color:var(--muted);white-space:nowrap;font-size:12.5px;font-weight:600}.sel-bar .btn{padding:4px 10px}.sel-bar .port-menu{margin:0 0 4px;inset:auto auto 100% 0}.graph-tools .search{flex:120px;width:auto;max-width:240px}.chat-head{border-bottom:1px solid var(--line);align-items:center;gap:4px;padding:6px 8px;display:flex}.chat-picker{text-overflow:ellipsis;background:0 0;border:1px solid #0000;border-radius:6px;flex:1;min-width:0;padding:4px 6px;font-weight:500}.chat-picker:hover{border-color:var(--line)}.optional{color:var(--muted);font-weight:400}.warning{color:var(--ink);margin:0;line-height:1.45}.form-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;padding-top:14px;display:flex}.form-actions .field-error{align-self:center;margin-right:auto}:not(pre)>code{font-family:var(--f-mono);background:var(--hover);border-radius:4px;padding:1px 5px;font-size:.92em}.build-list{flex-direction:column;gap:10px;display:flex}.build-row{border:1px solid var(--line);border-radius:8px;justify-content:space-between;align-items:center;gap:16px;padding:12px 14px;display:flex}.build-row p{margin:4px 0 0}@media (width<=520px){.build-row{flex-direction:column;align-items:stretch}}.build-log{border:1px solid var(--line);max-height:240px;font:12px/1.45 var(--mono,ui-monospace, monospace);white-space:pre-wrap;word-break:break-word;border-radius:8px;margin:0;padding:10px 12px;overflow:auto}.build-history{flex-direction:column;gap:10px;display:flex}.build-item{border:1px solid var(--line);background:var(--panel);border-radius:10px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px;display:flex;position:relative}.build-main{flex-direction:column;gap:6px;min-width:0;display:flex}.build-title{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.build-kind{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 9px;font-size:12px}.build-meta{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:12.5px;display:flex}.build-changes{color:var(--muted);margin:0;font-size:13px}.build-changes summary{cursor:pointer}.build-changes summary:hover{color:var(--ink)}.build-changes ul{color:var(--ink);overflow-wrap:anywhere;flex-direction:column;gap:2px;margin:6px 0 0;padding-left:18px;display:flex}.build-actions{flex:none;align-items:center;gap:6px;display:flex}.build-actions .card-more{position:static}.build-menu{top:50px;right:14px}@media (width<=520px){.build-item{flex-direction:column}.build-actions{justify-content:space-between;align-self:stretch}.build-menu{top:auto;bottom:52px}}.problems{border-top:1px solid var(--line);background:var(--panel);flex-direction:column;flex:none;min-height:0;max-height:45%;display:flex;position:relative}.problems.open.sized{height:var(--problems-h);max-height:calc(100% - 96px)}.problems-resize{z-index:2;cursor:row-resize;touch-action:none;height:9px;display:none;position:absolute;top:-5px;left:0;right:0}.problems.open .problems-resize{display:block}.problems-resize:hover:after,.problems-resize:focus-visible:after{content:"";background:var(--accent);height:3px;position:absolute;top:3px;left:0;right:0}.problems-head{width:100%;color:var(--ink);font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:9px 14px;font-weight:600;display:flex}.problems-head:hover{background:var(--hover)}.problems-head .chev{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:14px;height:14px;transition:transform .15s}.problems.open .problems-head .chev{transform:rotate(180deg)}.problems-head .count{margin-left:0}.problems-list{flex-direction:column;flex:1;gap:4px;min-height:0;padding:0 14px 10px;display:none;overflow:auto}.problems.open .problems-list{display:flex}.split.collapsed .side>.problems{width:100%;max-width:860px;margin-inline:auto}.icons-page{max-width:1180px}.icons-body{grid-template-columns:minmax(200px,300px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.icon-groups{flex-direction:column;gap:16px;min-width:0;display:flex}.icon-group{flex-direction:column;gap:8px;display:flex}.icon-folder{align-items:baseline;gap:8px;margin:0;font-size:13px;font-weight:600;display:flex}.icon-folder code{color:var(--muted);background:0 0;padding:0;font-size:12px;font-weight:400}.icon-tile.empty{color:var(--muted);border-style:dashed}.tile-add{place-items:center;width:32px;height:32px;font-size:20px;display:grid}.tex-size{color:var(--muted);font-size:12.5px}.menu-anchor{position:relative}.tex-menu{width:160px;left:auto;right:0}.switch-menu.history-menu{flex-wrap:nowrap;width:min(340px,100vw - 32px);max-height:min(420px,60vh);left:auto;right:0;overflow:auto}.history-step{font-size:13px;padding-left:calc(8px + var(--depth,0) * 14px)!important}.history-step[aria-current=true]{box-shadow:inset 2px 0 var(--accent);font-weight:500}.history-step.off{color:var(--muted)}.switch-menu.history-menu .history-step span:last-child{white-space:normal;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box}.row.end{justify-content:flex-end}.icon-card{flex-direction:column;gap:14px;min-width:0;padding:16px 18px 18px;display:flex;container-type:inline-size}.icon-card-head{flex-direction:column;gap:4px;min-width:0;display:flex}.tex-name{field-sizing:content;min-width:4ch;max-width:100%;font:inherit;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;margin-left:-7px;padding:2px 6px;font-size:15px;font-weight:600}.tex-name:hover:not([readonly]){border-color:var(--line)}.tex-name:focus:not([readonly]){border-color:var(--accent);background:var(--panel);outline:none}.tex-name[readonly]{cursor:default}.icon-path{min-width:0;max-width:100%;font:12.5px/1.4 var(--f-mono);color:var(--muted);cursor:pointer;text-align:left;white-space:nowrap;background:0 0;border:0;align-self:flex-start;padding:0;display:flex}.icon-path:hover{color:var(--accent);text-decoration:underline}.icon-path-dir{text-overflow:ellipsis;min-width:0;overflow:hidden}.icon-path-file{flex:none}.icon-path-none{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;line-height:1.4;overflow:hidden}.tex-actions{z-index:2;background:var(--panel);border-top:1px solid var(--line);border-radius:0 0 9px 9px;justify-content:flex-end;align-items:center;gap:8px;margin:0 -18px -18px;padding:10px 18px;display:flex;position:sticky;bottom:0}.tex-unsaved{color:var(--warn);align-items:center;gap:6px;margin-right:auto;font-size:12.5px;font-weight:500;display:flex}.tex-unsaved:not(:empty):before{content:"";background:currentColor;border-radius:50%;flex:none;width:8px;height:8px}@media (width<=760px){.icons-body{grid-template-columns:minmax(0,1fr)}}.overview-page{max-width:1180px;container-type:inline-size}.overview{flex-direction:column;gap:22px;display:flex}.ov-section{flex-direction:column;gap:10px;display:flex}.ov-section h2{margin:0;font-size:15px}.ov-cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,380px),1fr));gap:12px;display:grid}.ov-row{flex-wrap:wrap;gap:12px;display:flex}.ov-card{gap:16px;min-width:0;padding:14px;display:flex}.ov-pic{border:1px solid var(--line);background:var(--hover);cursor:pointer;border-radius:8px;flex:none;justify-content:center;align-items:center;width:132px;height:132px;padding:10px;display:flex}.ov-pic:hover{border-color:var(--muted)}.ov-pic-img{min-width:0;max-width:100%;min-height:0;max-height:100%;image-rendering:pixelated}.ov-pic.flat .ov-pic-img{object-fit:contain;width:100%;height:100%}.ov-info{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.ov-title{flex-direction:column;gap:2px;min-width:0;display:flex}.ov-name{max-width:100%;font:inherit;color:var(--ink);cursor:pointer;text-align:left;overflow-wrap:anywhere;background:0 0;border:0;align-self:flex-start;padding:0;font-size:15px;font-weight:600}.ov-name:hover{color:var(--accent);text-decoration:underline}.ov-kind{color:var(--muted);font-size:12.5px}.ov-recipes{flex-wrap:wrap;gap:8px;display:flex}.ov-recipe{border:1px solid var(--line);background:var(--panel);cursor:pointer;font:inherit;color:var(--ink);border-radius:8px;flex-direction:column;align-items:flex-start;gap:6px;padding:8px;display:inline-flex}.ov-recipe:hover{border-color:var(--muted)}.ov-recipe-row{align-items:center;gap:8px;display:flex}.ov-recipe-label{color:var(--muted);font-size:12px}.ov-grid{grid-template-columns:repeat(3,auto);gap:3px;display:grid}.ov-arrow{color:var(--muted);font-size:18px;line-height:1}.ov-slot{border:1px solid var(--line);background:var(--hover);border-radius:4px;place-items:center;width:36px;height:36px;display:grid;position:relative;overflow:hidden}.ov-slot-pic{width:28px;height:28px;image-rendering:pixelated;object-fit:contain}.ov-slot-pic.smooth{image-rendering:auto}.ov-slot-name{letter-spacing:-.02em;text-align:center;color:var(--muted);-webkit-line-clamp:3;-webkit-box-orient:vertical;padding:1px;font-size:8.5px;line-height:1.1;display:-webkit-box;overflow:hidden}.ov-count{color:var(--ink);text-shadow:0 0 2px var(--panel), 0 0 2px var(--panel);font-size:11px;font-weight:600;position:absolute;bottom:0;right:2px}.ov-chance{color:var(--muted);text-shadow:0 0 2px var(--panel), 0 0 2px var(--panel);font-size:9px;font-weight:600;position:absolute;top:0;left:2px}.ov-chests{font-size:12.5px}.ov-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ov-line-label{color:var(--muted);font-size:12.5px}.ov-slots{flex-wrap:wrap;gap:3px;display:flex}.ov-box{cursor:pointer;font:inherit;color:var(--ink);text-align:left;flex-direction:column;align-items:flex-start;gap:8px;max-width:100%;padding:12px;display:flex}.ov-box:hover{border-color:var(--muted)}.ov-box-title{align-items:center;gap:8px;font-size:13.5px;font-weight:600;display:flex}@container (width<=460px){.ov-card{flex-direction:column}.ov-pic{width:100%;height:150px}}.switch-wrap{margin-bottom:10px;position:relative}.project-switch{border:1px solid var(--line);background:var(--panel);cursor:pointer;width:100%;color:var(--ink);font:inherit;text-align:left;border-radius:8px;align-items:center;gap:10px;padding:5px 7px;font-weight:600;display:flex}.project-switch:hover{border-color:var(--muted)}.switch-name{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.project-switch .nav-icon{width:16px;height:16px;color:var(--muted)}.avatar{background:var(--accent);color:#fff;border-radius:4px;flex:none;place-items:center;width:20px;height:20px;font-size:11.5px;font-weight:700;line-height:1;display:grid}.avatar.all{color:var(--ink);background:0 0}.avatar.logo{image-rendering:pixelated;background:0 0;border-radius:0}.project-switch .avatar.all .nav-icon{color:var(--ink)}.switch-menu{z-index:30;background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0}.switch-menu .menu-item{color:inherit;align-items:center;gap:10px;padding:6px 8px;text-decoration:none;display:flex}.switch-menu .menu-item span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.switch-menu .menu-item[aria-current=true]{background:var(--hover)}.menu-sep{background:var(--line);height:1px;margin:4px 2px}.account-wrap{margin:0}.account-wrap+.nav-pin{margin-top:0}.account-menu{top:auto;bottom:calc(100% + 4px)}.account-btn{font-weight:500}@media (width>=901px){.app:not(.nav-pinned) .sidebar:not(.open) .project-switch{background:0 0;border-color:#0000}.app:not(.nav-pinned) .sidebar:not(.open) .project-switch>:not(.avatar){opacity:0}}@media (width<=900px){.switch-wrap{flex:0 200px;min-width:0;margin:0}.account-wrap{flex:none}.switch-menu{width:220px;right:auto}.nav-docs{margin:0 0 0 auto}.account-btn{background:0 0;border-color:#0000;padding:5px}.account-btn>.switch-name{display:none}.account-menu{inset:calc(100% + 4px) 0 auto auto}}@media (width<=600px){.sidebar{row-gap:0}.sidebar:after{content:"";flex-basis:100%;order:1}.sidebar .nav-item:not(.nav-docs){flex:auto;order:2;justify-content:center;margin-top:6px}.switch-wrap{flex:0 auto}}::highlight(lsp-same){background-color:color-mix(in srgb, var(--accent) 18%, transparent)}::highlight(lsp-link){color:var(--accent);text-decoration:underline}::highlight(find){background-color:color-mix(in srgb, var(--warn) 28%, transparent)}::highlight(find-cur){background-color:color-mix(in srgb, var(--warn) 60%, transparent)}::highlight(search){background-color:color-mix(in srgb, var(--warn) 35%, transparent)}.code-text code.lsp-pointer{cursor:pointer}.hover-card{z-index:40;background:var(--panel);border:1px solid var(--line);max-width:min(560px,100vw - 16px);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;gap:6px;padding:8px 10px;display:flex;position:fixed}.hover-card:before{content:"";height:10px;position:absolute;left:0;right:0}.hover-card.above:before{top:100%}.hover-card.below:before{bottom:100%}.hover-detail{font:12.5px/1.45 var(--f-mono);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);background:0 0;padding:0}.hover-links{flex-wrap:wrap;gap:4px 12px;display:flex}.hover-links:empty{display:none}.hover-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-size:12.5px}.hover-link:hover{text-decoration:underline}.ide-refs{border-top:1px solid var(--line);background:var(--panel);flex-direction:column;flex:none;min-height:0;max-height:38%;display:flex}.ide-refs-head{justify-content:space-between;align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:13px;font-weight:600;display:flex}.ide-refs-head code{font-family:var(--f-mono);font-weight:500}.count-plain{color:var(--muted);margin-left:8px;font-weight:500}.ide-refs-list{flex-direction:column;padding-bottom:6px;display:flex;overflow:auto}.ref-row{text-align:left;cursor:pointer;color:var(--ink);font:inherit;background:0 0;border:0;grid-template-columns:minmax(120px,max-content) minmax(0,1fr);align-items:baseline;gap:12px;padding:3px 12px;display:grid}.ref-row:hover{background:var(--hover)}.ref-file{color:var(--muted);white-space:nowrap;font-size:12.5px}.ref-line{font:12.5px/1.5 var(--f-mono);white-space:pre;text-overflow:ellipsis;background:0 0;padding:0;overflow:hidden}.ref-line mark{background:color-mix(in srgb, var(--accent) 22%, transparent);color:inherit;border-radius:2px}.modal:has(.starter-picker){width:min(760px,100%)}.start-option{border:1px solid var(--line);background:var(--node);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 12px 8px 8px;font-weight:500;display:flex}.start-option:hover{border-color:var(--muted)}.start-samples{grid-template-columns:repeat(4,24px);gap:2px;display:grid}.start-samples img{width:24px;height:24px;image-rendering:pixelated}.starter-picker{flex-direction:column;gap:12px;min-height:0;display:flex}.starter-groups{flex-direction:column;gap:14px;max-height:min(60vh,560px);padding-right:4px;display:flex;overflow-y:auto}.starter-groups .icon-folder{margin:0 0 6px;font-size:13px}.starter-search{flex:160px;min-width:0}.starter-picker>.row>select{flex:0 240px;min-width:0}.starter-pack{flex-direction:column;gap:10px;display:flex}.starter-pack>.icon-group{content-visibility:auto;contain-intrinsic-size:auto 240px}.starter-groups h3.icon-folder{font-size:14px}.starter-groups h3.icon-folder a{color:var(--muted);font-size:12px;font-weight:400}.starter-groups h4.icon-folder{color:var(--muted);font-weight:500}.pack-icon{width:32px;height:32px;image-rendering:pixelated;background-repeat:no-repeat;flex:none}
