:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-card: #21253a;--accent: #6c8fff;--accent-soft: #6c8fff22;--text-primary: #e8eaf0;--text-secondary:#8b90a0;--success: #4caf82;--warning: #e8a44a;--danger: #e86060;--border: #2a2f45;--radius: 8px;--radius-sm: 4px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden}.panels{display:flex;flex:1;overflow:hidden}.panel{display:flex;flex-direction:column;overflow:hidden;padding:24px}.panel-left{width:40%;border-right:1px solid var(--border);overflow-y:auto}.panel-right{width:60%}.focus-banner{display:flex;align-items:baseline;gap:10px;padding:10px 24px;background:var(--accent-soft);border-bottom:1px solid var(--border);font-size:13px}.focus-label{color:var(--accent);font-weight:600;text-transform:uppercase;letter-spacing:.06em;font-size:11px;flex-shrink:0}.focus-text{color:var(--text-secondary)}.panel-title{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:16px}.goals-list{display:flex;flex-direction:column;gap:16px}.goal-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.goal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.goal-title{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.goal-horizon{font-size:12px;color:var(--text-secondary)}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:600;white-space:nowrap;flex-shrink:0}.badge-active{background:#4caf8222;color:var(--success)}.badge-completed{background:#6c8fff22;color:var(--accent)}.badge-paused{background:#e8a44a22;color:var(--warning)}.task-list{display:flex;flex-direction:column;gap:6px}.task-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .15s;background:var(--bg-secondary);border:1px solid transparent}.task-item:hover{border-color:var(--border);background:var(--bg-primary)}.task-check{font-size:14px;width:18px;text-align:center;flex-shrink:0}.task-todo .task-check{color:var(--text-secondary)}.task-in_progress .task-check{color:var(--warning)}.task-done .task-check{color:var(--success)}.task-title{flex:1;font-size:13px}.task-done .task-title{text-decoration:line-through;color:var(--text-secondary)}.task-badge{font-size:10px;padding:1px 6px;border-radius:10px;flex-shrink:0}.task-badge-todo{background:#2a2f45;color:var(--text-secondary)}.task-badge-in_progress{background:#e8a44a22;color:var(--warning)}.task-badge-done{background:#4caf8222;color:var(--success)}.task-add-input{margin-top:4px;background:transparent;border:1px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;padding:6px 8px;width:100%;outline:none;transition:border-color .15s}.task-add-input:focus{border-color:var(--accent);color:var(--text-primary)}.task-add-input::placeholder{color:var(--border)}.blockers-section{margin-top:24px}.blockers-list{display:flex;flex-direction:column;gap:8px}.blocker-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#e8606015;border:1px solid #e8606030;border-radius:var(--radius-sm)}.blocker-desc{font-size:13px;color:var(--text-primary);flex:1}.btn-resolve{background:transparent;border:1px solid var(--border);color:var(--text-secondary);font-size:12px;padding:3px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,color .15s;flex-shrink:0}.btn-resolve:hover{border-color:var(--success);color:var(--success)}.chat{display:flex;flex-direction:column;height:100%}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.chat-empty{color:var(--text-secondary);font-size:13px;text-align:center;margin-top:40px}.message{display:flex}.message-user{justify-content:flex-end}.message-assistant{justify-content:flex-start}.message-bubble{max-width:80%;padding:10px 14px;border-radius:var(--radius);font-size:14px;line-height:1.55;white-space:pre-wrap;word-break:break-word}.message-user .message-bubble{background:var(--accent);color:#fff;border-bottom-right-radius:2px}.message-assistant .message-bubble{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border);border-bottom-left-radius:2px}.typing-indicator{display:flex;align-items:center;gap:5px;padding:12px 14px}.typing-indicator span{display:block;width:6px;height:6px;background:var(--text-secondary);border-radius:50%;animation:bounce 1.2s infinite}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.chat-input-bar{display:flex;gap:10px;align-items:flex-end;margin-top:12px;padding-top:12px;border-top:1px solid var(--border);flex-shrink:0}.chat-input{flex:1;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-primary);font-size:14px;font-family:inherit;padding:10px 14px;resize:none;outline:none;transition:border-color .15s;max-height:120px;overflow-y:auto;scrollbar-width:thin}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--border)}.chat-send-btn{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-size:14px;font-weight:600;padding:10px 18px;cursor:pointer;transition:opacity .15s;flex-shrink:0;align-self:flex-end}.chat-send-btn:hover:not(:disabled){opacity:.85}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}.loading{color:var(--text-secondary);padding:24px;font-size:13px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}
