:root{color:#20242a;background:#f6f5f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;line-height:1.5;text-rendering:optimizeLegibility;--accent: #27656f;--accent-soft: #e6f1ef;--border: #dedbd4;--danger: #9c3024;--danger-soft: #fff1ee;--muted: #707982;--panel: #fffdfa;--page: #f6f5f2;--shadow: 0 20px 60px rgba(22, 29, 36, .08);--soft: #f1f0eb;--text: #20242a;--title: #111418;--ease-premium: cubic-bezier(.16, 1, .3, 1);--user-bg: #f4ebdc}[data-theme=dark]{--accent: #6ac7d5;--accent-soft: #19333a;--border: #303943;--danger: #ffaaa0;--danger-soft: #3a1d1b;--muted: #9da8b4;--panel: #171d23;--page: #11161b;--shadow: 0 20px 70px rgba(0, 0, 0, .28);--soft: #202832;--text: #e8edf2;--title: #f8fafc;--user-bg: #322a1f}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;overflow:hidden}button,input,select{font:inherit}button{color:inherit}.app-shell{height:100vh;padding:18px 24px 28px;color:var(--text);background:var(--page);overflow:hidden}.global-header{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;max-width:1480px;margin:0 auto 18px}.global-header.welcome-header{margin-bottom:18px}.brand-mark{justify-self:center;color:var(--title);font-size:1.14rem;font-weight:900;letter-spacing:.16em;line-height:1;opacity:1;transform:translateY(0);transition:opacity .32s var(--ease-premium),transform .32s var(--ease-premium)}.global-header.welcome-header .brand-mark{opacity:0;transform:translateY(-8px) scale(.98)}.workspace{display:flex;align-items:stretch;max-width:1480px;height:calc(100vh - 92px);min-height:0;margin:0 auto;overflow:hidden}.workspace-column{width:var(--column-width);min-width:0;max-width:100%;flex:0 0 var(--column-width);overflow:hidden;transition:width .5s var(--ease-premium),flex-basis .5s var(--ease-premium);will-change:width,flex-basis}.workspace-column.is-open{transition-duration:.52s}.workspace-column.is-collapsed{transition-duration:.42s}.resize-handle{position:relative;flex:0 0 18px;width:18px;min-width:18px;height:100%;border:0;padding:0;background:transparent;cursor:col-resize;touch-action:none}.resize-handle:after{position:absolute;top:12px;bottom:12px;left:50%;width:1px;border-radius:999px;background:color-mix(in srgb,var(--border) 64%,transparent);content:"";opacity:.4;transform:translate(-50%);transition:background-color .18s var(--ease-premium),opacity .18s var(--ease-premium),width .18s var(--ease-premium)}.resize-handle:hover:after,.resize-handle:focus-visible:after,.is-resizing-column .resize-handle:after{width:2px;background:var(--accent);opacity:.82}.resize-handle[aria-disabled=true]{cursor:default}.resize-handle[aria-disabled=true]:after{opacity:.16}.is-resizing-column{cursor:col-resize;-webkit-user-select:none;user-select:none}.is-resizing-column *{cursor:col-resize!important}.is-resizing-column .workspace-column{transition:none}.conversation-sidebar,.editor-panel,.chat-panel{border:1px solid var(--border);border-radius:8px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow);width:100%;animation:panel-content-in .36s var(--ease-premium) .15s both}.conversation-sidebar{display:flex;flex-direction:column;gap:18px;height:100%;min-height:0;overflow:hidden;padding:16px}.history-rail,.editor-rail,.chat-rail{display:grid;grid-template-rows:34px 1fr 24px;place-items:center;width:100%;height:100%;min-height:0;border:1px solid var(--border);border-radius:8px;color:var(--muted);background:var(--panel);box-shadow:var(--shadow);cursor:pointer;transition:border-color .22s var(--ease-premium),background-color .22s var(--ease-premium),color .22s var(--ease-premium),transform .22s var(--ease-premium)}.history-rail:hover,.editor-rail:hover,.chat-rail:hover{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:color-mix(in srgb,var(--panel) 86%,var(--accent-soft));transform:translate(1px)}.history-rail span,.editor-rail span,.chat-rail span{writing-mode:vertical-rl;color:var(--title);font-size:.76rem;font-weight:760;letter-spacing:.12em;text-transform:uppercase}.sidebar-header,.editor-header,.chat-header{display:flex;align-items:center;justify-content:space-between;gap:14px}.history-actions{display:flex;align-items:center;gap:8px}.eyebrow,.active-model-label,.chat-control span{margin:0 0 5px;color:var(--muted);font-size:.72rem;font-weight:760;letter-spacing:.08em;text-transform:uppercase}h1,h2{margin:0;color:var(--title);line-height:1.1}h1{font-size:1.1rem}h2{font-size:1rem}.ghost-button,.icon-button,.code-chat-button,.composer-action,.conversation-delete{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:7px;background:transparent;cursor:pointer;font-size:.8125rem;font-weight:720;transition:background-color .16s ease,border-color .16s ease,color .16s ease,opacity .16s ease}.ghost-button,.code-chat-button,.composer-action{padding:6px 11px}.icon-button{width:34px;height:34px;padding:0}.theme-switch{position:relative;justify-self:end;width:50px;height:28px;border:1px solid var(--border);border-radius:999px;padding:2px;background:var(--soft);cursor:pointer;transition:background-color .18s ease,border-color .18s ease}.theme-switch[aria-pressed=true]{border-color:#31264f;background:#31264f}.theme-switch-thumb{display:grid;place-items:center;width:22px;height:22px;border-radius:999px;color:var(--muted);background:#fff;box-shadow:0 2px 8px #11141829;transform:translate(0);transition:color .18s ease,transform .18s ease}.theme-switch[aria-pressed=true] .theme-switch-thumb{color:#31264f;transform:translate(22px)}.ghost-button:hover,.icon-button:hover,.code-chat-button:hover,.composer-action:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--border));background:var(--accent-soft)}.ghost-button,.composer-action{border-color:#000;border-radius:999px;min-height:30px;padding:5px 15px;color:#fff;background:#000;font-size:.8125rem}.ghost-button:hover,.composer-action:hover{border-color:#000;background:#000;opacity:.88}button:disabled{cursor:not-allowed;opacity:.55}.conversation-list{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;overflow-y:auto;padding-right:2px}.conversation-item{display:grid;grid-template-columns:minmax(0,1fr) 36px;gap:6px;align-items:center;border:1px solid transparent;border-radius:8px;padding:5px;background:transparent}.conversation-item.active{border-color:color-mix(in srgb,var(--accent) 42%,var(--border));background:var(--accent-soft)}.conversation-select{min-width:0;border:0;border-radius:6px;padding:8px;text-align:left;color:var(--text);background:transparent;cursor:pointer}.conversation-select:hover{background:var(--soft)}.conversation-select span{display:block;overflow:hidden;color:var(--title);font-size:.92rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.conversation-select time{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}.conversation-delete{width:34px;height:34px;color:var(--danger)}.conversation-delete:hover{background:var(--danger-soft)}.empty-state,.chat-empty-state{margin:0;padding:14px;border:1px dashed var(--border);border-radius:8px;color:var(--muted);background:color-mix(in srgb,var(--soft) 70%,transparent);font-size:.92rem}.empty-state strong,.chat-empty-state strong{display:block;margin-bottom:4px;color:var(--title)}.empty-state span,.chat-empty-state span{display:block}.editor-panel{display:flex;flex-direction:column;gap:14px;height:100%;min-width:0;min-height:0;overflow:hidden;padding:16px}.editor-actions{display:flex;align-items:end;gap:10px}.chat-actions{display:flex;align-items:center;gap:8px}.language-control{min-width:150px}.chat-control{display:grid;gap:5px}.chat-control select{width:100%;min-height:38px;padding:8px 10px;border:1px solid var(--border);border-radius:7px;color:var(--text);background:var(--panel)}.editor-frame{flex:1;min-height:0;overflow:hidden;border:1px solid var(--border);border-radius:8px;background:#1e1e1e}.code-chat-button{align-self:stretch;min-height:28px;border-radius:14px;padding:4px 10px;color:var(--title);background:color-mix(in srgb,var(--soft) 34%,transparent);border-color:color-mix(in srgb,var(--border) 38%,transparent);font-size:.78rem;font-weight:680}.welcome-hero{display:grid;place-content:center;width:100%;min-width:0;min-height:0;height:100%;border:1px solid transparent;border-radius:8px;text-align:center;overflow:hidden;animation:hero-enter .36s var(--ease-premium) both;transition:opacity .3s var(--ease-premium),transform .3s var(--ease-premium)}.welcome-hero-exit{pointer-events:none;opacity:0;transform:translateY(-8px) scale(.985)}.welcome-hero h1{margin:0;color:var(--title);font-size:clamp(4.25rem,8.8vw,7.25rem);font-weight:560;letter-spacing:0;line-height:.95}.welcome-hero p{margin:18px 0 0;color:var(--muted);font-size:clamp(.98rem,1.4vw,1.18rem)}@keyframes hero-enter{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes panel-content-in{0%{opacity:0;transform:translateY(6px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.chat-panel{position:relative;display:flex;flex-direction:column;gap:14px;height:100%;max-height:100%;min-width:0;min-height:0;overflow:hidden;padding:18px}.chat-header{flex:0 0 auto;padding-bottom:12px;border-bottom:1px solid var(--border)}.active-model{margin:0;color:var(--title);font-size:.98rem;font-weight:800}.active-model span{display:inline;margin-left:8px;color:var(--muted);font-size:.88rem;font-weight:560}.active-persona{margin:2px 0 0;color:var(--muted);font-size:.85rem}.settings-menu{position:relative}.settings-popover{position:absolute;top:calc(100% + 10px);right:0;z-index:5;display:grid;gap:12px;width:min(320px,78vw);padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--panel);box-shadow:var(--shadow)}.messages{display:flex;flex:1;flex-direction:column;gap:16px;min-width:0;min-height:0;max-height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:4px 8px 4px 2px;scroll-behavior:smooth}.message{width:fit-content;min-width:0;max-width:min(78ch,86%,100%);padding:14px 16px;border:1px solid transparent;border-radius:8px;word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap}.message>span{display:block;margin-bottom:6px;color:var(--muted);font-size:.75rem;font-weight:760}.message p{margin:0;min-width:0;max-width:100%;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.assistant{width:min(78ch,86%);max-width:100%;align-self:flex-start;background:var(--accent-soft)}.user{max-width:min(78ch,86%,100%);align-self:flex-end;background:var(--user-bg)}.markdown-content{display:grid;gap:10px;width:100%;min-width:0;max-width:100%;overflow-wrap:anywhere}.markdown-content p,.markdown-content ul,.markdown-content ol,.markdown-content blockquote,.markdown-content pre{min-width:0;max-width:100%;margin:0}.markdown-content ul,.markdown-content ol{padding-left:20px}.markdown-content li+li{margin-top:4px}.markdown-content a{color:var(--accent);font-weight:700}.markdown-content :not(pre)>code{white-space:break-spaces;word-break:break-word;overflow-wrap:anywhere;padding:2px 5px;border-radius:4px;color:var(--accent);background:color-mix(in srgb,var(--accent-soft) 75%,transparent);font-size:.92em}.code-block{width:100%;min-width:0;max-width:100%;overflow:hidden;border:1px solid #27323d;border-radius:8px;background:#0d1117}.code-block-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;color:#c9d1d9;background:#161b22;font-size:.78rem;font-weight:700}.code-block-header span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.code-block-header button{border:1px solid #3a4552;border-radius:5px;padding:5px 8px;color:#f0f6fc;background:#21262d;cursor:pointer;font-size:.78rem;font-weight:700}.code-block pre{width:100%;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;padding:12px;white-space:pre}.code-block code{display:block;width:max-content;min-width:100%;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:.88rem;white-space:pre}.composer{display:flex;flex:0 0 auto;gap:10px;padding-top:14px;border-top:1px solid var(--border)}.composer-input-shell{position:relative;display:flex;min-width:0;flex:1}.composer input{position:relative;z-index:1;width:100%;min-width:0;min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--panel)}.composer input.has-autocomplete{color:transparent;caret-color:var(--text);background:transparent}.autocomplete-preview{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;display:flex;align-items:center;min-width:0;overflow:hidden;padding:8px 12px;border:1px solid var(--border);border-radius:8px;color:var(--text);background:var(--panel);pointer-events:none}.autocomplete-preview-text,.autocomplete-preview-remainder{overflow:hidden;font:inherit;line-height:normal;white-space:pre}.autocomplete-preview-remainder{flex:0 0 auto;color:var(--muted)}.composer-action{min-width:84px}.stop-button{border-color:color-mix(in srgb,var(--danger) 40%,var(--border));color:var(--danger);background:var(--danger-soft)}.stop-button:hover{border-color:color-mix(in srgb,var(--danger) 52%,var(--border));color:var(--danger);background:var(--danger-soft);opacity:.88}[data-theme=dark] .ghost-button,[data-theme=dark] .composer-action:not(.stop-button){border-color:#fff;color:#000;background:#fff}[data-theme=dark] .ghost-button:hover,[data-theme=dark] .composer-action:not(.stop-button):hover{border-color:#fff;color:#000;background:#fff;opacity:.9}[data-theme=dark] .code-chat-button{color:var(--title);background:color-mix(in srgb,var(--soft) 30%,transparent);border-color:color-mix(in srgb,var(--border) 42%,transparent)}.error-message{margin:0;padding:10px 12px;border:1px solid color-mix(in srgb,var(--danger) 35%,var(--border));border-radius:7px;color:var(--danger);background:var(--danger-soft);font-size:.92rem}.loading-message p{display:flex;gap:5px;align-items:center;min-height:24px}.loading-dot{width:7px;height:7px;border-radius:999px;background:var(--accent);animation:pulse 1s ease-in-out infinite}.loading-dot:nth-child(2){animation-delay:.12s}.loading-dot:nth-child(3){animation-delay:.24s}@keyframes pulse{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}@media(max-width:980px){body{overflow:auto}.app-shell{height:auto;min-height:100vh;overflow:visible}.workspace{flex-direction:column;height:auto;overflow:visible}.workspace-column{width:100%;flex-basis:auto}.resize-handle{display:none}.conversation-sidebar{height:auto;min-height:240px}.editor-panel,.chat-panel{height:min(680px,calc(100vh - 120px));min-height:520px}.history-rail,.editor-rail,.chat-rail{grid-template-rows:none;grid-template-columns:34px 1fr 24px;height:48px;min-height:48px}.history-rail span,.editor-rail span,.chat-rail span{writing-mode:horizontal-tb}}@media(prefers-reduced-motion:reduce){.workspace-column,.brand-mark,.history-rail,.editor-rail,.chat-rail,.welcome-hero{transition:none}.conversation-sidebar,.editor-panel,.chat-panel,.welcome-hero{animation:none}}@media(max-width:560px){.app-shell{padding:14px}.global-header{grid-template-columns:32px 1fr 38px}.brand-mark{font-size:1rem}.sidebar-header,.editor-header,.chat-header{align-items:stretch;flex-direction:column}.editor-actions{align-items:stretch}.language-control{min-width:0}.message{max-width:94%}.composer{flex-direction:column}.composer-action{width:100%}}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}
