:root{--sans:-apple-system, BlinkMacSystemFont, "SF Pro Display", "PingFang SC", "Helvetica Neue", system-ui, sans-serif;color:#1f2937;font:14px/1.6 var(--sans);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f7f8}body{margin:0}h1{font-size:24px;line-height:1.2}body{min-height:100svh;margin:0;overflow:hidden}*{box-sizing:border-box}h1{letter-spacing:-.01em;font-size:24px;font-weight:600;line-height:1.2}#root{min-height:100svh}.app-shell{background:#f5f5f6;grid-template-columns:220px minmax(0,1fr);gap:10px;width:100%;height:100svh;min-height:100svh;padding:10px;display:grid;overflow:hidden}.sidebar{color:#1f2937;background:#fafafae0;border:1px solid #f0f1f2;border-radius:18px;flex-direction:column;gap:12px;min-height:0;padding:14px;display:flex;overflow:hidden}.sidebar-top{flex:1;gap:14px;min-height:0;padding-right:0;display:grid;overflow:auto}.sidebar-brand h1{margin:0;font-size:16px;font-weight:600;line-height:1.25}.sidebar-actions{gap:8px;display:flex}.history-panel{gap:8px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.section-heading strong{font-size:12px;font-weight:500}.section-heading small{color:#b0b5bd;margin-top:1px;font-size:11px}.section-count{color:#b0b5bd;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;min-width:auto;padding:0;font-size:10px;font-weight:600;display:inline-flex}.eyebrow{color:#9ca3af;letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:600}.lead{color:#6b7280;margin:8px 0 0;font-size:13px;line-height:1.6}.new-chat-button,.secondary-button,.workspace-home-cta{color:#374151;cursor:pointer;font:inherit;background:#fff;border:1px solid #e5e7eb;border-radius:12px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:13px;font-weight:500;transition:background-color .18s,border-color .18s,color .18s;display:inline-flex}.new-chat-button{color:#fff;background:#111827;border-color:#111827}.secondary-button{background:#fff}.secondary-button.dark{color:#374151;background:#fff;border-color:#e5e7eb}.history-search{color:#374151;font:inherit;background:#ffffffb3;border:1px solid #f0f1f2;border-radius:10px;padding:9px 10px;font-size:12px}.history-search::placeholder{color:#b0b5bd}.session-list{gap:5px;min-height:0;max-height:34vh;display:grid;overflow:auto}.session-item{background:0 0;border:1px solid #0000;border-radius:12px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:4px;padding:6px;display:grid}.session-item.active{background:#fff;border-color:#ececee}.session-main,.session-delete{color:inherit;cursor:pointer;font:inherit;background:0 0;border:0}.session-main{text-align:left;gap:3px;min-width:0;padding:4px;display:grid}.session-main strong,.session-main small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.session-main strong{font-size:12px;font-weight:500}.session-main p{color:#b0b5bd;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:11px;line-height:1.4;overflow:hidden}.session-main small{color:#c8ccd2;font-size:10px}.session-delete{color:#b0b5bd;border-radius:8px;align-self:center;padding:4px 6px;font-size:11px}.session-item.active .session-main p{color:#6b7280}.notes{border:0;border-top:1px solid #f0f1f2;border-radius:0;flex-wrap:wrap;gap:8px 10px;padding:10px 0 0;display:flex}.notes small{color:#b0b5bd;font-size:10px}.chat-panel{background:#fcfcfd;border:1px solid #f0f1f2;border-radius:18px;flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.chat-stage-body{flex:1;gap:10px;width:100%;min-height:0;padding:0 24px 18px;display:grid;overflow:hidden}.stage-topbar{justify-content:space-between;align-items:center;gap:12px;padding:16px 24px 8px;display:flex}.stage-topbar-title{min-width:0}.stage-topbar-title h2{color:#111827;letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.chat-subtitle{color:#b0b5bd;margin:2px 0 0;font-size:11px}.stage-topbar-actions{align-items:center;gap:6px;display:flex}.model-menu{position:relative}.model-trigger{color:#374151;cursor:pointer;text-align:left;background:#fff;border:1px solid #ececee;border-radius:10px;flex-direction:column;align-items:flex-start;gap:1px;min-width:138px;min-height:34px;padding:7px 10px;display:inline-flex}.model-trigger-label{font-size:11px;font-weight:500;line-height:1.2}.model-trigger-model{color:#b0b5bd;font-size:10px;line-height:1.2}.model-menu-panel{z-index:20;background:#fff;border:1px solid #ececee;border-radius:16px;gap:14px;width:min(380px,78vw);max-height:min(70vh,620px);margin-top:10px;padding:14px;display:grid;position:absolute;top:100%;right:0;overflow:auto;box-shadow:0 18px 50px #0f172a14}.model-menu-group{gap:8px;display:grid}.model-menu-label{color:#9ca3af;font-size:11px;font-weight:600}.model-menu-list{gap:6px;display:grid}.model-menu-item{color:#1f2937;cursor:pointer;text-align:left;background:#fafafa;border:1px solid #ececee;border-radius:12px;align-items:start;gap:2px;padding:10px 12px;display:grid}.model-menu-item strong{font-size:13px;font-weight:500}.model-menu-item span{color:#9ca3af;font-size:11px}.model-menu-item.active{color:#fff;background:#111827;border-color:#111827}.model-menu-item.active span{color:#d1d5db}.home-workspace{flex:1;justify-content:center;align-items:center;min-height:0;padding:32px 24px 48px;display:flex;overflow:auto}.home-workspace-centered{gap:18px;display:grid}.home-stage-copy{text-align:center;justify-items:center;gap:6px;display:grid}.home-stage-copy h3{color:#111827;letter-spacing:-.02em;margin:0;font-size:28px;font-weight:500}.home-stage-copy p{color:#9ca3af;margin:0;font-size:13px}.workspace-stage{background:#fffffff5}.workspace-home{flex:1;justify-content:center;align-items:center;min-height:0;padding:24px;display:flex;overflow:auto}.workspace-panel{gap:8px;display:grid}.workspace-list{gap:4px;display:grid}.workspace-list.compact{gap:2px}.workspace-item{color:#4b5563;cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:12px;gap:3px;padding:10px 10px 10px 11px;display:grid}.workspace-item-eyebrow{color:#b0b5bd;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600}.workspace-item strong{font-size:13px;font-weight:500}.workspace-item span{color:#9ca3af;font-size:11px;line-height:1.45}.workspace-item.active{color:#111827;background:#fff;border-color:#ececee}.workspace-note{background:#fff;border:1px solid #ececee;border-radius:14px;gap:6px;padding:16px;display:grid}.workspace-note span,.workspace-note small{color:#6b7280}.workspace-home-card{background:#fff;border:1px solid #ececee;border-radius:24px;gap:14px;width:100%;max-width:860px;padding:24px;display:grid;box-shadow:0 16px 48px #0f172a0a}.workspace-home-card h3{color:#111827;margin:0;font-size:24px;font-weight:600}.workspace-home-description{color:#6b7280;margin:0;font-size:13px;line-height:1.7}.workspace-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.workspace-card{background:#fafafa;border:1px solid #ececee;border-radius:16px;gap:6px;padding:16px;display:grid}.workspace-card span{color:#9ca3af;letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.workspace-card strong{color:#1f2937;font-size:14px;font-weight:500}.workspace-card p{color:#6b7280;margin:0;font-size:12px;line-height:1.65}.workspace-home-cta{align-self:flex-start}.workspace-home-cta:focus-visible,.workspace-item:focus-visible{outline-offset:2px;outline:3px solid #11182729}.hero-composer,.composer{width:100%;max-width:820px;margin:0 auto}.hero-composer-card,.composer{box-shadow:none;background:#fff;border:1px solid #ececee;border-radius:18px}.hero-composer-card{align-items:flex-end;gap:10px;padding:12px;display:flex}.hero-composer-card textarea,.composer textarea{color:#1f2937;font:inherit;resize:none;background:0 0;border:0;width:100%;font-size:15px;line-height:1.75}.hero-composer-card textarea{min-height:116px}.hero-composer-card button,.composer button{color:#fff;cursor:pointer;font:inherit;background:#111827;border:0;border-radius:12px;min-width:84px;padding:0 14px;font-size:12px;font-weight:500}.hero-composer-card button{align-self:flex-end;min-height:40px}.composer{z-index:8;align-items:flex-end;gap:8px;padding:10px;display:flex;position:sticky;bottom:0}.composer-field{flex:1}.composer textarea{min-height:64px;max-height:160px;padding:2px}.composer button{min-height:40px}.composer button:disabled,.hero-composer-card button:disabled{cursor:not-allowed;opacity:.55}.messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:14px;width:100%;min-height:0;padding:4px 0 10px;display:flex;overflow:auto}.chat-stage .messages{width:100%;max-width:820px;margin:0 auto}.message{gap:6px;width:100%;min-width:0;max-width:820px;margin:0 auto;display:grid}.message.user{align-self:stretch}.message-topline{justify-content:space-between;align-items:center;gap:8px;display:flex}.message-role{color:#b0b5bd;letter-spacing:.04em;text-transform:uppercase;font-size:10px;font-weight:600}.message-copy{color:#b0b5bd;cursor:pointer;font:inherit;background:0 0;border:1px solid #0000;border-radius:8px;padding:4px 6px;font-size:10px;font-weight:500}.message-meta{color:#b0b5bd;font-size:10px}.markdown-body{color:#1f2937;text-align:left;word-break:break-word;background:#fff;border:1px solid #f3f4f5;border-radius:14px;margin:0;padding:14px 16px;font-size:14px;line-height:1.82;overflow:auto}.message.user .markdown-body{color:#1f2937;background:#fafafa;border-color:#f3f4f5}.markdown-body pre{color:#e5e7eb;background:#111827;border-radius:10px;padding:12px;font-size:12px;overflow:auto}.markdown-body pre code{color:inherit;background:0 0;padding:0;display:block}.markdown-body blockquote{color:#6b7280;border-left:3px solid #d1d5db;margin-left:0;padding-left:12px}.markdown-body table{border-collapse:collapse;width:100%;display:block;overflow:auto}.markdown-body th,.markdown-body td{border:1px solid #e5e7eb;padding:8px 10px}.markdown-body th{background:#f7f7f8}.message.typing .markdown-body:after{color:#6b7280;content:"|";margin-left:2px;font-weight:600;animation:1s steps(2,start) infinite blink}.message.user .message-copy{color:#9ca3af;border-color:#e5e7eb}.message.user .markdown-body code{color:#111827;background:#f3f4f6;border-radius:6px;padding:.15em .35em}.message.user .markdown-body h1,.message.user .markdown-body h2,.message.user .markdown-body h3{color:#111827}.diagram-card{border:1px solid #ececee;border-radius:12px;margin:6px 0 14px;overflow:hidden}.diagram-toolbar{background:#fafafa;border-bottom:1px solid #ececee;justify-content:space-between;align-items:center;padding:10px 12px;display:flex}.diagram-label{color:#6b7280;text-transform:uppercase;font-size:11px;font-weight:600}.diagram-toggle{background:#fff;border:1px solid #e5e7eb;border-radius:999px;padding:2px;display:inline-flex}.diagram-tab{color:#6b7280;cursor:pointer;font:inherit;background:0 0;border:0;border-radius:999px;min-width:54px;padding:6px 10px;font-size:11px;font-weight:600}.diagram-tab.active{color:#fff;background:#111827}.diagram-preview,.diagram-preview-shell{background:#fcfcfc;min-height:240px;position:relative;overflow:auto}.diagram-preview{padding:16px}.diagram-loading{color:#6b7280;justify-content:center;align-items:center;padding:18px;display:flex;position:absolute;inset:0}.diagram-preview svg{max-width:100%;height:auto;margin:0 auto;display:block}.diagram-error{color:#be123c;background:#fff1f2;padding:14px 16px}.message.user .diagram-card{border-color:#ececee}.message.user .diagram-toolbar{background:#fafafa;border-bottom-color:#ececee}.message.user .diagram-label,.message.user .diagram-tab{color:#6b7280}.message.user .diagram-toggle{background:#fff;border-color:#e5e7eb}.message.user .diagram-tab.active{color:#fff;background:#111827}.exports-overlay{z-index:40;background:#1118271f;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.exports-panel{background:#fff;border-radius:18px;gap:16px;width:100%;max-width:min(1040px,94vw);max-height:min(80vh,860px);display:grid;overflow:hidden;box-shadow:0 24px 64px #0f172a1f}.exports-header{border-bottom:1px solid #ececee;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.exports-header strong,.exports-header small{display:block}.exports-header strong{font-size:14px;font-weight:600}.exports-header small{color:#9ca3af;margin-top:4px;font-size:12px}.exports-body{grid-template-columns:300px minmax(0,1fr);gap:12px;min-height:0;padding:0 18px 18px;display:grid}.exports-list{background:#fafafa;border:1px solid #ececee;border-radius:14px;gap:8px;max-height:58vh;padding:10px;display:grid;overflow:auto}.export-item{color:#1f2937;cursor:pointer;text-align:left;background:#fff;border:1px solid #ececee;border-radius:12px;gap:4px;padding:10px 12px;display:grid}.export-item.active{box-shadow:none;border-color:#d1d5db}.export-item strong,.export-item small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.export-item strong{font-size:13px;font-weight:500}.export-item small{color:#9ca3af;font-size:11px}.exports-preview{background:#fafafa;border:1px solid #ececee;border-radius:14px;max-height:58vh;padding:14px 16px;overflow:auto}.exports-loading,.exports-empty{color:#6b7280;padding:18px 0;font-size:13px}.error{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa;border-radius:14px;width:100%;max-width:760px;margin:0 auto;padding:10px 14px}button:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #11182724}@keyframes blink{0%,45%{opacity:1}46%,to{opacity:0}}@media (width<=820px){.app-shell{grid-template-columns:1fr;height:auto;min-height:100svh;overflow:auto}.sidebar,.chat-panel{border-radius:18px}.sidebar{max-height:none;padding:16px;overflow:visible}.sidebar-top{padding-right:0;overflow:visible}.sidebar-actions{flex-direction:column}.workspace-card-grid{grid-template-columns:1fr}.chat-panel{min-height:0;padding-top:0}.stage-topbar,.composer,.messages,.chat-stage-body,.workspace-home,.home-workspace{padding-left:14px;padding-right:14px}.stage-topbar{flex-direction:column;align-items:stretch;padding-top:14px}.message{max-width:100%}.model-trigger{width:100%;min-width:0}.stage-topbar-actions{flex-direction:column;align-items:stretch}.hero-composer-card,.composer,.workspace-home-card{border-radius:18px;padding:14px}.hero-composer-card{flex-direction:column}.hero-composer-card button,.composer button,.workspace-home-cta{width:100%;min-height:44px}.composer{flex-direction:column}.composer textarea{min-height:92px}.composer button{min-height:44px}.exports-body{grid-template-columns:1fr}}
