: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%;flex-direction:column;gap:0}.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}.panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.panel-header .panel-title{margin-bottom:0}.btn-add{background:transparent;border:1px solid var(--border);color:var(--accent);font-size:12px;font-weight:600;padding:5px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:border-color .15s,background .15s;flex-shrink:0}.btn-add:hover{border-color:var(--accent);background:var(--accent-soft)}.blockers-empty{color:var(--text-secondary);font-size:12px}.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)}.goal-card-selectable{cursor:pointer;transition:border-color .15s,background .15s}.goal-card-selectable:hover{border-color:var(--accent);background:var(--bg-secondary)}.goal-card-selected{border-color:var(--accent);background:var(--accent-soft)}.goal-card-selected:hover{background:var(--accent-soft)}.goal-summary{font-size:12px;color:var(--text-secondary);display:flex;align-items:center;gap:10px;margin-top:6px}.goal-summary-blockers{color:var(--danger);font-weight:600}.goal-description{font-size:13px;color:var(--text-secondary);margin-bottom:14px;line-height:1.55}.session-log{flex:0 0 40%;display:flex;flex-direction:column;overflow:hidden;border-bottom:1px solid var(--border);padding-bottom:16px}.session-entries{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding-bottom:8px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.session-entry{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:10px 12px}.session-entry-text{font-size:13px;color:var(--text-primary);white-space:pre-wrap;word-break:break-word}.goal-detail{flex:1;overflow-y:auto;padding-top:16px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}.goal-detail-empty{display:flex;align-items:center;justify-content:center;color:var(--text-secondary);font-size:13px}.session-empty{color:var(--text-secondary);font-size:13px;text-align:center;margin-top:40px}.session-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}.session-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}.session-input:focus{border-color:var(--accent)}.session-input::placeholder{color:var(--border)}.session-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}.session-send-btn:hover:not(:disabled){opacity:.85}.session-send-btn:disabled{opacity:.4;cursor:not-allowed}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#05060acc;display:flex;align-items:center;justify-content:center;z-index:100}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;padding:20px;box-shadow:0 12px 40px #0005}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.modal-title{font-size:15px;font-weight:600;color:var(--text-primary)}.modal-close{background:transparent;border:none;color:var(--text-secondary);font-size:20px;line-height:1;cursor:pointer;padding:0}.modal-close:hover{color:var(--text-primary)}.modal-form{display:flex;flex-direction:column;gap:14px}.modal-label{display:flex;flex-direction:column;gap:6px;font-size:12px;color:var(--text-secondary)}.modal-input,.modal-textarea{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-primary);font-size:13px;font-family:inherit;padding:8px 10px;outline:none;transition:border-color .15s}.modal-textarea{resize:vertical}.modal-input:focus,.modal-textarea:focus{border-color:var(--accent)}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.btn-primary{background:var(--accent);border:none;border-radius:var(--radius-sm);color:#fff;font-size:13px;font-weight:600;padding:8px 16px;cursor:pointer;transition:opacity .15s}.btn-primary:hover:not(:disabled){opacity:.85}.btn-primary:disabled{opacity:.4;cursor:not-allowed}.btn-secondary{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:13px;padding:8px 16px;cursor:pointer;transition:border-color .15s,color .15s}.btn-secondary:hover{border-color:var(--text-secondary);color:var(--text-primary)}.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}
