.profile-cover{padding-top:45px}
.profile-cover:after{pointer-events:none;top:67px}
.profile-cover-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.profile-cover-shade{position:absolute;inset:0;background:linear-gradient(100deg,#420d2cba,#790c3040);pointer-events:none}
.profile-cover .cover-caption{position:relative;z-index:1;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;line-height:1.5;max-height:90px;overflow:auto;max-width:calc(100% - 14px);text-shadow:0 1px 5px #0006}
.cover-caption-button{appearance:none;border:0;background:transparent;color:inherit;padding:0;text-align:left;font-family:inherit;cursor:pointer;width:100%;border-radius:5px}
.cover-caption-button:hover{background:#ffffff16}.cover-caption-button:focus-visible{outline:2px solid white;outline-offset:4px}
.profile-cover .cover-mark{z-index:1;pointer-events:none}
.profile-cover-tools{position:absolute;top:10px;right:10px;z-index:2;display:flex;gap:5px}
.profile-cover-tools .cover-edit{border:1px solid #ffffff60;background:#33102260;color:white;border-radius:7px;padding:5px 8px;font-size:10px;display:flex;align-items:center;gap:5px;backdrop-filter:blur(7px);cursor:pointer}
.profile-cover-tools .cover-edit:hover{background:#331022a0}
.profile-photo-button{position:relative;display:inline-flex;margin-top:-43px;background:transparent;border:0;padding:0;cursor:pointer;border-radius:50%;z-index:2}
.profile-photo-button>.avatar{height:83px;width:83px;border:5px solid white;box-shadow:0 4px 17px #37243113;font-size:24px;background:#ede4e9}
.profile-photo-button .avatar img{object-fit:cover;width:100%;height:100%;border-radius:50%}
.profile-photo-edit{position:absolute;bottom:2px;right:1px;width:24px;height:24px;background:var(--wine);color:white;border:2px solid white;border-radius:50%;display:grid;place-items:center}
.profile-photo-button:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.profile-companion{position:relative;padding:6px 0 23px;margin-bottom:7px;border:0;background:transparent;box-shadow:none}
.profile-companion-pet{display:flex;gap:24px;align-items:center;max-width:660px;min-width:0}
.assistant-pet-button{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:126px;height:156px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer}
.assistant-pet-button:focus-visible{outline:2px solid var(--wine);outline-offset:4px}
.assistant-thought{position:relative;min-width:0;background:#fff;border:1px solid #e8e0e6;border-radius:38px;padding:22px 27px 18px;box-shadow:0 8px 24px #41253708}
.assistant-thought:before,.assistant-thought:after,.assistant-bubble:before,.assistant-bubble:after{content:'';position:absolute;background:#fff;border:1px solid #e8e0e6;border-radius:50%;pointer-events:none}
.assistant-thought:before{width:15px;height:15px;left:-18px;top:52%}.assistant-thought:after{width:7px;height:7px;left:-30px;top:59%}
.assistant-thought .assistant-greeting{font-size:15px;font-weight:550;line-height:1.6;margin:0 0 9px;color:var(--ink)}
.assistant-thought .assistant-invitation{font-size:12px;line-height:1.65;margin:0 0 10px;color:#72727e}
.profile-companion .btn{padding:5px 0;color:var(--wine);font-size:11px}
.profile-companion.thought-hidden .assistant-thought{display:none}
.profile-companion.has-reminder .profile-companion-pet{visibility:hidden;pointer-events:none}
.profile-companion.is-docked .profile-companion-pet{position:fixed;right:24px;bottom:66px;z-index:44;flex-direction:row-reverse;align-items:flex-end;gap:23px;max-width:calc(100vw - 48px)}
.profile-companion.is-docked .assistant-pet-button{width:100px;height:120px}
.profile-companion.is-docked .assistant-robot{width:100px;height:120px}
.profile-companion.is-docked .assistant-thought{width:310px;max-width:calc(100vw - 170px);padding:18px 22px;border-radius:32px;margin-bottom:48px}
.profile-companion.is-docked .assistant-thought:before{left:auto;right:-17px;top:auto;bottom:30px}
.profile-companion.is-docked .assistant-thought:after{left:auto;right:-29px;top:auto;bottom:22px}
.assistant-robot{object-fit:contain;flex-shrink:0;filter:drop-shadow(0 8px 10px #41253716);animation:assistant-float 4.5s ease-in-out infinite}
@keyframes assistant-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
#profile-assistant-root{position:fixed;bottom:66px;right:24px;z-index:45;max-width:calc(100vw - 32px)}
.assistant-popover{display:flex;align-items:flex-end;gap:8px;max-width:405px;animation:assistant-arrive .3s ease-out}
.assistant-bubble{position:relative;background:white;border:1px solid #e4d9e0;border-radius:30px;padding:14px 20px;box-shadow:0 12px 42px #35233524;min-width:0;margin-left:15px;margin-bottom:35px}
.assistant-bubble:before{width:13px;height:13px;left:-17px;bottom:30px}.assistant-bubble:after{width:6px;height:6px;left:-28px;bottom:20px}
.assistant-bubble-head{display:flex;justify-content:space-between;align-items:center;gap:10px}.assistant-bubble-head>span{font-size:8px;letter-spacing:1.2px;color:var(--wine);font-weight:700}.assistant-bubble-head .iconbtn{height:25px;width:25px;font-size:20px}
.assistant-bubble p{font-size:12px;line-height:1.65;margin:5px 0 10px}.assistant-actions{display:flex;gap:6px;flex-wrap:wrap}.assistant-actions .btn{font-size:10px;padding:6px 8px}
@keyframes assistant-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
.profile-image-preview{width:100%;height:160px;object-fit:cover;border-radius:10px;background:#f4f0f3;display:block;margin:0 0 16px}.profile-image-preview.photo{width:115px;height:115px;border-radius:50%;margin:0 auto 16px;object-fit:cover}.profile-image-empty{text-align:center;padding:20px;background:#faf7f9;border-radius:9px;margin-bottom:16px;font-size:12px;color:var(--muted)}
.phrase-editor textarea{min-height:100px;resize:vertical}.mood-choices{display:flex;gap:7px;flex-wrap:wrap;margin:12px 0 15px}.mood-choices button{width:38px;height:38px;display:grid;place-items:center;font-size:21px;border:1px solid #e9dee4;border-radius:9px;background:white;cursor:pointer}.mood-choices button:hover{background:#f8edf3}.profile-form-section{margin:22px 0 14px;padding-top:19px;border-top:1px solid var(--line)}.profile-form-section h3{font-size:14px;margin-bottom:5px}.profile-form-section p{color:var(--muted);font-size:11px;margin:0}.profile-image-note{font-size:11px;color:var(--muted);line-height:1.6}.phrase-editor .small{margin-top:8px;display:block}
@media(max-width:600px){.profile-companion{padding:6px 0 18px}.profile-companion-pet{gap:19px;align-items:center}.assistant-pet-button{width:86px;height:118px}.assistant-pet-button .assistant-robot{width:86px;height:118px}.assistant-thought{padding:17px 18px;border-radius:28px}.assistant-thought .assistant-greeting{font-size:13px}.assistant-thought .assistant-invitation{font-size:11px}.assistant-thought:before{left:-15px;width:11px;height:11px}.assistant-thought:after{left:-24px;width:6px;height:6px}.profile-companion.is-docked .profile-companion-pet{right:12px;bottom:65px;max-width:calc(100vw - 24px);gap:18px}.profile-companion.is-docked .assistant-pet-button,.profile-companion.is-docked .assistant-robot{width:80px;height:100px}.profile-companion.is-docked .assistant-thought{width:250px;max-width:calc(100vw - 125px);padding:16px 18px;margin-bottom:30px}#profile-assistant-root{right:12px;bottom:65px;max-width:calc(100vw - 24px)}.assistant-popover>.assistant-robot{width:68px;height:85px}.assistant-popover{gap:5px;max-width:365px}.assistant-bubble{padding:12px 15px}.profile-cover{padding-top:45px}}
@media(prefers-reduced-motion:reduce){.assistant-robot,.assistant-popover{animation:none}}
