:root{--color-paper: oklch(100% 0 0);--color-chrome: oklch(96% .002 250);--color-chrome-2: oklch(93% .003 250);--color-ink: oklch(22% .01 250);--color-ink-2: oklch(42% .01 250);--color-ink-3: oklch(56% .008 250);--color-ink-inverse: oklch(100% 0 0);--color-accent: oklch(54% .15 250);--color-accent-hover: oklch(48% .15 250);--color-accent-active: oklch(43% .14 250);--color-focus: oklch(54% .15 250);--color-select: oklch(92% .035 245);--color-select-border: oklch(80% .08 245);--color-success: oklch(50% .13 150);--color-error: oklch(50% .19 28);--color-error-bg: oklch(96% .02 28);--color-disabled: oklch(60% .01 250);--color-line: oklch(89% .004 250);--color-line-2: oklch(80% .006 250);--font-body: "Segoe UI", -apple-system, "Helvetica Neue", sans-serif;--font-mono: Consolas, "IBM Plex Mono", ui-monospace, monospace;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .8125rem;--text-md: .875rem;--text-lg: 1rem;--space-2xs: .25rem;--space-xs: .5rem;--space-sm: .75rem;--space-md: 1rem;--space-lg: 1.5rem;--radius-sm: .125rem;--radius-md: .25rem;--rule: 1px solid var(--color-line);--shadow-modal: 0 12px 40px oklch(22% .01 250 / .3);--dur-fast: .1s;--dur-base: .16s;--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-ink);background:var(--color-chrome)}#root{display:flex;flex-direction:column;height:100dvh}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-focus);outline-offset:1px}.consolebar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-paper);border-bottom:var(--rule)}.consolebar__icon{width:1.125rem;height:1.125rem;flex-shrink:0}.consolebar__title{font-size:var(--text-base);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.menubar{display:flex;gap:var(--space-2xs);padding:0 var(--space-2xs);background:var(--color-paper);border-bottom:var(--rule)}.menubar__item{border:0;background:none;padding:var(--space-2xs) var(--space-xs);font-size:var(--text-sm);color:var(--color-ink-2);cursor:default}.menubar__item:hover{background:var(--color-chrome)}.toolbar{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-paper);border-bottom:var(--rule);flex-wrap:wrap}.toolbar__spacer{flex:1}.toolbar__search{width:14rem;max-width:100%;height:1.75rem;padding:0 var(--space-xs);border:1px solid var(--color-line-2);border-radius:var(--radius-sm);background:var(--color-paper)}.btn{display:inline-flex;align-items:center;gap:var(--space-2xs);height:1.75rem;padding:0 var(--space-sm);border-radius:var(--radius-sm);border:1px solid var(--color-line-2);background:var(--color-paper);font-size:var(--text-sm);cursor:pointer;white-space:nowrap;transition:background-color var(--dur-fast) var(--ease-out)}.btn:hover{background:var(--color-chrome)}.btn:active{transform:translateY(1px)}.btn--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-ink-inverse);font-weight:600}.btn--primary:hover{background:var(--color-accent-hover)}.btn--primary:active{background:var(--color-accent-active)}.btn--danger{color:var(--color-error);border-color:var(--color-error)}.btn--danger:hover{background:var(--color-error-bg)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.split{display:flex;flex:1;min-height:0}.tree{width:14rem;flex-shrink:0;background:var(--color-paper);border-right:var(--rule);overflow-y:auto;padding:var(--space-xs) 0}.tree__node{display:flex;align-items:center;gap:var(--space-2xs);width:100%;border:0;background:none;padding:var(--space-2xs) var(--space-xs);text-align:left;cursor:pointer;white-space:nowrap;font-size:var(--text-base)}.tree__node:hover{background:var(--color-chrome)}.tree__node.is-selected{background:var(--color-select);outline:1px solid var(--color-select-border);outline-offset:-1px}.tree__node--child{padding-left:var(--space-lg)}.tree__icon{width:1rem;height:1rem;flex-shrink:0}@media(max-width:768px){.tree{width:3rem}.tree__label{display:none}.tree__node--child{padding-left:var(--space-sm)}}.listpane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--color-paper)}.listpane__scroll{flex:1;min-height:0;overflow:auto}.objtable{width:100%;border-collapse:collapse;font-size:var(--text-base)}.objtable th{position:sticky;top:0;background:var(--color-paper);text-align:left;font-weight:600;font-size:var(--text-sm);color:var(--color-ink-2);padding:var(--space-2xs) var(--space-xs);border-bottom:1px solid var(--color-line-2);border-right:var(--rule);white-space:nowrap}.objtable td{padding:var(--space-2xs) var(--space-xs);border-bottom:var(--rule);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:18rem}.objtable tbody tr{cursor:default}.objtable tbody tr:hover{background:var(--color-chrome)}.objtable tbody tr.is-selected{background:var(--color-select)}.objtable tbody tr:focus-visible{outline:2px solid var(--color-focus);outline-offset:-2px}.objtable__name{display:flex;align-items:center;gap:var(--space-xs)}.objtable__name svg{width:1rem;height:1rem;flex-shrink:0}.mono{font-family:var(--font-mono);font-size:var(--text-sm)}.muted{color:var(--color-ink-3)}.pill{display:inline-block;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-md);padding:1px var(--space-xs);white-space:nowrap}.pill--enabled{color:var(--color-success);background:#e1f5e4}.pill--disabled{color:var(--color-disabled);background:var(--color-chrome-2)}.pill--api{color:var(--color-accent);background:var(--color-select)}.listpane__empty{padding:var(--space-lg);color:var(--color-ink-3);text-align:center}.statusbar{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-2xs) var(--space-sm);background:var(--color-chrome);border-top:var(--rule);font-size:var(--text-xs);color:var(--color-ink-2)}.statusbar__dot{display:inline-block;width:.5rem;height:.5rem;border-radius:999px;background:var(--color-success);margin-right:var(--space-2xs)}.statusbar__dot.is-offline{background:var(--color-error)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#171b1f66;display:flex;align-items:flex-start;justify-content:center;padding:var(--space-lg) var(--space-md);overflow-y:auto;z-index:10}.modal{background:var(--color-paper);border:1px solid var(--color-line-2);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);width:100%;max-width:30rem;animation:modal-in var(--dur-base) var(--ease-out)}@keyframes modal-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.modal__head{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);border-bottom:var(--rule);background:var(--color-chrome)}.modal__head h2{margin:0;font-size:var(--text-base);font-weight:600;flex:1;min-width:0;overflow-wrap:anywhere}.modal__close{border:0;background:none;cursor:pointer;color:var(--color-ink-3);font-size:var(--text-lg);line-height:1;padding:var(--space-2xs);border-radius:var(--radius-sm)}.modal__close:hover{color:var(--color-ink);background:var(--color-chrome-2)}.modal__body{padding:var(--space-sm) var(--space-md);max-height:65dvh;overflow-y:auto}.modal__foot{display:flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-md);border-top:var(--rule)}.modal__foot-spacer{flex:1}.formgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xs) var(--space-md)}@media(max-width:480px){.formgrid{grid-template-columns:1fr}}.field{display:flex;flex-direction:column;gap:2px;min-width:0}.field--full{grid-column:1 / -1}.field label{font-size:var(--text-xs);font-weight:600;color:var(--color-ink-2)}.field label .req{color:var(--color-error)}.field input,.field select{width:100%;height:1.75rem;border:1px solid var(--color-line-2);border-radius:var(--radius-sm);padding:0 var(--space-xs);background:var(--color-paper)}.field.has-error input{border-color:var(--color-error);background:var(--color-error-bg)}.field__error{font-size:var(--text-xs);color:var(--color-error)}.checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2xs) var(--space-md)}.checkgrid label{display:flex;align-items:center;gap:var(--space-2xs);font-size:var(--text-sm);color:var(--color-ink);font-weight:400}.preview-line{background:var(--color-chrome);border:var(--rule);border-radius:var(--radius-sm);padding:var(--space-2xs) var(--space-xs);font-size:var(--text-sm)}.preview-line code{font-family:var(--font-mono)}.chips{display:flex;flex-wrap:wrap;gap:var(--space-2xs)}.chip{font-size:var(--text-xs);font-family:var(--font-mono);background:var(--color-chrome);border:var(--rule);border-radius:var(--radius-md);padding:1px var(--space-xs)}.toast{position:fixed;bottom:var(--space-lg);left:50%;transform:translate(-50%);background:var(--color-ink);color:var(--color-ink-inverse);border-radius:var(--radius-md);padding:var(--space-xs) var(--space-md);font-size:var(--text-base);box-shadow:var(--shadow-modal);animation:modal-in var(--dur-base) var(--ease-out);z-index:20}.toast strong{font-family:var(--font-mono);font-weight:600;color:#8cc3fc}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;transition-duration:1ms!important}}
