:root{color-scheme:dark;--bg:#19191b;--sidebar:#101012;--panel:#252528;--text:#f2f0eb;--muted:#95959e;--border:#343438;--red:#ef2343;--red-soft:#ff647b;--ivory:#f5f1e7;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-size:15px;line-height:1.55;overflow:hidden}button,textarea,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.38;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--red-soft);outline-offset:4px}[hidden]{display:none!important}
.shell{display:grid;grid-template-columns:260px minmax(0,1fr);height:100vh;height:100dvh}aside{display:flex;flex-direction:column;min-height:0;padding:24px 18px 18px;background:var(--sidebar);border-right:1px solid #27272b}.sidebar-top{display:flex;align-items:center;justify-content:space-between;padding:0 6px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ivory)}.brand img{object-fit:contain}.brand-name{font-size:28px;font-weight:850;letter-spacing:1.5px;font-style:italic;line-height:1.1}.brand-name small{display:block;font-size:9px;letter-spacing:.18px;color:#9d9da5;font-weight:450;font-style:normal;margin-top:7px}
.chat-nav{display:flex;align-items:center;gap:11px;width:100%;border:1px solid #38383d;border-radius:10px;background:#202023;color:var(--ivory);padding:12px 13px;margin:34px 0 28px;font-size:13px;text-align:left}.chat-nav>span:first-child{font-size:21px;line-height:1;color:#ddd}.nav-arrow{margin-left:auto;color:#8f8f98}.section-label{display:block;color:#777780;font-size:10px;font-weight:600;letter-spacing:1.4px;margin:0 10px 12px}.workspace{margin-bottom:28px}.server-select{display:flex;align-items:center;background:#1c1c1f;border:1px solid #303035;border-radius:9px;min-width:0}.server-symbol{margin-left:13px;color:var(--red-soft);font-size:19px}select{width:100%;min-width:0;background:transparent;border:0;color:#e0dfe3;padding:12px 10px;font-size:12px;outline:none}select option{background:#202023;color:#f2f0eb}.workspace-note{font-size:11px;color:#6f6f79;margin:10px 11px}
.recent{overflow:auto;min-height:40px;flex:1;scrollbar-width:thin;scrollbar-color:#343438 transparent}.recent-empty{font-size:12px;color:#666670;margin:0 10px}.recent-request{display:block;width:100%;text-align:left;background:transparent;border:0;border-radius:7px;color:#acacb4;padding:10px 11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.recent-request:hover{background:#232326;color:#f2f0eb}.sidebar-bottom{padding-top:20px}.workspace-card{display:flex;align-items:center;gap:10px;padding:13px 9px;border-top:1px solid #2a2a2e}.workspace-card-mark{display:grid;place-items:center;flex:none;width:31px;height:31px;border:1px solid #514148;border-radius:8px;background:#2b2026;color:#f4e8e8;font-size:13px;font-weight:700}.workspace-card strong{display:block;font-size:11px;font-weight:550}.workspace-card small{display:block;font-size:9px;color:#767680;margin-top:2px}.private-chip{margin-left:auto;font-size:8px;letter-spacing:.6px;color:#a0a0a8;border:1px solid #38383e;border-radius:4px;padding:3px 5px}.status{display:flex;align-items:center;gap:7px;color:#8d8d96;font-size:10px;padding:8px 10px}#dot,.scope-dot{display:inline-block;width:5px;height:5px;flex:none;border-radius:50%;background:#74747d}#dot.online{background:#89bda3;box-shadow:0 0 0 3px #89bda30d}.signout{display:flex;justify-content:space-between;width:100%;background:none;border:0;color:#85858f;font-size:11px;padding:9px 10px;margin-top:3px;border-radius:7px}.signout:hover{background:#232326}
.chat{display:flex;flex-direction:column;min-width:0;min-height:0;height:100vh;height:100dvh}header{flex:none;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:22px 30px 15px}.header-brand{display:flex;align-items:center;gap:10px}h1{font-size:18px;font-weight:700;margin:0;letter-spacing:.5px}.header-divider{font-size:16px;font-weight:350;margin:0 10px;color:#515158}.header-subtitle{font-size:12px;font-weight:450;letter-spacing:.1px;color:#9c9ca5}.workspace-button{padding:0;border:0;background:none;color:#777781;font-size:10px;margin-top:3px;text-align:left}.workspace-button span{margin-left:5px}.preview-badge{display:flex;align-items:center;gap:7px;white-space:nowrap;color:#b9adb1;font-size:10px;border:1px solid #47313a;background:#2c202638;border-radius:20px;padding:6px 10px}.preview-badge>span{width:4px;height:4px;border-radius:50%;background:var(--red-soft)}
.messages{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#404047 transparent;flex:1;min-height:0;padding:14px max(28px,calc((100% - 760px)/2));scroll-behavior:smooth}.welcome{text-align:center;max-width:730px;margin:1vh auto 22px}.brand-banner{display:block;width:min(100%,560px);height:auto;margin:0 auto 12px;border-radius:12px;mix-blend-mode:screen}.welcome-kicker{font-size:9px;letter-spacing:2.8px;color:#b07984;font-weight:550}h2{font-size:clamp(25px,2.8vw,35px);font-weight:550;letter-spacing:-1.1px;margin:12px 0 10px;line-height:1.2}.welcome p{font-size:13px;line-height:1.7;color:#93939d;margin:0}.primary{display:inline-flex;align-items:center;justify-content:center;gap:16px;background:var(--red);color:white;border:1px solid transparent;padding:10px 15px;border-radius:9px;font-size:12px;font-weight:600;text-decoration:none}.primary:hover:not(:disabled){background:#fa3554}.login{margin:22px 0 4px;padding:11px 19px}.examples{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;text-align:left;margin-top:29px}.examples button{display:flex;flex-direction:column;align-items:flex-start;min-height:126px;padding:16px;background:#202023;border:1px solid #343438;border-radius:12px;color:#dedde1;text-align:left}.example-icon{display:grid;place-items:center;height:26px;min-width:26px;font-size:17px;color:#e7bbc4;margin-bottom:13px}.examples strong{font-size:12px;font-weight:550}.examples small{font-size:10px;line-height:1.5;color:#81818b;margin-top:5px}.examples button:hover{background:#29292d;border-color:#584047}
.message{max-width:100%;margin:22px 0;overflow-wrap:anywhere;scroll-margin:25px}.message.user{display:flex;justify-content:flex-end}.message.user .message-content{max-width:82%;background:#303034;padding:12px 18px;border-radius:20px 20px 6px 20px;font-size:14px;white-space:pre-wrap;line-height:1.65}.message.assistant{display:flex;gap:13px;align-items:flex-start;background:transparent}.assistant-avatar{flex:none;width:31px;height:31px;border:1px solid #43343b;border-radius:50%;background:#232025;padding:5px;object-fit:contain}.assistant-main{flex:1;min-width:0;padding-top:3px}.assistant-name{display:block;font-size:11px;font-weight:700;letter-spacing:.8px;color:#e6dfe1;margin-bottom:8px}.message.assistant .message-content{font-size:14px;color:#d6d5db;white-space:pre-wrap;line-height:1.8}.message.assistant.is-pending .message-content{color:#90909a}.message.assistant.is-pending .assistant-avatar{border-color:#aa4357}.message-meta{display:flex;gap:10px;margin-top:8px}.copy-response{border:0;background:transparent;color:#72727d;font-size:10px;padding:3px 0}.copy-response:hover{color:#d3c9cb}.message .receipt-link{display:inline-block;color:#f0a4b2;text-decoration:none;font-size:12px;border-bottom:1px solid #713440;padding-bottom:1px;margin-top:7px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.conversation-bottom{flex:none;width:min(100%,820px);padding:0 28px max(15px,env(safe-area-inset-bottom));margin:0 auto}.preview{border:1px solid #67414a;border-radius:14px;background:#252024;margin-bottom:13px;overflow:hidden}.preview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 16px;border-bottom:1px solid #423138}.preview-heading>div{display:flex;align-items:center;gap:9px}.review-symbol{color:#eb93a4;display:grid;place-items:center;width:21px;height:21px;border:1px solid #8b4f5d;border-radius:6px;font-size:12px}h3{margin:0;font-size:12px;font-weight:600}.review-note{font-size:10px;color:#a28b93}.preview pre{white-space:pre-wrap;overflow-wrap:anywhere;font-family:inherit;font-size:12px;line-height:1.75;max-height:180px;overflow:auto;margin:0;padding:14px 16px;color:#d5c8cd}.review-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;padding:11px 14px;border-top:1px solid #423138}.review-actions>span{margin-right:auto;color:#967c86;font-size:10px}.subtle{border:1px solid #53414a;background:transparent;color:#c0a8b1;padding:9px 13px;border-radius:8px;font-size:11px}.subtle:hover:not(:disabled){background:#3a2931}.review-actions .primary{font-size:11px;padding:9px 12px}
#composer{display:flex;flex-direction:column;gap:9px;background:#2a2a2e;border:1px solid #44444b;border-radius:19px;padding:15px 16px 10px;box-shadow:0 5px 30px #00000016}#composer:focus-within{border-color:#80606a}textarea{resize:none;width:100%;min-width:0;height:28px;min-height:28px;max-height:140px;overflow-y:auto;background:transparent;color:#eee;border:0;outline:none!important;font-size:14px;line-height:1.6;padding:0}textarea::placeholder{color:#9999a3}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px}.composer-hint{display:flex;align-items:center;gap:7px;min-width:0;color:#93939d;font-size:10px;letter-spacing:.1px}.composer-hint>span:last-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scope-dot{background:#b07b88}#send{display:grid;place-items:center;flex:none;width:31px;height:31px;padding:0;border:0;background:var(--ivory);color:#202023;border-radius:50%;font-size:21px;line-height:1}.footnote{text-align:center;font-size:9px;color:#72727e;margin:10px 0 0}.footnote span{margin-left:5px;color:#666671}#error{background:#3a222b;border:1px solid #653443;color:#ecc0ca;border-radius:10px;padding:10px 14px;font-size:12px;margin-bottom:12px}.icon-button{display:grid;place-items:center;background:none;border:0;color:#bbb8c1;width:30px;height:30px;font-size:19px;border-radius:7px}.icon-button:hover{background:#303035}.mobile-only,.sidebar-backdrop{display:none}
@media(max-height:780px) and (min-width:761px){.brand-banner{width:400px;margin-bottom:4px}.welcome{margin:0 auto 12px}.examples{margin-top:19px}.examples button{min-height:108px;padding:13px}.example-icon{margin-bottom:8px}h2{font-size:29px}}
@media(max-width:760px){.shell{grid-template-columns:minmax(0,1fr)}aside{position:fixed;z-index:30;inset:0 auto 0 0;width:280px;max-width:85vw;transform:translateX(-100%);padding-top:max(22px,env(safe-area-inset-top));box-shadow:10px 0 40px #0006}.sidebar-open aside{transform:translateX(0)}.mobile-only{display:grid}.sidebar-backdrop{position:fixed;inset:0;border:0;background:#0009;z-index:25;width:100%;height:100%;display:block}.chat{width:100%;height:100dvh}header{padding:14px 15px 10px;gap:9px;align-items:flex-start}.header-brand{gap:9px}.header-brand .icon-button{margin-top:2px}h1{font-size:19px}.header-divider{display:none}.header-subtitle{display:block;font-size:9px;letter-spacing:.1px;margin-top:1px}.workspace-button{font-size:9px;margin-top:4px}.preview-badge{font-size:8px;padding:4px 7px;margin-top:5px;gap:5px}.messages{padding:6px 18px 15px}.welcome{margin:3vh auto 18px}.brand-banner{width:min(100%,440px);margin-bottom:18px;border-radius:9px}.welcome-kicker{font-size:8px;letter-spacing:2px}h2{font-size:27px;letter-spacing:-.9px;margin-top:13px}.welcome p{font-size:12px}.login{font-size:12px;margin-top:18px}.examples{grid-template-columns:1fr;gap:8px;margin-top:25px}.examples button{display:grid;grid-template-columns:28px 1fr;gap:0 12px;padding:12px 14px;min-height:62px;border-radius:11px}.example-icon{grid-row:1/3;margin:0;align-self:center}.examples strong{font-size:11px}.examples small{font-size:9px;margin-top:2px}.message{margin:18px 0}.message.user .message-content{max-width:90%;font-size:13px;padding:11px 15px}.message.assistant{gap:9px}.assistant-avatar{width:27px;height:27px;padding:4px}.message.assistant .message-content{font-size:13px;line-height:1.7}.assistant-name{font-size:10px;margin-bottom:6px}.conversation-bottom{padding:0 14px max(12px,env(safe-area-inset-bottom))}.preview-heading{padding:11px 12px}.review-note{font-size:8px}.preview pre{max-height:145px;padding:11px 13px;font-size:11px}.review-actions{padding:9px 11px}.review-actions>span{font-size:9px}.review-actions .primary{font-size:10px;padding:8px 10px;gap:8px}.subtle{font-size:10px;padding:8px 10px}#composer{padding:13px 14px 9px;border-radius:17px;gap:6px}textarea{font-size:16px;line-height:1.5;max-height:110px}.composer-hint{font-size:9px}#send{width:29px;height:29px}.footnote{font-size:8px;margin-top:8px}.footnote span{display:none}}
@media(max-width:359px){header{padding-left:11px;padding-right:11px}.preview-badge{display:none}.messages{padding-left:14px;padding-right:14px}h2{font-size:24px}.review-note{display:none}}
@media(prefers-reduced-motion:no-preference){button,a,aside{transition:background .15s,border-color .15s,transform .2s}.is-pending .assistant-avatar{animation:breathe 1.8s ease-in-out infinite}@keyframes breathe{50%{opacity:.45}}}
@media(prefers-reduced-motion:reduce){.messages{scroll-behavior:auto}}
/* Keep the app frame fixed. Only the conversation and sidebar lists scroll. */
html,body{width:100%;height:100%;min-height:0;overflow:hidden;overscroll-behavior:none}
.shell{position:fixed;inset:var(--app-top,0px) 0 auto;height:var(--app-height,100dvh);min-width:0;min-height:0;overflow:hidden}
.chat{height:100%;overflow:hidden}
.message{position:relative}
.header-brand,.header-brand>div{min-width:0}
.workspace-button{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conversation-bottom{min-height:0;max-height:60%;overflow-y:auto;scrollbar-width:thin}
.preview{display:flex;flex-direction:column;max-height:min(300px,calc(var(--app-height,100dvh)*.35));min-height:0}
.preview-heading,.review-actions{flex:none}
.preview pre{flex:1;min-height:0}
textarea{max-height:min(140px,20dvh)}
@media(max-width:760px){
 aside{top:var(--app-top,0px);bottom:auto;height:var(--app-height,100dvh)}
 .sidebar-backdrop{top:var(--app-top,0px);bottom:auto;height:var(--app-height,100dvh)}
 .chat{height:100%}
 .header-brand{flex:1}
 .header-brand .icon-button{flex:none}
 .preview{max-height:min(260px,calc(var(--app-height,100dvh)*.35))}
 .preview-heading{flex-wrap:wrap;gap:4px}
 .review-actions{flex-wrap:wrap}
 .conversation-bottom{max-height:60%;padding-bottom:max(8px,env(safe-area-inset-bottom))}
 textarea{max-height:min(110px,20dvh)}
}
@media(max-height:500px){
 header{padding-top:8px;padding-bottom:7px}
 .footnote,.workspace-note,.review-note{display:none}
 .chat-nav{margin:16px 0}
 .workspace{margin-bottom:12px}
 .sidebar-bottom{padding-top:6px}
 .preview pre{max-height:90px}
 #composer{padding-top:9px;padding-bottom:7px}
 .conversation-bottom{max-height:65%}
}

aside{overflow-y:auto;overscroll-behavior:contain}
