:root {
  --ink: #171221; --ink-2: #21182d; --paper: #f7f5f8; --white: #fff;
  --text: #211b29; --muted: #6d6575; --line: #ded9e3; --line-dark: #3b3048;
  --violet: #6b35a5; --violet-bright: #8a4fd0; --plum: #471f63;
  --cyan: #38c6d9; --magenta: #d64b9a; --lime: #b8d83d;
  --segment: var(--violet-bright); --segment-rgb: 138,79,208;
}
* { box-sizing: border-box; }
html, body { min-height: 100%; margin: 0; }
body { background: var(--paper); color: var(--text); font-family: "Segoe UI", Arial, sans-serif; }
button, textarea { font: inherit; } button { cursor: pointer; }
button:focus-visible, textarea:focus-visible { outline: 3px solid var(--cyan); outline-offset: 3px; }
.hidden { display: none !important; }
.ambient-grid { position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .38; background-image: linear-gradient(rgba(107,53,165,.055) 1px, transparent 1px), linear-gradient(90deg, rgba(107,53,165,.055) 1px, transparent 1px); background-size: 48px 48px; mask-image: linear-gradient(to bottom, #000, transparent 88%); }
.site-shell { min-height: 100vh; }
.site-header { height: 82px; padding: 0 clamp(20px,4vw,64px); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; background: rgba(247,245,248,.9); backdrop-filter: blur(18px); position: relative; z-index: 5; }
.wordmark { padding: 0; border: 0; background: none; color: var(--ink); display: flex; align-items: center; gap: 13px; text-align: left; }
.wordmark-icon { width: 38px; height: 38px; border-radius: 50%; display: grid; place-items: center; position: relative; background: var(--ink); }
.wordmark-icon i { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: var(--cyan); }
.wordmark-icon i:nth-child(1) { transform: translate(-8px,5px); }.wordmark-icon i:nth-child(2) { transform: translate(8px,5px); background: var(--magenta); }.wordmark-icon i:nth-child(3) { width: 8px; height: 8px; transform: translateY(-7px); background: var(--white); }
.wordmark > span:last-child { display: grid; gap: 2px; }.wordmark strong { font-size: 15px; letter-spacing: -.2px; }.wordmark small { color: var(--muted); font-size: 8px; letter-spacing: 1.5px; }
.header-meta,.system-status { display:flex; align-items:center; }.header-meta { gap:22px; }.poc-label { font-size:8px; letter-spacing:1.3px; padding:8px 10px; border:1px solid var(--line); color:var(--muted); }
.header-nav { display:flex; align-items:center; gap:8px; }
.header-nav-button { height:30px; padding:0 13px; border:1px solid var(--line); background:none; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:1px; }
.header-nav-button:hover { color:var(--ink); border-color:var(--violet-bright); }
.system-status { gap:8px; color:var(--muted); font-size:9px; text-transform:uppercase; letter-spacing:1px; }.system-status i,.live-indicator i { width:7px;height:7px;border-radius:50%;background:#968f9b; }.system-status i.online,.live-indicator i { background:var(--lime); box-shadow:0 0 0 4px rgba(184,216,61,.14); }
.home-view { max-width: 1440px; margin: 0 auto; padding: clamp(48px,7vw,90px) clamp(20px,4vw,64px) 40px; }
.intro-layout { display:grid; grid-template-columns:minmax(0,820px) 220px; justify-content:space-between; gap:40px; align-items:center; margin-bottom:64px; }
.eyebrow,.persona-type,.visit-context>span,.suggestion-area>span { color:var(--violet); font-size:9px; font-weight:750; letter-spacing:1.55px; }
.intro h1 { margin:14px 0 20px; color:var(--ink); font-size:clamp(43px,5.4vw,78px); line-height:.98; font-weight:650; letter-spacing:-3.5px; }.intro h1 em { font-family:Georgia,serif; font-weight:400; color:var(--violet); }
.intro>p:last-child { max-width:650px; margin:0; color:var(--muted); font-size:15px; line-height:1.65; }
.science-orbit { width:190px;height:190px;position:relative;display:grid;place-items:center; }.orbit { position:absolute;border:1px solid rgba(107,53,165,.28);border-radius:50%; }.orbit-one{inset:10px;}.orbit-two{inset:34px;border-color:rgba(56,198,217,.6);}.science-orbit::before,.science-orbit::after{content:"";position:absolute;border-radius:50%;}.science-orbit::before{width:13px;height:13px;background:var(--magenta);top:28px;right:27px;box-shadow:-146px 78px 0 -3px var(--cyan);}.science-orbit::after{width:1px;height:220px;background:linear-gradient(transparent,var(--violet),transparent);transform:rotate(42deg);}.orbit-core{width:72px;height:72px;border-radius:50%;display:grid;place-content:center;text-align:center;background:var(--ink);color:#fff;font-size:27px;font-weight:650;z-index:1;}.orbit-core small{display:block;font-size:6px;letter-spacing:1px;color:#cfc5d8;}
.section-rule { display:flex;align-items:center;gap:14px;margin-bottom:16px;color:var(--muted);font-size:8px;letter-spacing:1.4px; }.section-rule i{height:1px;flex:1;background:var(--line);}
.persona-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);box-shadow:0 24px 70px rgba(49,29,66,.09); }
.persona-card { --segment:var(--violet-bright);--segment-rgb:138,79,208;min-width:0;padding:0;border:0;border-right:1px solid var(--line);background:rgba(255,255,255,.86);color:var(--text);text-align:left;transition:transform .25s ease,box-shadow .25s ease;position:relative; }.persona-card:last-child{border-right:0}.persona-card.customizer{--segment:var(--cyan);--segment-rgb:56,198,217}.persona-card.traditionalist{--segment:var(--magenta);--segment-rgb:214,75,154}.persona-card:disabled{cursor:wait}.persona-card:not(:disabled):hover{transform:translateY(-7px);z-index:2;box-shadow:0 25px 45px rgba(33,18,49,.14)}
.segment-visual { position:relative;height:235px;overflow:hidden;background:var(--ink);border-bottom:4px solid var(--segment); }.segment-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 48%,rgba(var(--segment-rgb),.24),transparent 38%),linear-gradient(120deg,transparent 0 48%,rgba(255,255,255,.035) 48% 49%,transparent 49% 100%);background-size:auto,28px 28px}.card-number{position:absolute;left:20px;top:17px;color:#8d8498;font:10px/1 monospace;letter-spacing:1px}.availability{position:absolute;right:18px;top:15px;color:var(--segment);font-size:7px;font-weight:800;letter-spacing:1.3px}.availability::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:6px;box-shadow:0 0 10px currentColor}
.segment-glyph{position:absolute;inset:44px 20px 20px;transition:transform .35s ease}.persona-card:hover .segment-glyph{transform:scale(1.045)}
.pioneer-glyph i{position:absolute;left:50%;top:50%;border:1px solid var(--segment);border-radius:50%;transform:translate(-50%,-50%)}.pioneer-glyph i:nth-child(1){width:120px;height:120px}.pioneer-glyph i:nth-child(2){width:72px;height:72px;border-color:var(--cyan)}.pioneer-glyph i:nth-child(3){width:13px;height:13px;background:#fff;border:0}.pioneer-glyph i:nth-child(4){width:8px;height:8px;background:var(--segment);border:0;transform:translate(45px,-52px);box-shadow:-104px 70px 0 var(--cyan)}
.customizer-glyph i{position:absolute;width:42px;height:42px;border:1px solid var(--segment);transform:rotate(45deg)}.customizer-glyph i:nth-child(1){left:50%;top:50%;margin:-21px}.customizer-glyph i:nth-child(2){left:18%;top:18%;border-color:var(--magenta)}.customizer-glyph i:nth-child(3){right:18%;top:18%}.customizer-glyph i:nth-child(4){left:18%;bottom:12%;border-color:var(--lime)}.customizer-glyph i:nth-child(5){right:18%;bottom:12%;border-color:#fff}.customizer-glyph::before,.customizer-glyph::after{content:"";position:absolute;left:25%;right:25%;top:50%;height:1px;background:linear-gradient(90deg,var(--magenta),var(--segment),#fff)}.customizer-glyph::after{transform:rotate(90deg)}
.traditionalist-glyph{display:grid;place-items:center}.traditionalist-glyph i{position:absolute;border:1px solid var(--segment);border-radius:50% 50% 48% 48%;}.traditionalist-glyph i:nth-child(1){width:128px;height:128px}.traditionalist-glyph i:nth-child(2){width:90px;height:90px;border-color:#fff}.traditionalist-glyph i:nth-child(3){width:48px;height:48px;background:rgba(var(--segment-rgb),.22);box-shadow:0 0 35px rgba(var(--segment-rgb),.35)}
.persona-copy{min-height:290px;padding:28px 26px 22px;display:flex;flex-direction:column;align-items:flex-start}.persona-copy h2{margin:8px 0 12px;color:var(--ink);font:400 31px/1.1 Georgia,serif}.persona-copy>p{margin:0;color:var(--muted);font-size:12px;line-height:1.65}.persona-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:20px}.persona-tags span{padding:5px 8px;border:1px solid var(--line);color:var(--muted);font-size:8px}.start-link{width:100%;margin-top:auto;padding-top:19px;border-top:1px solid var(--line);color:var(--ink);display:flex;justify-content:space-between;font-size:9px;text-transform:uppercase;letter-spacing:1px}.start-link b{color:var(--segment);font-size:17px}
.future-module{margin-top:22px;padding:20px 24px;border:1px solid var(--line);display:grid;grid-template-columns:55px 1fr auto;gap:20px;align-items:center;background:rgba(255,255,255,.55)}.future-index{color:var(--violet);font:11px monospace}.future-module h3{margin:4px 0 3px;font:400 18px Georgia,serif}.future-module p{margin:0;color:var(--muted);font-size:10px}.future-status{font-size:8px;letter-spacing:1.2px;color:var(--muted);padding:7px 9px;background:#ebe7ee}.fiction-note{margin:17px 0 0;color:#837b89;font-size:9px;line-height:1.5}
.chat-view{height:calc(100vh - 82px);display:grid;grid-template-columns:330px minmax(0,1fr)}.doctor-panel{padding:28px;border-right:1px solid var(--line-dark);background:var(--ink);color:#fff;display:flex;flex-direction:column;overflow-y:auto}.back-button{padding:0;border:0;background:none;color:#a79dac;display:flex;gap:9px;align-items:center;font-size:10px}.back-button:hover{color:#fff}.doctor-profile{margin-top:34px}.profile-glyph{--segment:var(--violet-bright);--segment-rgb:138,79,208;width:126px;height:126px;border:1px solid rgba(var(--segment-rgb),.48);position:relative;display:grid;place-items:center;background:radial-gradient(circle,rgba(var(--segment-rgb),.2),transparent 58%)}.profile-glyph::before,.profile-glyph::after{content:"";position:absolute;border:1px solid var(--segment);border-radius:50%}.profile-glyph::before{width:76px;height:76px}.profile-glyph::after{width:36px;height:36px;border-color:#fff}.profile-glyph span{width:8px;height:8px;border-radius:50%;background:var(--segment);box-shadow:0 0 14px var(--segment)}.profile-glyph i{position:absolute;width:5px;height:5px;border-radius:50%;background:var(--segment)}.profile-glyph i:nth-of-type(1){top:18px;right:22px}.profile-glyph i:nth-of-type(2){bottom:21px;left:20px;background:var(--cyan)}.profile-glyph i:nth-of-type(3){bottom:12px;right:42px;background:var(--magenta)}.profile-glyph.customizer{--segment:var(--cyan);--segment-rgb:56,198,217}.profile-glyph.traditionalist{--segment:var(--magenta);--segment-rgb:214,75,154}.doctor-profile .persona-type{display:block;margin-top:20px;color:var(--segment)}.doctor-profile h2{margin:8px 0 11px;font:400 29px/1.1 Georgia,serif}.doctor-profile p{margin:0;color:#aca3b2;font-size:11px;line-height:1.65}.visit-context{margin-top:30px;padding-top:23px;border-top:1px solid var(--line-dark)}.visit-context>span{color:var(--segment)}.visit-context ul{margin:14px 0 0;padding:0;display:grid;gap:11px;list-style:none}.visit-context li{color:#ccc4d1;font-size:10px;line-height:1.45}.visit-context li::before{content:"—";margin-right:8px;color:var(--segment)}.secondary-button{height:42px;margin-top:auto;border:1px solid #594b67;background:transparent;color:#fff;font-size:9px;text-transform:uppercase;letter-spacing:1px}.secondary-button:hover{border-color:var(--segment)}
.conversation{--segment:var(--violet-bright);--segment-rgb:138,79,208;min-width:0;display:grid;grid-template-rows:82px minmax(0,1fr) auto auto auto;background:var(--paper)}.conversation.customizer{--segment:var(--cyan);--segment-rgb:56,198,217}.conversation.traditionalist{--segment:var(--magenta);--segment-rgb:214,75,154}.conversation-header{padding:0 36px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.6)}.live-indicator,.private-label{color:var(--muted);font-size:8px;letter-spacing:1.3px}.live-indicator{display:flex;align-items:center;gap:8px;color:var(--violet)}.conversation-header h1{margin:6px 0 0;font-size:15px;font-weight:600}.message-stream{min-height:0;overflow-y:auto;padding:34px max(30px,calc((100% - 850px)/2))}.message{max-width:78%;margin-bottom:25px;display:grid;grid-template-columns:35px 1fr;gap:12px;align-items:start}.message.user{margin-left:auto;grid-template-columns:1fr}.message-avatar{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;color:#fff;background:var(--ink);border:1px solid var(--segment);font-size:9px;font-weight:750;box-shadow:inset 0 0 0 7px rgba(var(--segment-rgb),.13)}.message-bubble{padding:14px 16px;border:1px solid var(--line);background:#fff;box-shadow:0 8px 24px rgba(40,24,51,.04)}.message.user .message-bubble{background:rgba(var(--segment-rgb),.075);border-color:rgba(var(--segment-rgb),.3)}.message-bubble p{margin:0;color:#39323f;font-size:13px;line-height:1.62;white-space:pre-wrap}.message-role{display:block;margin-bottom:7px;color:var(--muted);font-size:8px;letter-spacing:1px;text-transform:uppercase}.typing{display:flex;gap:4px;padding:7px 0}.typing i{width:5px;height:5px;border-radius:50%;background:var(--segment);animation:blink 1s infinite alternate}.typing i:nth-child(2){animation-delay:.2s}.typing i:nth-child(3){animation-delay:.4s}@keyframes blink{to{opacity:.2}}
.suggestion-area{padding:0 max(30px,calc((100% - 850px)/2)) 16px}.suggestions{display:flex;flex-wrap:wrap;gap:7px;margin-top:9px}.suggestions button{padding:9px 11px;border:1px solid var(--line);background:rgba(255,255,255,.7);color:var(--muted);font-size:10px;text-align:left}.suggestions button:hover{border-color:var(--segment);color:var(--text)}.composer{margin:0 max(30px,calc((100% - 850px)/2));min-height:60px;border:1px solid #cfc7d5;background:#fff;display:grid;grid-template-columns:1fr 44px;align-items:end;box-shadow:0 10px 30px rgba(40,24,51,.06)}.composer:focus-within{border-color:var(--segment);box-shadow:0 0 0 3px rgba(var(--segment-rgb),.1)}.composer textarea{max-height:150px;resize:none;padding:18px;border:0;outline:0;background:transparent;color:var(--text);font-size:13px;line-height:1.5}.composer button{width:35px;height:35px;margin:0 8px 12px 0;border:0;background:var(--ink);color:#fff;font-size:19px}.composer button:hover{background:var(--segment)}.composer button:disabled{opacity:.4;cursor:wait}.composer-note{margin:8px max(30px,calc((100% - 850px)/2)) 14px;color:#918997;font-size:8px}.toast{position:fixed;right:22px;bottom:22px;max-width:360px;padding:13px 16px;border-left:3px solid var(--magenta);background:var(--ink);color:#fff;font-size:11px;opacity:0;transform:translateY(60px);transition:.2s ease;z-index:10}.toast.show{opacity:1;transform:translateY(0)}
@media(max-width:900px){.intro-layout{grid-template-columns:1fr}.science-orbit{display:none}.persona-grid{grid-template-columns:1fr}.persona-card{display:grid;grid-template-columns:230px 1fr;border-right:0;border-bottom:1px solid var(--line)}.persona-card:last-child{border-bottom:0}.segment-visual{height:auto;min-height:270px;border-bottom:0;border-right:4px solid var(--segment)}.persona-copy{min-height:270px}.chat-view{grid-template-columns:270px 1fr}}
@media(max-width:680px){.site-header{height:68px}.poc-label{display:none}.home-view{padding-top:42px}.intro h1{font-size:43px;letter-spacing:-2px}.persona-card{display:block}.segment-visual{height:190px;min-height:0;border-right:0;border-bottom:4px solid var(--segment)}.persona-copy{min-height:250px}.future-module{grid-template-columns:40px 1fr}.future-status{display:none}.chat-view{height:calc(100vh - 68px);grid-template-columns:1fr}.doctor-panel{display:none}.conversation-header{padding:0 18px}.message-stream{padding:24px 18px}.message{max-width:92%}.suggestion-area{padding:0 18px 13px}.composer{margin:0 18px}.composer-note{margin-left:18px;margin-right:18px}.private-label{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* ==========================================================================
   RheumSim app additions — login view, Evidence Companion card, sources block
   (everything above this line is the shared visual shell from UI-standalone)
   ========================================================================== */

/* --- Login view -------------------------------------------------------- */
.login-view{position:fixed;inset:0;z-index:20;display:grid;grid-template-columns:1.1fr .9fr;background:var(--paper)}
.login-hero{position:relative;overflow:hidden;background:var(--ink);color:#fff;padding:clamp(36px,6vw,80px);display:flex;flex-direction:column;justify-content:space-between}
.login-hero::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 28% 30%,rgba(138,79,208,.38),transparent 46%),radial-gradient(circle at 82% 72%,rgba(56,198,217,.22),transparent 42%)}
.login-hero>*{position:relative}
.login-hero .wordmark{color:#fff}
.login-hero .wordmark small{color:#b8afc2}
.login-hero h1{margin:0 0 16px;font-size:clamp(34px,4vw,54px);line-height:1.02;font-weight:650;letter-spacing:-2px}
.login-hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--cyan)}
.login-hero p{margin:0;max-width:46ch;color:#c9c1d4;font-size:14px;line-height:1.6}
.login-hero .hero-foot{color:#8f869c;font-size:9px;letter-spacing:1.2px;text-transform:uppercase}
.login-form-panel{display:grid;place-items:center;padding:clamp(28px,5vw,64px)}
.login-form-panel form{width:min(360px,100%);display:grid;gap:13px}
.login-form-panel h2{margin:0;font:400 27px/1.1 Georgia,serif;color:var(--ink)}
.login-form-panel .sub{margin:0 0 10px;color:var(--muted);font-size:12px}
.login-form-panel label{color:var(--violet);font-size:9px;font-weight:750;letter-spacing:1.4px}
.login-form-panel input{height:44px;padding:0 13px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:13px}
.login-form-panel input:focus{outline:0;border-color:var(--violet-bright);box-shadow:0 0 0 3px rgba(138,79,208,.12)}
.login-form-panel button{height:46px;margin-top:6px;border:0;background:var(--ink);color:#fff;font-size:10px;text-transform:uppercase;letter-spacing:1.4px}
.login-form-panel button:hover{background:var(--violet-bright)}
.login-form-panel .legal{margin:4px 0 0;color:#918997;font-size:9px;line-height:1.5}
.login-form-panel .login-error{margin:-4px 0 0;min-height:14px;color:#c0392b;font-size:11px}
@media(max-width:820px){.login-view{grid-template-columns:1fr}.login-hero{display:none}}

/* --- Header sign-out -------------------------------------------------- */
.linklike{border:0;background:none;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:1px}
.linklike:hover{color:var(--ink)}

/* --- Evidence Companion card (below the 3-up persona grid) ----------- */
.evidence-card{--segment:#7a9a1e;--segment-rgb:122,154,30;width:100%;margin-top:22px;padding:0;border:1px solid var(--line);background:rgba(255,255,255,.86);color:var(--text);text-align:left;display:grid;grid-template-columns:150px 1fr auto;align-items:stretch;box-shadow:0 24px 70px rgba(49,29,66,.09);transition:transform .25s ease,box-shadow .25s ease}
.evidence-card:hover{transform:translateY(-5px);box-shadow:0 25px 45px rgba(33,18,49,.14)}
.evidence-visual{position:relative;overflow:hidden;background:var(--ink);border-right:4px solid var(--segment)}
.evidence-visual::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(var(--segment-rgb),.30),transparent 46%)}
.evidence-visual::after{content:"";position:absolute;left:50%;top:50%;width:58px;height:58px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid var(--segment);box-shadow:0 0 26px rgba(var(--segment-rgb),.45)}
.evidence-copy{padding:24px 26px;display:flex;flex-direction:column;align-items:flex-start;gap:8px}
.evidence-copy .persona-type{color:var(--violet)}
.evidence-copy h2{margin:0;color:var(--ink);font:400 26px/1.1 Georgia,serif}
.evidence-copy>p{margin:0;max-width:72ch;color:var(--muted);font-size:12px;line-height:1.6}
.evidence-copy .persona-tags{margin-top:6px}
.evidence-cta{align-self:center;padding:0 28px;white-space:nowrap;color:var(--ink);font-size:9px;text-transform:uppercase;letter-spacing:1px}
.evidence-cta b{margin-left:6px;color:#5f7a17;font-size:17px}
@media(max-width:820px){.evidence-card{grid-template-columns:1fr}.evidence-visual{min-height:120px;border-right:0;border-bottom:4px solid var(--segment)}.evidence-cta{padding:0 26px 22px}}

/* --- Knowledge-mode conversation theme ------------------------------- */
.conversation.knowledge{--segment:#5f7a17;--segment-rgb:95,122,23}
.profile-glyph.knowledge{--segment:#5f7a17;--segment-rgb:95,122,23}

/* --- Doctor panel: quick stats ------------------------------------- */
.doctor-stats{margin-top:22px;padding-top:20px;border-top:1px solid var(--line-dark);display:grid;gap:9px}
.doctor-stats div{display:flex;justify-content:space-between;color:#ccc4d1;font-size:10px}
.doctor-stats span:last-child{color:#fff;font-weight:700}

/* --- Sources block (Evidence Companion shows it open; persona chats keep
   it collapsed behind the toggle) --- */
.searched-note{margin:0 0 8px;color:var(--muted);font-size:10px;font-style:italic}
.sources-block{margin-top:12px;padding-top:11px;border-top:1px solid var(--line)}
.sources-toggle{display:flex;align-items:center;gap:5px;padding:0;border:0;background:none;color:var(--muted);font-size:8px;letter-spacing:1px;text-transform:uppercase}
.sources-toggle:hover{color:var(--segment)}
.sources-toggle::after{content:"\25be";font-size:9px;transition:transform .15s ease}
.sources-toggle[aria-expanded="true"]::after{transform:rotate(180deg)}
.sources-list{margin-top:8px}
.source-row{display:flex;gap:8px;align-items:baseline;padding:4px 0;color:#4a4353;font-size:11px;line-height:1.4}
.source-row::before{content:"\203A";color:var(--segment)}
.source-row .doc{font-weight:600}
.source-row .loc{color:var(--muted)}
.message-bubble p + p{margin-top:10px}
.message-bubble h3,.message-bubble h4,.message-bubble h5,.message-bubble h6{margin:16px 0 7px;color:var(--ink);line-height:1.3}.message-bubble h3:first-child,.message-bubble h4:first-child,.message-bubble h5:first-child,.message-bubble h6:first-child{margin-top:0}.message-bubble h3{font-size:16px}.message-bubble h4{font-size:14px}.message-bubble h5,.message-bubble h6{font-size:13px}.message-bubble ul,.message-bubble ol{margin:8px 0 12px;padding-left:24px;color:#39323f;font-size:13px;line-height:1.62}.message-bubble li+li{margin-top:6px}.message-bubble li>ul,.message-bubble li>ol{margin:6px 0 2px}.message-bubble code{padding:1px 4px;border-radius:3px;background:#eeeaf1;font:12px/1.4 monospace}.message-bubble strong{color:var(--ink)}

/* --- Session history page ------------------------------------------- */
.history-list{margin-top:18px;display:grid;gap:10px}
.history-card{--segment:var(--violet-bright);--segment-rgb:138,79,208;border:1px solid var(--line);background:#fff}
.history-card.customizer{--segment:var(--cyan);--segment-rgb:56,198,217}
.history-card.traditionalist{--segment:var(--magenta);--segment-rgb:214,75,154}
.history-card.knowledge{--segment:#5f7a17;--segment-rgb:95,122,23}
.history-card-header{width:100%;padding:14px 16px;border:0;background:none;display:flex;align-items:center;gap:14px;text-align:left;cursor:pointer}
.history-card-persona{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.history-avatar{width:32px;height:32px;border-radius:50%;flex-shrink:0;display:grid;place-items:center;color:#fff;background:var(--ink);border:1px solid var(--segment);font-size:9px;font-weight:750;box-shadow:inset 0 0 0 6px rgba(var(--segment-rgb),.13)}
.history-card-persona strong{display:block;font-size:12px;color:var(--text)}
.history-card-persona small{color:var(--muted);font-size:10px}
.history-card-time{color:var(--muted);font-size:10px;white-space:nowrap}
.history-card-caret{color:var(--muted);font-size:9px}
.history-card-caret::after{content:"\25be"}
.history-card-header[aria-expanded="true"] .history-card-caret::after{content:"\25b4"}
.history-card-body{padding:2px 16px 16px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}
.history-turn{padding:14px 0;border-bottom:1px solid var(--line)}
.history-turn:last-child{border-bottom:0}
.history-turn.user .message-bubble{background:rgba(var(--segment-rgb),.075);border-color:rgba(var(--segment-rgb),.3)}

/* --- Send / stop button ----------------------------------------------- */
.composer button.send-button{border-radius:50%;background:#2563eb;display:grid;place-items:center;transition:background .15s ease}
.composer button.send-button:hover{background:#1d4fd1}
.composer button.send-button .icon-stop{display:none}
.composer button.send-button.is-busy .icon-send{display:none}
.composer button.send-button.is-busy .icon-stop{display:block}
.composer button.send-button.is-busy{background:var(--ink);cursor:pointer}
.composer button.send-button.is-busy:hover{background:var(--ink-2)}
.composer button.send-button:disabled{background:#2563eb}

/* --- Edit + resend a user message -------------------------------------- */
.message.user .message-content{position:relative}
.message-edit-button{position:absolute;top:-9px;right:0;width:22px;height:22px;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--muted);display:grid;place-items:center;opacity:0;transition:opacity .12s ease}
.message.user:hover .message-edit-button{opacity:1}
.message-edit-button:hover{color:var(--ink);border-color:var(--segment)}
.message-edit-button svg{width:11px;height:11px}
.message-edit-area{width:100%}
.message-edit-area textarea{width:100%;min-height:54px;max-height:220px;padding:12px 14px;border:1px solid rgba(var(--segment-rgb),.4);background:#fff;color:var(--text);font:inherit;font-size:13px;line-height:1.5;resize:vertical}
.message-edit-area textarea:focus{outline:0;border-color:var(--segment);box-shadow:0 0 0 3px rgba(var(--segment-rgb),.1)}
.message-edit-actions{margin-top:8px;display:flex;justify-content:flex-end;gap:14px;align-items:center}
