:root{color-scheme:light;--bg:#f7f5f0;--surface:#ffffff;--surface-2:#f1eee7;--ink:#1c1b19;--muted:#6c6760;--line:#ddd7cc;--accent:#0f766e;--accent-2:#b2462e;--agent:#eef7f5;--patient:#fff4e8;--shadow:0 18px 45px rgba(37,31,23,0.09)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}button,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.app-frame{min-height:100dvh;padding:24px}.workspace{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);grid-gap:18px;gap:18px;max-width:1480px;margin:0 auto}.conversation-pane,.graph-pane,.loading-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.conversation-pane{display:grid;grid-template-rows:auto minmax(360px,calc(100dvh - 230px)) auto auto;min-height:calc(100dvh - 48px)}.graph-header,.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px;border-bottom:1px solid var(--line)}h1,h2,p{margin:0}h1{font-size:24px;font-weight:760}h1,h2{line-height:1.1}h2{font-size:18px;font-weight:720}.topbar p{margin-top:4px;color:var(--muted);font-size:14px}.title-row{gap:14px}.domain-picker,.title-row{display:flex;align-items:center}.domain-picker{gap:7px;color:var(--muted);font-size:12px}.domain-picker select{min-height:44px;border:1px solid var(--line);border-radius:7px;padding:0 30px 0 10px;background:var(--surface);color:var(--ink);text-transform:lowercase}.domain-picker select:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:2px;border-color:var(--accent)}.toolbar{display:flex;align-items:center;gap:8px}.icon-button,.send-button{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);width:42px;height:42px}.icon-button:hover,.send-button:hover{border-color:var(--accent);color:var(--accent)}.composer textarea:focus-visible,.icon-button:focus-visible,.send-button:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:2px}.message-list{overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:12px}.message{border:1px solid var(--line);border-radius:8px;padding:12px 14px;max-width:78%}.message span{display:block;color:var(--muted);font-size:12px;line-height:1;text-transform:uppercase}.message-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.message-audio{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin:-7px -8px -5px 0;border:0;border-radius:6px;background:transparent;color:var(--muted)}.message-audio:hover{background:color-mix(in srgb,var(--accent) 10%,transparent);color:var(--accent)}.message-audio:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 30%,transparent);outline-offset:1px}.message p{font-size:15px;line-height:1.48;white-space:pre-wrap}.message.assistant{align-self:flex-start;background:var(--agent)}.message.user{align-self:flex-end;background:var(--patient)}.message.pending p{color:var(--muted)}.warning-strip{display:flex;flex-wrap:wrap;gap:8px;padding:10px 18px 0;color:var(--accent-2);font-size:13px}.composer{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;padding:18px;border-top:1px solid var(--line)}.composer textarea{min-height:54px;max-height:150px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:13px 14px;color:var(--ink);background:var(--surface)}.composer textarea:focus,.send-button{border-color:var(--accent)}.send-button{background:var(--accent);color:white;align-self:stretch}.send-button:hover{background:#0b5f59;color:white}.graph-pane{min-height:calc(100dvh - 48px);display:grid;grid-template-rows:auto minmax(0,1fr)}.graph-header p{margin-top:5px;color:var(--muted);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.graph-shell{padding:14px;min-width:0;overflow:hidden}.graph-topline{display:flex;gap:10px;color:var(--muted);font-size:13px;margin-bottom:10px}.graph-canvas{width:100%;min-height:520px;border:1px solid var(--line);border-radius:8px;background:var(--surface-2)}.graph-edge{stroke:#9a9184;stroke-width:1.4}.graph-edge-label{fill:var(--muted);font-size:10px;paint-order:stroke;stroke:var(--surface-2);stroke-width:4px}.graph-node{fill:#ffffff;stroke:var(--accent);stroke-width:2}.graph-node.headache{stroke:var(--accent-2)}.graph-node-id,.graph-node-label{text-anchor:middle;pointer-events:none}.graph-node-label{fill:var(--ink);font-size:10px;font-weight:700}.graph-node-id{fill:var(--muted);font-size:8px}.loading-panel{min-height:calc(100dvh - 48px);display:grid;place-items:center;color:var(--muted)}@media (max-width:980px){.app-frame{padding:12px}.workspace{grid-template-columns:1fr}.conversation-pane,.graph-pane{min-height:auto}.conversation-pane{grid-template-rows:auto minmax(320px,58vh) auto auto}.message{max-width:92%}}@media (max-width:560px){.topbar{align-items:flex-start;flex-direction:column}.toolbar{width:100%;justify-content:space-between}.title-row{align-items:flex-start;flex-direction:column;gap:10px}.message{max-width:100%}.graph-canvas{min-height:420px}}