.project-home{background:var(--surface-0);flex-direction:column;min-height:100vh;display:flex}.project-home-header{border-bottom:1px solid var(--border-subtle);background:var(--surface-1);justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.project-home-logo{color:var(--text-primary);letter-spacing:-.03em;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:800;display:flex}.project-home-header-right{align-items:center;gap:.75rem;display:flex}.project-home-user{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:.8rem;display:flex}.project-home-signout{color:var(--text-tertiary);border:1px solid var(--border-default);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);font-size:.75rem;font-weight:600;font-family:var(--font-sans);background:0 0;border-radius:6px;padding:.25rem .6rem}.project-home-signout:hover{color:var(--text-primary);border-color:var(--border-strong);background:var(--surface-2)}.project-home-profile-wrap{position:relative}.project-home-gear{cursor:pointer;opacity:.5;transition:opacity var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:.25rem;line-height:1}.project-home-gear:hover{opacity:1}.project-home-profile-menu{background:var(--surface-raised);border:1px solid var(--border-default);z-index:100;border-radius:10px;min-width:200px;padding:.375rem;animation:.15s ease-out fadeIn;position:absolute;top:calc(100% + .5rem);right:0;box-shadow:0 8px 24px #0003}.project-home-profile-item{width:100%;font-family:var(--font-sans);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-align:left;background:0 0;border:none;border-radius:7px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;font-weight:500;text-decoration:none;display:flex}.project-home-profile-item:hover{background:var(--surface-2);color:var(--text-primary)}.project-home-body{flex:1;justify-content:center;padding:2.5rem 1.5rem 3rem;display:flex;overflow-y:auto}.project-home-content{width:100%;max-width:820px;animation:.5s ease-out both fadeInUp}.project-home-section{margin-bottom:2.5rem}.project-home-section-title{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.25rem;font-weight:700}.project-home-section-sub{color:var(--text-tertiary);margin-bottom:1.25rem;font-size:.85rem}.project-type-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;display:grid}.project-type-tile{background:var(--surface-raised);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--duration-base) var(--ease-out);text-align:left;font-family:var(--font-sans);border-radius:14px;flex-direction:column;align-items:flex-start;gap:.625rem;padding:1.5rem;display:flex;position:relative;overflow:hidden}.project-type-tile:hover:not(.project-type-tile--disabled){border-color:#6c5ff259;transform:translateY(-4px);box-shadow:0 12px 36px #0000001f}.project-type-tile:hover:not(.project-type-tile--disabled) .project-type-tile-icon{transform:scale(1.1)}.project-type-tile--disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.project-type-tile-icon{transition:transform var(--duration-base) var(--ease-out);font-size:2.25rem}.project-type-tile-name{color:var(--text-primary);font-size:1rem;font-weight:700}.project-type-tile-tech{color:var(--text-tertiary);font-size:.68rem;font-weight:500;font-family:var(--font-mono);opacity:.8}.project-type-tile-desc{color:var(--text-tertiary);font-size:.8rem;line-height:1.55}.project-type-tile-badge{background:var(--surface-2);color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;border-radius:100px;padding:.15rem .5rem;font-size:.6rem;font-weight:700;position:absolute;top:.75rem;right:.75rem}.project-filter-bar{flex-wrap:wrap;align-items:center;gap:1.25rem;margin-bottom:1.25rem;display:flex}.project-filter-group{align-items:center;gap:.375rem;display:flex}.project-filter-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-right:.25rem;font-size:.7rem;font-weight:600}.project-filter-pill{font-family:var(--font-sans);border:1px solid var(--border-default);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);text-transform:capitalize;white-space:nowrap;background:0 0;border-radius:100px;padding:.25rem .65rem;font-size:.75rem;font-weight:500}.project-filter-pill:hover{color:var(--text-primary);border-color:#6c5ff24d}.project-filter-pill.active{color:var(--color-primary-500);background:#6c5ff21a;border-color:#6c5ff24d;font-weight:600}.project-filter-select{font-family:var(--font-sans);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;border-radius:6px;outline:none;padding:.25rem .5rem;font-size:.75rem}.project-filter-select:focus{border-color:#6c5ff266}.project-filter-toggle{color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:.35rem;font-size:.75rem;display:flex}.project-filter-toggle input{accent-color:var(--color-primary-500);cursor:pointer;width:14px;height:14px}.project-type-empty{text-align:center;color:var(--text-tertiary);grid-column:1/-1;padding:2rem;font-size:.85rem}.project-type-empty button{color:var(--color-primary-500);cursor:pointer;font-weight:600;font-family:var(--font-sans);background:0 0;border:none;margin-left:.25rem;font-size:.85rem;text-decoration:underline}.project-cards{flex-direction:column;gap:.75rem;display:flex}.project-card{background:var(--surface-raised);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--duration-base) var(--ease-out);font-family:var(--font-sans);border-radius:12px;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;display:flex}.project-card:hover{border-color:#6c5ff24d;transform:translateY(-2px);box-shadow:0 4px 16px #00000014}.project-card-left{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.project-card-name{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:700;overflow:hidden}.project-card-meta{color:var(--text-tertiary);flex-wrap:wrap;align-items:center;gap:.75rem;font-size:.75rem;display:flex}.project-card-url{font-family:var(--font-mono);color:var(--text-tertiary);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}.project-card-right{flex-shrink:0;align-items:center;gap:.75rem;display:flex}.project-status-badge{white-space:nowrap;border-radius:100px;align-items:center;gap:.3rem;padding:.2rem .6rem;font-size:.7rem;font-weight:600;display:inline-flex}.project-status-badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.project-status-live{color:var(--color-success-bright);background:#10b9811a}.project-status-ready{color:var(--color-primary-500);background:#6c5ff214}.project-status-building{color:var(--color-warning);background:#f59e0b14}.project-status-offline{color:var(--text-tertiary);background:var(--surface-2)}.project-card-arrow{color:var(--text-tertiary);transition:transform var(--duration-base) var(--ease-out);font-size:1rem}.project-card:hover .project-card-arrow{color:var(--text-secondary);transform:translate(3px)}.project-home-empty{text-align:center;color:var(--text-tertiary);padding:2rem;font-size:.85rem}@media (max-width:720px){.project-type-grid{grid-template-columns:1fr}.project-filter-bar{gap:.75rem}}@media (min-width:721px) and (max-width:960px){.project-type-grid{grid-template-columns:repeat(2,1fr)}}.template-picker-page{background:var(--surface-0);justify-content:center;align-items:center;min-height:100vh;padding:2rem;display:flex}.template-picker{width:100%;max-width:720px;animation:.5s ease-out both fadeInUp}.template-picker-header{text-align:center;margin-bottom:2.5rem}.template-picker-title{color:var(--text-primary);letter-spacing:-.03em;margin-bottom:.5rem;font-size:2rem;font-weight:800}.template-picker-sub{color:var(--text-tertiary);font-size:.95rem}.template-grid{grid-template-columns:repeat(2,1fr);gap:1rem;display:grid}.template-card{background:var(--surface-raised);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--duration-base) var(--ease-out);text-align:left;font-family:var(--font-sans);border-radius:12px;flex-direction:column;align-items:flex-start;gap:.5rem;padding:1.5rem;display:flex}.template-card:hover{border-color:#6c5ff24d;transform:translateY(-3px);box-shadow:0 8px 30px #00000026}.template-card-icon{font-size:2rem}.template-card-name{color:var(--text-primary);font-size:1rem;font-weight:700}.template-card-desc{color:var(--text-tertiary);font-size:.8rem;line-height:1.5}@media (max-width:560px){.template-grid{grid-template-columns:1fr}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ide-layout{background:var(--surface-0);flex-direction:column;width:100vw;height:100vh;display:flex;overflow:hidden}.ide-toolbar{border-bottom:1px solid var(--border-subtle);background:var(--surface-1);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;height:40px;padding:0 .75rem;display:flex}.toolbar-left,.toolbar-right{align-items:center;gap:.25rem;display:flex}.toolbar-center{flex:1;justify-content:center;align-items:center;gap:.5rem;display:flex}.toolbar-toggle{font-family:var(--font-sans);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:.25rem;padding:.25rem .5rem;font-size:.75rem;font-weight:500;display:flex}.toolbar-toggle:hover{background:var(--surface-2);color:var(--text-secondary)}.toolbar-toggle.active{color:var(--color-primary-500);background:#6c5ff214;border-color:#6c5ff226}.toolbar-url{color:var(--text-tertiary);font-size:.7rem;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;max-width:300px;transition:color var(--duration-fast) var(--ease-out);text-decoration:none;overflow:hidden}a.toolbar-url:hover{color:var(--color-primary-500)}.toolbar-status{border-radius:100px;align-items:center;gap:.35rem;padding:.15rem .55rem;font-size:.7rem;font-weight:600;display:inline-flex}.toolbar-status-ready{color:var(--color-success-bright);background:#10b98114}.toolbar-status-building{color:var(--color-warning);background:#f59e0b14;animation:1.5s infinite pulse-status}.toolbar-status-deploying{color:var(--color-primary-500);background:#6c5ff214;animation:1.5s infinite pulse-status}.toolbar-status-live{color:var(--color-success-bright);background:#10b9811f;font-weight:700}.toolbar-status-live .toolbar-status-dot{box-shadow:0 0 6px #10b98180}.toolbar-status-error{color:var(--color-error);background:#ef444414}.toolbar-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.toolbar-btn{font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;border:1px solid;border-radius:6px;align-items:center;gap:.3rem;padding:.25rem .6rem;font-size:.7rem;font-weight:600;display:flex}.toolbar-btn:disabled{opacity:.35;cursor:not-allowed}.toolbar-btn-primary{background:var(--color-primary-500);color:#fff;border-color:#0000}.toolbar-btn-primary:hover:not(:disabled){background:var(--color-primary-600);transform:translateY(-1px)}.toolbar-btn-outline{color:var(--text-secondary);border-color:var(--border-default);background:0 0}.toolbar-btn-outline:hover:not(:disabled){background:var(--surface-2);border-color:var(--border-strong)}.toolbar-btn-techy{color:var(--color-success-bright);background:#10b9810f;border-color:#10b98133}.toolbar-btn-techy.active{background:var(--color-success-bright);color:#fff;border-color:var(--color-success-bright)}.toolbar-theme-btn{cursor:pointer;opacity:.5;transition:opacity var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:.2rem;line-height:1}.toolbar-theme-btn:hover{opacity:1}.ide-panels{flex:1;display:flex;overflow:hidden}.pane{flex-direction:column;min-width:0;display:flex;overflow:hidden}.pane-files{background:var(--surface-1);border-right:1px solid var(--border-subtle);min-width:180px;max-width:360px}.pane-spec{flex:1;min-width:200px}.pane-chat{border-left:1px solid var(--border-subtle);min-width:260px;max-width:480px}.pane-resizer{cursor:col-resize;width:4px;transition:background var(--duration-fast) var(--ease-out);background:0 0;flex-shrink:0;position:relative}.pane-resizer:hover,.pane-resizer.active{background:#6c5ff24d}.pane-resizer:after{content:"";position:absolute;inset:-2px}.pane-header{border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;height:40px;padding:0 .75rem;display:flex}.pane-header-left,.pane-header-right{align-items:center;gap:.5rem;display:flex}.pane-title{color:var(--text-secondary);align-items:center;gap:.375rem;font-size:.8rem;font-weight:600;display:flex}.pane-title-icon{font-size:.9rem}.pane-tab{color:var(--text-tertiary);border-radius:6px;align-items:center;gap:.375rem;padding:.25rem .5rem;font-size:.8rem;font-weight:500;display:flex}.pane-tab.active{color:var(--text-primary);background:var(--surface-2)}.pane-tab-icon{flex-shrink:0;font-size:.85rem}.pane-tab-dirty{background:var(--color-warning);border-radius:50%;flex-shrink:0;width:6px;height:6px}.pane-badge{color:var(--color-primary-500);text-transform:uppercase;letter-spacing:.04em;background:#6c5ff214;border-radius:100px;padding:.125rem .5rem;font-size:.65rem;font-weight:600}.pane-view-btn{font-family:var(--font-sans);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:5px;padding:.15rem .5rem;font-size:.7rem;font-weight:500}.pane-view-btn:hover{background:var(--surface-2);color:var(--text-secondary)}.pane-view-btn.active{color:var(--color-primary-500);background:#6c5ff214;border-color:#6c5ff226}.project-name-btn{cursor:pointer;transition:background var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:6px;align-items:center;gap:.375rem;width:100%;padding:.25rem .375rem;display:flex}.project-name-btn:hover{background:var(--surface-2)}.project-name-text{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:700;overflow:hidden}.project-name-edit{opacity:0;transition:opacity var(--duration-fast) var(--ease-out);font-size:.7rem}.project-name-btn:hover .project-name-edit{opacity:.6}.project-name-input{width:100%;font-size:.85rem;font-weight:700;font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-0);border:1px solid var(--color-primary-500);border-radius:6px;outline:none;padding:.25rem .5rem;box-shadow:0 0 0 3px #6c5ff226}.pane-section-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:.5rem .75rem .25rem;font-size:.65rem;font-weight:600;display:flex}.file-tree-add-btn{cursor:pointer;opacity:.4;transition:opacity var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:0 .25rem;font-size:.85rem;line-height:1}.file-tree-add-btn:hover{opacity:1}.file-tree{flex-direction:column;flex:1;padding:.25rem 0;display:flex;overflow-y:auto}.file-tree div{flex-direction:column;display:flex}.file-tree-item{cursor:pointer;font-family:var(--font-sans);color:var(--text-secondary);transition:all var(--duration-fast) var(--ease-out);text-align:left;background:0 0;border:none;flex-shrink:0;align-items:center;gap:.375rem;padding:.3rem .75rem;font-size:.8rem;position:relative;flex-direction:row!important;width:100%!important;display:flex!important}button.file-tree-item{width:100%!important;display:flex!important}.file-tree-item:hover{background:var(--surface-2);color:var(--text-primary)}.file-tree-item.selected{color:var(--text-primary);background:#6c5ff21a}.file-tree-chevron{color:var(--text-tertiary);text-align:center;width:12px;font-size:.7rem}.file-tree-icon{flex-shrink:0;font-size:.85rem}.file-tree-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.file-tree-delete{opacity:0;transition:opacity var(--duration-fast) var(--ease-out);cursor:pointer;color:var(--text-tertiary);background:0 0;border:none;padding:0 .25rem;font-size:.75rem;position:absolute;right:.5rem}.file-tree-item:hover .file-tree-delete{opacity:.5}.file-tree-delete:hover{color:var(--color-error);opacity:1!important}.file-tree-new-input{width:calc(100% - 1.5rem);font-size:.8rem;font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-0);border:1px solid var(--color-primary-500);border-radius:4px;outline:none;margin:.15rem .75rem;padding:.2rem .4rem}.pane-user-footer{border-top:1px solid var(--border-subtle);background:var(--surface-1);align-items:center;gap:.5rem;padding:.625rem .75rem;display:flex}.user-avatar{border-radius:50%;flex-shrink:0;width:24px;height:24px;overflow:hidden}.user-avatar-img{object-fit:cover;width:100%;height:100%}.user-avatar-fallback{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:#fff;justify-content:center;align-items:center;width:100%;height:100%;font-size:.7rem;font-weight:700;display:flex}.user-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.75rem;overflow:hidden}.user-settings-btn{opacity:.5;transition:opacity var(--duration-fast) var(--ease-out);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-size:.85rem;text-decoration:none}.user-settings-btn:hover{opacity:1}.pane-body{flex:1;overflow-y:auto}.spec-body{display:flex}.file-content{font-family:var(--font-mono);color:var(--text-primary);white-space:pre-wrap;word-break:break-word;background:var(--surface-0);flex:1;margin:0;padding:1rem 1.25rem;font-size:.8rem;line-height:1.7}.file-content code{font-family:inherit}.spec-empty-state{text-align:center;max-width:320px;margin:auto;animation:.6s ease-out fadeIn}.spec-empty-icon{justify-content:center;align-items:center;margin-bottom:1rem;display:flex}.spec-empty-state h3{color:var(--text-primary);margin-bottom:.5rem;font-size:1rem;font-weight:600}.spec-empty-state p{color:var(--text-tertiary);font-size:.85rem;line-height:1.6}.chat-body{flex-direction:column;display:flex}.chat-empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:2rem 1.5rem;animation:.6s ease-out fadeIn;display:flex}.chat-empty-icon{margin-bottom:.75rem;font-size:2rem}.chat-empty-state h3{color:var(--text-primary);margin-bottom:.375rem;font-size:.95rem;font-weight:600}.chat-empty-state p{color:var(--text-tertiary);margin-bottom:1rem;font-size:.8rem;line-height:1.5}.chat-suggestions{flex-direction:column;gap:.5rem;width:100%;display:flex}.chat-suggestion{font-family:var(--font-sans);color:var(--text-secondary);background:var(--surface-1);border:1px solid var(--border-default);cursor:pointer;text-align:left;transition:all var(--duration-fast) var(--ease-out);border-radius:8px;padding:.625rem .875rem;font-size:.8rem}.chat-suggestion:disabled{opacity:.5;cursor:not-allowed}.chat-messages{flex:1;padding:1rem}.chat-input-area{border-top:1px solid var(--border-subtle);background:var(--surface-raised);padding:.75rem;position:relative}.chat-credit-preview{color:var(--text-tertiary);text-align:right;padding:2px 4px 0;font-size:.7rem}.chat-attach-btn{width:28px;height:28px;color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-attach-btn:hover:not(:disabled){color:var(--text-primary);background:var(--surface-raised)}.chat-attach-btn.active{color:var(--color-primary-500);border-color:var(--color-primary-500)}.chat-attach-btn:disabled{opacity:.4;cursor:not-allowed}.chat-attach-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.chat-attach-popover{z-index:20;background:var(--surface-0);border:1px solid var(--border-default);border-radius:10px;max-height:50vh;position:absolute;bottom:calc(100% - .5rem);left:.75rem;right:.75rem;overflow:auto;box-shadow:0 8px 24px #0000002e}.chat-input-wrapper{background:var(--surface-0);border:1px solid var(--border-default);transition:border-color var(--duration-fast) var(--ease-out), box-shadow var(--duration-fast) var(--ease-out);border-radius:10px;align-items:flex-end;gap:.5rem;padding:.375rem .5rem;display:flex}.chat-input-wrapper:focus-within{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #6c5ff21a}.chat-input{font-family:var(--font-sans);color:var(--text-primary);resize:none;background:0 0;border:none;outline:none;flex:1;min-height:24px;max-height:200px;padding:.25rem 0;font-size:.85rem;line-height:1.5}.chat-input::placeholder{color:var(--text-tertiary)}.chat-send-btn{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:#fff;cursor:pointer;width:28px;height:28px;transition:all var(--duration-fast) var(--ease-out);border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.chat-send-btn:hover:not(:disabled){transform:scale(1.05);box-shadow:0 2px 8px #6c5ff24d}.chat-send-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.md-viewer{flex:1;padding:1.5rem 2rem;position:relative;overflow-y:auto}.md-rendered{font-family:var(--font-sans);color:var(--text-primary);font-size:.85rem;line-height:1.8}.md-rendered h1{border-bottom:1px solid var(--border-subtle);margin:0 0 .75rem;padding-bottom:.5rem;font-size:1.5rem;font-weight:700}.md-rendered h2{margin:1.5rem 0 .5rem;font-size:1.15rem;font-weight:600}.md-rendered h3{margin:1.25rem 0 .4rem;font-size:1rem;font-weight:600}.md-rendered p{margin:.5rem 0}.md-rendered ul,.md-rendered ol{margin:.5rem 0;padding-left:1.5rem}.md-rendered li{margin:.25rem 0}.md-rendered blockquote{border-left:3px solid var(--color-primary-500);color:var(--text-secondary);background:#6c5ff20a;border-radius:0 6px 6px 0;margin:.75rem 0;padding:.5rem 1rem}.md-rendered code{font-family:var(--font-mono);background:var(--surface-2);border-radius:4px;padding:.1rem .35rem;font-size:.8rem}.md-rendered pre{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:8px;margin:.75rem 0;padding:1rem;overflow-x:auto}.md-rendered pre code{background:0 0;padding:0}.md-rendered em{color:var(--text-tertiary)}.md-rendered input[type=checkbox]{accent-color:var(--color-primary-500);margin-right:.4rem}.md-rendered ::selection{background:#6c5ff233}.comment-popover{z-index:100;background:var(--surface-raised);border:1px solid var(--border-default);border-radius:10px;width:280px;padding:.75rem;animation:.15s ease-out fadeIn;position:absolute;box-shadow:0 8px 24px #0003}.comment-popover-selection{color:var(--text-tertiary);word-break:break-word;margin-bottom:.5rem;font-size:.75rem;font-style:italic;line-height:1.4}.comment-popover-input{width:100%;font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-0);border:1px solid var(--border-default);resize:none;transition:border-color var(--duration-fast) var(--ease-out);border-radius:6px;outline:none;padding:.5rem;font-size:.8rem}.comment-popover-input:focus{border-color:var(--color-primary-500)}.comment-popover-actions{justify-content:flex-end;gap:.375rem;margin-top:.5rem;display:flex}.comment-popover-cancel,.comment-popover-submit{font-family:var(--font-sans);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border:none;border-radius:6px;padding:.3rem .6rem;font-size:.75rem;font-weight:600}.comment-popover-cancel{color:var(--text-tertiary);background:0 0}.comment-popover-cancel:hover{color:var(--text-primary)}.comment-popover-submit{background:var(--color-primary-500);color:#fff}.comment-popover-submit:hover:not(:disabled){background:var(--color-primary-600)}.comment-popover-submit:disabled{opacity:.4;cursor:not-allowed}.comment-sidebar{background:var(--surface-1);border-left:1px solid var(--border-subtle);width:220px;height:100%;padding:.75rem;position:absolute;top:0;right:0;overflow-y:auto}.comment-sidebar-title{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.5rem;font-size:.7rem;font-weight:600}.comment-card{background:var(--surface-raised);border:1px solid var(--border-subtle);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out);border-radius:8px;margin-bottom:.5rem;padding:.625rem}.comment-card:hover{border-color:var(--border-strong)}.comment-card-header{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.comment-status-badge{border-radius:4px;padding:.1rem .35rem;font-size:.6rem;font-weight:600}.comment-status-pending{color:var(--color-warning);background:#f59e0b1a}.comment-status-applied{color:var(--color-success-bright);background:#10b9811a}.comment-delete-btn{cursor:pointer;color:var(--text-tertiary);opacity:0;transition:opacity var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:0;font-size:.85rem;line-height:1}.comment-card:hover .comment-delete-btn{opacity:.5}.comment-delete-btn:hover{color:var(--color-error);opacity:1!important}.comment-card-selection{color:var(--text-tertiary);margin-bottom:.25rem;font-size:.7rem;font-style:italic}.comment-card-text{color:var(--text-primary);font-size:.8rem;line-height:1.4}.comment-card-time{color:var(--text-tertiary);margin-top:.25rem;font-size:.65rem}.prd-option-pills{flex-wrap:wrap;gap:.4rem;margin:.5rem 0 .25rem;display:flex}.prd-option-hint{color:var(--text-tertiary);flex-basis:100%;align-items:center;gap:.3rem;margin-bottom:.1rem;font-size:.72rem;display:flex}.prd-option-pill{font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-1);border:1px solid var(--border-default);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);border-radius:999px;padding:.35rem .8rem;font-size:.78rem;font-weight:500}.prd-option-pill:hover{border-color:var(--color-primary-500);background:#6c5ff20f}.prd-option-pill.selected{background:var(--color-primary-500);border-color:var(--color-primary-500);color:#fff;font-weight:600}.prd-option-pill.selected:before{content:"✓ "}.code-editor{background:var(--surface-0);font-family:var(--font-mono);flex:1;font-size:.8rem;line-height:1.7;display:flex;overflow:hidden}.ce-line-numbers{text-align:right;background:var(--surface-1);border-right:1px solid var(--border-subtle);-webkit-user-select:none;user-select:none;flex-shrink:0;width:48px;padding:1rem 0;overflow:hidden}.ce-line-num{color:var(--text-tertiary);justify-content:flex-end;align-items:center;height:1.36rem;padding:0 .75rem 0 0;font-size:.75rem;display:flex}.ce-textarea{font-family:var(--font-mono);color:var(--text-primary);resize:none;white-space:pre;tab-size:2;background:0 0;border:none;outline:none;flex:1;padding:1rem 1.25rem;font-size:.8rem;line-height:1.7;overflow:auto}.ce-textarea::placeholder{color:var(--text-tertiary)}.live-preview-container{background:#fff;flex-direction:column;flex:1;display:flex}.lp-toolbar{background:var(--surface-1);border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;gap:.5rem;height:32px;padding:0 .5rem;display:flex}.lp-toolbar-left,.lp-toolbar-right{align-items:center;gap:.25rem;display:flex}.lp-device-btn{cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:1px solid #0000;border-radius:4px;padding:.15rem .35rem;font-size:.8rem}.lp-device-btn:hover{background:var(--surface-2)}.lp-device-btn.active{background:#6c5ff214;border-color:#6c5ff226}.lp-url-bar{text-align:center;flex:1}.lp-url{font-size:.65rem;font-family:var(--font-mono);color:var(--text-tertiary);transition:color var(--duration-fast) var(--ease-out);text-decoration:none}.lp-url:hover{color:var(--color-primary-500)}.lp-url-inactive{opacity:.4}.lp-action-btn{cursor:pointer;opacity:.5;transition:opacity var(--duration-fast) var(--ease-out);background:0 0;border:none;padding:.15rem .3rem;font-size:.75rem}.lp-action-btn:hover{opacity:1}.lp-stop-btn:hover{color:var(--color-error)}.lp-stop-btn:disabled{opacity:.3;cursor:not-allowed}.lp-frame-wrapper{flex:1;display:flex;position:relative;overflow:auto}.lp-loading{z-index:5;background:#fffc;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.lp-spinner{border:3px solid var(--border-default);border-top-color:var(--color-primary-500);border-radius:50%;width:24px;height:24px;animation:.6s linear infinite spin}.live-preview-iframe{border:none;flex-shrink:0;height:100%}.lp-placeholder{width:100%;height:100%;color:var(--text-dimmer,#666);background:var(--bg-secondary,#1a1a24);flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex}.lp-preview-btn{background:var(--color-primary-500);color:#fff;cursor:pointer;transition:all var(--duration-base) var(--ease-out);border:none;border-radius:10px;padding:.6rem 1.5rem;font-size:.9rem;font-weight:600}.lp-preview-btn:hover{background:var(--color-primary-600);transform:translateY(-1px);box-shadow:0 6px 24px #6c5ff266}.lp-preview-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.lp-build-logs{width:100%;height:100%;font-family:var(--font-mono);background:var(--terminal-bg);padding:.75rem;font-size:.75rem;line-height:1.8;overflow-y:auto}.lp-build-log{white-space:pre-wrap;word-break:break-word;padding:0 .5rem}.lp-build-log-info{color:var(--terminal-text)}.lp-build-log-success{color:var(--terminal-success)}.lp-build-log-error{color:var(--terminal-error)}.lp-build-log-warning{color:var(--terminal-warning)}.lp-build-log-dim{color:var(--terminal-dim)}.lp-url-timer{color:var(--terminal-warning);font-weight:500}.terminal-viewer{background:var(--terminal-bg);border-radius:0;flex-direction:column;flex:1;display:flex;overflow:hidden}.terminal-toolbar{background:var(--terminal-toolbar-bg);border-bottom:1px solid var(--terminal-border);flex-shrink:0;justify-content:space-between;align-items:center;height:32px;padding:0 .75rem;display:flex}.terminal-title{color:var(--terminal-muted);align-items:center;gap:.5rem;font-size:.75rem;font-weight:600;display:flex}.terminal-dot{background:var(--terminal-success);border-radius:50%;width:7px;height:7px;box-shadow:0 0 6px #3fb95066}.terminal-actions{align-items:center;gap:.5rem;display:flex}.terminal-autoscroll{color:var(--terminal-muted);cursor:pointer;align-items:center;gap:.35rem;font-size:.7rem;display:flex}.terminal-autoscroll input{accent-color:var(--color-primary-500);width:12px;height:12px}.terminal-clear-btn{cursor:pointer;color:var(--terminal-muted);transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;padding:.1rem .3rem;font-size:.75rem;line-height:1}.terminal-clear-btn:hover{color:var(--terminal-text);background:#ffffff0f}.terminal-body{font-family:var(--font-mono);flex:1;padding:.75rem;font-size:.75rem;line-height:1.6;overflow-y:auto}.terminal-empty{height:100%;color:var(--terminal-muted);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.terminal-empty-icon{font-size:1.5rem}.terminal-empty p{font-size:.8rem}.terminal-line{gap:.75rem;display:flex}.terminal-ts{color:var(--terminal-timestamp);flex-shrink:0;font-size:.7rem}.terminal-text{word-break:break-word}.terminal-line-info .terminal-text{color:var(--terminal-text)}.terminal-line-success .terminal-text{color:var(--terminal-success)}.terminal-line-error .terminal-text{color:var(--terminal-error)}.terminal-line-warning .terminal-text{color:var(--terminal-warning)}.terminal-line-dim .terminal-text{color:var(--terminal-dim)}.terminal-cursor-line{padding:.25rem 0}.terminal-cursor{background:var(--color-primary-500);border-radius:1px;width:8px;height:14px;animation:1s step-end infinite blink-cursor;display:inline-block}.terminal-retry-btn{cursor:pointer;color:var(--color-primary-500);transition:all var(--duration-fast) var(--ease-out);background:#6c5ff21a;border:1px solid #6c5ff233;border-radius:4px;padding:.15rem .5rem;font-size:.7rem;font-weight:600}.terminal-retry-btn:hover{background:#6c5ff233}.terminal-error-summary{color:var(--terminal-error);background:#f8514914;border:1px solid #f8514926;border-radius:6px;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.75rem;display:flex}.terminal-retry-inline{color:var(--color-primary-500);cursor:pointer;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:600;text-decoration:underline}.terminal-retry-inline:hover{color:#8b7ff7}.terminal-panel{border-top:1px solid var(--terminal-border);flex-shrink:0;height:220px;animation:.2s ease-out slideUpPanel;display:flex;overflow:hidden}@keyframes slideUpPanel{0%{opacity:0;height:0}to{opacity:1;height:220px}}.toolbar-btn-danger{color:var(--color-error);background:#ef44440f;border-color:#ef444433}.toolbar-btn-danger:hover:not(:disabled){background:#ef44441f;border-color:#ef44444d}.lp-separator{background:var(--border-subtle);width:1px;height:16px;margin:0 .15rem}.lp-mode-btn{color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:4px;padding:.15rem .4rem;font-size:.65rem;font-weight:600}.lp-mode-btn:hover{background:var(--surface-2);color:var(--text-secondary)}.lp-mode-btn.active{color:var(--color-primary-500);background:#6c5ff214;border-color:#6c5ff226}.lp-url-live{font-weight:600;color:var(--color-success-bright)!important}.version-history-panel{border-left:1px solid var(--border-subtle);background:var(--surface-1);flex-direction:column;flex-shrink:0;width:320px;min-width:280px;max-width:380px;animation:.2s ease-out slideInRight;display:flex;overflow:hidden}.version-history-header{border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);flex-shrink:0;justify-content:space-between;align-items:center;height:40px;padding:0 .75rem;display:flex}.version-history-title{color:var(--text-secondary);align-items:center;gap:.375rem;margin:0;font-size:.8rem;font-weight:600;display:flex}.version-history-title-icon{font-size:.9rem}.version-history-refresh{cursor:pointer;color:var(--text-tertiary);transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;padding:.2rem;font-size:1rem;line-height:1}.version-history-refresh:hover{background:var(--surface-2);color:var(--text-primary)}.version-history-body{flex:1;padding:.75rem;overflow-y:auto}.version-history-empty{text-align:center;height:100%;color:var(--text-tertiary);flex-direction:column;justify-content:center;align-items:center;gap:.5rem;display:flex}.version-history-empty-icon{font-size:2rem}.version-history-empty p{margin:0;font-size:.8rem}.version-history-empty-hint{color:var(--text-tertiary);font-size:.7rem!important}.version-history-spinner{border:2px solid var(--border-default);border-top-color:var(--color-primary-500);border-radius:50%;width:20px;height:20px;margin-bottom:.5rem;animation:.6s linear infinite spin}.version-history-timeline{flex-direction:column;display:flex}.version-entry{gap:.625rem;display:flex}.version-entry-connector{flex-direction:column;flex-shrink:0;align-items:center;width:16px;padding-top:.35rem;display:flex}.version-entry-dot{border:2px solid var(--surface-1);border-radius:50%;flex-shrink:0;width:10px;height:10px}.version-entry-dot-user{background:var(--color-primary-500);box-shadow:0 0 0 2px #6c5ff233}.version-entry-dot-ai{background:var(--color-warning);box-shadow:0 0 0 2px #f59e0b33}.version-entry-dot-system{background:var(--terminal-muted);box-shadow:0 0 0 2px #8b949e33}.version-entry-line{background:var(--border-subtle);flex:1;width:2px;min-height:1rem;margin:.25rem 0}.version-entry-content{flex:1;min-width:0;padding-bottom:1rem}.version-entry-header{align-items:flex-start;gap:.375rem;display:flex}.version-entry-icon{flex-shrink:0;font-size:.85rem;line-height:1.3}.version-entry-desc{color:var(--text-primary);word-break:break-word;font-size:.8rem;font-weight:500;line-height:1.3}.version-entry-meta{color:var(--text-tertiary);margin-top:.2rem;font-size:.7rem}.version-entry-files{color:var(--text-tertiary)}.version-entry-actions{gap:.375rem;margin-top:.375rem;display:flex}.version-entry-btn{font-family:var(--font-sans);border:1px solid var(--border-default);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border-radius:5px;padding:.2rem .5rem;font-size:.7rem;font-weight:500}.version-entry-btn:hover{background:var(--surface-2);color:var(--text-primary);border-color:var(--border-strong)}.version-entry-btn-restore{color:var(--color-primary-500);border-color:#6c5ff240}.version-entry-btn-restore:hover{background:#6c5ff214;border-color:#6c5ff266}.version-entry-btn:disabled{opacity:.4;cursor:not-allowed}.version-diff{border:1px solid var(--border-subtle);background:var(--surface-0);border-radius:8px;margin-top:.5rem;overflow:hidden}.version-diff-loading,.version-diff-empty{color:var(--text-tertiary);text-align:center;padding:.75rem;font-size:.75rem}.version-diff-file{border-bottom:1px solid var(--border-subtle)}.version-diff-file:last-child{border-bottom:none}.version-diff-file-header{font-size:.75rem;font-weight:500;font-family:var(--font-mono);align-items:center;gap:.375rem;padding:.375rem .625rem;display:flex}.version-diff-status{text-align:center;width:14px;font-weight:700}.version-diff-added{color:var(--terminal-success);background:#3fb9500f}.version-diff-modified{color:var(--terminal-warning);background:#d299220f}.version-diff-deleted{color:var(--terminal-error);background:#f851490f}.version-diff-content{border-top:1px solid var(--border-subtle);max-height:200px;display:flex;overflow:auto}.version-diff-before,.version-diff-after{font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;flex:1;margin:0;padding:.5rem;font-size:.7rem;line-height:1.6;overflow:auto}.version-diff-before{color:var(--text-secondary);border-right:1px solid var(--border-subtle);background:#f851490a}.version-diff-after{color:var(--text-primary);background:#3fb9500a}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-status{0%,to{opacity:1}50%{opacity:.5}}.status-dot{border-radius:var(--radius-full);background:var(--color-success);flex-shrink:0;width:8px;height:8px;display:inline-block}.icon-spin{animation:1s linear infinite icon-spin}@keyframes icon-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.icon-spin{animation:none}}.project-home-logo-icon,.pane-tab-icon,.file-tree-icon,.agent-plan-step-icon{justify-content:center;align-items:center;display:inline-flex}.chat-messages{flex-direction:column;flex:1;gap:.75rem;padding:.75rem;display:flex;overflow-y:auto}.chat-message{word-wrap:break-word;border-radius:12px;max-width:88%;padding:.6rem .85rem;font-size:.85rem;line-height:1.5;animation:.2s fadeIn}.chat-message-user{background:var(--accent-primary,var(--color-primary-500));color:var(--color-neutral-0);border-bottom-right-radius:4px;align-self:flex-end}.chat-message-assistant{background:var(--bg-surface,var(--surface-2));color:var(--text-primary,var(--color-neutral-900));border-bottom-left-radius:4px;align-self:flex-start}[data-theme=dark] .chat-message-assistant{color:var(--text-primary,var(--color-neutral-50));background:#ffffff0f}.chat-retry-btn,.chat-see-details-btn{width:fit-content;font-family:var(--font-sans);color:var(--color-primary-500);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:#6c5ff214;border:1px solid #6c5ff240;border-radius:8px;align-items:center;gap:.3rem;margin-top:.5rem;padding:.35rem .75rem;font-size:.78rem;font-weight:600;display:flex}.chat-retry-btn:hover:not(:disabled),.chat-see-details-btn:hover:not(:disabled){background:#6c5ff229;border-color:#6c5ff266;transform:translateY(-1px)}.chat-retry-btn:disabled{opacity:.4;cursor:not-allowed}.chat-undo-btn{width:fit-content;font-family:var(--font-sans);color:var(--color-warning);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:#f59e0b14;border:1px solid #f59e0b4d;border-radius:8px;align-items:center;gap:.3rem;margin-top:.5rem;padding:.35rem .75rem;font-size:.78rem;font-weight:600;display:flex}.chat-undo-btn:hover:not(:disabled){background:#f59e0b29;border-color:#f59e0b80;transform:translateY(-1px)}.chat-undo-btn:disabled{opacity:.4;cursor:not-allowed}.chat-message-streaming{position:relative}.chat-typing-cursor{background:var(--accent-primary,var(--color-primary-500));vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:.8s step-end infinite blink-cursor;display:inline-block}.chat-thinking{align-items:center;gap:.625rem;display:flex}.thinking-blocks{align-items:flex-end;gap:3px;height:20px;display:flex}.thinking-block{background:var(--color-primary-500);border-radius:2px;width:4px;animation:1.2s ease-in-out infinite thinking-build}.thinking-block:first-child{animation-delay:0s}.thinking-block:nth-child(2){animation-delay:.15s}.thinking-block:nth-child(3){animation-delay:.3s}.thinking-block:nth-child(4){animation-delay:.45s}.thinking-label{color:var(--text-tertiary);font-size:.75rem;font-weight:500;animation:2s ease-in-out infinite thinking-pulse}@keyframes thinking-build{0%,to{opacity:.4;height:4px}50%{opacity:1;height:18px}}@keyframes thinking-pulse{0%,to{opacity:.5}50%{opacity:1}}.chat-suggestion{cursor:pointer;transition:background var(--duration-fast) var(--ease-out), transform var(--duration-fast) var(--ease-out)}.chat-suggestion:hover{transform:translateY(-1px);background:var(--accent-primary,var(--color-primary-500))!important;color:var(--color-neutral-0)!important}.chat-suggestion:active{transform:translateY(0)}.agent-mode-toggle{background:var(--surface-2);border-radius:6px;gap:2px;padding:2px;display:flex}.agent-mode-btn{font-family:var(--font-sans);color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);white-space:nowrap;background:0 0;border:none;border-radius:5px;padding:.2rem .6rem;font-size:.72rem;font-weight:600}.agent-mode-btn:hover{color:var(--text-secondary)}.agent-mode-btn.active{background:var(--surface-raised);color:var(--text-primary);box-shadow:0 1px 3px #00000014}.agent-plan-panel{border-bottom:1px solid var(--border-subtle);flex-direction:column;gap:.25rem;margin-bottom:.5rem;padding:.5rem 0;display:flex}.agent-plan-step{transition:opacity var(--duration-fast) var(--ease-out);align-items:flex-start;gap:.35rem;padding:.25rem 0;font-size:.78rem;line-height:1.4;display:flex}.agent-plan-step-icon{flex-shrink:0;font-size:.75rem;line-height:1.4}.agent-plan-step-num{color:var(--text-tertiary);flex-shrink:0;min-width:1rem;font-weight:700}.agent-plan-step-desc{color:var(--text-secondary)}.agent-plan-step-completed .agent-plan-step-desc{color:var(--text-tertiary);-webkit-text-decoration:line-through #10b98166;text-decoration:line-through #10b98166}.agent-plan-step-running .agent-plan-step-desc{color:var(--text-primary);font-weight:600}.agent-plan-step-running{animation:1.5s infinite pulse-status}.agent-plan-step-failed .agent-plan-step-desc{color:var(--color-error)}.agent-plan-step-pending{opacity:.5}.agent-cancel-btn{font-family:var(--font-sans);color:var(--color-error);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:#ef44440f;border:1px solid #ef444433;border-radius:6px;align-self:flex-start;margin-top:.25rem;padding:.3rem .6rem;font-size:.72rem;font-weight:600}.agent-cancel-btn:hover{background:#ef44441f;border-color:#ef44444d}.chat-send-btn-agent{background:linear-gradient(135deg, var(--color-success-bright), var(--color-success-bright-strong))}.chat-send-btn-agent:hover:not(:disabled){box-shadow:0 2px 8px #10b9814d}.cost-badge{font-size:.65rem;font-weight:600;font-family:var(--font-mono);white-space:nowrap;cursor:default;transition:background var(--duration-fast) var(--ease-out), border-color var(--duration-fast) var(--ease-out);background:#10b98114;border:1px solid #10b98126;border-radius:100px;align-items:center;gap:.3rem;padding:.15rem .6rem;animation:.3s ease-out fadeIn;display:inline-flex}.cost-badge:hover{background:#10b98124;border-color:#10b98140}.cost-badge-cost{color:var(--color-success-bright)}.cost-badge-sep{color:var(--text-tertiary);opacity:.5}.cost-badge-hours{color:var(--text-secondary);font-family:var(--font-sans)}[data-theme=dark] .cost-badge{background:#10b9810f;border-color:#10b9811f}[data-theme=dark] .cost-badge:hover{background:#10b9811a;border-color:#10b98133}.token-meter{cursor:pointer;transition:all var(--duration-base) var(--ease-out);background:#6c5ff20f;border:1px solid #6c5ff21f;border-radius:100px;align-items:center;gap:.5rem;padding:.2rem .6rem;animation:.3s ease-out fadeIn;display:inline-flex}.token-meter:focus-visible{outline:2px solid var(--color-primary-500);outline-offset:2px}.token-meter:hover{background:#6c5ff21a;border-color:#6c5ff233}.token-meter-bars{align-items:flex-end;gap:2px;height:14px;display:flex}.token-bar{width:4px;transition:all var(--duration-slow) var(--ease-out);border-radius:1.5px}.token-bar:first-child{height:4px}.token-bar:nth-child(2){height:6px}.token-bar:nth-child(3){height:8px}.token-bar:nth-child(4){height:10px}.token-bar:nth-child(5){height:12px}.token-bar-filled{background:var(--color-success-bright)}.token-bar-empty{background:var(--border-subtle);opacity:.4}.token-bar-warning.token-bar-filled{background:var(--color-warning)}.token-bar-critical.token-bar-filled{background:var(--color-error);animation:1.5s infinite token-pulse}.token-meter-hours{color:var(--text-secondary);font-size:.65rem;font-weight:500;font-family:var(--font-sans);white-space:nowrap}.token-meter-label{color:var(--text-tertiary);font-size:.65rem;font-weight:600;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}@keyframes token-pulse{0%,to{opacity:1}50%{opacity:.5}}[data-theme=dark] .token-meter{background:#6c5ff214;border-color:#6c5ff226}[data-theme=dark] .token-meter:hover{background:#6c5ff224;border-color:#6c5ff240}.comment-tip-overlay{z-index:50;padding:.75rem;animation:.4s ease-out comment-tip-slide;position:absolute;top:0;left:0;right:0}.comment-tip{background:var(--surface-raised);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid #6c5ff240;border-radius:12px;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;display:flex;box-shadow:0 8px 24px #00000026,0 0 0 1px #6c5ff214}.comment-tip-icon{flex-shrink:0;font-size:1.25rem;line-height:1.3}.comment-tip-body{flex:1;min-width:0}.comment-tip-title{color:var(--text-primary);margin:0 0 .25rem;font-size:.85rem;font-weight:700}.comment-tip-desc{color:var(--text-secondary);margin:0 0 .5rem;font-size:.78rem;line-height:1.5}.comment-tip-dismiss{color:var(--text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.35rem;font-size:.72rem;display:flex}.comment-tip-dismiss input{accent-color:var(--color-primary-500);cursor:pointer;width:13px;height:13px}.comment-tip-close{color:var(--text-tertiary);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:.15rem;font-size:.9rem;line-height:1}.comment-tip-close:hover{background:var(--surface-2);color:var(--text-primary)}@keyframes comment-tip-slide{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.modal-overlay{z-index:1000;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-out modal-fade;display:flex;position:fixed;inset:0}.modal-box{background:var(--surface-1,var(--color-neutral-50));border:1px solid var(--border-default);border-radius:16px;width:90%;max-width:480px;padding:2rem;animation:.25s ease-out modal-pop;box-shadow:0 24px 64px #00000080,0 0 0 1px #6c5ff21a}.modal-header{align-items:center;gap:.75rem;margin-bottom:1.5rem;display:flex}.modal-title{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700}.modal-subtitle{color:var(--text-tertiary);margin:.15rem 0 0;font-size:.8rem}.modal-input{border:1px solid var(--border-default);background:var(--surface-2,var(--color-neutral-100));width:100%;color:var(--text-primary);font-size:.95rem;font-family:var(--font-sans);transition:border-color var(--duration-fast) var(--ease-out);box-sizing:border-box;border-radius:10px;outline:none;padding:.75rem 1rem}.modal-input:focus{border-color:var(--color-primary-500);box-shadow:0 0 0 3px #6c5ff226}.modal-input::placeholder{color:var(--text-tertiary)}.modal-dns-preview{background:#6c5ff20f;border:1px solid #6c5ff226;border-radius:8px;flex-direction:column;gap:.2rem;margin-top:.75rem;padding:.6rem .85rem;display:flex}.modal-dns-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.04em;font-size:.7rem;font-weight:600}.modal-dns-url{color:var(--color-primary-500);font-size:.82rem;font-family:var(--font-mono,monospace);word-break:break-all}.modal-hint{color:var(--text-tertiary);margin:.75rem 0 0;font-size:.78rem;line-height:1.5}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:1.5rem;display:flex}@keyframes modal-fade{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{opacity:0;transform:scale(.95)translateY(8px)}to{opacity:1;transform:scale(1)translateY(0)}}.chat-questions-list{border-top:1px solid #0000000f;flex-direction:column;gap:.75rem;margin-top:.75rem;padding-top:.625rem;display:flex}[data-theme=dark] .chat-questions-list{border-top-color:#ffffff14}.chat-question-item{flex-direction:column;gap:.375rem;display:flex}.chat-question-text{color:var(--text-primary);font-size:.82rem;font-weight:500;line-height:1.5}.chat-question-options{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;padding-left:.75rem;display:flex}.chat-question-option{font-family:var(--font-sans);color:var(--color-primary-500);cursor:pointer;transition:all var(--duration-base) var(--ease-out);white-space:normal;text-align:left;background:#6c5ff20f;border:1px solid #6c5ff240;border-radius:100px;max-width:100%;padding:.4rem .75rem;font-size:.75rem;font-weight:500;line-height:1.4}.chat-question-option.selected{background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-neutral-0);font-weight:700;transform:translateY(-1px);box-shadow:0 2px 10px #6c5ff266}.chat-question-option.something-else{opacity:.7;border-style:dashed}.chat-question-option.something-else:hover:not(:disabled){opacity:1}.chat-answers-bar{border-top:1px solid #6c5ff21a;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;display:flex}.chat-send-answers-btn{font-family:var(--font-sans);background:var(--color-primary-500);color:#fff;cursor:pointer;transition:all var(--duration-base) var(--ease-out);border:none;border-radius:100px;padding:.45rem 1.2rem;font-size:.8rem;font-weight:600}.chat-send-answers-btn:hover{background:var(--color-primary-600);transform:translateY(-1px);box-shadow:0 4px 14px #6c5ff259}.chat-answers-count{color:var(--text-tertiary);font-size:.75rem}.chat-something-else-input{font-family:var(--font-sans);color:var(--text-primary);background:#6c5ff20a;border:1px dashed #6c5ff24d;border-radius:8px;outline:none;width:100%;margin-top:.25rem;padding:.35rem .65rem;font-size:.75rem}.chat-something-else-input:focus{border-color:var(--color-primary-500);background:#6c5ff214}.chat-question-option:hover:not(:disabled){background:#6c5ff224;border-color:#6c5ff266;transform:translateY(-1px);box-shadow:0 2px 6px #6c5ff226}.chat-question-option:active:not(:disabled){transform:translateY(0)}.chat-question-option:disabled{opacity:.35;cursor:default;background:var(--surface-2);border-color:var(--border-default);color:var(--text-tertiary)}[data-theme=dark] .chat-question-option{background:#6c5ff214;border-color:#6c5ff233}[data-theme=dark] .chat-question-option:hover:not(:disabled){background:#6c5ff22e;border-color:#6c5ff259}[data-theme=dark] .chat-question-option.selected{background:var(--color-primary-500);border-color:var(--color-primary-500);color:var(--color-neutral-0)}.preparing-strip{background:var(--surface-1);border-bottom:1px solid var(--border-default);flex-shrink:0;align-items:center;gap:.6rem;padding:.65rem 1rem;font-size:.85rem;display:flex}.preparing-strip .icon-spin{color:var(--color-primary-500);flex-shrink:0}.preparing-strip-title{color:var(--text-primary);font-weight:600}.preparing-strip-hint{color:var(--text-secondary)}.preparing-strip-failed{color:var(--text-secondary);margin-right:auto}.assumption-chips{border-bottom:1px solid var(--border-subtle);background:var(--surface-1);flex-shrink:0;padding:.75rem 1rem}.assumption-chips-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin-bottom:.5rem;font-size:.72rem;font-weight:600}.assumption-chips-list{flex-direction:column;gap:.4rem;display:flex}.assumption-chip{background:var(--surface-raised);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:8px;align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.8rem;line-height:1.4;display:flex}.assumption-chip-text{flex:1;min-width:0}.assumption-chip-action{font-family:var(--font-sans);color:var(--color-primary-500);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.1rem .3rem;font-size:.75rem;font-weight:600}.assumption-chip-action:hover{text-decoration:underline}.assumption-chip-dismiss{color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.15rem;display:inline-flex}.assumption-chip-dismiss:hover{color:var(--text-primary)}.assumption-chip-stash{color:var(--text-tertiary);cursor:pointer;transition:color var(--duration-fast) var(--ease-out);background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:.15rem;display:inline-flex}.assumption-chip-stash:hover{color:var(--text-primary)}.assumption-chip--dismissed{opacity:.55}.assumption-stash{margin-top:.45rem}.assumption-stash-toggle{font-family:var(--font-sans);color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;align-items:center;gap:.25rem;padding:.2rem .1rem;font-size:.72rem;font-weight:600;display:inline-flex}.assumption-stash-toggle:hover{color:var(--text-secondary)}.assumption-stash-list{margin-top:.4rem}.under-hood{border-left:1px solid var(--border-default);background:var(--surface-1);flex-direction:column;flex-shrink:0;width:340px;animation:.2s ease-out slideUpPanel;display:flex;overflow:hidden}.under-hood-header{border-bottom:1px solid var(--border-subtle);flex-shrink:0;justify-content:space-between;align-items:center;padding:.65rem .85rem;display:flex}.under-hood-title{color:var(--text-primary);margin:0;font-size:.85rem;font-weight:600;line-height:1.2}.under-hood-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:.2rem;display:inline-flex}.under-hood-close:hover{color:var(--text-primary)}.under-hood-body{flex-direction:column;flex:1;gap:.75rem;padding:.75rem;display:flex;overflow-y:auto}.under-hood-section{background:var(--surface-raised)}.under-hood-section .ui-panel__header,.under-hood-section .ui-panel__body{padding:.75rem}.under-hood-empty{color:var(--text-tertiary);margin:0;font-size:.8rem}.under-hood-feed{flex-direction:column;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.under-hood-feed-line{color:var(--text-secondary);border-left:2px solid var(--border-subtle);padding-left:.6rem;font-size:.8rem;line-height:1.4}.under-hood-feed-line--success{border-left-color:var(--color-success-500,#16a34a);color:var(--text-primary)}.under-hood-feed-line--warn{border-left-color:var(--color-warning-500,#d97706)}.under-hood-parts{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.under-hood-part{color:var(--text-secondary);font-size:.82rem}.under-hood-footer{border-top:1px solid var(--border-subtle);flex-shrink:0;padding:.75rem}.under-hood-engineer{background:var(--surface-raised);border:1px solid var(--border-subtle);cursor:pointer;text-align:left;width:100%;color:var(--text-secondary);border-radius:8px;align-items:center;gap:.5rem;padding:.6rem .7rem;display:flex}.under-hood-engineer.active{border-color:var(--color-primary-500);color:var(--text-primary)}.under-hood-engineer-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.under-hood-engineer-label{color:var(--text-primary);font-size:.82rem;font-weight:600;line-height:1.2}.under-hood-engineer-hint{color:var(--text-tertiary);font-size:.72rem;line-height:1.1}.under-hood-engineer-switch{background:var(--border-default);width:32px;height:18px;transition:background var(--duration-fast) var(--ease-out);border-radius:9px;flex-shrink:0;position:relative}.under-hood-engineer-switch:after{content:"";background:var(--surface-0);width:14px;height:14px;transition:transform var(--duration-fast) var(--ease-out);border-radius:50%;position:absolute;top:2px;left:2px}.under-hood-engineer-switch.on{background:var(--color-primary-500)}.under-hood-engineer-switch.on:after{transform:translate(14px)}.domains-add-row{gap:.5rem;margin-bottom:1rem;display:flex}.domains-input{border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-primary);font-size:.85rem;font-family:var(--font-sans);border-radius:8px;flex:1;padding:.5rem .75rem}.domains-btn{border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-secondary);cursor:pointer;font-size:.75rem;font-weight:600;font-family:var(--font-sans);white-space:nowrap;border-radius:7px;padding:.4rem .75rem}.domains-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--border-strong)}.domains-btn:disabled{opacity:.5;cursor:default}.domains-btn-primary{color:#fff;background:#6c5ff2;border-color:#6c5ff2}.domains-btn-primary:hover:not(:disabled){color:#fff;border-color:#6c5ff2}.domains-btn-danger{color:#ef4444;border-color:#ef444459}.domains-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.5rem;padding:.6rem .25rem;display:flex}.domains-name{color:var(--text-primary);overflow-wrap:anywhere;flex:1;font-family:monospace;font-size:.85rem;font-weight:600}.domains-chip{text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:100px;padding:.15rem .5rem;font-size:.68rem;font-weight:700}.domains-chip-active{color:#10b981;background:#10b9811f}.domains-chip-pending{color:#f59e0b;background:#f59e0b1f}.domains-notice{color:#f59e0b;margin:.5rem 0;font-size:.78rem;line-height:1.5}.domains-hint{color:var(--text-tertiary);margin:.5rem 0 0;font-size:.75rem;line-height:1.5}.domains-upsell{text-align:center;padding:1rem .5rem}.domains-upsell h3{color:var(--text-primary);margin:0 0 .5rem;font-size:.95rem}.domains-upsell p{color:var(--text-secondary);margin:0;font-size:.8rem;line-height:1.6}.domains-instructions{border-top:1px solid var(--border-subtle);margin-top:1.25rem;padding-top:1rem}.domains-instructions h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-tertiary);margin:0 0 .5rem;font-size:.78rem}.domains-record{color:var(--text-secondary);justify-content:space-between;align-items:center;gap:.5rem;padding:.35rem 0;font-size:.78rem;line-height:1.5;display:flex}.shared-project-card{color:inherit;justify-content:space-between;align-items:center;padding:1rem 1.25rem;text-decoration:none}.shared-project-badge{text-transform:uppercase;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:100px;padding:.1rem .5rem;font-size:.7rem;font-weight:600}.share-modal-section{border-top:1px solid var(--border-default);margin-top:1.25rem;padding-top:1rem}.share-section-title{color:var(--text-primary);margin:0 0 .25rem;font-size:.85rem;font-weight:700}.share-section-sub{color:var(--text-tertiary);margin:0 0 .75rem;font-size:.78rem}.share-token-reveal{background:var(--surface-0);border:1px solid var(--border-default);border-radius:8px;margin:.75rem 0;padding:.75rem}.share-token-label{color:var(--text-secondary);margin-bottom:.4rem;font-size:.72rem;font-weight:700;display:block}.share-token-url{font-family:var(--font-mono,monospace);word-break:break-all;color:var(--text-primary);-webkit-user-select:all;user-select:all;margin-bottom:.5rem;font-size:.75rem;display:block}.share-warning{color:#f59e0b;margin:.5rem 0 0;font-size:.75rem}.share-row{color:var(--text-secondary);border-bottom:1px solid var(--border-default);justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;font-size:.8rem;display:flex}.share-row:last-child{border-bottom:none}.share-row-main{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.share-row-hash{font-family:var(--font-mono,monospace);color:var(--text-tertiary);font-size:.72rem}.share-row-revoked .share-row-main{opacity:.5;text-decoration:line-through}.share-row-action{color:#ef4444;cursor:pointer;background:0 0;border:none;padding:.2rem .4rem;font-size:.75rem;font-weight:600}.share-add-row{align-items:flex-start;gap:.5rem;margin-top:.5rem;display:flex}.share-add-row .modal-input{flex:1;margin:0}.share-empty{color:var(--text-tertiary);margin:.25rem 0 0;padding:.4rem 0;font-size:.78rem}.share-error{color:#ef4444;margin:.75rem 0 0;font-size:.78rem}.connect-modal{max-width:560px}.connect-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:4px}.connect-close:hover{color:var(--text-primary);background:var(--surface-2)}.connect-services{flex-direction:column;gap:.75rem;max-height:60vh;display:flex;overflow-y:auto}.connect-service{border:1px solid var(--border-default);border-radius:10px;padding:.75rem .9rem}.connect-service-row{align-items:center;gap:.6rem;display:flex}.connect-service-info{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.connect-service-name{color:var(--text-primary);font-size:.85rem;font-weight:600}.connect-service-blurb{color:var(--text-tertiary);font-size:.72rem}.connect-badge{background:var(--surface-2);color:var(--text-tertiary);white-space:nowrap;border-radius:100px;padding:.15rem .5rem;font-size:.68rem}.connect-badge.on{color:#22c55e;background:#22c55e1f}.connect-btn-secondary{border:1px solid var(--border-default);color:var(--text-primary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:8px;padding:.3rem .65rem;font-size:.72rem}.connect-btn-secondary:hover{border-color:var(--color-primary-500)}.connect-btn-primary{background:var(--color-primary-500);color:#fff;cursor:pointer;border:none;border-radius:8px;padding:.4rem .9rem;font-size:.75rem;font-weight:600}.connect-btn-primary:disabled,.connect-btn-secondary:disabled{opacity:.5;cursor:default}.connect-masked{flex-wrap:wrap;gap:.5rem;margin-top:.5rem;display:flex}.connect-masked-item{font-size:.7rem;font-family:var(--font-mono,monospace);color:var(--text-tertiary);background:var(--surface-2);border-radius:6px;padding:.15rem .45rem}.connect-form{flex-direction:column;gap:.6rem;margin-top:.75rem;display:flex}.connect-form .modal-hint{margin:0}.connect-form .modal-hint a{color:var(--color-primary-500)}.connect-field{flex-direction:column;gap:.25rem;display:flex}.connect-field-label{color:var(--text-primary);font-size:.72rem;font-weight:600}.connect-paste{font-family:var(--font-mono,monospace);resize:vertical;font-size:.75rem}.connect-status{margin:.25rem 0 0;font-size:.75rem}.connect-status.ok{color:#22c55e}.connect-status.error{color:#ef4444}.connect-setup{border:1px solid var(--border-default);background:var(--surface-2);border-radius:10px;margin-top:.75rem;padding:.75rem}.connect-setup-title{margin:0 0 .5rem;font-size:.78rem;font-weight:600}.connect-setup-step{color:var(--text-secondary);margin:.25rem 0;font-size:.75rem;line-height:1.5}.connect-setup-row{align-items:center;gap:.5rem;margin:.4rem 0;display:flex}.connect-setup-file{color:var(--text-primary);font-family:monospace;font-size:.72rem}.connect-setup-copy{border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:.25rem .6rem;font-size:.72rem}.connect-setup-copy:hover{border-color:var(--text-secondary)}.connect-setup-link{margin-top:.4rem;font-size:.75rem;display:inline-block}.connect-setup-empty{color:var(--text-tertiary);margin-top:.75rem;font-size:.75rem;font-style:italic}.connect-recipes{border-top:1px solid var(--border-default);margin-top:1rem;padding-top:.75rem}.connect-recipes-title{margin:0 0 .15rem;font-size:.82rem;font-weight:600}.connect-recipes-subtitle{color:var(--text-tertiary);margin:0 0 .6rem;font-size:.72rem}.connect-recipe{cursor:pointer;align-items:flex-start;gap:.6rem;padding:.4rem 0;display:flex}.connect-recipe input{margin-top:.2rem}.connect-recipe-disabled{opacity:.55;cursor:not-allowed}.connect-recipe-text{flex-direction:column;gap:.1rem;display:flex}.connect-recipe-label{font-size:.78rem;font-weight:500}.connect-recipe-hint{color:var(--text-tertiary);font-size:.72rem}.connect-recipe-error{color:#ef4444;margin:.4rem 0 0;font-size:.72rem}.tryit-guide-toggle{z-index:5;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-default);cursor:pointer;border-radius:100px;align-items:center;gap:.35rem;padding:.4rem .7rem;font-size:.78rem;font-weight:600;transition:border-color .15s,background .15s;display:inline-flex;position:absolute;top:.75rem;left:.75rem;box-shadow:0 4px 14px #00000024}.tryit-guide-toggle:hover{border-color:var(--color-primary-500);background:var(--surface-1)}.tryit-guide-overlay{z-index:6;background:var(--surface-1);border:1px solid var(--border-default);border-radius:12px;flex-direction:column;width:360px;max-width:calc(100% - 1.5rem);max-height:calc(100% - 1.5rem);animation:.18s ease-out slideUpPanel;display:flex;position:absolute;top:.75rem;left:.75rem;overflow:hidden;box-shadow:0 12px 34px #00000038}.tryit-guide-overlay .ui-panel{background:0 0;border:none;min-height:0}.tryit-guide-close{color:var(--text-tertiary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.2rem;display:inline-flex}.tryit-guide-close:hover{color:var(--text-primary);background:var(--surface-2)}.tryit-guide-nudge{border:1px solid var(--color-primary-500);background:#6c5ff214;border-radius:10px;margin:0 0 .75rem;padding:.7rem .8rem}.tryit-guide-nudge-title{color:var(--text-primary);margin:0 0 .2rem;font-size:.82rem;font-weight:700}.tryit-guide-nudge-desc{color:var(--text-secondary);margin:0 0 .5rem;font-size:.75rem;line-height:1.35}.tryit-guide-nudge-dismiss{color:var(--color-primary-500);cursor:pointer;background:0 0;border:none;padding:0;font-size:.72rem;font-weight:600}
.journey-header{background:var(--surface-1);border-bottom:1px solid var(--border-default);scrollbar-width:none;align-items:center;gap:0;padding:.625rem 1rem;display:flex;overflow-x:auto}.journey-header::-webkit-scrollbar{display:none}.journey-stage-wrapper{flex-shrink:0;align-items:center;display:flex}.journey-connector{background:var(--border-default);width:24px;height:2px;transition:background var(--duration-slow) var(--ease-out)}.journey-connector--done{background:var(--color-primary-500)}.journey-connector--future{background:var(--border-default)}.journey-stage{color:var(--text-tertiary);white-space:nowrap;transition:all var(--duration-base) var(--ease-out);background:0 0;border:1.5px solid #0000;border-radius:999px;align-items:center;gap:.375rem;padding:.375rem .625rem;font-size:.75rem;font-weight:500;display:flex}.journey-stage--current{background:var(--color-primary-50);border-color:var(--color-primary-200);font-weight:600}.journey-stage--current .journey-stage-label{background:linear-gradient(90deg, var(--color-primary-600), var(--color-primary-400));-webkit-text-fill-color:transparent;color:var(--color-primary-700);-webkit-background-clip:text;background-clip:text}[data-theme=dark] .journey-stage--current{background:#221c40;border-color:#382e6b}[data-theme=dark] .journey-stage--current .journey-stage-label{-webkit-text-fill-color:var(--color-primary-300);color:var(--color-primary-300);background:0 0}.journey-stage--done{color:var(--color-primary-500)}.journey-stage--future{opacity:.5}.journey-stage-icon{align-items:center;line-height:1;display:flex}.journey-stage-label{line-height:1}.journey-refine-loop{color:var(--color-primary-500);align-items:center;margin:0 .375rem;display:flex}.phase-progress{flex-direction:column;gap:1rem;height:100%;padding:1.25rem;display:flex;overflow-y:auto}.phase-progress-header{justify-content:space-between;align-items:center;display:flex}.phase-progress-title{align-items:center;gap:.5rem;display:flex}.phase-progress-title h3{color:var(--text-primary);margin:0;font-size:1rem;font-weight:600;line-height:1.2}.phase-progress-icon{align-items:center;font-size:1.25rem;line-height:1;display:inline-flex}.phase-progress-actions{align-items:center;gap:.5rem;display:flex}.phase-progress-techy-btn{border:1px solid var(--border-default);background:var(--surface-2);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out);border-radius:999px;padding:.25rem .75rem;font-size:.7rem;font-weight:500}.phase-progress-techy-btn:hover{border-color:var(--color-primary-400);color:var(--color-primary-600)}.phase-progress-techy-btn.active{background:var(--color-primary-50);border-color:var(--color-primary-300);color:var(--color-primary-600)}[data-theme=dark] .phase-progress-techy-btn.active{color:var(--color-primary-300);background:#221c40}.phase-progress-cancel-btn{color:#d14747;cursor:pointer;transition:all var(--duration-base) var(--ease-out);background:0 0;border:1px solid #e08585;border-radius:999px;padding:.25rem .75rem;font-size:.7rem;font-weight:500}.phase-progress-cancel-btn:hover{background:#faebeb}.phase-progress-bar-label{color:var(--text-tertiary);font-size:.65rem;font-weight:500;position:absolute;top:12px;right:0}.phase-progress-feedback{background:var(--color-primary-50);color:var(--color-primary-700);border-radius:8px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.8rem;font-style:italic;animation:.3s fadeInSlide;display:flex}[data-theme=dark] .phase-progress-feedback{color:var(--color-primary-300);background:#1c1736}.phase-progress-feedback-dot{background:var(--color-primary-500);border-radius:50%;width:6px;height:6px;animation:1.5s infinite pulse}.phase-progress-steps{flex-direction:column;gap:0;padding:.25rem 0;display:flex}.phase-progress-step{transition:opacity var(--duration-base) var(--ease-out);gap:.75rem;padding:.75rem 0;display:flex}.phase-progress-step.pending{opacity:.5}.phase-progress-step.current{opacity:1}.phase-progress-step-indicator{flex-direction:column;flex-shrink:0;align-items:center;width:28px;display:flex}.phase-progress-step-circle{border:2px solid var(--border-default);background:var(--surface-0);width:28px;height:28px;color:var(--text-tertiary);transition:all var(--duration-slow) var(--ease-out);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.7rem;font-weight:600;display:flex}.phase-progress-step-circle.running{border-color:var(--color-primary-500);background:var(--color-primary-50);color:var(--color-primary-600);animation:2s infinite pulseRing;box-shadow:0 0 0 4px #705cd626}[data-theme=dark] .phase-progress-step-circle.running{background:#251f47;box-shadow:0 0 0 4px #705cd61a}.phase-progress-step-circle.completed{color:#fff;background:#2eb867;border-color:#2eb867}.phase-progress-step-circle.failed{color:#d14747;background:#fee7e7;border-color:#d14747}.phase-progress-step-number{font-size:.7rem;font-weight:600}.phase-progress-step-line{background:var(--border-default);width:2px;min-height:12px;transition:background var(--duration-slow) var(--ease-out);flex:1}.phase-progress-step-line.completed{background:#2eb867}.phase-progress-step-content{flex:1;padding-top:.25rem}.phase-progress-step-title{color:var(--text-primary);font-size:.85rem;font-weight:500;line-height:1.4}.phase-progress-step.current .phase-progress-step-title{font-weight:600}.phase-progress-step-files{transition:all var(--duration-base) var(--ease-out);margin-top:.25rem}.phase-progress-step-files-count{color:#33995e;font-size:.7rem;font-weight:500}.phase-progress-step-files-list{flex-wrap:wrap;gap:.25rem;margin-top:.25rem;animation:.2s fadeInSlide;display:flex}.phase-progress-step-file{background:var(--surface-2);color:var(--text-secondary);font-size:.65rem;font-family:var(--font-mono);border-radius:4px;padding:.125rem .375rem}.phase-progress-step-error{color:#d14747;background:#fdf1f1;border:1px solid #f5d6d6;border-radius:6px;margin-top:.25rem;padding:.375rem .5rem;font-size:.75rem}.phase-progress-spinner{border:2px solid var(--color-primary-200);border-top-color:var(--color-primary-600);border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}.phase-progress-retry{background:#fdf1f1;border:1px solid #f5d6d6;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem;display:flex}.phase-progress-retry-hint{color:var(--text-secondary);font-size:.75rem}.phase-progress-done{text-align:center;background:#effbf4;border:1px solid #c6ecd6;border-radius:10px;padding:.75rem}.phase-progress-done-text{color:#2e6b47;font-size:.85rem;font-weight:500}.test-checklist{flex-direction:column;gap:1rem;height:100%;padding:1.25rem;display:flex;overflow-y:auto}.test-checklist-header{justify-content:space-between;align-items:center;display:flex}.test-checklist-title{align-items:center;gap:.5rem;display:flex}.test-checklist-title h3{color:var(--text-primary);font-size:1rem;font-weight:600}.test-checklist-icon{font-size:1.25rem}.test-checklist-progress{align-items:center;gap:.5rem;display:flex}.test-checklist-progress-label{color:var(--text-tertiary);font-size:.7rem;font-weight:500}.test-checklist-intro{color:var(--text-secondary);font-size:.8rem;line-height:1.5}.test-checklist-items{flex-direction:column;gap:.25rem;display:flex}.test-checklist-section-header{color:var(--text-secondary);letter-spacing:.01em;padding:.625rem 0 .25rem;font-size:.75rem;font-weight:600}.test-checklist-section-header:first-child{padding-top:0}.test-checklist-item{border:1px solid var(--border-subtle);background:var(--surface-0);transition:all var(--duration-base) var(--ease-out);border-radius:10px;flex-wrap:wrap;align-items:flex-start;gap:.625rem;padding:.625rem .75rem;display:flex}.test-checklist-item:hover{border-color:var(--border-default);background:var(--surface-1)}.test-checklist-item.checked{opacity:.7}.test-checklist-item.has-issue{background:#fef6f6;border-color:#ebadad}[data-theme=dark] .test-checklist-item.has-issue{background:#2e1919;border-color:#6b2e2e}.test-checklist-checkbox{cursor:pointer;color:#29a35c;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;margin-top:1px;padding:0;display:flex}.test-checklist-checkbox-empty{border:2px solid var(--border-default);width:18px;height:18px;transition:border-color var(--duration-base) var(--ease-out);border-radius:4px}.test-checklist-checkbox:hover .test-checklist-checkbox-empty{border-color:var(--color-primary-400)}.test-checklist-item-text{color:var(--text-primary);flex:1;font-size:.8rem;line-height:1.5}.test-checklist-item-text.checked{color:var(--text-tertiary);text-decoration:line-through}.test-checklist-item-actions{flex-shrink:0}.test-checklist-flag-btn{cursor:pointer;opacity:.3;transition:opacity var(--duration-base) var(--ease-out);background:0 0;border:none;padding:.125rem .375rem;font-size:.75rem}.test-checklist-item:hover .test-checklist-flag-btn{opacity:1}.test-checklist-issue-badge{color:#c33;background:#fce8e8;border-radius:4px;padding:.125rem .375rem;font-size:.65rem;font-weight:500}.test-checklist-issue-input{width:100%;margin-top:.375rem;padding-left:calc(22px + .625rem)}.test-checklist-issue-textarea{border:1px solid var(--border-default);background:var(--surface-0);width:100%;color:var(--text-primary);font-family:var(--font-sans);resize:none;border-radius:8px;padding:.5rem;font-size:.8rem}.test-checklist-issue-textarea:focus{border-color:var(--color-primary-400);outline:none;box-shadow:0 0 0 3px #705cd61a}.test-checklist-issue-actions{justify-content:flex-end;gap:.5rem;margin-top:.375rem;display:flex}.test-checklist-issue-cancel,.test-checklist-issue-submit{cursor:pointer;border:none;border-radius:6px;padding:.25rem .75rem;font-size:.75rem;font-weight:500}.test-checklist-issue-cancel{background:var(--surface-2);color:var(--text-secondary)}.test-checklist-issue-submit{color:#fff;background:#d14747}.test-checklist-issue-submit:disabled{opacity:.5;cursor:not-allowed}.test-checklist-empty{text-align:center;padding:2rem}.test-checklist-empty p{color:var(--text-tertiary);font-size:.85rem}.test-checklist-footer{justify-content:center;padding-top:.5rem;display:flex}.sidebar-github-row{border-bottom:1px solid var(--border-subtle);align-items:center;gap:.25rem;padding:.375rem .75rem;display:flex}.sidebar-github-btn{border:1px solid var(--border-default);background:var(--surface-0);color:var(--text-secondary);cursor:pointer;transition:all var(--duration-base) var(--ease-out);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;flex:1;align-items:center;gap:.375rem;padding:.3rem .5rem;font-size:.7rem;font-weight:500;display:flex;overflow:hidden}.sidebar-github-btn:hover{border-color:var(--color-primary-400);color:var(--text-primary)}.sidebar-github-btn:disabled{opacity:.5;cursor:not-allowed}.sidebar-github-icon{flex-shrink:0;font-size:.8rem}.sidebar-github-badge{background:var(--color-primary-100,#e0e7ff);color:var(--color-primary-600,#4f46e5);border-radius:999px;flex-shrink:0;margin-left:auto;padding:.05rem .3rem;font-size:.62rem;font-weight:600}.sidebar-github-link{border:1px solid var(--border-default);background:var(--surface-0);color:var(--text-secondary);transition:all var(--duration-base) var(--ease-out);border-radius:6px;padding:.3rem .5rem;font-size:.7rem;text-decoration:none}.sidebar-github-link:hover{border-color:var(--color-primary-400);color:var(--color-primary-600)}.deploy-action-bar{border-top:1px solid var(--border-default);background:var(--surface-1);flex-shrink:0;padding:.75rem 1rem}.deploy-action-bar-inner{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.deploy-action-btn{cursor:pointer;transition:all var(--duration-base) var(--ease-out);white-space:nowrap;border:none;border-radius:8px;padding:.4rem .875rem;font-size:.78rem;font-weight:600;text-decoration:none}.deploy-action-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.deploy-action-btn:disabled{opacity:.35;cursor:not-allowed}.deploy-action-link{background:var(--surface-0);color:var(--color-primary-600);border:1px solid var(--border-default);font-weight:500}.deploy-action-link:hover{border-color:var(--color-primary-400)}.deploy-action-gate-msg{color:var(--text-tertiary);margin-left:auto;font-size:.7rem;font-style:italic}.audit-pass-badge{color:#fff;background:#2eb867;border-radius:100px;justify-content:center;align-items:center;min-width:16px;height:16px;margin-left:4px;padding:0 4px;font-size:.6rem;font-weight:700;display:inline-flex}.deploy-security-badge{color:#22c55e;white-space:nowrap;align-self:center;font-size:.72rem}.blocker-panel{background:#ef44440d;border-top:1px solid #ef44444d;flex-shrink:0;padding:.75rem 1rem}.blocker-panel-header{align-items:center;gap:.5rem;margin-bottom:.6rem;display:flex}.blocker-severity-badge{text-transform:uppercase;letter-spacing:.06em;color:#ef4444;background:#ef444426;border:1px solid #ef44444d;border-radius:100px;flex-shrink:0;padding:.15rem .5rem;font-size:.6rem;font-weight:700}.blocker-panel-title{color:#ef4444;font-size:.78rem;font-weight:500}.blocker-findings-list{flex-direction:column;gap:.4rem;max-height:240px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.blocker-finding-item{background:var(--surface-0);border:1px solid #ef444433;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:.75rem;padding:.5rem .625rem;display:flex}.blocker-finding-body{flex:1;min-width:0}.blocker-finding-title{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;margin:0 0 .15rem;font-size:.82rem;font-weight:600;overflow:hidden}.blocker-finding-detail{color:var(--text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 .15rem;font-size:.77rem;line-height:1.45;display:-webkit-box;overflow:hidden}.blocker-finding-file{font-size:.7rem;font-family:var(--font-mono);color:var(--text-tertiary);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.blocker-finding-actions{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.25rem;display:flex}.blocker-finding-error{color:#ef4444;text-align:right;word-break:break-word;max-width:140px;font-size:.68rem}.blocker-resolve-btn{color:#ef4444;cursor:pointer;white-space:nowrap;transition:all var(--duration-fast,.12s) ease;font-size:.75rem;font-weight:600;font-family:var(--font-sans);background:0 0;border:1px solid #ef444466;border-radius:6px;padding:.3rem .75rem}.blocker-resolve-btn:hover:not(:disabled){background:#ef444414;border-color:#ef444499}.blocker-resolve-btn:disabled{opacity:.5;cursor:not-allowed}@keyframes stageEnter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.stage-enter{animation:stageEnter var(--duration-slow) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.stage-enter{animation:none}}@keyframes fadeInSlide{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulseRing{0%{box-shadow:0 0 #705cd64d}70%{box-shadow:0 0 0 8px #705cd600}to{box-shadow:0 0 #705cd600}}@keyframes spin{to{transform:rotate(360deg)}}
