.pet-widget{position:fixed;right:22px;bottom:20px;z-index:80;color:#287761;font-family:inherit}.pet-launch{border:1px solid #dce6da;border-radius:22px;background:#fffffff2;box-shadow:0 6px 24px #28453613;display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:3px 10px 9px;color:#315648;font:600 12px inherit}.pet-icon{width:80px;height:80px}.pet-art{width:100%;height:100%;overflow:visible;--body:#dcebbe;--accent:#75a36a}.pet-art.fire{--body:#fbd8b5;--accent:#ec9369;color:#b8653a}.pet-art.water{--body:#cbe8ef;--accent:#6cb2cb;color:#44869c}.pet-body{fill:var(--body);stroke:var(--accent);stroke-width:1.5}.pet-accent{fill:var(--accent)}.pet-halo{stroke:var(--accent);stroke-width:2;fill:none;stroke-dasharray:4 6;opacity:.6}.pet-spark{fill:#d9ac5d}.pet-float{animation:pet-bob 3.5s ease-in-out infinite;transform-origin:center}.pet-panel{width:300px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 180px);overflow:auto;background:#fffffff7;border:1px solid #dce6da;border-radius:24px;padding:20px;box-shadow:0 16px 50px #23473526;margin-bottom:12px;box-sizing:border-box}.pet-panel[hidden]{display:none}.pet-heading{display:flex;align-items:center;justify-content:space-between}.pet-heading button{border:0;background:none;font-size:24px;color:#6c7a70;cursor:pointer}.pet-preview{height:128px;margin:8px auto;width:128px}.pet-name{text-align:center;margin:6px 0;font-size:20px}.pet-status{text-align:center;font-size:12px;color:#6d7d70}.pet-elements{display:flex;gap:5px;margin:16px 0}.pet-elements button{flex:1;background:#f6f8f3;border:1px solid #e5e9df;border-radius:10px;padding:9px 2px;color:#526450;cursor:pointer}.pet-elements button[aria-pressed=true]{background:#e5efe3;border-color:#6d9b77;color:#23583b}.pet-track{height:7px;border-radius:9px;background:#edf1e8;overflow:hidden}.pet-track i{display:block;height:100%;background:#82ac75;border-radius:9px;transition:width .5s}.pet-progress{font-size:12px;overflow-wrap:anywhere}.pet-note{font-size:12px;line-height:1.8;color:#788172}.pet-message{font-size:12px;line-height:1.6;color:#287761}.pet-hide{background:none;border:0;text-decoration:underline;color:#7e897b;cursor:pointer;font-size:12px}.pet-minimized .pet-icon{display:none}.pet-minimized .pet-launch{padding:9px 12px}.chat-page .pet-widget{bottom:105px}.pet-launch:focus-visible,.pet-panel button:focus-visible{outline:3px solid #9dbf88;outline-offset:3px}@keyframes pet-bob{50%{transform:translateY(-4px) rotate(2deg)}}@media(max-width:640px){.pet-widget{right:12px;bottom:78px}.pet-icon{width:48px;height:48px}.pet-launch{padding:0 7px 5px;border-radius:16px;font-size:10px}.pet-panel{max-height:calc(100dvh - 220px);width:290px}.chat-page .pet-widget{bottom:156px}.compact-chat .pet-widget{display:none}}@media(prefers-reduced-motion:reduce){.pet-float{animation:none}.pet-track i{transition:none}}
.pet-panel{width:360px}.pet-preview{width:155px;height:155px}.pet-evolutions{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:12px 0}.pet-evolutions button{padding:6px 3px;background:#f7f9f4;border:1px solid #e4e9df;border-radius:12px;cursor:pointer;color:#667b63;font:inherit}.pet-evolutions svg{display:block;width:100%;height:88px}.pet-evolutions span{font-size:10px;display:block}.pet-evolutions button[aria-pressed=true]{border-color:#7fa36c;background:#edf3e6}.pet-choice-info{font-size:12px;line-height:1.6;color:#7b856f}.pet-choose,.pet-confirm-yes{background:#287761;color:white;border:0;border-radius:10px;padding:11px 14px;cursor:pointer}.pet-choose{width:100%;margin-bottom:16px}.pet-panel button:disabled{opacity:.55;cursor:default}.pet-confirm{padding:12px;background:#f5efdf;border-radius:12px;margin-bottom:14px;font-size:13px;line-height:1.7}.pet-confirm[hidden]{display:none}.pet-confirm-no{border:0;background:none;color:#687b62;padding:9px;cursor:pointer}.pet-unselected{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:32px;color:#8da481}.pet-launch{font-family:inherit;font-size:12px;font-weight:600}@media(max-width:640px){.pet-panel{width:330px;max-height:calc(100dvh - 180px)}.pet-preview{width:130px;height:130px}.pet-evolutions svg{height:78px}}
/* Keep dismissal controls inside the visible viewport, including the teacher page. */
.pet-backdrop{display:none}
.pet-backdrop[hidden]{display:none!important}
.pet-panel{position:relative;z-index:2;max-height:var(--pet-panel-max-height,calc(100vh - 180px));overscroll-behavior:contain;scroll-padding-top:68px}
.pet-launch{position:relative;z-index:1}
.pet-heading{position:sticky;top:0;z-index:3;min-height:44px;box-sizing:border-box;margin:-20px -20px 12px;padding:8px 14px;background:#fff;border-bottom:1px solid #e8eee5}
.pet-heading .pet-close{width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;border-radius:12px;background:#f3f7f1;color:#315648;padding:0;line-height:1}
@media(max-width:640px){
 .pet-backdrop{display:block;position:fixed;inset:0;z-index:0;border:0;border-radius:0;background:#18332755;padding:0;cursor:pointer}
 .pet-panel{position:fixed;top:calc(var(--pet-viewport-top,0px) + 12px + env(safe-area-inset-top));bottom:auto;left:12px;right:12px;width:auto;max-width:360px;margin:0 auto;max-height:calc(var(--pet-viewport-height,100vh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:calc(var(--pet-viewport-height,100dvh) - 24px - env(safe-area-inset-top) - env(safe-area-inset-bottom));border-radius:20px}
}
@media(max-width:640px){.compact-chat .pet-widget{display:block}}
