.tiantian{--tiantian-size:136px;position:fixed;left:max(16px,env(safe-area-inset-left));right:auto;bottom:max(16px,env(safe-area-inset-bottom));width:var(--tiantian-size);z-index:20;pointer-events:none}.tiantian[hidden],.tiantian [hidden]{display:none}.tiantian[data-collapsed=true]{width:56px}.tiantian__panel{position:relative;padding:9px;background:0 0}.tiantian button{box-sizing:border-box;color:var(--special-text-color);font:inherit;cursor:pointer;pointer-events:auto;touch-action:manipulation}.tiantian button:focus-visible{outline:2px solid var(--accent-color);outline-offset:3px}.tiantian__cat{display:block;width:100%;padding:0;border:0;border-radius:0;background:0 0;line-height:0}.tiantian__figure{display:block;position:relative;aspect-ratio:1;transform-origin:50% 100%;animation:tiantian-breathe 4.8s ease-in-out infinite}.tiantian__figure img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.tiantian__blink{--eye-mask:radial-gradient(ellipse 9% 6.5% at 40% 43.5%, #000 80%, transparent 100%), radial-gradient(ellipse 8% 6.5% at 66% 41.5%, #000 80%, transparent 100%);-webkit-mask-image:var(--eye-mask);mask-image:var(--eye-mask);opacity:0;transition:opacity 60ms ease}.tiantian__pose{opacity:0}.tiantian__idle,.tiantian__pose{transition:opacity 90ms ease}.tiantian[data-pose=petting] .tiantian__idle,.tiantian[data-pose=resting] .tiantian__idle,.tiantian[data-pose=speaking] .tiantian__idle{opacity:0}.tiantian[data-pose=petting] .tiantian__pose--petting,.tiantian[data-pose=resting] .tiantian__pose--resting,.tiantian[data-pose=speaking] .tiantian__pose--speaking{opacity:1}.tiantian[data-state=resting] .tiantian__figure{animation-duration:6.4s}.tiantian.is-blinking .tiantian__blink{opacity:1}.tiantian[data-paused=true] .tiantian__figure,.tiantian[data-paused=true] .tiantian__sleep{animation-play-state:paused}.tiantian__sleep{display:none;position:absolute;top:-10px;left:6px;height:28px;align-items:flex-end;gap:2px;color:var(--special-text-color);font-size:12px;font-weight:700;line-height:1;pointer-events:none;animation:tiantian-sleep 2.8s ease-in-out infinite}.tiantian[data-state=resting] .tiantian__sleep{display:flex}.tiantian__sleep span:nth-child(2){margin-bottom:5px;font-size:14px}.tiantian__sleep span:nth-child(3){margin-bottom:10px;font-size:16px}.tiantian__launcher{display:block;width:56px;height:56px;padding:0;border:0;background:0 0}.tiantian__launcher img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}.tiantian__actions{display:flex;justify-content:center;gap:4px}.tiantian__actions button{display:grid;place-items:center;width:28px;height:28px;padding:0;border:0;background:0 0;opacity:.8}.tiantian__actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.tiantian__actions button:hover,.tiantian__actions button:focus-visible,.tiantian__actions button[aria-pressed=true]{color:var(--accent-color);opacity:1}.tiantian__bubble{position:absolute;left:8px;bottom:calc(100% - 12px);max-width:min(180px,calc(100vw - 40px));padding:6px 10px;border:1px solid var(--outline-color);border-radius:14px;background:var(--bg-color2);color:var(--special-text-color);font-size:13px;line-height:1.5;pointer-events:none;z-index:2}.tiantian__bubble::after{content:"";position:absolute;left:12px;bottom:-5px;width:8px;height:8px;border-right:1px solid var(--outline-color);border-bottom:1px solid var(--outline-color);background:var(--bg-color2);transform:rotate(45deg)}@keyframes tiantian-breathe{0%,100%{transform:scaleY(1)}50%{transform:translateY(-1px)scaleY(1.014)}}@keyframes tiantian-sleep{0%,100%{transform:translateY(0);opacity:.65}50%{transform:translateY(-4px);opacity:1}}@media(max-width:800px){.tiantian{--tiantian-size:112px;left:max(12px,env(safe-area-inset-left));bottom:max(12px,env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){.tiantian__figure,.tiantian__sleep{animation:none}.tiantian__blink,.tiantian__idle,.tiantian__pose{transition:none}}@media print{.tiantian{display:none}}