*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{min-height:100vh;min-height:100dvh;overscroll-behavior:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}input,textarea,button{font:inherit;color:inherit}#root{min-height:100vh;min-height:100dvh}:root{--bg-deep: #0a0e14;--bg-surface: #0d1117;--bg-elevated: #131920;--bg-panel: #161b22;--border: #21262d;--border-focus: #58a6ff;--text-primary: #e0e6ed;--text-secondary: #a8b2bd;--text-muted: #6e7681;--text-bright: #f0f6fc;--accent: #58a6ff;--accent-dim: #1f6feb;--accent-glow: rgba(88, 166, 255, .15);--accent-glow-strong: rgba(88, 166, 255, .3);--diff-add-bg: rgba(57, 211, 83, .1);--diff-add-text: #56d364;--diff-del-bg: rgba(248, 81, 73, .1);--diff-del-text: #f85149;--diff-hunk-text: #79c0ff;--diff-meta-text: #d2a8ff;--error: #f85149;--error-bg: rgba(248, 81, 73, .1);--warning: #d29922;--safe-bottom: env(safe-area-inset-bottom, 0px);--header-height: 52px;--bottom-bar-height: 72px;--sidebar-width: 280px;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Code", monospace;--font-display: "Space Grotesk", "Inter", -apple-system, sans-serif}.app{font-family:var(--font-mono);background:var(--bg-deep);color:var(--text-primary);min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow-x:hidden;transition:margin-left .3s ease}.scanlines{position:fixed;inset:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(to bottom,transparent,transparent 2px,rgba(0,0,0,.03) 2px,rgba(0,0,0,.03) 4px)}.sidebar{position:fixed;top:0;left:0;bottom:0;width:var(--sidebar-width);background:var(--bg-surface);border-right:1px solid var(--border);z-index:200;display:flex;flex-direction:column;transform:translate(-100%);transition:transform .3s ease;overflow:hidden}.sidebar.open{transform:translate(0)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-title{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.08em}.sidebar-header-actions{display:flex;align-items:center;gap:10px}.sidebar-new-btn{background:var(--accent-dim);border:1px solid var(--accent);color:var(--text-bright);font-size:11px;font-weight:600;cursor:pointer;padding:4px 10px;font-family:var(--font-mono);border-radius:4px;transition:background .15s}.sidebar-new-btn:hover{background:var(--accent)}.sidebar-clear{background:none;border:none;color:var(--text-muted);font-size:11px;cursor:pointer;padding:2px 6px;font-family:var(--font-mono);border-radius:3px;transition:color .15s,background .15s}.sidebar-clear:hover{color:var(--error);background:var(--error-bg)}.sidebar-close{background:none;border:none;color:var(--text-muted);font-size:20px;cursor:pointer;padding:0 4px;line-height:1;font-family:var(--font-mono)}.sidebar-close:hover{color:var(--text-primary)}.sidebar-tabs{display:flex;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-tab{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-size:10px;font-family:var(--font-mono);cursor:pointer;padding:8px 6px;text-transform:uppercase;letter-spacing:.05em;transition:color .15s,border-color .15s}.sidebar-tab:hover{color:var(--text-secondary)}.sidebar-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.sidebar-search{padding:8px 12px;border-bottom:1px solid var(--border);flex-shrink:0}.sidebar-search-input{width:100%;background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;padding:7px 10px;color:var(--text-primary);font-family:var(--font-mono);font-size:11px;transition:border-color .15s}.sidebar-search-input:focus{outline:none;border-color:var(--accent-dim)}.sidebar-search-input::placeholder{color:var(--text-muted)}.sidebar-list{flex:1;overflow-y:auto;padding:8px 0}.sidebar-footer{border-top:1px solid var(--border);padding:10px 14px;flex-shrink:0}.sidebar-footer .integrations-toggle{gap:8px}.sidebar-footer .integrations-body{padding-top:8px}.sidebar-footer .integration-label{font-size:10px;text-transform:uppercase;letter-spacing:.05em}.sidebar-footer .integration-help{font-size:10px}.sidebar-empty{padding:24px 16px;font-size:12px;color:var(--text-muted);text-align:center}.sidebar-empty-hint{margin-top:16px;padding:12px;background:var(--bg-elevated);border-radius:6px;border:1px dashed var(--border)}.sidebar-empty-hint p{margin:0 0 8px;color:var(--text-secondary);font-size:11px}.example-tasks{display:flex;flex-direction:column;gap:6px}.example-task{background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;padding:6px 10px;font-size:10px;color:var(--text-secondary);cursor:pointer;transition:all .15s;text-align:left;font-family:var(--font-mono)}.example-task:hover{border-color:var(--accent);color:var(--text-primary);background:var(--accent-glow)}.session-item{width:100%;display:block;text-align:left;padding:12px 16px;background:none;border:none;border-left:3px solid transparent;color:var(--text-primary);font-family:var(--font-mono);transition:all .2s ease}.submit-btn:focus-visible,.search-select-trigger:focus-visible,.sidebar-new-btn:focus-visible,.session-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px;box-shadow:0 0 0 4px var(--accent-glow)}.session-item:hover{background:var(--bg-elevated);transform:translate(2px)}.session-item:hover .session-name{color:var(--text-bright)}.session-item.active{border-left-color:var(--accent);background:linear-gradient(90deg,var(--accent-glow),transparent)}.session-item-main{cursor:pointer}.session-actions{display:flex;gap:6px;margin-top:8px}.session-action-btn{background:var(--bg-deep);border:1px solid var(--border);color:var(--text-secondary);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:.05em;padding:5px 12px;border-radius:4px;cursor:pointer;transition:color .15s,border-color .15s,background .15s}.session-action-btn:hover{color:var(--text-bright);border-color:var(--text-secondary);background:var(--bg-elevated)}.session-action-btn.delete{color:var(--text-muted)}.session-action-btn.delete:hover{color:var(--error);border-color:var(--error);background:var(--error-bg)}.session-repo{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-name{font-size:12px;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:text;padding:1px 3px;border-radius:3px;border:1px solid transparent;transition:border-color .15s,background .15s}.session-name:hover{border-color:var(--border);background:var(--bg-secondary)}.session-name-input{font-size:12px;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--accent);border-radius:3px;padding:2px 4px;width:100%;outline:none}.session-meta{display:flex;align-items:center;justify-content:space-between;margin-top:6px;font-size:10px}.session-status{padding:2px 8px;border-radius:4px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;font-size:9px}.session-status.running{color:#60a5fa;background:linear-gradient(135deg,#60a5fa33,#3b82f626);animation:status-pulse 2s ease-in-out infinite}.session-status.completed{color:#4ade80;background:linear-gradient(135deg,#4ade8026,#22c55e1a)}.session-status.error{color:#f87171;background:linear-gradient(135deg,#f8717133,#ef444426)}@keyframes status-pulse{0%,to{box-shadow:0 0 #60a5fa66}50%{box-shadow:0 0 8px 2px #60a5fa33}}.container-status{padding:1px 6px;border-radius:3px;font-size:9px;font-weight:500;text-transform:uppercase}.container-status.warm{color:#56d364;background:#39d35326}.container-status.cold{color:#f85149;background:var(--error-bg)}.session-time{color:var(--text-muted)}.sidebar-overlay{position:fixed;inset:0;background:#00000080;z-index:150}.sidebar-toggle{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:3px;transition:color .15s,background .15s}.sidebar-toggle:hover{color:var(--text-primary);background:var(--bg-elevated)}.auth-btn{font-family:var(--font-mono);font-size:11px;text-decoration:none;padding:3px 10px;border-radius:4px;transition:all .15s}.login-btn{color:var(--text-bright);background:var(--accent-dim);border:1px solid var(--accent)}.login-btn:hover{background:var(--accent)}.logout-btn{color:var(--text-muted);background:none;border:1px solid var(--border)}.logout-btn:hover{color:var(--error);border-color:var(--error)}.user-info{display:flex;align-items:center;gap:8px}.user-avatar{width:20px;height:20px;border-radius:50%}.user-name{font-size:11px;color:var(--text-secondary)}.auth-gate{text-align:center;padding:60px 20px}.auth-gate p{color:var(--text-secondary);font-size:14px;margin-bottom:24px}.auth-gate-btn{display:inline-flex!important;width:auto!important;gap:10px;padding:14px 28px;text-decoration:none}.repo-picker-row{display:flex;gap:10px}.repo-picker{flex:2}.branch-picker{flex:1;min-width:0}.input-mode-toggle{background:none;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:10px;cursor:pointer;padding:1px 6px;margin-left:auto;border-radius:3px;transition:color .15s}.input-mode-toggle:hover{color:var(--accent)}.new-repo-btn{flex-shrink:0;width:38px;height:38px;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;color:var(--accent);font-size:20px;font-family:var(--font-mono);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.new-repo-btn:hover:not(:disabled){border-color:var(--accent);background:var(--accent-glow)}.new-repo-form{display:flex;gap:8px;align-items:center;margin-top:8px;animation:fade-in .2s ease}.new-repo-form .input-wrap{flex:1}.new-repo-private{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;cursor:pointer;white-space:nowrap}.new-repo-private input[type=checkbox]{accent-color:var(--accent)}.new-repo-create{padding:8px 14px;background:var(--accent-dim);border:1px solid var(--accent);border-radius:6px;color:var(--text-bright);font-family:var(--font-mono);font-size:12px;cursor:pointer;white-space:nowrap;transition:all .15s}.new-repo-create:hover:not(:disabled){background:var(--accent)}.new-repo-create:disabled{opacity:.4;cursor:not-allowed}.stop-btn{background:linear-gradient(135deg,#7a1b1b,#5a1515)!important;border-color:var(--error)!important}.stop-btn:hover{background:linear-gradient(135deg,#9a2020,#7a1b1b)!important;box-shadow:0 0 20px #f851494d!important}.stop-icon{color:var(--error);font-size:12px}.status-bar{height:var(--header-height);display:flex;align-items:center;justify-content:space-between;padding:0 16px;background:var(--bg-surface);border-bottom:1px solid var(--border);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.status-bar-left{display:flex;align-items:center;gap:8px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--text-muted);transition:background .3s,box-shadow .3s}.status-dot.active{background:var(--accent);box-shadow:0 0 8px var(--accent),0 0 16px var(--accent-glow-strong);animation:pulse-dot 1.5s ease-in-out infinite}.status-dot.idle{background:var(--accent-dim)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.5}}.status-text{font-weight:500;font-size:11px}.status-label{font-size:10px;color:var(--text-muted);padding:2px 8px;border:1px solid var(--border);border-radius:3px}.install-banner{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:linear-gradient(135deg,var(--accent-dim),#1158c7);border-bottom:1px solid var(--accent);animation:fade-in .3s ease}.install-banner-text{font-size:13px;font-weight:500;color:var(--text-bright)}.install-banner-actions{display:flex;align-items:center;gap:8px}.install-banner-btn{background:#ffffff26;border:1px solid rgba(255,255,255,.3);color:var(--text-bright);font-family:var(--font-mono);font-size:12px;font-weight:600;padding:5px 14px;border-radius:4px;cursor:pointer;transition:background .15s}.install-banner-btn:hover{background:#ffffff40}.install-banner-dismiss{background:none;border:none;color:#fff9;font-size:18px;cursor:pointer;padding:0 4px;line-height:1;font-family:var(--font-mono)}.install-banner-dismiss:hover{color:var(--text-bright)}.header{padding:24px 16px 16px}.logo{display:flex;align-items:center;gap:12px}.logo-icon{width:36px;height:36px;color:var(--accent);flex-shrink:0;filter:drop-shadow(0 0 6px var(--accent-glow-strong))}.logo-text h1{font-family:var(--font-display);font-size:20px;font-weight:600;color:var(--text-bright);line-height:1.1;letter-spacing:-.02em}.logo-sub{font-size:11px;color:var(--text-muted);letter-spacing:.1em;text-transform:uppercase}.main{flex:1;padding:0 16px 16px;max-width:720px;width:100%;margin:0 auto}.chat-layout{display:flex;flex-direction:column;overflow:hidden}.chat-output{flex:1;overflow-y:auto;padding:8px 0;display:flex;flex-direction:column}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:8px}.chat-empty-icon{font-size:32px;opacity:.3}.chat-empty p{font-size:13px;margin:0}.chat-messages{display:flex;flex-direction:column;gap:8px}.chat-bubble{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}.chat-bubble-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border);font-size:11px}.chat-bubble-name{font-weight:600;color:var(--accent)}.chat-bubble-content{padding:12px;margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;max-height:50vh;overflow-y:auto}.chat-detail{border:1px solid var(--border);border-radius:8px;overflow:hidden}.chat-detail-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:6px 10px;background:var(--bg-secondary);border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;cursor:pointer;text-align:left}.chat-detail-toggle:hover{color:var(--text-primary)}.chat-detail-badge{color:var(--text-muted);margin-left:auto}.chat-detail-body{padding:10px 12px;margin:0;font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;max-height:30vh;overflow-y:auto;background:var(--bg-primary)}.chat-input-area{border-top:1px solid var(--border);padding:8px 0 0;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.chat-config-row{display:flex;align-items:center;gap:6px}.chat-config-row .repo-picker{flex:1;min-width:0}.chat-config-row .branch-picker{max-width:120px}.chat-repo-input{flex:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-primary);font-family:var(--font-mono);font-size:12px}.chat-model-select{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:6px 8px;color:var(--text-primary);font-family:var(--font-mono);font-size:11px;cursor:pointer;max-width:80px}.chat-input-row{display:flex;align-items:flex-end;gap:8px}.chat-textarea{flex:1;background:var(--bg-surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text-primary);font-family:var(--font-mono);font-size:14px;line-height:1.4;resize:none;min-height:44px;max-height:120px}.chat-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-glow)}.chat-send-btn{width:44px;height:44px;border-radius:10px;border:1px solid var(--accent);background:var(--accent-dim);color:var(--text-bright);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,opacity .15s}.chat-send-btn:hover:not(:disabled){background:var(--accent)}.chat-send-btn:disabled{opacity:.3;cursor:not-allowed}.chat-send-btn.stop-btn{background:var(--error);border-color:var(--error)}.chat-config-btn{background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:6px 10px;color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.chat-config-btn:hover:not(:disabled){color:var(--text-primary);border-color:var(--accent)}.chat-config-btn:disabled{opacity:.4;cursor:not-allowed}.chat-new-repo-row{display:flex;align-items:center;gap:6px}.chat-private-label{font-size:11px;color:var(--text-secondary);display:flex;align-items:center;gap:4px;white-space:nowrap}.form{display:flex;flex-direction:column;gap:16px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:12px;font-weight:500;color:var(--text-secondary);display:flex;align-items:center;gap:6px}.label-prefix{color:var(--accent);font-weight:700}.session-context-hint{font-size:11px;color:var(--text-muted);margin-top:4px;font-family:var(--font-mono);display:flex;align-items:center;gap:8px}.keyboard-hint{display:inline-flex;align-items:center;gap:4px;font-size:10px;color:var(--text-muted);background:var(--bg-elevated);padding:2px 6px;border-radius:3px;border:1px solid var(--border);margin-left:auto}.kbd{background:var(--bg-deep);border:1px solid var(--border);border-radius:3px;padding:1px 4px;font-size:9px;font-family:var(--font-mono)}.hint-link{background:none;border:none;color:var(--accent);font-family:var(--font-mono);font-size:11px;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:color .15s}.hint-link:hover{color:var(--text-bright)}.input-wrap{position:relative}.input-wrap input,.input-wrap textarea{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:12px 14px;color:var(--text-primary);font-family:var(--font-mono);font-size:14px;line-height:1.5;transition:border-color .2s,box-shadow .2s;resize:vertical;appearance:none;-webkit-appearance:none}.input-wrap input::placeholder,.input-wrap textarea::placeholder{color:var(--text-muted)}.input-wrap input:focus,.input-wrap textarea:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow),inset 0 0 0 1px var(--accent-dim)}.input-wrap input:disabled,.input-wrap textarea:disabled{opacity:.4;cursor:not-allowed}.input-wrap textarea{min-height:100px}.input-wrap textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow),0 0 20px var(--accent-glow-strong),inset 0 0 0 1px var(--accent)}.submit-btn{width:100%;padding:16px 24px;border:1px solid var(--accent);border-radius:8px;background:linear-gradient(135deg,#1a7aff,var(--accent-dim));color:var(--text-bright);font-family:var(--font-mono);font-size:15px;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation;position:relative;overflow:hidden}.submit-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.1) 50%,transparent 60%);transform:translate(-100%);transition:transform .6s}.submit-btn:hover:not(:disabled):before{transform:translate(100%)}.model-select{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:12px 14px;color:var(--text-primary);font-family:var(--font-mono);font-size:14px;line-height:1.5;transition:border-color .2s,box-shadow .2s;cursor:pointer}.model-select:focus{outline:none;border-color:var(--accent-dim);box-shadow:0 0 0 3px var(--accent-glow),inset 0 0 0 1px var(--accent-dim)}.model-select:disabled{opacity:.4;cursor:not-allowed}.search-select{position:relative}.search-select-trigger{width:100%;background:var(--bg-surface);border:1px solid var(--border);border-radius:6px;padding:12px 14px;color:var(--text-primary);font-family:var(--font-mono);font-size:14px;line-height:1.5;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:8px;text-align:left;transition:border-color .2s,box-shadow .2s}.search-select-trigger:hover:not(:disabled){border-color:var(--accent-dim)}.search-select-trigger:disabled{opacity:.4;cursor:not-allowed}.search-select-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.search-select-placeholder{color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.search-select-arrow{font-size:10px;color:var(--text-muted);flex-shrink:0;transition:transform .2s}.search-select-arrow.open{transform:rotate(180deg)}.search-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;background:var(--bg-panel);border:1px solid var(--border);border-radius:6px;z-index:300;box-shadow:0 8px 32px #00000080;animation:fade-in .15s ease;overflow:hidden}.search-select-input{width:100%;background:var(--bg-deep);border:none;border-bottom:1px solid var(--border);padding:10px 12px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;outline:none}.search-select-input::placeholder{color:var(--text-muted)}.search-select-options{max-height:220px;overflow-y:auto}.search-select-options::-webkit-scrollbar{width:6px}.search-select-options::-webkit-scrollbar-track{background:transparent}.search-select-options::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.search-select-empty{padding:12px;font-size:12px;color:var(--text-muted);text-align:center}.search-select-option{width:100%;display:block;text-align:left;background:none;border:none;padding:9px 12px;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;cursor:pointer;transition:background .1s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-select-option:hover{background:var(--bg-elevated)}.search-select-option.selected{color:var(--accent);background:var(--accent-glow)}@media(max-height:600px){.search-select-options{max-height:120px}}.integrations-toggle{background:none;border:none;cursor:pointer;font-size:12px;font-weight:500;color:var(--text-secondary);font-family:var(--font-mono);display:flex;align-items:center;gap:6px;padding:0}.integrations-toggle:hover{color:var(--text-primary)}.integrations-body{display:flex;flex-direction:column;gap:6px;padding-top:4px}.integration-label{font-size:11px;color:var(--text-muted)}.integration-help{font-size:11px;color:var(--text-muted);line-height:1.4}.submit-btn{width:100%;padding:14px 20px;border:1px solid var(--accent-dim);border-radius:6px;background:linear-gradient(135deg,var(--accent-dim),#1158c7);color:var(--text-bright);font-family:var(--font-mono);font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.submit-btn:hover:not(:disabled){background:linear-gradient(135deg,var(--accent),var(--accent-dim));box-shadow:0 0 20px var(--accent-glow-strong)}.submit-btn:active:not(:disabled){transform:scale(.98)}.submit-btn:disabled{opacity:.35;cursor:not-allowed}.btn-ready{display:flex;align-items:center;gap:8px}.btn-caret{color:var(--accent);font-weight:700}.btn-loading{display:flex;align-items:center;gap:10px}.spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.2);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.progress-section{margin-top:20px;animation:fade-in .3s ease}.progress-bar{height:3px;background:var(--border);border-radius:2px;overflow:hidden;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-dim),var(--accent),var(--accent-dim));background-size:200% 100%;border-radius:2px;animation:shimmer 1.5s ease-in-out infinite,indeterminate 2s ease-in-out infinite;box-shadow:0 0 8px var(--accent)}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes indeterminate{0%{width:0%;margin-left:0%}50%{width:40%;margin-left:30%}to{width:0%;margin-left:100%}}.progress-info{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;color:var(--text-secondary)}.progress-label{display:flex;align-items:center;gap:2px}.blink{animation:blink-cursor 1s step-end infinite;color:var(--accent);font-weight:700}@keyframes blink-cursor{0%,to{opacity:1}50%{opacity:0}}.progress-time{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:500}.setup-phases{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}.setup-phase{font-size:10px;color:var(--text-secondary);background:var(--bg-elevated);border:1px solid var(--border);padding:2px 8px;border-radius:3px;display:flex;align-items:center;gap:4px;animation:fade-in .3s ease}.setup-ms{color:var(--accent);font-variant-numeric:tabular-nums}.results{margin-top:24px;display:flex;flex-direction:column;gap:12px;animation:fade-in .4s ease}@keyframes fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.result-panel{background:var(--bg-surface);border:1px solid var(--border);border-radius:8px;overflow:hidden}.panel-header{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--bg-elevated);border:none;border-bottom:1px solid var(--border);cursor:pointer;font-family:var(--font-mono);font-size:12px;color:var(--text-secondary);-webkit-tap-highlight-color:transparent;touch-action:manipulation;text-align:left}.panel-header:hover{background:var(--bg-panel)}.panel-title{display:flex;align-items:center;gap:8px}.panel-icon{width:14px;height:14px;color:var(--accent)}.panel-title span:first-of-type{font-weight:600;color:var(--text-primary)}.panel-badge{font-size:10px;color:var(--text-muted);background:var(--bg-deep);padding:2px 6px;border-radius:3px;font-weight:400}.panel-actions{display:flex;align-items:center;gap:10px}.copy-btn{font-size:11px;color:var(--text-muted);cursor:pointer;padding:2px 8px;border-radius:3px;transition:all .2s;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.copy-btn:hover{color:var(--text-primary);background:var(--bg-deep)}.copy-btn.copied{color:var(--accent)}.chevron{font-size:10px;color:var(--text-muted);transition:transform .2s;display:inline-block}.chevron.open{transform:rotate(0)}.chevron:not(.open){transform:rotate(-90deg)}.panel-body{animation:slide-down .2s ease;max-height:60vh;overflow-y:auto;position:sticky;top:0}@keyframes slide-down{0%{opacity:0;max-height:0}to{opacity:1;max-height:2000px}}.terminal-output,.diff-output{margin:0;padding:14px;font-family:var(--font-mono);font-size:12px;line-height:1.7;color:var(--text-primary);background:var(--bg-deep);overflow-x:auto;overflow-y:auto;max-height:60vh;white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch;tab-size:4}.terminal-output{counter-reset:line}.terminal-output>span.line,.diff-output>span.line{display:block}.line-number{display:inline-block;width:40px;color:var(--text-muted);opacity:.5;-webkit-user-select:none;user-select:none;text-align:right;padding-right:12px;margin-right:12px;border-right:1px solid var(--border)}.thinking-panel{border-color:var(--border)}.thinking-icon{color:var(--text-muted)!important}.thinking-output{margin:0;padding:14px;font-family:var(--font-mono);font-size:11px;line-height:1.6;color:var(--text-secondary);background:var(--bg-deep);overflow-x:auto;overflow-y:auto;max-height:40vh;white-space:pre-wrap;word-break:break-word;-webkit-overflow-scrolling:touch;tab-size:4;opacity:.7;font-style:italic}.streaming-cursor{display:inline-block;width:8px;height:15px;background:var(--accent);vertical-align:text-bottom;animation:blink-cursor 1s step-end infinite;box-shadow:0 0 4px var(--accent-glow-strong)}.diff-add{color:var(--diff-add-text);background:var(--diff-add-bg);display:inline-block;width:100%}.diff-del{color:var(--diff-del-text);background:var(--diff-del-bg);display:inline-block;width:100%}.diff-hunk{color:var(--diff-hunk-text)}.diff-meta{color:var(--diff-meta-text);font-weight:600}.diff-ctx{color:var(--text-secondary)}.bottom-bar{position:fixed;bottom:0;left:0;right:0;padding:16px 20px;padding-bottom:calc(16px + var(--safe-bottom));background:linear-gradient(to top,var(--bg-surface) 80%,transparent);border-top:1px solid var(--border);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);z-index:100;box-shadow:0 -4px 30px #0006}.bottom-bar .submit-btn,.bottom-bar .stop-btn{box-shadow:0 4px 20px #58a6ff4d}.toast-container{position:fixed;top:calc(var(--header-height) + 12px);left:16px;right:16px;display:flex;flex-direction:column;gap:8px;z-index:1000;pointer-events:none}.toast{background:var(--bg-panel);border:1px solid var(--error);border-left:3px solid var(--error);color:var(--text-primary);padding:12px 14px;border-radius:6px;font-size:13px;font-family:var(--font-mono);display:flex;align-items:center;gap:10px;animation:toast-in .3s ease,toast-out .3s ease 3.7s forwards;pointer-events:auto;box-shadow:0 4px 24px #0006}.toast.success{border-color:#4ade80;border-left-color:#4ade80}.toast.success .toast-icon{color:#4ade80}.toast-icon{width:16px;height:16px;color:var(--error);flex-shrink:0}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-out{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-12px)}}.mobile-only{display:block}.desktop-only{display:none}@media(min-width:640px){.mobile-only{display:none}.desktop-only{display:flex}.header{padding:32px 24px 20px}.main{padding:0 24px 48px}.logo-icon{width:42px;height:42px}.logo-text h1{font-size:24px}.input-wrap input,.input-wrap textarea{font-size:14px;padding:14px 16px}.terminal-output,.diff-output{font-size:13px;max-height:70vh}.toast-container{left:auto;right:24px;max-width:400px}}@media(min-width:1024px){.header{padding:40px 24px 24px}.logo-text h1{font-size:26px}.main{max-width:800px}.sidebar-overlay{display:none}.app.sidebar-open{margin-left:var(--sidebar-width)}.app.sidebar-open .status-bar{left:var(--sidebar-width)}}@media(max-height:500px){.header{padding:8px 16px}.logo-icon{width:28px;height:28px}.logo-text h1{font-size:16px}.input-wrap textarea{min-height:60px}}.terminal-output::-webkit-scrollbar,.diff-output::-webkit-scrollbar,.thinking-output::-webkit-scrollbar,.sidebar-list::-webkit-scrollbar{width:6px;height:6px}.terminal-output::-webkit-scrollbar-track,.diff-output::-webkit-scrollbar-track,.thinking-output::-webkit-scrollbar-track,.sidebar-list::-webkit-scrollbar-track{background:transparent}.terminal-output::-webkit-scrollbar-thumb,.diff-output::-webkit-scrollbar-thumb,.thinking-output::-webkit-scrollbar-thumb,.sidebar-list::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.terminal-output::-webkit-scrollbar-thumb:hover,.diff-output::-webkit-scrollbar-thumb:hover,.thinking-output::-webkit-scrollbar-thumb:hover,.sidebar-list::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.split-layout{flex:1;display:flex;overflow:hidden;min-height:0}.split-layout .main{flex:1;min-width:0;transition:flex .3s ease}.split-layout.panel-open .main{max-width:none}.right-panel{width:50%;min-width:400px;max-width:60%;border-left:1px solid var(--border);background:var(--bg-surface);display:flex;flex-direction:column;overflow:hidden;animation:slide-in-right .2s ease}@keyframes slide-in-right{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}.right-panel-tabs{display:flex;align-items:center;border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.rp-tab{display:flex;align-items:center;gap:5px;padding:10px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-muted);font-family:var(--font-mono);font-size:11px;font-weight:500;cursor:pointer;transition:color .15s,border-color .15s;position:relative}.rp-tab:hover{color:var(--text-secondary)}.rp-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.rp-tab-dot{width:6px;height:6px;border-radius:50%;background:#4ade80;display:inline-block}.rp-close{margin-left:auto;background:none;border:none;color:var(--text-muted);font-size:18px;cursor:pointer;padding:8px 14px;font-family:var(--font-mono);transition:color .15s}.rp-close:hover{color:var(--text-primary)}.rp-code{flex:1;display:flex;overflow:hidden}.rp-file-explorer{width:200px;min-width:160px;border-right:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.rp-fe-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:11px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border);flex-shrink:0}.rp-fe-refresh{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:0 2px;transition:color .15s}.rp-fe-refresh:hover{color:var(--accent)}.rp-fe-tree{flex:1;overflow-y:auto;padding:4px 0}.rp-fe-empty{padding:16px 12px;font-size:11px;color:var(--text-muted);text-align:center}.rp-fe-item{display:flex;align-items:center;gap:4px;width:100%;padding:3px 10px;background:none;border:none;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;cursor:pointer;text-align:left;transition:background .1s,color .1s;white-space:nowrap;overflow:hidden}.rp-fe-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.rp-fe-item.active{background:var(--accent-glow);color:var(--accent)}.rp-fe-icon{font-size:11px;flex-shrink:0}.rp-fe-name{overflow:hidden;text-overflow:ellipsis}.rp-fe-children{padding-left:16px}.rp-fe-item .chevron{font-size:8px;margin-right:2px}.rp-editor{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.rp-editor-header{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border);font-size:12px;flex-shrink:0}.rp-editor-filename{color:var(--text-primary);font-weight:500}.rp-editor-dirty{font-size:10px;color:var(--warning);background:#d2992226;padding:1px 6px;border-radius:3px}.rp-editor-save{margin-left:auto;background:var(--accent-dim);border:1px solid var(--accent);color:var(--text-bright);font-family:var(--font-mono);font-size:10px;font-weight:600;padding:3px 10px;border-radius:4px;cursor:pointer;transition:background .15s}.rp-editor-save:hover{background:var(--accent)}.rp-editor-empty,.rp-editor-loading{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px}.rp-file-preview{flex:1;display:flex;align-items:center;justify-content:center;overflow:auto;background:var(--bg-main);padding:16px}.rp-preview-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:4px;background:repeating-conic-gradient(#2a2a2a 0% 25%,#1a1a1a 0% 50%) 0 0 / 16px 16px}.rp-preview-iframe-inline{width:100%;height:100%;border:none;background:#fff;border-radius:4px}.rp-markdown-preview{display:block;padding:24px 32px;color:var(--text-primary);font-size:14px;line-height:1.6;overflow-y:auto;align-items:flex-start;justify-content:flex-start}.rp-markdown-preview h1,.rp-markdown-preview h2,.rp-markdown-preview h3,.rp-markdown-preview h4,.rp-markdown-preview h5,.rp-markdown-preview h6{margin:1em 0 .5em;color:var(--text-bright);line-height:1.3}.rp-markdown-preview h1{font-size:1.8em;border-bottom:1px solid var(--border);padding-bottom:.3em}.rp-markdown-preview h2{font-size:1.4em;border-bottom:1px solid var(--border);padding-bottom:.3em}.rp-markdown-preview h3{font-size:1.2em}.rp-markdown-preview code{background:var(--bg-elevated);padding:2px 6px;border-radius:3px;font-family:var(--font-mono);font-size:.9em}.rp-markdown-preview pre{background:var(--bg-elevated);padding:12px 16px;border-radius:6px;overflow-x:auto;margin:1em 0}.rp-markdown-preview pre code{background:none;padding:0}.rp-markdown-preview a{color:var(--accent);text-decoration:none}.rp-markdown-preview a:hover{text-decoration:underline}.rp-markdown-preview ul{padding-left:1.5em;margin:.5em 0}.rp-markdown-preview li{margin:.25em 0}.rp-markdown-preview hr{border:none;border-top:1px solid var(--border);margin:1.5em 0}.rp-markdown-preview strong{color:var(--text-bright)}.rp-binary-preview{flex-direction:column;gap:8px;color:var(--text-muted)}.rp-binary-icon{font-size:48px;opacity:.5}.rp-binary-label{font-size:16px;font-weight:500;color:var(--text-secondary)}.rp-binary-detail{font-size:12px;font-family:var(--font-mono)}.rp-preview-toggle-bar{display:flex;gap:2px;background:var(--bg-main);border-radius:4px;padding:2px;margin-left:8px}.rp-preview-toggle{background:none;border:none;color:var(--text-muted);font-size:11px;font-family:var(--font-mono);padding:2px 8px;border-radius:3px;cursor:pointer;transition:all .15s}.rp-preview-toggle:hover{color:var(--text-primary)}.rp-preview-toggle.active{background:var(--accent-dim);color:var(--accent)}.rp-preview{flex:1;display:flex;flex-direction:column;overflow:hidden}.rp-preview-bar{display:flex;align-items:center;gap:8px;padding:6px 12px;border-bottom:1px solid var(--border);background:var(--bg-elevated);flex-shrink:0}.rp-preview-url{flex:1;font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono)}.rp-preview-refresh,.rp-preview-open{background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:14px;padding:2px 4px;text-decoration:none;transition:color .15s}.rp-preview-refresh:hover,.rp-preview-open:hover{color:var(--accent)}.rp-preview-iframe{flex:1;width:100%;border:none;background:#fff}.rp-preview-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);gap:8px}.rp-preview-empty-icon{font-size:32px;opacity:.4}.rp-preview-empty p{margin:0;font-size:13px}.rp-preview-hint{font-size:11px!important;color:var(--text-muted);max-width:260px;text-align:center;line-height:1.4}.rp-deploy-cf-btn{display:inline-flex;align-items:center;gap:6px;background:#f48120;color:#fff;font-size:11px;font-weight:600;font-family:var(--font-mono);padding:4px 10px;border-radius:4px;text-decoration:none;transition:background .15s,transform .1s;white-space:nowrap}.rp-deploy-cf-btn:hover{background:#e5731a;transform:translateY(-1px)}.rp-deploy-cf-btn.large{font-size:14px;padding:10px 20px;border-radius:8px;gap:8px}.rp-deploy-section{display:flex;flex-direction:column;align-items:center;gap:12px;margin-top:20px}.rp-deploy-divider{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.rp-deploy-hint{font-size:11px;color:var(--text-muted);margin:0}.rp-deploy-cf-btn.deployed{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.rp-deploy-cf-btn.deployed:hover{background:var(--accent-dim);color:var(--accent);border-color:var(--accent)}.rp-deploy-reset{background:none;border:none;color:var(--accent);font-size:11px;font-family:inherit;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px}.rp-deploy-reset:hover{color:var(--text-bright)}.rp-deploy-confirm{display:inline-flex;align-items:center;gap:6px;font-size:11px;color:var(--text-secondary);font-family:var(--font-mono)}.rp-deploy-confirm-btn{background:none;border:1px solid var(--border);color:var(--text-primary);font-size:10px;font-family:var(--font-mono);font-weight:600;padding:2px 8px;border-radius:3px;cursor:pointer;transition:all .15s}.rp-deploy-confirm-btn.yes{background:#f48120;border-color:#f48120;color:#fff}.rp-deploy-confirm-btn.yes:hover{background:#e5731a}.rp-deploy-confirm-btn.no:hover{background:var(--bg-elevated)}.rp-deploy-confirm-row{display:flex;gap:12px}.rp-deploy-url-prompt{position:absolute;bottom:0;left:0;right:0;background:var(--bg-elevated);border-top:1px solid var(--border);padding:12px 16px;font-size:12px;color:var(--text-secondary)}.rp-deploy-url-prompt p{margin:0 0 8px}.rp-deploy-url-row{display:flex;gap:8px;align-items:center;margin-top:8px}.rp-deploy-url-input{flex:1;background:var(--bg-main);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font-mono);font-size:12px;padding:6px 10px;border-radius:4px;outline:none;transition:border-color .15s;min-width:0}.rp-deploy-url-input:focus{border-color:var(--accent)}.rp-deploy-url-input::placeholder{color:var(--text-muted)}.rp-diff{flex:1;overflow:auto}.rp-diff-content{margin:0;padding:14px;font-family:var(--font-mono);font-size:12px;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.rp-diff-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:13px;height:100%}.panel-toggle-btn{position:fixed;top:50%;transform:translateY(-50%);width:32px;height:48px;border-radius:8px 0 0 8px;border:1px solid var(--border);border-right:none;background:var(--bg-surface);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:50;transition:color .15s,background .15s,width .15s;right:0}.panel-toggle-btn:hover{color:var(--accent);background:var(--bg-elevated);width:36px}@media(max-width:900px){.rp-file-explorer{width:160px;min-width:120px}}.mode-toggle-bar{display:flex;justify-content:flex-end;margin-bottom:8px}.mode-toggle{display:inline-flex;align-items:center;gap:5px;padding:4px 12px;border-radius:20px;border:1px solid var(--border);background:var(--bg-elevated);color:var(--text-secondary);font-family:var(--font-mono);font-size:11px;font-weight:500;cursor:pointer;transition:all .15s}.mode-toggle:hover{border-color:var(--accent-dim);color:var(--text-primary)}.mode-toggle.vibe{background:linear-gradient(135deg,#a855f726,#58a6ff26);border-color:#a855f74d;color:#c084fc}.mode-toggle.advanced{background:var(--bg-elevated)}.vibe-output{display:flex;flex-direction:column;gap:8px;animation:fade-in .15s ease}.vibe-bubble{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.7;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;box-shadow:0 1px 3px #0003}.vibe-activity{border:1px solid var(--border);border-left:3px solid var(--accent-dim);border-radius:8px;overflow:hidden;transition:border-color .15s}.vibe-activity:hover{border-color:var(--accent-dim)}.vibe-activity.error{border-left-color:var(--error)}.vibe-activity-header{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-elevated);cursor:pointer;font-size:12px;color:var(--text-secondary);transition:background .15s;-webkit-user-select:none;user-select:none}.vibe-activity-header:hover{background:var(--bg-panel)}.vibe-activity-icon{display:flex;align-items:center;color:var(--accent);flex-shrink:0}.vibe-activity-icon.file{color:#79c0ff}.vibe-activity-icon.terminal{color:#56d364}.vibe-activity-icon.web{color:#d2a8ff}.vibe-activity-icon.other{color:var(--text-muted)}.vibe-activity-label{font-weight:500;color:var(--text-primary);white-space:nowrap}.vibe-activity-preview{color:var(--text-muted);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.vibe-activity-header .chevron{margin-left:auto;flex-shrink:0}.vibe-activity-body{border-top:1px solid var(--border);background:var(--bg-deep);animation:fade-in .15s ease}.vibe-activity-section{padding:8px 12px}.vibe-activity-section+.vibe-activity-section{border-top:1px solid var(--border)}.vibe-activity-section.error{background:var(--error-bg)}.vibe-activity-section-label{display:block;font-size:10px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.vibe-activity-body pre{margin:0;font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto}.vibe-thinking{display:inline-flex;align-items:center;padding:6px 14px;border-radius:20px;background:var(--bg-elevated);border:1px solid var(--border);font-size:12px;color:var(--text-muted);cursor:pointer;transition:background .15s;align-self:flex-start}.vibe-thinking:hover{background:var(--bg-panel);color:var(--text-secondary)}.vibe-thinking-label{display:flex;align-items:center;gap:2px}.vibe-thinking-content{margin:0;font-family:var(--font-mono);font-size:11px;line-height:1.5;color:var(--text-secondary);white-space:pre-wrap;word-break:break-word;max-height:200px;overflow-y:auto;font-style:italic;opacity:.8}.vibe-dots span{animation:vibe-dot-bounce 1.4s ease-in-out infinite;display:inline-block}.vibe-dots span:nth-child(1){animation-delay:0s}.vibe-dots span:nth-child(2){animation-delay:.2s}.vibe-dots span:nth-child(3){animation-delay:.4s}@keyframes vibe-dot-bounce{0%,80%,to{opacity:.3}40%{opacity:1}}.vibe-separator{display:flex;align-items:center;gap:12px;padding:8px 0;color:var(--text-muted);font-size:11px}.vibe-separator:before,.vibe-separator:after{content:"";flex:1;height:1px;background:var(--border)}.vibe-streaming-indicator{display:flex;align-items:center;padding:4px 0;color:var(--accent);font-size:14px}.rp-chat{flex:1;display:flex;flex-direction:column;overflow:hidden}.rp-chat .chat-output{flex:1;overflow-y:auto;padding:8px 12px}.rp-chat .chat-input-area{border-top:1px solid var(--border);padding:8px 12px;padding-bottom:calc(8px + var(--safe-bottom))}.rp-chat .chat-empty{padding:40px 16px}.rp-chat .chat-textarea{font-size:13px}@media(max-width:900px){.right-panel{position:fixed;top:var(--header-height);left:0;right:0;bottom:0;width:100%;max-width:100%;min-width:unset;z-index:180;border-left:none}.right-panel-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}.rp-tab{padding:10px 12px;font-size:11px;white-space:nowrap}}::selection{background:var(--accent-glow-strong);color:var(--text-bright)}.overlay-mode-toggle{display:inline-flex;gap:1px;background:var(--bg-deep);border-radius:4px;padding:1px;margin-left:4px}.overlay-mode-btn{background:none;border:none;color:var(--text-muted);font-size:10px;font-family:var(--font-mono);padding:3px 8px;border-radius:3px;cursor:pointer;transition:all .15s;white-space:nowrap}.overlay-mode-btn:hover{color:var(--text-secondary);background:var(--bg-elevated)}.overlay-mode-btn.active{background:var(--accent-dim);color:#fff}.rp-preview-iframe-wrap{flex:1;display:flex;flex-direction:column;position:relative;overflow:hidden}.rp-preview-iframe-wrap.overlay-active{border:2px solid var(--accent);border-top:none}.rp-preview-iframe-wrap.overlay-mode-text-edit{border-color:#f0883e}.overlay-toolbar{position:fixed;z-index:1000;width:300px;background:var(--bg-panel);border:1px solid var(--border);border-radius:8px;box-shadow:0 8px 32px #0006;padding:10px;display:flex;flex-direction:column;gap:8px;font-family:var(--font-mono)}.overlay-toolbar-header{display:flex;align-items:center;gap:6px;min-height:24px}.overlay-toolbar-tag{font-size:11px;color:var(--accent);font-weight:600;flex-shrink:0}.overlay-toolbar-text{font-size:11px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.overlay-toolbar-close{background:none;border:none;color:var(--text-muted);font-size:16px;cursor:pointer;padding:0 4px;line-height:1;transition:color .15s}.overlay-toolbar-close:hover{color:var(--error)}.overlay-toolbar-source{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--accent);font-size:10px;font-family:var(--font-mono);padding:3px 8px;cursor:pointer;text-align:left;transition:background .15s}.overlay-toolbar-source:hover{background:var(--accent-glow)}.overlay-toolbar-prompt-row{display:flex;gap:4px}.overlay-toolbar-input{flex:1;background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:12px;font-family:var(--font-mono);padding:6px 8px;outline:none;transition:border-color .15s}.overlay-toolbar-input:focus{border-color:var(--accent)}.overlay-toolbar-input::placeholder{color:var(--text-muted)}.overlay-toolbar-send{background:var(--accent-dim);border:none;border-radius:4px;color:#fff;font-size:11px;font-weight:600;font-family:var(--font-mono);padding:6px 12px;cursor:pointer;transition:background .15s}.overlay-toolbar-send:hover:not(:disabled){background:var(--accent)}.overlay-toolbar-send:disabled{opacity:.5;cursor:not-allowed}.overlay-toolbar-actions{display:flex;flex-wrap:wrap;gap:4px}.overlay-toolbar-quick{background:var(--bg-elevated);border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:10px;font-family:var(--font-mono);padding:3px 8px;cursor:pointer;transition:all .15s}.overlay-toolbar-quick:hover:not(:disabled){background:var(--accent-glow);border-color:var(--accent);color:var(--text-primary)}.overlay-toolbar-quick:disabled{opacity:.5;cursor:not-allowed}.overlay-toolbar-undo{background:none;border:1px solid var(--border);border-radius:4px;color:var(--text-secondary);font-size:10px;font-family:var(--font-mono);padding:4px 8px;cursor:pointer;transition:all .15s;text-align:center}.overlay-toolbar-undo:hover:not(:disabled){border-color:var(--warning);color:var(--warning)}.overlay-toolbar-loading{font-size:11px;color:var(--accent);text-align:center;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.overlay-toolbar-error{font-size:11px;color:var(--error);padding:4px 8px;background:var(--error-bg);border-radius:4px}.overlay-image-toolbar{width:320px}.overlay-image-preview{width:100%;height:120px;overflow:hidden;border-radius:4px;background:var(--bg-deep);display:flex;align-items:center;justify-content:center}.overlay-image-gen-preview{max-width:100%;max-height:100%;object-fit:contain}.overlay-image-options{display:flex;gap:4px}.overlay-image-select{flex:1;background:var(--bg-deep);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:10px;font-family:var(--font-mono);padding:4px 6px;outline:none}.overlay-image-model-label{font-size:10px;color:var(--text-muted);font-family:var(--font-mono);padding:4px 6px}.overlay-generate-btn{background:var(--accent-dim)!important;color:#fff!important;border-color:var(--accent-dim)!important}.overlay-use-btn{background:#238636!important;color:#fff!important;border-color:#238636!important}
