:root{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--bg:#f6f7f9;--bg-raised:#fff;--bg-sunken:#eceef2;--bg-input:#fff;--border:#d8dce3;--border-strong:#b9c0cb;--text:#1b2027;--text-dim:#5c6673;--text-faint:#8b95a3;--accent:#6d3fd4;--accent-text:#fff;--accent-soft:#efe8ff;--danger:#c0392b;--danger-soft:#fdecea;--warn:#a86400;--warn-soft:#fdf3e0;--ok:#1f7a4d;--syn-comment:#7c8794;--syn-string:#1f7a4d;--syn-number:#a35b00;--syn-keyword:#9b2fa8;--syn-cmdlet:#2a5db0;--syn-builtin:#0f7c74;--syn-variable:#b1600a;--syn-field:#3f3aa8;--syn-punct:#6b7480;--syn-format:#b1600a;--syn-key:#2a5db0;--radius:7px;--radius-sm:5px;--mono:ui-monospace,"SFMono-Regular","JetBrains Mono","Fira Code",Menlo,Consolas,monospace;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",sans-serif;--code-size:13px;--code-line:1.55;--editor-width:44%;--query-height:55%}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--bg:#14161c;--bg-raised:#1b1e26;--bg-sunken:#101218;--bg-input:#171a21;--border:#2b303b;--border-strong:#3d4453;--text:#e4e7ee;--text-dim:#9aa4b4;--text-faint:#6d7686;--accent:#a887ff;--accent-text:#17121f;--accent-soft:#2a2140;--danger:#ff8a7a;--danger-soft:#3a1f1c;--warn:#e3b064;--warn-soft:#382c14;--ok:#6fd39b;--syn-comment:#6d7686;--syn-string:#8fd6a6;--syn-number:#e0b166;--syn-keyword:#d79be6;--syn-cmdlet:#7fb0ff;--syn-builtin:#59d9cd;--syn-variable:#f0b27a;--syn-field:#b3aef5;--syn-punct:#8d97a6;--syn-format:#f0b27a;--syn-key:#7fb0ff}}:root[data-theme=dark]{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--bg:#14161c;--bg-raised:#1b1e26;--bg-sunken:#101218;--bg-input:#171a21;--border:#2b303b;--border-strong:#3d4453;--text:#e4e7ee;--text-dim:#9aa4b4;--text-faint:#6d7686;--accent:#a887ff;--accent-text:#17121f;--accent-soft:#2a2140;--danger:#ff8a7a;--danger-soft:#3a1f1c;--warn:#e3b064;--warn-soft:#382c14;--ok:#6fd39b;--syn-comment:#6d7686;--syn-string:#8fd6a6;--syn-number:#e0b166;--syn-keyword:#d79be6;--syn-cmdlet:#7fb0ff;--syn-builtin:#59d9cd;--syn-variable:#f0b27a;--syn-field:#b3aef5;--syn-punct:#8d97a6;--syn-format:#f0b27a;--syn-key:#7fb0ff}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);overflow:hidden;font-size:14px;line-height:1.45}h1,h2,h3{margin:0;font-weight:600}code,pre,textarea,.mono{font-family:var(--mono)}kbd{font-family:var(--mono);border:1px solid var(--border-strong);background:var(--bg-sunken);color:var(--text-dim);border-bottom-width:2px;border-radius:4px;padding:1px 5px;font-size:11px}.hidden{display:none!important}.spacer{flex:auto}.app{display:grid;grid-template-rows:auto 1fr auto;height:100%}.topbar{display:flex;background:var(--bg-raised);border-bottom:1px solid var(--border);align-items: center;gap:14px;padding:8px 14px}.brand{display:flex;align-items:baseline;gap:8px}.wordmark{font-family:var(--mono);letter-spacing:-.02em;color:var(--accent);font-size:18px;font-weight:700}.tagline{color:var(--text-faint);font-size:12px}.topbar-actions{display:flex;flex-wrap:wrap;align-items: center;gap:8px;margin-left:auto}.sep{background:var(--border);width:1px;height:20px}.btn{font:inherit;display:inline-flex;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-raised);color:var(--text);cursor:pointer;white-space:nowrap;align-items: center;gap:6px;padding:5px 11px;font-size:13px}.btn:hover{border-color:var(--border-strong);background:var(--bg-sunken)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn.primary:hover{filter:brightness(1.08);background:var(--accent)}.btn.primary kbd{color:inherit;opacity:.7;background:0 0;border-color:currentColor}.btn.danger{color:var(--danger);border-color:var(--danger)}.btn.small{padding:3px 8px;font-size:12px}.btn.icon{justify-content:center;width:28px;padding:5px 0}.btn[disabled]{opacity:.5;cursor:not-allowed}.select,.search,input[type=number],input[type=text]{font:inherit;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-input);color:var(--text);padding:4px 8px;font-size:13px}.select.small{padding:2px 6px;font-size:12px}input[type=number]{width:5.5em}.search{flex:auto;min-width:8em}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.toggle{display:inline-flex;color:var(--text-dim);cursor:pointer;user-select:none;align-items: center;gap:5px;font-size:12px}.toggle input{accent-color:var(--accent);margin:0}.field{display:inline-flex;color:var(--text-dim);align-items: center;gap:5px;font-size:12px}.field .unit{color:var(--text-faint)}.chip{font:inherit;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);cursor:pointer;padding:3px 10px;font-size:12px}.group{display:inline-flex;align-items: center}.group .chip:first-child{border-radius:var(--radius-sm)0 0 var(--radius-sm)}.group .chip:last-of-type{border-radius:0 var(--radius-sm)var(--radius-sm)0}.group .chip+.chip{border-left:none}.chip:hover{background:var(--bg-sunken);color:var(--text)}.chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent);border-color:var(--accent);font-weight:600}.badge{background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:0 6px;font-size:11px}.badge.unavail{background:var(--bg-sunken);color:var(--text-faint);border:1px solid var(--border);font-weight:400}.hint{color:var(--text-faint);font-size:12px}.note{color:var(--text-dim);border-bottom:1px solid var(--border);margin:0;padding:8px 12px;font-size:12px}.workspace{display:grid;grid-template-columns:var(--editor-width)6px 1fr;overflow:hidden;min-height:0}.column{display:flex;overflow:hidden;flex-direction:column;min-width:0;min-height:0}.editors{display:grid;grid-template-rows:var(--query-height)6px 1fr;background:var(--bg)}.pane{display:flex;overflow:hidden;flex-direction:column;min-height:0}.pane-head{display:flex;border-bottom:1px solid var(--border);background:var(--bg-raised);align-items: center;gap:8px;padding:6px 12px}.pane-head h2{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-size:11px}.pane-actions{display:flex;align-items: center;gap:6px;margin-left:auto}.splitter{background:var(--border);position:relative}.splitter.vertical{cursor:col-resize}.splitter.horizontal{cursor:row-resize}.splitter:hover,.splitter.dragging{background:var(--accent)}.splitter:focus-visible{background:var(--accent)}.splitter.vertical:after{content:"";position:absolute;inset:0 -3px}.splitter.horizontal:after{content:"";position:absolute;inset:-3px 0}.error-line{font-family:var(--mono);color:var(--danger);background:var(--danger-soft);border-top:1px solid var(--border);white-space:pre-wrap;margin:0;padding:4px 12px;font-size:12px}.error-line:empty{display:none}.editor-host{position:relative;background:var(--bg-input);overflow:hidden;flex:auto;min-height:0}.editor{position:absolute;display:flex;overflow:hidden;inset:0}.editor-gutter{text-align:right;font-family:var(--mono);font-size:var(--code-size);line-height:var(--code-line);color:var(--text-faint);background:var(--bg-sunken);border-right:1px solid var(--border);user-select:none;overflow:hidden;white-space:pre;flex:none;padding:8px 6px 8px 10px}.editor-scroll{position:relative;overflow:auto;flex:auto}.editor-highlight,.editor-input{font-family:var(--mono);font-size:var(--code-size);line-height:var(--code-line);white-space:pre-wrap;overflow-wrap:break-word;word-break:break-word;tab-size:2;border:0;min-height:100%;margin:0;padding:8px 12px}.editor-highlight{position:absolute;pointer-events:none;color:var(--text);inset:0}.editor-input{position:relative;display:block;resize:none;color:#0000;caret-color:var(--accent);outline:none;overflow:hidden;background:0 0;width:100%;height:100%}.editor-input::selection{background:color-mix(in srgb,var(--accent)35%,transparent)}.editor-mirror{position:absolute;visibility:hidden;pointer-events:none;top:0;left:0}.t-comment{color:var(--syn-comment);font-style:italic}.t-string{color:var(--syn-string)}.t-number{color:var(--syn-number)}.t-keyword{color:var(--syn-keyword);font-weight:600}.t-cmdlet{color:var(--syn-cmdlet);font-weight:600}.t-builtin{color:var(--syn-builtin)}.t-variable{color:var(--syn-variable)}.t-field{color:var(--syn-field)}.t-format{color:var(--syn-format)}.t-punct{color:var(--syn-punct)}.t-key{color:var(--syn-key)}.t-literal{color:var(--syn-keyword)}.t-error{text-decoration:underline wavy var(--danger);text-underline-offset:3px;background:var(--danger-soft);border-radius:2px}.completions{position:absolute;z-index:40;overflow-y:auto;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);min-width:260px;max-width:420px;max-height:260px;padding:4px;box-shadow:0 12px 32px #00000047}.completion{display:flex;border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;gap:1px;padding:4px 8px}.completion[aria-selected=true]{background:var(--accent-soft)}.completion-name{font-family:var(--mono);color:var(--text);font-size:12px}.completion-name .kind{float:right;font-family:var(--sans);text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px}.completion-desc{color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.args{border-top:1px solid var(--border);background:var(--bg-raised);overflow-y:auto;max-height:40%;padding:6px 12px 10px}.args>summary{cursor:pointer;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);font-size:11px}.args .hint{display:block;margin:6px 0}.args-list{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}.arg-row{display:flex;align-items: center;gap:6px}.arg-row input[type=text]{font-family:var(--mono);font-size:12px}.arg-row .arg-name{flex:none;width:8em}.arg-row .arg-value{flex:auto;min-width:0}.arg-row .arg-error{border-color:var(--danger)}.tabs{display:flex;background:var(--bg-raised);border-bottom:1px solid var(--border);gap:2px;padding:6px 10px 0}.tab{font:inherit;border-radius:var(--radius)var(--radius)0 0;color:var(--text-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-bottom:none;padding:6px 12px;font-size:13px}.tab:hover{color:var(--text);background:var(--bg-sunken)}.tab[aria-selected=true]{background:var(--bg);border-color:var(--border);color:var(--text);margin-bottom:-1px;padding-bottom:7px;font-weight:600}.tab-panels{display:flex;flex:auto;min-height:0}.panel{display:flex;flex-direction:column;flex:auto;min-width:0;min-height:0}.panel-toolbar{display:flex;border-bottom:1px solid var(--border);background:var(--bg-raised);flex-wrap:wrap;align-items: center;gap:10px;padding:7px 12px}.banner{font-size:12px;font-family:var(--mono);white-space:pre-wrap;border-bottom:1px solid var(--border);margin:0;padding:6px 12px}.banner.error{background:var(--danger-soft);color:var(--danger)}.banner.warn{background:var(--warn-soft);color:var(--warn)}.output{overflow:auto;font-family:var(--mono);font-size:var(--code-size);line-height:var(--code-line);flex:auto;min-height:0;padding:6px 0}.output:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.result{display:flex;align-items: flex-start;gap:10px;padding:2px 12px}.result:nth-child(2n){background:color-mix(in srgb,var(--bg-sunken)55%,transparent)}.result-index{text-align:right;color:var(--text-faint);user-select:none;flex:none;min-width:2.5em;padding-top:2px;font-size:11px}.result-value{white-space:pre-wrap;overflow-wrap:anywhere;flex:auto;margin:0}.output .placeholder,.diagram-stage .placeholder{color:var(--text-faint);font-family:var(--sans);margin:0;padding:14px;font-size:13px}.more-results{display:block;margin:8px 12px}.diagram-stage{position:relative;overflow:hidden;background:var(--bg-sunken);cursor:grab;flex:auto;min-height:0}.diagram-stage.panning{cursor:grabbing}.diagram-canvas{position:absolute;transform-origin:0 0;top:0;left:0}.diagram-canvas svg{display:block}.zoom-level{color:var(--text-faint);text-align:right;min-width:3.5em;padding-left:6px;font-size:11px}.legend{display:flex;border-top:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);flex-wrap:wrap;gap:6px 14px;padding:8px 12px;font-size:11px}.legend-item{display:inline-flex;align-items: center;gap:6px}.legend-swatch{border:1px solid;border-radius:3px;width:14px;height:10px}.catalog,.examples,.history{overflow-y:auto;display:flex;flex-direction:column;flex:auto;gap:8px;min-height:0;padding:10px 12px}.category{text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-top:8px;font-size:11px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-raised);padding:8px 10px}.card-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.card-name{font-family:var(--mono);color:var(--syn-cmdlet);font-weight:600}.card-arity{color:var(--text-faint);font-size:11px}.card-aliases{color:var(--text-dim);font-size:11px;font-family:var(--mono)}.card-desc{color:var(--text-dim);margin:4px 0 0;font-size:12px}.card-actions{display:flex;gap:6px;margin-left:auto}.card-examples{display:flex;flex-direction:column;gap:4px;margin-top:6px}.example-line{display:flex;font-family:var(--mono);color:var(--text);background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;text-align:left;align-items: center;gap:8px;width:100%;padding:3px 8px;font-size:12px}.example-line:hover{border-color:var(--accent)}.card-title{font-weight:600}.card-meta{color:var(--text-faint);font-size:11px}.card-query{font-family:var(--mono);color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere;overflow:hidden;max-height:6em;margin:6px 0 0;font-size:12px}.empty-note{color:var(--text-faint);padding:10px 2px;font-size:13px}.statusbar{display:flex;color:var(--text-faint);background:var(--bg-raised);border-top:1px solid var(--border);align-items: center;gap:14px;padding:4px 14px;font-size:11px}.status-engine{display:inline-flex;align-items: center;gap:6px}.dot{background:var(--text-faint);border-radius:50%;width:8px;height:8px}.dot.loading{background:var(--warn);animation:1.1s ease-in-out infinite pulse}.dot.ready{background:var(--ok)}.dot.busy{background:var(--accent);animation:.8s ease-in-out infinite pulse}.dot.error{background:var(--danger)}@keyframes pulse{50%{opacity:.25}}.modal{position:fixed;z-index:60;display:flex;background:#0a0c1080;justify-content:center;align-items: flex-start;padding:10vh 16px 16px;inset:0}.modal-card{background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:var(--radius);overflow:hidden;width:min(680px,100%);box-shadow:0 24px 60px #00000059}.help-card{overflow-y:auto;max-height:75vh;padding:18px 20px}.help-card h3{margin-top:16px;font-size:13px}.help-card p{color:var(--text-dim);font-size:13px}.palette-input{border:none;border-bottom:1px solid var(--border);background:0 0;border-radius:0;width:100%;padding:12px 14px;font-size:15px}.palette-input:focus-visible{outline:none}.palette-list{list-style:none;overflow-y:auto;max-height:50vh;margin:0;padding:6px}.palette-item{display:flex;border-radius:var(--radius-sm);cursor:pointer;align-items: center;gap:10px;padding:7px 10px}.palette-item[aria-selected=true]{background:var(--accent-soft)}.palette-item .title{flex:auto}.palette-item .kind{text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);font-size:10px}.palette-item .detail{font-family:var(--mono);color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%;font-size:11px}.shortcuts{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:12px 0 0;font-size:13px}.shortcuts dt{text-align:right}.shortcuts dd{color:var(--text-dim);margin:0}.toast-stack{position:fixed;z-index:70;display:flex;flex-direction:column;align-items: flex-end;gap:8px;bottom:34px;right:16px}.toast{border-radius:var(--radius);background:var(--bg-raised);border:1px solid var(--border-strong);animation:.16s ease-out toast-in;padding:8px 14px;font-size:13px;box-shadow:0 8px 24px #00000040}.toast.error{border-color:var(--danger);color:var(--danger)}@keyframes toast-in{0%{opacity:0;transform:translateY(6px)}}@media (max-width:900px){.workspace{grid-template-columns:1fr;grid-template-rows:minmax(220px,45%)6px 1fr;overflow-y:auto}.splitter.vertical{cursor:row-resize}.tagline{display:none}.topbar{gap:8px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
