.ai-presence{--presence-ink:#302043;--presence-muted:#796d89;width:100%;color:var(--presence-ink);isolation:isolate;flex-direction:column;align-items:center;display:flex;position:relative}.presence-art{aspect-ratio:1;width:min(100%,320px);transform:scale(calc(1 + var(--presence-energy,0)*.045));perspective:700px;place-items:center;transition:transform .15s ease-out;display:grid}.presence-form{object-fit:contain;-webkit-user-select:none;user-select:none;pointer-events:none;transform-origin:50% 52%;filter:drop-shadow(0 16px 16px #8b69c214);width:100%;height:100%;animation:6s ease-in-out infinite presence-breathe;display:block}.presence-caption{color:var(--presence-muted);flex-direction:column;align-items:center;gap:6px;margin:0;font-size:13px;line-height:1.5;display:flex}.presence-caption small{color:var(--presence-muted);font-size:12px}.ai-presence-qingling .presence-form{animation:7s ease-in-out infinite presence-silk}.ai-presence-nuanyun .presence-art{width:min(78%,255px)}.ai-presence-nuanyun .presence-form{filter:drop-shadow(0 15px 16px #c1929b16);animation-duration:7.5s}.presence-speaking .presence-form{animation-duration:3.4s}.presence-waiting .presence-form,.presence-connecting .presence-form{animation-duration:8s}.presence-paused .presence-form,.presence-finished .presence-form,.presence-error .presence-form{animation-play-state:paused}.presence-error .presence-form{opacity:.78}@keyframes presence-breathe{0%,to{transform:translateY(2px)scale(.975)rotate(-1deg)}50%{transform:translateY(-5px)scale(1.015)rotate(1deg)}}@keyframes presence-silk{0%,to{transform:translateY(3px)rotateY(-4deg)rotate(-2deg)scale(.975)}50%{transform:translateY(-4px)rotateY(4deg)rotate(2deg)scale(1.015)}}.presence-gesture{transform-origin:50% 55%;place-items:center;width:100%;height:100%;display:grid}.presence-gesture[data-expression=understood]{animation:1s ease-in-out both presence-understood}.presence-gesture[data-expression=curious]{animation:1.2s ease-in-out both presence-curious}.presence-gesture[data-expression=clarify]{animation:1.3s ease-in-out both presence-clarify}.presence-gesture[data-expression=delight]{animation:1.35s ease-in-out both presence-delight}.ai-presence-qingling .presence-gesture{--gesture-tilt:-1;--gesture-lift:1}.ai-presence-chengguang .presence-gesture{--gesture-tilt:1;--gesture-lift:.8}.ai-presence-nuanyun .presence-gesture{--gesture-tilt:.65;--gesture-lift:.65}@keyframes presence-understood{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(2px)scale(1.008,.99)}70%{transform:translateY(-1px)scale(1)}}@keyframes presence-curious{0%,to{transform:rotate(0)translateY(0)}45%,60%{transform:rotate(calc(var(--gesture-tilt,1)*-3deg)) translateY(calc(var(--gesture-lift,1)*-3px))}}@keyframes presence-clarify{0%,to{transform:rotate(0)}40%,65%{transform:rotate(calc(var(--gesture-tilt,1)*2.5deg))}}@keyframes presence-delight{0%,to{filter:brightness();transform:scale(1)}45%{filter:brightness(1.035);transform:scale(1.025)}}@media (prefers-reduced-motion:reduce){.ai-presence .presence-gesture{filter:none;transform:none;animation:none!important}.ai-presence .presence-form{animation:none;transform:none}.ai-presence .presence-art{transition:none;transform:none}}*{box-sizing:border-box}body{color:#30283d;background:#f8f7fb;margin:0;font:16px/1.65 -apple-system,BlinkMacSystemFont,PingFang SC,sans-serif}main{flex-direction:column;max-width:740px;height:100dvh;min-height:450px;margin:auto;padding:0 clamp(20px,5vw,56px) 20px;display:flex}header{color:#756b80;border-bottom:1px solid #e5e0eb;flex:none;align-items:center;gap:18px;min-height:66px;font-size:12px;display:flex}header b{letter-spacing:-1px;color:#382b44;font:600 23px Georgia,serif}header .quiet{background:0 0;margin-left:auto;padding:7px 10px;font-size:12px}.scene{background:radial-gradient(#e8def977,#0000 62%);flex:none;place-items:center;height:clamp(150px,36vh,335px);display:grid}.scene .ai-presence{width:min(80%,300px,36vh)}.status{text-align:center;color:#786884;max-height:60px;margin:-2px 0 12px;font-size:12px;overflow:auto}.log{flex-direction:column;flex:1;gap:14px;min-height:65px;padding:8px 2px;display:flex;overflow:auto}.turn{white-space:pre-wrap;overflow-wrap:anywhere;flex:none;max-width:92%}.agent{font-size:clamp(17px,2.3vw,20px);line-height:1.65}.agent small{color:#82748c;margin-bottom:3px;font-size:12px;display:block}.user{background:#ece6f4;border-radius:18px 18px 5px;align-self:flex-end;padding:9px 15px;font-size:15px}footer{padding:14px 0 max(0px,env(safe-area-inset-bottom));border-top:1px solid #e4deeb;flex:none;max-height:40dvh;overflow:auto}.choices{flex-wrap:wrap;gap:9px;display:flex}button,.button{color:#473651;cursor:pointer;font:inherit;background:#fff;border:1px solid #d9d0e2;border-radius:25px;padding:10px 15px;font-size:14px;text-decoration:none;display:inline-block}button:hover,button:focus-visible{background:#eee8f7;border-color:#ac96bf}.primary{color:#fff;background:#483451;border-color:#483451}button:disabled{opacity:.6}.hint,details{color:#786b85;font-size:12px;line-height:1.6}.hint{margin:10px 0 0}details{margin-top:10px}summary{cursor:pointer}details p{max-width:55ch}a{color:#694a85}.error{color:#9f354b}@media (height<=610px){.scene{height:110px}.scene .ai-presence{width:123px}header{min-height:44px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.voice-clock{color:#786884;font-variant-numeric:tabular-nums;flex-direction:column;flex:none;align-items:center;gap:3px;margin:-5px 0 10px;font-size:12px;display:flex}.voice-clock.ending-soon{color:#9b5a27}.time-warning{font-size:12px}.profile-memory{border-top:1px solid #e4deeb;flex:none;margin:4px 0 12px;padding-top:8px}.profile-memory>div{max-height:22dvh;overflow:auto}.profile-memory p{flex-direction:column;gap:3px;margin:10px 0;display:flex}.profile-memory b{color:#84718f;font-size:12px;font-weight:500}.profile-memory span{color:#493a53;white-space:pre-wrap;font-size:14px}.profile-memory small{font-size:11px}.profile-memory .profile-suggestion{color:#986a32}main:has(.profile-memory[open]) .scene{height:clamp(120px,23dvh,220px)}main:has(.profile-memory[open]) .scene .ai-presence{width:min(70%,210px,23dvh)}
