:root{--ink:#1e2925;--muted:#71807a;--line:#dfe7e2;--paper:#fff;--canvas:#f4f7f3;--green:#1d6b54;--green-2:#dcefe7;--green-3:#eef7f2;--amber:#b8752a;--blue:#516b9e;--rose:#a95c67;--shadow:0 16px 45px rgba(29,57,46,.08)}
*{box-sizing:border-box}html,body{margin:0;min-width:320px;height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--canvas);-webkit-font-smoothing:antialiased}button,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.app-shell{height:100%;display:flex;flex-direction:column}.topbar{height:72px;flex:none;padding:0 24px;display:grid;grid-template-columns:260px 1fr 260px;align-items:center;background:rgba(255,255,255,.92);border-bottom:1px solid var(--line);backdrop-filter:blur(18px);z-index:5}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:11px}.brand-mark{position:relative;width:39px;height:39px;border-radius:50%;background:var(--ink);overflow:hidden}.brand-mark i:first-child{position:absolute;width:23px;height:23px;border:2px solid #b5dac8;border-radius:50%;left:8px;top:8px}.brand-mark i:last-child{position:absolute;width:11px;height:11px;border-radius:50%;background:#d7a556;right:3px;top:2px}.brand b{display:block;font-size:18px;letter-spacing:.18em}.brand small{display:block;color:var(--muted);font-size:9px;letter-spacing:.15em;margin-top:2px}.flow{display:flex;align-items:center;justify-content:center;gap:12px;color:#99a39f;font-size:11px}.flow span{display:flex;align-items:center;gap:6px}.flow span b{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#edf0ee;font-size:9px}.flow span.active{color:var(--green);font-weight:700}.flow span.active b{background:var(--green);color:white}.flow>i{width:55px;height:1px;background:var(--line)}.privacy{display:flex;justify-content:flex-end;align-items:center;gap:7px;font-size:11px;color:var(--muted)}.live-dot{width:7px;height:7px;border-radius:50%;background:#46aa7c;display:inline-block;box-shadow:0 0 0 4px #e6f5ed}.privacy button{width:23px;height:23px;border-radius:50%;border:1px solid var(--line);background:white;color:var(--muted)}
.workspace{flex:1;min-height:0;display:grid;grid-template-columns:264px minmax(440px,1fr) 350px;gap:14px;padding:14px;margin:0;width:100%;max-width:none}.left-rail,.conversation,.model-panel{background:var(--paper);border:1px solid var(--line);border-radius:18px;min-height:0;box-shadow:var(--shadow)}.left-rail{padding:18px;overflow:auto}.profile-card{display:flex;align-items:center;gap:11px;padding-bottom:17px;border-bottom:1px solid var(--line)}.avatar{width:44px;height:44px;border-radius:15px;background:var(--green-2);color:var(--green);display:grid;place-items:center;font-family:serif;font-weight:700;font-size:18px;position:relative}.avatar span{position:absolute;width:10px;height:10px;background:#52ad83;border:2px solid white;border-radius:50%;right:-2px;bottom:-1px}.profile-card p{margin:0 0 4px;color:var(--muted);font-size:10px}.profile-card h3{margin:0;font-size:13px;font-weight:650}.section-label{font-size:10px;color:#8b9892;letter-spacing:.12em;font-weight:700;margin:20px 2px 9px}.relationship-card{padding:14px;border-radius:14px;background:var(--green-3);border:1px solid #dcece4}.relation-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.relation-head div:first-child{display:flex;flex-direction:column}.relation-head span{font-size:11px;color:var(--green)}.relation-head strong{font-family:Georgia,serif;font-size:25px;font-weight:500;margin-top:2px}.rings{display:flex;align-items:flex-end;height:38px}.rings i{display:block;border:1px solid #8db9a6;border-radius:50%;margin-left:-7px}.rings i:nth-child(1){width:18px;height:18px}.rings i:nth-child(2){width:27px;height:27px}.rings i:nth-child(3){width:36px;height:36px;background:rgba(255,255,255,.45)}.metric{margin:11px 0}.metric label{display:flex;justify-content:space-between;font-size:10px;color:#5c7469}.metric>div{height:4px;background:#d8e7df;border-radius:10px;margin-top:5px;overflow:hidden}.metric i{display:block;height:100%;width:30%;background:var(--green);border-radius:10px;transition:width .5s}.relation-note{margin:13px 0 0;padding-top:11px;border-top:1px solid #d8e8df;font-size:10px;line-height:1.55;color:#597066}.session-nav{display:flex;flex-direction:column;gap:5px}.session-nav button{display:flex;text-align:left;align-items:center;gap:10px;width:100%;border:0;background:transparent;padding:9px 7px;border-radius:10px;color:var(--ink)}.session-nav button.active{background:#f1f4f2}.session-nav button>span{width:23px;height:23px;border-radius:8px;background:#edf0ee;color:#859089;display:grid;place-items:center;font-size:10px}.session-nav button.done>span{background:var(--green-2);color:var(--green)}.session-nav b,.session-nav small{display:block}.session-nav b{font-size:11px}.session-nav small{font-size:9px;color:var(--muted);margin-top:3px}.safety-note{display:flex;gap:9px;background:#faf6ec;border:1px solid #eee3c8;border-radius:13px;padding:11px;margin-top:20px}.safety-note>span{width:21px;height:21px;border-radius:50%;background:#eadcb9;color:#80682f;display:grid;place-items:center;flex:none}.safety-note p{font-size:9px;line-height:1.55;color:#786e56;margin:0}.safety-note b{font-size:10px;display:block;margin-bottom:3px;color:#5b513b}
.conversation{display:flex;flex-direction:column;overflow:hidden}.conversation-head{padding:18px 21px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:20px;justify-content:space-between}.conversation-head p{font-size:10px;color:var(--green);margin:0 0 5px}.conversation-head h1{font-family:Georgia,"Songti SC",serif;font-size:17px;font-weight:500;margin:0}.ghost-btn{border:1px solid var(--line);background:white;color:var(--muted);border-radius:9px;padding:7px 10px;font-size:10px}.messages{flex:1;min-height:0;overflow:auto;padding:24px 24px 12px;scroll-behavior:smooth;background:linear-gradient(180deg,#fff 0%,#fdfefd 75%,#fafcfa 100%)}.message{display:flex;gap:9px;margin-bottom:19px;animation:rise .25s ease both}.message.user{justify-content:flex-end}.message-avatar{width:27px;height:27px;border-radius:9px;display:grid;place-items:center;background:var(--green-2);color:var(--green);font-size:10px;flex:none;margin-top:2px}.message>div:last-child{max-width:min(640px,79%)}.bubble{padding:12px 14px;background:#eff3f0;border-radius:4px 16px 16px 16px;font-size:13px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.message.user .bubble{background:var(--ink);color:white;border-radius:16px 16px 4px 16px}.message time{display:block;font-size:9px;color:#9ba49f;margin:5px 3px 0}.message.user time{text-align:right}.typing{display:flex;gap:4px;padding:4px}.typing i{width:5px;height:5px;background:#799086;border-radius:50%;animation:blink 1s infinite}.typing i:nth-child(2){animation-delay:.12s}.typing i:nth-child(3){animation-delay:.24s}.starters{margin:3px 0 18px 37px}.starters p{font-size:9px;color:var(--muted);margin:0 0 8px}.starters button,.preference-row button{border:1px solid var(--line);background:white;border-radius:20px;padding:7px 10px;font-size:10px;color:#53615b;margin:0 4px 5px 0}.starters button:hover,.preference-row button:hover{border-color:#8eb6a5;color:var(--green);background:var(--green-3)}.composer-area{padding:10px 18px 12px;border-top:1px solid var(--line)}.preference-row{display:flex;align-items:center;white-space:nowrap;overflow:auto;margin-bottom:5px}.preference-row span{font-size:9px;color:var(--muted);margin-right:6px}.preference-row button{padding:5px 9px;margin-bottom:0}.composer{display:flex;align-items:flex-end;gap:8px;background:#f1f4f2;border:1px solid transparent;border-radius:14px;padding:7px 7px 7px 13px}.composer:focus-within{background:white;border-color:#9bbcac;box-shadow:0 0 0 3px var(--green-3)}textarea{border:0;background:transparent;outline:0;resize:none;line-height:1.55;min-height:34px;max-height:110px;flex:1;padding:6px 0;font-size:13px;color:var(--ink)}textarea::placeholder{color:#9ba49f}.composer>button{width:37px;height:37px;border:0;border-radius:11px;background:var(--green);color:white;font-size:17px}.composer>button:disabled{opacity:.4}.composer-area>p{text-align:center;font-size:8px;color:#a1aaa5;margin:6px 0 0}
.model-panel{padding:18px;overflow:auto}.panel-title{display:flex;justify-content:space-between;align-items:center}.panel-title small{font-size:8px;letter-spacing:.16em;color:#8e9994}.panel-title h2{font-family:Georgia,"Songti SC",serif;font-size:17px;font-weight:500;margin:3px 0 0}.panel-title>span{font-size:9px;padding:5px 8px;background:#eff3f1;color:#6e7b75;border-radius:20px}.state-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}.state-card{min-height:94px;border:1px solid var(--line);border-radius:13px;padding:11px;display:flex;gap:8px;transition:.25s}.state-card.updated{border-color:#91baa8;background:#f7fbf9}.state-card.emotion{background:#f3f7fb}.state-card.gap{background:#fbf7f3}.state-icon{width:24px;height:24px;flex:none;border-radius:8px;background:white;border:1px solid var(--line);display:grid;place-items:center;color:var(--green);font-size:11px}.state-card small{font-size:7px;letter-spacing:.07em;color:#8a9690;display:block;line-height:1.35}.state-card b{display:block;font-size:12px;margin:7px 0 3px}.state-card p{font-size:8px;color:var(--muted);margin:0;line-height:1.45}.evidence{margin-top:9px;padding:10px 11px;border-left:2px solid #a5c5b7;background:#f6f9f7}.evidence span{font-size:8px;color:var(--green);font-weight:700}.evidence p{font-size:9px;line-height:1.55;color:#66756e;margin:4px 0 0}.divider{height:1px;background:var(--line);margin:18px 0}.decision-title>span{background:#f8f0e5;color:var(--amber)}.decision-empty{height:135px;border:1px dashed #cad5cf;border-radius:13px;margin-top:14px;display:grid;place-items:center;text-align:center;padding:20px}.decision-empty i{width:42px;height:23px;border:1px solid #9eb3a9;border-radius:50%;position:relative}.decision-empty i:after{content:"";position:absolute;right:-12px;top:10px;width:16px;border-top:1px solid #9eb3a9}.decision-empty p{font-size:9px;line-height:1.6;color:var(--muted);max-width:220px;margin:9px 0 0}.decision-content{margin-top:13px}.selected-action{background:var(--ink);color:white;border-radius:13px;padding:12px 13px}.selected-action>small{font-size:8px;color:#aab7b1;letter-spacing:.1em}.selected-action>div{display:flex;justify-content:space-between;align-items:center;margin:5px 0}.selected-action strong{font-family:Georgia,"Songti SC",serif;font-size:17px;font-weight:500}.selected-action span{color:#a5d3be;font-size:15px}.selected-action p{font-size:8px;color:#c3cdc8;margin:0;line-height:1.5}.candidate-title{display:flex;justify-content:space-between;margin:13px 1px 7px;font-size:9px;color:#68756f}.candidate-title small{font-size:8px;color:#9ca6a1}.candidate{display:grid;grid-template-columns:58px 1fr 28px;align-items:center;gap:7px;margin:7px 0;font-size:9px}.candidate>span:last-child{text-align:right;color:#64726b}.candidate-track{height:5px;background:#edf1ef;border-radius:8px;overflow:hidden}.candidate-track i{display:block;height:100%;background:#92b9a8;border-radius:8px}.candidate.best{color:var(--green);font-weight:700}.candidate.best .candidate-track i{background:var(--green)}.formula{display:flex;align-items:center;justify-content:space-between;gap:3px;background:#f5f7f5;border-radius:9px;padding:8px;margin-top:12px;font-size:7px;color:#718078}.formula b{color:#9da8a2}.formula strong{color:var(--green)}
.modal-backdrop{position:fixed;z-index:20;inset:0;background:rgba(25,37,32,.48);backdrop-filter:blur(6px);display:grid;place-items:center;padding:20px}.modal{position:relative;width:min(600px,100%);max-height:92vh;overflow:auto;background:white;border-radius:22px;padding:27px;box-shadow:0 30px 90px rgba(15,31,24,.25)}.modal-kicker{font-size:9px;letter-spacing:.15em;color:var(--green);font-weight:700}.modal h2{font-family:Georgia,"Songti SC",serif;font-size:24px;font-weight:500;margin:7px 0}.modal-copy{font-size:11px;line-height:1.65;color:var(--muted);margin:0 0 21px}.question-title{display:block;font-size:11px;font-weight:650;margin:18px 0 9px}.question-title small{font-weight:400;color:#98a29d}.choice-row{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.choice-row button,.need-choices button{border:1px solid var(--line);background:white;border-radius:11px;padding:9px 5px;color:#53615b;font-size:10px}.choice-row button i{font-style:normal;font-family:Georgia,serif;font-size:16px;display:block;margin-bottom:3px}.choice-row button small{display:block;font-size:8px;color:#929d98;margin-top:3px}.choice-row button.selected,.need-choices button.selected{border-color:var(--green);background:var(--green-3);color:var(--green);box-shadow:0 0 0 2px var(--green-2)}.need-choices{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.need-choices button{text-align:left;padding:10px}.primary-btn{width:100%;border:0;background:var(--green);color:white;border-radius:12px;padding:12px 14px;margin-top:22px;font-weight:650;font-size:11px;display:flex;justify-content:space-between}.primary-btn:disabled{opacity:.4}.close-modal{position:absolute;right:17px;top:16px;border:0;background:#f0f3f1;color:#6f7a75;border-radius:50%;width:28px;height:28px;font-size:17px}.rating-question{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid var(--line);padding:12px 0}.rating-question label{font-size:10px}.rating-question>div{display:flex;gap:3px}.rating-question button{width:25px;height:25px;border:1px solid var(--line);background:white;border-radius:7px;font-size:9px;color:#68756f}.rating-question button.selected{background:var(--green);border-color:var(--green);color:white}.feedback-result{font-size:10px;padding:10px;background:var(--green-3);color:var(--green);border-radius:9px;line-height:1.55}.small-modal{width:min(450px,100%)}
@keyframes blink{0%,70%,100%{opacity:.3;transform:translateY(0)}35%{opacity:1;transform:translateY(-2px)}}@keyframes rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(max-width:1120px){.workspace{grid-template-columns:230px minmax(420px,1fr)}.model-panel{position:fixed;right:14px;top:84px;bottom:14px;width:345px;z-index:4;transform:translateX(calc(100% + 20px));transition:.3s}.conversation:after{content:"状态模型";position:absolute;right:13px;top:82px;background:var(--green);color:white;padding:6px 9px;border-radius:8px;font-size:9px}.conversation{position:relative}.conversation:hover+.model-panel{transform:none}.topbar{grid-template-columns:220px 1fr 190px}}
@media(max-width:760px){.topbar{height:60px;grid-template-columns:1fr auto;padding:0 13px}.flow{display:none}.privacy{font-size:0}.workspace{display:block;padding:0}.left-rail,.model-panel{display:none}.conversation{height:calc(100vh - 60px);border:0;border-radius:0;box-shadow:none}.conversation-head{padding:14px}.conversation-head h1{font-size:14px}.messages{padding:18px 13px}.message>div:last-child{max-width:86%}.composer-area{padding:8px 10px 10px}.starters{margin-left:36px}.modal{padding:23px 16px}.need-choices{grid-template-columns:1fr}.choice-row{gap:4px}.choice-row button{padding:8px 2px}.rating-question{display:block}.rating-question>div{margin-top:8px}.rating-question button{flex:1}}

/* Intrinsic button labels must not force the check-in grid wider than a phone. */
.modal{width:100%;max-width:600px;min-width:0}.choice-row{grid-template-columns:repeat(5,minmax(0,1fr))}.need-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.choice-row button,.need-choices button{min-width:0}
.checkin-modal{max-width:680px}.checkin-part{margin:22px 0 6px;padding:8px 10px;border-radius:9px;background:var(--green-3);color:var(--green);font-size:11px;font-weight:700}.checkin-modal .question-title{margin:12px 0 7px}
.measure-slider{margin:7px 0 18px;padding:13px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfcfd}.measure-slider input[type=range]{width:100%;accent-color:#a3ccda}.measure-scale{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin-top:7px;color:var(--muted);font-size:11px}.measure-scale span:last-child{text-align:right}.measure-scale output{min-width:72px;text-align:center;color:#314b55;font-weight:750}.measure-skip{display:block;margin:9px auto 0;border:1px solid var(--line);border-radius:999px;background:#fff;padding:5px 12px;color:var(--muted);cursor:pointer}.measure-skip.selected{background:#f5d2d2;border-color:#e5baba;color:#704c4c}.measure-slider.feedback-missing{outline:2px solid #d68d8d}
.feedback-modal{max-width:700px}.feedback-modal .feedback-comment{width:100%;min-height:60px;box-sizing:border-box}
.star-choices{display:flex;align-items:center;flex-wrap:wrap;column-gap:16px;row-gap:3px}.star-rating{display:inline-flex;align-items:center;gap:3px}.star-choices .star-rating button{border:0;box-shadow:none;background:transparent;border-radius:8px;width:40px;height:42px;min-height:0;padding:0;color:#b7c0ba;font-size:31px;line-height:1;cursor:pointer}.star-choices .star-rating button.filled,.star-choices .star-rating button:hover{color:#c18a26}.star-choices .star-rating button:focus-visible{outline:2px solid var(--green);outline-offset:2px}.star-selection{color:#8b6327;font-size:11px;font-weight:700;min-width:120px}.star-anchors{flex-basis:100%;font-size:9px;color:#87938b;margin-top:0}
@media(max-width:600px){.star-choices .star-rating button{width:38px;height:39px;font-size:29px;padding:0}.star-selection{font-size:10px}.star-anchors{font-size:8px}}
@media(max-width:760px){.need-choices{grid-template-columns:minmax(0,1fr)}}

.profile-card{cursor:pointer;border-radius:12px;padding:7px 5px 17px;margin:-7px -5px 0}.profile-card:hover{background:#f6f9f7}.topic-picker{display:flex;flex-wrap:wrap;gap:5px}.topic-picker button{border:1px solid var(--line);background:white;color:#65726c;border-radius:16px;padding:6px 8px;font-size:9px}.topic-picker button.active{background:var(--ink);border-color:var(--ink);color:white}.head-actions{display:flex;align-items:center;gap:8px}.head-actions>span{font-size:9px;color:var(--green);background:var(--green-3);border-radius:15px;padding:6px 8px}.composer>.voice-btn{background:white;color:var(--green);border:1px solid #d6e2dc;font-size:12px}.composer>.voice-btn.listening{background:#f8e8e8;color:#a74652;border-color:#eabcc1;animation:voicePulse 1.1s infinite}.trajectory{display:flex;align-items:center;justify-content:space-between;margin:9px 0;padding:8px 10px;border:1px solid var(--line);border-radius:10px}.trajectory span,.trajectory small{display:block}.trajectory span{font-size:8px;font-weight:700;color:#65736d}.trajectory small{font-size:7px;color:#99a39e;margin-top:2px}.trajectory>div:last-child{height:28px;display:flex;align-items:flex-end;gap:3px}.trajectory i{width:5px;min-height:3px;background:#8db6a4;border-radius:4px 4px 1px 1px;transition:.35s}.outcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 12px}.outcome-grid>div{background:#f5f7f5;border-radius:9px;padding:8px}.outcome-grid small,.outcome-grid b{display:block}.outcome-grid small{font-size:7px;color:#87928d}.outcome-grid b{font-family:Georgia,serif;font-size:13px;margin-top:3px}.feedback-comment{width:100%;background:#f5f7f5;border:1px solid transparent;border-radius:10px;padding:10px;min-height:58px}.feedback-comment:focus{border-color:#9bbcac;background:white}.profile-modal{max-width:680px}.profile-version{position:absolute;right:58px;top:28px;font-size:9px;color:var(--green);background:var(--green-3);padding:5px 8px;border-radius:15px}.profile-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.profile-detail-grid section{border:1px solid var(--line);border-radius:12px;padding:12px;min-height:95px}.profile-detail-grid small{font-size:8px;color:var(--green);font-weight:700;letter-spacing:.06em}.profile-detail-grid section>div{font-size:10px;color:#65736d;line-height:1.65;margin-top:8px}.profile-topics{display:flex;flex-wrap:wrap;gap:7px;font-size:9px;color:#65736d}.profile-topics>span{border:1px solid var(--line);border-radius:10px;padding:8px 10px}.calibrated{color:var(--amber)!important}
@keyframes voicePulse{50%{box-shadow:0 0 0 5px rgba(169,92,103,.12)}}
@media(max-width:760px){.head-actions>span{display:none}.profile-detail-grid{grid-template-columns:1fr}.profile-version{position:static;display:inline-block;margin-bottom:12px}}
.followup-days{grid-template-columns:repeat(4,minmax(0,1fr))}.seven-points{grid-template-columns:repeat(7,minmax(0,1fr));margin-bottom:16px}
.account-modal{max-width:660px}.account-tabs{display:grid;grid-template-columns:1fr 1fr;background:#f1f4f2;border-radius:10px;padding:3px;margin-bottom:17px}.account-tabs button{border:0;background:transparent;border-radius:8px;padding:8px;color:var(--muted);font-size:10px}.account-tabs button.active{background:white;color:var(--green);font-weight:700;box-shadow:0 2px 8px rgba(28,52,42,.08)}.account-form label>span{display:block;font-size:9px;font-weight:650;margin-bottom:5px}.account-form label small{color:var(--muted);font-weight:400}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.account-form input:not([type=checkbox]),.account-form select{width:100%;border:1px solid var(--line);background:#fafcfa;border-radius:9px;padding:9px 10px;outline:0;color:var(--ink);font-size:10px}.account-form input:focus,.account-form select:focus{border-color:#8eb6a5;background:white;box-shadow:0 0 0 3px var(--green-3)}.full-select{width:100%!important}.onboarding-options{display:flex;flex-wrap:wrap;gap:6px}.onboarding-options button{border:1px solid var(--line);background:white;border-radius:18px;padding:7px 10px;font-size:9px;color:#65736d}.onboarding-options button.selected{background:var(--green-3);border-color:var(--green);color:var(--green)}.consent{display:flex;align-items:flex-start;gap:8px;margin-top:17px;padding:10px;background:#f7f9f7;border-radius:9px}.consent input{margin-top:2px}.consent span{font-size:9px!important;font-weight:400!important;line-height:1.55;color:#66736d;margin:0!important}.form-error{min-height:14px;color:#a14d58;font-size:9px;margin:7px 2px 0}.logout-btn{margin-top:20px;border:1px solid #ead7da;background:white;color:#9a5360;border-radius:9px;padding:8px 11px;font-size:9px}.account-form>.primary-btn{margin-top:16px}
@media(max-width:600px){.form-grid{grid-template-columns:1fr}.account-modal{padding-top:22px}.account-modal .modal-copy{margin-bottom:14px}}
.account-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.account-actions .logout-btn{margin-top:0;flex:1 1 145px}.logout-btn.danger{color:#a83c3c;border-color:#dfb6b6}.logout-btn.danger:hover{background:#fff7f7;border-color:#c97979}.primary-btn.danger{background:#a83c3c}
.head-actions>select{max-width:132px;border:1px solid var(--line);font-size:9px;color:var(--green);background:var(--green-3);border-radius:15px;padding:6px 24px 6px 8px;outline:0}
.event-grounding{margin-top:9px;padding:10px;border:1px solid #cfe1d8;border-radius:11px;background:#f8fbf9}.event-grounding>div:first-child{display:flex;justify-content:space-between;gap:8px;align-items:center}.event-grounding span{font-size:7px;font-weight:700;color:var(--green);letter-spacing:.04em}.event-grounding small{font-size:7px;color:#7b8982}.event-grounding>b{display:block;font-size:9px;line-height:1.5;margin-top:7px}.event-grounding>p{font-size:8px;line-height:1.5;color:#718079;margin:4px 0 7px}.trajectory-meta{display:flex;justify-content:space-between;gap:7px;border-top:1px solid #dbe8e1;padding-top:6px}.trajectory-meta span{font-size:7px;letter-spacing:0;color:#66756e}
.request-state{margin-top:9px;padding:10px;border:1px solid #eadfca;border-radius:11px;background:#fcf9f3}.request-state>div{display:flex;justify-content:space-between;gap:8px;align-items:center}.request-state span{font-size:7px;font-weight:700;color:#8a6635;letter-spacing:.04em}.request-state small{font-size:7px;color:#8d806e}.request-state>b{display:block;font-size:10px;line-height:1.5;margin-top:7px;color:#5c482e}.request-state>p{font-size:8px;line-height:1.5;color:#796b58;margin:4px 0 0}
.end-session-btn{color:#8b5c45;border-color:#e2d1c7;background:#fffaf7}.end-session-btn:hover{background:#f8eee8;border-color:#cba995}.end-session-btn:disabled{color:#7f8984;background:#f1f3f2;border-color:var(--line);cursor:default}.skip-feedback-btn{display:block;width:100%;border:0;background:transparent;color:var(--muted);font-size:10px;padding:11px;margin-top:4px}.skip-feedback-btn:hover{color:var(--green)}.live-dot.ended{background:#9ba49f;box-shadow:none}.preference-row button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){.head-actions>select{display:block;max-width:105px}}
body.composed-mode .workspace{grid-template-columns:240px minmax(0,1fr);max-width:1100px}
body.composed-mode .model-panel,body.composed-mode .flow,body.composed-mode .relationship-card,body.composed-mode .profile-card+.section-label{display:none}
body.composed-mode .profile-modal .profile-version,body.composed-mode .profile-modal .profile-detail-grid,body.composed-mode .profile-modal .profile-topics,body.composed-mode .profile-modal .section-label,body.composed-mode .profile-modal .modal-copy{display:none}
.account-overview-link{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0 4px;padding:18px;border:1px solid #cfe2d8;border-radius:14px;background:#f3faf6;color:var(--green);text-decoration:none}.account-overview-link:hover,.account-overview-link:focus-visible{background:#e8f5ed;border-color:#8fbaa4}.account-overview-link b,.account-overview-link small{display:block}.account-overview-link b{font-size:14px}.account-overview-link small{margin-top:5px;font-size:10px;color:#687a70}.account-overview-link>span:last-child{font-size:22px}
.companion-settings-card{display:grid;grid-template-columns:38px minmax(0,1fr) 23px;align-items:center;gap:10px;padding:11px 12px;border:1px solid #dfe5eb;border-radius:14px;background:#fff;color:var(--ink);text-decoration:none;transition:transform .18s,border-color .18s,background .18s,box-shadow .18s}.companion-settings-card:hover,.companion-settings-card:focus-visible,.companion-settings-card[aria-current="page"]{transform:translateY(-1px);border-color:#a3ccda;background:#edf7fa;box-shadow:0 8px 20px rgba(90,115,125,.09)}.companion-settings-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,#f5d2d2,#ece8f4 52%,#a3ccda);color:#5c637f;font-size:18px}.companion-settings-copy{min-width:0}.companion-settings-copy small,.companion-settings-copy b{display:block}.companion-settings-copy small{font-size:9px;color:var(--muted);margin-bottom:4px}.companion-settings-copy b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.companion-view-head{background:linear-gradient(115deg,#f8ebf0,#f2eef8 48%,#edf7fa)}
@media(max-width:760px){.companion-settings-card{margin-top:4px}}

/* Original Serein companion mascot shared across the site. */
.companion-settings-icon{overflow:hidden;color:transparent;font-size:0}
.companion-settings-icon img{width:45px;height:45px;object-fit:contain;transform:translateY(2px)}
.companion-view-title{display:flex;align-items:center;gap:15px}
.companion-view-title>img{width:76px;height:76px;object-fit:contain;filter:drop-shadow(0 9px 13px rgba(93,102,139,.13))}
.companion-view-title h1{margin-top:5px}
.account-view-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:16px}.account-view-actions button{margin:0}.account-view-actions .danger{margin-left:auto}

/* One stable mascot identity. */
.brand-mark img,.new-chat-mark img,.message-avatar img{object-fit:contain}
@media(max-width:760px){body.composed-mode .workspace{display:block}body.composed-mode .left-rail{display:block;position:absolute;top:66px;left:8px;z-index:6;width:240px;max-height:55px;overflow:hidden;padding:5px}body.composed-mode .left-rail:focus-within{max-height:calc(100vh - 80px);overflow:auto}body.composed-mode .left-rail .session-nav,body.composed-mode .left-rail .safety-note,body.composed-mode .left-rail .section-label{display:none}body.composed-mode .conversation{padding-top:55px;height:calc(100vh - 60px)}}

/* Conversations stay in the sidebar; the three-step flow belongs to the active chat. */
.topbar{grid-template-columns:1fr auto}
.privacy button{width:auto;height:auto;padding:7px 11px;border-radius:9px;font-size:11px}
body.composed-mode .workspace{max-width:none;grid-template-columns:280px minmax(0,1fr)}
body.composed-mode .left-rail{display:flex;flex-direction:column;overflow:hidden;padding:14px;gap:10px}
.conversation-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 10px;border-bottom:1px solid var(--line)}
.conversation-sidebar-head h2{font-size:14px;margin:0;font-weight:700}
.conversation-sidebar-head button{border:0;border-radius:9px;padding:9px 11px;background:var(--green);color:white;font-size:11px;font-weight:650}
.conversation-list{flex:1;min-height:90px;overflow-y:auto;display:flex;flex-direction:column;gap:5px;padding:2px}
.conversation-list-empty{color:var(--muted);font-size:11px;line-height:1.6;padding:7px 4px}
.conversation-list-item{width:100%;border:1px solid transparent;border-radius:11px;background:transparent;text-align:left;padding:11px 12px;display:flex;flex-direction:column;gap:5px;color:var(--ink)}
.conversation-list-item:hover{background:#f3f7f4}
.conversation-list-item.selected{background:var(--green-3);border-color:#d4e8df}
.conversation-list-item strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:650;max-width:100%}
.conversation-list-item small{font-size:10px;color:var(--muted)}
body.composed-mode .left-rail .profile-card{border-top:1px solid var(--line);border-bottom:0;padding:13px 2px 0;cursor:pointer}
body.composed-mode .left-rail .profile-card{text-decoration:none;color:var(--ink);border-radius:10px}
body.composed-mode .left-rail .profile-card:hover,body.composed-mode .left-rail .profile-card:focus-visible{background:var(--green-3);outline:none}
.profile-card[aria-current="page"]{background:var(--green-3)}
.privacy{gap:8px}
.account-view{background:linear-gradient(160deg,#f8fcf9 0%,#fff 42%);border:1px solid var(--line);border-radius:18px;min-height:0;overflow:auto;padding:28px 34px;box-shadow:var(--shadow)}
.account-view-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;background:linear-gradient(115deg,#eaf6ef,#f5faf7 70%,#fff);border:1px solid #dcebe1;border-radius:16px}
.account-view-head small{font-size:11px;color:var(--green);letter-spacing:.1em;font-weight:700}
.account-view-head h1{font-family:Georgia,"Songti SC",serif;font-size:30px;font-weight:500;margin:8px 0 0}
.account-view-head a{color:var(--green);font-size:12px;text-decoration:none;padding:9px 11px;border:1px solid #c9dfd1;border-radius:9px;white-space:nowrap;background:#fff}
.account-view-head a:hover,.account-view-head a:focus-visible{background:#e5f2e9}
.account-view-intro,.account-view-note{color:var(--muted);font-size:12px;line-height:1.7}
.account-view-intro{margin:13px 0 22px}
.account-view-status{background:var(--green-3);color:var(--green);border-radius:11px;padding:12px 14px;font-size:12px;line-height:1.6}
.account-view-card{border:1px solid var(--line);border-radius:16px;padding:22px;margin:16px 0;background:white;box-shadow:0 8px 24px rgba(27,64,47,.035)}
.account-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px}
.account-card-heading h2{display:flex;align-items:center;gap:10px;font-size:17px;margin:0}.account-card-heading small{color:var(--muted);font-size:11px}
.account-section-icon{width:32px;height:32px;display:grid;place-items:center;flex:none;border-radius:10px;color:var(--green);background:#e7f4eb}
.account-section-icon svg{width:18px;height:18px}
.account-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.account-field{display:flex;align-items:flex-start;gap:12px;padding:15px;border-radius:12px;background:#f8fbf9;border:1px solid #e3eee7;min-width:0;transition:border-color .2s,transform .2s}
.account-field:hover{border-color:#b9dac6;transform:translateY(-1px)}
.account-field-icon{width:34px;height:34px;display:grid;place-items:center;flex:none;border-radius:10px;background:#e8f4ed;color:var(--green)}
.account-field-icon svg{width:18px;height:18px}
.account-field-body{min-width:0;flex:1}
.account-field small,.account-field strong{display:block}.account-field small{font-size:10px;color:var(--muted)}
.account-field strong{font-size:13px;line-height:1.55;margin-top:6px;overflow-wrap:anywhere;font-weight:600}
.account-meter{height:6px;background:#e1ede5;border-radius:99px;margin-top:11px;overflow:hidden}
.account-meter span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#4aa178,#217454)}
#accountDeclaredGrid>.account-field:nth-child(2){background:#f2f9f5;border-color:#cfe6d7}
#accountFactsList{display:grid;gap:9px}
body.composed-mode .left-rail .section-label,body.composed-mode .left-rail .relationship-card{display:none}
body.composed-mode .left-rail .safety-note{margin-top:0}
.conversation-flow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px 18px;border-bottom:1px solid var(--line);flex:none}
.conversation-flow button{border:1px solid var(--line);background:#fff;min-width:0;padding:8px;border-radius:11px}
.conversation-flow button.active{background:var(--green-3);border-color:#d4e8df}
.conversation-flow button>span{flex:none}
.conversation-flow button>div{min-width:0}
.conversation-flow b,.conversation-flow small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.conversation-flow #pendingFeedbackRetry:not(.hidden){grid-column:1/-1;background:#fff8ed}
#toggleConversationList{display:none}
@media(max-width:760px){
  body.composed-mode .workspace{display:block;padding:0}
  body.composed-mode .left-rail{display:none;position:fixed;top:60px;left:0;bottom:0;width:min(82vw,310px);max-height:none;z-index:12;border-radius:0 16px 16px 0;box-shadow:10px 0 30px #0002;padding:14px}
  body.composed-mode .left-rail.mobile-open{display:flex;overflow:hidden}
  body.composed-mode .left-rail .safety-note{display:flex}
  body.composed-mode .conversation{padding-top:0;height:calc(100vh - 60px)}
  #toggleConversationList{display:inline-flex}
  .conversation-flow{padding:7px;gap:4px}
  .conversation-flow button{padding:7px 4px;gap:4px}
  .conversation-flow button>span{display:none}
  .conversation-flow b{font-size:10px}
  .conversation-flow small{font-size:9px}
  .conversation-head{gap:6px}
  .conversation-head h1{font-size:12px}
  .head-actions{gap:4px}
  .head-actions .ghost-btn{padding:6px;font-size:9px}
  .privacy{font-size:11px}
  .account-view{height:calc(100vh - 60px);border:0;border-radius:0;padding:16px}
  .account-view-head{padding:18px 15px}
  .account-view-head h1{font-size:23px}
  .account-view-card{padding:17px}
  .account-field-grid{grid-template-columns:1fr}
}
.feedback-error{border:1px solid #d9a790;background:#fff5ef;color:#8b3f28;border-radius:10px;padding:10px 12px;font-size:12px;line-height:1.5}
.feedback-missing{outline:2px solid #cc7550;outline-offset:4px;border-radius:8px;background:#fff9f5}
.feedback-missing+.question-title{margin-top:22px}

/* Adjustable desktop split between saved conversations and the active page. */
@media(min-width:761px){
  body.composed-mode .workspace{grid-template-columns:var(--sidebar-width,280px) 14px minmax(0,1fr);gap:0}
  body.composed-mode .left-rail{grid-column:1}
  body.composed-mode .conversation,body.composed-mode .account-view{grid-column:3}
  .workspace-resizer{grid-column:2;position:relative;cursor:col-resize;touch-action:none;user-select:none;outline:none}
  .workspace-resizer::before{content:"";position:absolute;top:15px;bottom:15px;left:5px;width:4px;border-radius:9px;background:#dce9e1;transition:background .15s,width .15s}
  .workspace-resizer::after{content:"";position:absolute;top:50%;left:2px;width:10px;height:34px;transform:translateY(-50%);border-radius:9px;background:radial-gradient(circle,#7ea991 1.2px,transparent 1.5px) center 5px/7px 7px repeat-y;opacity:.8}
  .workspace-resizer:hover::before,.workspace-resizer:focus-visible::before,.workspace-resizer.dragging::before{background:#6fa889;width:5px}
  body.sidebar-resizing,body.sidebar-resizing *{cursor:col-resize!important;user-select:none!important}
}
@media(max-width:760px){.workspace-resizer{display:none}}

/* A small conversation shelf: distinct sessions without turning the rail into a dashboard. */
body.composed-mode .left-rail{background:linear-gradient(165deg,#fff 0%,#fbfdfb 58%,#f6faf7 100%);border-color:#d9e8df}
body.composed-mode .conversation-sidebar-head{padding:9px 7px 16px;margin-bottom:2px;border-bottom:1px solid #e2ebe5}
.conversation-sidebar-heading{min-width:0}
.conversation-sidebar-heading>span{display:block;margin-bottom:6px;color:#779988;font-size:9px;font-weight:750;letter-spacing:.19em}
.conversation-sidebar-heading h2{display:flex;align-items:center;gap:8px;font-size:18px;letter-spacing:.01em}
.conversation-sidebar-heading h2 small{display:grid;place-items:center;min-width:21px;height:21px;padding:0 5px;border-radius:7px;background:#e7f2eb;color:var(--green);font-size:10px;font-weight:750}
body.composed-mode .conversation-sidebar-head button{display:flex;align-items:center;gap:4px;white-space:nowrap;padding:10px 12px;border-radius:12px;box-shadow:0 6px 14px rgba(29,107,84,.14);transition:transform .18s,box-shadow .18s,background .18s}
body.composed-mode .conversation-sidebar-head button:hover,body.composed-mode .conversation-sidebar-head button:focus-visible{background:#155d47;transform:translateY(-1px);box-shadow:0 9px 18px rgba(29,107,84,.2)}
body.composed-mode .conversation-sidebar-head button span{font-size:15px;line-height:10px}
body.composed-mode .conversation-list{gap:7px;padding:6px 2px 8px}
body.composed-mode .conversation-list-empty{padding:20px 13px;border:1px dashed #cfe1d6;border-radius:13px;background:#f7fbf8}
body.composed-mode .conversation-list-item{position:relative;display:grid;grid-template-columns:27px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:65px;padding:10px 10px;border:1px solid transparent;border-radius:13px;background:transparent;transition:background .18s,border-color .18s,transform .18s,box-shadow .18s}
body.composed-mode .conversation-list-item:hover{background:#fff;border-color:#dceae1;box-shadow:0 6px 18px rgba(28,64,47,.055);transform:translateX(2px)}
body.composed-mode .conversation-list-item.selected{background:linear-gradient(105deg,#e9f6ee,#f5fbf7);border-color:#b8dbc8;box-shadow:inset 3px 0 #288463,0 6px 18px rgba(28,64,47,.045)}
.conversation-list-icon{display:grid;place-items:center;width:27px;height:27px;border-radius:9px;background:#edf4ef;color:#6a9a7f;font-size:13px;font-weight:700}
.conversation-list-item.selected .conversation-list-icon{background:#d4ebde;color:#1c7455}
.conversation-list-copy{display:flex;flex-direction:column;min-width:0;gap:5px}
.conversation-list-item strong{display:block;max-width:100%;font-size:12px;line-height:1.3}
.conversation-list-item small{font-size:10px;line-height:1.2}
.conversation-list-status{align-self:start;margin-top:2px;padding:4px 6px;border-radius:6px;background:#ecf5ef;color:#328166;font-size:9px;white-space:nowrap}
.conversation-list-status.completed{background:#f0f2f0;color:#87918a}
body.composed-mode .left-rail .profile-card{position:relative;display:flex;gap:11px;min-height:74px;margin:0;padding:12px;border:1px solid #245b49;border-radius:15px;background:linear-gradient(120deg,#1d5f49,#244c40 75%,#213f37);box-shadow:0 10px 24px rgba(26,83,59,.16);color:#fff;transition:transform .18s,box-shadow .18s,border-color .18s}
body.composed-mode .left-rail .profile-card:hover,body.composed-mode .left-rail .profile-card:focus-visible,body.composed-mode .left-rail .profile-card[aria-current="page"]{background:linear-gradient(120deg,#226d52,#285b49 75%,#24483c);border-color:#409673;box-shadow:0 12px 25px rgba(26,83,59,.23);transform:translateY(-1px)}
body.composed-mode .profile-card .avatar{width:43px;height:43px;flex:none;border-radius:13px;background:#d9f0e3;color:#195b43;font-size:19px}
body.composed-mode .profile-card .avatar span{background:#69c99c;border-color:#1e5e49}
body.composed-mode .profile-card-copy{min-width:0;flex:1}
body.composed-mode .profile-card p{margin-bottom:4px;color:#b9dbca;font-size:10px;letter-spacing:.06em}
body.composed-mode .profile-card h3{color:#fff;font-size:14px;font-weight:700;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.profile-card-arrow{display:grid;place-items:center;align-self:center;width:23px;height:23px;border:1px solid rgba(255,255,255,.28);border-radius:8px;color:#d5f1df;font-size:14px;flex:none}
@media(max-width:300px){.conversation-list-status{display:none}}
.conversation-search{display:flex;align-items:center;gap:8px;margin:8px 2px 5px;padding:9px 11px;border:1px solid #dce9e0;border-radius:11px;background:#f7faf8;color:#609079}
.conversation-search:focus-within{border-color:#78af91;box-shadow:0 0 0 3px #e5f3e9}
.conversation-search>span{font-size:20px;line-height:12px}
.conversation-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px}
.conversation-search input::placeholder{color:#8b9d92}
.conversation-list-row{position:relative;flex:none;min-width:0}
body.composed-mode .conversation-list-row>.conversation-list-item{padding-right:37px}
.conversation-menu-toggle{position:absolute;right:9px;top:18px;z-index:1;width:27px;height:27px;padding:0;border:0;border-radius:8px;background:transparent;color:#61796c;font-size:21px;line-height:1}
.conversation-menu-toggle:hover,.conversation-menu-toggle:focus-visible{background:#e3f0e8;color:#175b43}
.conversation-menu{position:absolute;z-index:8;right:7px;top:47px;min-width:120px;padding:5px;border:1px solid #dbe7df;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(25,55,38,.15)}
.conversation-menu button{display:block;width:100%;padding:9px 10px;border:0;border-radius:7px;background:transparent;text-align:left;color:#283d32;font-size:12px}
.conversation-menu button:hover,.conversation-menu button:focus-visible{background:#edf5f0}
.conversation-menu button.danger{color:#a04435}
.conversation-menu button.danger:hover{background:#fff0eb}
.conversation-delete-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:11px 13px;border:1px solid #e2e9e3;border-radius:10px;background:#f7faf8;font-size:13px;font-weight:650}
.conversation-dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}
.conversation-dialog-actions button{padding:10px 16px;border:1px solid #d9e5dc;border-radius:10px;background:#fff;color:#354e3c;font-weight:650}
.conversation-dialog-actions button.danger{border-color:#a44d3e;background:#a44d3e;color:#fff}
.conversation-dialog-actions button:disabled{opacity:.5}

/* Morandi pastel palette: mist blue, blush pink and light lavender. */
:root{--ink:#414353;--muted:#7d7e8e;--line:#e4e1e9;--paper:#fffdfd;--canvas:#f5f3f7;--green:#686d91;--green-2:#e8e8f2;--green-3:#f3f1f7;--amber:#b48b9b;--blue:#829cad;--rose:#ad7f91;--shadow:0 16px 45px rgba(78,75,96,.08)}
.topbar{background:rgba(255,252,254,.94)}
.live-dot{background:#c497aa;box-shadow:0 0 0 4px #f5eaf0}
.avatar span,body.composed-mode .profile-card .avatar span{background:#b9a8cf}
.messages{background:linear-gradient(180deg,#fffdfd 0%,#faf9fc 72%,#f5f3f8 100%)}
.bubble{background:#f0eef4}
.message.user .bubble,.selected-action{background:#626886}
.composer,.account-tabs{background:#efedf3}
.state-card.emotion{background:#edf3f6}
.state-card.gap{background:#f7eef2}
.state-icon{background:#f7f5fa;color:#8980a2;border-color:#e4dfeb}
.state-card.emotion .state-icon{color:#718b9e;background:#e5edf2}
.state-card.gap .state-icon{color:#a8798b;background:#f1e3e9}
.state-card.updated{background:#f3f0f7;border-color:#c6bad4}
.evidence{background:#f4f1f7;border-left-color:#bdb1cd}
.star-choices .star-rating button.filled,.star-choices .star-rating button:hover{color:#bc8c9f}
.star-selection{color:#936d7c}
.selected-action span{color:#dfe3f1}
.candidate-track i,.trajectory i{background:#a9bccc}
.relation-head span,.conversation-head p,.modal-kicker{color:#696d91}
.relationship-card,.account-view-status{background:#f1eff6;border-color:#e2ddea}
.rings i{border-color:#b5acc7}
.metric>div,.account-meter{background:#e7e3ed}
.session-nav button.active,.conversation-flow button.active{background:#f1eff6}
.decision-title>span,.request-state{background:#f7eef2}
.request-state{border-color:#eadbe2}
.account-view{background:linear-gradient(160deg,#f7f4f8 0%,#fffdfd 42%)}
.account-view-head{background:linear-gradient(115deg,#eeeaf5,#f5f3f8 68%,#fffdfd);border-color:#e3dfeb}
.account-section-icon,.account-field-icon{background:#eceaf4;color:#767699}
.account-field,#accountDeclaredGrid>.account-field:nth-child(2){background:#faf8fc;border-color:#e8e3ed}
.account-field:nth-child(3n+2) .account-field-icon{background:#e8f0f4;color:#70899a}
.account-field:nth-child(3n) .account-field-icon{background:#f4e8ed;color:#9c7282}
.account-meter span{background:linear-gradient(90deg,#a8bdca,#8e86ae)}
body.composed-mode .left-rail{background:linear-gradient(165deg,#fffdfd 0%,#faf8fc 58%,#f3f0f7 100%);border-color:#e4e0e9}
.conversation-sidebar-heading>span{color:#9290a4}
.conversation-sidebar-heading h2 small,.conversation-list-icon{background:#eceaf4;color:#777798}
body.composed-mode .conversation-sidebar-head button:hover,body.composed-mode .conversation-sidebar-head button:focus-visible{background:#595e82}
body.composed-mode .conversation-list-item.selected{background:linear-gradient(105deg,#eeeaf5,#f7f5fa);border-color:#d1c9de;box-shadow:inset 3px 0 #9991b3,0 6px 18px rgba(77,72,95,.05)}
.conversation-list-item.selected .conversation-list-icon{background:#e0dbea;color:#716d91}
.conversation-list-status{background:#e9f0f4;color:#667f90}
body.composed-mode .left-rail .profile-card{background:linear-gradient(125deg,#7c80a1,#707694 55%,#778ca0);border-color:#737794;box-shadow:0 10px 24px rgba(75,75,105,.16)}
body.composed-mode .left-rail .profile-card:hover,body.composed-mode .left-rail .profile-card:focus-visible,body.composed-mode .left-rail .profile-card[aria-current="page"]{background:linear-gradient(125deg,#878bad,#797fa0 55%,#8094a8);border-color:#a7a3bf;box-shadow:0 12px 25px rgba(75,75,105,.2)}
body.composed-mode .profile-card .avatar{background:#eeeaf5;color:#6e6f92}
body.composed-mode .profile-card .avatar span{border-color:#7c80a1}
body.composed-mode .profile-card p{color:#efecf5}
.profile-card-arrow{color:#fbf6fa}
.conversation-search{background:#f8f6fa;border-color:#e4e0e9;color:#9290aa}
.conversation-search:focus-within{border-color:#aaa3bf;box-shadow:0 0 0 3px #f0edf5}
.conversation-menu-toggle:hover,.conversation-menu-toggle:focus-visible{background:#eceaf4;color:#656989}
.conversation-menu button:hover,.conversation-menu button:focus-visible{background:#f2eff6}
.conversation-menu button.danger{color:#a37484}
.conversation-dialog-actions button.danger{background:#a37484;border-color:#a37484}

/* Shared Serein mark in the header and assistant turns. */
.brand-mark{display:block;background:none;overflow:hidden;border-radius:11px}
.brand-mark i{display:none}
.brand-mark img{display:block;width:100%;height:100%}
.brand small{letter-spacing:.08em}
.message-avatar{padding:0;background:transparent;overflow:hidden}
.message-avatar img{display:block;width:100%;height:100%;border-radius:8px}

/* User-selected four-colour palette on a clean white background. */
:root{--ink:#34434a;--muted:#748087;--line:#e4e9eb;--paper:#fff;--canvas:#fff;--green:#a3ccda;--green-2:#bde3c3;--green-3:#f8f7ba;--amber:#f8f7ba;--blue:#a3ccda;--rose:#f5d2d2;--shadow:0 14px 38px rgba(77,104,113,.08)}
html,body,.app-shell,.workspace{background:#fff}
.topbar{background:rgba(255,255,255,.97)}
.left-rail,.conversation,.model-panel,.account-view{background:#fff}
.messages{background:#fff}
.live-dot{background:#bde3c3;box-shadow:0 0 0 4px #eff9f1}
.primary-btn,.composer>button,.conversation-sidebar-head button{background:#a3ccda!important;color:#2f4650!important}
.primary-btn:hover,.composer>button:hover,.conversation-sidebar-head button:hover{background:#92bece!important}
.bubble{background:#f4f8fa}
.message.user .bubble{background:#a3ccda;color:#2b424b}
.selected-action{background:#a3ccda;color:#2b424b}
.selected-action>small,.selected-action p{color:#425b64}.selected-action span{color:#385661}
.composer,.account-tabs{background:#f7f9fa}
.composer:focus-within{border-color:#a3ccda;box-shadow:0 0 0 3px #eaf5f8}
.state-card{background:#fff}
.state-card.emotion{background:#edf7fa}.state-card.emotion .state-icon{background:#a3ccda;color:#34535e}
.state-card:nth-child(2){background:#fffdec}.state-card:nth-child(2) .state-icon{background:#f8f7ba;color:#68662f}
.state-card:nth-child(3){background:#eff9f1}.state-card:nth-child(3) .state-icon{background:#bde3c3;color:#365d3d}
.state-card.gap{background:#fdf1f1}.state-card.gap .state-icon{background:#f5d2d2;color:#744f56}
.state-card.updated{border-color:#a3ccda}
.evidence{background:#f7fbfc;border-left-color:#a3ccda}
.star-choices .star-rating button.filled,.star-choices .star-rating button:hover{color:#d99fa2}
.star-selection{color:#805b62}
.relation-head span,.conversation-head p,.modal-kicker{color:#507988}
.relationship-card{background:#eff9f1;border-color:#bde3c3}
.rings i{border-color:#8fc9a0}
.metric>div,.account-meter{background:#e9f3ec}.metric i{background:#8fc9a0}
.session-nav button.active,.conversation-flow button.active{background:#edf7fa;border-color:#a3ccda}
.conversation-flow button.done{background:#eff9f1;border-color:#bde3c3}
.decision-title>span,.request-state{background:#fffdec}.request-state{border-color:#eeecaa}
.account-view{background:#fff}
.account-view-head{background:#edf7fa;border-color:#a3ccda}
.account-section-icon,.account-field-icon{background:#edf7fa;color:#507988}
.account-field{background:#fff;border-color:#e4e9eb}
.account-field:nth-child(4n+1),#accountDeclaredGrid>.account-field:nth-child(4n+1){background:#fdf1f1;border-color:#f5d2d2}
.account-field:nth-child(4n+2),#accountDeclaredGrid>.account-field:nth-child(4n+2){background:#fffdec;border-color:#f1efad}
.account-field:nth-child(4n+3),#accountDeclaredGrid>.account-field:nth-child(4n+3){background:#eff9f1;border-color:#bde3c3}
.account-field:nth-child(4n),#accountDeclaredGrid>.account-field:nth-child(4n){background:#edf7fa;border-color:#a3ccda}
.account-meter span{background:#a3ccda}
body.composed-mode .left-rail{background:#fff;border-color:#e4e9eb}
.conversation-sidebar-heading>span{color:#78909a}
.conversation-sidebar-heading h2 small,.conversation-list-icon{background:#edf7fa;color:#507988}
body.composed-mode .conversation-list-item.selected{background:#edf7fa;border-color:#a3ccda;box-shadow:inset 3px 0 #a3ccda,0 6px 18px rgba(77,104,113,.05)}
.conversation-list-item.selected .conversation-list-icon{background:#a3ccda;color:#34535e}
.conversation-list-status{background:#eff9f1;color:#476f50}.conversation-list-status.completed{background:#f5f5f5;color:#7c8589}
body.composed-mode .left-rail .profile-card{background:#a3ccda;border-color:#90bccb;box-shadow:0 10px 24px rgba(77,122,137,.14);color:#2b424b}
body.composed-mode .left-rail .profile-card:hover,body.composed-mode .left-rail .profile-card:focus-visible,body.composed-mode .left-rail .profile-card[aria-current="page"]{background:#94c2d1;border-color:#7baebe;box-shadow:0 12px 25px rgba(77,122,137,.18)}
body.composed-mode .profile-card .avatar{background:#f5d2d2;color:#704f56}
body.composed-mode .profile-card .avatar span{background:#bde3c3;border-color:#a3ccda}
body.composed-mode .profile-card p,body.composed-mode .profile-card h3{color:#2b424b}
.profile-card-arrow{border-color:rgba(43,66,75,.22);color:#2b424b}
.conversation-search{background:#fff;border-color:#dce7eb;color:#658590}
.conversation-search:focus-within{border-color:#a3ccda;box-shadow:0 0 0 3px #edf7fa}
.conversation-menu-toggle:hover,.conversation-menu-toggle:focus-visible{background:#edf7fa;color:#507988}
.conversation-menu button:hover,.conversation-menu button:focus-visible{background:#edf7fa}
.checkin-part{background:#fffdec;color:#68662f}
.choice-row button.selected,.need-choices button.selected{background:#edf7fa;border-color:#a3ccda;color:#34535e;box-shadow:0 0 0 2px #dceff4}
.conversation-dialog-actions button.danger{background:#dba6a8;border-color:#dba6a8;color:#573f44}
.primary-btn.danger{background:#f5d2d2!important;color:#66484f!important}
.logout-btn.danger{background:#fdf1f1;border-color:#f5d2d2;color:#805b62}
.end-session-btn{background:#fdf1f1;border-color:#f5d2d2;color:#805b62}
.feedback-error{background:#fdf1f1;border-color:#f5d2d2;color:#805b62}

/* Topic feedback is a dedicated, vertically scrollable workspace page. */
body.feedback-view-open{overflow:hidden}
body.feedback-view-open #feedbackModal{
  position:fixed;
  z-index:18;
  top:74px;
  right:14px;
  bottom:14px;
  left:calc(var(--sidebar-width,280px) + 28px);
  display:block;
  padding:0;
  overflow:hidden;
  background:#fff;
  backdrop-filter:none;
}
body.feedback-view-open #feedbackModal.feedback-page,
body.feedback-view-open #feedbackModal.modal-backdrop{place-items:initial}
body.feedback-view-open .feedback-modal{
  width:100%;
  max-width:none;
  height:100%;
  max-height:none;
  box-sizing:border-box;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  border:1px solid var(--line);
  border-radius:18px;
  padding:30px clamp(22px,5vw,76px) max(84px,calc(54px + env(safe-area-inset-bottom)));
  box-shadow:var(--shadow);
  scroll-behavior:smooth;
}
.feedback-page-toolbar{
  position:sticky;
  z-index:3;
  top:-30px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin:-30px calc(clamp(22px,5vw,76px) * -1) 28px;
  padding:16px clamp(22px,5vw,76px);
  border-bottom:1px solid #e7edf0;
  background:rgba(255,255,255,.96);
  backdrop-filter:blur(12px);
}
.feedback-page-toolbar button{border:0;background:transparent;color:#507988;font-size:12px;font-weight:700;padding:8px 0}
.feedback-page-toolbar span{color:#83949b;font-size:11px}
.feedback-page-toolbar-end{display:flex;align-items:center;gap:12px}
.feedback-page-toolbar .feedback-close-button{width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid #dce7eb;border-radius:50%;background:#fff;color:#58717b;font-size:22px;line-height:1;font-weight:400}
.feedback-page-toolbar .feedback-close-button:hover,.feedback-page-toolbar .feedback-close-button:focus-visible{background:#edf7fa;border-color:#bcd9e3;outline:none}
body.feedback-view-open .feedback-modal>.modal-kicker,
body.feedback-view-open .feedback-modal>h2,
body.feedback-view-open .feedback-modal>.modal-copy,
body.feedback-view-open .feedback-modal>.checkin-part,
body.feedback-view-open .feedback-modal>.question-title,
body.feedback-view-open .feedback-modal>.choice-row,
body.feedback-view-open .feedback-modal>.need-choices,
body.feedback-view-open .feedback-modal>.measure-slider,
body.feedback-view-open .feedback-modal>.feedback-comment,
body.feedback-view-open .feedback-modal>.primary-btn,
body.feedback-view-open .feedback-modal>.feedback-error,
body.feedback-view-open .feedback-modal>.skip-feedback-btn,
body.feedback-view-open .feedback-modal>.feedback-result{max-width:820px;margin-left:auto;margin-right:auto}
body.feedback-view-open .feedback-modal>.feedback-comment{
  display:block;
  width:100%;
  min-height:96px;
  resize:vertical;
}
body.feedback-view-open .feedback-modal>.primary-btn,
body.feedback-view-open .feedback-modal>.skip-feedback-btn{display:block;width:100%}
body.feedback-view-open .feedback-modal>.skip-feedback-btn{margin-bottom:20px}
body.feedback-view-open .feedback-modal>.close-modal{display:none}

/* A clean ChatGPT-like landing state for a newly opened conversation. */
.messages.new-chat-messages{display:grid;place-items:center;align-content:center}
.new-chat-welcome{width:min(720px,92%);text-align:center;padding:36px 20px 70px}
.new-chat-mark{width:58px;height:58px;margin:0 auto 18px;display:grid;place-items:center;border-radius:20px;background:#edf7fa;border:1px solid #cce2ea}
.new-chat-mark img{width:40px;height:40px}
.new-chat-welcome h2{margin:0;color:#263c45;font-family:Georgia,"Songti SC",serif;font-size:28px;font-weight:550}
.new-chat-welcome>p{margin:11px 0 24px;color:#7d8c92;font-size:12px}
.new-chat-welcome .starters{margin:0;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.new-chat-welcome .starters button{margin:0;background:#fff;border-color:#dbe7eb;color:#526b75;padding:9px 13px}

@media(max-width:760px){
  body.feedback-view-open #feedbackModal{top:60px;right:0;bottom:0;left:0}
  body.feedback-view-open .feedback-modal{border:0;border-radius:0;padding:22px 14px max(72px,calc(44px + env(safe-area-inset-bottom)))}
  .feedback-page-toolbar{top:-22px;margin:-22px -14px 22px;padding:13px 15px}
  .feedback-page-toolbar span{font-size:10px}
  .feedback-page-toolbar-end>span{display:none}
  .new-chat-welcome{padding:20px 8px 50px}
  .new-chat-welcome h2{font-size:23px}
}

/* Shared five-star input for pre-session and post-session questionnaires. */
#checkinModal .star-rating button,#feedbackModal .star-rating button{position:relative;width:44px;height:52px;font-size:34px;padding-bottom:13px;color:#aab6bf;transition:color .15s,transform .15s}
#checkinModal .star-rating button::after,#feedbackModal .star-rating button::after{content:attr(data-value);position:absolute;bottom:0;left:0;right:0;font:12px/16px system-ui,sans-serif;color:#647783}
#checkinModal .star-rating button.filled,#feedbackModal .star-rating button.filled{color:#c9808c}
#checkinModal .star-rating button:hover,#feedbackModal .star-rating button:hover{transform:translateY(-2px)}
#checkinModal .star-selection,#feedbackModal .star-selection{font-size:14px;color:#754c58;min-width:180px}
#checkinModal .star-anchors,#feedbackModal .star-anchors{font-size:12px;line-height:1.8;color:#637580;margin:6px 0}
#checkinModal .star-missing-option,#feedbackModal .star-missing-option{flex-basis:auto;font-size:12px;padding:8px 12px;background:#fff;color:#657785;border:1px solid #dce5ea;border-radius:10px}
#checkinModal .star-missing-option.selected,#feedbackModal .star-missing-option.selected{background:#edf7fa;border-color:#90bfce;color:#345b6d}
.rating-explanation{font-size:12px;color:#657785;margin:0 0 18px;line-height:1.6}
@media(max-width:600px){#checkinModal .star-selection,#feedbackModal .star-selection{flex-basis:100%;font-size:13px}#checkinModal .star-rating button,#feedbackModal .star-rating button{width:42px}}
.model-switch { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #52665d; white-space: nowrap; }
.model-switch select { padding: 9px 12px; border: 1px solid #d2dfd8; border-radius: 12px; background: #f5faf7; color: #274b3d; font: inherit; cursor: pointer; }
.model-switch select:focus-visible { outline: 2px solid #55826b; outline-offset: 2px; }
.model-mode-hint { margin: 0; padding: 0 24px 12px; font-size: 12px; color: #667b70; }
@media (max-width: 900px) { .conversation-head { flex-wrap: wrap; } .head-actions { flex-wrap: wrap; } }

/* Session questionnaire V1.0 */
.questionnaire-textarea { display:block; width:100%; box-sizing:border-box; padding:12px; border:1px solid var(--line, #d7dfd9); border-radius:12px; font:inherit; resize:vertical; background:var(--surface, #fff); color:inherit; margin:8px 0 18px; }
.questionnaire-options { margin-bottom:18px; }
.questionnaire-options button { white-space:normal; text-align:left; }

.companion-memory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.companion-memory-section{padding:18px 20px;border:1px solid #dce8ed;border-radius:15px;background:#fbfdfe;min-width:0}.companion-memory-section h3{font-size:15px;margin:0 0 8px;color:#34434a}.companion-memory-section p{font-size:12px;line-height:1.8;color:#748087;margin:0}.companion-memory-section ul{margin:12px 0 0;padding-left:19px}.companion-memory-section li{font-size:13px;line-height:1.9;overflow-wrap:anywhere;margin:5px 0}.companion-memory-section .memory-empty{margin-top:13px;color:#98a2a7}.companion-memory-section:last-child{grid-column:1/-1}@media(max-width:800px){.companion-memory-grid{grid-template-columns:minmax(0,1fr)}}

/* Optional preference feedback, short session v8. */
.short-preference-feedback{margin:24px 0;padding:16px 18px;border:1px solid #dce7ed;border-radius:14px;background:#fbfdfe}
.short-preference-feedback summary{cursor:pointer;font-weight:600;color:#496c80}
.short-preference-feedback fieldset{margin:16px 0;border:0;padding:0}
.short-preference-feedback legend{font-weight:600;margin-bottom:8px}
.short-preference-feedback label{display:inline-flex;align-items:center;gap:6px;margin:4px 12px 4px 0;cursor:pointer}
.short-preference-feedback input{width:auto;accent-color:#799eaf}
.short-preference-feedback [hidden]{display:none!important}

.initial-preference-records{padding:12px 14px;background:#f1f7ed;border:1px solid #d7e6d2;border-radius:10px;margin:12px 0}.initial-preference-records>strong{font-size:12px;color:#557547}.initial-preference-records ul{margin-bottom:0}
