:root{color-scheme:dark;--font-sans: "Onest", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--bg-app: #0a0a0b;--bg-sidebar: #131315;--bg-rail: #0f0f11;--bg-surface: #17181b;--bg-elevated: #1c1d20;--bg-hover: #232427;--bg-selected: #28292d;--bg-user-bubble: #28292d;--text-primary: #f5f5f7;--text-body: #e5e5ea;--text-secondary: #c7c7cc;--text-muted: #8e8e93;--text-faint: #636366;--text-disabled: #48484a;--accent: #0a84ff;--accent-hover: #409cff;--accent-on: #ffffff;--accent-soft: rgba(10, 132, 255, .12);--brand-logo-1: #ff4d3d;--brand-logo-2: #ff9a3d;--brand-logo-3: #ffc93d;--ok: #30d158;--ok-soft: rgba(48, 209, 88, .12);--warn: #ffd60a;--warn-soft: rgba(255, 214, 10, .16);--danger: #ff453a;--pause: #ffc93d;--mm: #b8a9ff;--mm-soft: rgba(140, 120, 255, .14);--border: rgba(255, 255, 255, .08);--border-subtle: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .1);--checkbox-empty: #3a3a3c;--radius-xs: 6px;--radius-sm: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 18px;--radius-card: 22px;--sidebar-width: 248px;--sidebar-collapsed-width: 72px;--dialogs-width: 296px;--chat-max: 760px;--header-height: 64px;--artboard-w: 1512px;--artboard-h: 982px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-app);color:var(--text-primary);font-family:var(--font-sans)}button,input,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit;text-decoration:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.shell{display:flex;height:100%;overflow:hidden;background:var(--bg-app)}.sidebar{width:var(--sidebar-width);flex-shrink:0;background:var(--bg-sidebar);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:22px 14px 18px;gap:26px;position:relative;z-index:3}.sidebar nav{display:flex;flex-direction:column;gap:2px}.sidebar a,.sidebar nav button{display:flex;align-items:center;gap:10px;min-height:36px;padding:0 10px;border:0;border-radius:var(--radius-md);background:transparent;color:var(--text-secondary);text-align:left}.sidebar a[aria-current=page]{background:var(--bg-selected);color:var(--text-primary)}.sidebar nav button:disabled{opacity:1;color:var(--text-faint)}.sidebar-brand{display:flex;flex-direction:row;align-items:center;gap:10px;padding:4px 8px}.sidebar-brand-text{min-width:0}.sidebar-brand-text[hidden],.sidebar-label[hidden]{display:none}.sidebar-brand strong{display:block;font-size:15.5px;font-weight:800;letter-spacing:-.01em}.sidebar-brand-text span{color:var(--text-faint);font-size:11px;letter-spacing:.03em;font-weight:500}.sidebar-logo{display:inline-flex;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:transparent;line-height:0}.sidebar-logo:hover{opacity:.88}.sidebar.is-collapsed{width:var(--sidebar-collapsed-width);padding:18px 8px;align-items:center}.sidebar.is-collapsed .sidebar-brand{justify-content:center;padding:0}.sidebar.is-collapsed a,.sidebar.is-collapsed nav button{justify-content:center;width:40px;padding:0}.sidebar.is-collapsed .sidebar-user{flex-direction:column;align-items:center;padding:8px 6px;gap:8px}.sidebar.is-collapsed .sidebar-logout{margin-left:0;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0}.sidebar-hit{display:contents}.sidebar.is-collapsed .sidebar-hit{display:flex;position:relative;justify-content:center}.sidebar-tip{position:absolute;left:calc(100% + 12px);top:50%;transform:translateY(-50%);padding:7px 11px;border-radius:var(--radius-sm);background:var(--bg-hover);border:1px solid var(--border-strong);color:var(--text-primary);font-size:13px;font-weight:500;line-height:1.25;letter-spacing:.01em;white-space:nowrap;box-shadow:0 10px 28px #00000080;pointer-events:none;z-index:5}.sidebar-tip:before{content:"";position:absolute;left:-5px;top:50%;width:8px;height:8px;background:var(--bg-hover);border-left:1px solid var(--border-strong);border-bottom:1px solid var(--border-strong);transform:translateY(-50%) rotate(45deg)}.sidebar-tip[hidden]{display:none}.sidebar-user{margin-top:auto;display:flex;gap:10px;padding:9px 10px;border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border)}.sidebar-user small{color:var(--text-faint)}.sidebar-logout{margin-left:auto;align-self:center;background:none;border:0;color:var(--text-muted);font-size:12px;cursor:pointer}.avatar{width:30px;height:30px;border-radius:9px;background:var(--accent);color:var(--accent-on);display:grid;place-items:center;font-size:12px;font-weight:700}.rail{width:var(--dialogs-width);flex-shrink:0;background:var(--bg-rail);border-right:1px solid var(--border-subtle);padding:20px 16px;display:flex;flex-direction:column;gap:16px}.rail-new{width:100%;height:42px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:13.5px}.rail-empty{margin:0;color:var(--text-faint);font-size:12.5px}.rail-item{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:var(--radius-md);background:var(--bg-elevated)}.rail-item strong{font-size:13px}.rail-item span{color:var(--text-muted);font-size:11.5px}.chat{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column}.chat-header{min-height:var(--header-height);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:8px 28px;border-bottom:1px solid var(--border-subtle)}.chat-tabs{display:flex;align-items:center;gap:4px;width:fit-content;max-width:100%;padding:3px;overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.chat-tabs [role=tab]{height:30px;padding:0 16px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:500;white-space:nowrap}.chat-tabs [role=tab].is-current,.chat-tabs [role=tab][aria-selected=true]{background:var(--bg-selected);color:var(--text-primary);font-weight:600}.chat-header-meta{color:var(--text-muted);font-size:11.5px}.session-inspector{flex:1 1 0;min-height:0;overflow:auto;padding:20px 28px;color:var(--text-muted);font-size:13px}.session-inspector[role=status]{display:flex;align-items:center}.dsh-inspector-island{color:var(--text-primary)}.dsh-inspector-island p{margin:0 0 12px;white-space:pre-wrap}.thread{flex:1 1 0;min-height:0;overflow:auto}.thread-inner{width:100%;min-height:100%;max-width:var(--chat-max);margin:0 auto;padding:26px 8px 18px;display:flex;flex-direction:column;justify-content:flex-end;gap:20px}.bubble-user{align-self:flex-end;max-width:520px;background:var(--bg-user-bubble);border-radius:16px 16px 4px;padding:12px 16px;font-size:13.5px;line-height:1.5;white-space:pre-wrap}.assistant-row{display:flex;gap:12px;align-items:flex-start}.assistant-row svg{flex-shrink:0;margin-top:2px}.bubble-assistant{flex:1;background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:4px 16px 16px;padding:16px 18px;color:var(--text-body);font-size:13.5px;line-height:1.55}.md p{margin:0 0 10px}.md p:last-child{margin-bottom:0}.md ul{margin:0 0 10px;padding-left:18px}.md ul:last-child{margin-bottom:0}.md li{margin:0 0 4px}.md code{font-family:var(--font-mono);font-size:12.5px;background:var(--bg-elevated);padding:1px 5px;border-radius:5px}.caret{display:inline-block;width:7px;height:1em;margin-left:2px;background:var(--accent);animation:caret 1s step-end infinite;vertical-align:text-bottom}@keyframes caret{50%{opacity:0}}.reasoning,.tool-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius-md);padding:10px 12px;color:var(--text-muted);font-size:12.5px}.reasoning pre,.tool-card pre{margin:8px 0 0;white-space:pre-wrap;font-family:var(--font-mono);font-size:12px}.composer-dock{flex-shrink:0;padding:0 8px 20px;display:flex;flex-direction:column;align-items:center;gap:8px}.composer-dock [role=alert]{width:100%;max-width:var(--chat-max);margin:0;color:var(--danger);font-size:13px}.composer{width:100%;max-width:var(--chat-max);background:var(--bg-surface);border:1px solid var(--border-strong);border-radius:var(--radius-2xl);padding:12px 14px 10px;display:flex;flex-direction:column;gap:10px}.composer textarea{display:block;width:100%;min-height:44px;max-height:160px;resize:none;border:0;outline:none;background:transparent;color:var(--text-primary);padding:0;line-height:1.5}.composer textarea::placeholder{color:var(--text-disabled)}.composer-bar{display:flex;align-items:center;justify-content:space-between}.composer-model{height:26px;max-width:min(220px,70%);padding:0 9px;border:0;border-radius:7px;background:var(--bg-elevated);font-size:11.5px;color:var(--text-muted);font-weight:500;display:inline-flex;align-items:center;cursor:pointer}.composer-model:disabled{cursor:default;opacity:.7}.composer-send{width:32px;height:32px;padding:0;border:0;border-radius:10px;background:var(--accent);color:var(--accent-on);display:grid;place-items:center}.login{min-height:100%;display:grid;place-items:center;position:relative}.login-brand{position:absolute;top:28px;left:36px;display:flex;align-items:center;gap:10px;font-weight:800}.login-card{width:min(400px,100%);background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:38px 34px 30px;display:flex;flex-direction:column;align-items:center;gap:14px}.login-card h1{margin:0;font-size:19px}.login-copy{color:var(--text-muted);font-size:12.5px}.login-kicker{font-size:10.5px;letter-spacing:.1em;color:var(--text-disabled)}.login-or{color:var(--text-disabled);font-size:11px}.btn-soon{font-size:12px;font-weight:500;color:color-mix(in srgb,var(--accent-on) 55%,var(--text-muted))}.login-form{width:100%;display:flex;flex-direction:column;gap:10px}.login-form label{display:flex;flex-direction:column;gap:4px;width:100%;font-size:12px;color:var(--text-muted);text-align:left}.login-form input{height:40px;border-radius:var(--radius-lg);border:1px solid var(--border-strong);background:var(--bg-elevated);color:inherit;padding:0 12px}.login-form [role=alert]{margin:0;font-size:12.5px;color:var(--danger, #c45c5c)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-primary,.btn-secondary{width:100%;height:46px;border:0;border-radius:var(--radius-lg)}.btn-primary{background:var(--accent);color:var(--accent-on);font-weight:700}.btn-secondary{height:44px;background:var(--bg-elevated);border:1px solid var(--border-strong);color:var(--text-secondary)}.muted{color:var(--text-faint);font-weight:600}.admin{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;padding:30px 36px 24px;gap:16px}.admin-header h1{margin:0;font-size:24px;letter-spacing:-.01em}.admin-header p{margin:6px 0 0;color:var(--text-muted);font-size:13px}.admin-tabs{display:flex;align-items:center;gap:4px;width:fit-content;padding:3px;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg-surface)}.admin-tabs [role=tab]{height:30px;padding:0 16px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font-size:12.5px;font-weight:500}.admin-tabs [role=tab].is-current,.admin-tabs [role=tab][aria-selected=true]{background:var(--bg-selected);color:var(--text-primary);font-weight:600}.admin-banner{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-banner [role=alert]{margin:0;color:var(--danger);font-size:13px}.admin-retry{width:auto;height:36px;padding:0 14px}.admin-status{margin:0;color:var(--text-muted);font-size:13px}.plugin-catalog{flex:1;min-height:0;display:flex;flex-direction:column;gap:14px}.plugin-search{display:flex;align-items:center;gap:8px;max-width:340px;height:36px;padding:0 12px;border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border);color:var(--text-faint)}.plugin-search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--text-primary)}.plugin-search input::placeholder{color:var(--text-disabled)}.plugin-list{list-style:none;margin:0;padding:0;overflow:auto;display:flex;flex-direction:column;gap:8px}.plugin-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.plugin-card[data-kind=failed]{border-color:#ff453a59}.plugin-card-row{display:flex;align-items:stretch;gap:8px;padding:4px 8px 4px 4px}.plugin-card-main{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 8px 10px 12px;border:0;border-radius:var(--radius-md);background:transparent;color:inherit;text-align:left}.plugin-card-main:hover{background:var(--bg-hover)}.plugin-card-copy{display:flex;flex-direction:column;gap:2px;min-width:0}.plugin-card-copy strong{font-size:13.5px;font-weight:600}.plugin-module{color:var(--text-muted);font-size:11.5px;font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.plugin-card-trailing{display:flex;align-items:center;gap:8px;flex-shrink:0}.plugin-tag{height:22px;padding:0 8px;border-radius:7px;font-size:11px;font-weight:600;display:inline-flex;align-items:center;background:var(--bg-elevated);color:var(--text-muted)}.plugin-tag[data-kind=enabled]{background:var(--ok-soft);color:var(--ok)}.plugin-tag[data-kind=disabled]{background:var(--bg-hover);color:var(--text-muted)}.plugin-tag[data-kind=failed]{background:#ff453a24;color:var(--danger)}.plugin-tag[data-kind=protected]{background:var(--accent-soft);color:var(--accent-hover)}.plugin-phase{width:8px;height:8px;border-radius:50%;background:var(--text-faint)}.plugin-phase[data-phase=active]{background:var(--ok)}.plugin-phase[data-phase=pending],.plugin-phase[data-phase=loading],.plugin-phase[data-phase=unloading]{background:var(--warn)}.plugin-phase[data-phase=failed]{background:var(--danger)}.plugin-switch{align-self:center;width:36px;height:22px;padding:2px;border:0;border-radius:999px;background:var(--checkbox-empty);flex-shrink:0}.plugin-switch span{display:block;width:18px;height:18px;border-radius:50%;background:#fff;transform:translate(0)}.plugin-switch[aria-checked=true]{background:var(--accent)}.plugin-switch[aria-checked=true] span{transform:translate(14px)}.plugin-card-details{padding:0 16px 14px;border-top:1px solid var(--border-subtle)}.plugin-card-details dl{margin:12px 0 0;display:grid;gap:10px}.plugin-card-details div{display:grid;grid-template-columns:140px 1fr;gap:10px;font-size:12.5px}.plugin-card-details dt{color:var(--text-muted);font-weight:500}.plugin-card-details dd{margin:0;color:var(--text-body);overflow-wrap:anywhere}.plugin-card-details code,.plugin-card-details pre{font-family:var(--font-mono);font-size:12px}.plugin-card-details pre{margin:0;white-space:pre-wrap;background:var(--bg-elevated);border-radius:var(--radius-sm);padding:8px 10px}@media(max-width:720px){.login{padding:max(16px,env(safe-area-inset-top)) 16px max(20px,env(safe-area-inset-bottom));align-content:start;overflow:auto}.login-brand{display:none}.login-card{width:100%;padding:28px 20px 22px}.btn-primary,.btn-secondary{height:auto;min-height:46px;padding:10px 12px;white-space:normal}.shell{flex-direction:column}.sidebar{width:100%;flex-direction:row;align-items:center;padding:max(8px,env(safe-area-inset-top)) 10px 8px;gap:8px;border-right:0;border-bottom:1px solid var(--border)}.sidebar nav{flex-direction:row;flex:1;min-width:0;overflow-x:auto}.sidebar a,.sidebar nav button{flex-shrink:0;white-space:nowrap}.sidebar-brand>div{display:none}.sidebar-user{margin-top:0;padding:6px 8px;gap:6px}.sidebar-user>div{display:none}.sidebar-logout{margin-left:0}.rail{display:none}.chat-header{padding:8px 14px}.thread-inner{padding:16px 12px}.bubble-user{max-width:100%}.composer-dock{padding-bottom:max(12px,env(safe-area-inset-bottom))}.admin{padding:16px 14px 20px;overflow:auto}}
