:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;--bg-backdrop:#eff3f0;--bg-canvas:#fafbf9;--bg-header:#fff;--bg-surface:#f1f5f2;--bg-elevated:#fff;--bg-pill-muted:#e9efea;--bg-pill-active:#d7e5dc;--border-subtle:#e1e8e3;--border-strong:#cbd6ce;--brand-primary:#214e34;--brand-hover:#183b27;--brand-eyebrow:#355e46;--focus-ring:#2b6e48;--text-primary:#141a16;--text-secondary:#4f5d54;--text-muted:#76847b;--text-on-brand:#fff;--status-success-bg:#e3f3ea;--status-success-text:#1d633b;--status-warning-bg:#fef3df;--status-warning-text:#92580a;--status-danger-bg:#fde8ec;--status-danger-text:#b42339;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-backdrop:#090e0b;--bg-canvas:#0e1511;--bg-header:#121b16;--bg-surface:#16211b;--bg-elevated:#1c2a22;--bg-pill-muted:#1e2d24;--bg-pill-active:#284234;--border-subtle:#26362d;--border-strong:#374d40;--brand-primary:#347b54;--brand-hover:#419467;--brand-eyebrow:#78b894;--focus-ring:#52b788;--text-primary:#f0f5f1;--text-secondary:#9caea2;--text-muted:#6c7d72;--text-on-brand:#fff;--status-success-bg:#2ecc7124;--status-success-text:#6ee7a0;--status-warning-bg:#f39c1226;--status-warning-text:#f7b955;--status-danger-bg:#ec3b6126;--status-danger-text:#f8718d}*{box-sizing:border-box}html{background:var(--bg-backdrop);min-height:100%}body{min-width:320px;min-height:100vh;color:var(--text-primary);background:var(--bg-backdrop);margin:0;line-height:1.5;transition:background-color .2s,color .2s}button,input,select,textarea{font:inherit}button{background:var(--brand-primary);color:var(--text-on-brand);cursor:pointer;border:1px solid #0000;border-radius:8px;margin-top:16px;padding:9px 14px;font-size:13px;font-weight:600}button:hover{background:var(--brand-hover)}button:disabled{opacity:.6;cursor:wait}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.secondary{background:var(--bg-pill-muted);color:var(--text-primary);border-color:var(--border-subtle)}.secondary:hover{background:var(--bg-pill-active)}.app-header{background:var(--bg-header);border-bottom:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;padding:10px max(24px,50vw - 600px);display:grid}.header-project-context,.header-actions{align-items:center;gap:10px;min-width:0;display:flex}.header-project-context{justify-self:start}.header-actions{justify-self:end}.brand-link{color:var(--text-primary);letter-spacing:-.03em;background:0 0;flex:none;margin:0;padding:4px 0;font-size:18px;font-weight:700}.brand-link:hover{color:var(--brand-eyebrow);background:0 0}.back-to-projects{white-space:nowrap}.project-switcher{width:clamp(140px,16vw,200px);margin:0;font-size:12px}.project-switcher select{padding:7px 9px;font-size:13px}.access-badge,.theme-toggle,.sign-out{white-space:nowrap}.top-navigation,.project-page-nav{flex-wrap:wrap;justify-self:center;align-items:center;gap:6px;display:flex}.top-navigation button,.project-page-nav button{background:var(--bg-pill-muted);min-height:34px;color:var(--text-primary);white-space:nowrap;border:1px solid #0000;border-radius:8px;margin:0;padding:6px 12px;font-size:12px;font-weight:500}.top-navigation button:hover,.project-page-nav button:hover{background:var(--bg-pill-active)}.top-navigation button[aria-current=page],.project-page-nav button[aria-current=page]{background:var(--bg-pill-active);border-color:var(--border-strong);color:var(--text-primary);font-weight:600}main{background:var(--bg-canvas);border:1px solid var(--border-subtle);border-radius:14px;width:min(1200px,100% - 32px);max-width:1200px;min-height:calc(100vh - 100px);margin:24px auto 32px;padding:clamp(24px,4vw,48px)}h1,h2,h3{color:var(--text-primary)}h1{letter-spacing:-.025em;margin:8px 0 12px;font-size:30px;font-weight:700}h2{letter-spacing:-.015em;margin:0 0 12px;font-size:20px;font-weight:700}h3{margin:16px 0 8px;font-size:14px;font-weight:600}p,li,dd{color:var(--text-secondary)}p{margin:0 0 12px}.eyebrow{color:var(--brand-eyebrow);letter-spacing:.12em;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:700}.intro,.muted,.note{color:var(--text-secondary)}.intro{max-width:800px;margin-top:8px;font-size:14px;line-height:1.7}.note,.muted{font-size:13px;line-height:1.6}.panel{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:12px;max-width:none;margin-top:16px;padding:24px}.panel>:last-child{margin-bottom:0}.panel form:has(input[aria-label=Project\ name]){grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.panel form:has(input[aria-label=Project\ name]) h3{grid-column:1/-1}.panel form:has(input[aria-label=Project\ name]) .note{grid-column:1/-1}.panel form:has(input[aria-label=Project\ name]) button{place-self:end start}label{color:var(--text-primary);margin:16px 0 8px;font-size:13px;font-weight:600;display:block}input,select,textarea{border:1px solid var(--border-strong);background:var(--bg-elevated);width:100%;min-width:0;color:var(--text-primary);border-radius:8px;margin-top:6px;padding:9px 12px;font-size:14px;display:block}input[type=file]{max-width:100%}input::placeholder,textarea::placeholder{color:var(--text-muted)}textarea{resize:vertical}fieldset{border:1px solid var(--border-subtle);border-radius:8px;min-width:0}fieldset:disabled{opacity:.7}legend{color:var(--text-primary);padding:0 6px;font-weight:600}.workspace-controls{border:0;min-width:0;margin:0;padding:0}.workspace-controls:disabled{opacity:1}footer{max-width:none;color:var(--text-secondary);margin-top:24px}.badge{border:1px solid var(--border-subtle);background:var(--bg-pill-muted);color:var(--text-secondary);overflow-wrap:anywhere;border-radius:6px;padding:3px 8px;font-size:10.5px;font-weight:600;display:inline-block}.card-badges{flex-wrap:wrap;gap:6px;display:flex}.card-badges .badge{white-space:normal}.workspace-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:20px 0;display:grid}.workspace-overview>div{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:12px;padding:16px}.workspace-overview strong,.workspace-overview span{display:block}.workspace-overview strong{color:var(--text-primary);font-size:13px}.workspace-overview span{color:var(--text-secondary);margin-top:6px;font-size:12px;line-height:1.45}.create-project-shortcut,.project-list-switch button{margin:0}.project-list-switch{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.project-actions-row{align-items:center;gap:10px;margin:10px 0 16px;display:flex}.project-actions-row .project-list-switch{flex:none;margin:0}.project-actions-row .create-project-shortcut{margin-left:auto}.project-actions-row .shared-project-filter{flex:0 240px;margin:0}.project-list-switch button[aria-pressed=true],.create-project-shortcut{background:var(--brand-primary);color:var(--text-on-brand)}.project-list-switch button[aria-pressed=true]:hover,.create-project-shortcut:hover{background:var(--brand-hover)}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:0;display:grid}.space-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px;margin-top:16px;display:grid}.project-card,.space-card{overflow-wrap:anywhere;border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:12px;min-width:0;padding:16px}.project-card[data-active=true]{border-color:var(--border-strong);background:var(--bg-surface)}.project-card h3,.space-card h3{margin:12px 0;font-size:14px;font-weight:600}.stack-label{color:var(--text-secondary);margin-bottom:6px;font-size:11px}.project-stack{color:var(--text-primary);margin:0;font-size:12px;line-height:1.55}.project-card-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;display:flex}.project-card-footer button,.project-card-footer .note{margin:0}.project-page-heading{margin-top:14px}.project-page-heading h1{overflow-wrap:anywhere;margin:4px 0}.project-stack-summary{color:var(--text-secondary);overflow-wrap:anywhere;margin:0 0 18px}.route-page{min-width:0}.route-page>.panel:first-child{margin-top:16px}.space-projects,.member-list,.reference-list,.component-list ul{margin:0;padding:0;list-style:none}.member-list li{overflow-wrap:anywhere;border-top:1px solid var(--border-subtle);padding:16px 0}.member-list button{margin-right:8px}.space-projects li,.reference-list li,.component-list li{border-top:1px solid var(--border-subtle);padding:10px 0}.space-projects span{color:var(--text-secondary);font-size:12px;line-height:1.55;display:block}.space-project-link,.component-link{color:var(--brand-eyebrow);text-align:left;overflow-wrap:anywhere}.space-project-link{background:0 0;margin:0 0 6px;padding:0}.space-project-link:hover{color:var(--brand-primary);background:0 0;text-decoration:underline}.shared-project-filter{max-width:360px}.settings-reference-summary{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.settings-reference-summary p{overflow-wrap:anywhere;margin:4px 0 0}.settings-reference-summary button{flex:none;margin:0}.empty-projects{margin:12px 0 24px}.panel-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.panel-heading h2,.panel-heading button{margin:0 0 12px}.app-modal{border:1px solid var(--border-strong);background:var(--bg-canvas);width:min(640px,100vw - 32px);max-width:none;max-height:min(90dvh,900px);color:var(--text-primary);border-radius:14px;margin:auto;padding:24px;overflow:auto}.app-modal::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#08110c7a}.modal-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.modal-heading h2{margin:0}.modal-close{flex:none;margin:-6px -6px 0 0;padding:4px 10px;font-size:20px;line-height:1.2}.app-modal form{margin-top:12px}.app-modal form:has(input[aria-label=Project\ name]){grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.app-modal form:has(input[aria-label=Project\ name]) h3{grid-column:1/-1}.app-modal form:has(input[aria-label=Project\ name])>.note{grid-column:1/-1}.app-modal form:has(input[aria-label=Project\ name]) .modal-actions{grid-column:1/-1}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-actions button{margin:0}.technology-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.technology-block{border:1px solid var(--border-subtle);background:var(--bg-surface);border-radius:8px;min-width:0;padding:10px 12px}.technology-block dt{color:var(--brand-eyebrow);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:10px;font-weight:600}.technology-block dd{color:var(--text-primary);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;font-weight:500}.technology-block dd .note{margin:0;font-weight:400}.reference-list li{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.reference-list button{margin:0}section[aria-label="Reference content preview"] pre{max-height:28rem;overflow:auto}.component-library{min-width:0}.studio-columns{grid-template-columns:minmax(170px,.75fr) minmax(0,1.8fr) minmax(230px,1fr);align-items:stretch;gap:12px;display:grid}.studio-columns.list-hidden{grid-template-columns:minmax(0,1.8fr) minmax(230px,1fr)}.component-list,.studio-preview-pane,.chat-pane{border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:10px;min-width:0;padding:12px}.chat-pane{background:var(--bg-elevated);border-radius:10px;flex-direction:column;height:clamp(540px,100vh - 200px,760px);min-height:0;display:flex}.chat-pane>fieldset{border-color:var(--border-subtle);flex:0 auto;min-height:0;max-height:112px;margin-bottom:8px;padding:6px 8px;overflow-y:auto}.chat-pane>fieldset legend{font-size:11px}.chat-pane .reference-choice{margin:3px 0;font-size:11px}.chat-pane>.note{flex:none;max-height:2.8em;margin:0 0 8px;font-size:11px;line-height:1.4;overflow-y:auto}.chat-reference-context{color:var(--text-muted);flex:none;margin:0 0 8px;font-size:10px;line-height:1.35}.project-chat{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.component-list h3,.project-chat h3{color:var(--text-primary);margin:0}.component-list-heading,.chat-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.component-list-heading{margin-bottom:8px}.component-list-heading button,.show-component-list{margin:0;padding:4px 8px;font-size:10px}.component-group{border-top:1px solid var(--border-subtle);padding:6px 0}.component-group .eyebrow{margin:0 0 3px;font-size:9.5px}.component-group .note{margin:0;font-size:11px}.example-disclaimer{color:var(--text-muted);margin:0 0 8px;font-size:10px}.component-list li{padding:3px 0}.component-list li>span{color:var(--text-muted);margin-top:1px;font-size:9px;display:block}.component-link{width:100%;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:6px;margin:0;padding:3px 7px;font-size:12px;font-weight:500;display:block}.component-link:hover,.component-link[aria-pressed=true]{background:var(--bg-pill-active);color:var(--text-primary)}.library-views{flex-wrap:wrap;gap:6px;margin:0 0 10px;display:flex}.library-views button{margin:0;padding:5px 8px;font-size:11px}.studio-preview-pane{flex-direction:column;display:flex}.library-empty-state{border:1px dashed var(--border-strong);background:var(--bg-surface);border-radius:8px;flex-direction:column;justify-content:center;align-items:flex-start;min-height:360px;padding:24px;display:flex}.library-empty-state .eyebrow{margin-bottom:8px}.library-empty-state strong{color:var(--text-primary);font-size:16px}.library-empty-state p{max-width:440px;margin:8px 0 0;font-size:13px}.library-views button[aria-pressed=true]{background:var(--bg-pill-active);color:var(--text-primary);border-color:var(--border-strong)}.studio-preview-pane iframe{border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:8px;flex:1;width:100%;min-height:360px}.studio-preview-pane pre{border:1px solid var(--border-subtle);background:var(--bg-surface);min-height:180px;max-height:520px;color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:8px;flex:1;padding:12px;font:400 12.5px/1.6 JetBrains Mono,ui-monospace,monospace;overflow:auto}pre,code{font-family:JetBrains Mono,ui-monospace,monospace}.project-chat{background:0 0;border:0;border-radius:0;padding:0}.chat-heading{flex:none;margin-bottom:6px}.chat-heading .badge{flex:0 auto}.chat-connection.is-available{border-color:var(--status-success-bg);background:var(--status-success-bg);color:var(--status-success-text)}.chat-heading+p:not(.chat-intro){color:var(--text-muted);flex:none;margin:0 0 6px;font-size:11px}.project-chat>button.secondary{flex:none;align-self:flex-start;margin:0 0 8px}.chat-intro{color:var(--text-secondary);flex:none;margin:0 0 8px;font-size:11px;line-height:1.4}.chat-unavailable,.chat-error{border:1px solid var(--status-warning-text);background:var(--status-warning-bg);color:var(--status-warning-text);border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:11px}.chat-error{border-color:var(--status-danger-text);background:var(--status-danger-bg);color:var(--status-danger-text)}.chat-history{overflow-wrap:anywhere;flex:1;min-height:0;padding:2px 2px 10px;overflow:auto}.chat-empty{color:var(--text-muted);text-align:center;margin:20px 4px;font-size:12px}.chat-history article{flex-direction:column;gap:10px;padding:8px 0;display:flex}.chat-message-row{flex-direction:column;gap:3px;max-width:92%;display:flex}.chat-message-row-user{align-self:flex-end;align-items:flex-end}.chat-message-row-assistant{align-self:flex-start;align-items:flex-start}.chat-speaker{color:var(--text-muted);padding:0 4px;font-size:10px;font-weight:600}.chat-bubble{border:1px solid var(--border-subtle);color:var(--text-primary);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:12px;margin:0;padding:9px 11px;font-size:12px;line-height:1.55}.chat-bubble-user{border-color:var(--border-strong);background:var(--bg-pill-active);border-bottom-right-radius:4px}.chat-bubble-assistant{background:var(--bg-surface);border-bottom-left-radius:4px}.chat-bubble-error{border-color:var(--status-danger-text);background:var(--status-danger-bg);color:var(--status-danger-text)}.chat-activity{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);border-radius:8px;flex:none;margin:4px 0 8px;padding:8px 10px;font-size:11px}.chat-activity p{margin:0 0 6px}.chat-activity p:last-child{margin-bottom:0}.chat-activity button{margin-top:4px}.chat-readonly{color:var(--text-muted);flex:none;margin:0 0 8px;font-size:11px}.project-chat form{border:1px solid var(--border-strong);background:var(--bg-surface);border-radius:12px;flex:none;margin:4px 0 0;padding:8px}.project-chat form label{margin:0 0 4px;font-size:11px}.project-chat textarea{resize:none;background:var(--bg-elevated);border-color:#0000;min-height:48px;max-height:180px;margin:0;padding:7px 8px;font-size:12px;line-height:1.5;overflow-y:auto}.project-chat textarea:focus-visible{border-color:var(--focus-ring);outline-offset:1px}.chat-composer-footer{justify-content:space-between;align-items:center;gap:8px;margin-top:6px;display:flex}.chat-character-count{color:var(--text-muted);font-size:10px}.chat-composer-footer button{flex:none;margin:0;padding:6px 11px;font-size:11px}.project-chat .chat-error{flex:none}.mock-workflow{border-top:1px solid var(--border-subtle);margin-top:18px;padding-top:8px}.reference-choice{overflow-wrap:anywhere;overflow-wrap:anywhere;align-items:center;gap:10px;display:flex}.reference-choice input{flex:none;width:auto;margin:0}details>summary{cursor:pointer;color:var(--text-primary);padding:12px 0;font-size:13px;font-weight:600}pre{white-space:pre-wrap;overflow-wrap:anywhere}.error{border:1px solid var(--status-danger-text);background:var(--status-danger-bg);color:var(--status-danger-text);border-radius:8px;padding:12px}.status[role=status]{color:var(--text-secondary)}.identity-note{max-width:1000px;color:var(--text-secondary);margin:0 auto;padding:0 24px 32px;font-size:13px;line-height:1.7}@media (width<=1050px){.app-header{grid-template-columns:minmax(0,1fr) auto;gap:10px}.header-project-context{grid-area:1/1}.header-actions{grid-area:1/2}.top-navigation,.project-page-nav{grid-area:2/1/auto/-1}.studio-columns{grid-template-columns:minmax(150px,.75fr) minmax(0,1.5fr)}.studio-columns.list-hidden{grid-template-columns:minmax(0,1.5fr) minmax(220px,.9fr)}.project-chat{grid-column:2}.technology-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.app-header{grid-template-columns:1fr;gap:10px;padding:12px 16px;position:static}.header-project-context,.header-actions,.top-navigation,.project-page-nav{grid-area:auto/1;justify-self:stretch}.header-project-context{flex-wrap:wrap}.header-actions{justify-content:flex-end}.top-navigation,.project-page-nav{flex-wrap:wrap;justify-content:center}.top-navigation button,.project-page-nav button{flex:auto;padding:6px 9px}.project-switcher{width:min(100%,220px)}main{width:calc(100% - 24px);min-height:calc(100vh - 180px);margin:12px auto;padding:20px}h1{font-size:26px}.workspace-overview,.technology-list{grid-template-columns:1fr}.project-actions-row{flex-wrap:wrap;align-items:stretch}.project-actions-row .shared-project-filter{flex:100%}.project-actions-row .create-project-shortcut{margin-left:auto}.panel,.app-modal{padding:18px}.app-modal form:has(input[aria-label=Project\ name]){grid-template-columns:1fr}.app-modal form:has(input[aria-label=Project\ name]) h3{grid-column:auto}.app-modal form:has(input[aria-label=Project\ name])>.note{grid-column:auto}.app-modal form:has(input[aria-label=Project\ name]) .modal-actions{grid-column:auto}.studio-columns,.studio-columns.list-hidden{grid-template-columns:minmax(0,1fr)}.project-chat{grid-column:auto}.chat-pane{height:clamp(520px,100dvh - 180px,720px)}.project-grid{grid-template-columns:minmax(0,1fr)}.settings-reference-summary{flex-direction:column;align-items:flex-start}}.code-editor{resize:vertical;white-space:pre;tab-size:2;width:100%;min-height:360px;font-family:JetBrains Mono,Consolas,monospace;font-size:13px;line-height:1.6;overflow:auto}@property --agent-change-color{syntax:"<color>";inherits:false;initial-value:#0000}.code-editor{--code-line-height:20.8px;line-height:var(--code-line-height)}.agent-code-highlight{background-repeat:no-repeat;background-attachment:local;background-origin:content-box;background-clip:content-box;animation:10s linear both agent-code-fade}@keyframes agent-code-fade{0%{--agent-change-color:color-mix(in srgb, var(--status-success-text) 23%, transparent)}to{--agent-change-color:transparent}}@media (prefers-reduced-motion:reduce){.agent-code-highlight{animation-timing-function:step-end}}.component-library dialog,.project-chat dialog{border:1px solid var(--border-subtle);width:min(32rem,100vw - 2rem);max-height:85vh;color:var(--text-primary);background:var(--bg-surface);border-radius:12px;padding:24px;overflow:auto}.component-library dialog::backdrop,.project-chat dialog::backdrop{background:#0f231973}.component-library dialog form{gap:12px;display:grid}.actual-preview{flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.preview-toolbar{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:12px;font-size:13px;display:flex}.preview-stage{background:var(--bg-surface);border-radius:8px;flex:1;min-height:360px;display:flex;position:relative}.preview-stage iframe{flex:1}.preview-loading{background:color-mix(in srgb, var(--bg-elevated) 78%, transparent);color:var(--text-secondary);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:14px;display:flex;position:absolute;inset:0}.preview-spinner{border:3px solid var(--border-strong);border-top-color:var(--brand-primary);border-radius:50%;width:28px;height:28px;animation:.9s linear infinite preview-spin}@keyframes preview-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.preview-spinner{animation-duration:2.5s}}.app-modal form .stack-picker{grid-column:1/-1}.stack-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 16px;margin:16px 0 0;padding:4px 16px 16px;display:grid}.stack-picker>.chip-group,.stack-picker>.note{grid-column:1/-1}.stack-picker>label:has(input[aria-label=Other\ libraries]){grid-column:1/-1}.stack-picker>label:has(input[aria-label="Versions and compatibility notes"]){grid-column:1/-1}.chip-group{flex-wrap:wrap;gap:8px;margin:16px 0 0;padding:4px 12px 12px;display:flex}.chip{border:1px solid var(--border-strong);background:var(--bg-elevated);cursor:pointer;border-radius:999px;align-items:center;gap:8px;margin:0;padding:7px 12px;font-weight:500;display:inline-flex}.chip:has(input:checked){border-color:var(--brand-primary);background:var(--bg-pill-active)}.chip input{width:auto;accent-color:var(--brand-primary);margin:0}.chip-note{color:var(--status-success-text);font-size:11px;font-weight:600}.setup{gap:4px;display:grid}.setup-steps{flex-wrap:wrap;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.setup-steps button{background:var(--bg-pill-muted);color:var(--text-secondary);border-color:var(--border-subtle);align-items:center;gap:8px;margin:0;display:inline-flex}.setup-steps li[aria-current=step] button{background:var(--bg-pill-active);color:var(--text-primary);border-color:var(--brand-primary);opacity:1;cursor:default}.setup-steps button:disabled{cursor:not-allowed}.setup-step-number{background:var(--bg-elevated);border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;display:inline-grid}.setup-panel h2{margin-top:0}.questionnaire{border:0;margin:0;padding:0}.questionnaire>section{border-bottom:1px solid var(--border-subtle);padding:16px 0}.questionnaire h3{margin:0;font-size:15px}.questionnaire-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px;display:grid}.color-field{margin:16px 0 8px;font-size:13px;font-weight:600}.color-field>div{align-items:center;gap:8px;margin-top:6px;display:flex}.color-field input{margin:0}.color-field input[type=color]{cursor:pointer;flex:0 0 44px;height:40px;padding:3px}.color-field button{margin:0}.setup-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;margin-top:16px;display:flex}.setup-actions button{margin:0}.setup-actions .note{margin:0 auto 0 0}.starter-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:16px 0 0;padding:8px 12px 12px;display:grid}.starter-option{border:1px solid var(--border-subtle);background:var(--bg-elevated);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;margin:0;padding:12px;display:flex}.starter-option:has(input:checked){border-color:var(--brand-primary)}.starter-option input{width:auto;accent-color:var(--brand-primary);margin:3px 0 0}.starter-option>span{gap:2px;display:grid}.starter-option .note{color:var(--text-secondary);font-weight:400}.setup-meter{background:var(--bg-pill-muted);border-radius:999px;height:8px;margin:20px 0 8px;overflow:hidden}.setup-meter span{border-radius:inherit;background:var(--brand-primary);height:100%;transition:width .4s;display:block}.starter-tasks{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.starter-tasks li{border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 14px;display:flex}.starter-tasks li button{margin:0}.starter-task-name{flex:200px;gap:2px;display:grid}.starter-task-name .note{color:var(--status-danger-text)}.starter-indicator{border:2px solid var(--border-strong);border-radius:50%;flex:none;width:14px;height:14px}.starter-tasks li[data-state=generating] .starter-indicator{border-color:var(--brand-primary);border-right-color:#0000;animation:.8s linear infinite setup-spin}.starter-tasks li[data-state=done] .starter-indicator{border-color:var(--status-success-text);background:var(--status-success-text)}.starter-tasks li[data-state=failed] .starter-indicator{border-color:var(--status-danger-text);background:var(--status-danger-bg)}.setup-banner{background:var(--status-warning-bg);color:var(--status-warning-text);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.setup-banner button{margin:0}@keyframes setup-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.starter-tasks li[data-state=generating] .starter-indicator{border-right-color:var(--brand-primary);animation:none}}@media (width<=720px){.stack-picker,.questionnaire-grid,.starter-options{grid-template-columns:minmax(0,1fr)}}.chat-message-row-system{align-self:center;align-items:center;max-width:100%}.chat-message-row-system .chat-speaker{display:none}.chat-bubble-system{background:var(--bg-pill-muted);color:var(--text-secondary);text-align:center;border:0;border-radius:999px;padding:4px 10px;font-size:11px}.chat-instructions{margin-top:6px}.chat-instructions ul{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.chat-instructions .chat-message-row{margin-left:auto}.chat-instruction-bubble{border:1px dashed var(--brand-primary);background:var(--bg-pill-active);color:var(--text-primary);white-space:pre-wrap;border-radius:12px 12px 4px;padding:9px 11px;font-size:12px;line-height:1.55}.chat-instruction-status{color:var(--text-muted);padding:0 4px;font-size:10.5px}.chat-instructions button{margin:2px 0 0;padding:4px 9px;font-size:11px}.chat-instructions-hint{color:var(--text-muted);text-align:center;margin:8px 4px 0;font-size:11px}.chat-instructions-hint code{font-size:10.5px}.chat-instructions-error{color:var(--status-danger-text);margin:6px 0 0;font-size:11px}.chat-typing{border:1px solid var(--border-subtle);background:var(--bg-surface);color:var(--text-secondary);border-radius:12px 12px 12px 4px;align-items:center;gap:8px;padding:9px 12px;font-size:12px;display:inline-flex}.chat-typing-dots{gap:3px;display:inline-flex}.chat-typing-dots i{background:var(--brand-primary);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite chat-typing}.chat-typing-dots i:nth-child(2){animation-delay:.15s}.chat-typing-dots i:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,60%,to{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion:reduce){.chat-typing-dots i{opacity:.7;animation:none}}.chat-diff{border:1px solid var(--border-subtle);background:var(--bg-elevated);border-radius:10px;width:100%;max-width:100%;margin-top:2px;overflow:hidden}.chat-diff details+details{border-top:1px solid var(--border-subtle)}.chat-diff summary{padding:6px 10px;font-size:11px;font-weight:600}.chat-diff summary code{font-size:11px}.diff-count-added{color:var(--status-success-text)}.diff-count-removed{color:var(--status-danger-text)}.chat-diff pre{white-space:pre;max-height:260px;margin:0;padding:4px 0 6px;font-size:11px;line-height:1.5;overflow:auto}.diff-line{padding:0 10px;display:block}.diff-added{background:var(--status-success-bg);color:var(--status-success-text)}.diff-removed{background:var(--status-danger-bg);color:var(--status-danger-text)}.diff-context{color:var(--text-secondary)}.diff-gap{color:var(--text-muted);text-align:center}.chat-diff .chat-diff-open{margin:4px 10px 8px;padding:4px 9px;font-size:11px}.chat-typing-note{max-width:260px;color:var(--text-muted);padding:0 4px;font-size:10.5px}.chat-typing-row .chat-typing-cancel{margin:2px 0 0;padding:4px 9px;font-size:11px}.chat-message-row-system{align-self:flex-start;align-items:flex-start}.chat-bubble-system{color:var(--text-muted);text-align:left;background:0 0;border-radius:0;padding:2px 4px;font-size:10.5px;font-style:italic}.chat-typing-row{z-index:1;background:linear-gradient(to bottom, transparent, var(--bg-elevated) 30%);max-width:100%;padding:8px 0 2px;position:sticky;bottom:0}.session-banner{z-index:30;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);border-radius:999px;margin:0;padding:6px 14px;font-size:12px;position:fixed;top:12px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #00000014}
