@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-ext-wght-normal-d45eAU9y.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-cyrillic-wght-normal-BAAhND-U.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-greek-wght-normal-CmyJS8uq.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-vietnamese-wght-normal-Dg1JeJN0.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-ext-wght-normal-CIII54If.woff2) format("woff2-variations");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:IBM Plex Sans Variable;font-style:normal;font-display:swap;font-weight:100 700;src:url(/assets/ibm-plex-sans-latin-wght-normal-IvpUvPa2.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");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 Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");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}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}:root{color-scheme:dark;--bg-0: #0b0d10;--bg-1: #12151a;--bg-2: #181c23;--bg-3: #1f242c;--border-subtle: #232932;--border-strong: #2f3641;--text-1: #ecedee;--text-2: #a9b0bb;--text-3: #6e7684;--accent: #3ab5c4;--accent-soft: #3ab5c422;--success: #4ec9a4;--success-soft: #4ec9a418;--warn: #f0b960;--warn-soft: #f0b96018;--danger: #f26b7a;--danger-soft: #f26b7a18;--info: #6aa7ff;--bubble-human: #1a3a6b;--bubble-ai: #141820;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .35);--shadow-lg: 0 12px 40px rgba(0, 0, 0, .45);--ease-out: cubic-bezier(.2, 0, 0, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--dur-1: .12s;--dur-2: .18s;--dur-3: .28s;--dur-4: .42s;--font-sans: "IBM Plex Sans Variable", "IBM Plex Sans", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;font-family:var(--font-sans);font-feature-settings:"cv02","cv03","cv04","cv11";line-height:1.55}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:0ms!important;animation-iteration-count:1!important;transition-duration:0ms!important;scroll-behavior:auto!important}}body{margin:0;background:var(--bg-0);color:var(--text-1);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}:where(button,a,input,textarea,select,[tabindex]):focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}button{cursor:pointer;font:inherit;font-family:var(--font-sans);border-radius:var(--radius-sm);border:1px solid var(--border-subtle);background:var(--bg-2);color:var(--text-1);padding:.45rem .85rem;min-height:36px;transition:background var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}button:hover:not(:disabled){background:var(--bg-3);border-color:var(--border-strong)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.55;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#02161a;font-weight:500}button.primary:hover:not(:disabled){background:#4dc5d4;border-color:#4dc5d4}button.success{background:var(--success);border-color:var(--success);color:#022019;font-weight:500}button.success:hover:not(:disabled){background:#5fd6b2;border-color:#5fd6b2}button.danger{background:transparent;border-color:var(--danger);color:var(--danger)}button.danger:hover:not(:disabled){background:var(--danger-soft)}button.ghost{background:transparent;border-color:transparent;color:var(--text-2)}button.ghost:hover:not(:disabled){background:var(--bg-2);color:var(--text-1)}input,textarea{font:inherit;font-family:var(--font-sans);padding:.5rem .7rem;background:var(--bg-3);color:var(--text-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;transition:border-color var(--dur-1) var(--ease-out),background var(--dur-1) var(--ease-out)}input:focus-visible,textarea:focus-visible{border-color:var(--accent);outline:none;background:var(--bg-2)}input::placeholder,textarea::placeholder{color:var(--text-3)}a{color:var(--info);text-decoration:none}a:hover{text-decoration:underline}code,kbd,samp,pre{font-family:var(--font-mono)}.app-grid-shell{display:grid;grid-template-columns:auto 1fr;height:100vh;width:100%}.app{display:flex;flex-direction:column;height:100vh;max-width:1400px;margin:0 auto;padding:var(--space-3) var(--space-4) var(--space-3);width:100%}.app-center{max-width:880px;margin:0 auto;width:100%}.app-grid{display:grid;grid-template-columns:360px 1fr;gap:var(--space-5);flex:1;min-height:0}.app-grid>.app-center{max-width:880px}.header{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--border-subtle);margin-bottom:var(--space-4);gap:var(--space-4)}.header .brand-block{display:flex;align-items:center;gap:var(--space-5);min-width:0}.header .brand-block:after{content:"";position:absolute;pointer-events:none}.header .brand{font-weight:600;letter-spacing:-.02em;font-size:1.05rem}.header .nav{display:flex;gap:var(--space-4);align-items:center;font-size:.9rem;padding-left:var(--space-4);border-left:1px solid var(--border-subtle)}.header .nav a{position:relative;color:var(--text-2);padding:2px 0;transition:color var(--dur-1) var(--ease-out)}.header .nav a:hover{color:var(--text-1);text-decoration:none}.header .nav a.active{color:var(--text-1)}.header .nav a.active:after{content:"";position:absolute;left:0;right:0;bottom:-3px;height:2px;background:var(--accent);border-radius:1px;animation:underline-in var(--dur-2) var(--ease-out)}.header .admin-pill{display:inline-flex;align-items:center;padding:1px 7px;font-size:.66rem;font-weight:600;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill);letter-spacing:.06em;text-transform:uppercase;border:1px solid transparent}.header .user{display:flex;align-items:center;gap:var(--space-3)}.header .user-name{color:var(--text-2);font-size:.88rem}.trace-toggle{display:inline-flex;align-items:center;gap:var(--space-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.85rem;color:var(--text-2)}.trace-toggle input{display:none}.trace-toggle .knob-track{position:relative;width:32px;height:18px;background:var(--bg-3);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);transition:background var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out)}.trace-toggle .knob{position:absolute;top:1px;left:1px;width:14px;height:14px;background:var(--text-2);border-radius:50%;transition:transform var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.trace-toggle input:checked+.knob-track{background:var(--accent-soft);border-color:var(--accent)}.trace-toggle input:checked+.knob-track .knob{transform:translate(14px);background:var(--accent)}.chat{flex:1;overflow-y:auto;padding:var(--space-4) 0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to bottom,transparent 0,black 48px,black calc(100% - 64px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 48px,black calc(100% - 64px),transparent 100%)}.chat::-webkit-scrollbar{display:none}.msg{max-width:88%;line-height:1.65;padding:0;font-size:.96rem}.msg.human{align-self:flex-end;white-space:pre-wrap;color:var(--text-2);text-align:right;max-width:70%}.msg.ai{align-self:flex-start;color:var(--text-1)}.msg.ai.error{border-left:2px solid var(--danger);padding-left:var(--space-3);color:var(--danger)}.msg.ai p{margin:0 0 var(--space-3) 0}.msg.ai p:last-child{margin-bottom:0}.msg.ai ul,.msg.ai ol{margin:var(--space-2) 0;padding-left:1.4em}.msg.ai li{margin:2px 0}.msg.ai strong{font-weight:600;color:var(--text-1)}.msg.ai em{font-style:italic;color:var(--text-2)}.msg.ai a{color:var(--info)}.msg.ai code{background:var(--bg-0);color:var(--text-1);padding:1px 6px;border-radius:4px;font-size:.88em;border:1px solid var(--border-subtle)}.msg.ai pre{background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:var(--space-3);margin:var(--space-3) 0;overflow-x:auto;font-size:.85rem;line-height:1.5}.msg.ai pre code{background:transparent;border:none;padding:0;font-size:inherit}.msg.ai blockquote{border-left:3px solid var(--border-strong);margin:var(--space-2) 0;padding:var(--space-1) var(--space-3);color:var(--text-2)}.msg.ai table{border-collapse:collapse;margin:var(--space-3) 0;font-size:.9rem}.msg.ai th,.msg.ai td{border:1px solid var(--border-subtle);padding:6px 10px;text-align:left}.msg.ai th{background:var(--bg-2)}.hand-drawn-highlight,.hand-drawn-underline{position:relative;display:inline;color:var(--text-1);padding:0 2px}.citation-pill{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;margin:0 2px;background:var(--accent-soft);color:var(--accent);border-radius:var(--radius-pill);font-size:.82em;font-family:var(--font-sans);font-weight:500;border:1px solid transparent;transition:border-color var(--dur-1) var(--ease-out)}.citation-pill:hover{border-color:var(--accent)}.citation-pill.citation-pill--link{cursor:pointer;text-decoration:none}.citation-pill.citation-pill--link:hover{border-color:var(--accent);background:var(--accent);color:var(--bg)}.ai-nudge{margin-top:var(--space-3);padding-top:var(--space-2);border-top:1px dashed var(--text-3);color:var(--text-3);font-style:italic;font-size:.92em;line-height:1.45}.streaming-cursor{display:inline-block;width:2px;height:1em;background:var(--accent);margin-left:2px;vertical-align:text-bottom;animation:caret 1s steps(2) infinite}@keyframes caret{0%,50%{opacity:1}51%,to{opacity:0}}.typing-dots{display:inline-flex;gap:4px;padding:14px 18px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--text-3);animation:pulse-dot 1.1s infinite var(--ease-in-out)}.typing-dots span:nth-child(2){animation-delay:.15s}.typing-dots span:nth-child(3){animation-delay:.3s}@keyframes pulse-dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}.chat-empty{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-6);color:var(--text-2);text-align:center}.chat-empty h3{font-size:1.3rem;font-weight:500;color:var(--text-1);margin:0;letter-spacing:-.01em}.chat-empty p{margin:0;max-width:420px}.chat-empty .chips{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center;margin-top:var(--space-3)}.chat-empty .chip{background:var(--bg-2);border:1px solid var(--border-subtle);color:var(--text-2);padding:8px 14px;border-radius:var(--radius-pill);font-size:.85rem;cursor:pointer;transition:background var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),color var(--dur-1) var(--ease-out)}.chat-empty .chip:hover{background:var(--bg-3);border-color:var(--accent);color:var(--text-1)}.copy-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:0;background:transparent;border:none;color:var(--text-3);cursor:pointer;transition:color .12s var(--ease-out)}.copy-icon-btn:hover{color:var(--text-1);background:transparent}.copy-icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.composer{display:flex;padding:0 0 var(--space-2)}.composer-pill{display:flex;align-items:center;gap:var(--space-2);flex:1;padding:6px 10px 6px 16px;background:var(--bg-1);border:1px solid var(--border-subtle);border-radius:18px;transition:border-color .16s var(--ease-out),box-shadow .16s var(--ease-out)}.composer-pill:focus-within{border-color:color-mix(in srgb,var(--accent) 70%,var(--border-subtle));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.composer-pill input{flex:1;border:none;outline:none;background:transparent;color:var(--text-1);font-size:.95rem;padding:8px 0}.composer-pill input::placeholder{color:var(--text-3)}.composer-pill input:disabled{cursor:not-allowed;opacity:.6}.composer-send{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;border:1px solid var(--border-subtle);border-radius:50%;background:var(--bg-2);color:var(--text-2);cursor:pointer;transition:background-color .12s var(--ease-out),color .12s var(--ease-out),border-color .12s var(--ease-out)}.composer-send:hover:not(:disabled){background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,var(--border-subtle))}.composer-send:disabled{opacity:.4;cursor:not-allowed}.composer-send.is-stop{background:var(--accent-soft);color:var(--accent);border-color:color-mix(in srgb,var(--accent) 50%,var(--border-subtle))}.composer-send.is-stop:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 22%,var(--bg-2))}.approval-stack{align-self:stretch}.approval-stack-header{display:flex;align-items:center;justify-content:space-between;margin:0 0 var(--space-2);padding:0 var(--space-2)}.approval-stack-header h4{margin:0;color:var(--text-1);font-size:.92rem;font-weight:600;letter-spacing:-.01em}.approval-card{align-self:stretch}.approval-card .header-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.approval-card h4{margin:0;color:var(--text-1);font-size:.95rem;font-weight:600;letter-spacing:-.01em}.approval-card .card-hint{font-size:.82rem;color:var(--text-3)}.approval-card .row{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.approval-card label{font-size:.78rem;color:var(--text-2);display:block;margin-top:var(--space-2);font-weight:500}.approval-card textarea{min-height:96px;font-family:var(--font-sans)}.tool-subcard{background:var(--bg-2);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);margin-top:var(--space-3)}.tool-subcard.state-approved{border-color:var(--success);background:var(--success-soft)}.tool-subcard.state-edited{border-color:var(--warn);background:var(--warn-soft)}.tool-subcard.state-rejected{border-color:var(--danger);background:var(--danger-soft)}.tool-subcard .sub-header{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap}.tool-subcard .tool-name{font-family:var(--font-mono);font-size:.88rem;font-weight:500;color:var(--text-1)}.tool-subcard .kind-badge{font-size:.68rem;padding:1px 8px;border-radius:var(--radius-pill);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.tool-subcard .kind-badge.read{background:var(--info);color:#001022}.tool-subcard .kind-badge.write{background:var(--warn);color:#2a1a00}.tool-subcard .why{color:var(--text-2);font-size:.85rem;font-style:italic;margin-top:var(--space-2)}.tool-subcard .args-grid{display:grid;grid-template-columns:120px 1fr;gap:var(--space-2) var(--space-3);margin-top:var(--space-3);font-size:.88rem}.tool-subcard .arg-label{color:var(--text-2);font-weight:500;padding-top:4px}.tool-subcard .arg-value{color:var(--text-1);font-family:var(--font-mono);word-break:break-word;min-width:0}.tool-subcard .arg-value input,.tool-subcard .arg-value textarea{font-family:var(--font-mono);font-size:.88rem}.tool-subcard .actions{display:flex;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap}.tool-subcard .state-label{font-size:.82rem;font-weight:500;margin-left:auto;padding:4px 10px;border-radius:var(--radius-pill);background:var(--bg-3);color:var(--text-2)}.tool-subcard.state-approved .state-label{background:var(--success-soft);color:var(--success)}.tool-subcard.state-edited .state-label{background:var(--warn-soft);color:var(--warn)}.tool-subcard.state-rejected .state-label{background:var(--danger-soft);color:var(--danger)}.approval-card .bulk-row{display:flex;gap:var(--space-2);align-items:center;margin-top:var(--space-4);padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.approval-card .bulk-row .spacer{flex:1}.trace-sidebar{background:var(--bg-1);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;overflow:hidden;min-height:0;font-family:var(--font-mono);font-size:.8rem}.trace-sidebar .tr-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-bottom:1px solid var(--border-subtle);background:var(--bg-2);font-family:var(--font-sans);font-size:.85rem;color:var(--text-2);position:sticky;top:0;z-index:1}.trace-sidebar .tr-title{font-weight:600;color:var(--text-1)}.trace-sidebar .tr-badge{padding:2px 8px;border-radius:var(--radius-pill);font-size:.72rem;font-weight:500;letter-spacing:.04em;text-transform:uppercase}.trace-sidebar .tr-badge.idle{background:var(--bg-3);color:var(--text-3)}.trace-sidebar .tr-badge.running{background:var(--accent-soft);color:var(--accent)}.trace-sidebar .tr-badge.waiting{background:var(--warn-soft);color:var(--warn)}.trace-sidebar .tr-badge.complete{background:var(--success-soft);color:var(--success)}.trace-sidebar .tr-badge.error{background:var(--danger-soft);color:var(--danger)}.trace-sidebar .tr-badge.running:before{content:"";display:inline-block;width:6px;height:6px;margin-right:4px;border-radius:50%;background:currentColor;animation:pulse-dot 1.1s infinite var(--ease-in-out);vertical-align:middle}.trace-sidebar .tr-spacer{flex:1}.trace-sidebar .tr-list{flex:1;overflow-y:auto;padding:var(--space-2) 0}.trace-sidebar .tr-event{display:grid;grid-template-columns:auto 1fr;column-gap:var(--space-2);align-items:baseline;padding:6px var(--space-3) 6px calc(var(--space-3) - 3px);border-left:3px solid transparent;transition:background var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out);cursor:pointer}.trace-sidebar .tr-event:hover{background:var(--bg-2);transform:translate(1px)}.trace-sidebar .tr-event.kind-ok{border-left-color:var(--success)}.trace-sidebar .tr-event.kind-warn{border-left-color:var(--warn)}.trace-sidebar .tr-event.kind-error{border-left-color:var(--danger)}.trace-sidebar .tr-event.kind-wait{border-left-color:var(--info)}.trace-sidebar .tr-time{color:var(--text-3);font-size:.72rem}.trace-sidebar .tr-node{color:var(--text-1);font-weight:500}.trace-sidebar .tr-node.node-classify{color:#c8b8ff}.trace-sidebar .tr-node.node-retrieve,.trace-sidebar .tr-node.node-answer{color:var(--accent)}.trace-sidebar .tr-node.node-jira_agent,.trace-sidebar .tr-node.node-jira_tools,.trace-sidebar .tr-node.node-audit_jira_turn{color:var(--warn)}.trace-sidebar .tr-node.node-github_agent,.trace-sidebar .tr-node.node-github_tools,.trace-sidebar .tr-node.node-audit_github_turn{color:var(--success)}.trace-sidebar .tr-summary{grid-column:2;color:var(--text-2);word-break:break-word}.trace-sidebar .tr-json{grid-column:1 / -1;margin:var(--space-1) 0 var(--space-2) 0;padding:var(--space-2);background:var(--bg-0);border-radius:var(--radius-sm);font-size:.72rem;color:var(--text-2);overflow-x:auto;white-space:pre-wrap}.trace-sidebar .tr-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-6) var(--space-3);color:var(--text-3);font-family:var(--font-sans);font-size:.85rem;text-align:center}.trace-sidebar .pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--text-3);animation:pulse-dot 1.6s infinite var(--ease-in-out)}.skeleton{background:linear-gradient(90deg,var(--bg-1) 0%,var(--bg-2) 40%,var(--bg-1) 80%);background-size:200% 100%;animation:shimmer 1.4s linear infinite;border-radius:var(--radius-sm)}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.toast-host{position:fixed;bottom:var(--space-4);right:var(--space-4);display:flex;flex-direction:column-reverse;gap:var(--space-2);z-index:1000;pointer-events:none}.toast{pointer-events:auto;min-width:260px;max-width:420px;padding:var(--space-3) var(--space-4);background:var(--bg-2);border:1px solid var(--border-strong);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);color:var(--text-1);font-size:.9rem;display:flex;align-items:flex-start;gap:var(--space-2)}.toast.success{border-left:3px solid var(--success)}.toast.error{border-left:3px solid var(--danger)}.toast.info{border-left:3px solid var(--info)}.toast .toast-icon{flex-shrink:0;margin-top:1px}.toast .toast-msg{flex:1}.toast .toast-dismiss{background:transparent;border:none;color:var(--text-3);padding:0;min-height:0;cursor:pointer;line-height:1}.toast .toast-dismiss:hover{color:var(--text-1);background:transparent}.upload-zone{position:relative;padding:var(--space-6) var(--space-4);border:2px dashed var(--border-subtle);border-radius:var(--radius-lg);background:var(--bg-1);text-align:center;cursor:pointer;transition:border-color var(--dur-2) var(--ease-out),background var(--dur-2) var(--ease-out)}.upload-zone:hover,.upload-zone.hover,.upload-zone.dragging{border-color:var(--accent);background:var(--accent-soft)}.upload-zone.uploading{cursor:progress;pointer-events:none}.upload-zone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.upload-zone .uz-title{font-size:1rem;font-weight:500;color:var(--text-1);margin-bottom:var(--space-1)}.upload-zone .uz-hint{color:var(--text-3);font-size:.82rem}.upload-zone .uz-progress{margin-top:var(--space-3);height:6px;background:var(--bg-3);border-radius:var(--radius-pill);overflow:hidden}.upload-zone .uz-progress-fill{height:100%;background:var(--accent);transition:width var(--dur-1) var(--ease-out)}.tbl{width:100%;border-collapse:collapse;font-size:.9rem}.tbl thead th{position:sticky;top:0;background:var(--bg-1);text-align:left;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-strong);color:var(--text-2);font-weight:500;font-size:.82rem;letter-spacing:.02em}.tbl tbody tr{border-bottom:1px solid var(--border-subtle);transition:background var(--dur-1) var(--ease-out)}.tbl tbody tr:hover{background:var(--bg-2)}.tbl tbody td{padding:var(--space-2) var(--space-3)}.tbl tbody tr.expandable{cursor:pointer}.tbl .row-detail{background:var(--bg-0)}.tbl .row-detail td{padding:var(--space-3)}.tbl .row-detail pre{margin:0;background:transparent;font-size:.78rem;color:var(--text-2);overflow-x:auto}.flash{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:.9rem;margin:var(--space-2) 0}.flash.ok{background:var(--success-soft);border:1px solid var(--success);color:var(--success)}.flash.err{background:var(--danger-soft);border:1px solid var(--danger);color:var(--danger)}.sources{font-size:.85rem;color:var(--text-2)}.sources ul{margin:0;padding-left:1.1rem}@keyframes underline-in{0%{transform:scaleX(0);opacity:0;transform-origin:left}to{transform:scaleX(1);opacity:1;transform-origin:left}}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:5px;border:2px solid var(--bg-0)}*::-webkit-scrollbar-thumb:hover{background:var(--border-strong)}.hljs{background:transparent!important;padding:0!important}.activity-list{display:flex;flex-direction:column;gap:var(--space-1)}.activity-row{display:grid;grid-template-columns:24px 80px 1fr 140px 1fr auto;align-items:center;gap:var(--space-2);padding:8px var(--space-3);border-radius:var(--radius-sm);font-size:.86rem;cursor:pointer;transition:background var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}.activity-row:hover{background:var(--bg-2);transform:translate(1px)}.activity-row .ar-icon{display:inline-flex;justify-content:center}.activity-row .ar-time{font-family:var(--font-mono);font-size:.76rem;color:var(--text-3)}.activity-row .ar-type code{background:transparent;padding:0;border:none;font-size:.82rem;color:var(--text-1)}.activity-row .ar-actor{color:var(--text-2);font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-row .ar-subject{color:var(--text-1);font-family:var(--font-mono);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-row .ar-who{display:flex;gap:4px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.activity-chip{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--radius-pill);background:var(--bg-3);border:1px solid var(--border-subtle);font-size:.72rem;font-family:var(--font-mono);color:var(--text-2)}.activity-row .ar-detail{grid-column:1 / -1;margin-top:var(--space-2);padding:var(--space-3);background:var(--bg-0);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);overflow:hidden}.activity-row .ar-detail pre{font-family:var(--font-mono);color:var(--text-2)}.sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:var(--bg-1);border-right:1px solid var(--border-subtle);flex-shrink:0;overflow:hidden;z-index:5}.sidebar-top{display:flex;flex-direction:column;gap:4px;padding:var(--space-3) var(--space-3) var(--space-2)}.sidebar-brand-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2)}.sidebar-brand{display:inline-flex;align-items:center;gap:8px;color:var(--text-1);text-decoration:none;font-weight:600;font-size:.96rem;letter-spacing:-.01em}.sidebar-brand:hover{color:var(--accent)}.sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;min-height:24px;padding:0;background:transparent;border:none;color:var(--text-3);cursor:pointer;border-radius:4px}.sidebar-toggle:hover{color:var(--text-1);background:var(--bg-2)}.sidebar.is-collapsed .sidebar-brand-row{justify-content:center}.sidebar.is-collapsed .sidebar-toggle{width:28px;height:28px}.sidebar-newchat{display:inline-flex;align-items:center;gap:10px;width:100%;padding:8px 10px;background:var(--accent-soft);color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 30%,var(--border-subtle));border-radius:8px;font-size:.88rem;font-weight:500;cursor:pointer;margin-bottom:var(--space-3);transition:background-color .12s var(--ease-out)}.sidebar-newchat:hover{background:color-mix(in srgb,var(--accent) 22%,var(--bg-2))}.sidebar.is-collapsed .sidebar-newchat{justify-content:center;padding:8px}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.sidebar-nav-item{display:inline-flex;align-items:center;gap:10px;padding:6px 10px;border-radius:6px;color:var(--text-2);font-size:.86rem;text-decoration:none;cursor:pointer;background:transparent;border:none;text-align:left;width:100%;transition:background-color .12s var(--ease-out),color .12s var(--ease-out)}.sidebar-nav-item:hover{color:var(--text-1);background:var(--bg-2)}.sidebar-nav-item.active{background:var(--accent-soft);color:var(--accent)}.sidebar-nav-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sidebar.is-collapsed .sidebar-nav-item{justify-content:center;padding:8px;gap:0}.sidebar-section-rule{height:1px;background:var(--border-subtle);margin:8px 4px}.sidebar-threads{flex:1;overflow-y:auto;padding:var(--space-3) var(--space-2);scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to bottom,transparent 0,black 24px,black calc(100% - 24px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 24px,black calc(100% - 24px),transparent 100%)}.sidebar-threads::-webkit-scrollbar{display:none}.sidebar-threads.is-hidden{display:none}.thread-list-section{display:flex;flex-direction:column;gap:1px;padding:var(--space-2) 0}.thread-list-heading{font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);padding:4px 10px 8px;font-family:var(--font-mono)}.thread-row{display:grid;grid-template-columns:22px 1fr 52px;align-items:center;gap:6px;padding:4px 12px;background:transparent;border:none;border-radius:6px;color:var(--text-2);font-size:.86rem;line-height:1.3;text-align:left;cursor:pointer;width:100%;min-height:28px;transition:background-color .12s var(--ease-out),color .12s var(--ease-out);min-width:0;position:relative}.thread-row:hover{background:var(--bg-2);color:var(--text-1)}.thread-row.active{background:var(--accent-soft);color:var(--accent)}.thread-row:has(.thread-actions-btn.is-open){z-index:50}.thread-row-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.thread-row-meta{position:relative;width:100%;height:18px}.thread-row-time{position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:.7rem;font-family:var(--font-mono);color:var(--text-3);white-space:nowrap;pointer-events:none;opacity:1;transition:opacity .12s var(--ease-out)}.thread-row.active .thread-row-time{color:color-mix(in srgb,var(--accent) 60%,var(--text-2))}.thread-row:hover .thread-row-time,.thread-row:focus-within .thread-row-time{opacity:0}.thread-actions-wrap{position:absolute;right:0;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center}.thread-actions-btn{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;min-height:0;padding:0;background:transparent;-moz-appearance:none;appearance:none;-webkit-appearance:none;border:none;outline:none;box-shadow:none;color:var(--text-3);cursor:pointer;border-radius:4px;opacity:0;transition:opacity .14s var(--ease-out),color .12s var(--ease-out)}.thread-row:hover .thread-actions-btn,.thread-row:focus-within .thread-actions-btn,.thread-actions-btn.is-open{opacity:1}.thread-actions-btn:hover:not(:disabled){color:var(--text-1);background:transparent}.thread-actions-btn:focus,.thread-actions-btn:focus-visible{outline:none}.thread-actions-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:160px;padding:4px;background:var(--bg-3);border:1px solid var(--border-strong);border-radius:8px;box-shadow:var(--shadow-lg);z-index:40;display:flex;flex-direction:column}.thread-actions-item{display:flex;align-items:center;gap:10px;width:100%;padding:6px 10px;background:transparent;border:none;color:var(--text-1);font-size:.84rem;cursor:pointer;border-radius:5px;text-align:left;transition:background-color .1s var(--ease-out)}.thread-actions-item:hover:not(:disabled){background:var(--bg-2);color:var(--text-1)}.thread-actions-item.danger{color:var(--danger)}.thread-actions-item.danger:hover{background:color-mix(in srgb,var(--danger) 14%,transparent)}.thread-actions-item-icon{display:inline-flex;width:14px;height:14px;align-items:center;justify-content:center;color:inherit;opacity:.85}.thread-actions-rule{height:1px;background:var(--border-subtle);margin:4px 0}.thread-skeleton{height:28px;background:var(--bg-2);border-radius:6px;margin:4px 6px;animation:shimmer 1.2s linear infinite}.thread-list-empty,.thread-list-error{font-size:.78rem;color:var(--text-3);padding:8px 10px;line-height:1.5}.thread-list-error{color:var(--danger)}.sidebar-profile{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--border-subtle);background:var(--bg-1)}.sidebar-profile-info{flex:1;min-width:0}.sidebar-profile-name{font-size:.86rem;font-weight:500;color:var(--text-1);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-profile-meta{font-size:.74rem;color:var(--text-3);font-family:var(--font-mono);margin-top:2px}.sidebar-profile-logout{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:28px;padding:0;background:transparent;border:none;color:var(--text-3);cursor:pointer;border-radius:50%;transition:color .12s var(--ease-out),background-color .12s var(--ease-out)}.sidebar-profile-logout:hover{color:var(--danger);background:var(--bg-2)}.sidebar.is-collapsed .sidebar-profile{justify-content:center;padding:var(--space-2)}.top-bar{position:fixed;top:0;left:0;right:0;z-index:30;display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 var(--space-4);background:color-mix(in srgb,var(--bg-0) 80%,transparent);backdrop-filter:blur(10px) saturate(140%);-webkit-backdrop-filter:blur(10px) saturate(140%)}.top-bar-brand{display:inline-flex;align-items:center;gap:6px;color:var(--text-1);text-decoration:none;font-weight:600;font-size:.96rem;letter-spacing:-.01em}.top-bar-brand:hover{color:var(--accent)}.top-bar-user{display:inline-flex;align-items:center;gap:var(--space-3);font-size:.86rem}.top-bar-username{color:var(--text-2);max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-bar-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:32px;padding:0;border-radius:50%}.dock{position:fixed;bottom:var(--space-4);left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:6px;padding:8px 12px;background:color-mix(in srgb,var(--bg-1) 85%,transparent);backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);border:1px solid var(--border-subtle);border-radius:999px;box-shadow:var(--shadow-lg);max-width:calc(100vw - var(--space-4));overflow:visible}.dock-item{position:relative;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:var(--text-2);cursor:pointer;transform-origin:center;-webkit-user-select:none;user-select:none;transition:background-color .12s var(--ease-out),color .12s var(--ease-out)}.dock-item:hover{color:var(--text-1);background:var(--bg-2)}.dock-item.active{background:var(--accent-soft);color:var(--accent)}.dock-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.dock-divider{width:1px;height:22px;background:var(--border-subtle);margin:0 4px}.dock-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%) translateY(4px);padding:4px 10px;background:var(--bg-3);color:var(--text-1);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:.78rem;white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-md);transition:opacity .12s var(--ease-out),transform .16s var(--ease-out)}.dock-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid var(--border-subtle)}.dock-item:hover .dock-tooltip,.dock-item:focus-visible .dock-tooltip{opacity:1;transform:translate(-50%) translateY(0)}@media(prefers-reduced-motion:reduce){.dock-tooltip{transition:opacity 0ms;transform:translate(-50%)}.dock-item{transition:none}}.border-beam{pointer-events:none;position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--beam-radius, var(--radius-md));padding:var(--beam-size, 1.5px);background:conic-gradient(from var(--beam-angle, 0deg),transparent 0deg,transparent 270deg,var(--beam-color, var(--accent)) 320deg,transparent 360deg);mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;-webkit-mask-composite:xor;animation:border-beam-rotate var(--beam-duration, 6s) linear infinite}@property --beam-angle{syntax: "<angle>"; initial-value: 0deg; inherits: false;}@keyframes border-beam-rotate{to{--beam-angle: 360deg}}@media(prefers-reduced-motion:reduce){.border-beam{animation:none}}.backlight{pointer-events:none;position:absolute;top:50%;left:50%;width:var(--bl-radius, 120%);height:var(--bl-radius, 120%);transform:translate(-50%,-50%);background:radial-gradient(closest-side circle,color-mix(in srgb,var(--bl-color, var(--accent)) calc(var(--bl-peak, .5) * 100%),transparent) 0%,color-mix(in srgb,var(--bl-color, var(--accent)) calc(var(--bl-peak, .5) * 30%),transparent) 55%,transparent 100%);filter:blur(8px);z-index:0}.backlight-breathe{animation:backlight-breathe var(--bl-duration, 4s) ease-in-out infinite}@keyframes backlight-breathe{0%,to{opacity:1}50%{opacity:.55}}@media(prefers-reduced-motion:reduce){.backlight-breathe{animation:none}}@keyframes spin{to{transform:rotate(360deg)}}.thinking-step-spin{animation:spin .9s linear infinite}@keyframes shiny-text{0%{background-position:200% 0}to{background-position:-200% 0}}.shiny-text{background:linear-gradient(90deg,var(--text-2) 0%,var(--text-2) 30%,var(--text-1) 50%,var(--text-2) 70%,var(--text-2) 100%);background-size:200% 100%;background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent;animation:shiny-text 2.4s linear infinite}@media(prefers-reduced-motion:reduce){.thinking-step-spin{animation:none}.shiny-text{animation:none;color:var(--text-1);-webkit-text-fill-color:var(--text-1)}}.page-scroll{flex:1;overflow-y:auto;padding:0 var(--space-4)}.page-shell{padding:var(--space-3) 0;margin:0 auto;width:100%}.page-shell-narrow{max-width:880px}.page-shell-default{max-width:1100px}.page-shell-wide{max-width:1320px}.page-shell.is-dense{padding:var(--space-2) 0}.page-header{margin-bottom:var(--space-3)}.page-header-row{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}.page-header-icon{display:inline-flex;align-items:center;color:var(--accent)}.page-header-title{margin:0;font-weight:500;letter-spacing:-.01em;font-size:1.4rem}.page-header-subtitle{color:var(--text-3);font-size:.88rem;font-family:var(--font-mono)}.page-header-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;font-family:var(--font-mono);color:var(--text-3)}.page-header-actions{margin-left:auto;display:inline-flex;align-items:center;gap:var(--space-2)}.page-header-description{color:var(--text-2);margin:var(--space-2) 0 0 0;font-size:.9rem;max-width:64ch}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2);padding:var(--space-5) var(--space-3);color:var(--text-2)}.empty-state.is-compact{padding:var(--space-3) var(--space-2)}.empty-state-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-pill);background:var(--bg-2);color:var(--text-3);margin-bottom:var(--space-1)}.empty-state-title{margin:0;font-weight:500;font-size:1.05rem;color:var(--text-1);letter-spacing:-.005em}.empty-state-body{margin:0;color:var(--text-2);font-size:.9rem;max-width:48ch}.empty-state-action{margin-top:var(--space-2)}.data-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-1);overflow:hidden}.data-table-caption{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);font-size:.85rem;color:var(--text-2)}.data-table{width:100%;border-collapse:collapse;font-size:.88rem;table-layout:auto}.data-table thead th{text-align:left;padding:10px 16px;border-bottom:1px solid var(--border-subtle);color:var(--text-3);font-weight:500;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.data-table thead th.right{text-align:right}.data-table thead th.center{text-align:center}.data-table tbody tr{border-top:1px solid var(--border-subtle);transition:background-color .12s var(--ease-out)}.data-table tbody tr:first-child{border-top:none}.data-table tbody tr:hover,.data-table tbody tr.is-active{background:var(--bg-2)}.data-table tbody tr.is-clickable{cursor:pointer}.data-table tbody td{padding:12px 16px;color:var(--text-1);vertical-align:middle}.data-table tbody td.right{text-align:right}.data-table tbody td.center{text-align:center}.data-table tbody td.muted{color:var(--text-2)}.data-table tbody td.mono{font-family:var(--font-mono);font-size:.82rem}.data-table tbody tr.row-detail-host td{background:var(--bg-0);border-top:none;padding:var(--space-3) var(--space-3) var(--space-3) 44px}.data-table tbody tr.row-detail-host pre{margin:0;font-size:.78rem;color:var(--text-2);background:transparent;white-space:pre-wrap;word-break:break-word}.data-table-empty{padding:var(--space-5) var(--space-3);text-align:center;color:var(--text-3);font-size:.9rem}.data-table-pagination{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-subtle);background:var(--bg-1);gap:var(--space-3);flex-wrap:wrap}.data-table-pagination-status{color:var(--text-3);font-size:.82rem;font-family:var(--font-mono)}.data-table-pagination-controls{display:inline-flex;gap:var(--space-2);margin-left:auto}.data-table-page-btn{display:inline-flex;align-items:center;justify-content:center;min-height:0;padding:6px 14px;background:transparent;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-1);font-size:.82rem;cursor:pointer;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out)}.data-table-page-btn:hover:not(:disabled){background:var(--bg-2);border-color:var(--border-strong)}.data-table-page-btn:disabled{opacity:.45;cursor:not-allowed}.data-cell-icon{display:inline-flex;align-items:center;gap:8px}.data-cell-icon svg{color:var(--text-3);flex-shrink:0}.data-cell-truncate{display:inline-block;max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.data-cell-time{font-family:var(--font-mono);font-size:.8rem;color:var(--text-2);white-space:nowrap}.data-cell-time .iso{display:none;color:var(--text-3);font-size:.72rem;margin-left:6px}.data-table tbody tr:hover .data-cell-time .iso{display:inline}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:200}:root{--sidebar-w: 280px}html:has(.sidebar.is-collapsed){--sidebar-w: 56px}.dialog-positioner{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:201;pointer-events:none;padding:32px;padding-left:calc(var(--sidebar-w) + 32px)}.dialog-card{pointer-events:auto;background:var(--bg-1);border:1px solid var(--border-strong);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);max-height:calc(100vh - 64px);display:flex;flex-direction:column;overflow:hidden}.dialog-header{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle)}.dialog-titles{flex:1;min-width:0}.dialog-title{margin:0;font-weight:500;font-size:1rem;color:var(--text-1);letter-spacing:-.005em}.dialog-description{margin:4px 0 0;font-size:.85rem;color:var(--text-3)}.dialog-close{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:0;padding:0;background:transparent;border:none;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:background-color .12s var(--ease-out),color .12s var(--ease-out)}.dialog-close:hover:not(:disabled){background:var(--bg-2);color:var(--text-1)}.dialog-body{padding:var(--space-3) var(--space-4);overflow-y:auto;flex:1}.dialog-footer{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-subtle)}.detail-grid{display:grid;grid-template-columns:max-content 1fr;column-gap:var(--space-4);row-gap:var(--space-2);font-size:.88rem}.detail-grid dt{color:var(--text-3);font-family:var(--font-mono);font-size:.78rem;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;align-self:start;padding-top:2px}.detail-grid dd{margin:0;color:var(--text-1);word-break:break-word;min-width:0}.detail-grid dd.muted{color:var(--text-2)}.detail-grid dd pre{margin:0;font-size:.78rem;color:var(--text-2);background:var(--bg-0);padding:var(--space-2);border-radius:var(--radius-sm);white-space:pre-wrap;word-break:break-word;max-height:280px;overflow:auto}.activity-card-list{display:flex;flex-direction:column;gap:var(--space-2)}.activity-card{background:var(--bg-1);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-3);display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:var(--space-3);cursor:pointer;transition:background-color .12s var(--ease-out),border-color .12s var(--ease-out)}.activity-card:hover{background:var(--bg-2);border-color:var(--border-strong)}.activity-card.is-mine{border-color:color-mix(in srgb,var(--accent) 50%,var(--border-subtle))}.activity-card-icon{display:inline-flex;align-items:center;justify-content:center}.activity-card-body{min-width:0}.activity-card-headline{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;min-width:0}.activity-card-source{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);font-family:var(--font-mono)}.activity-card-type{color:var(--text-1);font-family:var(--font-mono);font-size:.86rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.activity-card-meta{margin-top:2px;font-size:.82rem;color:var(--text-3);display:flex;align-items:center;gap:6px;flex-wrap:wrap;min-width:0}.activity-card-meta .actor{color:var(--text-2)}.activity-card-meta .subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:420px;display:inline-block;vertical-align:bottom}.activity-card-side{display:flex;flex-direction:column;align-items:flex-end;gap:4px;white-space:nowrap}.activity-card-time{font-family:var(--font-mono);font-size:.78rem;color:var(--text-3)}.activity-card-chips{display:inline-flex;gap:4px}.code-compare{background:transparent;border-radius:var(--radius-md);overflow:hidden;margin:var(--space-3) 0;font-family:var(--font-mono);font-size:.78rem}.code-compare-grid{display:grid;grid-template-columns:1fr 1fr;position:relative}.code-compare-side{display:flex;flex-direction:column;min-width:0;transition:opacity .2s var(--ease-out)}.code-compare-grid:has(.code-compare-side-left:hover) .code-compare-side-right,.code-compare-grid:has(.code-compare-side-right:hover) .code-compare-side-left{opacity:.5}.code-compare-side-header{display:flex;align-items:center;gap:8px;padding:9px 14px;background:var(--bg-2);font-size:.78rem;min-width:0}.code-compare-file-icon{color:var(--text-3);flex-shrink:0}.code-compare-filename{color:var(--text-1);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.code-compare-label{font-size:.7rem;font-family:var(--font-mono);color:var(--text-3);letter-spacing:.04em;flex-shrink:0}.code-compare-label-old{color:color-mix(in srgb,var(--danger) 80%,var(--text-2))}.code-compare-label-new{color:color-mix(in srgb,var(--success) 80%,var(--text-2))}.code-compare-vs{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-sm);background:var(--bg-2);border:1px solid var(--border-strong);color:var(--text-2);font-family:var(--font-mono);font-size:.7rem;font-weight:600;letter-spacing:.06em;pointer-events:none;z-index:1}.code-compare-pane{margin:0;padding:14px 16px;overflow:auto;max-height:480px;background:var(--bg-1);white-space:pre;line-height:1.6;font-size:.78rem;color:var(--text-1);flex:1;mask-image:linear-gradient(to bottom,transparent 0,black 18px,black calc(100% - 18px),transparent 100%);-webkit-mask-image:linear-gradient(to bottom,transparent 0,black 18px,black calc(100% - 18px),transparent 100%)}.code-compare-pane::-webkit-scrollbar-corner{background:transparent}.code-compare-pending{display:inline-block;padding:4px 10px;font-size:.78rem;font-family:var(--font-mono);color:var(--text-3);border:1px dashed var(--border-subtle);border-radius:var(--radius-sm);background:var(--bg-1)}.msg-actions{display:inline-flex;gap:4px;margin-top:var(--space-2);opacity:0;transform:translateY(-2px);transition:opacity .14s var(--ease-out),transform .14s var(--ease-out)}.msg.ai:hover .msg-actions,.msg.ai:focus-within .msg-actions{opacity:1;transform:translateY(0)}@media(hover:none){.msg-actions{opacity:1;transform:none}}.msg-action-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-height:0;padding:0;background:transparent;border:none;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;border-radius:var(--radius-sm);color:var(--text-3);cursor:pointer;transition:background-color .12s var(--ease-out),color .12s var(--ease-out)}.msg-action-btn:hover:not(:disabled){background:var(--bg-2);color:var(--text-1)}.msg-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.feedback-form{display:flex;flex-direction:column;gap:var(--space-3)}.feedback-field{display:flex;flex-direction:column;gap:6px}.feedback-label{font-size:.85rem;color:var(--text-2)}.feedback-label em{color:var(--text-3);font-style:normal}.feedback-select,.feedback-textarea{background:var(--bg-2);border:1px solid var(--border-subtle);color:var(--text-1);border-radius:var(--radius-sm);font-family:var(--font-sans);font-size:.9rem;padding:10px 12px;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;transition:border-color .12s var(--ease-out)}.feedback-select:focus,.feedback-textarea:focus{border-color:var(--accent)}.feedback-textarea{resize:vertical;min-height:96px}.code-compare-pane-left{border-right:1px solid var(--border-subtle);background:color-mix(in srgb,var(--danger) 4%,var(--bg-1))}.code-compare-pane-right{background:color-mix(in srgb,var(--success) 4%,var(--bg-1))}.code-compare-pane-empty{display:flex;align-items:center;justify-content:center;color:var(--text-3);font-style:italic;background:var(--bg-2);font-family:var(--font-sans)}.code-compare-error{background:var(--danger-soft);border:1px solid var(--danger);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);color:var(--danger);margin:var(--space-3) 0;font-size:.85rem}@media(max-width:720px){.code-compare-header,.code-compare-body{grid-template-columns:1fr}.code-compare-side-left,.code-compare-pane-left{border-right:none;border-bottom:1px solid var(--border-subtle)}}
