:root{--bg: #0d1017;--panel: #151a23;--panel-2: #1c2330;--border: #29303d;--text: #e8ebf0;--muted: #8b94a3;--accent: #7c6cf0;--accent-soft: rgba(124, 108, 240, .16);--good: #4cc38a;--warn: #e5a95b;--danger: #e05d5d;font-family:Segoe UI,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}.loading{display:grid;place-items:center;height:100vh;color:var(--muted)}.shell{display:flex;min-height:100vh}.sidebar{width:220px;flex-shrink:0;padding:24px 16px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:24px;position:sticky;top:0;height:100vh}.brand{font-size:22px;font-weight:700}.brand span{color:var(--accent)}.brand .tagline{font-size:11px;font-weight:400;color:var(--muted);margin-top:2px}.sidebar nav{display:flex;flex-direction:column;gap:4px;flex:1}.sidebar nav a{color:var(--muted);text-decoration:none;padding:9px 12px;border-radius:8px;font-size:14px}.sidebar nav a:hover{background:var(--panel-2);color:var(--text)}.sidebar nav a.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.content{flex:1;padding:32px 40px;max-width:1100px}h1{font-size:24px;margin:0 0 4px}.subtitle{color:var(--muted);font-size:14px;margin:0 0 24px}input,textarea,select{background:var(--panel);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:14px;font-family:inherit;width:100%}input:focus,textarea:focus{outline:none;border-color:var(--accent)}button{background:var(--accent);border:none;border-radius:8px;color:#fff;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;font-family:inherit}button:hover{filter:brightness(1.1)}button:disabled{opacity:.5;cursor:not-allowed}button.ghost{background:transparent;border:1px solid var(--border);color:var(--muted)}button.ghost:hover{color:var(--text);border-color:var(--muted)}.row{display:flex;gap:10px;align-items:center}.error{color:var(--danger);font-size:13px;margin:8px 0}.muted{color:var(--muted)}.card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:20px;margin-bottom:16px}.card h3{margin:0 0 10px;font-size:16px}.login-wrap{display:grid;place-items:center;min-height:100vh}.login-card{width:380px}.login-card h1{text-align:center}.login-card form{display:flex;flex-direction:column;gap:12px;margin-top:16px}.login-toggle{text-align:center;margin-top:14px;font-size:13px;color:var(--muted)}.login-toggle a{color:var(--accent);cursor:pointer}.chat{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.bubble{max-width:78%;padding:12px 16px;border-radius:14px;font-size:14px;line-height:1.55;white-space:pre-wrap}.bubble.user{align-self:flex-end;background:var(--accent-soft)}.bubble.assistant{align-self:flex-start;background:var(--panel-2)}.bubble.mediator{align-self:center;background:#4cc38a1f;border:1px solid rgba(76,195,138,.4);max-width:90%}.bubble .speaker{font-size:11px;color:var(--muted);margin-bottom:4px}.segment-chip{display:inline-block;font-size:11px;padding:2px 8px;border-radius:99px;background:var(--accent-soft);color:var(--accent);margin-bottom:6px;text-transform:capitalize}.todo-item{display:flex;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--border)}.todo-item:last-child{border-bottom:none}.todo-item input[type=checkbox]{width:auto}.todo-item .title{flex:1;font-size:14px}.todo-item .title.done{text-decoration:line-through;color:var(--muted)}.todo-item .cat{font-size:11px;color:var(--muted);background:var(--panel-2);padding:2px 8px;border-radius:99px}.tree-canvas{overflow:auto;background:var(--panel);border:1px solid var(--border);border-radius:12px}.tree-node-box{cursor:pointer}.node-detail{border-left:3px solid var(--accent)}.likelihood{color:var(--warn);font-weight:600}.option-pick{display:flex;gap:10px;align-items:flex-start;padding:12px;border:1px solid var(--border);border-radius:10px;margin-bottom:8px;cursor:pointer}.option-pick.selected{border-color:var(--accent);background:var(--accent-soft)}.option-pick input{width:auto;margin-top:3px}.timeline-entry{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid var(--border)}.timeline-entry:last-child{border-bottom:none}.timeline-entry .period{width:160px;flex-shrink:0;color:var(--accent);font-weight:600;font-size:13px}.timeline-entry .body{font-size:14px;line-height:1.5}.timeline-entry .emotion{color:var(--muted);font-size:13px;font-style:italic;margin-top:4px}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 900px){.dashboard-grid{grid-template-columns:1fr}}ul.clean{list-style:none;padding:0;margin:0}
