@import url("https://fonts.googleapis.com/css2?family=Geist:wght@300;400;500;600;700&family=IBM+Plex+Mono:wght@400;500;600&family=Instrument+Serif:ital@0;1&display=swap");:root{--bg:#F8F7F2;--bg-2:#F2F0EA;--bg-3:#ECEAE2;--panel:#FFFFFF;--ink:#0C0E10;--ink-2:#2A2D32;--muted:#6B6862;--muted-2:#9C9990;--border:#E5E3DC;--border-2:#D8D5CC;--accent:#1547D9;--accent-ink:#0B2B8A;--accent-soft:#E4EAFE;--ok:#1B7A4B;--ok-soft:#DCEFE2;--warn:#A65C0B;--warn-soft:#F6E6CC;--danger:#B41E2B;--danger-soft:#F6D9DC;--ai:#5331D9;--ai-soft:#ECE5FB;--sans:"Geist",ui-sans-serif,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;--mono:"IBM Plex Mono",ui-monospace,"JetBrains Mono","SFMono-Regular",Menlo,monospace;--serif:"Instrument Serif","Iowan Old Style","Apple Garamond",Georgia,serif;--row-h:44px;--pad-y:10px;--pad-x:14px;--radius:8px;--radius-lg:12px}[data-density=compact]{--row-h:32px;--pad-y:5px;--pad-x:10px;--radius:6px;--radius-lg:8px;font-size:13px}[data-density=compact] .panel-pad{padding:12px 14px}[data-density=compact] .panel-head{padding:8px 12px}[data-density=compact] .panel-head h3{font-size:12px}[data-density=compact] .page-head{padding:12px 16px 10px}[data-density=compact] .page-title{font-size:17px}[data-density=compact] .page-sub{font-size:12px}[data-density=compact] table.data th{padding:6px 10px;font-size:10.5px}[data-density=compact] table.data td{padding:5px 10px;height:32px}[data-density=compact] .btn{height:26px;padding:0 9px;font-size:12px}[data-density=compact] .btn.sm{height:22px;padding:0 7px;font-size:11.5px}[data-density=compact] .nav-item{padding:4px 8px;font-size:12.5px}[data-density=compact] .badge{height:18px;padding:0 6px;font-size:10.5px}[data-density=compact] .topbar{height:48px!important}[data-density=compact] .sidebar{padding:8px 6px}[data-density=compact] .search{height:28px}[data-density=compact] .icon-btn{width:26px;height:26px}[data-density=compact] .tab{padding:7px 10px;font-size:12px}[data-density=compact] .panel{border-radius:6px}[data-density=compact] .kv{gap:4px 12px;font-size:12px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01","cv11"}.mono{font-family:var(--mono);font-feature-settings:"zero","ss01";letter-spacing:-.01em}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.serif{font-family:var(--serif);font-style:italic}button{background:none;border:0;cursor:pointer;padding:0}button,input,select,textarea{font:inherit;color:inherit}input{min-width:0}.nav-item{white-space:nowrap;overflow:hidden}.nav-item>.count,.search{flex-shrink:0}.search{flex-wrap:nowrap;overflow:hidden}.search input{min-width:0}.search kbd{flex-shrink:0}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#D8D5CC;border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}.row{align-items:center}.col,.row{display:flex}.col{flex-direction:column}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-8{gap:32px}.grow{flex:1 1 auto;min-width:0}.muted{color:var(--muted)}.muted-2{color:var(--muted-2)}.ink-2{color:var(--ink-2)}.small{font-size:12px}.xsmall{font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.nowrap{white-space:nowrap}.divider{height:1px;width:100%}.divider,.vline{background:var(--border)}.vline{width:1px;align-self:stretch}.app{display:grid;grid-template-columns:56px 1fr;grid-template-rows:56px 1fr;height:100vh;width:100vw;overflow:hidden}[data-density=compact] .app{grid-template-columns:52px 1fr;grid-template-rows:48px 1fr}.topbar{grid-column:1/-1;border-bottom:1px solid var(--border);align-items:center;padding:0 16px;gap:14px;z-index:30}.sidebar,.topbar{background:var(--bg);display:flex;position:relative}.sidebar{border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;padding:12px 8px;flex-direction:column;width:56px;z-index:20;transition:width .22s cubic-bezier(.2,.7,.2,1),box-shadow .18s ease}.sidebar:focus-within,.sidebar:hover{width:240px;box-shadow:4px 0 24px rgba(12,14,16,.08)}.sidebar .nav-item .count,.sidebar .sb-text{opacity:0;pointer-events:none;max-width:0;overflow:hidden;white-space:nowrap;transition:opacity 80ms ease,max-width .22s ease}.sidebar:focus-within .nav-item .count,.sidebar:focus-within .sb-text,.sidebar:hover .nav-item .count,.sidebar:hover .sb-text{opacity:1;pointer-events:auto;max-width:500px;transition:opacity .12s ease .1s,max-width .22s ease}.sidebar .nav-section>.xsmall{transition:opacity .12s ease .1s}.sidebar:not(:hover):not(:focus-within) .nav-section>.xsmall{opacity:0;pointer-events:none;transition:opacity 80ms ease}.sidebar .nav-item .count{margin-left:0;transition:opacity 80ms ease,max-width .22s ease,margin-left .22s ease}.sidebar:focus-within .nav-item .count,.sidebar:hover .nav-item .count{margin-left:auto;transition:opacity .12s ease .1s,max-width .22s ease,margin-left .22s ease}.main{overflow:hidden;background:var(--bg);display:flex;flex-direction:column;min-width:0}.brand{display:inline-flex;align-items:center;gap:9px;font-weight:600;font-size:15px;letter-spacing:-.01em}.brand-mark{width:22px;height:22px;border-radius:5px;background:var(--ink);color:var(--bg);display:inline-grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:600;position:relative;overflow:hidden}.brand-mark:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,transparent 45%,rgba(255,255,255,.18) 50%,transparent 55%,transparent)}.nav-section{margin:10px 4px 4px}.nav-section .xsmall{padding:0 8px;font-size:10.5px}.nav-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px 8px;border-radius:6px;color:var(--ink-2);font-size:13.5px;line-height:1.2;text-align:left;cursor:pointer;transition:background 80ms ease}.nav-item:hover{background:var(--bg-2)}.nav-item.active{background:var(--bg-3);color:var(--ink);font-weight:500}.nav-item .ico{width:16px;height:16px;color:var(--muted);flex-shrink:0}.nav-item.active .ico{color:var(--ink)}.nav-item .count{margin-left:auto;font-family:var(--mono);font-size:11px;color:var(--muted)}.nav-item.active .count{color:var(--ink-2)}.search{background:var(--panel);border:1px solid var(--border);border-radius:6px;height:32px;width:360px;display:flex;align-items:center;padding:0 10px;gap:8px;color:var(--muted)}.search input{border:0;outline:0;background:transparent;flex:1;font-size:13px;color:var(--ink)}.search kbd{font-family:var(--mono);font-size:10.5px;background:var(--bg-2);border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--muted)}.btn{padding:0 12px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px;line-height:1;transition:background 80ms,border-color 80ms;white-space:nowrap;flex-shrink:0}.btn,.input{height:30px;border-radius:6px;border:1px solid var(--border);background:var(--panel);color:var(--ink)}.input{padding:0 10px;font:inherit;font-size:13px;width:100%;outline:none;transition:border-color 80ms,box-shadow 80ms}.input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.input:disabled{background:var(--bg-2);color:var(--muted);cursor:not-allowed}select.input{padding-right:28px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.btn:hover{background:var(--bg-2);border-color:var(--border-2)}.btn.primary{background:var(--ink);border-color:var(--ink);color:var(--bg)}.btn.primary:hover{background:#000}.btn.accent{background:var(--accent);border-color:var(--accent);color:white}.btn.accent:hover{background:var(--accent-ink);border-color:var(--accent-ink)}.btn.ghost{border-color:transparent;background:transparent}.btn.ghost:hover{background:var(--bg-2)}.btn.sm{height:26px;padding:0 9px;font-size:12px}.btn.lg{height:36px;padding:0 14px;font-size:14px}.icon-btn{width:30px;height:30px;border-radius:6px;border:1px solid transparent;display:inline-grid;place-items:center;color:var(--ink-2)}.badge,.icon-btn:hover{background:var(--bg-2)}.badge{display:inline-flex;align-items:center;gap:5px;height:20px;padding:0 7px;border-radius:4px;font-size:11px;font-weight:500;color:var(--ink-2);border:1px solid var(--border);white-space:nowrap;letter-spacing:.01em}.badge .dot{width:6px;height:6px;border-radius:50%;background:currentColor}.badge.ok{background:var(--ok-soft);color:var(--ok)}.badge.ok,.badge.warn{border-color:transparent}.badge.warn{background:var(--warn-soft);color:var(--warn)}.badge.danger{background:var(--danger-soft);color:var(--danger);border-color:transparent}.badge.accent{background:var(--accent-soft);color:var(--accent-ink)}.badge.accent,.badge.ai{border-color:transparent}.badge.ai{background:var(--ai-soft);color:var(--ai)}.badge.outline{background:transparent}.badge.mono{font-family:var(--mono);font-size:10.5px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg)}.panel-pad{padding:16px 18px}.surface-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-lg);padding:16px;display:flex;flex-direction:column;gap:12px}.flow-chip{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border:1px solid var(--border);border-radius:6px;background:var(--panel);font-size:11.5px;color:var(--ink-2);white-space:nowrap}.panel-head{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border);min-width:0}.panel-head h3{margin:0;font-size:13px;font-weight:600;letter-spacing:-.005em;white-space:nowrap;flex-shrink:0}.panel-head .grow{min-width:0}table.data{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px}table.data th{text-align:left;font-weight:500;color:var(--muted);padding:8px 12px;background:var(--bg);position:sticky;top:0;font-size:11.5px;text-transform:uppercase;letter-spacing:.04em;z-index:1}table.data td,table.data th{border-bottom:1px solid var(--border)}table.data td{padding:var(--pad-y) var(--pad-x);vertical-align:middle;height:var(--row-h);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}table.data td.wrap{white-space:normal}table.data tr.clickable{cursor:pointer}table.data tr.clickable:hover td{background:var(--bg-2)}table.data tr.selected td{background:var(--accent-soft)}.bar{height:4px;background:var(--bg-3);overflow:hidden;position:relative}.bar,.bar>i{border-radius:2px}.bar>i{display:block;height:100%;background:var(--ink)}.bar.accent>i{background:var(--accent)}.bar.ok>i{background:var(--ok)}.bar.warn>i{background:var(--warn)}.sdot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;background:var(--muted-2);position:relative}.sdot.ok{background:var(--ok)}.sdot.warn{background:var(--warn)}.sdot.danger{background:var(--danger)}.sdot.accent{background:var(--accent)}.sdot.ai{background:var(--ai)}.sdot.pulse:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:1.5px solid;opacity:.5;animation:pulse 1.6s ease-out infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.7}to{transform:scale(1.7);opacity:0}}.avatar{width:24px;height:24px;border-radius:50%;background:var(--bg-3);color:var(--ink-2);display:inline-grid;place-items:center;font-size:10.5px;font-weight:600;text-transform:uppercase;font-family:var(--mono);border:1px solid var(--border);flex-shrink:0}.avatar.ai{background:var(--ai);color:white;border-color:var(--ai)}.drawer-backdrop{position:absolute;inset:0;background:rgba(12,14,16,.18);backdrop-filter:blur(2px);z-index:20;animation:fade .14s ease-out}.drawer{position:absolute;top:0;right:0;bottom:0;width:min(1080px,92%);background:var(--bg);border-left:1px solid var(--border);box-shadow:-24px 0 60px -20px rgba(12,14,16,.16);z-index:21;display:flex;flex-direction:column;animation:slide .18s cubic-bezier(.2,.7,.2,1)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes slide{0%{transform:translateX(24px);opacity:0}to{transform:translateX(0);opacity:1}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border);padding:0 16px}.tab{padding:10px 12px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:7px;cursor:pointer}.tab:hover{color:var(--ink-2)}.tab.active{color:var(--ink);border-bottom-color:var(--ink);font-weight:500}.seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;background:var(--panel);height:28px;padding:2px}.seg button{padding:0 10px;border-radius:4px;font-size:12px;color:var(--muted)}.seg button.active{background:var(--bg-2);color:var(--ink)}.codeblock{border:1px solid var(--border);border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.55;white-space:pre-wrap}.codeblock,.kbd{background:var(--bg-2);font-family:var(--mono)}.kbd{font-size:10.5px;border:1px solid var(--border);border-radius:4px;padding:1px 5px;color:var(--muted)}.doc-tile{background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:10px 12px;display:flex;gap:10px;align-items:flex-start;cursor:pointer;transition:border-color 80ms}.doc-tile:hover{border-color:var(--border-2)}.doc-tile .ext{width:28px;height:32px;border-radius:4px;background:var(--bg-2);border:1px solid var(--border);display:grid;place-items:center;font-family:var(--mono);font-size:9px;font-weight:600;color:var(--muted)}.pulse-ai{background:linear-gradient(90deg,var(--ai-soft) 0,#f8f4ff 50%,var(--ai-soft) 100%);background-size:200% 100%;animation:shimmer 2s linear infinite}@keyframes shimmer{0%{background-position:0 0}to{background-position:-200% 0}}.grid-bg{background-image:linear-gradient(var(--border) 1px,transparent 1px),linear-gradient(90deg,var(--border) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px}.in-up{animation:inUp .2s cubic-bezier(.2,.7,.2,1)}@keyframes inUp{0%{transform:translateY(6px);opacity:0}to{transform:translateY(0);opacity:1}}.in-fade{animation:fade .2s ease-out}.toast{position:fixed;bottom:24px;right:24px;background:var(--ink);color:var(--bg);padding:12px 16px;border-radius:8px;font-size:13px;box-shadow:0 18px 40px -8px rgba(0,0,0,.3);z-index:100;display:flex;align-items:center;gap:10px;animation:inUp .22s cubic-bezier(.2,.7,.2,1)}.hr{border:0;border-top:1px solid var(--border);margin:0}.page-head{padding:16px 20px 12px;display:flex;align-items:flex-end;gap:12px;border-bottom:1px solid var(--border);flex-wrap:wrap}.page-title{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:0}.page-sub{color:var(--muted);font-size:13px;margin-top:2px}.table-wrap{overflow-x:auto}table.data{min-width:880px}.tl{position:relative;padding-left:22px}.tl:before{content:"";position:absolute;left:7px;top:4px;bottom:4px;width:1px;background:var(--border)}.tl-item{position:relative;padding-bottom:16px}.tl-item:before{content:"";position:absolute;left:-22px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--panel);border:1.5px solid var(--border-2)}.tl-item.ok:before{background:var(--ok);border-color:var(--ok)}.tl-item.now:before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.tl-item.ai:before{background:var(--ai);border-color:var(--ai)}.ring{width:28px;height:28px;position:relative;flex-shrink:0}.ring svg{transform:rotate(-90deg)}.ring circle.bg{stroke:var(--bg-3)}.ring circle.fg{stroke:var(--ok);transition:stroke-dashoffset .2s ease}.ring.warn circle.fg{stroke:var(--warn)}.ring.danger circle.fg{stroke:var(--danger)}.ring .val{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:9.5px;font-weight:600}.kv{display:grid;grid-template-columns:140px 1fr;gap:6px 16px;font-size:13px}.kv>dt{color:var(--muted);font-weight:400}.kv>dd{margin:0}.line-row{display:grid;grid-template-columns:32px 1fr 110px 100px 90px 110px 90px 36px;gap:0;align-items:center;padding:12px;border-bottom:1px solid var(--border);background:var(--panel);transition:background 80ms}.line-row.expanded,.line-row:hover{background:var(--bg-2)}.line-row>.cell{padding:0 8px;min-width:0}.stripe{position:relative}.stripe:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--accent);border-radius:3px 0 0 3px}.stripe.ok:before{background:var(--ok)}.stripe.warn:before{background:var(--warn)}.stripe.danger:before{background:var(--danger)}.stripe.ai:before{background:var(--ai)}.visible{visibility:visible}.invisible{visibility:hidden}.collapse{visibility:collapse}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.top-1{top:.25rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.table{display:table}.grid{display:grid}.inline-grid{display:inline-grid}.hidden{display:none}.flex-shrink{flex-shrink:1}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.border{border-width:1px}.border-2{border-width:2px}.bg-accent-soft{background-color:var(--accent-soft)}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.italic{font-style:italic}.text-\[--ink\]{color:var(--ink)}.underline{text-decoration-line:underline}.line-through{text-decoration-line:line-through}.accent-ink{accent-color:var(--ink)}.outline{outline-style:solid}.ring{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(3px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}