/* Premium companion chat layer */
#chatScreen{position:relative;overflow:hidden;background:linear-gradient(180deg,#e9f7f3 0%,#f7f6f0 28%,#f8f8f4 100%)}
#chatScreen:before,#chatScreen:after{content:"";position:fixed;border-radius:50%;pointer-events:none;filter:blur(2px);opacity:.45;z-index:0}
#chatScreen:before{width:260px;height:260px;right:-120px;top:150px;background:radial-gradient(circle,#d9f3eb 0%,rgba(217,243,235,0) 72%)}
#chatScreen:after{width:220px;height:220px;left:-120px;bottom:160px;background:radial-gradient(circle,#fff0dc 0%,rgba(255,240,220,0) 72%)}
#chatScreen>*{position:relative;z-index:1}.chathead{min-height:72px;padding:10px 13px;background:rgba(255,255,255,.9);box-shadow:0 5px 24px rgba(39,76,64,.055)}
.chathead #back{width:43px;height:43px;border-radius:50%;background:#edf6f2;font-size:26px;line-height:1;padding:0}.chathead #fresh{min-width:45px;height:40px;padding:0 10px;border-radius:15px;background:#edf6f2;font-size:12px}.companionHead{justify-content:flex-start;max-width:290px;margin:auto}.avatar{width:45px;height:45px;box-shadow:0 6px 16px rgba(38,173,184,.2);font-size:19px}.companionMeta b{font-size:16px;line-height:1.1}.online{display:flex!important;align-items:center;gap:5px;margin-top:4px;font-size:10px!important;color:#668179!important}.online:before{content:"";width:7px;height:7px;border-radius:50%;background:#55b995;box-shadow:0 0 0 3px rgba(85,185,149,.12)}
.chatModeBar{margin:10px 14px 4px;background:rgba(255,255,255,.78);border:1px solid rgba(196,222,213,.9);border-radius:18px;padding:10px 12px;display:flex;align-items:center;gap:10px;box-shadow:0 6px 18px rgba(34,61,52,.045);backdrop-filter:blur(8px);transition:.25s ease}.chatModeIcon{width:35px;height:35px;flex:0 0 35px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#e1f4ef,#fff3e3);font-size:18px}.chatModeCopy{min-width:0;flex:1}.chatModeCopy b{display:block;font-size:12px}.chatModeCopy span{display:block;color:#788781;font-size:10px;line-height:1.25;margin-top:2px}.privateChip{white-space:nowrap;border-radius:99px;padding:5px 8px;background:#eff7f3;color:#4e7669;font-size:9px;font-weight:800}
.chatIntro{padding:18px 22px 8px;max-height:190px;opacity:1;overflow:hidden;transition:max-height .3s ease,opacity .2s ease,padding .3s ease}.chatIntro .bigAvatar{width:72px;height:72px;background:linear-gradient(145deg,#29aebb,#84d9c8);box-shadow:0 14px 30px rgba(43,169,176,.18);border:4px solid rgba(255,255,255,.9)}.chatIntro h3{font-size:22px;margin-top:12px}.chatIntro p{max-width:390px;margin:5px auto 0;font-size:13px;line-height:1.45}.suggestions{padding:8px 14px 10px;scrollbar-width:none;transition:.25s ease}.suggestions::-webkit-scrollbar{display:none}.suggestions button{min-height:38px;padding:9px 13px;border:1px solid #d7e7e1;background:rgba(255,255,255,.92);box-shadow:0 4px 12px rgba(34,61,52,.035);font-weight:700}.suggestions button:first-child{background:#eaf6f2;border-color:#c7e3da}
.messages{padding:5px 14px 12px}.messageRow{margin:9px 0;gap:9px;animation:messageIn .2s ease both}.messageRow+.messageRow{margin-top:7px}.miniAvatar{width:31px;height:31px;flex-basis:31px;box-shadow:0 4px 10px rgba(36,173,184,.14)}.bubble{max-width:min(84%,540px);padding:13px 15px 12px;border-radius:21px 21px 21px 7px;border:1px solid rgba(221,232,227,.85);box-shadow:0 5px 16px rgba(34,61,52,.045);background:rgba(255,255,255,.96);font-size:15.5px;line-height:1.5}.bubble strong{color:#285f50}.mine{border:0;background:linear-gradient(135deg,#559a84,#70b19e);box-shadow:0 6px 16px rgba(65,136,114,.13);border-radius:21px 21px 7px 21px}.msgTime{padding:0 4px;font-size:9px;opacity:.75}.mineRow .msgTime{text-align:right}.bubble ul{padding-left:18px}.bubble li{margin:5px 0}.status{margin:4px 17px 0;padding:8px 10px;border-radius:13px;background:rgba(255,255,255,.58);font-size:9.5px;line-height:1.35}.composer{gap:8px;padding:10px 11px max(11px,env(safe-area-inset-bottom));background:rgba(255,255,255,.94);backdrop-filter:blur(14px);box-shadow:0 -8px 30px rgba(34,61,52,.06)}.composer input{height:50px;border:1px solid #e0e8e4;background:#f6f7f4;border-radius:25px;padding:13px 17px;font-size:15px;outline:none}.composer input:focus{border-color:#a7d3c5;background:#fff;box-shadow:0 0 0 3px rgba(93,174,148,.09)}.composer button{width:50px;height:50px;border-radius:50%;box-shadow:0 7px 16px rgba(38,170,180,.19)}.chatDayDivider{display:flex;align-items:center;gap:10px;color:#89958f;font-size:9px;margin:16px 7px 7px}.chatDayDivider:before,.chatDayDivider:after{content:"";height:1px;background:#dfe8e4;flex:1}.chatWelcomeNote{margin:3px 14px 8px;padding:10px 12px;border-radius:15px;background:linear-gradient(135deg,#fff7e9,#fff);border:1px solid #f1e2c9;color:#65736d;font-size:11px;line-height:1.4;text-align:center;transition:.25s ease}
/* Once the user starts talking, give the conversation the screen. */
#chatScreen.conversationActive .chatIntro{max-height:0;opacity:0;padding-top:0;padding-bottom:0}#chatScreen.conversationActive .chatWelcomeNote{display:none}#chatScreen.conversationActive .chatModeBar{margin-top:6px;padding-top:7px;padding-bottom:7px}#chatScreen.conversationActive .chatModeIcon{width:30px;height:30px;flex-basis:30px}#chatScreen.conversationActive .suggestions{padding-top:5px;padding-bottom:5px}#chatScreen.conversationActive .suggestions button{min-height:34px;padding-top:7px;padding-bottom:7px;font-size:11px}.typing .bubble:after{content:'•••';letter-spacing:3px;animation:pulseDots 1s infinite}.typing .bubble{color:#71827b}
@keyframes messageIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes pulseDots{0%,100%{opacity:.35}50%{opacity:1}}
@media(max-width:420px){.chathead{grid-template-columns:45px 1fr 48px}.companionHead{gap:7px}.avatar{width:40px;height:40px}.companionMeta b{font-size:14px}.chatModeBar{margin-left:10px;margin-right:10px}.privateChip{display:none}.bubble{max-width:86%;font-size:15px}.chatIntro h3{font-size:20px}.chatIntro{padding-top:15px}}
@media(min-width:721px){#chatScreen:before,#chatScreen:after{position:absolute}.composer{border-left:1px solid var(--line);border-right:1px solid var(--line)}}
