:root {
  --bg: #f7f7f5;
  --panel: #ffffff;
  --sidebar: #f1f1ee;
  --text: #171716;
  --muted: #73736f;
  --border: #e5e5e0;
  --hover: #e8e8e4;
  --accent: #11110f;
  --accent-text: #ffffff;
  --button-primary-bg:#1f6f4a;
  --button-primary-text:#ffffff;
  --button-primary-hover:#195f3e;
  --button-primary-active:#124d32;
  --green: #258457;
  --danger: #b83a32;
  --success: #258457;
  --success-soft: rgba(37,132,87,.17);
  --working: #9a6206;
  --working-soft: rgba(154,98,6,.18);
  --failure: #b83a32;
  --failure-soft: rgba(184,58,50,.17);
  --glass-highlight:rgba(255,255,255,.68);
  --surface: #fafaf8;
  --surface-strong: #f0f0ed;
  --control: #efefeb;
  --input-border: #d7d7d1;
  --overlay: rgba(15,15,13,.28);
  --composer-fade: rgba(255,255,255,.75);
  --code-inline: #efefec;
  --code-bg: #171716;
  --code-head: #232321;
  --status-bg: #f2f2ef;
  --skeleton-a: #e8e8e4;
  --skeleton-b: #f5f5f2;
  --progress-bg: #ecece8;
  --shadow: 0 20px 50px rgba(16,16,14,.14);
  --home-ambient-green:rgba(50,181,139,.21);
  --home-ambient-blue:rgba(57,151,210,.18);
  --home-ambient-violet:rgba(132,101,200,.15);
  --home-ambient-warm:rgba(221,170,91,.105);
  --home-glass:rgba(255,255,255,.43);
  --home-glass-border:rgba(255,255,255,.72);
  --home-glass-inner:rgba(255,255,255,.55);
  --home-glass-shadow:rgba(32,57,51,.13);
  --thread-ambient-green:rgba(51,161,123,.072);
  --thread-ambient-blue:rgba(63,137,188,.061);
  --thread-ambient-violet:rgba(126,98,180,.051);
  --sidebar-w: 288px;
  --vvh: 100dvh;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
}
* { box-sizing: border-box; }
html, body { height: 100%; margin: 0; overflow: hidden; }
body { background: var(--bg); -webkit-font-smoothing: antialiased; }
body,.sidebar,.main-panel,.topbar,.composer-area,.composer,.bottom-sheet,.files-panel,.file-tree-pane,.activity,.approval-bar { transition: background-color 190ms ease,color 190ms ease,border-color 190ms ease; }
button, input, textarea, select { font: inherit; color: inherit; }
button { border: 0; cursor: pointer; }
button svg { display: block; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.hidden { display: none !important; }
.home-only { display:none!important; }
.mobile-only { display: none !important; }
.app-shell { height: var(--vvh); display: grid; grid-template-columns: var(--sidebar-w) minmax(0,1fr); }
.sidebar { min-width: 0; display: flex; flex-direction: column; background: var(--sidebar); padding: 14px 12px 12px; border-right: 1px solid rgba(0,0,0,.04); z-index: 30; transition: width 200ms ease, transform 220ms ease; }
.sidebar-head { display: flex; align-items: center; justify-content: space-between; height: 44px; padding: 0 4px 8px; }
.brand { display: flex; gap: 10px; align-items: center; padding:0; background:transparent; font-weight: 660; letter-spacing: -.02em; }
.brand-mark { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 14px; color: white; background: var(--accent); font-weight: 750; }
.brand-mark.small { width: 28px; height: 28px; border-radius: 9px; font-size: 13px; }
.icon-button { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: transparent; font-size: 23px; }
.new-thread, .settings-button { min-height: 44px; display: flex; align-items: center; gap: 11px; padding: 0 13px; border-radius: 13px; background: transparent; font-weight: 570; text-align: left; }
.new-thread { margin: 5px 0 10px; background: var(--panel); box-shadow: 0 1px 1px rgba(0,0,0,.03); }
.new-thread span { font-size: 20px; line-height: 1; }
.search { min-height: 42px; display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,.62); border: 1px solid transparent; border-radius: 12px; padding: 0 11px; }
.search:focus-within { background: var(--panel); border-color: #cecec8; }
.search input { min-width: 0; flex: 1; border: 0; outline: 0; background: transparent; font-size: 14px; }
.sidebar-label { padding: 20px 11px 8px; color: var(--muted); font-size: 12px; font-weight: 650; text-transform: uppercase; letter-spacing: .05em; }
.thread-list { min-height: 0; overflow-y: auto; overscroll-behavior: contain; flex: 1; scrollbar-width: thin; }
.thread-item { position:relative; width:100%; min-height:76px; display:grid; grid-template-columns:minmax(0,1fr) 34px; border-radius:12px; background:transparent; margin-bottom:2px; }
.thread-item.active { background: var(--panel); box-shadow: 0 1px 2px rgba(0,0,0,.04); }
.thread-open { min-width:0; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:3px 8px; padding:9px 4px 9px 11px; border-radius:12px; background:transparent; text-align:left; }
.thread-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; font-weight: 570; }
.thread-meta { grid-column:1/-1; display:flex; align-items:center; gap:7px; color:var(--muted); font-size:11px; overflow:hidden; }
.thread-session { grid-column:1/-1; min-width:0; overflow:hidden; color:var(--muted); font:10px/1.35 ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; opacity:.82; }
.thread-manage { align-self:center; width:34px; height:34px; display:grid; place-items:center; padding:0; border-radius:9px; background:transparent; color:var(--muted); font-size:19px; opacity:0; }
.thread-model { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.thread-status-dot { width:7px; height:7px; border-radius:50%; background:var(--muted); }.thread-status-dot.status-success { background:var(--success); }.thread-status-dot.status-working { background:var(--working); }.thread-status-dot.status-failed { background:var(--failure); }
.thread-skeleton { height: 52px; margin: 4px 5px; border-radius: 11px; background:linear-gradient(100deg,var(--skeleton-a) 30%,var(--skeleton-b) 48%,var(--skeleton-a) 65%); background-size: 220% 100%; animation: shimmer 1.4s infinite; }
.thread-skeleton.short { width: 76%; }
.settings-button { margin-top: 8px; color: #52524f; }
.main-panel { position:relative; isolation:isolate; min-width: 0; height: var(--vvh); display: grid; grid-template-rows: 64px minmax(0,1fr) auto; overflow:hidden; background: var(--panel); }
.main-panel::after { content:""; position:absolute; z-index:0; inset:0; pointer-events:none; background:radial-gradient(ellipse 55% 42% at 5% 8%,var(--thread-ambient-green),transparent 73%),radial-gradient(ellipse 58% 45% at 98% 94%,var(--thread-ambient-blue),var(--thread-ambient-violet) 38%,transparent 76%); }
.main-panel > .topbar,.main-panel > .chat-scroll,.main-panel > .composer-area { z-index:1; }
.topbar { min-width: 0; display: flex; align-items: center; gap: 16px; padding: 0 24px; border-bottom: 1px solid var(--border); }
.title-wrap { min-width: 0; flex: 1; display:flex; flex-direction:column; align-items:flex-start; }
.header-home { padding:0; background:transparent; color:var(--text); font-size:15px; font-weight:690; letter-spacing:-.025em; }
.thread-title { max-width:100%; overflow: hidden; color:var(--muted); text-overflow: ellipsis; white-space: nowrap; font-size:11px; font-weight:560; letter-spacing:-.01em; }
.home-account { align-items:center; gap:7px; color:var(--muted); font-size:11px; white-space:nowrap; }
.home-account button { min-height:34px; padding:0 7px; border-radius:10px; background:transparent; color:inherit; font-size:inherit; font-weight:620; }
.mobile-subtitle { display: none; color: var(--muted); font-size: 11px; }
.status-pill { position: relative; display: flex; align-items: center; gap: 5px; max-width: 430px; height: 34px; padding: 0 12px; border-radius: 18px; background:var(--status-bg); color:var(--muted); font-size: 12px; }
.status-pill span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.status-pill .dot { color: #a2a29d; }
.mobile-more-icon,.mobile-connection-dot { display: none; }
.connection { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 12px; white-space: nowrap; }
.connection span { width: 8px; height: 8px; border-radius: 50%; background: #aaa; }
.connection.online span { background: var(--green); box-shadow: 0 0 0 3px rgba(37,132,87,.12); }
.connection.offline span { background: var(--danger); }
.chat-scroll { min-height: 0; overflow-y: auto; opacity:1; overscroll-behavior: contain; scroll-behavior: smooth; transition:opacity 130ms ease; }
.messages { width: min(860px,100%); min-height: 100%; margin: 0 auto; padding: 40px 34px 28px; }
.history-window { display:grid; justify-items:center; gap:7px; margin:0 0 28px; color:var(--muted); font-size:11px; }.history-window button { min-height:36px; padding:0 13px; border:1px solid var(--border); border-radius:11px; background:var(--surface); color:var(--text); font-size:12px; font-weight:620; }
.empty-state { min-height: 100%; display: grid; align-content: center; justify-items: center; padding: 40px; text-align: center; color: var(--muted); }
.empty-mark { width: 58px; height: 58px; display: grid; place-items: center; background:var(--surface-strong); border-radius: 19px; color: var(--text); font-size: 30px; }
.empty-state h2 { margin: 20px 0 6px; color: var(--text); font-size: 24px; letter-spacing: -.04em; }
.empty-state p { margin: 0; font-size: 14px; }
.message { margin: 0 0 34px; }.message.live-enter { animation:message-in 190ms cubic-bezier(.2,.72,.25,1) both; }
.message-user { display: flex; justify-content: flex-end; }
.message-user .message-collapse-shell { width:max-content; max-width:min(76%,650px); --message-fade-surface:var(--surface-strong); }
.message-user .message-body { max-width:none; padding: 11px 16px; background: var(--surface-strong); border-radius: 20px 20px 5px 20px; white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.55; }
.message-image { display:block; width:min(280px,60vw); max-height:260px; margin:0 0 9px; border-radius:12px; object-fit:cover; }.message-image-badge { margin:0 0 7px; color:var(--muted); font-size:12px; font-weight:620; }
.message-agent { padding-right: 5%; }
.message-collapse-shell { position:relative; min-width:0; --message-fade-surface:var(--panel); }
.message-collapse-shell.is-long:not(.is-expanded) .message-collapse-content { max-height:620px; overflow:hidden; }
.message-collapse-fade { display:none; position:absolute; z-index:1; right:0; bottom:32px; left:0; height:84px; pointer-events:none; background:linear-gradient(to bottom,transparent,color-mix(in srgb,var(--message-fade-surface) 96%,transparent) 82%); }
.message-collapse-shell.is-long:not(.is-expanded) .message-collapse-fade { display:block; }
.message-collapse-toggle { display:none; position:relative; z-index:2; min-height:30px; margin:7px auto 0; padding:0 12px; border:1px solid var(--border); border-radius:10px; background:color-mix(in srgb,var(--surface) 92%,transparent); color:var(--text); font-size:11px; font-weight:650; }
.message-collapse-shell.is-long .message-collapse-toggle { display:block; }
.message-collapse-toggle:hover { background:var(--hover); }.message-collapse-toggle:focus-visible { outline:2px solid color-mix(in srgb,var(--accent) 55%,transparent); outline-offset:2px; }
.message-role { margin-bottom: 8px; font-size: 12px; font-weight: 680; color: var(--muted); }
.markdown { font-size: 15px; line-height: 1.72; overflow-wrap: anywhere; }
.streaming-text { font-size:15px; line-height:1.72; overflow-wrap:anywhere; white-space:pre-wrap; }
.markdown > :first-child { margin-top: 0; }.markdown > :last-child { margin-bottom: 0; }
.markdown p { margin: 0 0 14px; }.markdown h1,.markdown h2,.markdown h3 { margin: 24px 0 10px; line-height: 1.25; letter-spacing: -.025em; }
.markdown h1 { font-size: 24px; }.markdown h2 { font-size: 20px; }.markdown h3 { font-size: 17px; }
.markdown ul,.markdown ol { padding-left: 24px; margin: 8px 0 16px; }.markdown li { margin: 4px 0; }
.markdown code { padding: .15em .4em; border-radius: 6px; background: var(--code-inline); font-family: ui-monospace,SFMono-Regular,Consolas,monospace; font-size: .9em; }
.code-wrap { margin: 16px 0; overflow: hidden; border: 1px solid #292927; border-radius: 13px; background: #171716; color: #f6f6f1; }
.code-head { height: 38px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px 0 15px; background: #232321; color: #bdbdb6; font-size: 11px; }
.copy-code { padding: 5px 9px; border-radius: 7px; background: #343431; color: #ededeb; font-size: 11px; }
.code-wrap pre { margin: 0; padding: 16px; overflow-x: auto; scrollbar-color: #565650 transparent; }
.code-wrap pre code { padding: 0; background: transparent; color: inherit; font-size: 13px; line-height: 1.6; }
.markdown table { width: 100%; margin: 14px 0; border-collapse: collapse; display: block; overflow-x: auto; }
.markdown th,.markdown td { padding: 9px 12px; border: 1px solid var(--border); text-align: left; white-space: nowrap; }.markdown th { background: #f4f4f1; }
.activity { position:relative; isolation:isolate; margin:12px 0 18px; border:1px solid var(--border); border-left-width:3px; border-left-color:transparent; border-radius:13px; background:var(--surface); overflow:hidden; }.activity > * { position:relative; z-index:1; }.activity::before { content:""; position:absolute; z-index:0; inset:-35% auto -35% -8%; width:58%; pointer-events:none; background:radial-gradient(ellipse at 26% 22%,var(--glass-highlight) 0%,transparent 27%),radial-gradient(ellipse at 17% 68%,var(--activity-glow,transparent) 0%,transparent 66%); filter:blur(9px) saturate(1.22); opacity:.9; transform:skewX(-7deg); }.activity.status-success { --activity-glow:rgba(37,132,87,.28); border-left-color:var(--success); background:linear-gradient(90deg,var(--success-soft) 0%,var(--success-soft) 10%,transparent 58%),var(--surface); }.activity.status-working { --activity-glow:rgba(154,98,6,.29); border-left-color:var(--working); background:linear-gradient(90deg,var(--working-soft) 0%,var(--working-soft) 10%,transparent 58%),var(--surface); }.activity.status-failed { --activity-glow:rgba(184,58,50,.28); border-left-color:var(--failure); background:linear-gradient(90deg,var(--failure-soft) 0%,var(--failure-soft) 10%,transparent 58%),var(--surface); }
.activity-toggle { width:100%; padding:0; background:transparent; text-align:left; }
.activity-head { display: flex; align-items: center; gap: 9px; min-height: 43px; padding: 9px 13px; font-size: 13px; font-weight: 610; }
.activity-icon { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 8px; background: var(--control); }
.activity-status { margin-left:auto; display:flex; align-items:center; gap:6px; color:var(--muted); font-size:11px; font-weight:600; }.activity-status i { width:7px; height:7px; border-radius:50%; background:currentColor; }.status-success .activity-status,.status-success .activity-icon { color:var(--success); }.status-working .activity-status,.status-working .activity-icon { color:var(--working); }.status-failed .activity-status,.status-failed .activity-icon { color:var(--failure); }
.activity-chevron { margin-left:2px; color:var(--muted); transition:transform 160ms ease; }.activity.expanded .activity-chevron { transform:rotate(180deg); }
.activity-preview { overflow:hidden; padding:0 13px 11px 46px; color:var(--muted); font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; text-overflow:ellipsis; white-space:nowrap; }
.activity-expanded { display:none; max-height:min(420px,55vh); overflow:auto; padding:2px 13px 13px 46px; border-top:1px solid var(--border); }.activity.expanded .activity-expanded { display:block; }
.activity-field { padding:10px 0; border-bottom:1px solid var(--border); }.activity-field:last-child { border-bottom:0; }.activity-field-label { margin-bottom:5px; color:var(--muted); font-size:10px; font-weight:680; text-transform:uppercase; letter-spacing:.04em; }.activity-value { font-size:12px; line-height:1.5; overflow-wrap:anywhere; }.activity-output { max-height:260px; overflow:auto; margin:0; color:var(--text); font:12px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.approval-actions { display: flex; gap: 8px; padding: 0 13px 13px 46px; }
.approval-actions button { min-height: 36px; padding: 0 14px; border-radius: 10px; font-size: 12px; font-weight: 620; }
.approve { background: var(--accent); color: var(--accent-text); }.always,.decline { background:var(--control); }
.thinking { display: flex; align-items: center; gap: 9px; color: var(--muted); font-size: 13px; }
.thinking-dots { display: flex; gap: 3px; }.thinking-dots i { width: 5px; height: 5px; border-radius: 50%; background: #8a8a84; animation: bounce 1.1s infinite; }.thinking-dots i:nth-child(2){animation-delay:.12s}.thinking-dots i:nth-child(3){animation-delay:.24s}
.composer-area { position:relative; padding: 7px max(20px,calc((100% - 860px)/2 + 34px)) max(10px,env(safe-area-inset-bottom)); background:linear-gradient(to bottom,var(--composer-fade),var(--panel) 22%); }
.scroll-controls { position:absolute; z-index:8; top:-47px; right:max(18px,calc((100% - 860px)/2)); display:flex; gap:6px; }.scroll-controls button { width:38px; height:38px; display:grid; place-items:center; border:1px solid var(--border); border-radius:50%; background:var(--panel); box-shadow:0 4px 15px rgba(0,0,0,.1); font-size:17px; }.scroll-controls button:disabled { opacity:.3; cursor:default; }
.slash-palette { max-width:860px; max-height:260px; overflow:auto; margin:0 auto 6px; padding:5px; border:1px solid var(--border); border-radius:14px; background:var(--panel); box-shadow:var(--shadow); }.slash-command { width:100%; min-height:42px; display:grid; grid-template-columns:105px minmax(0,1fr); align-items:center; padding:6px 10px; border-radius:9px; background:transparent; text-align:left; }.slash-command strong { font:600 12px/1.3 ui-monospace,SFMono-Regular,Consolas,monospace; }.slash-command span { color:var(--muted); font-size:11px; }.slash-command.selected { background:var(--hover); }
.quick-settings { display: flex; gap: 8px; margin: 0 0 7px 13px; padding: 4px 7px; background: transparent; color: var(--muted); font-size: 11px; }
.composer-status-row { display:flex; align-items:center; justify-content:space-between; min-width:0; }.working-state { margin:0 13px 7px; color:var(--working); font-size:11px; font-weight:600; white-space:nowrap; }.working-state::before { content:""; display:inline-block; width:7px; height:7px; margin-right:6px; border-radius:50%; background:currentColor; }
.image-preview { max-width:860px; min-height:54px; display:grid; grid-template-columns:44px minmax(0,1fr) auto 34px; align-items:center; gap:9px; margin:0 auto 6px; padding:5px 7px; border:1px solid var(--border); border-radius:13px; background:var(--surface); }.image-preview img { width:44px; height:44px; border-radius:9px; object-fit:cover; }.image-preview #image-name { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; font-weight:620; }.image-preview #image-state { color:var(--muted); font-size:10px; }.image-preview button { width:34px; height:34px; border-radius:50%; background:transparent; font-size:20px; }
.quick-settings span:last-child { color: var(--green); font-weight: 650; }
.composer { display: flex; align-items: flex-end; gap: 8px; padding: 8px 9px; border: 1px solid var(--input-border); border-radius: 25px; background: var(--panel); box-shadow: 0 5px 20px rgba(0,0,0,.07); }
.approval-bar { max-width:860px; margin:0 auto 6px; padding:11px 13px; border:1px solid var(--border); border-radius:15px; background:var(--surface); box-shadow:0 4px 16px rgba(0,0,0,.06); }
.approval-bar-head { display:flex; align-items:center; justify-content:space-between; gap:12px; font-size:12px; }.approval-bar-head span { color:var(--muted); font-size:10px; }
.approval-details { padding:0 13px 12px 46px; font-size:12px; }.approval-details.compact { padding:7px 0 3px; }
.approval-environment { margin-bottom:7px; color:var(--muted); }.approval-environment strong { color:var(--text); font-weight:600; }
.approval-label { margin-top:7px; color:var(--muted); font-size:10px; font-weight:680; text-transform:uppercase; letter-spacing:.04em; }
.approval-reason { margin-top:3px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; }
.approval-command { max-height:80px; overflow:hidden; margin:4px 0 0; padding:7px 9px; border-radius:9px; background:var(--code-inline); font:11px/1.45 ui-monospace,SFMono-Regular,Consolas,monospace; white-space:pre-wrap; overflow-wrap:anywhere; }
.approval-bar .approval-actions { padding:7px 0 0; }.approval-more { display:none; margin-top:2px; padding:2px 0; background:transparent; color:var(--muted); font-size:11px; font-weight:650; }
.composer:focus-within { border-color: #b4b4ad; box-shadow: 0 7px 24px rgba(0,0,0,.09); }
.composer textarea { flex: 1; min-height: 34px; max-height: 180px; padding: 7px 3px; border: 0; outline: 0; resize: none; background: transparent; line-height: 1.45; }
.add-button,.send-button,.stop-button { flex: 0 0 34px; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; }
.add-button { background: transparent; font-size: 24px; color:var(--muted); }.send-button { background: var(--accent); color:var(--accent-text); font-size: 19px; font-weight: 700; }.send-button:disabled { opacity: .3; }.stop-button { background: var(--accent); color:var(--accent-text); font-size: 12px; }
.composer-note { margin-top: 7px; color: #a0a09a; text-align: center; font-size: 10px; }
.home-input-stack { display:contents; }
.home-view .thread-only,.home-view #status-pill,.home-view #connection,.home-view .composer-status-row,.home-view #approval-bar,.home-view #scroll-controls,.home-view .composer-note { display:none!important; }
.home-view .home-account { display:flex!important; }
.home-view .home-prompt { display:block!important; position:absolute; top:43%; left:0; width:100%; margin:0; color:var(--text); text-align:center; font-size:32px; line-height:1.18; font-weight:650; letter-spacing:-.045em; transform:translateY(-50%); animation:home-title-enter 230ms 20ms cubic-bezier(.2,.75,.25,1) both; transition:opacity 180ms ease; }
.home-view .home-input-stack { display:block; position:absolute; top:59%; left:0; width:100%; padding:11px; border:1px solid var(--home-glass-border); border-radius:30px; background:var(--home-glass); box-shadow:inset 0 1px 0 var(--home-glass-inner),0 18px 48px var(--home-glass-shadow),0 3px 12px rgba(0,0,0,.045); transform:translateY(-50%); transition:top 240ms cubic-bezier(.2,.75,.25,1),transform 240ms cubic-bezier(.2,.75,.25,1); backdrop-filter:blur(17px) saturate(1.08); -webkit-backdrop-filter:blur(17px) saturate(1.08); animation:home-input-enter 285ms 45ms cubic-bezier(.18,.78,.22,1) both; }
.home-view .home-model { display:flex!important; align-items:center; justify-content:center; min-height:38px; max-width:100%; margin:0 auto 8px; padding:0 14px; border:1px solid color-mix(in srgb,var(--home-glass-border) 72%,var(--border)); border-radius:12px; background:color-mix(in srgb,var(--surface) 63%,transparent); color:var(--muted); font-size:12px; font-weight:630; box-shadow:inset 0 1px 0 color-mix(in srgb,var(--home-glass-inner) 72%,transparent),0 3px 12px rgba(0,0,0,.035); }
.home-view .chat-scroll { visibility:hidden; opacity:0; pointer-events:none; transition:opacity 130ms ease,visibility 0s linear 130ms; }
.home-view .composer-area { position:absolute; z-index:10; inset:64px auto 0 50%; width:min(760px,calc(100% - 40px)); padding:0; background:transparent; transform:translateX(-50%); }
.home-view .composer { border-color:color-mix(in srgb,var(--home-glass-border) 62%,var(--input-border)); background:color-mix(in srgb,var(--panel) 69%,transparent); box-shadow:inset 0 1px 0 color-mix(in srgb,var(--home-glass-inner) 75%,transparent),0 7px 22px rgba(0,0,0,.07); backdrop-filter:none; -webkit-backdrop-filter:none; }
.home-view .composer:focus-within { border-color:color-mix(in srgb,var(--green) 26%,var(--home-glass-border)); box-shadow:inset 0 1px 0 var(--home-glass-inner),0 11px 29px color-mix(in srgb,var(--home-glass-shadow) 75%,transparent); }
.home-view .image-preview,.home-view .slash-palette { max-width:760px; }
.home-view .main-panel::before { content:""; position:absolute; z-index:0; inset:-14%; pointer-events:none; background:radial-gradient(ellipse 45% 42% at 17% 23%,var(--home-ambient-green),transparent 71%),radial-gradient(ellipse 49% 45% at 83% 72%,var(--home-ambient-violet),var(--home-ambient-blue) 31%,transparent 74%),radial-gradient(ellipse 35% 30% at 47% 68%,var(--home-ambient-warm),transparent 76%); filter:blur(26px) saturate(.96); will-change:transform; animation:home-ambient-reveal 280ms ease-out both,home-ambient-drift 24s 280ms ease-in-out infinite alternate; }
.home-view .main-panel::after { display:none; }
.home-view .topbar,.home-view .chat-scroll { position:relative; z-index:1; }
.sheet-model-only #session-status,.sheet-model-only #theme-settings,.sheet-model-only #usage-detail,.sheet-model-only #logout { display:none; }
.sheet-usage-only #session-status,.sheet-usage-only #model-settings,.sheet-usage-only #reasoning-settings,.sheet-usage-only #theme-settings,.sheet-usage-only #logout { display:none; }
.sheet-status-only #model-settings,.sheet-status-only #reasoning-settings,.sheet-status-only #theme-settings,.sheet-status-only #usage-detail,.sheet-status-only #logout { display:none; }
.backdrop,.sheet-backdrop { position: fixed; inset: 0; background:var(--overlay); opacity: 0; pointer-events: none; transition: opacity 200ms ease; z-index: 20; }
.sheet-backdrop { z-index: 60; }
.bottom-sheet { position: fixed; z-index: 70; right: 22px; top: 76px; width: min(390px,calc(100vw - 36px)); max-height: calc(var(--vvh) - 96px); overflow-y: auto; padding: 18px; border: 1px solid var(--border); border-radius: 20px; background: var(--panel); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(-8px) scale(.98); transition: transform 200ms ease,opacity 180ms ease; }
.sheet-open .sheet-backdrop { opacity: 1; pointer-events: auto; }.sheet-open .bottom-sheet { opacity: 1; pointer-events: auto; transform: none; }
.sheet-handle { display: none; }.sheet-head { display: flex; align-items: center; justify-content: space-between; }.sheet-head h2 { margin: 0; font-size: 18px; letter-spacing: -.025em; }
.sheet-section { padding: 18px 0; border-bottom: 1px solid var(--border); }.sheet-section label,.section-title { display: block; margin-bottom: 9px; font-size: 12px; font-weight: 670; color: var(--muted); }
.sheet-section select { width: 100%; height: 44px; padding: 0 12px; border: 1px solid var(--border); border-radius: 12px; background: var(--panel); outline: none; }
.sheet-section p { margin: 8px 2px 0; color: var(--muted); font-size: 11px; line-height: 1.45; }
.choice-row { display: flex; flex-wrap: wrap; gap: 7px; }.choice { min-height: 37px; padding: 0 12px; border-radius: 11px; background:var(--control); color:var(--muted); font-size: 12px; text-transform: capitalize; }.choice.active { background: var(--accent); color:var(--accent-text); }
.usage-heading { display: flex; justify-content: space-between; font-size: 12px; font-weight: 670; }.usage-heading span:last-child { color: var(--muted); font-weight: 520; text-transform: capitalize; }
.usage-row { margin-top: 15px; }.usage-copy { display: flex; justify-content: space-between; margin-bottom: 7px; font-size: 12px; }.usage-copy span:last-child { color: var(--muted); }
.usage-progress { display: block; appearance: none; -webkit-appearance: none; width: 100%; height: 6px; border: 0; border-radius: 6px; overflow: hidden; background:var(--progress-bg); }
.usage-progress::-webkit-progress-bar { background:var(--progress-bg); border-radius: 6px; }.usage-progress::-webkit-progress-value { background: var(--green); border-radius: 6px; transition: width 260ms ease; }.usage-progress::-moz-progress-bar { background: var(--green); border-radius: 6px; transition: width 260ms ease; }
.session-status .status-summary { display:grid; gap:7px; }.status-summary > div { display:flex; justify-content:space-between; gap:16px; font-size:11px; }.status-summary span { color:var(--muted); }.status-summary strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-weight:600; }.usage-resets { margin-top:17px; padding-top:15px; border-top:1px solid var(--border); }.usage-reset-copy { display:flex; justify-content:space-between; font-size:12px; }.usage-reset-copy span { color:var(--muted); }.usage-reset-detail { display:grid; gap:3px; margin:8px 0; color:var(--muted); font-size:11px; line-height:1.4; }.usage-reset-detail strong { color:var(--text); font-weight:600; }.usage-reset-button { min-height:37px; padding:0 12px; border-radius:10px; background:var(--control); font-size:12px; font-weight:620; }.usage-reset-button:disabled { opacity:.45; cursor:default; }.usage-reset-target { padding:9px 11px; border-radius:10px; background:var(--control); font-weight:600; }
.usage-source { color: #9b9b95 !important; }.logout-button { width: 100%; min-height: 43px; margin-top: 15px; border-radius: 12px; background: transparent; color: var(--danger); }
.login { position: fixed; inset: 0; z-index: 100; display: grid; place-items: center; padding: 20px; background: rgba(247,247,245,.96); backdrop-filter: blur(10px); }
.login-card { width: min(380px,100%); padding: 32px; border: 1px solid var(--border); border-radius: 24px; background: var(--panel); box-shadow: var(--shadow); }
.login-card h1 { margin: 20px 0 8px; font-size: 25px; letter-spacing: -.04em; }.login-card p { margin: 0 0 20px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.google-login { width:100%; min-height:48px; display:flex; align-items:center; justify-content:center; border-radius:12px; background:var(--accent); color:var(--accent-text); font-size:14px; font-weight:650; text-decoration:none; }.google-login:hover { opacity:.9; }.google-login:focus-visible,.token-login-toggle:focus-visible { outline:3px solid color-mix(in srgb,var(--accent) 24%,transparent); outline-offset:2px; }
.token-login-toggle { width:100%; min-height:40px; margin-top:8px; background:transparent; color:var(--muted); font-size:12px; }.token-login-toggle:hover { color:var(--text); }.token-login-form { margin-top:10px; padding-top:14px; border-top:1px solid var(--border); }.token-login-form label { display:block; margin-bottom:6px; color:var(--muted); font-size:11px; font-weight:620; }.oauth-unavailable { margin-top:10px; color:var(--muted); font-size:11px; text-align:center; }
.login-card input { width: 100%; height: 48px; padding: 0 14px; border: 1px solid var(--border); border-radius: 12px; background:var(--panel); outline: none; }.login-card input:focus { border-color:var(--muted); }.primary { height: 46px; border-radius: 12px; background: var(--accent); color:var(--accent-text); font-weight: 650; }.wide { width: 100%; margin-top: 10px; }.form-error { min-height: 18px; margin-top: 8px; color: var(--danger); font-size: 12px; }
.toast { position: fixed; z-index: 120; left: 50%; bottom: 24px; max-width: min(460px,calc(100vw - 30px)); padding: 10px 15px; border-radius: 12px; background: #22221f; color: white; box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translate(-50%,8px); transition: 180ms ease; font-size: 12px; }.toast.show { opacity: 1; transform: translate(-50%,0); }
.top-actions { position: fixed; z-index: 55; top: 56px; right: 12px; width: 210px; padding: 7px; border: 1px solid var(--border); border-radius: 15px; background: var(--panel); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(-5px) scale(.98); transition: transform 180ms ease,opacity 160ms ease; }
.top-actions.open { opacity: 1; pointer-events: auto; transform: none; }.top-actions button { width: 100%; min-height: 43px; display: flex; align-items: center; gap: 10px; padding: 0 11px; border-radius: 10px; background: transparent; text-align: left; font-size: 13px; }.top-actions button span { width: 20px; color: var(--muted); text-align: center; }
.thread-menu { position:fixed; z-index:58; width:150px; padding:5px; border:1px solid var(--border); border-radius:11px; background:var(--panel); box-shadow:var(--shadow); opacity:0; pointer-events:none; transform:translateY(-3px) scale(.98); transition:transform 150ms ease,opacity 140ms ease; }.thread-menu.open { opacity:1; pointer-events:auto; transform:none; }.thread-menu button { width:100%; min-height:38px; padding:0 10px; border-radius:8px; background:transparent; color:var(--text); text-align:left; font-size:12px; }.thread-menu .danger-menu-item { color:var(--danger); }
.dialog-backdrop { position:fixed; inset:0; z-index:90; background:var(--overlay); opacity:0; pointer-events:none; transition:opacity 180ms ease; }.confirm-dialog { position:fixed; z-index:95; top:50%; left:50%; width:min(390px,calc(100vw - 32px)); padding:20px; border:1px solid var(--border); border-radius:18px; background:var(--panel); box-shadow:var(--shadow); opacity:0; pointer-events:none; transform:translate(-50%,-48%) scale(.98); transition:transform 180ms ease,opacity 160ms ease; }.delete-open #delete-backdrop,.usage-reset-open #usage-reset-backdrop { opacity:1; pointer-events:auto; }.delete-open #delete-dialog,.usage-reset-open #usage-reset-dialog { opacity:1; pointer-events:auto; transform:translate(-50%,-50%); }.confirm-dialog h2 { margin:0 0 12px; font-size:18px; }.confirm-dialog p { margin:7px 0; color:var(--muted); font-size:13px; line-height:1.5; }.confirm-dialog #delete-thread-name { color:var(--text); font-weight:620; }.delete-warning { color:var(--danger)!important; }.dialog-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:18px; }.dialog-actions button { min-height:39px; padding:0 14px; border-radius:10px; background:var(--control); font-size:12px; font-weight:640; }.dialog-actions .danger-button { background:var(--danger); color:white; }.dialog-actions button:disabled { opacity:.45; cursor:not-allowed; }
.rename-open #rename-backdrop { opacity:1; pointer-events:auto; }.rename-open .rename-dialog { opacity:1; pointer-events:auto; transform:translate(-50%,-50%); }.rename-dialog label { display:block; margin:14px 0 6px; color:var(--muted); font-size:11px; font-weight:650; }.rename-dialog input { width:100%; height:44px; padding:0 12px; border:1px solid var(--input-border); border-radius:11px; background:var(--panel); outline:0; }.rename-dialog input:focus { border-color:var(--muted); }.rename-dialog .form-error { margin:5px 0 0; }.dialog-actions .primary { background:var(--button-primary-bg); color:var(--button-primary-text); opacity:1; }.dialog-actions .primary:hover { background:var(--button-primary-hover); }.dialog-actions .primary:active { background:var(--button-primary-active); }.dialog-actions .primary:focus-visible { outline:3px solid color-mix(in srgb,var(--button-primary-bg) 32%,transparent); outline-offset:2px; }.dialog-actions .primary:disabled { opacity:.42; }
.files-backdrop { position: fixed; inset: 0; z-index: 75; background: rgba(15,15,13,.32); opacity: 0; pointer-events: none; transition: opacity 200ms ease; }.files-panel { position: fixed; z-index: 80; inset: 5vh 4vw; display: grid; grid-template-rows: 62px minmax(0,1fr); overflow: hidden; border: 1px solid var(--border); border-radius: 20px; background: var(--panel); box-shadow: var(--shadow); opacity: 0; pointer-events: none; transform: translateY(8px) scale(.99); transition: transform 200ms ease,opacity 180ms ease; }
.files-open .files-backdrop { opacity: 1; pointer-events: auto; }.files-open .files-panel { opacity: 1; pointer-events: auto; transform: none; }.files-header { min-width: 0; display: flex; align-items: center; gap: 12px; padding: 0 16px; border-bottom: 1px solid var(--border); }.files-header > div { min-width: 0; flex: 1; }.files-header h2 { margin: 0; font-size: 16px; letter-spacing: -.02em; }.files-header p { margin: 2px 0 0; overflow: hidden; color: var(--muted); font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.file-back-button { display: none; width: 44px; height: 44px; align-items: center; justify-content: center; padding: 0; border-radius: 50%; background: transparent; }.file-back-button svg { width: 22px; height: 22px; }.file-action { min-height: 36px; padding: 0 13px; border-radius: 10px; background: #efefeb; font-size: 12px; font-weight: 620; }
.files-body { min-height: 0; display: grid; grid-template-columns: 290px minmax(0,1fr); }.file-tree-pane { min-width: 0; overflow: auto; padding: 12px 10px; border-right: 1px solid var(--border); background: #fafaf8; }.hidden-toggle { min-height: 36px; display: flex; align-items: center; gap: 8px; padding: 0 9px 8px; color: var(--muted); font-size: 11px; }.file-tree { min-width: max-content; width: 100%; }.tree-root { padding: 7px 9px; color: var(--muted); font-size: 11px; font-weight: 680; }
.tree-row { min-height: 34px; display: flex; align-items: center; gap: 7px; width: 100%; padding: 3px 9px; border-radius: 9px; background: transparent; text-align: left; font-size: 12px; }.tree-row.selected { background: #e8e8e3; }.tree-row.blocked { opacity: .45; cursor: default; }.tree-chevron { width: 14px; color: var(--muted); text-align: center; }.tree-icon { width: 18px; text-align: center; color: #77776f; }.tree-children { padding-left: 15px; }.tree-loading { padding: 8px 10px 8px 38px; color: var(--muted); font-size: 11px; }
.file-viewer { min-width: 0; min-height: 0; background: #1d1d1b; color: #ededeb; }.file-empty { height: 100%; display: grid; place-items: center; color: #8d8d86; font-size: 13px; }.file-content { height: 100%; display: grid; grid-template-rows: auto minmax(0,1fr); }.file-meta { min-width: 0; min-height: 48px; display: flex; align-items: center; gap: 10px; padding: 8px 14px; border-bottom: 1px solid #353532; background: #242422; font-size: 11px; }.file-meta strong { font-size: 12px; }.file-meta span { color: #aaa9a2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.file-meta #file-path { flex: 1; }.file-meta #file-git { color: #65c58f; }
.binary-info { padding: 30px; color: #b8b8b1; line-height: 1.7; white-space: pre-line; }.code-scroll { min-width: 0; min-height: 0; overflow: auto; overscroll-behavior: contain; font: 13px/20px ui-monospace,SFMono-Regular,Consolas,"Liberation Mono",monospace; scrollbar-color: #55554f #1d1d1b; }.code-virtual { min-height: 100%; min-width: 100%; }.code-window { min-width: max-content; }.file-line { display: flex; height: 20px; white-space: pre; }.line-number { position: sticky; left: 0; z-index: 1; flex: 0 0 66px; padding-right: 15px; background: #1d1d1b; color: #6f6f69; text-align: right; user-select: none; }.line-code { padding-right: 24px; }.tok-comment { color:#818c75}.tok-string { color:#d9a875}.tok-number { color:#a9b7e8}.tok-keyword { color:#d08dd2}.tok-tag { color:#df8782}.tok-attr { color:#b9c97a}
.sidebar-collapsed { --sidebar-w: 72px; }.sidebar-collapsed .brand span:last-child,.sidebar-collapsed .new-thread:not(:focus) { font-size: 0; }.sidebar-collapsed .new-thread { justify-content: center; padding: 0; }.sidebar-collapsed .search,.sidebar-collapsed .sidebar-label,.sidebar-collapsed .thread-list,.sidebar-collapsed .settings-button span:last-child { display: none; }.sidebar-collapsed .settings-button { justify-content: center; }
@media (hover:hover) and (pointer:fine) { .icon-button:hover,.thread-item:hover,.settings-button:hover,.top-actions button:hover,.tree-row:hover,.home-account button:hover,.home-model:hover { background: var(--hover); }.thread-item:hover .thread-manage,.thread-manage:focus-visible { opacity:1; }.thread-manage:hover,.thread-menu button:hover { background:var(--hover); }.new-thread:hover { background:var(--surface); }.status-pill:hover { background:var(--hover); }.copy-code:hover { background: #484844; } }
@media (max-width:760px) {
  body:not([data-layout="desktop"]) .desktop-only { display:none!important; }
}
body[data-layout="mobile"] .mobile-only { display:grid!important; }
body[data-layout="mobile"] .desktop-only { display:none!important; }
body[data-layout="mobile"] :where(a,button,input,textarea,select,summary,label,[role="button"],[role="link"],[role="menuitem"],[role="option"],[tabindex]) { -webkit-tap-highlight-color:transparent; }
body[data-layout="mobile"] .app-shell { display:block; }
body[data-layout="mobile"] .sidebar { position:fixed; inset:0 auto 0 0; width:min(86vw,340px); padding-top:max(14px,env(safe-area-inset-top)); box-shadow:var(--shadow); transform:translateX(-102%); }
body[data-layout="mobile"].drawer-open .sidebar { transform:translateX(0); }
body[data-layout="mobile"].drawer-open .backdrop { opacity:1; pointer-events:auto; }
body[data-layout="mobile"] .main-panel { grid-template-rows:max(60px,calc(50px + env(safe-area-inset-top))) minmax(0,1fr) auto; }
body[data-layout="mobile"] .topbar { padding:max(env(safe-area-inset-top),6px) 12px 4px; gap:8px; border-bottom:0; }
body[data-layout="mobile"] .topbar .icon-button { flex:0 0 42px; font-size:20px; }
body[data-layout="mobile"] .title-wrap { text-align:center; }body[data-layout="mobile"] .thread-title { font-size:17px; font-weight:680; }
body[data-layout="mobile"] .status-pill { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; padding:0; border-radius:50%; color:var(--text); font-size:0; line-height:0; }
body[data-layout="mobile"] .status-pill > span { display:none; }body[data-layout="mobile"] .status-pill .mobile-more-icon { display:block; width:24px; height:24px; stroke:none; fill:currentColor; }.mobile-connection-dot { position:absolute; top:2px; right:2px; width:9px; height:9px; border:2px solid var(--panel); border-radius:50%; background:#aaa; }body[data-layout="mobile"] .status-pill .mobile-connection-dot { display:block; }.status-pill.online .mobile-connection-dot { background:var(--green); }.status-pill.offline .mobile-connection-dot { background:var(--danger); }
body[data-layout="mobile"] .connection { display:none; }
body[data-layout="mobile"] .messages { padding:24px 18px 20px; }.message { margin-bottom:29px; }.message-agent { padding-right:0; }.message-user .message-collapse-shell { max-width:88%; }.message-user .message-body { max-width:none; font-size:14px; }.markdown { font-size:14px; line-height:1.68; }
body[data-layout="mobile"] .message-collapse-shell.is-long:not(.is-expanded) .message-collapse-content { max-height:460px; }
body[data-layout="mobile"] .composer-area { padding:5px 10px max(7px,env(safe-area-inset-bottom)); }body[data-layout="mobile"] .composer { align-items:center; border-radius:23px; padding:3px 7px; }body[data-layout="mobile"] .composer.multiline { align-items:flex-end; }body[data-layout="mobile"] .composer textarea { min-height:44px; max-height:132px; padding:10px 3px 12px; line-height:22px; }.composer-note { display:none; }.quick-settings { margin-left:10px; }body[data-layout="mobile"] .scroll-controls { right:12px; top:-45px; }body[data-layout="mobile"] .scroll-controls button { width:38px; height:38px; }body[data-layout="mobile"] .image-preview { grid-template-columns:42px minmax(0,1fr) 34px; }.image-preview #image-state { grid-column:2; }.image-preview img { grid-row:1/3; }.image-preview button { grid-column:3; grid-row:1/3; }
body[data-layout="desktop"] .composer-area { isolation:isolate; background:var(--composer-fade); }
body[data-layout="desktop"] .composer-area::before { content:""; position:absolute; z-index:-1; right:0; bottom:100%; left:0; height:72px; pointer-events:none; background:linear-gradient(to bottom,transparent 0%,color-mix(in srgb,var(--composer-fade) 34%,transparent) 48%,var(--composer-fade) 100%); }
body[data-layout="desktop"].home-view .composer-area { background:transparent; }
body[data-layout="desktop"].home-view .composer-area::before { display:none; }
body[data-layout="desktop"] .composer { border-radius:23px; padding:2px 7px; }body[data-layout="desktop"] .composer textarea { max-height:132px; }
body[data-layout="mobile"] .slash-palette { max-height:min(188px,28vh); margin-bottom:4px; }body[data-layout="mobile"] .slash-command { grid-template-columns:88px minmax(0,1fr); }
body[data-layout="mobile"] .thread-manage { opacity:1; width:44px; height:44px; align-self:start; }body[data-layout="mobile"] .thread-item { grid-template-columns:minmax(0,1fr) 44px; }body[data-layout="mobile"] .thread-open { min-height:76px; }
body[data-layout="mobile"] .approval-bar { padding:9px 11px; margin-bottom:4px; }body[data-layout="mobile"] .approval-reason { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }body[data-layout="mobile"] .approval-reason.expanded { display:block; overflow:visible; }body[data-layout="mobile"] .approval-more { display:block; }body[data-layout="mobile"] .approval-command { max-height:48px; }body[data-layout="mobile"] .approval-actions { gap:5px; }body[data-layout="mobile"] .approval-actions button { min-height:34px; padding:0 9px; }
body[data-layout="mobile"] .activity-expanded { max-height:min(300px,45vh); padding-left:13px; }body[data-layout="mobile"] .activity-output { max-height:190px; }body[data-layout="mobile"] .working-state { overflow:hidden; text-overflow:ellipsis; }
body[data-layout="mobile"] .confirm-dialog { top:auto; bottom:0; left:0; width:100%; border-width:1px 0 0; border-radius:20px 20px 0 0; padding:20px 20px max(20px,env(safe-area-inset-bottom)); transform:translateY(102%); opacity:1; }body[data-layout="mobile"].delete-open #delete-dialog { transform:none; }
body[data-layout="mobile"].rename-open .rename-dialog { transform:none; }
body[data-layout="mobile"].usage-reset-open #usage-reset-dialog { transform:none; }
body[data-layout="mobile"] .add-button,body[data-layout="mobile"] .send-button { flex:0 0 44px; width:44px; height:44px; display:grid; place-items:center; padding:0; border-radius:50%; line-height:0; }body[data-layout="mobile"] .add-button svg { width:26px; height:26px; }body[data-layout="mobile"] .send-button svg { width:22px; height:22px; }
body[data-layout="mobile"] .send-button svg { transform:translateY(-1px); }
body[data-layout="mobile"] .bottom-sheet { inset:auto 0 0; width:100%; max-height:min(78vh,calc(var(--vvh) - 50px)); border-radius:24px 24px 0 0; border-width:1px 0 0; padding:8px 20px max(20px,env(safe-area-inset-bottom)); transform:translateY(102%); opacity:1; }
body[data-layout="mobile"].sheet-open .bottom-sheet { transform:translateY(0); }.sheet-handle { display:block; width:38px; height:4px; margin:2px auto 10px; border-radius:4px; background:#c9c9c3; }
body[data-layout="mobile"] .empty-state { padding:25px; }.empty-state h2 { font-size:22px; }
body[data-layout="mobile"] .files-panel { inset:0; grid-template-rows:max(62px,calc(52px + env(safe-area-inset-top))) minmax(0,1fr); border:0; border-radius:0; transform:translateX(102%); opacity:1; }body[data-layout="mobile"].files-open .files-panel { transform:translateX(0); }body[data-layout="mobile"] .files-backdrop { display:none; }body[data-layout="mobile"] .files-header { padding:max(env(safe-area-inset-top),6px) 10px 4px; }body[data-layout="mobile"] .file-back-button { display:flex; }body[data-layout="mobile"] .files-body { display:block; position:relative; overflow:hidden; }body[data-layout="mobile"] .file-tree-pane,body[data-layout="mobile"] .file-viewer { position:absolute; inset:0; transition:transform 200ms ease; }body[data-layout="mobile"] .file-tree-pane { border-right:0; transform:translateX(0); }body[data-layout="mobile"] .file-viewer { transform:translateX(102%); }body[data-layout="mobile"] .files-panel.viewer-open .file-tree-pane { transform:translateX(-24%); }body[data-layout="mobile"] .files-panel.viewer-open .file-viewer { transform:translateX(0); }body[data-layout="mobile"] .files-panel:not(.viewer-open) .file-action { display:none!important; }
body[data-layout="mobile"].home-view .topbar { gap:4px; padding-right:8px; }
body[data-layout="mobile"].home-view .title-wrap { align-items:center; }
body[data-layout="mobile"] .header-home { font-size:14px; }
body[data-layout="mobile"] .home-account { gap:1px; font-size:10px; }
body[data-layout="mobile"] .home-account button { min-height:40px; padding:0 4px; }
body[data-layout="mobile"].home-view .composer-area { inset:max(60px,calc(50px + env(safe-area-inset-top))) auto 0 50%; width:calc(100% - 20px); }
body[data-layout="mobile"].home-view .home-prompt { top:42%; font-size:26px; }
body[data-layout="mobile"].home-view .home-input-stack { padding:8px; border-radius:27px; backdrop-filter:blur(13px) saturate(1.06); -webkit-backdrop-filter:blur(13px) saturate(1.06); }
body[data-layout="mobile"].home-view .main-panel::before { filter:blur(20px) saturate(.94); }
body[data-layout="mobile"].home-view .home-model { min-height:36px; margin-bottom:8px; }
body[data-layout="mobile"].home-view .home-input-stack.keyboard-open { top:100%; transform:translateY(calc(-100% - max(8px,env(safe-area-inset-bottom)))); }
@media (orientation:landscape) and (max-height:560px) {
  body[data-layout="mobile"].home-view .home-prompt { top:35%; font-size:22px; }
  body[data-layout="mobile"].home-view .home-input-stack { top:61%; }
  body[data-layout="mobile"].home-view .home-model { min-height:32px; margin-bottom:8px; }
  body[data-layout="mobile"].home-view .home-input-stack.keyboard-open { top:100%; transform:translateY(calc(-100% - max(8px,env(safe-area-inset-bottom)))); }
}
html[data-theme="dark"] { --bg:#191918; --panel:#20201e; --sidebar:#181817; --text:#ecece8; --muted:#a2a29b; --border:#353532; --hover:#2d2d2a; --accent:#ecece8; --accent-text:#191918; --button-primary-bg:#4b9d70; --button-primary-text:#101611; --button-primary-hover:#5bab7e; --button-primary-active:#3f895f; --green:#55ae7c; --danger:#e06b61; --success:#55ae7c; --success-soft:rgba(85,174,124,.19); --working:#d0a04d; --working-soft:rgba(208,160,77,.19); --failure:#e06b61; --failure-soft:rgba(224,107,97,.19); --glass-highlight:rgba(255,255,255,.13); --surface:#262624; --surface-strong:#2b2b28; --control:#353532; --input-border:#42423e; --overlay:rgba(0,0,0,.52); --composer-fade:rgba(32,32,30,.72); --code-inline:#30302d; --status-bg:#292927; --skeleton-a:#292927; --skeleton-b:#353532; --progress-bg:#353532; --shadow:0 20px 50px rgba(0,0,0,.45); --home-ambient-green:rgba(45,143,108,.17); --home-ambient-blue:rgba(45,111,163,.15); --home-ambient-violet:rgba(102,75,157,.15); --home-ambient-warm:rgba(147,101,50,.075); --home-glass:rgba(31,33,31,.54); --home-glass-border:rgba(255,255,255,.105); --home-glass-inner:rgba(255,255,255,.09); --home-glass-shadow:rgba(0,0,0,.34); --thread-ambient-green:rgba(48,143,108,.052); --thread-ambient-blue:rgba(48,110,160,.046); --thread-ambient-violet:rgba(103,78,153,.04); }
html[data-theme="dark"] { --thread-ambient-green:rgba(48,143,108,.068); --thread-ambient-blue:rgba(48,110,160,.059); --thread-ambient-violet:rgba(103,78,153,.052); }
html[data-theme="dark"] .activity.status-success { --activity-glow:rgba(85,174,124,.3); }html[data-theme="dark"] .activity.status-working { --activity-glow:rgba(208,160,77,.3); }html[data-theme="dark"] .activity.status-failed { --activity-glow:rgba(224,107,97,.3); }
html[data-theme="dark"] .brand-mark,html[data-theme="dark"] .send-button,html[data-theme="dark"] .stop-button,html[data-theme="dark"] .approve,html[data-theme="dark"] .primary,html[data-theme="dark"] .choice.active { background:var(--accent); color:var(--accent-text); }
html[data-theme="dark"] .new-thread,html[data-theme="dark"] .thread-item.active,html[data-theme="dark"] .status-pill,html[data-theme="dark"] .login-card,html[data-theme="dark"] .sheet-section select { background:#292927; }
html[data-theme="dark"] .search,html[data-theme="dark"] .file-tree-pane { background:#242422; }html[data-theme="dark"] .code-wrap { border-color:#3c3c38; }html[data-theme="dark"] .markdown th,html[data-theme="dark"] .tree-row.selected { background:#353532; }html[data-theme="dark"] .login { background:rgba(25,25,24,.96); }html[data-theme="dark"] .file-action { background:var(--control); color:var(--text); }html[data-theme="dark"] .activity-detail { color:#b1b1aa; }
@keyframes shimmer { to { background-position-x:-220%; } }
@keyframes message-in { from { opacity:0; transform:translate3d(0,9px,0); } to { opacity:1; transform:translate3d(0,0,0); } }
@keyframes bounce { 0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1} }
@keyframes home-ambient-drift { from { transform:translate3d(-1.8%,-1%,0) scale(1); } to { transform:translate3d(2.2%,1.8%,0) scale(1.035); } }
@keyframes home-ambient-reveal { from { opacity:0; } to { opacity:1; } }
@keyframes home-title-enter { from { opacity:0; translate:0 8px; } to { opacity:1; translate:none; } }
@keyframes home-input-enter { from { opacity:0; translate:0 16px; scale:.985; } to { opacity:1; translate:none; scale:1; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation-duration:.01ms!important; animation-iteration-count:1!important; transition-duration:.01ms!important; scroll-behavior:auto!important; }.home-view .main-panel::before,.home-view .home-prompt,.home-view .home-input-stack { animation:none!important; }.home-view .main-panel::before { transform:none; } }
