@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--font:"Inter Variable", Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:"JetBrains Mono Variable", "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--radius-sm:6px;--radius:8px;--radius-lg:12px;--ok:#30a46c;--chrome:#141415;--canvas:#0e0e0f;--canvas-dot:#2e2e32;--dock:#111112;--card:#1a1a1c;--card-border:#28282c;--field:#232326;--field-border:#343439;--hover:#2c2c30;--pressed:#38383e;--text:#ececf0;--text-dim:#96969e;--text-faint:#606068;--icon:#c4c4cc;--accent:#8b7cf6;--accent-soft:#8b7cf62e;--accent-border:#a094ff6e;--accent-text:#d6d0ff;--separator:#26262a;--shadow-color:#0000008c;--primary-bg:#f6f6f8;--primary-text:#0c0c0e;--danger:#f06060;--danger-text:#0c0c0e;--danger-soft:#f0606024;--warning:#f0be5a;--ok-text:#5fd09a;--scrim:#0000006e;--root:var(--primary-bg);--root-text:var(--primary-text);--shadow-sm:0 1px 2px var(--shadow-color);--shadow:0 6px 20px var(--shadow-color);--shadow-lg:0 10px 32px var(--shadow-color);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root[data-theme=light]{--chrome:#f6f6f8;--canvas:#e2e2e6;--canvas-dot:#c8c8ce;--dock:#f0f0f3;--card:#fcfcfd;--card-border:#dedee4;--field:#f2f2f5;--field-border:#d6d6dc;--hover:#e8e8ed;--pressed:#dcdce2;--text:#18181c;--text-dim:#60606a;--text-faint:#9696a0;--icon:#3c3c44;--accent:#6c5ce7;--accent-soft:#6c5ce724;--accent-border:#6c5ce778;--accent-text:#5040c8;--separator:#e2e2e8;--shadow-color:#0003;--primary-bg:#141418;--primary-text:#fafafc;--danger:#d23c3c;--danger-text:#fff;--danger-soft:#d23c3c1a;--warning:#be8214;--ok-text:#1d7a4e;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box;scrollbar-width:thin;scrollbar-color:var(--pressed) transparent}html,body{height:100%}body{font:13px/1.45 var(--font);color:var(--text);background:var(--dock);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}::selection{background:var(--accent-soft)}::placeholder{color:var(--text-faint)}[hidden]{display:none!important}.ic{flex:none;display:block}.muted{color:var(--text-dim)}.btn{border-radius:var(--radius-sm);border:1px solid var(--field-border);background:var(--field);white-space:nowrap;justify-content:center;align-items:center;gap:6px;height:30px;padding:0 12px;font-weight:500;text-decoration:none;transition:background .12s,border-color .12s;display:inline-flex}.btn:hover{background:var(--hover)}.btn:active{background:var(--pressed);border-color:var(--accent-border)}.btn.primary{background:var(--primary-bg);border-color:var(--primary-bg);color:var(--primary-text);font-weight:600}.btn.primary:hover{opacity:.9}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--danger-text);font-weight:600}.btn.danger:hover{opacity:.9}.icon-btn{border-radius:var(--radius-sm);width:28px;height:28px;color:var(--icon);background:0 0;border:0;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--hover);color:var(--text)}.icon-btn:active{background:var(--pressed)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.theme-toggle svg:last-child,:root[data-theme=light] .theme-toggle svg:first-child{display:none}:root[data-theme=light] .theme-toggle svg:last-child{display:block}.avatar{background:var(--c);color:#fff;letter-spacing:.02em;border:2px solid var(--chrome);border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:11px;font-weight:600;display:inline-grid}.brand{letter-spacing:-.01em;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.brand.big{justify-content:center;gap:14px;font-size:24px}.brand.big svg{width:44px;height:44px}.login{background:radial-gradient(900px 480px at 50% -10%, var(--accent-soft), transparent), var(--dock);place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.login-card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:min(380px,100%);box-shadow:var(--shadow-lg);text-align:center;padding:36px 28px}.login-card>p{margin:8px 0 26px}.login-actions{gap:10px;display:grid}.btn.sso{gap:12px;height:40px;font-size:14px}.dev-login{gap:10px;display:grid}.dev-login input{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field);height:36px;padding:0 12px}.dev-login input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.dev-login .btn{height:36px}.or{color:var(--text-dim);margin:6px 0 2px;font-size:11px}.dash{min-height:100dvh}.dash-head{z-index:5;background:var(--chrome);border-bottom:1px solid var(--separator);align-items:center;gap:20px;height:48px;padding:0 20px;display:flex;position:sticky;top:0}.search{border-radius:var(--radius-sm);background:var(--field);border:1px solid var(--field-border);max-width:420px;height:30px;color:var(--text-dim);flex:1;align-items:center;gap:8px;margin:0 auto;padding:0 10px;display:flex}.search:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.search input{color:var(--text);background:0 0;border:0;outline:none;flex:1;min-width:0}.user{align-items:center;gap:8px;display:flex}.user-name{margin-right:4px;font-weight:500}.dash-main{max-width:1200px;margin:0 auto;padding:24px 20px 60px}.dash-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:18px;display:flex}.dash-actions h1{letter-spacing:-.005em;margin:0;font-size:15px;font-weight:600}.grow{flex:1}.grid{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;display:grid}.card{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);flex-direction:column;text-decoration:none;transition:border-color .15s,background .15s;display:flex;position:relative;overflow:hidden}.card:hover{border-color:var(--field-border);background:var(--field)}.card:active{border-color:var(--accent-border)}.card-art{background:var(--canvas);border-bottom:1px solid var(--card-border);place-items:center;height:116px;display:grid}.card-art svg{width:75%;height:auto}.card-body{padding:10px 12px 12px}.card-title{text-overflow:ellipsis;white-space:nowrap;margin-bottom:4px;font-size:13px;font-weight:600;overflow:hidden}.card-meta{color:var(--text-dim);font-size:11px}.card-del{background:var(--card);border:1px solid var(--card-border);opacity:0;transition:opacity .15s;position:absolute;top:8px;right:8px}.card:hover .card-del,.card-del:focus-visible{opacity:1}.card-del:hover{color:var(--danger);background:var(--hover)}.empty{text-align:center;color:var(--text-dim);border:1px dashed var(--field-border);border-radius:var(--radius-lg);grid-column:1/-1;padding:56px 20px}.empty .ic{color:var(--text-faint);margin:0 auto 8px}.empty h2{color:var(--text);margin:0 0 6px;font-size:15px;font-weight:600}.empty p{margin:0 0 18px}.center-msg{text-align:center;height:100dvh;color:var(--text-dim);place-content:center;gap:12px;display:grid}.editor{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.toolbar{background:var(--chrome);border-bottom:1px solid var(--separator);z-index:10;flex:none;align-items:center;gap:2px;height:44px;padding:0 8px;display:flex}.tb-btn{border-radius:var(--radius-sm);min-width:30px;height:30px;color:var(--icon);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:0 7px;font-weight:500;display:inline-flex}.tb-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}.tb-btn:active:not(:disabled){background:var(--pressed)}.tb-btn:disabled{opacity:.35;cursor:default}.tb-title{text-overflow:ellipsis;white-space:nowrap;max-width:280px;padding:0 6px;font-size:13px;font-weight:600;overflow:hidden}.tb-sep{background:var(--separator);width:1px;height:18px;margin:0 6px}.tb-spacer{flex:1}.presence{flex-direction:row-reverse;margin-right:6px;display:flex}.presence .avatar{width:26px;height:26px;margin-left:-6px;font-size:10px}.conn{color:var(--text-dim);align-items:center;gap:6px;padding:0 8px;font-size:11px;display:flex}.conn .dot{background:var(--text-faint);border-radius:50%;width:7px;height:7px}.conn[data-status=connected] .dot{background:var(--ok);box-shadow:0 0 0 3px #30a46c33}.conn[data-status=disconnected] .dot{background:var(--danger)}.conn[data-status=disconnected]{color:var(--danger)}.menu-wrap{position:relative}.menu{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);min-width:200px;box-shadow:var(--shadow);z-index:20;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.menu button{text-align:left;border-radius:var(--radius-sm);background:0 0;border:0;width:100%;padding:6px 10px;display:block}.menu button:hover{background:var(--hover)}.workspace{flex:1;min-height:0;display:flex}.canvas{cursor:default;touch-action:none;background:var(--canvas);background-image:radial-gradient(circle, var(--canvas-dot) 1px, transparent 1.2px);background-size:24px 24px;outline:none;flex:1;position:relative;overflow:hidden}.canvas.panning{cursor:grabbing}.world{transform-origin:0 0;position:absolute;top:0;left:0}.world.animate{transition:transform .25s cubic-bezier(.2,.7,.3,1)}.links{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.links path{fill:none;stroke-linecap:round}.loading{color:var(--text-dim);background:var(--canvas);place-items:center;display:grid;position:absolute;inset:0}.zoom{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow);align-items:center;padding:3px;display:flex;position:absolute;bottom:12px;right:12px}.zoom button{border-radius:var(--radius-sm);min-width:26px;height:26px;color:var(--icon);background:0 0;border:0;place-items:center;padding:0 6px;display:grid}.zoom button:hover{background:var(--hover);color:var(--text)}.zoom-label{font:11px var(--mono);min-width:52px!important}.node{white-space:pre-wrap;overflow-wrap:break-word;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;width:max-content;max-width:300px;transition:transform .18s cubic-bezier(.2,.7,.3,1);display:flex;position:absolute;top:0;left:0}.node .text{outline:none;min-width:1ch}.node.editing{cursor:text;transition:none}.node.editing .text{-webkit-user-select:text;user-select:text;caret-color:currentColor;min-width:3ch}.node.lvl-0{text-align:center;background:var(--root);max-width:380px;color:var(--root-text);box-shadow:0 6px 20px var(--shadow-color);border-radius:12px;justify-content:center;padding:14px 26px;font-size:20px;font-weight:600;line-height:1.3}.node.lvl-1{background:var(--c);color:#fff;box-shadow:inset 0 0 0 1px #ffffff1a, 0 2px 6px var(--shadow-color);border-radius:8px;padding:8px 16px;font-size:15px;font-weight:600;line-height:1.35}.node.lvl-2{color:var(--text);border-bottom:2px solid var(--c);border-radius:3px 3px 0 0;padding:3px 4px 4px;font-size:14px;line-height:1.4}.node.lvl-2:hover{background:var(--hover)}.node.selected{outline:2px solid var(--accent);outline-offset:3px}.node.lvl-2.selected{background:var(--accent-soft)}.node.editing.lvl-2{background:var(--field)}.node.dragging{opacity:.35}.node.ghost{opacity:.8;pointer-events:none;z-index:30;box-shadow:var(--shadow-lg);transition:none}.badges{opacity:.85;gap:2px;display:flex}.badges:empty{display:none}.badge{color:inherit;cursor:pointer;place-items:center;display:grid}.badge:hover{opacity:.7}.toggle{border:1.5px solid var(--c);background:var(--canvas);min-width:18px;height:18px;color:var(--c);opacity:0;border-radius:9px;place-items:center;padding:0 4px;font-size:10px;font-weight:700;line-height:1;transition:opacity .15s;display:grid;position:absolute;top:50%;right:-24px;transform:translateY(-50%)}.side-left>.toggle{left:-24px;right:auto}.lvl-2>.toggle{top:auto;bottom:-10px;transform:none}.node:hover>.toggle,.toggle.collapsed{opacity:1}.toggle.collapsed{background:var(--c);color:#fff}.remote-tag{display:none}.node.remote:after{content:"";border:2px solid var(--rc);pointer-events:none;border-radius:12px;position:absolute;inset:-6px}.node.remote>.remote-tag{z-index:2;border:2px solid var(--canvas);background:var(--rc);color:#fff;white-space:nowrap;pointer-events:none;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:10px;font-weight:700;line-height:1;display:grid;position:absolute;top:-14px;right:-14px}.side-left.remote>.remote-tag{left:-14px;right:auto}.drop-indicator{pointer-events:none;z-index:25;position:absolute;top:0;left:0}.drop-indicator.child{border:2px dashed var(--accent);border-radius:var(--radius);background:var(--accent-soft)}.drop-indicator.before,.drop-indicator.after{background:var(--accent);border-radius:2px}.cursors{pointer-events:none;position:absolute;top:0;left:0}.cursor{transform-origin:0 0;transition:transform 80ms linear;position:absolute;top:0;left:0}.cursor span{white-space:nowrap;background:var(--c);color:#fff;border-radius:4px;padding:1px 6px;font-size:11px;font-weight:600;position:absolute;top:14px;left:14px}.ctx-menu{z-index:40;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius);min-width:250px;box-shadow:var(--shadow);padding:6px;animation:90ms ease-out ctx-in;position:absolute}@keyframes ctx-in{0%{opacity:0;transform:scale(.97)}}.ctx-menu button{border-radius:var(--radius-sm);text-align:left;width:100%;color:var(--text);background:0 0;border:0;align-items:center;gap:10px;padding:6px 10px;display:flex}.ctx-menu button:hover,.ctx-menu button:focus-visible{background:var(--hover);outline:none}.ctx-menu button.danger{color:var(--danger)}.ctx-menu button.danger:hover,.ctx-menu button.danger:focus-visible{background:var(--danger-soft)}.ctx-ic{width:16px;color:var(--icon);place-items:center;display:grid}.ctx-menu .danger .ctx-ic{color:inherit}.ctx-label{flex:1}.ctx-menu kbd{color:var(--text-dim);background:0 0;border:0;padding:0;font-size:10.5px}.ctx-sep{background:var(--separator);height:1px;margin:4px 6px}.panel{background:var(--card);border-left:1px solid var(--separator);flex-direction:column;flex:none;gap:8px;width:300px;padding:16px 14px;display:none;overflow-y:auto}.panel-open .panel{display:flex}.panel-empty{color:var(--text-dim);padding:8px 0}.panel-head{margin-bottom:8px}.panel-topic{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;font-weight:600}.panel-label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin-top:8px;font-size:10.5px;font-weight:600}.panel-meta{color:var(--text-dim);margin-top:4px;font-size:11px}.pn-note,.pn-link{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field);resize:vertical;width:100%;padding:7px 10px}.pn-note:focus,.pn-link:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.pn-link-row{gap:6px;display:flex}.pn-open{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field);width:34px;color:var(--accent-text);flex:none;place-items:center;display:grid}.pn-open:hover{background:var(--hover)}.swatches{flex-wrap:wrap;gap:6px;display:flex}.swatch{border:2px solid var(--card);background:var(--c);width:24px;height:24px;box-shadow:0 0 0 1px var(--field-border);border-radius:50%;padding:0}.swatch.auto{background:var(--field);color:var(--text-dim);font-size:11px;font-weight:700}.swatch.active{box-shadow:0 0 0 2px var(--accent)}.modal-backdrop{z-index:100;background:var(--scrim);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:min(560px,100%);max-height:85vh;box-shadow:var(--shadow-lg);padding:16px 18px;overflow:auto}.modal.small{width:min(400px,100%)}.modal h2{margin:0 0 8px;font-size:15px;font-weight:600}.modal p{color:var(--text-dim)}.modal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-head h2{margin:0}.modal-actions{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.keys{grid-template-columns:auto 1fr;gap:8px 18px;margin:0;display:grid}.keys dt{white-space:nowrap}.keys dd{color:var(--text-dim);margin:0}kbd{border:1px solid var(--field-border);background:var(--field);font:11px var(--mono);border-radius:4px;padding:1px 6px;display:inline-block}.toast{z-index:200;opacity:0;pointer-events:none;border-radius:var(--radius);background:var(--primary-bg);color:var(--primary-text);box-shadow:var(--shadow-lg);padding:8px 14px;font-weight:500;transition:all .2s;position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px)}.toast.show{opacity:1;transform:translate(-50%)}@media (width<=900px){.tb-btn.wide span,.conn-label,.user-name{display:none}.tb-title{max-width:140px}.panel{z-index:15;box-shadow:var(--shadow-lg);position:absolute;top:44px;bottom:0;right:0}}@media (width<=560px){.dash-head{gap:10px;padding:0 16px}.brand span{display:none}.dash-main{padding:20px 16px 40px}.presence,.tb-sep{display:none}}.node .symbols{order:-1;align-items:center;gap:3px;display:flex}.node .symbols:empty{display:none}.node .sym{cursor:pointer;border-radius:4px;place-items:center;display:grid}.node .sym svg{width:calc(1.05em * var(--ss,1.3));height:calc(1.05em * var(--ss,1.3));display:block}.node .sym.pending{width:calc(1.05em * var(--ss,1.3));height:calc(1.05em * var(--ss,1.3));opacity:.15;background:currentColor}.node.lvl-2 .sym{color:var(--c)}.node.lvl-0 .sym.colored,.node.lvl-1 .sym.colored{background:#fff;border-radius:50%;padding:3px}.node.lvl-0 .sym.colored:hover,.node.lvl-1 .sym.colored:hover{box-shadow:0 0 0 2px #7f7f7f80}.node .sym:hover{background:#7f7f7f2e}.popover{z-index:90;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:12px;animation:.1s ease-out ctx-in;position:fixed}.pop-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sym-picker{flex-direction:column;gap:10px;width:min(420px,100vw - 16px);max-height:min(560px,100vh - 16px);display:flex}.sym-picker>*{flex:none}.sym-picker>.sym-grid-wrap{flex:auto;min-height:120px}.sym-search{border-radius:var(--radius-sm);background:var(--field);border:1px solid var(--field-border);height:30px;color:var(--text-dim);align-items:center;gap:8px;padding:0 10px;display:flex}.sym-search:focus-within{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft)}.sym-search input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1}.sym-tabs{gap:4px;min-height:28px;padding-bottom:2px;display:flex;overflow-x:auto}.sym-tabs button{border-radius:var(--radius-sm);border:1px solid var(--field-border);background:var(--field);height:26px;color:var(--text-dim);white-space:nowrap;flex:none;padding:0 10px;font-size:11px;font-weight:500}.sym-tabs button:hover{background:var(--hover);color:var(--text)}.sym-tabs button.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.sym-style{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.sym-colors{flex-wrap:wrap;gap:4px;display:flex}.sym-colors .swatch{width:22px;height:22px}.seg{border-radius:var(--radius-sm);background:var(--field);border:1px solid var(--field-border);padding:2px;display:inline-flex}.seg button{min-width:28px;height:22px;color:var(--text-dim);background:0 0;border:0;border-radius:4px;font-size:11px;font-weight:600}.seg button.active{background:var(--pressed);color:var(--text)}.sym-grid-wrap{min-height:120px;margin:0 -4px;padding:0 4px;overflow-y:auto}.sym-sec{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);margin:10px 0 6px;font-size:10.5px;font-weight:600}.sym-sec:first-child{margin-top:0}.sym-grid{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));gap:2px;display:grid}.sym-cell{aspect-ratio:1;border-radius:var(--radius-sm);color:var(--sym-color,var(--icon));background:0 0;border:0;place-items:center;display:grid}.sym-cell svg{width:22px;height:22px}.sym-cell:hover,.sym-cell:focus-visible{background:var(--hover);outline:none}.sym-empty{color:var(--text-dim);text-align:center;padding:24px 8px}.sym-editor{flex-direction:column;gap:6px;width:300px;display:flex}.sym-edit-head{align-items:center;gap:12px;margin-bottom:4px;display:flex}.sym-edit-prev{border-radius:var(--radius);background:var(--field);border:1px solid var(--field-border);place-items:center;width:44px;height:44px;display:grid}.sym-edit-head strong{text-transform:capitalize}.small{font-size:11px}.pop-actions{justify-content:space-between;gap:8px;margin-top:10px;display:flex}.btn.danger-outline{color:var(--danger)}.btn.danger-outline:hover{background:var(--danger-soft);border-color:var(--danger)}.pn-symbols{flex-wrap:wrap;gap:6px;display:flex}.pn-sym{border-radius:var(--radius-sm);border:1px solid var(--field-border);background:var(--field);width:34px;height:34px;color:var(--text);place-items:center;display:grid}.pn-sym svg{width:20px;height:20px}.pn-sym:hover{border-color:var(--accent-border);background:var(--hover)}.pn-sym.add{color:var(--text-dim);background:0 0;border-style:dashed}.lib-modal{width:min(640px,100%)}.lib-modal>p{margin:0 0 14px}.lib-list{gap:6px;display:grid}.lib-row{border:1px solid var(--field-border);border-radius:var(--radius);cursor:pointer;grid-template-columns:auto 1fr auto auto;align-items:center;gap:14px;padding:10px 12px;transition:border-color .15s,background .15s;display:grid}.lib-row:hover{background:var(--field)}.lib-row.on{border-color:var(--accent-border);background:var(--accent-soft)}.lib-row input{opacity:0;pointer-events:none;position:absolute}.lib-row:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.lib-info{grid-column:1/3;min-width:0}.lib-name{flex-wrap:wrap;align-items:center;gap:6px;font-weight:600;display:flex}.tag{background:var(--field);border:1px solid var(--field-border);color:var(--text-dim);border-radius:4px;padding:1px 7px;font-size:10.5px;font-weight:600}.tag.used{color:var(--ok-text);background:#30a46c29;border-color:#0000}.lib-samples{color:var(--icon);gap:6px;display:flex}.lib-samples svg{width:20px;height:20px}.switch{background:var(--pressed);border-radius:10px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.switch:after{content:"";width:16px;height:16px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;transition:transform .15s;position:absolute;top:2px;left:2px}.lib-row.on .switch{background:var(--accent)}.lib-row.on .switch:after{transform:translate(14px)}@media (width<=560px){.lib-row{grid-template-columns:1fr auto}.lib-samples{grid-column:1}}.canvas.copying,.canvas.copying *{cursor:copy!important}.node.ghost.copy:before{content:"+";z-index:3;background:var(--ok);color:#fff;border:2px solid var(--canvas);width:20px;height:20px;font:700 14px/1 var(--font);border-radius:50%;place-items:center;display:grid;position:absolute;top:-9px;right:-9px}.marquee{z-index:30;pointer-events:none;border:1px solid var(--accent);background:var(--accent-soft);border-radius:4px;position:absolute}.crumbs{align-items:center;gap:4px;min-width:0;font-size:13px;display:flex}.crumbs:empty{display:none}.crumbs a{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm);max-width:160px;padding:4px 6px;text-decoration:none;overflow:hidden}.crumbs a:hover{background:var(--hover);color:var(--text)}.crumbs .sep{color:var(--text-faint)}.crumbs:not(:empty)+.tb-title{padding-left:2px}.badge.submap{height:22px;font:600 11px/1 var(--font);cursor:pointer;color:inherit;background:#7f7f7f47;border:0;border-radius:11px;align-items:center;gap:4px;margin-left:2px;padding:0 8px 0 6px;display:inline-flex}.badge.submap:hover{opacity:1;background:#7f7f7f6b}.node.lvl-2 .badge.submap{background:var(--c);color:#fff}.node.lvl-2 .badge.submap:hover{filter:brightness(1.1)}.node.lvl-1.has-submap{box-shadow:4px 4px 0 -1px var(--canvas), 5px 5px 0 0 var(--c), 0 2px 6px var(--shadow-color)}.node.lvl-0.has-submap{box-shadow:4px 4px 0 -1px var(--canvas), 5px 5px 0 0 var(--root), 0 6px 20px var(--shadow-color)}.card-parent{color:var(--accent-text);align-items:center;gap:4px;margin-bottom:2px;font-size:11px;display:flex}.ctx-head{text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding:6px 10px 4px;font-size:10.5px;font-weight:600}.ctx-colors{flex-wrap:wrap;gap:5px;padding:6px 10px;display:flex}.ctx-menu .ctx-colors .swatch{background:var(--c);border-radius:50%;width:20px;height:20px;padding:0;display:block}.ctx-menu .ctx-colors .swatch:hover,.ctx-menu .ctx-colors .swatch:focus-visible{background:var(--c);box-shadow:0 0 0 2px var(--accent);transform:scale(1.15)}.ctx-menu .ctx-colors .swatch.auto{background:var(--field);place-items:center;font-size:10px;display:grid}.pn-multi{flex-wrap:wrap;gap:8px;display:flex}.link-modal{flex-direction:column;gap:10px;display:flex}.link-modal>p{margin:0}.link-list{gap:4px;max-height:50vh;display:grid;overflow-y:auto}.link-item{border:1px solid var(--field-border);border-radius:var(--radius);background:var(--field);text-align:left;align-items:center;gap:12px;padding:8px 12px;display:flex}.link-item:hover,.link-item:focus-visible{border-color:var(--accent-border);background:var(--accent-soft);outline:none}.link-item>span{flex-direction:column;min-width:0;display:flex}.link-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.link-item .ic{color:var(--accent-text)}.node .kind-ic{opacity:.8;place-items:center;display:grid}.node.lvl-2 .kind-ic{color:var(--c);opacity:1}.badge.timer{height:22px;font:500 11px/1 var(--mono);cursor:pointer;color:inherit;background:#7f7f7f47;border:0;border-radius:11px;align-items:center;gap:4px;margin-left:2px;padding:0 8px 0 6px;display:inline-flex}.badge.timer:hover{opacity:1;background:#7f7f7f6b}.node.lvl-2 .badge.timer{background:var(--field);border:1px solid var(--field-border);color:var(--text)}.node.lvl-2 .badge.timer:hover{background:var(--hover)}.badge.timer.active{box-shadow:0 0 0 2px var(--ok)}.node .badge.timer.running{background:var(--ok);border-color:var(--ok);color:#fff}.timer-chip{border-radius:var(--radius-sm);border:1px solid var(--field-border);background:var(--field);flex:none;align-items:center;max-width:300px;height:28px;margin-right:6px;display:flex;overflow:hidden}.timer-chip-link{align-items:center;gap:8px;min-width:0;height:100%;padding:0 8px;font-size:11px;text-decoration:none;display:flex}.timer-chip-link:hover{background:var(--hover)}.timer-chip-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.timer-chip-time{font-family:var(--mono);color:var(--text-dim)}.timer-dot{background:var(--ok);border-radius:50%;flex:none;width:7px;height:7px;box-shadow:0 0 0 3px #30a46c33}.timer-chip-stop{border:0;border-left:1px solid var(--field-border);width:28px;height:100%;color:var(--danger);background:0 0;place-items:center;display:grid}.timer-chip-stop:hover{background:var(--danger-soft)}.pn-eb{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--dock);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.pn-eb .panel-label{margin-top:0}.pn-eb .btn{align-self:flex-start}.eb-data{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:12px;display:grid}.eb-data dt{color:var(--text-dim);white-space:nowrap}.eb-data dd{overflow-wrap:anywhere;margin:0}.eb-create{gap:8px;padding-top:4px;display:grid}.eb-create input{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field);height:32px;padding:0 10px}.eb-create input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.eb-create .modal-actions{margin-top:4px}.eb-new{align-self:flex-start}@media (width<=900px){.timer-chip-text{display:none}}.profile-btn{border-radius:var(--radius);background:0 0;border:0;align-items:center;gap:8px;height:34px;padding:0 8px 0 3px;display:flex}.profile-btn:hover{background:var(--hover)}.avatar[data-profile]{cursor:pointer}.profile-modal{flex-direction:column;gap:12px;display:flex}.profile-eb{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--dock);gap:6px;padding:12px;display:grid}.profile-eb .panel-label{margin-top:0}.profile-eb p{margin:2px 0 6px}.profile-eb input{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field);height:32px;padding:0 10px}.profile-eb input:focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.profile-eb .modal-actions{margin-top:6px}.profile-status{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.tag.warn{background:var(--danger-soft);color:var(--danger);border-color:#0000}.node.v-down>.toggle,.node.v-up>.toggle{inset:auto auto -22px 50%;transform:translate(-50%)}.node.v-up>.toggle{top:-22px;bottom:auto}.node.lvl-2.v-down>.toggle{bottom:-24px}.canvas.free-mode .node:not(.lvl-0):not(.editing){cursor:move}.style-pop{flex-direction:column;gap:10px;width:min(380px,100vw - 16px);display:flex}.style-pop .sym-sec{margin:0}.formations{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:6px;display:grid}.formation{border:1px solid var(--field-border);border-radius:var(--radius);background:var(--field);color:var(--text-dim);flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;font-size:11px;font-weight:500;display:flex}.formation:hover{background:var(--hover);color:var(--text)}.formation.active{border-color:var(--accent-border);background:var(--accent-soft);color:var(--accent-text)}.formation svg .fill{fill:currentColor}.style-row{border:1px solid var(--field-border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:12px;padding:8px 10px;display:flex}.style-row>span:first-of-type{flex-direction:column;flex:1;gap:2px;display:flex}.style-row input{opacity:0;pointer-events:none;position:absolute}.style-row:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px}.style-row.on{border-color:var(--accent-border);background:var(--accent-soft)}.style-row.on .switch{background:var(--accent)}.style-row.on .switch:after{transform:translate(14px)}.style-pop .btn{align-self:flex-start}.style-pop .btn:disabled{opacity:.4;cursor:default}.groups-modal{flex-direction:column;gap:12px;width:min(720px,100%);display:flex}.groups-modal>p{margin:0}.groups-cols{grid-template-columns:220px 1fr;gap:12px;min-height:280px;display:grid}.groups-list,.group-detail{flex-direction:column;gap:4px;min-width:0;display:flex}.group-item{text-align:left;border-radius:var(--radius-sm);background:0 0;border:1px solid #0000;flex-direction:column;gap:1px;padding:7px 10px;display:flex}.group-item:hover{background:var(--hover)}.group-item.active{background:var(--accent-soft);border-color:var(--accent-border);color:var(--accent-text)}.group-item strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-new,.group-rename{align-items:center;gap:6px;display:flex}.group-new{margin-top:auto;padding-top:8px}.group-rename{margin-bottom:6px}.groups-modal input:not([type=checkbox]){border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field);flex:1;min-width:0;height:30px;padding:0 10px}.groups-modal input:not([type=checkbox]):focus{border-color:var(--accent-border);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.group-detail .panel-label{margin-top:2px}.member-list{gap:2px;max-height:46vh;display:grid;overflow-y:auto}.member{border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:10px;padding:6px 10px;display:flex}.member.static{cursor:default;border:1px solid var(--card-border);justify-content:space-between}.member:not(.static):hover{background:var(--hover)}.member.on{background:var(--accent-soft)}.member>span{flex-direction:column;gap:1px;min-width:0;display:flex}.member input,.admin-toggle input{accent-color:var(--accent);flex:none;width:15px;height:15px}.admin-toggle{color:var(--text-dim);white-space:nowrap;cursor:pointer;align-items:center;gap:6px;display:flex}.user-groups{flex-wrap:wrap;gap:4px;margin-top:3px;display:flex}.profile-modal>.btn{align-self:flex-start}@media (width<=640px){.groups-cols{grid-template-columns:1fr}}.editor.presenting .toolbar,.editor.presenting .panel,.editor.presenting .zoom,.editor.presenting .toggle,.editor.presenting .cursors,.editor.presenting .remote-tag{display:none!important}.editor.presenting .node.remote:after{display:none}.editor.presenting .canvas{cursor:pointer;background-image:none}.editor.presenting .world{transition:transform .9s cubic-bezier(.45,.05,.2,1)}.editor.presenting .node{cursor:pointer;transition:opacity .5s,transform .18s cubic-bezier(.2,.7,.3,1)}.editor.presenting .node.dim{opacity:.14}.editor.presenting .links path{transition:opacity .5s}.present-bar{z-index:50;border-radius:var(--radius-lg);background:var(--card);border:1px solid var(--card-border);max-width:calc(100% - 32px);box-shadow:var(--shadow);opacity:.4;cursor:default;align-items:center;gap:4px;padding:4px;transition:opacity .2s;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.present-bar:hover,.present-bar:focus-within{opacity:1}.present-bar button{border-radius:var(--radius-sm);width:30px;height:30px;color:var(--icon);background:0 0;border:0;flex:none;place-items:center;display:grid}.present-bar button:hover:not(:disabled){background:var(--hover);color:var(--text)}.present-bar button:disabled{opacity:.3;cursor:default}.present-bar .flip svg{transform:scaleX(-1)}.present-title{text-overflow:ellipsis;white-space:nowrap;padding:0 6px;font-weight:600;overflow:hidden}.present-count{font:11px var(--mono);color:var(--text-dim);white-space:nowrap;padding:0 6px}@media (prefers-reduced-motion:reduce){.editor.presenting .world,.editor.presenting .node,.editor.presenting .links path{transition:none}}.links .xlink{pointer-events:auto;cursor:pointer}.links .xlink .hit{stroke:#0000;stroke-width:14px;pointer-events:stroke}.links .xlink .line{stroke:var(--text-dim);stroke-width:1.6px;stroke-dasharray:5 5}.links .xlink .head{stroke:var(--text-dim);stroke-width:1.6px;stroke-linejoin:round}.links .xlink.guarded .line,.links .xlink.guarded .head{stroke:var(--accent)}.links .xlink:hover .line,.links .xlink:hover .head{stroke-width:2.4px}.badge.guard{color:inherit;opacity:.85;background:0 0;border:0;padding:0}.badge.far{border:1px solid var(--card-border);background:var(--card);max-width:150px;height:20px;color:var(--text-dim);border-radius:10px;align-items:center;gap:3px;padding:0 6px;font-size:11px;font-weight:500;display:inline-flex}.badge.far span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.badge.far:hover{color:var(--text);border-color:var(--accent-border)}.node.ro .text{cursor:default}.canvas.picking,.canvas.picking .node{cursor:crosshair!important}.canvas.picking .node:hover{outline:2px dashed var(--accent);outline-offset:4px}.links-modal{flex-direction:column;gap:10px;display:flex}.links-modal .empty,.links-modal .hint{color:var(--text-dim);margin:0;font-size:12px}.links-modal .modal-actions{flex-wrap:wrap;justify-content:flex-start;margin-top:6px}.link-item{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--field);flex-direction:column;gap:8px;padding:10px;display:flex}.link-line{align-items:center;gap:8px;display:flex}.link-line .dir{color:var(--text-dim);font:13px var(--mono)}.link-goto{min-width:0;color:var(--text);text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;padding:2px 0;font-weight:600;display:flex}.link-goto span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.link-goto:hover{color:var(--accent)}.link-perms{flex-direction:column;gap:6px;display:flex}.link-perms label{justify-content:space-between;align-items:center;gap:10px;display:flex}.links-modal select{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--card);height:30px;color:var(--text);padding:0 8px}.pick-outline{border:1px solid var(--card-border);border-radius:var(--radius);max-height:50vh;padding:4px;overflow:auto}.pick-outline .empty{padding:10px}.pick-node{width:100%;color:var(--text);text-align:left;border-radius:var(--radius-sm);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;padding:5px 10px;display:block;overflow:hidden}.pick-node:hover{background:var(--hover)}.badge.docs{color:inherit;background:0 0;border:0;align-items:center;gap:2px;padding:0;font-size:11px;font-weight:600;display:inline-flex}.doc-card{z-index:60;background:var(--card);border:1px solid var(--card-border);border-radius:var(--radius-lg);width:min(680px,100vw - 16px);box-shadow:var(--shadow-lg);visibility:hidden;flex-direction:column;transition:transform .28s cubic-bezier(.2,.7,.3,1),visibility 0s .28s;display:flex;position:fixed;top:52px;bottom:8px;right:8px;overflow:hidden;transform:translate(calc(100% + 24px))}.doc-card.open{visibility:visible;transition:transform .28s cubic-bezier(.2,.7,.3,1);transform:none}.doc-head{align-items:center;gap:4px;padding:8px 8px 4px 16px;display:flex}.doc-of{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:600;overflow:hidden}.doc-tabs{border-bottom:1px solid var(--separator);flex:none;gap:4px;padding:4px 12px 8px;display:flex;overflow-x:auto}.doc-tab{border-radius:var(--radius-sm);max-width:180px;height:28px;color:var(--text-dim);background:0 0;border:1px solid #0000;flex:none;align-items:center;gap:5px;padding:0 10px;display:inline-flex}.doc-tab span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.doc-tab:hover{background:var(--hover);color:var(--text)}.doc-tab.active{background:var(--field);border-color:var(--field-border);color:var(--text);font-weight:600}.doc-tab.add{padding:0 9px;font-size:16px}.doc-bar{align-items:center;gap:4px;padding:8px 8px 0 16px;display:flex}.doc-bar[hidden]{display:none}.doc-title{min-width:0;height:32px;color:var(--text);background:0 0;border:0;outline:none;flex:1;padding:0;font-size:18px;font-weight:700}.doc-state{color:var(--text-dim);white-space:nowrap;padding:0 6px;font-size:11px}.doc-card.readonly [data-d=import],.doc-card.readonly [data-d=delete]{display:none}.doc-body{flex:1;min-height:0;overflow:auto}.doc-empty{color:var(--text-dim);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:64px 24px;display:flex}.doc-editor{min-height:100%}.doc-card .milkdown{--crepe-color-background:var(--card);--crepe-color-on-background:var(--text);--crepe-color-surface:var(--card);--crepe-color-surface-low:var(--field);--crepe-color-on-surface:var(--text);--crepe-color-on-surface-variant:var(--text-dim);--crepe-color-outline:var(--text-dim);--crepe-color-primary:var(--accent);--crepe-color-secondary:var(--pressed);--crepe-color-on-secondary:var(--text);--crepe-color-inverse:var(--text);--crepe-color-on-inverse:var(--card);--crepe-color-inline-code:var(--accent);--crepe-color-error:#e5484d;--crepe-color-hover:var(--hover);--crepe-color-selected:var(--pressed);--crepe-color-inline-area:var(--field);--crepe-base-font-size:15px;--crepe-font-title:inherit;--crepe-font-default:inherit;--crepe-font-code:var(--mono);--crepe-shadow-1:var(--shadow);--crepe-shadow-2:var(--shadow-lg);font-family:inherit}.doc-card .milkdown .ProseMirror{padding:12px 24px 80px}@media (prefers-reduced-motion:reduce){.doc-card,.doc-card.open{transition:none}}.profile-api{border-top:1px solid var(--separator);flex-direction:column;gap:8px;padding-top:12px;display:flex}.profile-api p{margin:0}.profile-api a{color:var(--accent)}.token,.token-new,.token-value{align-items:center;gap:8px;display:flex}.token .grow{flex-direction:column;flex:1;min-width:0;display:flex}.token-new input{border:1px solid var(--field-border);border-radius:var(--radius-sm);background:var(--field);min-width:0;height:30px;color:var(--text);flex:1;padding:0 10px}.token-fresh{border:1px solid var(--accent-border);border-radius:var(--radius);background:var(--accent-soft);padding:10px}.token-fresh p{margin:0 0 6px}.token-value code{overflow-wrap:anywhere;min-width:0;font:12px var(--mono);-webkit-user-select:all;user-select:all;flex:1}.profile-api code.mcp-url{font:12px var(--mono);-webkit-user-select:all;user-select:all;color:var(--text)}.profile-api .panel-label{margin-top:6px}@font-face{font-family:Excalifont;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/excalifont/Excalifont-Regular-a88b72a24fb54c9f94e3b5fdaa7481c9.woff2)format("woff2");unicode-range:U+20-7E,U+A0-A3,U+A5-A6,U+A8-AB,U+AD-B1,U+B4,U+B6-B8,U+BA-FF,U+131,U+152-153,U+2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+2013-2014,U+2018-201A,U+201C-201E,U+2020,U+2022,U+2024-2026,U+2030,U+2039-203A,U+20AC,U+2122,U+2212}@font-face{font-family:Excalifont;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/excalifont/Excalifont-Regular-be310b9bcd4f1a43f571c46df7809174.woff2)format("woff2");unicode-range:U+100-130,U+132-137,U+139-149,U+14C-151,U+154-17E,U+192,U+1FC-1FF,U+218-21B,U+237,U+1E80-1E85,U+1EF2-1EF3,U+2113}@font-face{font-family:Excalifont;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/excalifont/Excalifont-Regular-b9dcf9d2e50a1eaf42fc664b50a3fd0d.woff2)format("woff2");unicode-range:U+400-45F,U+490-491,U+2116}@font-face{font-family:Excalifont;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/excalifont/Excalifont-Regular-41b173a47b57366892116a575a43e2b6.woff2)format("woff2");unicode-range:U+37E,U+384-38A,U+38C,U+38E-393,U+395-3A1,U+3A3-3A8,U+3AA-3CF,U+3D7}@font-face{font-family:Excalifont;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/excalifont/Excalifont-Regular-3f2c5db56cc93c5a6873b1361d730c16.woff2)format("woff2");unicode-range:U+2C7,U+2D8-2D9,U+2DB,U+2DD,U+302,U+306-307,U+30A-30C,U+326-328,U+212E,U+2211,U+FB01-FB02}@font-face{font-family:Excalifont;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/excalifont/Excalifont-Regular-349fac6ca4700ffec595a7150a0d1e1d.woff2)format("woff2");unicode-range:U+462-463,U+472-475,U+4D8-4D9,U+4E2-4E3,U+4E6-4E9,U+4EE-4EF}@font-face{font-family:Excalifont;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/excalifont/Excalifont-Regular-623ccf21b21ef6b3a0d87738f77eb071.woff2)format("woff2");unicode-range:U+300-301,U+303}.canvas.look-sketch{--canvas:#121212;background-image:none}:root[data-theme=light] .canvas.look-sketch{--canvas:#fff}.look-sketch .node{font-family:Excalifont,Segoe Print,Bradley Hand,cursive;font-weight:400}.look-sketch .node.lvl-0{background:var(--canvas);color:var(--text);box-shadow:none;font-size:26px;font-weight:400}.look-sketch .node.lvl-1{background:var(--canvas);color:var(--text);box-shadow:none;font-size:19px;font-weight:400}.look-sketch .node.lvl-2{border-bottom-color:#0000;padding-bottom:6px;font-size:17px}.look-sketch .node.lvl-0.has-submap,.look-sketch .node.lvl-1.has-submap,.look-sketch .node.ghost{box-shadow:none}.node>.sk{z-index:-1;pointer-events:none;position:absolute;overflow:visible}.look-sketch .links .xlink .line{stroke-width:1.8px;stroke-dasharray:8 7;stroke-linecap:round}.look-sketch .links .xlink .head{stroke-width:1.8px;stroke-linecap:round}.look-sketch .links .xlink:hover .line,.look-sketch .links .xlink:hover .head{stroke-width:2.6px}.sk path,.links .rough path{fill:none;stroke-linecap:round;stroke-linejoin:round}.sk path.f{opacity:.4}.looks{grid-template-columns:1fr 1fr;gap:6px;display:grid}.look{border:1px solid var(--card-border);border-radius:var(--radius);color:var(--text-dim);background:0 0;flex-direction:column;align-items:center;gap:4px;padding:8px 4px 6px;font-size:12px;display:flex}.look:hover{background:var(--hover);color:var(--text)}.look.active{border-color:var(--accent);color:var(--text);background:var(--accent-soft)}.modal-backdrop.top{place-items:start center;padding-top:12vh}.search-dlg{flex-direction:column;width:min(640px,100%);max-height:70vh;padding:0;display:flex;overflow:hidden}.search-bar{border-bottom:1px solid var(--card-border);color:var(--text-dim);align-items:center;gap:10px;padding:12px 14px;display:flex}.search-bar input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-size:15px}.search-bar input::-webkit-search-cancel-button{display:none}.search-bar .seg button{white-space:nowrap;padding:0 8px}.search-list{min-height:64px;padding:6px;overflow:auto}.search-hint{color:var(--text-dim);padding:16px 10px;font-size:12.5px}.search-more{margin:8px auto 4px;display:block}.search-foot{border-top:1px solid var(--card-border);color:var(--text-dim);gap:16px;padding:8px 14px;font-size:11px;display:flex}.search-foot kbd{margin-right:3px}.hit{border-radius:var(--radius-sm);color:var(--text);gap:10px;padding:8px 10px;text-decoration:none;display:flex}.hit:hover,.hit.active{background:var(--hover)}.hit.active{box-shadow:inset 2px 0 0 var(--accent)}.hit-ic{color:var(--text-dim);flex:none;margin-top:2px}.hit-main{flex:1;min-width:0}.hit-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.hit-at{color:var(--text-dim);font-weight:400}.hit-ex{color:var(--text-dim);-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;margin-top:2px;font-size:12.5px;display:-webkit-box;overflow:hidden}.hit-meta{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.hit mark{background:var(--accent-soft);color:inherit;box-shadow:inset 0 -1px 0 var(--accent);border-radius:3px;padding:0 1px}.dash-hits{margin-top:28px}.dash-hits h2{margin:0 0 8px;font-size:13px;font-weight:600}.dash-hits .hit-list{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--card);padding:6px}.dash-hits .muted{padding:10px}
