:root{--bg:#f7fbfb;--card:#fff;--ink:#25293a;--ink2:#4a5162;--muted:#6d7383;--line:#e7eef1;--line-soft:#eaf6f5;--brand:#175c61;--brand-deep:#0f3d40;--brand-soft:#e4eef0;--brand-tint:#eaf6f5;--rose:#e8829a;--rose-soft:#fbe4ea;--rose-ink:#b0466a;--green:#2b8085;--green-soft:#eaf6f5;--green-ink:#0f3d40;--amber:#ffb672;--amber-soft:#fdead3;--amber-ink:#8a5a1e;--danger:#c96088;--danger-soft:#fbe4ea;--danger-ink:#8a2f4f;--shadow:0 1px 2px #0f3d400d, 0 8px 22px #0f3d4012;--shadow-sm:0 2px 8px #0f3d4012;--radius:16px;--serif:"Playfair Display", Georgia, "Times New Roman", serif;--sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box}html,body{height:100%;margin:0}body{font:14.5px / 1.5 var(--sans);color:var(--ink);background:var(--bg)}button{font:inherit;cursor:pointer}input,textarea,select{font:inherit;color:var(--ink)}a{color:var(--brand)}.serif{font-family:var(--serif);font-weight:600}.btn{border:1px solid var(--line);color:var(--ink);background:#fff;border-radius:10px;padding:8px 14px;font-weight:600;transition:all .15s}.btn:hover{background:#fbfdfd;border-color:#d3e1e2}.btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}.btn.primary:hover{background:var(--brand-deep);border-color:var(--brand-deep)}.btn.ghost{color:var(--muted);background:0 0;border-color:#0000}.btn.ghost:hover{color:var(--ink);background:var(--brand-tint)}.btn.danger{color:var(--danger-ink);background:#fff;border-color:#f0d3da}.btn.sm{border-radius:8px;padding:5px 10px;font-size:13px}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.icon{border-radius:8px;padding:4px 8px;line-height:1}input[type=text],input[type=password],input[type=number],textarea,select{border:1px solid var(--line);background:#fff;border-radius:10px;outline:none;width:100%;padding:9px 11px}input:focus,textarea:focus,select:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}input[type=number]{text-align:center;width:74px}textarea{resize:vertical;min-height:62px}.memory-textarea{min-height:150px}label.fld{margin:14px 0 6px;font-size:13px;font-weight:600;display:block}label.fld .hint{color:var(--muted);font-weight:400}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);color:var(--ink);-webkit-user-select:none;user-select:none;background:#fff;border-radius:999px;padding:6px 12px;font-size:13px;transition:all .12s}.chip:hover{border-color:#cfe0e1}.chip.on{background:var(--brand-soft);color:var(--brand-deep);border-color:#bcd7d9;font-weight:600}.chip .em{margin-right:5px}.radios{flex-wrap:wrap;gap:8px;display:flex}.pill{border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.pill.gray{color:var(--muted);background:#eef1f3}.pill.green{background:var(--green-soft);color:var(--green-ink)}.pill.brand{background:var(--brand-soft);color:var(--brand-deep)}.phase{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 9px;font-size:11.5px;font-weight:600;display:inline-flex}.phase .dot{border-radius:50%;width:7px;height:7px}.phase.period{color:#a8324f;background:#ffe1e4}.phase.period .dot{background:#ff8b98}.phase.follicular{color:#12595d;background:#e4f5f3}.phase.follicular .dot{background:#b7e4e0}.phase.fertile{color:#8a5a1e;background:#fbeecb}.phase.fertile .dot{background:#f6c453}.phase.luteal{color:#5b4a8a;background:#ece6fb}.phase.luteal .dot{background:#c8b6ff}.phase.none{color:var(--muted);background:#eef1f3}.phase.none .dot{background:#c9d1d6}.login-wrap{background:radial-gradient(1200px 500px at 50% -10%, #eaf9f8, transparent), var(--bg);place-items:center;min-height:100vh;padding:20px;display:grid}.login-card{background:var(--card);border:1px solid var(--line);width:372px;max-width:100%;box-shadow:var(--shadow);text-align:center;border-radius:22px;padding:36px 32px}.login-card .logo{font-size:36px}.login-card h1{font-family:var(--serif);color:var(--brand-deep);margin:10px 0 2px;font-size:24px;font-weight:600}.login-card p.sub{color:var(--muted);margin:0 0 22px;font-size:13px}.login-card .fld{text-align:left}.topbar{border-bottom:1px solid var(--line);z-index:20;background:#fff;align-items:center;gap:12px;height:56px;padding:0 20px;display:flex;position:sticky;top:0}.topbar .brand{font-family:var(--serif);color:var(--brand-deep);align-items:center;gap:8px;font-size:18px;font-weight:600;display:flex}.topbar .crumb{color:var(--muted);align-items:center;gap:8px;font-size:13.5px;display:flex}.topbar .crumb a,.topbar .crumb .link{cursor:pointer;font-weight:600}.topbar .crumb .link{color:var(--brand);font:inherit;background:0 0;border:0;padding:0;font-weight:600}.topbar .crumb .sep{color:#c9d6d8}.topbar .crumb .cur{color:var(--ink);font-weight:600}.topbar .spacer{flex:1}.people-screen{max-width:1000px;margin:0 auto;padding:26px 22px 48px}.people-head h1{font-family:var(--serif);color:var(--brand-deep);margin:0 0 3px;font-size:23px;font-weight:600}.people-head .lede{color:var(--muted);margin:0 0 18px}.people-toolbar{align-items:center;gap:12px;margin-bottom:16px;display:flex}.people-toolbar .search{max-width:320px}.people-toolbar .count{color:var(--muted);font-size:12.5px}.people-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:14px;display:grid}.pcard{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow);background:#fff;padding:16px;transition:all .15s}.pcard:hover{border-color:#cfe0e1;transform:translateY(-1px);box-shadow:0 4px 14px #0f3d401a}.pcard .row1{align-items:center;gap:11px;margin-bottom:10px;display:flex}.pcard .av{background:var(--brand-soft);width:42px;height:42px;color:var(--brand-deep);border-radius:50%;flex:0 0 42px;place-items:center;font-size:18px;font-weight:700;display:grid}.pcard .nm{font-size:15px;font-weight:700}.pcard .sub{color:var(--muted);font-size:12.5px}.pcard .tagline{color:var(--ink2);min-height:34px;font-size:12.5px}.pcard .stats{border-top:1px solid var(--line-soft);align-items:center;gap:16px;margin-top:10px;padding-top:12px;display:flex}.pcard .stat .n{font-size:16px;font-weight:700}.pcard .stat .l{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px}.pcard.add{text-align:center;color:var(--muted);box-shadow:none;border-style:dashed;place-items:center;min-height:168px;display:grid}.pcard.add:hover{color:var(--brand);border-color:var(--brand)}.pcard.add .plus{font-size:26px;line-height:1}.work{grid-template-columns:356px 1fr;height:calc(100vh - 56px);display:grid}.col{overflow-y:auto}.col.left{border-right:1px solid var(--line);background:#fff}.person-hd{border-bottom:1px solid var(--line-soft);padding:16px 16px 12px}.person-hd input.name{font-family:var(--serif);padding:6px 9px;font-size:17px;font-weight:600}.person-hd .person-sub{color:var(--muted);margin-top:6px;font-size:12.5px}.ctx-cards{flex-direction:column;gap:8px;padding:14px 16px 4px;display:flex}.ctx-card{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;transition:all .15s;display:flex}.ctx-card:hover{background:#fbfdfd;border-color:#cfe0e1}.ctx-card.on{border-color:var(--brand);background:var(--brand-tint);box-shadow:inset 2px 0 0 var(--brand)}.ctx-card .ic{text-align:center;width:22px;font-size:17px}.ctx-card .lbl{flex:1;font-weight:600}.ctx-card .cnt{color:var(--muted);white-space:nowrap;font-size:12px}.ctx-card .chev{color:var(--muted)}.ctx-note{color:var(--muted);padding:6px 16px 0;font-size:11.5px;font-style:italic}.conv-sec{padding:14px 16px 24px}.conv-sec .hdrow{align-items:center;margin-bottom:10px;display:flex}.conv-sec .hdrow .t{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:12px;font-weight:700}.conv-sec .hdrow .spacer{flex:1}.conv{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;margin-bottom:9px;padding:11px 13px;transition:all .15s}.conv:hover{box-shadow:var(--shadow-sm);border-color:#cfe0e1}.conv.on{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-tint)}.conv .top{align-items:center;gap:8px;margin-bottom:6px;display:flex}.conv .date{font-weight:700}.conv .rel{color:var(--muted);font-size:12px}.conv .spacer{flex:1}.conv .snip{color:var(--ink2);white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.conv .foot{color:var(--muted);align-items:center;gap:8px;margin-top:7px;font-size:12px;display:flex}.detail-hd{z-index:3;border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;align-items:center;gap:12px;padding:12px 20px;display:flex;position:sticky;top:0}.detail-hd .title{font-family:var(--serif);color:var(--brand-deep);font-size:16px;font-weight:600}.detail-hd .asof{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.detail-hd .asof b{color:var(--ink)}.detail-hd .spacer{flex:1}.detail-hd .conv-date{cursor:pointer;align-items:center;gap:6px;font-size:13px;display:flex}.detail-hd .conv-date-input{border:1px solid var(--line);font:inherit;color:var(--ink);cursor:pointer;background:#fff;border-radius:8px;padding:3px 7px;font-size:13px}.detail-hd .conv-date-input:hover{border-color:#cfe0e1}.detail-hd .conv-date-input:focus{border-color:var(--brand);box-shadow:0 0 0 2px var(--brand-tint);outline:none}.detail-hd .conv-date .rel{color:var(--muted);font-size:12px}.detail-body{grid-template-columns:1fr 340px;align-items:start;display:grid}@media (width<=1200px){.detail-body{grid-template-columns:1fr}}.thread-wrap{padding:18px 20px}.sees{border-left:1px solid var(--line);background:#fbfdfd;align-self:stretch;min-height:calc(100vh - 109px);padding:16px;position:sticky;top:53px}.panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:20px}.subtle{color:var(--muted);margin:10px 0 4px;font-size:12.5px;font-weight:600}.rowline{align-items:center;gap:8px;display:flex}.ci{border:1px solid var(--line);background:#fff;border-radius:12px;margin-bottom:10px;overflow:hidden}.ci.open{box-shadow:var(--shadow-sm)}.ci-head{cursor:pointer;align-items:center;gap:12px;padding:11px 14px;display:flex}.ci-head:hover{background:var(--brand-tint)}.ci-date{white-space:nowrap;font-weight:600}.ci-date .muted{color:var(--muted);font-weight:400}.ci-summary{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.ci-summary .note-snip{color:var(--muted);font-style:italic}.ci-summary .empty-tag{color:var(--muted)}.mini{white-space:nowrap;background:#f1f4f5;border-radius:999px;padding:2px 8px;font-size:12px}.mini.energy{background:var(--brand-soft);color:var(--brand-deep)}.ci-actions{color:var(--muted);align-items:center;gap:4px;display:flex}.ci-chev{font-size:18px;transition:all .15s;display:inline-block}.ci.open .ci-chev{transform:rotate(90deg)}.ci-body{padding:4px 14px 14px}.when{color:var(--muted);align-items:center;gap:8px;margin:6px 0 4px;font-size:13px;display:flex}.stepper{border:1px solid var(--line);border-radius:9px;align-items:center;display:inline-flex;overflow:hidden}.stepper button{color:var(--ink);background:#fff;border:none;padding:5px 11px;font-weight:700}.stepper button:hover{background:var(--brand-tint)}.stepper input{border:none;border-left:1px solid var(--line);border-right:1px solid var(--line);text-align:center;border-radius:0;width:50px}.stepper input:focus{box-shadow:none}.periods-head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;display:flex}.periods-head .subtle{max-width:560px;margin:0;font-weight:600;line-height:1.45}.periods-head .btn{white-space:nowrap;flex:none}.per{border:1px solid var(--line);background:#fff;border-radius:14px;grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:10px;padding:14px 16px;display:grid}.per-dot{background:#ff8b98;border-radius:50%;flex:0 0 9px;width:9px;height:9px}.per-content{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:16px;min-width:0;display:grid}.per-fields{flex-wrap:wrap;align-items:center;gap:8px 10px;min-width:0;display:flex}.per-control{color:var(--ink);white-space:nowrap;align-items:center;gap:8px;font-weight:500;display:inline-flex}.per-fields input[type=number]{width:68px;height:40px;padding:7px 8px}.per-sep{color:var(--muted)}.per-dates{color:var(--muted);border:1px solid var(--line-soft);text-align:center;white-space:nowrap;background:#f8fbfb;border-radius:999px;min-width:138px;padding:6px 12px}.per-dates.missing{color:#8a5a1e;background:#fff8e6;border-color:#f0dfb2}.per-delete{color:var(--muted);white-space:nowrap;justify-self:end}@media (width<=720px){.periods-head{flex-direction:column;align-items:flex-start}.per{grid-template-columns:9px minmax(0,1fr);align-items:flex-start}.per-content{grid-template-columns:1fr;gap:10px}.per-dates{text-align:left;justify-self:start;width:100%;min-width:0}.per-delete{grid-column:2;justify-self:start}}.thread{flex-direction:column;display:flex}.conv-help{color:var(--muted);margin-bottom:8px;font-size:13px}.inserter{opacity:0;justify-content:center;align-items:center;gap:6px;height:16px;transition:all .12s;display:flex}.inserter:hover{opacity:1}.inserter button{color:var(--muted);background:#fff;border:1px dashed #cfe0e1;border-radius:999px;padding:1px 9px;font-size:11.5px}.inserter button:hover{color:var(--brand);border-color:var(--brand)}.msg{align-items:flex-start;gap:12px;padding:4px 0;display:flex}.msg.right{flex-direction:row-reverse}.avatar{border-radius:50%;flex:0 0 34px;place-items:center;width:34px;height:34px;margin-top:2px;font-size:16px;display:grid}.avatar.grace{background:var(--rose-soft)}.avatar.user{background:var(--brand-soft)}.avatar.rubric-avatar{background:#fff;border:1px dashed #e3c8d2}.msg .body{min-width:0;max-width:80%}.meta{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-bottom:5px;font-size:12px;font-weight:600;display:flex}.msg.right .meta{flex-direction:row-reverse}.meta .ctrls{opacity:0;gap:2px;transition:all .12s;display:flex}.msg:hover .meta .ctrls{opacity:1}.meta .ctrls button:hover{color:var(--ink);background:var(--brand-tint)}.bubble{border:1px solid var(--line);background:#fff;border-radius:14px}.bubble textarea{field-sizing:content;background:0 0;border:none;min-height:0;padding:11px 13px}.bubble textarea:focus{box-shadow:none}.bubble.grace{background:#fdf3f6;border-color:#f3d9e1;border-top-left-radius:5px}.bubble.user{background:var(--brand-tint);border-color:#dcebec;border-top-right-radius:5px}.bubble.rubric-bubble{background:#fffdfe;border:1px dashed #e3c8d2}.rubric-lbl{color:var(--rose-ink)}.rubric-add{color:var(--rose-ink);text-align:left;background:#fffdfe;border:1px dashed #e3c8d2;border-radius:12px;padding:9px 12px;font-size:12.5px;font-weight:600}.rubric-add:hover{border-color:var(--rose)}.rubric{flex-direction:column;gap:10px;display:flex}.rubric-sect{flex-direction:column;gap:4px;display:flex}.rubric-hint{letter-spacing:0;text-transform:none;color:var(--muted);font-weight:600}.rubric-hd{letter-spacing:.04em;text-transform:uppercase;color:var(--rose-ink);cursor:help;font-size:11.5px;font-weight:700}.bullet{align-items:flex-start;gap:4px;display:flex}.bullet-dot{color:var(--muted);flex:none;padding:10px 0 0 2px}.bullet textarea{field-sizing:content;resize:none;background:#fffdfe;border:1px dashed #e3c8d2;border-radius:12px;flex:1;min-width:0;min-height:0;padding:8px 11px}.bullet .btn.icon{opacity:0;margin-top:6px;transition:all .12s}.bullet:hover .btn.icon,.bullet textarea:focus+.btn.icon{opacity:1}.bullet-add{color:var(--rose-ink);background:0 0;border:none;align-self:flex-start;padding:2px 4px;font-size:12px;font-weight:600}.bullet-add:hover{text-decoration:underline}.composer{border-top:1px solid var(--line);align-items:center;gap:10px;margin-top:16px;padding-top:14px;display:flex}.composer input{flex:1}.seg{background:#f1f4f5;border-radius:10px;padding:3px;display:inline-flex}.seg .segbtn{color:var(--muted);background:0 0;border:none;border-radius:8px;padding:5px 11px;font-size:13px;font-weight:600}.seg .segbtn.on{color:var(--brand-deep);box-shadow:var(--shadow-sm);background:#fff}.seg.sm .segbtn{padding:3px 9px;font-size:12px}@media (width<=720px){.msg .body{max-width:100%}}.sees .box{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;overflow:hidden}.sees .hd{border-bottom:1px solid var(--line);font-family:var(--serif);color:var(--brand-deep);background:var(--brand-tint);padding:11px 14px;font-size:13.5px;font-weight:600}.sees .hd .asofd{font-family:var(--sans);color:var(--muted);margin-top:1px;font-size:11.5px;font-weight:400}.sees .facts{grid-template-columns:1fr 1fr;gap:2px 12px;padding:13px 14px;display:grid}.sees .facts .k{color:var(--muted);font-size:11.5px}.sees .facts .v{margin-bottom:7px;font-size:13px;font-weight:600}.sees .tool{border-top:1px solid var(--line);padding:11px 14px}.sees .tool .tn{color:var(--brand-deep);background:var(--brand-soft);border-radius:6px;padding:1px 7px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;display:inline-block}.sees .tool .out{color:var(--ink2);white-space:pre-wrap;margin-top:6px;font-size:12.5px}.sees .note{color:var(--muted);text-align:center;margin-top:10px;font-size:11.5px}.empty{color:var(--muted);text-align:center;padding:40px}.modal-bg{z-index:40;background:#0f3d4057;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:#fff;border-radius:18px;width:100%;max-width:760px;max-height:84vh;overflow:auto;box-shadow:0 24px 60px #0f3d4047}.modal .mh{border-bottom:1px solid var(--line);font-family:var(--serif);color:var(--brand-deep);align-items:center;padding:16px 20px;font-weight:600;display:flex}.modal .mh .spacer{flex:1}.modal .mb{padding:20px}.modal pre{background:var(--brand-tint);border:1px solid var(--line);border-radius:10px;padding:12px;font-size:12.5px;overflow:auto}.filehd{align-items:center;gap:8px;margin:14px 0 6px;display:flex}.filehd code{font-weight:700}.exp-opt{border:1px solid var(--line);border-radius:12px;margin-top:14px;padding:14px 16px}.exp-hd{align-items:center;gap:12px;display:flex}.exp-hd code{overflow-wrap:anywhere;flex:1;min-width:0;font-weight:700}.exp-opt p{margin:8px 0 0}.toast{background:var(--brand-deep);color:#fff;box-shadow:var(--shadow);z-index:60;border-radius:999px;padding:10px 18px;position:fixed;bottom:24px;left:50%;transform:translate(-50%)}.chat-empty{place-items:center;padding:60px 22px;display:grid}.chat-drop{text-align:center;border:2px dashed var(--line);border-radius:var(--radius);background:#fff;width:100%;max-width:560px;padding:40px 32px;transition:all .15s}.chat-drop.over{border-color:var(--brand);background:var(--brand-tint)}.chat-drop-icon{margin-bottom:6px;font-size:34px}.chat-drop h2{font-family:var(--serif);color:var(--brand-deep);margin:0 0 6px;font-size:21px;font-weight:600}.chat-drop .lede{color:var(--muted);margin:0 0 18px}.chat-file-btn{cursor:pointer;display:inline-block}.chat-hint{color:var(--muted);margin:18px 0 0;font-size:12.5px}.chat-hint code,.chat-drop code{background:var(--brand-tint);border-radius:6px;padding:1px 5px;font-size:12px}.chat-error{background:var(--danger-soft);color:var(--danger-ink);text-align:left;border-radius:10px;margin-top:16px;padding:9px 12px;font-size:12.5px}.chat-screen{max-width:1280px;margin:0 auto;padding:22px 22px 40px}.chat-head{align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.chat-head h1{font-family:var(--serif);color:var(--brand-deep);overflow-wrap:anywhere;margin:0 0 3px;font-size:22px;font-weight:600}.chat-head .lede{color:var(--muted);margin:0;font-size:13px}.chat-head .spacer{flex:1}.chat-stats{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;flex-wrap:wrap;gap:22px;margin-bottom:16px;padding:14px 18px;display:flex}.chat-stat-n{color:var(--brand-deep);font-size:17px;font-weight:700}.chat-stat-l{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px}.chat-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:14px;display:flex}.chat-toolbar .search{max-width:300px}.chat-toolbar .count{color:var(--muted);margin-left:auto;font-size:12.5px}.chat-select{width:auto;min-width:150px;padding:7px 10px;font-size:12.5px}.chat-body{grid-template-columns:minmax(240px,340px) 1fr;align-items:start;gap:16px;display:grid}.chat-list{max-height:calc(100vh - 300px);padding-right:4px;overflow-y:auto}.chat-group{margin-bottom:14px}.chat-group-hd{background:var(--brand-tint);border:1px solid var(--line-soft);cursor:pointer;border-radius:12px;margin-bottom:8px;padding:9px 12px;transition:all .15s}.chat-group-hd:hover{border-color:var(--brand)}.chat-group-top{align-items:center;gap:8px;display:flex}.chat-group-top .spacer{flex:1}.chat-group-id{color:var(--brand-deep);font-size:12.5px;font-weight:700}.chat-group-count{color:var(--brand-deep);background:#fff;border-radius:999px;padding:1px 8px;font-size:11.5px;font-weight:700}.chat-group-hd .chev{color:var(--muted);font-size:11px}.chat-group-sub{color:var(--ink2);overflow-wrap:anywhere;margin-top:4px;font-size:12px}.chat-group-meta{color:var(--muted);margin-top:2px;font-size:11.5px}.chat-group .conv{margin-left:12px}.chat-list .conv .foot{color:var(--muted);overflow-wrap:anywhere;margin-top:6px;font-size:11.5px}.chat-detail{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;max-height:calc(100vh - 300px);overflow-y:auto}.chat-transcript-hd{border-bottom:1px solid var(--line-soft);z-index:1;background:#fff;padding:16px 20px;position:sticky;top:0}.chat-transcript-hd h2{font-size:15px;font-family:var(--sans);margin:0 0 3px;font-weight:700}.chat-sub{color:var(--muted);font-size:12px}.chat-profile{background:var(--brand-tint);border-bottom:1px solid var(--line-soft);padding:12px 20px;font-size:12.5px}.chat-profile-line{color:var(--brand-deep);margin-bottom:4px;font-weight:700}.chat-profile-row{color:var(--ink2);margin-top:2px}.chat-profile-key{color:var(--muted);margin-right:6px;font-weight:600}.chat-turns{padding:14px 20px 24px}.chat-turn{border-bottom:1px solid var(--line-soft);gap:10px;padding:10px 0;display:flex}.chat-turn:last-child{border-bottom:none}.chat-turn-no{color:var(--muted);min-width:18px;padding-top:10px;font-size:11px;font-weight:700}.chat-turn-body{flex:1;min-width:0}.chat-bubble{white-space:pre-wrap;overflow-wrap:anywhere;padding:10px 13px;font-size:13.5px;line-height:1.5}.chat-tags{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.chat-tags .pill.gray{background:var(--line-soft);color:var(--ink2)}.chat-tags .pill.green{background:var(--green-soft);color:var(--green-ink)}.pill.chat-warn{background:var(--amber-soft);color:var(--amber-ink)}.chat-dim{color:var(--muted);font-weight:500}.chat-comment{color:var(--ink2);margin-top:6px;font-size:12.5px;font-style:italic}@media (width<=900px){.chat-body{grid-template-columns:1fr}.chat-list,.chat-detail{max-height:none}}
