*{box-sizing:border-box;margin:0;padding:0}body{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:#0f172a;color:#e2e8f0}a{color:#38bdf8;text-decoration:none}.shell{display:grid;grid-template-columns:260px 1fr;min-height:0}.sidebar{background:#111827;border-right:1px solid #334155;padding:1.5rem 1rem;display:flex;flex-direction:column}.brand h1{font-size:1.125rem;margin-bottom:1.5rem}.brand-eyebrow,.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;color:#94a3b8;margin-bottom:.5rem}.nav{display:grid;grid-gap:.35rem;gap:.35rem}.nav-link{display:block;padding:.65rem .75rem;border-radius:8px;color:#cbd5e1}.nav-link.active,.nav-link:hover{background:#1e293b;color:#f8fafc}.content{padding:2rem}.panel-stack{display:grid;grid-gap:1.25rem;gap:1.25rem;max-width:1100px}.page-header h2{font-size:2rem;margin-bottom:.5rem}.subtitle{color:#94a3b8;line-height:1.6}.grid{display:grid;grid-gap:1rem;gap:1rem}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-2{grid-template-columns:repeat(2,minmax(0,1fr))}.card{background:#1e293b;border:1px solid #334155;border-radius:12px;padding:1.25rem}.card h3{margin-bottom:.75rem}.metric{font-size:1.75rem;font-weight:700;margin-bottom:.35rem}.muted{color:#94a3b8}.feature-list,.project-list{list-style:none;display:grid;grid-gap:.65rem;gap:.65rem}.feature-list li,.project-list li{color:#cbd5e1}.project-list li{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;border-bottom:1px solid #334155}.form-row{display:flex;gap:.75rem}.input{flex:1 1;background:#0f172a;border:1px solid #475569;border-radius:8px;color:#f8fafc;padding:.75rem .9rem}.button{background:#0284c7;color:#f8fafc;border:none;border-radius:8px;padding:.75rem 1rem;cursor:pointer}.button.secondary{background:#334155}.alert{border-radius:8px;padding:.9rem 1rem}.alert.error{background:#451a1a;border:1px solid #991b1b;color:#fecaca}.auth-shell{min-height:0;display:grid;place-items:center;padding:2rem}.auth-content{width:min(100%,520px);padding:0}.auth-panel{width:100%}.auth-form{display:grid;grid-gap:1rem;gap:1rem}.field-label{display:grid;grid-gap:.45rem;gap:.45rem;color:#cbd5e1}.auth-switch{text-align:center}.auth-inline-link{font-weight:600}.field-optional{color:#94a3b8;font-size:.85rem;font-weight:400}.field-error{color:#fca5a5;font-size:.875rem}.auth-loading{min-height:0;display:grid;place-items:center}.sidebar-auth{margin-top:auto;padding-top:1.5rem;border-top:1px solid #334155}.sidebar-auth-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:.35rem}.sidebar-auth-user{font-weight:600;margin-bottom:.15rem}.sidebar-auth-email{font-size:.85rem;margin-bottom:.75rem}.sidebar-logout{width:100%}.section-header{margin-bottom:.85rem}.section-header h3{margin-bottom:.35rem}.text-link{color:#38bdf8;font-size:.95rem}.project-select,.request-input{width:100%}.request-form{display:grid;grid-gap:.85rem;gap:.85rem;margin-top:.85rem}.request-input{resize:vertical;min-height:110px;line-height:1.5}.agent-grid{margin-top:.5rem}.agent-card{display:grid;grid-gap:.75rem;gap:.75rem}.agent-card-header{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start}.agent-description{line-height:1.55}.agent-capabilities li:before{content:"• ";color:#38bdf8}.status-pill{border-radius:999px;padding:.25rem .65rem;font-size:.75rem;white-space:nowrap;background:#334155;color:#e2e8f0}.workflow-glance{display:flex;flex-wrap:wrap;gap:.4rem;margin:.75rem 0}.brief-form{display:grid;grid-gap:.75rem;gap:.75rem;margin-top:.75rem}.brief-field{display:grid;grid-gap:.35rem;gap:.35rem}.brief-field-controls{display:grid;grid-template-columns:1fr 11rem;grid-gap:.5rem;gap:.5rem}.button-row{display:flex;flex-wrap:wrap;gap:.5rem;margin:.75rem 0}.status-available{background:#14532d;color:#bbf7d0}.status-in-setup{background:#422006;color:#fde68a}.status-unavailable{background:#3f3f46;color:#d4d4d8}.execution-list{list-style:none}.execution-card,.execution-list{display:grid;grid-gap:1rem;gap:1rem}.execution-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.execution-card-header h4{margin-bottom:.25rem}.progress-badge{border-radius:999px;padding:.35rem .75rem;font-size:.8rem;white-space:nowrap}.progress-in_progress,.progress-starting{background:#1e3a8a;color:#bfdbfe}.progress-awaiting_approval{background:#713f12;color:#fde68a}.progress-completed{background:#14532d;color:#bbf7d0}.progress-cancelled,.progress-failed,.progress-rejected{background:#450a0a;color:#fecaca}.progress-stepper{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));align-items:center;grid-gap:.25rem;gap:.25rem}.progress-step-wrap{display:contents}.progress-step{display:flex;flex-direction:column;align-items:center;gap:.45rem;text-align:center}.progress-dot{width:14px;height:14px;border-radius:999px;background:#475569;border:2px solid #64748b}.progress-line{height:2px;background:#475569;align-self:center}.progress-step.complete .progress-dot{background:#0284c7;border-color:#38bdf8}.progress-step.active .progress-dot{background:#38bdf8;border-color:#7dd3fc;box-shadow:0 0 0 4px rgba(56,189,248,.18)}.progress-step.terminal-negative .progress-dot{background:#dc2626;border-color:#f87171}.progress-label{font-size:.72rem;color:#94a3b8;line-height:1.3}.progress-step.active .progress-label,.progress-step.complete .progress-label{color:#e2e8f0}.execution-result{background:#0f172a;border:1px solid #334155;border-radius:10px;padding:.9rem 1rem}.result-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#94a3b8;margin-bottom:.35rem}.result-text{line-height:1.55;color:#f8fafc}.report-line,.validation-line{margin-top:.65rem}.approval-panel{background:#172033;border:1px solid #475569;border-radius:10px;padding:1rem;display:grid;grid-gap:.85rem;gap:.85rem}.approval-panel-header{display:grid;grid-gap:.35rem;gap:.35rem}.approval-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:1rem;gap:1rem}.approval-form{display:grid;grid-gap:.65rem;gap:.65rem}.approval-form h4{font-size:.95rem}.trace-list,.workspace-list{list-style:none;display:grid;grid-gap:1rem;gap:1rem}.workspace-list-item{display:grid;grid-gap:.85rem;gap:.85rem;padding:.85rem 0;border-bottom:1px solid #334155}.workspace-list-item.compact{gap:.35rem}.trace-item{padding:.85rem 0;border-bottom:1px solid #334155}.trace-flow{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;color:#e2e8f0}.trace-arrow{color:#64748b}.plan-panel{margin-top:1rem;padding-top:1rem;border-top:1px solid #334155;display:grid;grid-gap:.65rem;gap:.65rem}.plan-list{margin:0;padding-left:1.1rem;display:grid;grid-gap:.35rem;gap:.35rem}.plan-list.numbered{list-style:decimal}.form-actions{display:flex;flex-wrap:wrap;gap:.75rem}.button.secondary{background:#1e293b;border:1px solid #475569}.alert.success{background:#14532d;border:1px solid #166534;color:#dcfce7}.builder-form,.builder-grid{display:grid;grid-gap:1rem;gap:1rem}.builder-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:1rem}.checkbox-grid{display:grid;grid-gap:.5rem;gap:.5rem}.checkbox-line{display:flex;gap:.5rem;align-items:center}.link-button{background:none;border:none;color:#93c5fd;cursor:pointer;padding:0;text-align:left}.form-actions.align-end{align-items:end}.progress-badge.progress-inactive,.progress-badge.progress-review,.progress-badge.progress-tested{background:#334155}@media (max-width:960px){.shell{grid-template-columns:1fr}.sidebar{border-right:none;border-bottom:1px solid #334155}.cards-2,.cards-3{grid-template-columns:1fr}.form-row{flex-direction:column}.progress-stepper{grid-template-columns:1fr}.progress-step-wrap{display:grid;grid-gap:.35rem;gap:.35rem}.progress-line{display:none}.approval-actions{grid-template-columns:1fr}}.chat-root,.chat-shell{min-height:0}.chat-shell{display:grid;grid-template-columns:280px 1fr;background:#0f172a}.chat-shell[data-context-open=true]{grid-template-columns:280px 1fr minmax(260px,320px)}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap}.chat-sidebar{background:#111827;border-right:1px solid #334155;display:flex;flex-direction:column;padding:1rem;gap:1rem;overflow-y:auto}.chat-sidebar-project-name{font-size:.9rem;color:#e2e8f0;margin:0}.project-file-tree{display:grid;grid-gap:.4rem;gap:.4rem}.project-file-tree-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.25rem;gap:.25rem;max-height:14rem;overflow:auto}.project-file-tree-item{width:100%;display:grid;grid-template-columns:1.1rem 1fr auto;grid-gap:.4rem;gap:.4rem;align-items:center;text-align:left;background:transparent;border:1px solid transparent;color:#e2e8f0;border-radius:.45rem;padding:.4rem .5rem;cursor:pointer}.project-file-tree-item.is-selected,.project-file-tree-item:hover{background:#1e293b;border-color:#334155}.project-file-tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-sidebar-header h1{font-size:1.1rem;margin:.35rem 0 .75rem}.chat-new-button{width:100%}.chat-sidebar-section{display:grid;grid-gap:.5rem;gap:.5rem}.chat-sidebar-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.chat-conversation-list{list-style:none;max-height:320px;overflow:auto}.chat-conversation-list,.chat-sidebar-search{display:grid;grid-gap:.35rem;gap:.35rem}.chat-search-input{width:100%;padding:.5rem .65rem;font-size:.9rem}.chat-conversation-list li{display:grid;grid-template-columns:1fr auto auto;grid-gap:.25rem;gap:.25rem;align-items:center}.chat-conversation-item{text-align:left;background:transparent;border:1px solid transparent;color:#e2e8f0;border-radius:.5rem;padding:.55rem .65rem;cursor:pointer}.chat-conversation-item.active,.chat-conversation-item:hover{background:#1e293b;border-color:#334155}.chat-conversation-delete{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:1.1rem}.chat-sidebar-link{display:block;padding:.35rem 0}.chat-tools-details summary{cursor:pointer;color:#cbd5e1}.chat-tools-links{display:grid;grid-gap:.25rem;gap:.25rem;padding:.5rem 0 0 .75rem}.chat-sidebar-footer{margin-top:auto}.chat-main{display:flex;flex-direction:column}.chat-main-header{display:flex;justify-content:space-between;align-items:end;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid #334155}.chat-main--welcome{background:linear-gradient(180deg,#0f172a,#111827 42%,#0f172a)}.chat-main-header-compact{align-items:center;padding:.85rem 1.25rem;border-bottom-color:rgba(51,65,85,.65)}.chat-main-header-title{margin:0;font-size:1rem;font-weight:600;color:#f1f5f9}.chat-project-select-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.chat-project-select-hint{font-size:.8rem;line-height:1.35}.chat-project-select{display:grid;grid-gap:.35rem;gap:.35rem;min-width:220px}.chat-main-body{overflow:auto;padding:1rem 1.25rem 0;display:flex;justify-content:center;flex:1 1}.chat-conversation-panel{display:flex;flex-direction:column;flex:1 1;animation:chat-panel-in .2s ease-out}@keyframes chat-panel-in{0%{opacity:0}to{opacity:1}}.chat-thread{display:grid;grid-gap:1.5rem;gap:1.5rem;width:min(100%,820px);padding-bottom:1rem}.chat-message{display:grid;grid-gap:.4rem;gap:.4rem;max-width:min(100%,720px)}.chat-message-user{justify-self:end}.chat-message-assistant{justify-self:start;max-width:min(100%,820px)}.chat-message-user .chat-message-body{background:#1e3a5f;border:1px solid #2563eb}.chat-message-assistant .chat-message-body{background:#1e293b;border:1px solid #334155}.chat-message-body{border-radius:.85rem;padding:.95rem 1.1rem;line-height:1.55}.chat-message-role{font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.06em;font-weight:500}.chat-message-user .chat-message-role{text-align:right}.chat-message-content{overflow-wrap:anywhere;word-break:break-word}.chat-message-content p{margin:.2rem 0;white-space:pre-wrap}.chat-message-heading{margin:.65rem 0 .35rem;font-size:1rem}.chat-message-list-item{display:flex;gap:.5rem;align-items:flex-start}.chat-message-bullet{color:#94a3b8}.chat-message-spacer{min-height:.5rem}.chat-project-badge{display:inline-block;margin-top:.35rem;font-size:.85rem;color:#cbd5e1}.chat-error-banner{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin:0 1.25rem;flex-wrap:wrap}.chat-error-actions{display:flex;gap:.5rem;flex-shrink:0}.chat-error-dismiss{background:transparent;border:1px solid #475569;color:#e2e8f0;border-radius:.35rem;padding:.25rem .5rem;cursor:pointer}.chat-attachment-limitation{margin-top:.25rem;font-size:.8rem;color:#fbbf24}.chat-attachment-limitation.error{color:#f87171}.chat-composer-attachments,.chat-message-attachments{display:grid;grid-gap:.5rem;gap:.5rem;margin-bottom:.65rem}.chat-attachment-chip{display:flex;justify-content:space-between;gap:.75rem;align-items:center;background:#0f172a;border:1px solid #334155;border-radius:.5rem;padding:.55rem .75rem}.chat-attachment-name{font-weight:600}.chat-attachment-meta{font-size:.85rem}.chat-attachment-remove{background:transparent;border:1px solid #475569;color:#e2e8f0;border-radius:.35rem;padding:.25rem .5rem;cursor:pointer}.chat-message-meta{display:grid;grid-gap:.5rem;gap:.5rem;margin-top:.75rem}.chat-progress-badge{display:inline-block;font-size:.8rem;padding:.2rem .5rem;border-radius:999px;background:#334155}.chat-progress-badge.warning{background:#854d0e}.chat-inline-approval{margin-top:.75rem}.chat-inline-approval .approval-panel{margin:0}.chat-action-link{text-decoration:none;font-size:.875rem}.chat-composer{border-top:1px solid #334155;padding:1rem 1.25rem 1.25rem;background:#111827;display:flex;flex-direction:column;align-items:center}.chat-composer-prominent{width:min(100%,720px);border-top:none;background:transparent;padding:0}.chat-composer-box{width:min(100%,820px);border:1px solid #334155;border-radius:1rem;background:#0f172a;padding:.85rem;display:grid;grid-gap:.65rem;gap:.65rem;transition:border-color .15s ease,box-shadow .15s ease}.chat-composer-box:focus-within{border-color:#475569;box-shadow:0 0 0 1px rgba(71,85,105,.35)}.chat-composer-prominent .chat-composer-box{box-shadow:0 12px 40px rgba(15,23,42,.45);border-color:#475569;padding:1rem}.chat-composer-prominent .chat-composer-box:focus-within{border-color:#64748b;box-shadow:0 12px 40px rgba(15,23,42,.45),0 0 0 1px rgba(100,116,139,.4)}.chat-composer-drag-active .chat-composer-box{border-color:#38bdf8;box-shadow:0 0 0 1px rgba(56,189,248,.35),0 12px 40px rgba(15,23,42,.45)}.chat-composer-row{display:grid;grid-gap:.75rem;gap:.75rem}.chat-composer-input{width:100%;resize:vertical;min-height:72px;border:none;background:transparent;box-shadow:none;font-size:.95rem;line-height:1.5}.chat-composer-input:focus{outline:none}.chat-composer-prominent .chat-composer-input{min-height:128px;font-size:1rem}.chat-composer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:.5rem}.chat-composer-icon-button,.chat-composer-send{min-width:5rem}.chat-composer-send:not(:disabled){font-weight:600}.chat-composer-icon-button:focus-visible,.chat-composer-send:focus-visible,.chat-prompt-example:focus-visible{outline:2px solid #64748b;outline-offset:2px}.chat-composer-actions{display:flex;justify-content:flex-end;gap:.5rem}.chat-composer-attachments{width:min(100%,820px);margin-bottom:.65rem}.chat-file-input{display:none}.chat-composer-hint{margin-top:.5rem;font-size:.85rem;width:min(100%,820px)}.chat-typing-indicator{display:inline-flex;gap:.25rem;margin-top:.5rem}.chat-typing-indicator span{width:.45rem;height:.45rem;border-radius:999px;background:#94a3b8;animation:chat-typing 1.2s ease-in-out infinite}.chat-typing-indicator span:nth-child(2){animation-delay:.15s}.chat-typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes chat-typing{0%,80%,to{opacity:.35;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}.chat-menu-button{display:none}.chat-main-header-left{display:flex;align-items:end;gap:.75rem}.chat-sidebar-backdrop{display:none}.chat-status-events{list-style:disc;padding-left:1.25rem;color:#cbd5e1;font-size:.9rem}.chat-mode-select{display:inline-flex}.chat-mode-input{min-width:7.5rem;padding:.4rem .55rem;font-size:.85rem}.agent-progress{list-style:none;display:grid;grid-gap:.4rem;gap:.4rem;margin:.75rem 0 0;padding:.75rem .85rem;border:1px solid #334155;border-radius:.7rem;background:#0f172a}.agent-progress-step{display:grid;grid-template-columns:1.25rem 1fr;grid-gap:.55rem;gap:.55rem;align-items:start}.agent-progress-marker{color:#94a3b8;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.agent-progress-step.is-complete .agent-progress-marker{color:#86efac}.agent-progress-step.is-current .agent-progress-marker{color:#93c5fd}.agent-progress-step.is-error .agent-progress-marker{color:#fca5a5}.agent-progress-copy{display:grid;grid-gap:.1rem;gap:.1rem}.agent-progress-label{color:#e2e8f0;font-size:.92rem}.agent-progress-state{color:#94a3b8;font-size:.75rem}.agent-context-strip,.agent-error-card,.tool-execution-card{margin-top:.75rem;padding:.8rem .9rem;border:1px solid #334155;border-radius:.7rem;background:#0f172a;display:grid;grid-gap:.55rem;gap:.55rem}.agent-approval-heading,.agent-context-heading{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8}.agent-context-strip ul,.tool-execution-artifacts,.tool-execution-details{list-style:none;display:grid;grid-gap:.35rem;gap:.35rem;margin:0;padding:0}.agent-context-strip li,.tool-execution-artifacts li,.tool-execution-details li{display:grid;grid-template-columns:1rem 1fr;grid-gap:.45rem;gap:.45rem;color:#cbd5e1;font-size:.9rem}.tool-execution-error{margin:0;color:#fecaca}.tool-execution-header{display:flex;justify-content:space-between;align-items:start;gap:.75rem}.agent-error-card h3,.tool-execution-header h3{margin:.15rem 0 0;font-size:1rem}.agent-error-card,.tool-execution-card.is-error{border-color:#7f1d1d}.agent-error-actions,.tool-execution-toggle{display:flex;gap:.5rem;flex-wrap:wrap}.chat-inline-approval{margin-top:.85rem;padding:.85rem .95rem;border:1px solid #92400e;border-radius:.7rem;background:#1c1917}.chat-artifacts{display:grid;grid-gap:.65rem;gap:.65rem}.artifact-card{display:flex;justify-content:space-between;gap:.75rem;align-items:center;background:#0f172a;border:1px solid #334155;border-radius:.5rem;padding:.75rem}.artifact-card-name{font-weight:600}.artifact-card-meta{font-size:.85rem;text-transform:capitalize}.artifact-card-description{margin-top:.25rem;font-size:.9rem}.artifact-card-action{text-decoration:none;white-space:nowrap}.chat-disclaimer{font-size:.85rem;margin-top:.5rem}.chat-empty-state{max-width:720px;width:min(100%,820px);display:grid;grid-gap:.75rem;gap:.75rem;margin:2rem auto}.chat-hero{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;padding:2.5rem 1.5rem 3rem;text-align:center}.chat-hero-intro{display:grid;grid-gap:.5rem;gap:.5rem;max-width:640px}.chat-hero-eyebrow{margin:0;font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:#64748b;font-weight:500}.chat-hero-title{margin:0;font-size:2.25rem;font-weight:600;letter-spacing:-.02em;color:#f1f5f9}.chat-hero-subtitle{margin:.5rem 0 0;font-size:1.35rem;font-weight:500;color:#e2e8f0}.chat-hero-lead{margin:.75rem 0 0;font-size:.975rem;line-height:1.6;color:#94a3b8}.chat-hero-composer{width:min(100%,720px);display:grid;grid-gap:1.25rem;gap:1.25rem}.chat-composer-hint-prominent{text-align:center;margin-top:.75rem}.chat-prompt-examples-wrap{width:min(100%,720px)}.chat-prompt-examples-label{margin:0 0 .65rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:#64748b;text-align:left}.chat-prompt-examples{display:grid;grid-gap:.55rem;gap:.55rem;grid-template-columns:1fr}@media (min-width:640px){.chat-prompt-examples{grid-template-columns:1fr 1fr}}.chat-prompt-example{width:100%;text-align:left;background:#111827;border:1px solid #334155;border-radius:.65rem;color:#cbd5e1;padding:.75rem .9rem;font-size:.875rem;line-height:1.45;cursor:pointer;transition:border-color .15s ease,background .15s ease}.chat-prompt-example:focus-visible:not(:disabled),.chat-prompt-example:hover:not(:disabled){background:#1e293b;border-color:#475569;outline:none}.chat-prompt-example:disabled{opacity:.55;cursor:not-allowed}.chat-examples{padding-left:1.25rem;color:#cbd5e1}.chat-guest,.chat-loading{min-height:100%;padding:2rem}@media (max-width:900px){.chat-shell,.chat-shell[data-context-open=true]{grid-template-columns:1fr}.chat-menu-button{display:inline-flex}.chat-sidebar-backdrop{display:block;position:fixed;inset:0;border:none;background:rgba(15,23,42,.55);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:20}.chat-sidebar-backdrop[data-open=true]{opacity:1;pointer-events:auto}.chat-sidebar{position:fixed;top:0;left:0;bottom:0;width:min(88vw,320px);z-index:30;transform:translateX(-105%);transition:transform .2s ease}.chat-sidebar[data-open=true]{transform:translateX(0)}.chat-main-header{flex-direction:column;align-items:stretch}.chat-project-select{width:100%}.chat-composer-actions{flex-wrap:wrap}.chat-hero{padding:1.5rem 1rem 2rem;gap:1.5rem}.chat-hero-title{font-size:1.75rem}.chat-hero-subtitle{font-size:1.15rem}.chat-hero-lead{font-size:.9rem}.chat-prompt-examples{grid-template-columns:1fr}.chat-composer-prominent .chat-composer-toolbar{flex-wrap:wrap}.chat-composer-icon-button,.chat-composer-send{flex:1 1 auto}}.chat-header-status{display:grid;grid-gap:.4rem;gap:.4rem;justify-items:end}.chat-connection-status{font-size:.75rem;color:#86efac;text-transform:uppercase;letter-spacing:.06em}.chat-context-panel{background:#111827;border-left:1px solid #334155;padding:1rem 1.1rem;display:none;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto}.chat-shell[data-context-open=true] .chat-context-panel{display:flex}.chat-context-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.chat-context-header h2{font-size:1rem;margin-top:.2rem}.chat-context-close,.chat-context-toggle{display:inline-flex}.chat-context-section{display:grid;grid-gap:.4rem;gap:.4rem}.chat-context-list{list-style:none;display:grid;grid-gap:.45rem;gap:.45rem;font-size:.9rem}.engineering-result-card{margin-top:.85rem;padding:.9rem 1rem;border:1px solid #334155;border-radius:.75rem;background:#0f172a;display:grid;grid-gap:.75rem;gap:.75rem}.engineering-result-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.engineering-result-header h3{font-size:1.05rem}.engineering-result-badges{display:flex;gap:.35rem;flex-wrap:wrap}.engineering-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.65rem;gap:.65rem}.engineering-result-field dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.engineering-result-field dd{font-size:1.05rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.engineering-result-unit{color:#94a3b8;font-size:.85rem}.engineering-result-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;margin-bottom:.3rem}.engineering-result-block ul{padding-left:1.1rem;display:grid;grid-gap:.25rem;gap:.25rem}@media (max-width:1200px){.chat-shell,.chat-shell[data-context-open=true]{grid-template-columns:280px 1fr}.chat-context-close,.chat-context-toggle{display:inline-flex}.chat-context-panel{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(88vw,340px);z-index:30;transform:translateX(105%);transition:transform .2s ease;min-height:0}.chat-context-panel[data-open=true]{transform:translateX(0)}}@media (max-width:700px){.chat-context-panel{top:auto;left:0;right:0;width:100%;height:min(78vh,560px);min-height:0;transform:translateY(105%);border-left:none;border-top:1px solid #334155;border-radius:1rem 1rem 0 0}.chat-context-panel[data-open=true]{transform:translateY(0)}.chat-mode-input{min-width:6.5rem}}@media (max-width:900px){.engineering-result-grid{grid-template-columns:1fr}.chat-header-status{justify-items:stretch}}.rc-demo{display:grid;grid-gap:1rem;gap:1rem;animation:rc-fade-in .35s ease}.rc-demo-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem}.rc-demo-header h3{font-size:1.1rem}.rc-diagram{margin:0;display:grid;grid-gap:.4rem;gap:.4rem}.rc-diagram-heading{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem}.rc-diagram-badge{font-size:.8rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#e2e8f0}.rc-svg{width:100%;height:auto;display:block;overflow:visible;background:#0b1220;border:1px solid #334155;border-radius:.6rem}.rc-svg:focus-visible{outline:2px solid #38bdf8;outline-offset:2px}.rc-svg-title{fill:#e2e8f0;font-size:13px;font-weight:600}.rc-svg-label{fill:#94a3b8;font-size:11px}.rc-load-arrow{animation:rc-fade-in .45s ease both}.rc-diagram-curve{stroke-linejoin:round;stroke-linecap:round;stroke-dasharray:900;stroke-dashoffset:900;animation:rc-draw .85s ease forwards}.rc-diagram-fill{animation:rc-fade-in .7s ease both}.rc-diagram-row,.rc-lower-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:.85rem;gap:.85rem}.rc-readout{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.65rem;gap:.65rem;padding:.7rem .85rem;border:1px solid #334155;border-radius:.6rem;background:#111827;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rc-readout .engineering-result-label{display:block;margin-bottom:.15rem}.rc-parameters{display:grid;grid-gap:.45rem;gap:.45rem}.rc-parameter-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:.55rem;gap:.55rem}.rc-parameter-grid dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8}.rc-parameter-grid dd{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rc-results-summary{display:grid;grid-gap:.55rem;gap:.55rem}.rc-result-metric{padding:.7rem .8rem;border:1px solid #1e3a5f;border-radius:.55rem;background:#132033}.rc-result-value{font-size:1.35rem;font-weight:650;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:#f8fafc}.rc-cross-section .rc-svg-section{max-width:320px}.rc-workflow{list-style:none;display:flex;flex-wrap:wrap;gap:.45rem .9rem;font-size:.78rem;color:#94a3b8}.rc-workflow li{display:flex;align-items:center;gap:.3rem}.rc-workflow span{color:#86efac}@keyframes rc-fade-in{0%{opacity:0}to{opacity:1}}@keyframes rc-draw{to{stroke-dashoffset:0}}@media (max-width:760px){.rc-diagram-row,.rc-lower-row,.rc-parameter-grid,.rc-readout{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.agent-progress-step.is-current .agent-progress-marker,.chat-context-panel,.chat-sidebar,.chat-sidebar-backdrop,.rc-demo,.rc-diagram-curve,.rc-diagram-fill,.rc-load-arrow{animation:none;transition:none}.rc-diagram-curve{stroke-dasharray:none;stroke-dashoffset:0}}.building-plan-svg{width:100%;max-height:28rem;background:#0b1220;border:1px solid #334155;border-radius:.5rem}.building-plan-plot{fill:#0f172a;stroke:#64748b;stroke-width:.08}.building-plan-space{stroke:#94a3b8;stroke-width:.04;cursor:pointer}.building-plan-parking{fill:#292524;stroke:#a8a29e;stroke-width:.04;cursor:pointer}.building-plan-grid{stroke:#334155;stroke-width:.03;stroke-dasharray:.15 .12}.building-plan-beam{stroke:#38bdf8;stroke-width:.08;cursor:pointer}.building-plan-column{fill:#f97316;cursor:pointer}.building-plan-beam.is-selected,.building-plan-column.is-selected,.building-plan-space.is-selected{stroke:#fbbf24;stroke-width:.12}.engineering-result-table{width:100%;border-collapse:collapse;font-size:.85rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.engineering-result-table td,.engineering-result-table th{padding:.25rem .5rem;border-bottom:1px solid rgba(127,127,127,.25);text-align:right}.engineering-result-table td:first-child,.engineering-result-table th:first-child{text-align:left}.engineering-result-card[dir=rtl]{text-align:right}.engineering-result-card[dir=rtl] .engineering-result-field dd,.engineering-result-card[dir=rtl] .engineering-result-table td{direction:ltr;unicode-bidi:plaintext;text-align:right}.v3d-overlay{position:fixed;inset:0;z-index:1000;display:flex;flex-direction:column;background:#1f2a38;color:#dbe3ee;font-size:13px}.v3d-toolbar{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;padding:6px 10px;background:linear-gradient(#3a4656,#2c3644);border-bottom:1px solid #0f1620}.v3d-toolbar select{background:#18212c;padding:2px 4px}.v3d-btn,.v3d-toolbar select{color:#dbe3ee;border:1px solid #4b5a6d;border-radius:3px}.v3d-btn{background:#2f3b4b;padding:3px 9px;cursor:pointer}.v3d-btn:disabled{opacity:.45;cursor:default}.v3d-on{background:#2f6fb3;border-color:#5fa8ff}.v3d-close{-webkit-margin-start:auto;margin-inline-start:auto}.v3d-sep{width:1px;height:20px;background:#4b5a6d}.v3d-body{flex:1 1;display:grid;grid-template-columns:210px 1fr 280px;min-height:0}.v3d-props,.v3d-tree{min-height:0;overflow:auto;padding:8px;background:#243142;-webkit-border-end:1px solid #0f1620;border-inline-end:1px solid #0f1620}.v3d-props{-webkit-border-end:none;border-inline-end:none;-webkit-border-start:1px solid #0f1620;border-inline-start:1px solid #0f1620}.v3d-h{font-weight:600;margin:0 0 6px;color:#9fc6ff}.v3d-tree ul{list-style:none;margin:2px 0 6px;-webkit-padding-start:12px;padding-inline-start:12px}.v3d-item{background:none;border:none;color:#dbe3ee;cursor:pointer;padding:1px 4px;font-family:monospace}.v3d-item.v3d-on{background:#2f6fb3}.v3d-canvas{position:relative;min-width:0;min-height:0;overflow:hidden;background:radial-gradient(#2e3d52,#1a2330)}.v3d-canvas canvas{display:block}.v3d-tip{background:#0f1620ee;border:1px solid #5fa8ff;padding:3px 6px;border-radius:3px;pointer-events:none;white-space:nowrap}.v3d-legend,.v3d-tip{position:absolute;z-index:5}.v3d-legend{inset-inline-end:10px;top:10px;background:#0f1620cc;padding:6px 8px;border-radius:4px}.v3d-legend p{margin:0 0 4px;font-weight:600}.v3d-legend span{display:inline-block;width:14px;height:10px;-webkit-margin-end:6px;margin-inline-end:6px}.v3d-status{position:absolute;z-index:5;left:10px;bottom:8px;color:#9aa4b1}.v3d-bubble{border:1px solid #c9d6e6;border-radius:50%;width:20px;height:20px;line-height:18px;text-align:center;font-size:11px;color:#e8eef6;background:#1f2a38}.v3d-joint-label{font-size:10px;color:#ffd54f;transform:translate(8px,-8px)}.v3d-frame-label{font-size:10px;color:#9fe7ff;background:#1f2a38aa;padding:0 2px}.v3d-props dl{display:grid;grid-template-columns:auto 1fr;grid-gap:3px 8px;gap:3px 8px;margin:0 0 10px}.v3d-props dt{color:#9aa4b1}.v3d-props dd{margin:0}.v3d-muted{color:#9aa4b1}.v3d-tabs{display:flex;gap:4px;margin:8px 0;flex-wrap:wrap}.v3d-drift{width:100%;background:#1a2330;border-radius:4px}.v3d-table{width:100%;border-collapse:collapse;font-size:11px}.v3d-table td,.v3d-table th{border-bottom:1px solid #34465c;padding:2px 4px;text-align:right}.v3d-sum td{font-weight:600}.sidebar{min-height:0;overflow-y:auto}.sidebar-lang{display:flex;gap:6px;align-items:center;margin-top:1rem;font-size:.85rem;color:#94a3b8}.lang-btn{background:transparent;border:1px solid #334155;color:#cbd5e1;border-radius:4px;padding:1px 8px;cursor:pointer}.lang-btn.active{background:#2563eb;color:#fff;border-color:#2563eb}.chat-dock-toggle{position:fixed;right:18px;bottom:18px;z-index:900;background:#2563eb;color:#fff;border:none;border-radius:999px;padding:.7rem 1.1rem;font-weight:600;box-shadow:0 6px 20px #0008;cursor:pointer}.chat-dock{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);z-index:900;display:flex;flex-direction:column;background:#0f172a;border-left:1px solid #334155;box-shadow:-8px 0 24px #0007}.chat-dock-header{display:flex;gap:.5rem;align-items:center;padding:.6rem .8rem;border-bottom:1px solid #334155}.chat-dock-header select{flex:1 1;min-width:0}.chat-dock-body{flex:1 1;overflow-y:auto;padding:.5rem;min-height:0}.frame3d-panel{margin-bottom:1rem}.frame3d-form{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:.75rem;gap:.75rem}.frame3d-form fieldset{border:1px solid #334155;border-radius:6px;padding:.5rem .75rem;display:grid;grid-gap:.35rem;gap:.35rem}.frame3d-form label{display:grid;grid-template-columns:1fr 110px;align-items:center;grid-gap:.5rem;gap:.5rem;font-size:.85rem}.frame3d-actions{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:.5rem;margin:.5rem 0}.legacy-section{margin-top:1rem;border-top:1px solid #334155;padding-top:.5rem}.legacy-section>summary{cursor:pointer;color:#94a3b8;margin-bottom:.5rem}.dxf-viewer{border:1px solid #334155;border-radius:6px;background:#0b1220;padding:.5rem;margin:.75rem 0}.dxf-toolbar{gap:.6rem;align-items:center}.dxf-layers,.dxf-toolbar{display:flex;flex-wrap:wrap;margin-bottom:.4rem}.dxf-layers{gap:.2rem .9rem;font-size:.8rem;font-family:monospace}.dxf-canvas{width:100%;background:#111827;border-radius:4px;cursor:-webkit-grab;cursor:grab}.dxf-hint{font-size:.75rem;margin:.2rem 0 0}.v3d-embedded{position:relative!important;inset:auto!important;z-index:1!important;height:680px;border-radius:6px;overflow:hidden;margin:.75rem 0}.report-frame{width:100%;height:720px;border:1px solid #334155;border-radius:6px;background:#fff}.file-preview{margin-top:.75rem}.file-preview img{max-width:100%;border-radius:4px}.file-preview iframe{width:100%;height:640px;border:1px solid #334155;background:#fff}.file-preview pre{max-height:420px;overflow:auto;background:#0b1220;padding:.5rem;font-size:.75rem}.empty-state{border:1px dashed #475569;border-radius:6px;padding:1rem;color:#94a3b8}.v3d-embedded .v3d-body{grid-template-columns:190px minmax(320px,1fr) 250px}@media (max-width:1100px){.v3d-embedded .v3d-body{grid-template-columns:minmax(320px,1fr) 240px}.v3d-embedded .v3d-tree{display:none}}body,html{height:100%;overflow:hidden}body{min-height:0}.chat-root,.chat-shell,.shell{height:100vh;height:100dvh;min-height:0;overflow:hidden}.chat-shell,.shell{grid-template-rows:minmax(0,1fr)}.chat-context-panel,.chat-sidebar,.content,.sidebar{min-height:0;height:100%;overflow-y:auto;overscroll-behavior:contain}.content{min-width:0}.chat-main{height:100%;min-width:0}.chat-conversation-panel,.chat-main{min-height:0;overflow:hidden}.chat-main-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;align-items:flex-start}.chat-composer{flex:0 0 auto}.chat-main--welcome{overflow-y:auto}.auth-loading,.auth-shell{height:100vh;height:100dvh;min-height:0;overflow-y:auto}.chat-dock{min-height:0;overscroll-behavior:contain}@media (max-width:1200px){.chat-context-panel{height:auto;min-height:0}}@media (max-width:700px){.chat-context-panel{height:min(78vh,560px)}}@media (max-width:960px){.shell{grid-template-rows:auto minmax(0,1fr)}.sidebar{height:auto;max-height:38dvh}}.chat-md-table-wrap{max-width:100%;overflow-x:auto;margin:.5rem 0;border:1px solid #334155;border-radius:.5rem}.chat-md-table{border-collapse:collapse;min-width:100%;font-size:.875rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat-md-table td,.chat-md-table th{padding:.4rem .65rem;border-bottom:1px solid #334155;text-align:start;white-space:nowrap}.chat-md-table th{background:#1e293b;font-weight:600}.chat-md-table tbody tr:nth-child(2n) td{background:rgba(30,41,59,.45)}.chat-message-body,.chat-message-content{min-width:0;max-width:100%}.mobile-nav-backdrop,.mobile-topbar{display:none}@media (max-width:960px){.shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.mobile-topbar{display:flex;align-items:center;gap:.75rem;padding:.5rem .85rem;background:#111827;border-bottom:1px solid #334155;position:relative;z-index:25}.mobile-nav-toggle{min-width:2.5rem;min-height:2.5rem;font-size:1.2rem;padding:.25rem .6rem}.mobile-topbar-title{font-weight:600;color:#e2e8f0}.shell>.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(85vw,300px);height:100dvh;max-height:none;z-index:40;transform:translateX(-105%);transition:transform .2s ease;border-right:1px solid #334155;border-bottom:none}.shell>.sidebar[data-open=true]{transform:translateX(0)}.mobile-nav-backdrop{display:block;position:fixed;inset:0;border:none;background:rgba(15,23,42,.6);opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:35}.mobile-nav-backdrop[data-open=true]{opacity:1;pointer-events:auto}.shell>.content{height:100%;overflow-y:auto;-webkit-overflow-scrolling:touch}}@media (max-width:900px){.chat-shell,.chat-shell[data-context-open=true]{grid-template-columns:minmax(0,1fr)}.chat-main{display:flex;flex-direction:column;height:100dvh}.chat-main-header{flex:0 0 auto;gap:.5rem;padding:.6rem .85rem}.chat-main-header-left{min-width:0}.chat-main-header h2{font-size:1rem;line-height:1.3;margin:.1rem 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70vw}.chat-main-header .eyebrow{display:none}.chat-main-body{-webkit-overflow-scrolling:touch}.chat-composer{position:-webkit-sticky;position:sticky;bottom:0;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}}.google-signin-button{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%;min-height:2.75rem;text-decoration:none}.google-signin-g{font-weight:700;color:#4285f4;background:#fff;border-radius:50%;width:1.4rem;height:1.4rem;display:inline-grid;place-items:center}@media (max-width:960px){body,html{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto}.shell{height:auto;min-height:100dvh;overflow:visible}.auth-shell,.auth-shell>.content,.shell>.content{height:auto;min-height:0;overflow:visible}.auth-shell{min-height:100dvh}.mobile-topbar{position:-webkit-sticky;position:sticky;top:0}.chat-guest,.chat-loading{min-height:0;padding:1.25rem 1rem 2.5rem}}.panel-stack{grid-template-columns:minmax(0,1fr)}.card,.grid>*,.panel-stack>*,[class*=-grid]>*{min-width:0}@media (max-width:960px){body,html{overflow-x:hidden;max-width:100%}.content,.content *{overflow-wrap:anywhere}.content canvas,.content img,.content input,.content select,.content svg,.content textarea,.content video{max-width:100%}.content table{display:block;max-width:100%;overflow-x:auto}.content code,.content pre{white-space:pre-wrap;word-break:break-word}.status-pill{white-space:normal;max-width:100%}.chat-context-panel{max-width:100vw;overflow-x:hidden}.chat-context-panel *{min-width:0;overflow-wrap:anywhere}}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.upload-dropzone{border:2px dashed rgba(148,163,184,.4);border-radius:12px;padding:1.25rem;display:grid;grid-gap:.6rem;gap:.6rem;justify-items:center;text-align:center}.upload-dropzone.drag-over{border-color:#0ea5e9;background:rgba(14,165,233,.08)}.upload-button{cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 1.25rem}.upload-button[aria-disabled=true]{opacity:.5;pointer-events:none}.upload-hint{margin:0}.upload-progress{width:100%;display:grid;grid-gap:.3rem;gap:.3rem;font-size:.9rem}.upload-progress progress{width:100%;height:8px}@media (max-width:960px){.upload-dropzone{padding:1rem}.upload-button{width:100%}.brief-field-controls{grid-template-columns:minmax(0,1fr)}}.first-project-cta{display:grid;grid-gap:.75rem;gap:.75rem;justify-items:start}.cta-button{font-size:1.05rem;padding:.9rem 1.4rem;min-height:52px;display:inline-flex;align-items:center}.workflow-progress{border:1px solid rgba(148,163,184,.25);border-radius:10px;padding:.6rem .8rem}.workflow-progress>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.75rem}.workflow-progress>summary::-webkit-details-marker{display:none}.workflow-steps{flex:1 1;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none}.workflow-steps .step{position:relative;display:grid;justify-items:center;grid-gap:.3rem;gap:.3rem;font-size:.85rem;color:#94a3b8}.workflow-steps .step+.step:before{content:"";position:absolute;top:6px;right:50%;width:100%;height:2px;background:#334155;z-index:0}.workflow-steps .step.done+.step.done:before{background:#0ea5e9}.step-dot{width:14px;height:14px;border-radius:50%;background:#334155;border:2px solid #475569;position:relative;z-index:1}.step.done .step-dot{background:#0ea5e9;border-color:#38bdf8}.step.done{color:#e2e8f0}.workflow-progress-hint{font-size:.8rem;color:#94a3b8}.workflow-progress[open] .workflow-progress-hint{color:#e2e8f0}.workflow-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));grid-gap:.4rem .8rem;gap:.4rem .8rem;margin:.7rem 0 0}.workflow-details dt{font-size:.75rem;color:#94a3b8}.workflow-details dd{margin:0;overflow-wrap:anywhere}.shell .content{padding-bottom:96px}@media (max-width:960px){.chat-dock-toggle{bottom:max(14px,env(safe-area-inset-bottom));right:14px}}.page-header .subtitle{max-width:60ch}.field-hint{font-size:.85rem;color:var(--warning,#b7791f);margin:.35rem 0 0}button:disabled{cursor:not-allowed;opacity:.55}details.meta-summary>summary{cursor:pointer;font-size:.9rem;color:var(--muted,#667)}details.meta-summary[open]>summary{margin-bottom:.5rem}.page-header>.button{display:inline-block;margin-top:.75rem;position:static;width:auto}.project-actions{display:flex;gap:.5rem;flex-shrink:0}.project-actions .button{white-space:nowrap}.autocad-panel input[type=number],.autocad-panel input[type=text],.autocad-panel textarea{width:100%;box-sizing:border-box;margin:.4rem 0}.autocad-panel input[type=file]{max-width:100%}.autocad-box{gap:.4rem;min-width:0}.autocad-box,.autocad-result{display:flex;flex-direction:column}.autocad-result{margin-top:1rem;gap:.6rem}.autocad-preview{border:1px solid var(--border,#ddd);border-radius:8px;overflow:hidden;background:#fff}.autocad-preview svg{width:100%;height:auto;max-height:70vh;display:block}.autocad-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.billing-mock-note{background:#fff7e0;border:1px solid #f0d78c;color:#6b5200;padding:8px 12px;border-radius:8px;font-size:.9rem}.billing-banner{padding:10px 14px;border-radius:8px;font-weight:600}.billing-banner.ok{background:#e7f6ec;color:#17633a;border:1px solid #a8dcb9}.billing-banner.bad{background:#fdecec;color:#8a1f1f;border:1px solid #f0b4b4}.billing-usage{display:flex;flex-wrap:wrap;gap:8px 24px;font-size:.92rem}.billing-toggles{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.billing-seg{display:inline-flex;border:1px solid var(--border,#d6dbe3);border-radius:10px;overflow:hidden;max-width:100%}.billing-seg button{background:transparent;border:0;padding:8px 14px;cursor:pointer;font:inherit;color:inherit;white-space:nowrap}.billing-seg button+button{border-left:1px solid var(--border,#d6dbe3)}.billing-seg button.active{background:#1f4fd1;color:#fff}.billing-seg em{font-style:normal;font-size:.75rem;margin-left:6px;background:#e3f5e8;color:#17633a;padding:1px 6px;border-radius:6px}.billing-seg button.active em{background:rgba(255,255,255,.2);color:#fff}.billing-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:16px;gap:16px}@media (max-width:1200px){.billing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:640px){.billing-grid{grid-template-columns:1fr}.billing-toggles{flex-direction:column}.billing-seg{width:100%}.billing-seg button{flex:1 1;padding:8px 6px}}.billing-plan{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--card-bg,#fff);border:1px solid var(--border,#d6dbe3);border-radius:14px;padding:18px;min-width:0}.billing-plan.highlight{border:2px solid #1f4fd1;box-shadow:0 6px 20px rgba(31,79,209,.12)}.billing-plan h3{margin:0;font-size:1.2rem}.billing-plan h3 small{font-weight:400;color:#6b7280;font-size:.9rem}.billing-badge{position:absolute;top:-11px;right:16px;background:#1f4fd1;color:#fff;font-size:.75rem;padding:2px 10px;border-radius:999px}.billing-price strong{display:block;font-size:1.4rem}.billing-price span{font-size:.85rem;color:#6b7280}.billing-price s{margin-left:6px}.billing-limits{margin:0;display:grid;grid-gap:4px;gap:4px;font-size:.88rem;flex:1 1}.billing-limits div{display:flex;justify-content:space-between;gap:10px;border-bottom:1px dashed #e5e7eb;padding:3px 0}.billing-limits dt{color:#6b7280}.billing-limits dd{margin:0;text-align:right;font-weight:500}.billing-table-wrap{overflow-x:auto}.billing-table{width:100%;border-collapse:collapse;font-size:.9rem}.billing-table td,.billing-table th{text-align:left;padding:6px 8px;border-bottom:1px solid #e5e7eb;white-space:nowrap}.billing-st.paid{color:#17633a;font-weight:600}.billing-st.failed{color:#8a1f1f;font-weight:600}.billing-mockpay{max-width:520px}.billing-mock-actions{display:flex;gap:12px}.quota-prompt{background:#eef3ff;border:1px solid #b9c9f5;padding:10px 12px;border-radius:8px}.autocad-card{border:1px solid var(--border,#d9dee7);border-radius:12px;padding:12px;margin-top:10px;background:var(--surface,#fff);max-width:100%}.autocad-card-head{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap}.autocad-card-preview{margin:10px 0;background:#fafbfc;border-radius:8px;overflow:hidden;max-height:360px;display:flex;justify-content:center}.autocad-card-preview svg{width:100%;height:auto;max-height:360px}.autocad-card-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.autocad-card-actions .button{min-width:0;overflow:hidden;text-overflow:ellipsis;max-width:100%}.autocad-note{flex:1 1 140px;min-width:0;padding:6px 8px;border:1px solid var(--border,#d9dee7);border-radius:8px}.autocad-card-meta{margin:6px 0 0;font-size:12px}.autocad-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));grid-gap:12px;gap:12px}.billing-ref{display:block;font-size:12px;opacity:.75}.billing-chips{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}.billing-chips button{padding:8px 12px;border-radius:999px;border:1px solid var(--border,#334155);background:transparent;color:inherit;cursor:pointer}.billing-chips button.active{background:var(--accent,#0284c7);border-color:var(--accent,#0284c7);color:#fff}.billing-pay-head{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}.billing-warn{background:rgba(234,179,8,.12);border:1px solid rgba(234,179,8,.5);border-radius:8px;padding:10px 12px}.billing-pay-grid{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);grid-gap:16px;gap:16px;align-items:start}.billing-qr{background:#fff;border-radius:8px;padding:6px;max-width:200px}.billing-qr svg{width:100%;height:auto;display:block}.billing-pay-fields{margin:0;display:grid;grid-gap:10px;gap:10px;min-width:0}.billing-pay-fields dd{margin:2px 0 0;display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-width:0}.billing-pay-fields code{overflow-wrap:anywhere;word-break:break-all;min-width:0}.billing-copy{padding:4px 10px}.billing-timer{margin:12px 0}.billing-st.cancelled,.billing-st.expired{color:#f87171}@media (max-width:600px){.billing-pay-grid{grid-template-columns:1fr}.billing-qr{margin:0 auto}}.drawer-close{display:none}@media (max-width:960px){.shell>.sidebar .drawer-close{display:inline-flex}.shell>.sidebar{touch-action:pan-y}.mobile-nav-backdrop{touch-action:none}}@media (max-width:900px){.chat-sidebar .drawer-close{display:inline-flex}.chat-sidebar{touch-action:pan-y}.chat-sidebar-backdrop{touch-action:none}}.drawer-close{position:absolute;top:.5rem;right:.5rem;z-index:2;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;border-radius:999px;border:1px solid #334155;background:#1e293b;color:#e2e8f0;font-size:1.1rem;cursor:pointer}.chat-sidebar-header{position:relative;padding-right:3rem}.agent-error-actions,.approval-actions,.autocad-actions,.autocad-card-actions,.billing-mock-actions,.button-row,.chat-error-actions,.chat-message-actions,.form-actions,.frame3d-actions,.project-actions,.tool-execution-toggle{display:flex;flex-wrap:wrap;gap:.5rem;align-items:stretch;max-width:100%;min-width:0}.chat-message-actions{margin-top:.75rem}.chat-action-link,a.button{display:inline-flex;align-items:center;justify-content:center;text-align:center;line-height:1.3;text-decoration:none;box-sizing:border-box}.chat-message-actions>.button,.tool-execution-toggle>.button{position:static;margin:0;height:auto;min-height:2.5rem;white-space:normal;overflow-wrap:anywhere;overflow:visible;text-overflow:clip}.project-actions{flex-shrink:1}@media (max-width:640px){.autocad-card-actions>.button,.billing-mock-actions>.button,.chat-message-actions>.button,.project-actions>.button,.tool-execution-toggle>.button{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 0.25rem);min-width:0;max-width:100%;white-space:normal;overflow:visible;text-overflow:clip}}@media (max-width:380px){.chat-message-actions>.button,.tool-execution-toggle>.button{flex-basis:100%}}.panzoom{position:relative;width:100%;max-width:100%;overflow:hidden;border-radius:8px}.panzoom-surface{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:-webkit-grab;cursor:grab;-moz-user-select:none;user-select:none;-webkit-user-select:none;overscroll-behavior:contain}.panzoom-surface:active{cursor:-webkit-grabbing;cursor:grabbing}.panzoom-content{width:100%;height:100%;transform-origin:0 0;display:flex;align-items:center;justify-content:center}.panzoom-content .autocad-svg,.panzoom-content .autocad-svg svg{width:100%;height:100%;max-height:none;pointer-events:none}.panzoom-controls{position:absolute;right:6px;bottom:6px;display:flex;gap:4px;z-index:1}.panzoom-controls button{min-width:2.25rem;min-height:2.25rem;border-radius:6px;border:1px solid #94a3b8;background:rgba(15,23,42,.85);color:#f8fafc;font-size:1.1rem;cursor:pointer}.autocad-card-preview{max-height:none;display:block}.dxf-canvas{touch-action:none;overscroll-behavior:contain;-moz-user-select:none;user-select:none;-webkit-user-select:none}.chat-runs-list{list-style:none;padding:0;margin:.5rem 0 0;display:grid;grid-gap:.6rem;gap:.6rem}.chat-run-item{border:1px solid #334155;border-radius:8px;padding:.6rem .75rem;min-width:0}.chat-run-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;min-width:0}.chat-run-head strong{overflow-wrap:anywhere;min-width:0}.chat-run-meta{font-size:.8rem;margin:.3rem 0 0;overflow-wrap:anywhere}.v3d-modes>*,.v3d-toolbar>*{min-width:0;max-width:100%}.v3d-toolbar select{max-width:100%;text-overflow:ellipsis}.v3d-modes{flex-wrap:wrap;gap:6px 10px;max-width:100%}.v3d-modes,.v3d-modes label{display:inline-flex;align-items:center;min-width:0}.v3d-modes label{gap:6px}.v3d-modes select{width:18rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.v3d-modes input[type=range]{width:7rem;min-width:0}.v3d-props{min-width:0}@media (max-width:760px){.v3d-overlay{overflow-y:auto}.v3d-embedded{height:auto;overflow:visible}.v3d-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:6px 8px;gap:6px 8px}.v3d-toolbar>.v3d-modes,.v3d-toolbar>.v3d-sep,.v3d-toolbar>strong{grid-column:1/-1}.v3d-toolbar>.v3d-sep{width:100%;height:1px}.v3d-toolbar label{display:flex;align-items:center;gap:6px;min-width:0;white-space:nowrap}.v3d-toolbar label select{flex:1 1 auto;min-width:0;width:100%}.v3d-toolbar>input[type=range]{width:100%}.v3d-modes{display:grid;grid-template-columns:auto minmax(0,1fr);grid-gap:6px 8px;gap:6px 8px;width:100%}.v3d-modes>label:first-child{grid-column:1/-1}.v3d-modes label{display:flex}.v3d-modes select{width:100%}.v3d-modes label input[type=range]{flex:1 1 auto;width:auto}.v3d-body,.v3d-embedded .v3d-body{display:flex;flex-direction:column;grid-template-columns:none}.v3d-tree{display:none}.v3d-canvas{height:60vh;min-height:300px;flex:none}.v3d-props{width:100%;-webkit-border-start:none;border-inline-start:none;border-top:1px solid #0f1620;overflow:visible}.v3d-tabs .v3d-btn{flex-grow:1;flex-shrink:1;flex-basis:calc(50% - 4px)}.v3d-table{display:block;overflow-x:auto}}.arch-set{flex-direction:column;gap:8px;min-width:0}.arch-set,.arch-tabs{display:flex;max-width:100%}.arch-tabs{gap:6px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch}.arch-tab{flex:0 0 auto;border:1px solid var(--border,#d0d7de);background:transparent;border-radius:8px;padding:4px 8px;font-size:12px;cursor:pointer;color:inherit;white-space:nowrap}.arch-tab.active{background:var(--accent,#2563eb);border-color:var(--accent,#2563eb);color:#fff}.arch-tab span{opacity:.8}.arch-toolbar{display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:space-between;min-width:0}.arch-title{font-size:13px;font-weight:600;min-width:0;overflow-wrap:anywhere}.arch-actions{display:flex;flex-wrap:wrap;gap:4px}.button.small{padding:4px 10px;font-size:12px}.arch-canvas{position:relative;overflow:hidden;height:min(70vh,640px);background:#fff;border:1px solid var(--border,#d0d7de);border-radius:8px;touch-action:none;cursor:-webkit-grab;cursor:grab}.arch-canvas img{width:100%;height:100%;object-fit:contain;transform-origin:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;display:block}.arch-set-item{border-top:1px solid var(--border,#e5e7eb);padding-top:8px;margin-top:8px;min-width:0}.arch-set-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;width:100%;background:none;border:0;padding:4px 0;cursor:pointer;color:inherit;font-weight:600;text-align:start}.arch-checks{font-size:12px;margin:4px 0 0;-webkit-padding-start:16px;padding-inline-start:16px}@media (max-width:600px){.arch-canvas{height:56vh}.arch-tab span{display:none}}.chat-arch-set{margin-top:8px;min-width:0;max-width:100%}.structural-set{border:1px solid var(--border,#d9dee7);border-radius:12px;padding:12px;margin-top:10px;max-width:100%;min-width:0}.structural-set-head{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap;align-items:baseline}.structural-set-meta{margin:4px 0 8px;font-size:13px;overflow-wrap:anywhere}.structural-sheet-list{list-style:none;padding:0;margin:8px 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));grid-gap:6px;gap:6px}.structural-sheet-btn{width:100%;display:flex;gap:8px;align-items:center;text-align:start;padding:8px 10px;border-radius:8px;border:1px solid var(--border,#d9dee7);background:transparent;color:inherit;cursor:pointer;min-width:0}.structural-sheet-btn.active{border-color:var(--accent,#0284c7);background:rgba(2,132,199,.08)}.structural-sheet-no{font-weight:700;flex:none}.structural-sheet-title{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;font-size:13px}.structural-sheet-scale{flex:none;font-size:12px}.structural-set-notes{margin:4px 0;-webkit-padding-start:18px;padding-inline-start:18px;font-size:13px}.downloads-panel{border:1px solid var(--border,#d9dee7);border-radius:10px;padding:12px;margin:12px 0;max-width:100%;box-sizing:border-box;overflow:hidden}.downloads-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.downloads-head h3{margin:0}.downloads-actions{display:flex;flex-wrap:wrap;gap:6px}.downloads-save{display:flex;gap:6px;align-items:center;font-size:.9em;margin:6px 0}.downloads-group h4{margin:12px 0 4px;font-size:.95em}.downloads-group ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));grid-gap:4px 16px;gap:4px 16px}.downloads-group li{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px;padding:4px 0;border-bottom:1px dashed var(--border,#e3e7ee);min-width:0}.downloads-label{min-width:0;overflow-wrap:anywhere;flex:1 1 140px}.downloads-btns{display:flex;flex-wrap:wrap;gap:4px}.button.small{padding:3px 8px;font-size:.8em;min-height:0}.downloads-preview{flex-basis:100%;max-width:100%;height:auto;border:1px solid var(--border,#e3e7ee);border-radius:6px;background:#fff}.inline-panel{margin-top:10px;max-width:100%;overflow:hidden}.solver-preview{max-height:280px;overflow:auto;font-size:.75em;background:#f6f8fa;border-radius:6px;padding:8px;white-space:pre;max-width:100%}.card-wide{grid-column:1/-1;min-width:0}.chat-spinner{display:inline-block;width:.9em;height:.9em;-webkit-margin-end:.4em;margin-inline-end:.4em;border:2px solid;border-inline-end-color:transparent;border-radius:50%;vertical-align:-.12em;animation:chat-spin .7s linear infinite}.chat-spinner.small{width:.75em;height:.75em}@keyframes chat-spin{to{transform:rotate(1turn)}}.chat-composer-status{margin:.4rem 0 0;font-size:.8rem;color:var(--muted,#94a3b8)}.chat-composer-status.error{color:#f87171}.assistant-strip{margin:.75rem auto;max-width:52rem;padding:.75rem 1rem;border:1px solid var(--border,#334155);border-radius:.75rem;background:rgba(56,189,248,.06)}.assistant-strip-head{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.assistant-strip-badge{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:.1rem .5rem;border-radius:999px;background:#0369a1;color:#fff}.assistant-strip-starters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.6rem}.assistant-starter{font-size:.85rem;text-align:start;white-space:normal}.optimization-checklist{margin:.75rem 0;display:grid;grid-gap:.5rem;gap:.5rem}.optimization-checklist h4{margin:0}.checklist-steps{list-style:none;margin:0;padding:0;display:grid;grid-gap:.5rem;gap:.5rem}.checklist-step{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem .65rem;border:1px solid var(--border,#d8dde6);border-radius:10px;min-width:0;overflow-wrap:anywhere}.checklist-step.missing{border-color:#e0a3a3;background:rgba(220,38,38,.05)}.checklist-step.done{opacity:.85}.checklist-step .button{margin-top:.35rem;display:inline-block}.checklist-auto{border:1px dashed var(--border,#c4cad6);border-radius:10px;padding:.5rem .75rem}.checklist-auto summary{cursor:pointer;font-weight:600}.checklist-auto ul{margin:.5rem 0;-webkit-padding-start:1.2rem;padding-inline-start:1.2rem}.frame3d-repair{border:1px solid #e3c27a;background:rgba(245,158,11,.08);border-radius:10px;padding:.6rem .8rem;margin:.6rem 0}.chat-main-body{scroll-behavior:smooth}.chat-thread{width:min(100%,768px);gap:1.75rem;margin:0 auto;position:relative;padding-bottom:1.5rem}.chat-message{position:relative;max-width:100%;grid-template-columns:2rem 1fr;column-gap:.75rem;align-items:start}.chat-message-avatar{grid-row:1/span 3;width:2rem;height:2rem;border-radius:999px;display:grid;place-items:center;font-size:.65rem;font-weight:700;background:#1d4ed8;color:#fff}.chat-message-user .chat-message-avatar{background:#475569}.chat-message-role{display:none}.chat-message>.chat-message-body,.chat-message>.chat-message-tools{grid-column:2}.chat-message-assistant{justify-self:stretch;max-width:100%}.chat-message-assistant .chat-message-body{background:transparent;border:none;padding:.15rem 0}.chat-message-user{justify-self:stretch;max-width:100%}.chat-message-user .chat-message-body{background:#1e293b;border:1px solid #334155;border-radius:1.1rem;padding:.7rem 1rem;justify-self:start}.chat-message-content{line-height:1.7;font-size:.97rem}.chat-message-content p{margin:.35rem 0}.chat-message-tools{display:flex;gap:.35rem;opacity:.55;transition:opacity .15s}.chat-message:focus-within .chat-message-tools,.chat-message:hover .chat-message-tools{opacity:1}.chat-tool-button{background:transparent;border:1px solid transparent;color:#94a3b8;border-radius:.4rem;padding:.2rem .5rem;font-size:.78rem;cursor:pointer}.chat-tool-button:hover{background:#1e293b;color:#e2e8f0;border-color:#334155}.chat-stream-caret{display:inline-block;width:.5rem;height:1rem;background:#94a3b8;-webkit-margin-start:2px;margin-inline-start:2px;vertical-align:text-bottom;animation:chat-caret 1s steps(2) infinite}@keyframes chat-caret{50%{opacity:0}}.chat-stopped-note{font-size:.78rem;margin:.25rem 0 0}.chat-jump-latest{position:-webkit-sticky;position:sticky;bottom:.5rem;justify-self:center;background:#1e293b;color:#e2e8f0;border:1px solid #475569;border-radius:999px;padding:.35rem .9rem;font-size:.8rem;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.4)}.chat-md-code{background:#0b1220;border:1px solid #334155;border-radius:.6rem;margin:.6rem 0;overflow:hidden}.chat-md-code-head{display:flex;justify-content:space-between;align-items:center;padding:.25rem .7rem;background:#1e293b;font-size:.75rem;color:#94a3b8}.chat-md-code-copy{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:.75rem}.chat-md-code pre{margin:0;padding:.7rem .9rem;overflow-x:auto;font-size:.85rem;line-height:1.5}.chat-md-inline-code{background:#1e293b;border-radius:.3rem;padding:.05rem .35rem;font-size:.88em}.chat-md-quote{margin:.5rem 0;padding:.1rem .9rem;-webkit-border-start:3px solid #475569;border-inline-start:3px solid #475569;color:#cbd5e1}.chat-composer-box{width:min(100%,768px);border-radius:1.4rem}.chat-composer-input{resize:none;max-height:220px;min-height:2.4rem}.chat-composer-stop{background:#e2e8f0;color:#0f172a}.chat-scope-toggle{display:flex;gap:.25rem;margin:.25rem 0 .5rem}.chat-scope-toggle button{flex:1 1;background:transparent;border:1px solid #334155;color:#94a3b8;border-radius:.4rem;padding:.25rem;font-size:.78rem;cursor:pointer}.chat-scope-toggle button.active{background:#1e293b;color:#e2e8f0}.chat-conversation-rename-button{background:transparent;border:none;color:#94a3b8;cursor:pointer;font-size:.95rem}.chat-conversation-rename{grid-column:1/span 2;padding:.35rem .5rem}.chat-conversation-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:640px){.chat-message{grid-template-columns:1.6rem 1fr;column-gap:.5rem}.chat-message-avatar{width:1.6rem;height:1.6rem;font-size:.55rem}.chat-main-body{padding:.75rem .75rem 0}.chat-message-tools{opacity:1}}.issues-layout{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;grid-gap:1rem;gap:1rem}.issues-list{list-style:none;margin:0;padding:0;display:grid;grid-gap:.4rem;gap:.4rem;align-content:start}.issue-row{width:100%;display:grid;grid-gap:.15rem;gap:.15rem;text-align:start;background:#1e293b;color:#e2e8f0;border:1px solid #334155;border-radius:.5rem;padding:.55rem .7rem;cursor:pointer}.issue-row.active{border-color:#2563eb}.issue-sev{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}.issue-sev-critical,.issue-sev-high{color:#f87171}.issue-sev-medium{color:#fbbf24}.issue-detail pre{white-space:pre-wrap;overflow-wrap:anywhere;background:#0b1220;padding:.6rem;border-radius:.5rem}.issue-detail label{display:grid;grid-gap:.25rem;gap:.25rem;margin:.5rem 0}.issue-fix{display:grid;grid-gap:.5rem;gap:.5rem}@media (max-width:800px){.issues-layout{grid-template-columns:1fr}}