:root{--bg:#0a0b0d;--bg-grid:#14151a;--surface:#111216;--surface-2:#16171c;--elev:#1c1d23;--border:#24252b;--border-2:#34353c;--text:#e7e7ea;--muted:#8a8b92;--subtle:#5a5b62;--faint:#3a3b41;--accent:#4882fd;--accent-2:#2e5fd6;--accent-fg:#fff;--accent-hover:#6e9bff;--info:#a5b4fc;--warn:#fbbf24;--danger:#fb7185;--magenta:#e879f9;--pk:#fde047;--fk:#67e8f9;--nn:#7dd3fc;--uq:#e879f9;--shadow-1:0 1px 0 hsla(0,0%,100%,.04) inset,0 1px 2px rgba(0,0,0,.4);--shadow-2:0 10px 30px rgba(0,0,0,.5),0 2px 6px rgba(0,0,0,.4);--shadow-pop:0 24px 60px rgba(0,0,0,.6),0 4px 12px rgba(0,0,0,.5);--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--sans:"Geist","Geist Sans",ui-sans-serif,system-ui,-apple-system,sans-serif}[data-theme=light]{--bg:#f7f7f5;--bg-grid:#ececea;--surface:#fff;--surface-2:#f4f4f2;--elev:#fff;--border:#e4e4e1;--border-2:#cfcfcb;--text:#16171c;--muted:#6c6d72;--subtle:#95969b;--faint:#c8c8c5;--accent:#4882fd;--accent-2:#2e5fd6;--accent-fg:#fff;--accent-hover:#2e5fd6;--info:#6366f1;--warn:#d97706;--danger:#e11d48;--magenta:#c026d3;--pk:#d97706;--fk:#0891b2;--nn:#0ea5e9;--uq:#c026d3;--shadow-1:0 1px 0 #fff inset,0 1px 2px rgba(0,0,0,.06);--shadow-2:0 10px 30px hsla(0,0%,6%,.08),0 2px 6px hsla(0,0%,6%,.05);--shadow-pop:0 24px 60px hsla(0,0%,6%,.18),0 4px 12px hsla(0,0%,6%,.08)}*{box-sizing:border-box}body,html{height:100%}body{margin:0;font-family:var(--sans);background:var(--bg);color:var(--text);font-size:13px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}button{background:none;border:none;padding:0;cursor:pointer}button,input,select,textarea{font-family:inherit;color:inherit}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:8px;border:2px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:var(--subtle)}.app{display:grid;grid-template-rows:44px 1fr 22px;height:100vh}.topbar{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 12px;border-bottom:1px solid var(--border);background:var(--surface);position:relative;z-index:30}.topbar-left,.topbar-right{display:flex;align-items:center;gap:8px}.topbar-center{gap:6px}.logo,.topbar-center{display:flex;align-items:center}.logo{gap:7px;padding:4px 10px 4px 6px;border-right:1px solid var(--border);margin-right:4px;font-size:13px;letter-spacing:-.01em}.logo,.logo-mark{font-family:var(--mono)}.logo-mark{width:18px;height:18px;border-radius:4px;background:var(--accent);display:grid;place-items:center;color:var(--accent-fg);font-weight:700;font-size:11px;box-shadow:0 0 0 1px var(--accent-2),0 0 12px -2px var(--accent)}.logo-text{color:var(--text);font-weight:500}.crumb,.logo-text .dim{color:var(--muted)}.crumb{display:flex;align-items:center;gap:4px;font-family:var(--mono);font-size:12px}.crumb .sep{color:var(--faint)}.crumb .seg{padding:3px 7px;border-radius:var(--r-xs);cursor:pointer;color:var(--text)}.crumb .badge{font-size:10px;padding:1px 5px;border-radius:3px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);margin-left:4px}.crumb-btn{display:inline-flex;align-items:center;gap:5px;padding:3px 4px 3px 7px;border-radius:var(--r-xs);cursor:pointer;color:var(--text);background:transparent;border:1px solid transparent;font-family:var(--mono);font-size:12px;font-weight:400;max-width:200px}.crumb-btn:hover{background:var(--surface-2);border-color:var(--border)}.crumb-btn .chev{color:var(--subtle);display:inline-flex;margin-left:2px}.crumb-btn .icon-mark{width:14px;height:14px;border-radius:3px;display:grid;place-items:center;font-family:var(--mono);font-size:9px;font-weight:700;color:var(--accent-fg);flex:0 0 auto}.crumb-btn .truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.btn{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:var(--r-sm);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:12px;cursor:pointer;transition:background .12s,border-color .12s,transform .06s;white-space:nowrap}.btn:hover{background:var(--elev);border-color:var(--border-2)}.btn:active{transform:translateY(.5px)}.btn-icon{padding:0;width:28px;justify-content:center}.btn-primary{background:var(--accent);font-weight:600}.btn-primary,.btn-primary:hover{color:var(--accent-fg);border-color:var(--accent-2)}.btn-primary:hover{background:var(--accent-hover)}.btn-primary.upgrade-cta:hover{background:var(--accent-2);border-color:color-mix(in oklab,var(--accent-2) 65%,#000)}[data-theme=light] .btn-primary.upgrade-cta:hover{background:color-mix(in oklab,var(--accent-2) 80%,#000);border-color:color-mix(in oklab,var(--accent-2) 60%,#000)}.btn-primary .kbd{background:rgba(0,0,0,.18);color:var(--accent-fg)}[data-theme=light] .btn-primary .kbd{background:hsla(0,0%,100%,.22);color:var(--accent-fg)}.btn-sm{height:24px;padding:0 8px;font-size:11px}.btn .kbd{font-family:var(--mono);font-size:10px;padding:1px 4px;border-radius:3px;background:hsla(0,0%,100%,.06);color:var(--muted);margin-left:4px}[data-theme=light] .btn .kbd{background:rgba(0,0,0,.05)}.iconbtn{height:26px;width:26px;display:grid;place-items:center;border-radius:var(--r-xs);cursor:pointer;color:var(--muted);background:transparent;border:none}.iconbtn.active,.iconbtn:hover{background:var(--surface-2);color:var(--text)}.chip{display:inline-flex;align-items:center;gap:4px;font-family:var(--mono);font-size:10.5px;padding:2px 6px;border-radius:3px;background:var(--surface-2);color:var(--muted);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.04em}.chip-accent{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 40%,var(--border));background:color-mix(in oklab,var(--accent) 14%,var(--surface-2))}[data-theme=light] .chip-accent{color:#fff;background:var(--accent);border-color:var(--accent-2)}.avatar{width:22px;height:22px;border-radius:999px;display:grid;place-items:center;font-family:var(--mono);font-size:10px;font-weight:600;color:#0a0b0d;border:2px solid var(--surface);box-sizing:content-box;position:relative}.avatar-stack{display:flex}.avatar-stack .avatar+.avatar{margin-left:-7px}.avatar-dot{position:absolute;bottom:-1px;right:-1px;width:7px;height:7px;border-radius:999px;background:var(--accent);border:1.5px solid var(--surface)}.plan-pill{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-family:var(--mono);font-size:10.5px;letter-spacing:.04em;background:var(--surface-2);border:1px solid var(--border);color:var(--text);text-transform:uppercase;cursor:pointer}.plan-pill.team{color:var(--magenta);border-color:color-mix(in oklab,var(--magenta) 35%,var(--border));background:color-mix(in oklab,var(--magenta) 14%,var(--surface-2))}[data-theme=light] .plan-pill.team{color:#fff;background:var(--magenta);border-color:var(--magenta)}[data-theme=light] .plan-pill.pro{color:#fff;background:var(--accent);border-color:var(--accent-2)}[data-theme=light] .plan-pill.free{color:#fff;background:var(--info);border-color:color-mix(in oklab,var(--info) 60%,#000)}[data-theme=light] .plan-pill.enterprise{color:#fff;background:var(--warn);border-color:color-mix(in oklab,var(--warn) 60%,#000)}.editor{display:grid;grid-template-columns:340px 4px 1fr 4px 300px;height:100%;min-height:0;background:var(--bg)}.splitter{width:4px;cursor:col-resize;background:var(--border);position:relative;z-index:5;transition:background .12s}.splitter:active,.splitter:hover{background:var(--accent)}.splitter:after{content:"";position:absolute;top:0;bottom:0;left:-3px;right:-3px}.panel{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-height:0;position:relative}.panel.right{border-right:none;border-left:1px solid var(--border)}.panel-head{justify-content:space-between;height:32px;padding:0 10px 0 12px;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex:0 0 auto}.panel-head,.panel-head .title{display:flex;align-items:center}.panel-head .title{gap:8px}.panel-head .actions{display:flex;align-items:center;gap:2px}.panel-body{flex:1 1 auto;min-height:0;overflow:auto}.ddl-tabs{display:flex;border-bottom:1px solid var(--border);font-family:var(--mono);font-size:11px}.ddl-tab{padding:6px 12px;color:var(--muted);cursor:pointer;border-right:1px solid var(--border);position:relative}.ddl-tab.active{color:var(--text);background:var(--surface-2)}.ddl-tab.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:var(--accent)}.ddl-editor{position:relative;flex:1 1;min-height:0;display:grid;grid-template-columns:36px 1fr;font-family:var(--mono);font-size:12px;line-height:1.55;overflow:auto}.ddl-gutter{background:var(--surface);color:var(--faint);text-align:right;padding:10px 6px 10px 0;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid var(--border)}.ddl-gutter div{padding-right:4px}.ddl-code{padding:10px 12px;white-space:pre;color:var(--text);outline:none;caret-color:var(--accent)}.ddl-code .kw{color:var(--magenta)}.ddl-code .ty{color:var(--info)}.ddl-code .pk{color:var(--pk);font-weight:600}.ddl-code .fk{color:var(--fk)}.ddl-code .nn{color:var(--accent)}.ddl-code .str{color:var(--warn)}.ddl-code .com{color:var(--subtle);font-style:italic}.ddl-code .punct{color:var(--muted)}.ddl-code .tbl{color:var(--accent);font-weight:500}.ddl-syncbar{display:flex;align-items:center;gap:8px;padding:6px 10px;border-top:1px solid var(--border);font-family:var(--mono);font-size:10.5px;color:var(--muted);background:var(--surface)}.ddl-syncbar .dot{width:6px;height:6px;border-radius:999px;background:var(--accent);box-shadow:0 0 8px var(--accent)}.ddl-syncbar.dirty .dot{background:var(--warn);box-shadow:0 0 8px var(--warn)}.insp-section{border-bottom:1px solid var(--border);padding:10px 12px}.insp-label{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-bottom:6px}.insp-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 0;font-size:12px}.insp-row .k{color:var(--muted)}.insp-row .k,.insp-row .v{font-family:var(--mono);font-size:11px}.insp-row .v{color:var(--text)}.insp-input,.insp-select{width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-xs);padding:5px 8px;font-family:var(--mono);font-size:12px;color:var(--text);outline:none}.insp-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in oklab,var(--accent) 25%,transparent)}.toggle-row{justify-content:space-between;padding:5px 0}.toggle-row,.toggle-row .lbl{display:flex;align-items:center}.toggle-row .lbl{font-family:var(--mono);font-size:11px;color:var(--text);gap:6px}.switch{position:relative;width:28px;height:16px;border-radius:999px;background:var(--border-2);cursor:pointer;transition:background .15s;flex:0 0 auto}.switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:999px;background:var(--text);transition:transform .15s}.switch.on{background:var(--accent)}.switch.on:after{transform:translateX(12px);background:var(--accent-fg)}.canvas-wrap{position:relative;overflow:hidden;background:radial-gradient(circle at 1px 1px,var(--bg-grid) 1px,transparent 1px) 0 0/16px 16px,var(--bg)}.react-flow__renderer{background:transparent}.react-flow__background{background:transparent!important}.react-flow__attribution{display:none!important}.canvas-wrap.tool-select .react-flow__background,.canvas-wrap.tool-select .react-flow__pane,.canvas-wrap.tool-select .react-flow__renderer,.canvas-wrap.tool-select .react-flow__viewport{cursor:default!important}.canvas-wrap.tool-pan .react-flow__background,.canvas-wrap.tool-pan .react-flow__pane,.canvas-wrap.tool-pan .react-flow__renderer,.canvas-wrap.tool-pan .react-flow__viewport{cursor:-webkit-grab!important;cursor:grab!important}.canvas-wrap.tool-pan .react-flow__pane:active,.canvas-wrap.tool-pan .react-flow__renderer:active,.canvas-wrap.tool-pan .react-flow__viewport:active{cursor:-webkit-grabbing!important;cursor:grabbing!important}.canvas-wrap .react-flow__node{cursor:default}.canvas-wrap .tnode .thead{cursor:-webkit-grab;cursor:grab}.canvas-wrap .tnode .thead:active{cursor:-webkit-grabbing;cursor:grabbing}.canvas-wrap .tnode .trow{cursor:pointer}.canvas-wrap .react-flow__handle{cursor:crosshair!important}.react-flow__minimap{background:color-mix(in oklab,var(--surface) 85%,transparent)!important;border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;box-shadow:var(--shadow-1)}.react-flow__minimap-mask{fill:color-mix(in oklab,var(--bg) 70%,transparent)}.react-flow__controls{background:color-mix(in oklab,var(--surface) 85%,transparent);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);overflow:hidden}.react-flow__controls button{background:transparent;border-bottom:1px solid var(--border);color:var(--muted);width:30px;height:30px}.react-flow__controls button:hover{background:var(--surface-2);color:var(--text)}.react-flow__controls button svg{fill:currentColor}.react-flow__edge-path{stroke:var(--fk);stroke-width:1.5;opacity:.7;fill:none}.react-flow__edge.selected .react-flow__edge-path{stroke-width:2.5;opacity:1;filter:drop-shadow(0 0 6px var(--fk))}.react-flow__handle{width:12px;height:12px;background:var(--muted);border:2px solid var(--surface);border-radius:999px;opacity:.35;box-shadow:0 1px 2px rgba(0,0,0,.4);transition:background .12s,border-color .12s,opacity .12s,transform .12s,box-shadow .12s}.trow.selected .react-flow__handle,.trow:hover .react-flow__handle{background:var(--accent-2);opacity:1;box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 70%,transparent),0 1px 4px rgba(0,0,0,.55)}.react-flow__handle:hover{background:var(--accent);opacity:1;transform:translateY(-50%) scale(1.4);box-shadow:0 0 0 1px var(--accent),0 0 0 6px color-mix(in oklab,var(--accent) 30%,transparent),0 2px 6px rgba(0,0,0,.7)}.react-flow__handle.connected{background:var(--fk);opacity:1;box-shadow:0 0 0 1px var(--fk),0 1px 4px rgba(0,0,0,.6)}.react-flow__handle.connected:hover{box-shadow:0 0 0 1px var(--fk),0 0 0 6px color-mix(in oklab,var(--fk) 30%,transparent),0 2px 6px rgba(0,0,0,.7)}.react-flow__handle.connecting{background:var(--accent);transform:translateY(-50%) scale(1.4);box-shadow:0 0 0 1px var(--accent),0 0 0 7px color-mix(in oklab,var(--accent) 40%,transparent),0 2px 6px rgba(0,0,0,.7)}.react-flow__handle.valid{background:#10b981;transform:translateY(-50%) scale(1.4);box-shadow:0 0 0 1px #10b981,0 0 0 7px color-mix(in oklab,#10b981 40%,transparent),0 2px 6px rgba(0,0,0,.7)}.tnode{width:240px;background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);box-shadow:var(--shadow-1);font-family:var(--mono);font-size:11.5px;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:box-shadow .12s,border-color .12s;overflow:hidden}.tnode.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-2)}.tnode .thead{display:flex;align-items:center;justify-content:space-between;padding:7px 10px;background:linear-gradient(180deg,var(--surface-2),var(--surface));border-bottom:1px solid var(--border);cursor:-webkit-grab;cursor:grab}.tnode .thead:active{cursor:-webkit-grabbing;cursor:grabbing}.tnode .thead .tname{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text);font-weight:500}.tnode .thead .ticon{width:14px;height:14px;border-radius:3px;background:var(--accent);display:grid;place-items:center;color:var(--accent-fg);font-size:9px;font-weight:700}.tnode .thead .tmeta{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:10px}.tnode .thead .tclose{cursor:pointer;color:var(--subtle);width:14px;height:14px;display:grid;place-items:center;border-radius:3px}.tnode .thead .tclose:hover{background:var(--surface-2);color:var(--danger)}.tnode .trow{display:grid;grid-template-columns:16px 1fr auto 18px;align-items:center;grid-gap:6px;gap:6px;padding:4px 8px 4px 4px;border-bottom:1px solid color-mix(in oklab,var(--border) 60%,transparent);color:var(--text);position:relative;height:22px}.tnode .trow:last-child{border-bottom:none}.tnode .trow:hover{background:var(--surface-2)}.tnode .trow.selected{background:color-mix(in oklab,var(--accent) 12%,var(--surface))}.tnode .trow .keymark{width:16px;display:grid;place-items:center;font-size:9px;font-weight:700;font-family:var(--mono)}.tnode .trow .keymark.pk{color:var(--pk)}.tnode .trow .keymark.fk{color:var(--fk)}.tnode .trow .keymark.uq{color:var(--uq)}.tnode .trow .cname{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tnode .trow .ctype{color:var(--muted);font-size:10.5px}.tnode .trow .nn{color:var(--subtle);font-size:9.5px;font-weight:600}.tnode .tadd{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 8px;border-top:1px dashed var(--border);color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}.tnode .tadd:hover{background:var(--surface-2);color:var(--accent)}.canvas-toolbar{position:absolute;top:12px;left:12px;display:flex;gap:4px;background:color-mix(in oklab,var(--surface) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border);border-radius:var(--r-md);padding:3px;box-shadow:var(--shadow-1);z-index:5}.canvas-toolbar .iconbtn{height:28px;width:28px}.canvas-toolbar .sep{width:1px;background:var(--border);margin:4px 2px}.ai-drawer{position:fixed;top:44px;right:0;bottom:22px;width:380px;background:var(--surface);border-left:1px solid var(--border);display:flex;flex-direction:column;z-index:40;box-shadow:var(--shadow-2);transform:translateX(0);transition:transform .22s cubic-bezier(.22,.61,.36,1)}.ai-resize-handle{left:-3px;width:6px;cursor:col-resize;z-index:41}.ai-resize-handle,.ai-resize-handle:after{position:absolute;top:0;bottom:0;background:transparent}.ai-resize-handle:after{content:"";left:2px;width:2px;transition:background .12s}.ai-resize-handle.dragging:after,.ai-resize-handle:hover:after{background:var(--accent)}.ai-drawer.closed{transform:translateX(100%)}.ai-head{justify-content:space-between;height:36px;padding:0 8px 0 12px;border-bottom:1px solid var(--border)}.ai-head,.ai-title{display:flex;align-items:center}.ai-title{gap:8px;font-family:var(--mono);font-size:12px}.ai-body{flex:1 1;overflow:auto;padding:12px;display:flex;flex-direction:column;gap:10px}.ai-msg{font-size:12.5px;line-height:1.55}.ai-msg.user{align-self:flex-end;background:var(--surface-2);border:1px solid var(--border);padding:8px 10px;border-radius:10px 10px 2px 10px;max-width:80%}.ai-msg.bot{display:flex;gap:8px}.ai-msg.bot .av{flex:0 0 22px;width:22px;height:22px;border-radius:6px;background:var(--accent);color:var(--accent-fg);display:grid;place-items:center;font-family:var(--mono);font-size:11px;font-weight:700}.ai-msg.bot .bub{background:transparent;color:var(--text);flex:1 1}.ai-msg.bot .bub pre{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:8px 10px;font-family:var(--mono);font-size:11px;margin:6px 0;overflow:auto}.ai-actions{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}.ai-suggestion{padding:4px 8px;border-radius:4px;font-size:11px;background:var(--surface-2);border:1px solid var(--border);cursor:pointer;color:var(--muted);font-family:var(--mono)}.ai-suggestion:hover{background:var(--elev);color:var(--text)}.ai-meter{display:flex;align-items:center;gap:6px;font-family:var(--mono);font-size:10.5px;color:var(--muted);padding:6px 12px;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--surface)}.ai-meter .bar{flex:1 1;height:4px;background:var(--surface-2);border-radius:2px;overflow:hidden}.ai-meter .bar>div{height:100%;background:var(--accent)}.ai-foot{padding:8px;border-top:1px solid var(--border);display:flex;gap:6px}.ai-foot textarea{flex:1 1;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:8px 10px;font-family:var(--mono);font-size:12px;resize:none;height:60px;outline:none;color:var(--text)}.ai-foot textarea:focus{border-color:var(--accent)}.statusbar{height:22px;display:flex;align-items:center;border-top:1px solid var(--border);background:var(--surface);font-family:var(--mono);font-size:10.5px;color:var(--muted);padding:0 10px;gap:14px}.statusbar .sep{width:1px;height:12px;background:var(--border)}.statusbar .seg{display:flex;align-items:center;gap:5px}.statusbar .dot{width:6px;height:6px;border-radius:999px;background:var(--accent);box-shadow:0 0 6px var(--accent)}.mono{font-family:var(--mono)}.dim{color:var(--muted)}.row{align-items:center}.col,.row{display:flex;gap:8px}.col{flex-direction:column}.grow{flex:1 1}.view{display:grid;grid-template-columns:220px 1fr;height:100%}.nav,.view{min-height:0}.nav{background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:12px 8px;gap:1px;overflow:auto}.nav-section{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:14px 8px 6px}.nav a{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--r-xs);font-size:12.5px;color:var(--muted);cursor:pointer;text-decoration:none}.nav a.active,.nav a:hover{background:var(--surface-2);color:var(--text)}.nav a.active .ico{color:var(--accent)}.nav a .count{margin-left:auto;font-family:var(--mono);font-size:10px;color:var(--subtle);padding:1px 5px;border-radius:3px;background:var(--surface-2);border:1px solid var(--border)}.nav a.active .count{background:var(--elev)}.view-body{background:var(--bg);overflow:auto;min-height:0}.view-head{justify-content:space-between;padding:22px 28px 14px;border-bottom:1px solid var(--border);background:var(--bg);position:-webkit-sticky;position:sticky;top:0;z-index:2}.view-head,.view-head h1{display:flex;align-items:center}.view-head h1{margin:0;font-size:22px;font-weight:500;letter-spacing:-.01em;gap:10px}.view-head h1 .crumb-mono{font-family:var(--mono);font-size:11px;color:var(--muted);font-weight:400;padding:2px 6px;border-radius:3px;background:var(--surface-2);border:1px solid var(--border)}.view-head p{margin:4px 0 0;color:var(--muted);font-size:13px}.view-content{padding:18px 28px 28px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden}.card-head{padding:12px 14px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;font-family:var(--mono);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}.grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:14px;gap:14px}.project-section{margin-bottom:22px}.project-section+.project-section{padding-top:20px;border-top:1px solid var(--border)}.project-section-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}.project-section-head h2{font-size:13px;font-weight:600;color:var(--text);margin:0;letter-spacing:.02em}.project-section-head .count{font-size:11px;color:var(--muted);padding:2px 8px;border-radius:999px;background:var(--surface-2);border:1px solid var(--border)}.diagram-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);overflow:hidden;cursor:pointer;transition:border-color .12s,transform .12s}.diagram-card:hover{border-color:var(--border-2);transform:translateY(-1px)}.diagram-card .thumb{height:120px;background:radial-gradient(circle at 1px 1px,var(--bg-grid) 1px,transparent 1px) 0 0/12px 12px,var(--bg);position:relative;border-bottom:1px solid var(--border);overflow:hidden}.diagram-card .meta{padding:10px 12px}.diagram-card .name{font-size:13px;font-weight:500;color:var(--text)}.diagram-card .sub{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:10.5px;color:var(--muted);margin-top:4px}.tablerow{display:grid;grid-template-columns:28px 1fr 1fr 90px 90px 100px 24px;align-items:center;grid-gap:12px;gap:12px;padding:8px 14px;border-bottom:1px solid var(--border);font-size:12.5px}.tablerow:last-child{border-bottom:none}.tablerow:hover{background:var(--surface-2)}.tablerow .name{font-family:var(--mono);font-size:12px;color:var(--text)}.tablerow .sub{font-size:11px}.tablerow .sub,.tablerow.head{color:var(--muted);font-family:var(--mono)}.tablerow.head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;background:var(--surface-2)}.timeline{display:flex;flex-direction:column;position:relative;margin-left:12px}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:1px;background:var(--border)}.tl-item{display:grid;grid-template-columns:24px 1fr auto;align-items:center;grid-gap:12px;gap:12px;padding:8px 0;cursor:pointer}.tl-item .dot{width:14px;height:14px;border-radius:999px;background:var(--surface);border:2px solid var(--border-2);z-index:1}.tl-item.cur .dot{background:var(--accent);border-color:var(--accent-2);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 20%,transparent)}.tl-item .label{font-family:var(--mono);font-size:12px}.tl-item .meta{font-family:var(--mono);font-size:10.5px;color:var(--muted)}.tl-item:hover .label{color:var(--accent)}.diff{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--border);font-family:var(--mono);font-size:12px;background:var(--surface)}.diff>div{padding:0;min-height:280px}.diff .col-head{padding:8px 12px;border-bottom:1px solid var(--border);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);display:flex;justify-content:space-between;background:var(--surface-2)}.diff .col-head.l{border-right:1px solid var(--border)}.diff .ln{display:grid;grid-template-columns:32px 1fr;font-family:var(--mono);font-size:11.5px;min-height:18px}.diff .ln .n{color:var(--faint);text-align:right;padding-right:8px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.diff .ln .c{padding:0 10px;white-space:pre}.diff .ln.add{background:color-mix(in oklab,var(--accent) 14%,transparent)}.diff .ln.add .c{color:var(--accent)}.diff .ln.del{background:color-mix(in oklab,var(--danger) 14%,transparent)}.diff .ln.del .c{color:var(--danger)}.diff .ln.empty{background:color-mix(in oklab,var(--bg-grid) 60%,transparent)}.diff .left{border-right:1px solid var(--border)}.plans{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px}@media (max-width:1100px){.plans{grid-template-columns:repeat(2,1fr)}}.plan{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);padding:18px;display:flex;flex-direction:column;gap:12px;position:relative}.plan.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 20px 50px -20px color-mix(in oklab,var(--accent) 40%,transparent)}.plan.featured:after{content:"RECOMMENDED";position:absolute;top:-10px;left:18px;background:var(--accent);color:var(--accent-fg);font-family:var(--mono);font-size:9.5px;letter-spacing:.1em;padding:2px 6px;border-radius:3px;font-weight:700}.plan .pname{font-family:var(--mono);font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.plan .price{font-family:var(--mono);font-size:32px;letter-spacing:-.02em;display:flex;align-items:baseline;gap:4px}.plan .desc,.plan .price .per{font-size:12px;color:var(--muted)}.plan .desc{min-height:36px}.plan ul{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:6px}.plan ul li{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--text)}.plan ul li .ico{color:var(--accent);flex:0 0 14px;margin-top:2px}.plan ul li.dim,.plan ul li.dim .ico{color:var(--subtle)}.plan .cur-tag{position:absolute;top:14px;right:14px;font-family:var(--mono);font-size:9px;background:var(--surface-2);color:var(--muted);padding:2px 6px;border-radius:3px;border:1px solid var(--border);letter-spacing:.06em}.btn-lg{height:36px;padding:0 14px;font-size:13px}.btn-danger{background:transparent;color:var(--danger);border-color:var(--border)}.btn-danger:hover{background:rgba(244,63,94,.08);border-color:var(--danger)}.share-perm{display:flex;gap:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:3px;font-family:var(--mono);font-size:11px}.share-perm button{padding:4px 10px;border-radius:4px;background:transparent;border:none;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;gap:4px}.share-perm button.active{background:var(--surface);color:var(--text)}.upgrade-pill{display:inline-flex;align-items:center;gap:6px;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-fg);font-family:var(--mono);font-size:10.5px;font-weight:700;padding:4px 9px;border-radius:999px;cursor:pointer;letter-spacing:.02em;border:none;text-decoration:none}.upgrade-pill:hover{filter:brightness(1.08)}[data-theme=light] .upgrade-pill{color:#fff}.setting-section{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-md);margin-bottom:14px;overflow:hidden}.setting-section h4{margin:0;font-size:13px;font-weight:500;background:var(--surface-2);display:flex;gap:8px}.setting-row,.setting-section h4{padding:12px 16px;border-bottom:1px solid var(--border);align-items:center}.setting-row{display:grid;grid-template-columns:1fr auto;grid-gap:12px;gap:12px}.setting-row:last-child{border-bottom:none}.setting-row .lbl{font-size:12.5px}.setting-row .sub{font-size:11.5px;margin-top:2px}.plan-pill.guest,.setting-row .sub{color:var(--muted)}.plan-pill.free{color:var(--info);border-color:color-mix(in oklab,var(--info) 30%,var(--border));background:color-mix(in oklab,var(--info) 10%,var(--surface-2))}.plan-pill.pro{color:var(--accent);border-color:color-mix(in oklab,var(--accent) 30%,var(--border));background:color-mix(in oklab,var(--accent) 10%,var(--surface-2))}.plan-pill.enterprise{color:var(--warn);border-color:color-mix(in oklab,var(--warn) 30%,var(--border));background:color-mix(in oklab,var(--warn) 10%,var(--surface-2))}.chip-info{color:var(--info);border-color:color-mix(in oklab,var(--info) 30%,var(--border));background:color-mix(in oklab,var(--info) 10%,var(--surface-2))}.chip-warn{color:var(--warn);border-color:color-mix(in oklab,var(--warn) 30%,var(--border));background:color-mix(in oklab,var(--warn) 10%,var(--surface-2))}.chip-magenta{color:var(--magenta);border-color:color-mix(in oklab,var(--magenta) 30%,var(--border));background:color-mix(in oklab,var(--magenta) 10%,var(--surface-2))}.share-link{display:flex;gap:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r-sm);padding:6px 8px;align-items:center;font-family:var(--mono);font-size:11.5px}.share-link input{flex:1 1;background:transparent;border:none;outline:none;color:var(--text);font-family:inherit;font-size:inherit}.share-perm button.locked{color:var(--subtle);cursor:not-allowed}.share-perm button.locked:after{content:" 🔒"}.cmdk{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);width:600px;max-width:92vw;overflow:hidden}.cmdk-input{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border)}.cmdk-input input{flex:1 1;background:transparent;border:none;outline:none;font-size:14px;color:var(--text);font-family:var(--sans)}.cmdk-input input::placeholder{color:var(--muted)}.cmdk-list{max-height:380px;overflow:auto;padding:6px 0}.cmdk-group{font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding:6px 14px 4px}.cmdk-row{display:flex;align-items:center;gap:10px;padding:7px 14px;cursor:pointer;font-size:13px}.cmdk-row .ico{color:var(--muted)}.cmdk-row .kbd-key{margin-left:auto}.cmdk-row.sel{background:var(--surface-2)}.cmdk-foot{padding:8px 14px;border-top:1px solid var(--border);display:flex;gap:16px}.cmdk-foot,.kbd-key{font-family:var(--mono);font-size:10.5px;color:var(--muted)}.kbd-key{padding:1px 5px;border-radius:3px;background:var(--surface-2);border:solid var(--border);border-width:1px 1px 2px}.scrim{position:fixed;inset:0;background:rgba(5,5,8,.55);z-index:50;display:grid;place-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}[data-theme=light] .scrim{background:hsla(0,0%,6%,.35)}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-lg);box-shadow:var(--shadow-pop);min-width:460px;max-width:720px}.modal-head{justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border)}.modal-head,.modal-head h3{display:flex;align-items:center}.modal-head h3{margin:0;font-size:14px;font-weight:500;gap:8px}.modal-body{padding:16px 18px}.modal-foot{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 var(--r-lg) var(--r-lg)}.collab-cursor{position:absolute;pointer-events:none;z-index:5;transition:transform .2s cubic-bezier(.22,.61,.36,1)}.collab-cursor .label{margin-left:12px;margin-top:-4px;padding:2px 6px;border-radius:4px 4px 4px 0;font-family:var(--mono);font-size:10px;color:#0a0b0d;font-weight:500;white-space:nowrap}.signin-shell{position:fixed;inset:0;display:grid;grid-template-columns:1.15fr 1fr;background:var(--bg);color:var(--text);overflow:hidden}@media (max-width:920px){.signin-shell{grid-template-columns:1fr}.signin-brand{display:none!important}}.signin-brand{position:relative;display:flex;flex-direction:column;padding:36px 48px;border-right:1px solid var(--border);background:radial-gradient(120% 80% at 0 0,color-mix(in oklab,var(--accent) 18%,transparent),transparent 60%),radial-gradient(80% 60% at 100% 100%,color-mix(in oklab,var(--magenta) 14%,transparent),transparent 60%),var(--surface);overflow:hidden}.signin-brand-grid{position:absolute;inset:0;background-image:linear-gradient(to right,color-mix(in oklab,var(--border) 60%,transparent) 1px,transparent 1px),linear-gradient(to bottom,color-mix(in oklab,var(--border) 60%,transparent) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(60% 50% at 50% 50%,#000 50%,transparent 100%);mask-image:radial-gradient(60% 50% at 50% 50%,#000 50%,transparent 100%);opacity:.5}.signin-brand-glow{position:absolute;width:520px;height:520px;top:-120px;left:-160px;background:radial-gradient(circle,color-mix(in oklab,var(--accent) 30%,transparent),transparent 70%);filter:blur(60px);pointer-events:none}.signin-brand-top{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between}.signin-logo{display:inline-flex;align-items:center;gap:10px;font-weight:600}.signin-logo-mark{width:22px;height:22px;border-radius:6px;background:linear-gradient(135deg,var(--accent),var(--magenta));box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 50%,transparent),0 4px 16px color-mix(in oklab,var(--accent) 35%,transparent)}.signin-logo-text{font-size:14px;letter-spacing:.02em}.signin-badge{font-size:10px;padding:4px 8px;border-radius:999px;border:1px solid var(--border);background:color-mix(in oklab,var(--surface) 70%,transparent);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.signin-brand-mid{position:relative;z-index:2;flex:1 1;margin:28px 0}.signin-brand-edges{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.signin-float-table{position:absolute;width:180px;background:color-mix(in oklab,var(--surface) 92%,transparent);border:1px solid var(--border);border-radius:8px;box-shadow:0 12px 30px rgba(0,0,0,.45);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);font-family:var(--mono);font-size:10.5px;animation:signin-float 6s ease-in-out infinite;z-index:1}.signin-float-head{display:flex;align-items:center;gap:6px;padding:7px 9px;border-bottom:1px solid var(--border);font-size:11px;font-weight:600}.signin-float-tag{width:10px;height:10px;border-radius:3px}.signin-float-row{display:flex;gap:6px;align-items:center;padding:5px 9px;border-bottom:1px dashed color-mix(in oklab,var(--border) 50%,transparent);color:var(--muted)}.signin-float-row:last-child{border-bottom:none}.signin-float-key{width:16px;font-size:9px;font-weight:700}@keyframes signin-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.signin-brand-bottom{position:relative;z-index:2}.signin-headline{margin:0 0 12px;font-size:28px;line-height:1.25;font-weight:600;letter-spacing:-.01em}.signin-headline-accent{background:linear-gradient(90deg,var(--accent),var(--magenta));-webkit-background-clip:text;background-clip:text;color:transparent}.signin-sub{margin:0 0 18px;color:var(--muted);font-size:13px;max-width:380px}.signin-stats{display:inline-flex;align-items:center;gap:10px;font-size:11px;color:var(--muted)}.signin-stats strong{color:var(--text);font-weight:600}.signin-stats-dot{width:3px;height:3px;background:var(--border-2);border-radius:999px}.signin-main{display:flex;align-items:center;justify-content:center;padding:32px;overflow-y:auto;background:radial-gradient(60% 80% at 80% 0,color-mix(in oklab,var(--accent) 6%,transparent),transparent 60%),var(--bg)}.signin-form-wrap{width:100%;max-width:380px;display:flex;flex-direction:column;gap:22px}.signin-logo-mobile{display:none}@media (max-width:920px){.signin-logo-mobile{display:inline-flex;margin-bottom:8px}}.signin-form-head h2{margin:4px 0 6px;font-size:22px;font-weight:600;letter-spacing:-.01em}.signin-form-head .dim{font-size:13px;color:var(--muted)}.signin-oauth{display:grid;grid-gap:8px;gap:8px}.signin-oauth-btn{height:38px;justify-content:center;font-size:12.5px;gap:10px}.signin-divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.signin-divider:after,.signin-divider:before{content:"";flex:1 1;height:1px;background:var(--border)}.signin-form{gap:12px}.signin-field,.signin-form{display:flex;flex-direction:column}.signin-field{gap:5px}.signin-label{font-size:11px;color:var(--muted);font-weight:500}.signin-label-row{display:flex;justify-content:space-between;align-items:baseline}.signin-forgot{font-size:10.5px;color:var(--accent);text-decoration:none}.signin-forgot:hover{text-decoration:underline}.signin-field .insp-input{height:38px;font-size:13px}.signin-remember{gap:8px;font-size:12px;color:var(--muted);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.signin-check,.signin-remember{display:inline-flex;align-items:center}.signin-check{width:16px;height:16px;border:1.5px solid var(--border-2);border-radius:4px;justify-content:center;background:var(--surface);color:var(--accent-fg);transition:background .12s,border-color .12s}.signin-check.on{background:var(--accent);border-color:var(--accent-2)}.signin-error{padding:8px 10px;border-radius:6px;background:color-mix(in oklab,var(--warn) 14%,var(--surface-2));border:1px solid color-mix(in oklab,var(--warn) 40%,var(--border));color:var(--warn);font-size:11.5px}.signin-mode-toggle{background:transparent;border:none;color:var(--muted);font-size:12px;padding:6px 4px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;align-self:center}.signin-mode-toggle:hover{color:var(--text)}.signin-foot{margin-top:4px;display:flex;flex-direction:column;gap:14px;align-items:center;text-align:center;font-size:12px}.signin-link{color:var(--accent);font-weight:500;text-decoration:none}.signin-link:hover{text-decoration:underline}.signin-link-muted{color:var(--muted);text-decoration:none}.signin-link-muted:hover{color:var(--text)}.signin-foot-meta{display:inline-flex;gap:8px;font-size:10.5px;color:var(--subtle)}.signin-magic-sent{display:flex;flex-direction:column;align-items:center;text-align:center;padding:28px 12px;gap:6px}.signin-magic-icon{width:44px;height:44px;border-radius:50%;background:color-mix(in oklab,var(--accent) 18%,var(--surface-2));border:1px solid color-mix(in oklab,var(--accent) 40%,var(--border));color:var(--accent);display:grid;place-items:center;margin-bottom:8px}.signin-magic-sent h3{margin:0 0 4px;font-size:16px;font-weight:600}.signin-magic-sent .dim{font-size:12.5px;color:var(--muted);line-height:1.55}