@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/inter-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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;font-style:normal;font-weight:100 800;font-display:swap;src:url(/fonts/jetbrains-mono-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--paper: #ffffff;--paper-2: #faf9f7;--paper-3: #f2f1ee;--paper-4: #e8e7e3;--ink: #101011;--ink-2: #3a3a3c;--ink-3: #57585b;--ink-4: #6c6c68;--ink-5: #a5a5a0;--ink-inverse: #fbfbfa;--line: #e6e5e0;--line-strong: #d2d1cb;--line-heavy: #b6b5ad;--accent: #e4482b;--accent-strong: #c93a1f;--accent-ink: #b03119;--accent-wash: #fdeee9;--accent-line: #f2b6a6;--on-fill: #ffffff;--ok: #16704a;--ok-wash: #e7f4ed;--ok-line: #a9d5bf;--warn: #8a5d00;--warn-wash: #fbf1d9;--warn-line: #e2c580;--danger: #b3261e;--danger-wash: #fceceb;--danger-line: #efb4ae;--info: #1a5a9e;--info-wash: #e8f0fa;--info-line: #a9c6e6;--chart-1: #e4482b;--chart-2: #2f6099;--chart-3: #16704a;--chart-4: #8a5d00;--chart-5: #6a4c93;--chart-ref: #101011;--chart-grid: #e6e5e0;--text: var(--ink);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-serif: "Source Serif 4", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, "Times New Roman", serif;--font-mono: "JetBrains Mono", ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--fs-micro: .6875rem;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-body: .9375rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-h3: 1rem;--fs-h2: 1.25rem;--fs-h1: 1.6875rem;--fs-display: 2.375rem;--lh-tight: 1.15;--lh-snug: 1.35;--lh-body: 1.55;--lh-read: 1.68;--tr-display: -.028em;--tr-heading: -.014em;--tr-body: -.003em;--tr-label: .085em;--fw-regular: 400;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--measure: 68ch;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 24px;--s6: 32px;--s7: 48px;--s8: 64px;--r-1: 4px;--r-2: 6px;--r-3: 8px;--r-4: 12px;--r-full: 999px;--radius: var(--r-2);--shadow-xs: 0 1px 1px rgba(16, 16, 17, .04);--shadow-sm: 0 1px 2px rgba(16, 16, 17, .05), 0 2px 6px -1px rgba(16, 16, 17, .05);--shadow-md: 0 2px 4px rgba(16, 16, 17, .05), 0 10px 24px -6px rgba(16, 16, 17, .11);--shadow-lg: 0 4px 10px rgba(16, 16, 17, .07), 0 22px 48px -12px rgba(16, 16, 17, .18);--shadow-focus: 0 0 0 3px rgba(228, 72, 43, .22);--scrim: rgba(16, 16, 17, .36);--selection: rgba(228, 72, 43, .18);--ease: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.4, .64, 1);--dur-1: 90ms;--dur-2: .16s;--dur-3: .26s;--sidebar-w: 268px;--topbar-h: 60px;--maxw: 1220px;--z-sticky: 20;--z-drawer: 80;--z-overlay: 90;--z-toast: 100}[data-theme=dark]{color-scheme:dark;--paper: #17181b;--paper-2: #101113;--paper-3: #202226;--paper-4: #2b2d33;--ink: #f4f4f5;--ink-2: #d3d4d8;--ink-3: #a4a6ac;--ink-4: #93959c;--ink-5: #63656c;--ink-inverse: #101113;--line: #2a2c31;--line-strong: #3a3d44;--line-heavy: #52555e;--accent: #f2603f;--accent-strong: #ff7355;--accent-ink: #ff8f75;--accent-wash: #2d1610;--accent-line: #6b3122;--on-fill: #ffffff;--ok: #5ec08c;--ok-wash: #12251c;--ok-line: #2f5c46;--warn: #e0b055;--warn-wash: #2a2113;--warn-line: #5e4a20;--danger: #f4776a;--danger-wash: #2e1614;--danger-line: #6e3029;--info: #74aeee;--info-wash: #12202f;--info-line: #2c4a6b;--chart-1: #ff7355;--chart-2: #6ea8e8;--chart-3: #5ec08c;--chart-4: #e0b055;--chart-5: #b39ddb;--chart-ref: #d3d4d8;--chart-grid: #2a2c31;--shadow-xs: 0 1px 1px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4), 0 2px 6px -1px rgba(0, 0, 0, .34);--shadow-md: 0 2px 4px rgba(0, 0, 0, .4), 0 10px 24px -6px rgba(0, 0, 0, .5);--shadow-lg: 0 4px 10px rgba(0, 0, 0, .45), 0 22px 48px -12px rgba(0, 0, 0, .6);--shadow-focus: 0 0 0 3px rgba(242, 96, 63, .3);--scrim: rgba(0, 0, 0, .62);--selection: rgba(242, 96, 63, .26)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark}}[data-density=compact]{--s5: 20px;--s6: 24px;--s7: 36px;--s8: 48px;--topbar-h: 52px;--control-h: 32px;--control-h-sm: 26px}:root{--control-h: 36px;--control-h-sm: 28px}@media (prefers-reduced-motion: reduce){:root{--dur-1: 0ms;--dur-2: 0ms;--dur-3: 0ms}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*,*:before,*:after{box-sizing:border-box}*{margin:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scrollbar-gutter:stable}body{font-family:var(--font-sans);font-size:var(--fs-body);font-weight:var(--fw-regular);line-height:var(--lh-body);letter-spacing:var(--tr-body);color:var(--ink);background:var(--paper-2);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-optical-sizing:auto;font-feature-settings:"calt" 1,"cv05" 1,"cv08" 1,"ss03" 1;overflow-wrap:break-word}::selection{background:var(--selection)}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}button{background:none;border:none;padding:0;cursor:pointer}h1,h2,h3,h4,h5,h6{font-weight:var(--fw-semibold);line-height:var(--lh-tight);letter-spacing:var(--tr-heading);text-wrap:balance}p{text-wrap:pretty}ul,ol{margin:0;padding:0;list-style:none}img,svg,video,canvas{display:block;max-width:100%}svg{flex:none}hr{border:none;border-top:1px solid var(--line)}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.9em}table{font-variant-numeric:tabular-nums}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r-1)}*{scrollbar-width:thin;scrollbar-color:var(--line-heavy) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid transparent;background-clip:content-box;border-radius:var(--r-full)}*::-webkit-scrollbar-thumb:hover{background:var(--line-heavy);background-clip:content-box}@media print{body{background:#fff;color:#000;font-size:11pt}.sidebar,.topbar,.toast-wrap,.no-print{display:none!important}.app{display:block}.content{max-width:none;padding:0}.card{border:1px solid #ccc;box-shadow:none;break-inside:avoid}a[href^=http]:after{content:" (" attr(href) ")";font-size:9pt;color:#555}}.t-micro{font-size:var(--fs-micro)}.t-xs{font-size:var(--fs-xs)}.t-sm{font-size:var(--fs-sm)}.t-base{font-size:var(--fs-body)}.t-md{font-size:var(--fs-md)}.t-lg{font-size:var(--fs-lg)}.t-h3{font-size:var(--fs-h3)}.t-h2{font-size:var(--fs-h2);letter-spacing:var(--tr-heading)}.t-h1{font-size:var(--fs-h1);letter-spacing:var(--tr-heading)}.t-display{font-size:var(--fs-display);letter-spacing:var(--tr-display);line-height:var(--lh-tight)}.fw-regular{font-weight:var(--fw-regular)}.fw-medium{font-weight:var(--fw-medium)}.fw-semibold{font-weight:var(--fw-semibold)}.fw-bold{font-weight:var(--fw-bold)}.muted{color:var(--ink-3)}.muted-more{color:var(--ink-4)}.ink{color:var(--ink)}.text-ok{color:var(--ok)}.text-warn{color:var(--warn)}.text-danger{color:var(--danger)}.text-accent{color:var(--accent-ink)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"zero" 1}.serif{font-family:var(--font-serif)}.tnum{font-variant-numeric:tabular-nums}.eyebrow{font-size:var(--fs-micro);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-4);font-weight:var(--fw-semibold)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.clamp-2,.clamp-3{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}.clamp-2{-webkit-line-clamp:2;line-clamp:2}.clamp-3{-webkit-line-clamp:3;line-clamp:3}.pre-wrap{white-space:pre-wrap}.capitalize{text-transform:capitalize}.ml-1{margin-left:var(--s1)}.list-indent{padding-left:1.15em;list-style:disc}.measure{max-width:var(--measure)}.nowrap{white-space:nowrap}.break-all{word-break:break-all}.stack{display:flex;flex-direction:column;min-width:0}.row{display:flex;align-items:center;min-width:0}.grow{flex:1;min-width:0}.none{flex:none}.wrap{flex-wrap:wrap}.right{margin-left:auto}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.gap-1{gap:var(--s1)}.gap-2{gap:var(--s2)}.gap-3{gap:var(--s3)}.gap-4{gap:var(--s4)}.gap-5{gap:var(--s5)}.gap-6{gap:var(--s6)}.mt-0{margin-top:0}.mt-1{margin-top:var(--s1)}.mt-2{margin-top:var(--s2)}.mt-3{margin-top:var(--s3)}.mt-4{margin-top:var(--s4)}.mt-5{margin-top:var(--s5)}.mt-6{margin-top:var(--s6)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--s1)}.mb-2{margin-bottom:var(--s2)}.mb-3{margin-bottom:var(--s3)}.mb-4{margin-bottom:var(--s4)}.mb-5{margin-bottom:var(--s5)}.mb-6{margin-bottom:var(--s6)}.m-0{margin:0}.p-3{padding:var(--s3)}.p-4{padding:var(--s4)}.p-5{padding:var(--s5)}.w-full{width:100%}.h-full{height:100%}.block{display:block}.inline-flex{display:inline-flex;align-items:center}.relative{position:relative}.border-top{border-top:1px solid var(--line)}.border-bottom{border-bottom:1px solid var(--line)}.divider{height:1px;background:var(--line);margin:var(--s5) 0;border:none}.section-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin:var(--s6) 0 var(--s4)}.section-head>h2,.section-title{font-size:var(--fs-h2);letter-spacing:var(--tr-heading);font-weight:var(--fw-semibold)}.grid{display:grid;gap:var(--s5)}.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.cols-main-rail{grid-template-columns:minmax(0,1fr) 340px}.cols-rail-main{grid-template-columns:280px minmax(0,1fr)}@media (max-width: 1100px){.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 900px){.cols-2,.cols-3,.cols-4,.cols-main-rail,.cols-rail-main{grid-template-columns:minmax(0,1fr)}}.kv{display:grid;grid-template-columns:168px minmax(0,1fr);gap:var(--s2) var(--s4);font-size:var(--fs-sm)}.kv dt{color:var(--ink-4)}.kv dd{color:var(--ink);word-break:break-word}.inline-link{color:var(--accent-ink);font-weight:var(--fw-medium);cursor:pointer;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent-ink) 32%,transparent);text-underline-offset:2px;transition:text-decoration-color var(--dur-1) var(--ease)}.inline-link:hover{text-decoration-color:currentColor}.center-screen{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:var(--s5)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}.skip-link{position:fixed;top:var(--s2);left:var(--s2);z-index:200;transform:translateY(-200%);background:var(--ink);color:var(--ink-inverse);padding:var(--s2) var(--s4);border-radius:var(--r-2);font-size:var(--fs-sm);font-weight:var(--fw-semibold);box-shadow:var(--shadow-lg);transition:transform var(--dur-2) var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}.app{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}.main{min-width:0;display:flex;flex-direction:column}.content{width:100%;max-width:var(--maxw);margin:0 auto;padding:var(--s6) var(--s6) var(--s8);flex:1}.content.wide{max-width:none}.content.fill{display:flex;flex-direction:column;min-height:0}.content.fill>.chat{flex:1;height:auto;min-height:420px}.sidebar{position:sticky;top:0;align-self:start;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--paper);border-right:1px solid var(--line);padding:var(--s4) 0 0}.brand{display:flex;align-items:center;gap:var(--s3);padding:0 var(--s4) var(--s4);margin:0 var(--s2) var(--s2);border-bottom:1px solid var(--line);border-radius:var(--r-2);transition:background var(--dur-1) var(--ease)}.brand:hover{background:var(--paper-2)}.brand-mark{width:30px;height:30px;flex:none;border-radius:var(--r-1)}.brand-name{font-size:1rem;font-weight:var(--fw-bold);letter-spacing:.06em;line-height:1.1}.brand-sub{font-size:10px;color:var(--ink-4);letter-spacing:var(--tr-label);text-transform:uppercase;font-weight:var(--fw-semibold);line-height:1.4}.nav-scroll{flex:1;overflow-y:auto;overscroll-behavior:contain;padding-bottom:var(--s3)}.nav-group{padding:var(--s3) 0 var(--s1)}.nav-group+.nav-group{border-top:1px solid var(--line)}.nav-group-label{padding:0 var(--s5) 6px;font-size:10px;letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-4);font-weight:var(--fw-bold)}.nav-link{position:relative;display:flex;align-items:center;gap:var(--s3);height:32px;margin:1px var(--s3);padding:0 var(--s3);border-radius:var(--r-2);color:var(--ink-2);font-size:var(--fs-sm);font-weight:var(--fw-medium);transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.nav-link>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-link:hover{background:var(--paper-3);color:var(--ink)}.nav-link.active{background:var(--paper-3);color:var(--ink);font-weight:var(--fw-semibold)}.nav-link.active:before{content:"";position:absolute;left:calc(-1 * var(--s3));top:50%;transform:translateY(-50%);width:3px;height:18px;border-radius:0 2px 2px 0;background:var(--accent)}.nav-link .ico{width:16px;height:16px;flex:none;color:var(--ink-4)}.nav-link:hover .ico{color:var(--ink-3)}.nav-link.active .ico{color:var(--accent)}.nav-link.locked{opacity:.62}.nav-link .lock-hint{margin-left:auto;padding-left:var(--s2);font-size:10px;color:var(--ink-4);font-weight:var(--fw-semibold);letter-spacing:.04em;text-transform:uppercase;opacity:0;transition:opacity var(--dur-1) var(--ease)}.nav-link.locked:hover .lock-hint,.nav-link.locked:focus-visible .lock-hint{opacity:1}@media (hover: none){.nav-link .lock-hint{opacity:1}}.nav-link .nav-count{margin-left:auto;font-size:var(--fs-micro);font-variant-numeric:tabular-nums;color:var(--ink-4)}.sidebar-foot{border-top:1px solid var(--line);padding:var(--s2) 0;background:var(--paper)}.topbar{position:sticky;top:0;z-index:var(--z-sticky);height:var(--topbar-h);display:flex;align-items:center;gap:var(--s3);padding:0 var(--s6);border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 82%,transparent);backdrop-filter:saturate(180%) blur(10px);-webkit-backdrop-filter:saturate(180%) blur(10px)}@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))){.topbar{background:var(--paper)}}.crumbs{display:flex;align-items:center;gap:6px;font-size:var(--fs-sm);color:var(--ink-4);min-width:0}.crumbs a{color:var(--ink-4);transition:color var(--dur-1) var(--ease)}.crumbs a:hover{color:var(--ink-2)}.crumbs .sep{color:var(--ink-5)}.crumbs .current{color:var(--ink);font-weight:var(--fw-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-actions{margin-left:auto;display:flex;align-items:center;gap:var(--s2)}.icon-btn{position:relative;display:inline-grid;place-items:center;width:32px;height:32px;flex:none;border-radius:var(--r-2);border:1px solid transparent;color:var(--ink-3);cursor:pointer;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.icon-btn:hover{background:var(--paper-3);color:var(--ink)}.icon-btn.bordered{border-color:var(--line-strong);background:var(--paper)}.icon-btn.bordered:hover{border-color:var(--line-heavy)}.icon-btn svg{width:16px;height:16px}.icon-btn .count-dot{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 4px;border-radius:var(--r-full);background:var(--accent);color:var(--on-fill);font-size:9px;font-weight:var(--fw-bold);line-height:15px;text-align:center;border:1.5px solid var(--paper)}.omni-trigger{display:flex;align-items:center;gap:var(--s2);height:32px;padding:0 var(--s2) 0 var(--s3);min-width:190px;border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--paper);color:var(--ink-4);font-size:var(--fs-sm);cursor:pointer;transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.omni-trigger:hover{border-color:var(--line-heavy);background:var(--paper-2)}.omni-trigger svg{width:14px;height:14px}.omni-trigger .kbd{margin-left:auto}.userchip{display:flex;align-items:center;gap:var(--s2);height:32px;padding:0 var(--s2) 0 3px;border:1px solid var(--line-strong);border-radius:var(--r-full);background:var(--paper);cursor:pointer;transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.userchip:hover{border-color:var(--line-heavy);background:var(--paper-2)}.avatar{width:24px;height:24px;flex:none;border-radius:var(--r-full);background:var(--ink);color:var(--ink-inverse);display:grid;place-items:center;font-size:10px;font-weight:var(--fw-bold);letter-spacing:.02em}.avatar.lg{width:34px;height:34px;font-size:var(--fs-xs)}.userchip .who{font-size:var(--fs-sm);font-weight:var(--fw-semibold);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-footer{border-top:1px solid var(--line);padding:var(--s5) var(--s6);background:var(--paper);color:var(--ink-4);font-size:var(--fs-xs)}.app-footer .footer-inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;gap:var(--s4);flex-wrap:wrap}.app-footer a{color:var(--ink-3)}.app-footer a:hover{color:var(--ink);text-decoration:underline}.app-footer .disclaimer{max-width:78ch;line-height:var(--lh-snug)}.strip{display:flex;align-items:center;gap:var(--s2);padding:6px var(--s6);font-size:var(--fs-xs);font-weight:var(--fw-medium);border-bottom:1px solid transparent}.strip svg{width:14px;height:14px}.strip.warn{background:var(--warn-wash);color:var(--warn);border-bottom-color:var(--warn-line)}.strip.danger{background:var(--danger-wash);color:var(--danger);border-bottom-color:var(--danger-line)}.strip.info{background:var(--info-wash);color:var(--info);border-bottom-color:var(--info-line)}.strip .right{display:flex;gap:var(--s2);align-items:center}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r-3);box-shadow:var(--shadow-xs);min-width:0}.card-pad{padding:var(--s5)}.card.interactive{transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-2) var(--ease),transform var(--dur-2) var(--ease-out)}.card.interactive:hover{border-color:var(--line-strong);box-shadow:var(--shadow-md);transform:translateY(-1px)}.card.interactive:active{transform:translateY(0)}.card.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.card.flush{box-shadow:none}.card-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line);min-height:52px}.card-title{font-size:var(--fs-h3);font-weight:var(--fw-semibold);letter-spacing:var(--tr-heading)}.card-sub{font-size:var(--fs-xs);color:var(--ink-4)}.card-foot{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s5);border-top:1px solid var(--line);background:var(--paper-2);border-radius:0 0 var(--r-3) var(--r-3)}.stat{display:flex;flex-direction:column;gap:var(--s2);padding:var(--s5)}.stat .n{font-size:var(--fs-display);font-weight:var(--fw-bold);letter-spacing:var(--tr-display);line-height:1;font-variant-numeric:tabular-nums}.stat .k{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--tr-label);color:var(--ink-4);font-weight:var(--fw-semibold)}.stat .delta{display:inline-flex;align-items:center;gap:3px;font-size:var(--fs-xs);font-weight:var(--fw-semibold)}a .stat,.stat.interactive{transition:background var(--dur-1) var(--ease)}a:hover .stat{background:var(--paper-2)}.page-header{display:flex;align-items:flex-end;gap:var(--s4);padding-bottom:var(--s4);margin-bottom:var(--s5);border-bottom:1px solid var(--line)}.page-title{font-size:var(--fs-h1);font-weight:var(--fw-semibold);letter-spacing:var(--tr-heading);line-height:var(--lh-tight)}.page-desc{color:var(--ink-3);font-size:var(--fs-sm);line-height:var(--lh-snug);margin-top:6px;max-width:72ch}.page-header .eyebrow{margin-bottom:6px;display:block}.tabs{display:flex;gap:var(--s5);border-bottom:1px solid var(--line);margin-bottom:var(--s5);overflow-x:auto;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{position:relative;padding:var(--s3) 0;font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink-3);white-space:nowrap;cursor:pointer;transition:color var(--dur-1) var(--ease)}.tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);border-radius:2px 2px 0 0;transform:scaleX(0);transition:transform var(--dur-2) var(--ease-out)}.tab:hover,.tab.active{color:var(--ink)}.tab.active:after{transform:scaleX(1)}.tab .count{margin-left:6px;font-size:var(--fs-micro);color:var(--ink-4);font-variant-numeric:tabular-nums}.code.plain{background:none;border:none;padding:0;color:var(--ink)}.code{font-family:var(--font-mono);font-size:var(--fs-sm);background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s4);white-space:pre-wrap;word-break:break-word;overflow-x:auto;line-height:1.6;color:var(--ink-2);-moz-tab-size:2;tab-size:2}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);height:var(--control-h);padding:0 var(--s4);border:1px solid transparent;border-radius:var(--r-2);background:var(--ink);color:var(--ink-inverse);font-size:var(--fs-sm);font-weight:var(--fw-semibold);letter-spacing:0;line-height:1;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;box-shadow:var(--shadow-xs);transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease),color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}.btn svg{width:15px;height:15px}.btn:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 86%,var(--paper))}.btn:active:not(:disabled){transform:translateY(1px);box-shadow:none}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;box-shadow:none}.btn.secondary{background:var(--paper);color:var(--ink);border-color:var(--line-strong)}.btn.secondary:hover:not(:disabled){background:var(--paper-3);border-color:var(--line-heavy)}.btn.ghost{background:transparent;color:var(--ink-2);box-shadow:none}.btn.ghost:hover:not(:disabled){background:var(--paper-3);color:var(--ink)}.btn.accent{background:var(--accent);color:var(--on-fill)}.btn.accent:hover:not(:disabled){background:var(--accent-strong)}.btn.danger{background:var(--danger);color:var(--on-fill)}.btn.danger:hover:not(:disabled){background:color-mix(in srgb,var(--danger) 86%,var(--ink))}.btn.danger-ghost{background:transparent;color:var(--danger);box-shadow:none}.btn.danger-ghost:hover:not(:disabled){background:var(--danger-wash)}.btn.sm{height:var(--control-h-sm);padding:0 var(--s3);font-size:var(--fs-xs);gap:6px;border-radius:var(--r-1)}.btn.sm svg{width:13px;height:13px}.btn.lg{height:44px;padding:0 var(--s5);font-size:var(--fs-body)}.btn.icon{width:var(--control-h);padding:0}.btn.icon.sm{width:var(--control-h-sm)}.btn.block{width:100%}.btn-group{display:inline-flex;border:1px solid var(--line-strong);border-radius:var(--r-2);overflow:hidden;background:var(--paper)}.btn-group>button{height:var(--control-h-sm);padding:0 var(--s3);font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--ink-3);border-right:1px solid var(--line);transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.btn-group>button:last-child{border-right:none}.btn-group>button:hover{background:var(--paper-3);color:var(--ink)}.btn-group>button.active{background:var(--ink);color:var(--ink-inverse)}.kbd{display:inline-flex;align-items:center;gap:1px;height:18px;padding:0 5px;border:1px solid var(--line-strong);border-bottom-width:2px;border-radius:var(--r-1);background:var(--paper);color:var(--ink-4);font-family:var(--font-mono);font-size:10px;font-weight:var(--fw-medium);line-height:1}.field{display:flex;flex-direction:column;gap:6px;min-width:0}.field>label{font-size:var(--fs-sm);font-weight:var(--fw-semibold);color:var(--ink-2);line-height:var(--lh-snug)}.field .hint{font-size:var(--fs-xs);color:var(--ink-4);line-height:var(--lh-snug)}.field .err{display:flex;align-items:flex-start;gap:5px;font-size:var(--fs-xs);color:var(--danger);font-weight:var(--fw-medium)}.field .req{color:var(--accent-ink);margin-left:2px}.input,.textarea,.select{width:100%;min-width:0;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-2);padding:0 var(--s3);height:var(--control-h);font-size:var(--fs-body);color:var(--ink);transition:border-color var(--dur-1) var(--ease),box-shadow var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.input:hover:not(:disabled):not(:focus),.textarea:hover:not(:disabled):not(:focus),.select:hover:not(:disabled):not(:focus){border-color:var(--line-heavy)}.input:focus,.textarea:focus,.select:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--paper-3);color:var(--ink-4);cursor:not-allowed}.input::placeholder,.textarea::placeholder{color:var(--ink-4)}.input[aria-invalid=true],.textarea[aria-invalid=true],.select[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus,.textarea[aria-invalid=true]:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 22%,transparent)}.textarea{height:auto;min-height:104px;padding:var(--s3);line-height:var(--lh-body);resize:vertical}.input.sm,.select.sm{height:var(--control-h-sm);font-size:var(--fs-sm)}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;padding-right:var(--s6);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 4.5 6 8l3.5-3.5' stroke='%236c6c68' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right var(--s3) center}[data-theme=dark] .select{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2.5 4.5 6 8l3.5-3.5' stroke='%2393959c' stroke-width='1.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>")}.input-affix{position:relative;display:flex;align-items:center}.input-affix>svg{position:absolute;left:var(--s3);width:15px;height:15px;color:var(--ink-4);pointer-events:none}.input-affix>.input{padding-left:calc(var(--s3) * 2 + 15px)}.check{display:inline-flex;align-items:center;gap:var(--s2);cursor:pointer;font-size:var(--fs-sm);color:var(--ink-2);line-height:var(--lh-snug)}.check input{width:16px;height:16px;flex:none;accent-color:var(--accent);cursor:pointer}.check input:disabled,.check:has(input:disabled){cursor:not-allowed;color:var(--ink-4)}.switch{position:relative;display:inline-flex;align-items:center;gap:var(--s3);cursor:pointer;font-size:var(--fs-sm)}.switch input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:34px;height:20px;flex:none;margin:0;border-radius:var(--r-full);background:var(--line-heavy);cursor:pointer;transition:background var(--dur-2) var(--ease)}.switch input:after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:var(--r-full);background:var(--on-fill);box-shadow:var(--shadow-xs);transition:transform var(--dur-2) var(--ease-out)}.switch input:checked{background:var(--accent)}.switch input:checked:after{transform:translate(14px)}.switch input:disabled{opacity:.5;cursor:not-allowed}.dropzone{display:flex;flex-direction:column;align-items:center;gap:var(--s2);padding:var(--s6) var(--s5);border:1px dashed var(--line-strong);border-radius:var(--r-3);background:var(--paper);color:var(--ink-3);text-align:center;transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.dropzone:hover,.dropzone.over{border-color:var(--accent);background:var(--accent-wash)}.form-actions{display:flex;align-items:center;gap:var(--s3);padding-top:var(--s4);margin-top:var(--s4);border-top:1px solid var(--line)}.table{width:100%;border-collapse:separate;border-spacing:0;font-size:var(--fs-sm)}.table th{position:sticky;top:0;z-index:1;text-align:left;font-size:var(--fs-micro);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--ink-4);font-weight:var(--fw-semibold);padding:var(--s3) var(--s4);background:var(--paper);border-bottom:1px solid var(--line-strong);white-space:nowrap}.table td{padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);vertical-align:middle;color:var(--ink-2)}.table td strong,.table td b{color:var(--ink);font-weight:var(--fw-semibold)}.table tbody tr{transition:background var(--dur-1) var(--ease)}.table tbody tr:hover{background:var(--paper-2)}.table tbody tr:last-child td{border-bottom:none}.table tbody tr.selected{background:var(--accent-wash)}.table .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.table .shrink{width:1%;white-space:nowrap}.table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table th.sortable:hover{color:var(--ink-2)}.table th .sort-arrow{display:inline-block;margin-left:4px;opacity:.5}.table th[aria-sort] .sort-arrow{opacity:1;color:var(--accent-ink)}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:var(--paper-3)}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}.badge{display:inline-flex;align-items:center;gap:5px;height:21px;padding:0 8px;border-radius:var(--r-full);font-size:var(--fs-micro);font-weight:var(--fw-semibold);letter-spacing:.02em;line-height:1;white-space:nowrap;border:1px solid var(--line-strong);color:var(--ink-2);background:var(--paper)}.badge.dot:before{content:"";width:6px;height:6px;flex:none;border-radius:var(--r-full);background:currentColor}.badge.ok{color:var(--ok);background:var(--ok-wash);border-color:var(--ok-line)}.badge.warn{color:var(--warn);background:var(--warn-wash);border-color:var(--warn-line)}.badge.danger{color:var(--danger);background:var(--danger-wash);border-color:var(--danger-line)}.badge.info{color:var(--info);background:var(--info-wash);border-color:var(--info-line)}.badge.accent{color:var(--accent-ink);background:var(--accent-wash);border-color:var(--accent-line)}.badge.neutral{color:var(--ink-3);background:var(--paper-3);border-color:var(--line)}.badge.solid{color:var(--ink-inverse);background:var(--ink);border-color:var(--ink)}.badge.live:before{animation:pulse-dot 1.8s var(--ease) infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.8)}}.chip{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 6px 0 10px;border:1px solid var(--line-strong);border-radius:var(--r-full);background:var(--paper);font-size:var(--fs-xs);font-weight:var(--fw-medium);color:var(--ink-2)}.chip button{display:grid;place-items:center;width:16px;height:16px;border-radius:var(--r-full);color:var(--ink-4)}.chip button:hover{background:var(--paper-4);color:var(--ink)}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--s2);font-size:var(--fs-xs);color:var(--ink-4);font-variant-numeric:tabular-nums}.meta>*+*:before{content:"·";margin-right:var(--s2);color:var(--ink-5)}.provenance{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--ink-4)}.provenance svg{width:12px;height:12px;color:var(--ink-5)}.provenance .src{color:var(--ink-3);font-weight:var(--fw-medium)}.spinner{width:18px;height:18px;flex:none;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentColor;border-radius:var(--r-full);animation:spin .65s linear infinite}.spinner.sm{width:13px;height:13px;border-width:1.5px}.spinner.lg{width:26px;height:26px}@keyframes spin{to{transform:rotate(360deg)}}.loading-row{display:flex;align-items:center;gap:var(--s3);padding:var(--s5);color:var(--ink-3);font-size:var(--fs-sm)}.skeleton{background:linear-gradient(90deg,var(--paper-3) 25%,color-mix(in srgb,var(--paper-3) 45%,var(--paper)) 50%,var(--paper-3) 75%);background-size:200% 100%;animation:shimmer 1.4s var(--ease) infinite;border-radius:var(--r-1);height:12px}@keyframes shimmer{to{background-position:-200% 0}}.skeleton.text{height:12px;margin:6px 0}.skeleton.title{height:18px;width:45%}.skeleton.line{height:12px;width:100%}.skeleton.chip{height:21px;width:74px;border-radius:var(--r-full)}.skeleton.block{height:100%;min-height:120px;border-radius:var(--r-3)}.skeleton-rows>*+*{margin-top:var(--s3)}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--s3);padding:var(--s7) var(--s5);color:var(--ink-3)}.empty .glyph{width:38px;height:38px;padding:9px;box-sizing:content-box;color:var(--ink-4);background:var(--paper-3);border-radius:var(--r-full)}.empty .empty-title{font-size:var(--fs-md);font-weight:var(--fw-semibold);color:var(--ink)}.empty .empty-hint{font-size:var(--fs-sm);color:var(--ink-3);max-width:46ch;line-height:var(--lh-snug)}.empty.danger .glyph{color:var(--danger);background:var(--danger-wash)}.empty.compact{padding:var(--s5) var(--s4)}.progress{height:4px;width:100%;overflow:hidden;border-radius:var(--r-full);background:var(--paper-4)}.progress>i{display:block;height:100%;border-radius:inherit;background:var(--accent);transition:width var(--dur-3) var(--ease)}.progress.indeterminate>i{width:34%;animation:slide 1.25s var(--ease) infinite}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(320%)}}.stage{display:flex;align-items:center;gap:var(--s2);font-size:var(--fs-xs);color:var(--ink-3)}.stage .dot{width:6px;height:6px;border-radius:var(--r-full);background:var(--accent);animation:pulse-dot 1.6s var(--ease) infinite}.notice{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);border:1px solid var(--line);border-left-width:3px;border-radius:var(--r-2);background:var(--paper);font-size:var(--fs-sm);line-height:var(--lh-snug);color:var(--ink-2)}.notice>svg{width:16px;height:16px;flex:none;margin-top:1px}.notice .notice-title{font-weight:var(--fw-semibold);color:var(--ink)}.notice.info{border-color:var(--info-line);border-left-color:var(--info);background:var(--info-wash)}.notice.info>svg{color:var(--info)}.notice.ok{border-color:var(--ok-line);border-left-color:var(--ok);background:var(--ok-wash)}.notice.ok>svg{color:var(--ok)}.notice.warn{border-color:var(--warn-line);border-left-color:var(--warn);background:var(--warn-wash)}.notice.warn>svg{color:var(--warn)}.notice.danger{border-color:var(--danger-line);border-left-color:var(--danger);background:var(--danger-wash)}.notice.danger>svg{color:var(--danger)}.health-dot{width:8px;height:8px;flex:none;border-radius:var(--r-full);background:var(--ink-5);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink-5) 18%,transparent)}.health-dot.up{background:var(--ok);box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 18%,transparent)}.health-dot.degraded{background:var(--warn);box-shadow:0 0 0 3px color-mix(in srgb,var(--warn) 18%,transparent)}.health-dot.down{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb,var(--danger) 18%,transparent)}.logline{display:grid;grid-template-columns:78px 62px minmax(0,1fr);gap:var(--s3);padding:5px var(--s3);font-family:var(--font-mono);font-size:var(--fs-xs);line-height:1.5;border-bottom:1px solid var(--line);color:var(--ink-2)}.logline:hover{background:var(--paper-2)}.logline .ts{color:var(--ink-4);font-variant-numeric:tabular-nums}.logline .lvl{font-weight:var(--fw-bold);text-transform:uppercase;font-size:10px;letter-spacing:.06em}.logline.debug .lvl{color:var(--ink-4)}.logline.info .lvl{color:var(--info)}.logline.warn .lvl{color:var(--warn)}.logline.error .lvl{color:var(--danger)}.logline .msg{word-break:break-word}.logline .scope{color:var(--accent-ink)}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:grid;place-items:center;padding:var(--s5);background:var(--scrim);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);animation:fade var(--dur-2) var(--ease)}@keyframes fade{0%{opacity:0}}.modal{width:100%;max-width:540px;max-height:min(90vh,800px);display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-4);box-shadow:var(--shadow-lg);animation:modal-in var(--dur-2) var(--ease-out);overflow:hidden}.modal.wide{max-width:780px}.modal.narrow{max-width:420px}.modal>.card-head{flex:none}.modal>.modal-body{overflow:auto;padding:var(--s5)}.modal>.modal-foot{flex:none;display:flex;align-items:center;justify-content:flex-end;gap:var(--s2);padding:var(--s3) var(--s5);border-top:1px solid var(--line);background:var(--paper-2)}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}.menu{position:relative;display:inline-flex}.menu-list{position:absolute;z-index:30;top:calc(100% + 4px);right:0;min-width:200px;max-height:60vh;overflow:auto;padding:var(--s1);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-3);box-shadow:var(--shadow-md);animation:menu-in var(--dur-1) var(--ease-out)}.menu-list.left{right:auto;left:0}.menu-list.up{top:auto;bottom:calc(100% + 4px)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.menu-item{display:flex;width:100%;align-items:center;gap:var(--s2);padding:7px var(--s3);border-radius:var(--r-1);font-size:var(--fs-sm);color:var(--ink-2);text-align:left;cursor:pointer;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.menu-item:hover,.menu-item[aria-selected=true]{background:var(--paper-3);color:var(--ink)}.menu-item svg{width:14px;height:14px;color:var(--ink-4);flex:none}.menu-item:hover svg{color:var(--ink-3)}.menu-item .kbd{margin-left:auto}.menu-item.danger{color:var(--danger)}.menu-item.danger:hover{background:var(--danger-wash)}.menu-item[aria-checked=true]:after{content:"";margin-left:auto;width:6px;height:6px;border-radius:var(--r-full);background:var(--accent)}.menu-sep{height:1px;margin:var(--s1) 0;background:var(--line)}.menu-label{padding:6px var(--s3) 4px;font-size:10px;text-transform:uppercase;letter-spacing:var(--tr-label);color:var(--ink-4);font-weight:var(--fw-bold)}.has-tip{position:relative}.has-tip:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%) translateY(2px);z-index:40;padding:4px 8px;border-radius:var(--r-1);background:var(--ink);color:var(--ink-inverse);font-size:var(--fs-micro);font-weight:var(--fw-medium);white-space:nowrap;letter-spacing:0;opacity:0;pointer-events:none;transition:opacity var(--dur-1) var(--ease),transform var(--dur-1) var(--ease)}.has-tip:hover:after,.has-tip:focus-visible:after{opacity:1;transform:translate(-50%) translateY(0)}.toast-wrap{position:fixed;right:var(--s5);bottom:var(--s5);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--s2);width:min(400px,calc(100vw - var(--s6)));pointer-events:none}.toast{display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s3) var(--s3) var(--s4);border-radius:var(--r-3);border:1px solid var(--line-strong);background:var(--paper);color:var(--ink);font-size:var(--fs-sm);line-height:var(--lh-snug);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-in var(--dur-2) var(--ease-out)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px) scale(.98)}}.toast.leaving{animation:toast-out var(--dur-2) var(--ease) forwards}@keyframes toast-out{to{opacity:0;transform:translate(12px)}}.toast .toast-icon{width:16px;height:16px;flex:none;margin-top:1px}.toast .toast-body{flex:1;min-width:0}.toast .toast-title{font-weight:var(--fw-semibold)}.toast .toast-detail{color:var(--ink-3);font-size:var(--fs-xs);margin-top:2px}.toast .toast-action{margin-top:6px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);color:var(--accent-ink);cursor:pointer}.toast .toast-action:hover{text-decoration:underline}.toast .toast-close{flex:none;display:grid;place-items:center;width:22px;height:22px;border-radius:var(--r-1);color:var(--ink-4);cursor:pointer}.toast .toast-close:hover{background:var(--paper-3);color:var(--ink)}.toast.ok{border-left:3px solid var(--ok)}.toast.ok .toast-icon{color:var(--ok)}.toast.danger{border-left:3px solid var(--danger)}.toast.danger .toast-icon{color:var(--danger)}.toast.warn{border-left:3px solid var(--warn)}.toast.warn .toast-icon{color:var(--warn)}.toast.info{border-left:3px solid var(--info)}.toast.info .toast-icon{color:var(--info)}.toast .toast-timer{position:absolute;left:0;bottom:0;height:2px;background:currentColor;opacity:.35}.palette-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);display:grid;align-items:start;justify-items:center;padding:max(10vh,var(--s6)) var(--s5) var(--s5);background:var(--scrim);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:fade var(--dur-2) var(--ease)}.palette{width:min(620px,100%);max-height:62vh;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-4);box-shadow:var(--shadow-lg);overflow:hidden;animation:modal-in var(--dur-2) var(--ease-out)}.palette-input{display:flex;align-items:center;gap:var(--s3);padding:var(--s4);border-bottom:1px solid var(--line)}.palette-input svg{width:17px;height:17px;color:var(--ink-4)}.palette-input input{flex:1;border:none;outline:none;background:none;font-size:var(--fs-md);color:var(--ink)}.palette-input input::placeholder{color:var(--ink-4)}.palette-results{flex:1;overflow-y:auto;padding:var(--s1) var(--s1) var(--s2)}.palette-foot{display:flex;align-items:center;gap:var(--s4);padding:6px var(--s4);border-top:1px solid var(--line);background:var(--paper-2);font-size:var(--fs-micro);color:var(--ink-4)}.palette-foot .hint{display:inline-flex;align-items:center;gap:4px}.palette-item{display:flex;align-items:center;gap:var(--s3);width:100%;padding:8px var(--s3);border-radius:var(--r-2);font-size:var(--fs-sm);color:var(--ink-2);text-align:left;cursor:pointer}.palette-item svg{width:15px;height:15px;color:var(--ink-4);flex:none}.palette-item .group{margin-left:auto;font-size:var(--fs-micro);color:var(--ink-4);text-transform:uppercase;letter-spacing:var(--tr-label)}.palette-item[aria-selected=true]{background:var(--paper-3);color:var(--ink)}.palette-item[aria-selected=true] svg{color:var(--accent)}.palette-item mark{background:none;color:var(--accent-ink);font-weight:var(--fw-semibold)}.sheet{position:fixed;left:0;right:0;bottom:0;z-index:var(--z-drawer);max-height:82dvh;overflow:auto;padding:var(--s5);background:var(--paper);border-top:1px solid var(--line-strong);border-radius:var(--r-4) var(--r-4) 0 0;box-shadow:var(--shadow-lg);animation:sheet-in var(--dur-3) var(--ease-out)}@keyframes sheet-in{0%{transform:translateY(100%)}}.prose,.bubble.md{white-space:normal;color:var(--ink);line-height:var(--lh-body)}.prose>:first-child,.bubble.md>:first-child{margin-top:0}.prose>:last-child,.bubble.md>:last-child{margin-bottom:0}.prose p,.bubble.md p,.prose ul,.bubble.md ul,.prose ol,.bubble.md ol,.prose pre,.bubble.md pre,.prose table,.bubble.md table,.prose blockquote,.bubble.md blockquote{margin:0 0 var(--s3)}.prose h1,.prose h2,.prose h3,.prose h4,.bubble.md h1,.bubble.md h2,.bubble.md h3,.bubble.md h4{margin:var(--s5) 0 var(--s2);font-weight:var(--fw-semibold);letter-spacing:var(--tr-heading);line-height:var(--lh-snug);scroll-margin-top:calc(var(--topbar-h) + var(--s4))}.prose h1,.bubble.md h1{font-size:var(--fs-h2)}.prose h2,.bubble.md h2{font-size:var(--fs-h3)}.prose h3,.prose h4,.bubble.md h3,.bubble.md h4{font-size:var(--fs-body)}.prose h2+p,.prose h3+p{margin-top:0}.prose ul,.bubble.md ul{list-style:disc;padding-left:1.35em}.prose ol,.bubble.md ol{list-style:decimal;padding-left:1.5em}.prose li,.bubble.md li{margin:3px 0}.prose li::marker,.bubble.md li::marker{color:var(--ink-4)}.prose li>p,.bubble.md li>p{margin:0}.prose li>ul,.prose li>ol{margin-top:3px}.prose code,.bubble.md code{font-family:var(--font-mono);font-size:.85em;background:var(--paper-3);border:1px solid var(--line);padding:.5px 4px;border-radius:var(--r-1);word-break:break-word}.prose pre,.bubble.md pre{background:var(--paper-3);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s3) var(--s4);overflow-x:auto;line-height:1.6}.prose pre code,.bubble.md pre code{background:none;border:none;padding:0}.prose table,.bubble.md table{border-collapse:collapse;font-size:var(--fs-sm);display:block;overflow-x:auto;max-width:100%}.prose th,.prose td,.bubble.md th,.bubble.md td{border:1px solid var(--line-strong);padding:5px var(--s2);text-align:left;vertical-align:top}.prose th,.bubble.md th{background:var(--paper-3);font-weight:var(--fw-semibold);white-space:nowrap}.prose blockquote,.bubble.md blockquote{border-left:3px solid var(--line-strong);padding:2px 0 2px var(--s3);color:var(--ink-2);font-style:normal}.prose a,.bubble.md a{color:var(--accent-ink);text-decoration:underline;text-underline-offset:2px}.prose hr,.bubble.md hr{border:none;border-top:1px solid var(--line-strong);margin:var(--s5) 0}.prose img{border-radius:var(--r-2);border:1px solid var(--line)}.prose.reading{font-family:var(--font-serif);font-size:var(--fs-lg);line-height:var(--lh-read);max-width:var(--measure);font-feature-settings:"liga" 1,"onum" 0}.prose.reading h1{font-size:1.6rem}.prose.reading h2{font-size:1.3rem}.prose.reading h3{font-size:1.1rem}.prose.reading p{margin-bottom:var(--s4)}.prose.reading code,.prose.reading pre{font-size:.8em}.prose.redline del{color:var(--danger);background:var(--danger-wash);text-decoration:line-through;text-decoration-thickness:1px;padding:0 2px;border-radius:2px}.prose.redline strong{color:var(--ok);background:var(--ok-wash);font-weight:var(--fw-semibold);padding:0 2px;border-radius:2px}.chat{display:grid;grid-template-columns:288px minmax(0,1fr);gap:var(--s5);height:calc(100vh - var(--topbar-h) - var(--s6) * 2);min-height:520px}.chat-list{display:flex;flex-direction:column;min-height:0;overflow:hidden}.chat-list .conv-scroll{overflow-y:auto;flex:1}.chat-conv{display:flex;flex-direction:column;min-height:0}.chat-thread{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--s5);display:flex;flex-direction:column;gap:var(--s5);scroll-padding-bottom:var(--s5)}.msg{display:flex;gap:var(--s3);max-width:86%;animation:msg-in var(--dur-2) var(--ease-out)}@keyframes msg-in{0%{opacity:0;transform:translateY(4px)}}.msg.user{align-self:flex-end;flex-direction:row-reverse}.msg .who{width:26px;height:26px;flex:none;border-radius:var(--r-full);display:grid;place-items:center;font-size:10px;font-weight:var(--fw-bold);background:var(--paper-3);color:var(--ink-3);border:1px solid var(--line)}.msg.user .who{background:var(--ink);color:var(--ink-inverse);border-color:var(--ink)}.bubble{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s3) var(--s4);white-space:pre-wrap;line-height:var(--lh-body);font-size:var(--fs-body);min-width:0}.msg.user .bubble{background:var(--accent-wash);border-color:var(--accent-line)}.bubble.streaming:after{content:"";display:inline-block;width:2px;height:1em;margin-left:2px;vertical-align:-.15em;background:var(--accent);animation:caret 1s steps(2) infinite}@keyframes caret{50%{opacity:0}}.chat-compose{border-top:1px solid var(--line);padding:var(--s4);display:flex;gap:var(--s3);align-items:flex-end;background:var(--paper);border-radius:0 0 var(--r-3) var(--r-3)}.chat-compose .textarea{min-height:44px;max-height:220px;border-radius:var(--r-2)}.conv-search{padding:var(--s2);border-bottom:1px solid var(--line)}.conv-search .input{font-size:var(--fs-sm);height:var(--control-h-sm)}.conv-item{display:block;width:100%;padding:var(--s3) var(--s4);border-bottom:1px solid var(--line);border-left:2px solid transparent;text-align:left;cursor:pointer;transition:background var(--dur-1) var(--ease),border-color var(--dur-1) var(--ease)}.conv-item:hover{background:var(--paper-2)}.conv-item.active{background:var(--paper-3);border-left-color:var(--accent)}.conv-item .t{font-weight:var(--fw-semibold);font-size:var(--fs-sm);color:var(--ink)}.conv-item .d{font-size:var(--fs-xs);color:var(--ink-4);margin-top:2px}.conv-item .row .d{margin-top:0}.conv-actions{opacity:0;transition:opacity var(--dur-1) var(--ease)}.conv-item:hover .conv-actions,.conv-item.active .conv-actions,.conv-item:focus-within .conv-actions{opacity:1}.msg-actions{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.msg-action{display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 var(--s2);border-radius:var(--r-1);color:var(--ink-4);font-size:var(--fs-micro);font-weight:var(--fw-semibold);cursor:pointer;transition:background var(--dur-1) var(--ease),color var(--dur-1) var(--ease)}.msg-action:hover{background:var(--paper-3);color:var(--ink)}.msg-action svg{width:13px;height:13px}.msg-menu{position:relative}.msg-menu-list{position:absolute;bottom:calc(100% + 4px);left:0;z-index:30;min-width:200px;padding:var(--s1);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-3);box-shadow:var(--shadow-md);animation:menu-in var(--dur-1) var(--ease-out)}.msg-menu-item{display:flex;width:100%;align-items:center;gap:var(--s2);padding:7px var(--s3);border-radius:var(--r-1);font-size:var(--fs-sm);text-align:left;cursor:pointer;color:var(--ink-2)}.msg-menu-item:hover{background:var(--paper-3);color:var(--ink)}.msg-menu-item svg{width:14px;height:14px;color:var(--ink-4)}.thinking{display:inline-flex;align-items:center;gap:var(--s2);color:var(--ink-3);font-size:var(--fs-sm)}.thinking .dots{display:inline-flex;gap:3px}.thinking .dots i{width:5px;height:5px;border-radius:var(--r-full);background:var(--ink-4);animation:think 1.2s var(--ease) infinite}.thinking .dots i:nth-child(2){animation-delay:.15s}.thinking .dots i:nth-child(3){animation-delay:.3s}@keyframes think{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-2px)}}.source-card{border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s2) var(--s3);background:var(--paper);font-size:var(--fs-sm);transition:border-color var(--dur-1) var(--ease),background var(--dur-1) var(--ease)}.source-card:hover{border-color:var(--line-strong);background:var(--paper-2)}.source-card.negative{border-color:var(--danger-line);background:var(--danger-wash)}.source-excerpt{margin:var(--s2) 0 0;padding-left:var(--s3);border-left:2px solid var(--line-strong);color:var(--ink-2);font-size:var(--fs-xs);line-height:var(--lh-snug);white-space:pre-wrap}.chat-pane-toggle{display:none;margin-bottom:var(--s3)}.authority-chip{display:inline-flex;align-items:center;gap:2px}.authority-chip .msg-action{padding:0 2px}.doc-editor{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.7;min-height:60vh;width:100%;-moz-tab-size:2;tab-size:2;border-radius:var(--r-3);padding:var(--s4)}.doc-preview{border:1px solid var(--line);border-radius:var(--r-3);padding:var(--s5);min-height:60vh;max-height:80vh;overflow:auto;background:var(--paper)}.editor-bar{position:sticky;top:var(--topbar-h);z-index:10;display:flex;align-items:center;gap:var(--s3);padding:var(--s3) 0;margin-bottom:var(--s3);background:color-mix(in srgb,var(--paper-2) 90%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}.editor-bar .dirty{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);color:var(--warn);font-weight:var(--fw-medium)}.citecheck{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--s5);align-items:start}.editor-surface{position:relative}.editor-backdrop,.editor-input{font-family:var(--font-mono);font-size:var(--fs-sm);line-height:1.7;padding:var(--s4);white-space:pre-wrap;word-break:break-word;border:1px solid var(--line-strong);border-radius:var(--r-3);min-height:440px;width:100%;box-sizing:border-box;margin:0;letter-spacing:0}.editor-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--paper);color:var(--ink);pointer-events:none}.editor-input{position:relative;display:block;background:transparent;color:transparent;caret-color:var(--accent);resize:vertical;overflow:auto}.editor-input:focus{outline:none;border-color:var(--accent);box-shadow:var(--shadow-focus)}.editor-input::selection{background:var(--selection)}.cite-mark{background:transparent;color:inherit;border-radius:2px;text-decoration-line:underline;text-decoration-thickness:2px;text-decoration-skip-ink:none;text-underline-offset:3px}.cite-mark.ok{background:var(--ok-wash);text-decoration-color:var(--ok)}.cite-mark.warn{background:var(--warn-wash);text-decoration-color:var(--warn)}.cite-mark.danger{background:var(--danger-wash);text-decoration-color:var(--danger);text-decoration-style:wavy}.cite-mark.neutral{background:var(--paper-3);text-decoration-color:var(--ink-4);text-decoration-style:dotted}.cite-card{position:absolute;z-index:30;width:310px;max-width:calc(100% - var(--s4));padding:var(--s3);background:var(--paper);border:1px solid var(--line-strong);border-radius:var(--r-3);box-shadow:var(--shadow-md);font-size:var(--fs-sm);animation:menu-in var(--dur-1) var(--ease-out)}.timeline{min-width:0}.timeline-group+.timeline-group{margin-top:var(--s5)}.timeline-label{font-size:var(--fs-micro);text-transform:uppercase;letter-spacing:var(--tr-label);color:var(--ink-4);font-weight:var(--fw-semibold);margin:var(--s4) 0 var(--s2)}.timeline-list{list-style:none;margin:0;padding:0 0 0 var(--s5);border-left:1px solid var(--line-strong)}.timeline-item{position:relative;padding:0 0 var(--s4) var(--s2)}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:calc(-1 * var(--s5) - 4px);top:5px;width:7px;height:7px;border-radius:var(--r-full);background:var(--accent);box-shadow:0 0 0 3px var(--paper-2)}.timeline-item.muted-event .timeline-dot{background:var(--ink-5)}.timeline-body{font-size:var(--fs-sm);display:flex;flex-direction:column;gap:2px;line-height:var(--lh-snug)}.timeline-body .when{font-size:var(--fs-xs);color:var(--ink-4);font-variant-numeric:tabular-nums;font-weight:var(--fw-semibold)}.auth{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:1.05fr 1fr}.auth-aside{position:relative;overflow:hidden;background:#101011;color:#f4f4f2;padding:var(--s8) var(--s7);display:flex;flex-direction:column;justify-content:space-between;gap:var(--s6)}.auth-aside:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(70% 55% at 12% 8%,rgba(228,72,43,.16),transparent 62%),radial-gradient(60% 45% at 92% 96%,rgba(255,255,255,.07),transparent 60%);pointer-events:none}.auth-aside>*{position:relative}.auth-aside h2{font-size:clamp(1.9rem,3.2vw,2.5rem);letter-spacing:var(--tr-display);line-height:1.08;font-weight:var(--fw-semibold)}.auth-aside .lede{color:#b9b9b4;margin-top:var(--s4);max-width:42ch;font-size:var(--fs-md);line-height:var(--lh-body)}.auth-aside .feat{display:flex;gap:var(--s3);padding:var(--s3) 0;border-top:1px solid rgba(255,255,255,.1)}.auth-aside .feat-t{font-weight:var(--fw-semibold);font-size:var(--fs-sm)}.auth-aside .feat-d{color:#9a9a95;font-size:var(--fs-xs);line-height:var(--lh-snug);margin-top:2px}.auth-aside .auth-brand{display:flex;align-items:center;gap:var(--s3)}.auth-aside .auth-brand span{font-weight:var(--fw-bold);letter-spacing:.06em}.auth-aside .eyebrow{color:#86867f}.auth-main{display:grid;place-items:center;padding:var(--s7) var(--s6);background:var(--paper)}.auth-card{width:100%;max-width:384px}.auth-card h1{font-size:var(--fs-h1);margin:var(--s2) 0 var(--s5);letter-spacing:var(--tr-heading)}.auth-card .auth-foot{margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line);font-size:var(--fs-sm);color:var(--ink-3);line-height:var(--lh-body)}.pw-meter{display:flex;gap:3px;margin-top:6px}.pw-meter i{height:3px;flex:1;border-radius:var(--r-full);background:var(--paper-4);transition:background var(--dur-2) var(--ease)}.pw-meter.s1 i:nth-child(1){background:var(--danger)}.pw-meter.s2 i:nth-child(-n+2){background:var(--warn)}.pw-meter.s3 i:nth-child(-n+3){background:var(--warn)}.pw-meter.s4 i{background:var(--ok)}@media (max-width: 900px){.chat{grid-template-columns:minmax(0,1fr);height:calc(100dvh - var(--topbar-h) - 176px);min-height:380px}.chat.show-list .chat-conv{display:none}.chat:not(.show-list) .chat-list{display:none}.chat-pane-toggle{display:inline-flex}.msg{max-width:100%}.citecheck{grid-template-columns:minmax(0,1fr)}}@media (max-width: 820px){.auth{grid-template-columns:minmax(0,1fr)}.auth-aside{display:none}}.menu-btn{display:none}.sidebar-scrim{position:fixed;top:0;right:0;bottom:0;left:0;z-index:calc(var(--z-drawer) - 1);background:var(--scrim);animation:fade var(--dur-2) var(--ease)}@media (min-width: 761px){.sidebar-scrim{display:none}}@media (max-width: 760px){.menu-btn{display:inline-grid}.app{grid-template-columns:minmax(0,1fr)}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100dvh;width:min(var(--sidebar-w),86vw);z-index:var(--z-drawer);transform:translate(-100%);transition:transform var(--dur-3) var(--ease-out);box-shadow:var(--shadow-lg)}.sidebar.open{transform:translate(0)}.topbar{padding:0 var(--s4);gap:var(--s2)}.content{padding:var(--s4) var(--s4) var(--s7)}.app-footer{padding:var(--s4)}.page-header{flex-wrap:wrap;align-items:flex-start;row-gap:var(--s3)}.page-title{font-size:var(--fs-h2)}.crumbs>*:not(:last-child){display:none}.omni-trigger{min-width:0;padding:0;width:32px;justify-content:center}.omni-trigger span,.omni-trigger .kbd,.userchip .who{display:none}.table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}.table th{position:static}.input,.textarea,.select{font-size:16px}.toast-wrap{left:var(--s3);right:var(--s3);bottom:var(--s3);width:auto}.kv{grid-template-columns:minmax(0,1fr);gap:0 var(--s4)}.kv dt{margin-top:var(--s2)}.tabs{gap:var(--s4)}.card-pad{padding:var(--s4)}.card-head{padding:var(--s3) var(--s4)}.stat{padding:var(--s4)}.stat .n{font-size:1.9rem}.chat-thread{padding:var(--s4);gap:var(--s4)}.chat-compose{padding:var(--s3)}.auth-main{padding:var(--s6) var(--s4)}.palette-scrim{padding:var(--s5) var(--s3) var(--s3)}.modal{max-height:92dvh}.nav-link{height:40px}.btn{min-height:38px}.icon-btn{width:38px;height:38px}}@media (max-width: 520px){.crumbs{display:none}.page-header{flex-direction:column;align-items:stretch}.page-header .row{flex-wrap:wrap}.btn{flex:1 1 auto}.form-actions{flex-wrap:wrap}}@media (hover: none){.conv-actions{opacity:1}}
