:root{--bg:var(--tg-theme-bg-color,#1a1a2e);--text:var(--tg-theme-text-color,#e0e0e0);--hint:var(--tg-theme-hint-color,#888);--link:var(--tg-theme-link-color,#4fc3f7);--button:var(--tg-theme-button-color,#4fc3f7);--button-text:var(--tg-theme-button-text-color,#fff);--secondary-bg:var(--tg-theme-secondary-bg-color,#16213e);--section-bg:var(--tg-theme-section-bg-color,#0f3460);--font-mono:"SF Mono", "Fira Code", "Cascadia Code", monospace;--font-system:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sm:8px;--radius-md:12px;--radius-lg:16px}*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;overflow:hidden}body{font-family:var(--font-system);background:var(--bg);color:var(--text);font-size:14px;line-height:1.5}input,textarea,select{font-size:max(16px,1em)}.app{flex-direction:column;max-width:100vw;height:100%;display:flex;overflow:hidden}.app-header{padding:6px 12px;padding-top:calc(var(--safe-top,0px) + var(--content-safe-top,0px) + 6px);padding-left:calc(var(--safe-left,0px) + 12px);padding-right:calc(var(--safe-right,0px) + 12px);background:var(--secondary-bg);border-bottom:1px solid #ffffff1a;flex-shrink:0;align-items:center;gap:8px;display:flex}.app-header h1{flex:1;font-size:16px;font-weight:600}.back-btn{color:var(--link);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:18px}.header-plan-btn{border:1px solid var(--link);border-radius:var(--radius-sm);cursor:pointer;background:0 0;padding:4px 10px;font-size:16px;line-height:1;animation:2s ease-in-out infinite plan-glow}@keyframes plan-glow{0%,to{border-color:var(--link)}50%{border-color:#4fc3f74d}}.header-mode-badge{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #ffffff26;padding:4px 10px;font-size:16px;line-height:1}.mode-selector{gap:4px;display:flex}.mode-btn{border-radius:var(--radius-md);color:var(--text);cursor:pointer;background:0 0;border:1px solid #fff3;padding:4px 8px;font-size:12px;transition:all .2s}.mode-btn.active{background:var(--button);color:var(--button-text);border-color:var(--button)}.project-selector{padding:24px 16px}.project-selector h2{margin-bottom:16px;font-size:18px}.project-list{flex-direction:column;gap:8px;display:flex}.project-btn{background:var(--section-bg);border-radius:var(--radius-sm);color:var(--text);cursor:pointer;text-align:left;border:1px solid #ffffff1a;padding:12px 16px;font-size:15px;transition:background .2s}.project-btn:active{background:var(--button)}.chat-view{flex-direction:column;flex:1;min-height:0;display:flex}.output-area{padding:12px;padding-left:calc(var(--safe-left,0px) + 12px);padding-right:calc(var(--safe-right,0px) + 12px);-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.output-text{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono);font-size:13px;line-height:1.6}.output-placeholder{color:var(--hint);text-align:center;padding:48px 16px}.chat-message{border-radius:var(--radius-sm);margin-bottom:12px;padding:8px 12px}.chat-message-user{background:var(--section-bg)}.chat-message-assistant{background:0 0}.chat-message-role{color:var(--hint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:11px;font-weight:600}.chat-message-text{white-space:pre-wrap;word-break:break-word;font-family:var(--font-system);margin:0;font-size:14px;line-height:1.6}.chat-message-content{flex-direction:column;gap:4px;display:flex}.code-block-wrapper{border-radius:var(--radius-sm);background:#0000004d;margin:8px 0;overflow:hidden}.code-block-header{background:#0003;justify-content:space-between;align-items:center;padding:4px 12px;font-size:11px;display:flex}.code-block-lang{color:var(--hint);text-transform:uppercase;letter-spacing:.5px}.code-block-copy{color:var(--hint);cursor:pointer;background:0 0;border:1px solid #ffffff26;border-radius:4px;padding:2px 8px;font-size:11px;transition:all .2s}.code-block-copy:active{background:var(--button);color:var(--button-text)}.code-block{font-family:var(--font-mono);white-space:pre;-webkit-overflow-scrolling:touch;margin:0;padding:8px 12px;font-size:13px;line-height:1.5;overflow-x:auto}.code-block code{font-family:inherit;font-size:inherit}.code-block-toggle{width:100%;color:var(--link);cursor:pointer;text-align:center;background:#0003;border:none;padding:4px;font-size:12px;display:block}.inline-code{font-family:var(--font-mono);background:#0000004d;border-radius:4px;padding:1px 6px;font-size:13px}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:#6a737d}.token.punctuation{color:#bbb}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol,.token.deleted{color:#e06c75}.token.selector,.token.attr-name,.token.string,.token.char,.token.builtin,.token.inserted{color:#98c379}.token.operator,.token.entity,.token.url{color:#56b6c2}.token.atrule,.token.attr-value,.token.keyword{color:#c678dd}.token.function,.token.class-name{color:#61afef}.token.regex,.token.important,.token.variable{color:#d19a66}.typing-indicator{color:var(--hint);animation:1s infinite blink}@keyframes blink{50%{opacity:0}}.thinking-indicator{color:var(--hint);align-items:center;gap:4px;padding:8px 0;font-size:13px;display:flex}.thinking-dots span{font-size:18px;line-height:1;animation:1.4s ease-in-out infinite both thinking-bounce}.thinking-dots span:first-child{animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinking-bounce{0%,80%,to{opacity:.3}40%{opacity:1}}.tool-notifications{max-height:100px;padding:4px 12px;overflow-y:auto}.tool-notification{color:var(--hint);border-bottom:1px solid #ffffff0d;padding:2px 0;font-size:12px}.skill-buttons{gap:4px;padding:4px 12px;display:flex;overflow-x:auto}.skill-btn{color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff26;border-radius:14px;padding:4px 10px;font-size:12px;transition:all .2s}.skill-btn:disabled{opacity:.4}.tool-inline{flex-wrap:wrap;gap:4px;padding:4px 0;display:flex}.tool-inline-item{color:var(--hint);background:#ffffff0d;border-radius:4px;padding:2px 8px;font-size:11px}.slash-menu{background:var(--section-bg);border-radius:var(--radius-sm) var(--radius-sm) 0 0;z-index:100;border:1px solid #ffffff1a;animation:.15s ease-out slash-menu-in;position:absolute;bottom:100%;left:0;right:0;overflow:hidden}@keyframes slash-menu-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.slash-menu-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #ffffff0d;align-items:center;gap:12px;padding:10px 16px;font-size:14px;display:flex}.slash-menu-item:last-child{border-bottom:none}.slash-menu-item-active{background:#ffffff14}.slash-menu-name{font-family:var(--font-mono);color:var(--link);font-size:13px}.slash-menu-desc{color:var(--hint);font-size:12px}.prompt-area{flex-shrink:0;position:relative}.prompt-form{padding:8px 12px;padding-bottom:calc(var(--safe-bottom,0px) + 8px);padding-left:calc(var(--safe-left,0px) + 12px);padding-right:calc(var(--safe-right,0px) + 12px);background:var(--secondary-bg);border-top:1px solid #ffffff1a;flex-shrink:0;align-items:flex-end;gap:8px;display:flex}.prompt-input{background:var(--bg);border-radius:var(--radius-md);color:var(--text);resize:none;border:1px solid #fff3;flex:1;min-height:36px;max-height:120px;padding:8px 12px;font-family:inherit;font-size:16px;line-height:1.4;transition:height .1s;overflow-y:auto}.prompt-input:focus{border-color:var(--button);outline:none}.prompt-actions{gap:4px;display:flex}.send-btn,.cancel-btn{border-radius:var(--radius-md);cursor:pointer;border:none;padding:8px 16px;font-size:14px;font-weight:500}.send-btn{background:var(--button);color:var(--button-text)}.send-btn:disabled{opacity:.4}.cancel-btn{color:#fff;background:#e74c3c}.plan-view{flex-direction:column;flex:1;min-height:0;padding:12px;display:flex;overflow-y:auto}.plan-header{margin-bottom:12px}.plan-header h3{margin-bottom:8px;font-size:16px}.plan-summary{gap:8px;display:flex}.badge{border-radius:10px;padding:2px 8px;font-size:12px}.badge.approved{color:#fff;background:#27ae60}.badge.rejected{color:#fff;background:#e74c3c}.badge.pending{color:#fff;background:#f39c12}.step-list{flex-direction:column;gap:8px;display:flex}.step-card{background:var(--section-bg);border-radius:var(--radius-sm);border-left:3px solid #fff3;padding:12px}.step-card.status-approved{border-left-color:#27ae60}.step-card.status-rejected{border-left-color:#e74c3c}.step-card.status-modified{border-left-color:#f39c12}.step-header{align-items:center;gap:8px;margin-bottom:4px;font-weight:600;display:flex}.step-desc{color:var(--hint);margin-bottom:8px;font-size:13px}.step-comment{color:var(--link);margin-bottom:8px;font-size:12px}.step-actions{gap:8px;display:flex}.step-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:1px solid #ffffff26;padding:4px 12px;font-size:16px}.step-edit{margin-top:8px}.step-edit textarea{background:var(--bg);border-radius:var(--radius-sm);width:100%;color:var(--text);resize:vertical;border:1px solid #fff3;padding:8px;font-family:inherit;font-size:16px}.step-edit-actions{gap:8px;margin-top:8px;display:flex}.step-edit-actions button{border-radius:var(--radius-sm);background:var(--secondary-bg);color:var(--text);cursor:pointer;border:1px solid #fff3;padding:4px 10px;font-size:12px}.plan-actions{gap:8px;margin-top:16px;padding:12px 0;display:flex}.execution-hint{color:var(--hint);margin-bottom:8px;font-size:13px;line-height:1.4}.execute-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#27ae60;border:none;flex:1;padding:12px;font-size:14px;font-weight:600}.execute-btn.secondary{color:var(--text);background:0 0;border:1px solid #fff3;font-weight:400}.approve-all-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#27ae60;border:none;flex:1;padding:12px;font-size:14px;font-weight:600}.cancel-plan-btn{color:#fff;border-radius:var(--radius-sm);cursor:pointer;background:#e74c3c;border:none;padding:12px;font-size:14px}.session-dropdown{flex:1;position:relative}.session-dropdown-trigger{border-radius:var(--radius-sm);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #ffffff26;align-items:center;gap:6px;padding:4px 8px;font-size:14px;font-weight:600;display:flex}.session-dropdown-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.session-dropdown-arrow{color:var(--hint);font-size:10px}.session-running-dot{color:#27ae60;margin-right:4px;font-size:8px}.session-dropdown-menu{background:var(--section-bg);border-radius:var(--radius-sm);z-index:200;border:1px solid #ffffff26;max-height:200px;animation:.15s ease-out dropdown-in;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden auto}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.session-dropdown-item{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-bottom:1px solid #ffffff0d;align-items:center;padding:8px 12px;font-size:13px;display:flex}.session-dropdown-item:last-child{border-bottom:none}.session-dropdown-item-active{background:#ffffff14}.session-dropdown-item-label{flex:1}.session-dropdown-item-delete{color:var(--hint);cursor:pointer;padding:0 4px;font-size:16px}.session-dropdown-item-delete:hover{color:#e74c3c}.session-dropdown-new{color:var(--link);font-weight:500}.session-tabs{background:var(--secondary-bg);border-bottom:1px solid #ffffff1a;flex-shrink:0;gap:4px;padding:4px 12px;display:flex;overflow-x:auto}.session-tab{border-radius:var(--radius-md);color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #ffffff26;padding:4px 12px;font-size:12px}.session-tab-active{background:var(--button);color:var(--button-text);border-color:var(--button)}.session-tab-running{color:#27ae60;margin-right:4px;font-size:8px}.bottom-sheet-overlay{z-index:1000;background:#00000080;align-items:flex-end;animation:.2s ease-out overlay-fade-in;display:flex;position:fixed;inset:0}@keyframes overlay-fade-in{0%{opacity:0}to{opacity:1}}.bottom-sheet{background:var(--secondary-bg);border-radius:var(--radius-lg) var(--radius-lg) 0 0;flex-direction:column;width:100%;transition:transform .2s ease-out;animation:.25s ease-out sheet-slide-up;display:flex;overflow:hidden}@keyframes sheet-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.bottom-sheet-handle{cursor:grab;touch-action:none;flex-shrink:0;justify-content:center;align-items:center;min-height:44px;padding:12px 0 8px;display:flex}.bottom-sheet-handle-bar{background:#ffffff4d;border-radius:2px;width:36px;height:4px}.bottom-sheet-header{border-bottom:1px solid #ffffff1a;flex-shrink:0;padding:0 16px 12px}.bottom-sheet-header h3{font-size:16px;font-weight:600}.bottom-sheet-content{-webkit-overflow-scrolling:touch;padding-bottom:var(--safe-bottom,0px);flex:1;overflow-y:auto}.bottom-sheet-content .plan-view{flex:none;overflow:visible}.worker-view{padding:12px}.worker-header{margin-bottom:12px}.worker-prompt{color:var(--hint);margin-top:4px;font-size:13px}.worker-progress{color:var(--hint);margin-bottom:12px;font-size:14px}.worker-list{flex-direction:column;gap:8px;display:flex}.worker-card{background:var(--section-bg);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:12px;display:flex}.worker-card-info{flex:1}.worker-card-actions{gap:4px;display:flex}.worker-actions{gap:8px;margin-top:16px;display:flex}.question-card{background:var(--section-bg);border:1px solid var(--link);border-radius:var(--radius-sm);margin:8px 0;padding:12px;animation:2s ease-in-out infinite question-pulse}@keyframes question-pulse{0%,to{border-color:var(--link)}50%{border-color:#4fc3f766}}.question-card-header{align-items:center;gap:6px;margin-bottom:8px;display:flex}.question-card-icon{font-size:16px}.question-card-title{color:var(--link);font-size:13px;font-weight:600}.question-card-text{white-space:pre-wrap;margin-bottom:8px;font-size:14px;line-height:1.5}.question-card-tool{color:var(--hint);font-size:12px;font-family:var(--font-mono);margin-bottom:8px}.question-card-actions{gap:8px;display:flex}.question-btn{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 16px;font-size:13px;font-weight:500}.question-btn.approve{color:#fff;background:#27ae60}.question-btn.reject{color:#fff;background:#e74c3c}.question-btn.custom{color:var(--text);background:0 0;border:1px solid #fff3}.question-btn:disabled{opacity:.4}.question-card-custom{gap:8px;margin-top:8px;display:flex}.question-card-input{background:var(--bg);border-radius:var(--radius-sm);color:var(--text);border:1px solid #fff3;flex:1;padding:6px 10px;font-family:inherit;font-size:14px}.question-card-input:focus{border-color:var(--button);outline:none}.settings-sheet{padding:8px 16px 16px}.settings-section{border-bottom:1px solid #ffffff14;padding:12px 0}.settings-section:last-child{border-bottom:none}.settings-section-title{color:var(--hint);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:11px;font-weight:600}.settings-project{justify-content:space-between;align-items:center;display:flex}.settings-project-name{font-size:15px;font-weight:600}.settings-action-btn{background:var(--button);color:var(--button-text);border-radius:var(--radius-sm);cursor:pointer;border:none;padding:6px 14px;font-size:13px;font-weight:500}.settings-action-btn.secondary{color:var(--text);background:0 0;border:1px solid #fff3}.settings-session-info{justify-content:space-between;align-items:center;display:flex}.settings-session-label{font-size:14px}.settings-rename{flex-direction:column;gap:8px;display:flex}.settings-rename-input{background:var(--bg);border-radius:var(--radius-sm);color:var(--text);border:1px solid #fff3;padding:8px 12px;font-family:inherit;font-size:16px}.settings-rename-input:focus{border-color:var(--button);outline:none}.settings-rename-actions{gap:8px;display:flex}.loading,.error,.empty{text-align:center;padding:24px}.error{color:#e74c3c}
