/* Warm character and shared toolbar refinements. All animation is decorative and optional. */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.mobile-toolbar-actions .text-size,.mobile-toolbar-actions .mobile-new-chat,.mobile-toolbar-actions .speech-toggle,.topbar-actions .text-size,.topbar-actions .speech-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:10px;gap:0;border:0;background:transparent;box-shadow:none;border-radius:14px;color:#3c6656}
.mobile-toolbar-actions .mobile-new-chat{background:#e2f2e9;color:#187650}
.topbar-actions .speech-toggle>span,.mobile-toolbar-actions .speech-toggle>span{display:none}
.mobile-toolbar-actions .ui-icon,.topbar-actions .text-size .ui-icon{width:22px;height:22px;stroke-width:1.7}
.mobile-toolbar-actions button:hover,.topbar-actions .text-size:hover,.topbar-actions .speech-toggle:hover{background:#e7f2eb}
.mobile-toolbar-actions button:focus-visible,.topbar-actions button:focus-visible,.companion-stage button:focus-visible,.icon-primary:focus-visible,.model-status-icon:focus-visible{outline:3px solid #d7a55b;outline-offset:3px}
.mobile-toolbar-actions .speech-toggle[aria-pressed="true"],.topbar-actions .speech-toggle[aria-pressed="true"]{background:#e1f2e7;color:#167b52}
.topbar-actions{gap:8px}.topbar-actions .person-switch{border:0;background:transparent;border-radius:16px}.person-switch>.ui-icon{width:16px;height:16px}
.mobile-context{min-height:40px;align-items:center}.mobile-context #mobile-person{display:inline-flex;align-items:center;gap:5px;min-height:40px;color:#4e7161;font-weight:500}.mobile-context #mobile-person .ui-icon{width:14px;height:14px}
.mobile-context #mobile-model .model-status-icon{display:inline-flex;align-items:center;justify-content:center;position:relative;min-width:44px;min-height:40px;padding:8px;border:0;border-radius:12px;background:transparent;color:#698273}
.model-status-icon>.ui-icon{width:20px;height:20px}.model-status-dot{position:absolute;right:9px;top:6px;width:6px;height:6px;border:1.5px solid #f5faf5;border-radius:50%;background:#d4a65f}.model-status-icon[data-model-state="verified"] .model-status-dot{background:#27a975}.model-status-icon[data-model-state="demo"] .model-status-dot{background:#8ba299}
.page-heading-row .icon-primary{width:44px;height:44px;min-width:44px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;padding:10px;border-radius:15px;box-shadow:0 4px 12px #268f5617}.icon-primary .ui-icon{width:22px;height:22px}
.mobile-home .mobile-welcome,.desktop-home .mobile-welcome{padding:10px 0 0;background:none;border:0;margin:0}
.welcome-hero{display:grid;grid-template-columns:minmax(0,1fr) 178px;align-items:center;gap:4px;isolation:isolate;position:relative;min-height:240px}
.welcome-copy{position:relative;z-index:1}.welcome-copy .welcome-eyebrow{display:block;color:#62826b;letter-spacing:.04em;font-size:1rem;line-height:1.6;margin:0 0 10px}.welcome-copy h1{font-size:2.1rem;line-height:1.5;letter-spacing:-.045em;font-weight:600;color:#284f3c;margin:0}.welcome-copy h1 em{font-style:normal;color:#22865b}.welcome-copy>p{font-size:1rem;color:#6c8172;line-height:1.9;margin:15px 0 0}
.companion-stage{position:relative;display:grid;place-items:center;align-content:center;isolation:isolate;min-width:0}
.companion-hit{position:relative;width:100%;aspect-ratio:1;border:0;background:transparent;display:block;padding:0;border-radius:48%;cursor:pointer;-webkit-tap-highlight-color:transparent}
.companion-hit::after{content:"";position:absolute;width:44%;height:8%;bottom:3%;left:28%;border-radius:50%;background:#84b59d29;filter:blur(5px);animation:companion-shadow 6s ease-in-out infinite}
.companion-sprite{display:block;position:relative;z-index:1;width:100%;height:100%;background-image:url('./yizhe-companion.webp');background-size:200% 200%;background-position:0 0;background-repeat:no-repeat;animation:companion-breathe 6s ease-in-out infinite,companion-poses 14s steps(1,end) infinite;transform-origin:50% 82%;will-change:transform}
.companion-sprite,.companion-avatar{background-color:transparent;mix-blend-mode:normal}
.companion-caption{display:block;color:#729080;font-size:1rem;line-height:1.5;letter-spacing:.09em;text-align:center;margin-top:1px}
.companion-motion{position:absolute;right:0;bottom:-6px;width:44px;height:44px;padding:13px;border:0;background:transparent;border-radius:50%;color:#648b73;display:grid;place-items:center;z-index:2}.companion-motion .ui-icon{width:16px;height:16px}.companion-motion:hover{background:#e7f1e6}
.companion-small{width:108px;margin:0 auto 10px}.companion-small .companion-caption{display:none}.companion-small .companion-motion{right:-18px;bottom:-8px}
.companion-greeting .companion-sprite{animation:companion-hello 1.8s ease-in-out,companion-poses 1.8s steps(1,end)}
.companion-greeting .companion-caption{color:#26865b}
.companion-avatar{display:block;width:100%;height:100%;background:url('./yizhe-companion.webp') no-repeat 0 0/200% 200%;border-radius:inherit}
.chat-avatar:has(.companion-avatar){background:#e7f4e9;border:1px solid #d5e8db;overflow:hidden}.chat-avatar .companion-avatar{transform:scale(1.15)}
.mobile-home .mobile-daily,.desktop-home .mobile-daily{margin:18px 0 20px;border-radius:20px;border:1px solid #e1eadc;box-shadow:none;background:linear-gradient(115deg,#f1f7e9,#fffdf6);padding:15px}
.mobile-home .daily-symbol,.desktop-home .daily-symbol{background:#e5eedc;color:#6d9460;border-radius:14px}.mobile-services{margin-top:0}.mobile-home .mobile-services button,.desktop-home .mobile-services button{border:1px solid #e1eae2;box-shadow:0 3px 16px #31563804;border-radius:19px;background:#fffefe}
.empty-state.warm-empty{padding:24px 20px 30px;color:#718875;line-height:1.9}.warm-empty strong{display:block;color:#4c6f58;font-size:1.05rem;font-weight:500;margin-bottom:4px}.conversation-empty .companion-stage{margin-top:-12px;margin-bottom:8px}.conversation-empty .empty-chat-icon{display:none}
.companion-motion-paused .companion-sprite,.companion-motion-paused .companion-hit::after,.companion-suspended .companion-sprite,.companion-suspended .companion-hit::after{animation:none!important;will-change:auto}.companion-motion-paused .companion-sprite,.companion-suspended .companion-sprite{transform:none;background-position:0 0}
@keyframes companion-breathe{0%,100%{transform:translateY(0) rotate(-1deg) scale(1)}50%{transform:translateY(-7px) rotate(1deg) scale(1.018)}}
@keyframes companion-shadow{0%,100%{transform:scaleX(1);opacity:.8}50%{transform:scaleX(.82);opacity:.45}}
@keyframes companion-poses{0%,68%,100%{background-position:0 0}70%,74%{background-position:100% 0}72%,76%{background-position:0 100%}78%,80%{background-position:100% 100%}}
@keyframes companion-hello{0%,100%{transform:translateY(0) rotate(0)}20%,60%{transform:translateY(-8px) rotate(-5deg)}40%,80%{transform:translateY(-5px) rotate(5deg)}}
@media(min-width:721px){.desktop-home .welcome-hero{grid-template-columns:minmax(0,1fr) minmax(190px,32%);gap:18px;min-height:280px}.desktop-home .welcome-copy h1{font-size:2.6rem}.desktop-home .welcome-copy>p{margin:16px 0 0;font-size:1.1rem}.desktop-home .mobile-services{margin-top:0}.desktop-home .mobile-daily{margin-top:14px}.desktop-home .companion-stage{max-width:245px;justify-self:center;width:100%}.desktop-home .companion-caption{margin-top:-10px}.topbar .demo-label{border:0;background:#eaf1e8;color:#6c846e;border-radius:8px}}
@media(max-width:720px){.mobile-toolbar{padding:8px 12px 0;background:#f6faf4e6}.mobile-toolbar-main{min-height:48px;gap:4px}.mobile-toolbar-actions{gap:2px}.mobile-wordmark{font-size:1.6rem!important;letter-spacing:-.04em}.mobile-menu{border-radius:14px}.mobile-context{margin:0 4px 0 0}.mobile-context #mobile-person{font-size:1rem}.context-strip{padding:8px 16px;line-height:1.6;font-size:1rem;background:#fff7e7;color:#997341}.content-layout,body.assistant-mode .content-layout{padding-left:18px;padding-right:18px}.mobile-home{padding-top:2px}.welcome-hero{grid-template-columns:minmax(0,1fr) 150px;min-height:220px;gap:0}.welcome-copy h1{font-size:1.9rem;line-height:1.55}.welcome-copy>p{font-size:1rem;line-height:1.8;margin-top:11px}.welcome-copy .welcome-eyebrow{margin-bottom:7px}.companion-caption{font-size:1rem;letter-spacing:.04em}.companion-motion{right:-5px;bottom:-8px}.mobile-home .mobile-daily{margin-top:12px;margin-bottom:18px}.page-heading-row{flex-wrap:nowrap;align-items:flex-start}.page-heading-row>div{min-width:0;flex:1}.page-heading h1{font-size:1.6rem;line-height:1.6}.page-heading .eyebrow{font-size:1rem;letter-spacing:.08em}.page-heading-row .icon-primary{margin-top:4px}.mobile-home .mobile-services strong{font-weight:500}.empty-state.warm-empty{padding:18px 16px 26px}.mobile-home .question-recommendations{margin-top:23px}}
@media(max-width:360px){.welcome-hero{grid-template-columns:minmax(0,1fr) 125px;min-height:210px}.welcome-copy h1{font-size:1.7rem}.mobile-toolbar-actions{gap:0}.mobile-toolbar{padding-left:8px;padding-right:8px}.content-layout,body.assistant-mode .content-layout{padding-left:14px;padding-right:14px}}
@media(prefers-reduced-motion:reduce){.companion-sprite,.companion-hit::after{animation:none!important;transform:none!important;will-change:auto!important;background-position:0 0!important}}
body.large-mode .welcome-hero{grid-template-columns:minmax(0,1fr)}body.large-mode .welcome-hero .companion-stage{width:135px;justify-self:center;margin-top:4px}body.large-mode .welcome-copy h1{font-size:1.8rem!important}body.large-mode .welcome-copy>p{font-size:1rem}body.large-mode .page-heading-row{flex-wrap:nowrap}
