.desk-pet{position:fixed;left:12px;top:200px;right:auto;bottom:auto;z-index:35;display:none;width:108px;height:108px;pointer-events:none;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif;color:#243047}
.desk-pet.is-ready{display:block}
.desk-pet-bubble{position:absolute;left:0;bottom:calc(100% + 4px);width:min(290px,calc(100vw - 30px));padding:13px 15px 12px;border:1px solid #e3e6ed;border-radius:17px 17px 17px 5px;background:#fffcf5f5;box-shadow:0 14px 38px #28354822;backdrop-filter:blur(12px);pointer-events:auto;animation:pet-bubble-in .25s ease both}
.desk-pet[data-side="right"] .desk-pet-bubble{left:auto;right:0;border-radius:17px 17px 5px 17px}
.desk-pet[data-vertical="below"] .desk-pet-bubble{bottom:auto;top:calc(100% + 4px);border-radius:5px 17px 17px 17px}
.desk-pet-bubble[hidden]{display:none}
.desk-pet-bubble::after{content:"";position:absolute;left:34px;bottom:-7px;width:12px;height:12px;background:#fffcf5;transform:rotate(45deg);border-right:1px solid #e3e6ed;border-bottom:1px solid #e3e6ed}
.desk-pet[data-side="right"] .desk-pet-bubble::after{left:auto;right:34px}
.desk-pet[data-vertical="below"] .desk-pet-bubble::after{top:-7px;bottom:auto;border:0;border-left:1px solid #e3e6ed;border-top:1px solid #e3e6ed}
.desk-pet-eyebrow{display:block;margin-bottom:4px;color:#9b6a24;font-size:11px;font-weight:800;letter-spacing:.14em}
.desk-pet-speech{margin:0;padding-right:13px;font-size:14px;line-height:1.55;font-weight:650;overflow-wrap:anywhere}
.desk-pet-actions{display:flex;align-items:center;gap:12px;margin-top:9px}
.desk-pet-actions{flex-wrap:wrap;gap:5px 12px}
.desk-pet-actions button{border:0;background:none;color:#86612d;font-size:12px;font-weight:750;padding:4px 0}
.desk-pet-actions button:hover{text-decoration:underline}
.desk-pet-actions #desk-pet-go[hidden]{display:none}
.desk-pet-close{position:absolute;top:7px;right:9px;width:25px;height:25px;border:0;background:transparent;color:#8893a4;font-size:20px;line-height:1}
.desk-pet-body{display:flex;align-items:flex-end;justify-content:flex-end;width:108px;height:108px;pointer-events:auto}
.desk-pet-character{position:relative;width:108px;height:108px;padding:0;border:0;background:none;filter:drop-shadow(0 8px 9px #523b192c);cursor:grab;touch-action:none;animation:pet-idle 4.5s ease-in-out infinite}
.desk-pet.is-dragging .desk-pet-character{cursor:grabbing;animation:none!important;filter:drop-shadow(0 13px 14px #523b1947)}
.desk-pet-character:focus-visible{outline:3px solid #e9ae4c;outline-offset:-3px;border-radius:24px}
.desk-pet-sprite{display:block;width:108px;height:108px;background-image:url("pet-nailong.png");background-repeat:no-repeat;background-size:300% 200%;image-rendering:pixelated;background-position:0% 0%;transition:filter .2s}
.desk-pet-badge{position:absolute;right:5px;top:3px;min-width:23px;height:23px;padding:0 5px;display:grid;place-items:center;border:2px solid #fff;border-radius:999px;background:#eb735e;color:#fff;font-size:11px;font-weight:800;box-shadow:0 3px 9px #543b293d}
.desk-pet-badge[hidden]{display:none}
.desk-pet[data-mood="happy"] .desk-pet-sprite{background-position:50% 0%}
.desk-pet[data-mood="sad"] .desk-pet-sprite{background-position:100% 0%}
.desk-pet[data-mood="surprised"] .desk-pet-sprite{background-position:0% 100%}
.desk-pet[data-mood="focused"] .desk-pet-sprite{background-position:50% 100%}
.desk-pet[data-mood="sleepy"] .desk-pet-sprite{background-position:100% 100%}
.desk-pet[data-mood="happy"] .desk-pet-character{animation:pet-hop .7s ease-in-out 2}
.desk-pet[data-mood="sad"] .desk-pet-character{animation:pet-sad 3s ease-in-out infinite}
.desk-pet[data-mood="surprised"] .desk-pet-character{animation:pet-surprised .44s ease-in-out 2}
.desk-pet[data-mood="focused"] .desk-pet-character{animation:pet-nudge 2.6s ease-in-out infinite}
.desk-pet[data-mood="sleepy"] .desk-pet-character{animation:pet-sleep 4s ease-in-out infinite}
.desk-pet.is-tapped .desk-pet-character{animation:pet-hop .58s ease-in-out 1}
@keyframes pet-idle{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-4px) rotate(1deg)}}
@keyframes pet-hop{0%,100%{transform:translateY(0) scale(1)}43%{transform:translateY(-14px) rotate(-4deg) scale(1.04)}}
@keyframes pet-sad{0%,100%{transform:translateY(2px) rotate(-2deg)}50%{transform:translateY(4px) rotate(1deg)}}
@keyframes pet-surprised{0%,100%{transform:scale(1)}50%{transform:scale(1.11) rotate(3deg)}}
@keyframes pet-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(-4px) rotate(-3deg)}}
@keyframes pet-sleep{0%,100%{transform:translateY(2px)}50%{transform:translateY(5px)}}
@keyframes pet-bubble-in{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:620px){.desk-pet,.desk-pet-body,.desk-pet-character,.desk-pet-sprite{width:91px;height:91px}.desk-pet-speech{font-size:14px}}
@media(prefers-reduced-motion:reduce){.desk-pet-character,.desk-pet.is-tapped .desk-pet-character,.desk-pet-bubble{animation:none!important}}
#study-page .holiday-widget{grid-template-columns:minmax(0,1fr);margin-top:12px}
.desk-pet-panel{position:fixed;z-index:36;width:min(380px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:20px;border:1px solid #e9e1d3;border-radius:23px;background:linear-gradient(155deg,#fffdf8 0%,#fff 62%,#f5f8ff 100%);box-shadow:0 22px 60px #2c334133;color:#263247;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC",sans-serif}
.desk-pet-panel[hidden]{display:none}
.desk-pet-panel-head{display:flex;align-items:start;justify-content:space-between;gap:12px}
.desk-pet-panel-head span{display:block;color:#a7753a;font-size:11px;font-weight:750;letter-spacing:.11em}
.desk-pet-panel-head h2{margin:5px 0 0;font-size:22px;line-height:1.25;letter-spacing:-.02em}
.desk-pet-panel-head button{width:30px;height:30px;border:0;border-radius:50%;background:#f5f1e8;color:#69758a;font-size:20px;cursor:pointer}
.desk-pet-panel-intro{margin:13px 0 15px;color:#5d6b7f;font-size:14px;line-height:1.6}
.desk-pet-panel-section{border-top:1px solid #edf0f2;padding:15px 0}
.desk-pet-panel-section h3{margin:0 0 10px;font-size:15px}
.desk-pet-panel-line{display:flex;align-items:start;justify-content:space-between;gap:10px}
.desk-pet-panel-line span{color:#a26b3f;font-size:13px;font-weight:750}
.desk-pet-alerts{display:grid;gap:8px;max-height:232px;overflow:auto}
.desk-pet-alert{display:grid;gap:5px;width:100%;padding:11px 12px;border:1px solid #e5eaf0;border-radius:12px;background:#ffffffd9;text-align:left;color:inherit;cursor:pointer}
.desk-pet-alert:hover,.desk-pet-alert:focus-visible{border-color:#d8b278;background:#fff9ef}
.desk-pet-alert strong{font-size:14px;line-height:1.35}
.desk-pet-alert span,.desk-pet-empty{margin:0;color:#667488;font-size:13px;line-height:1.5}
.desk-pet-prompts{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.desk-pet-prompts button{padding:6px 8px;border:1px solid #e7e2d9;border-radius:999px;background:#fffaf2;color:#805c34;font-size:12px;cursor:pointer}
.desk-pet-ask{display:flex;gap:7px}
.desk-pet-ask input{min-width:0;flex:1;border:1px solid #dfe4ea;border-radius:10px;padding:10px;font:inherit;font-size:14px;background:#fff}
.desk-pet-ask button,.desk-pet-answer button{border:0;border-radius:10px;background:#eebc65;color:#4b361b;padding:8px 12px;font-size:14px;font-weight:700;cursor:pointer}
.desk-pet-answer{display:flex;align-items:start;gap:8px;flex-wrap:wrap;margin:10px 0 0;font-size:14px;line-height:1.6;color:#45556a}
.desk-pet-answer:empty{display:none}
.desk-pet-answer button{font-size:12px;white-space:nowrap;background:#fff1d8}
.desk-pet-panel-footer{border-top:1px solid #edf0f2;padding-top:13px;display:grid;gap:5px}
.desk-pet-panel-footer button{justify-self:start;padding:7px 10px;border:1px solid #d9e0e9;border-radius:9px;background:#fff;color:#475c77;font-size:13px;cursor:pointer}
.desk-pet-panel-footer button:disabled{cursor:default;opacity:.7}
.desk-pet-panel-footer span{color:#8390a0;font-size:12px;line-height:1.45}
@media(max-width:620px){.desk-pet-panel{padding:16px;border-radius:18px}.desk-pet-panel-head h2{font-size:20px}.desk-pet-alerts{max-height:28dvh}}
.desk-pet,.desk-pet-body,.desk-pet-character,.desk-pet-sprite{width:80px;height:80px}
.desk-pet-body{border-radius:24px;background:radial-gradient(circle at 50% 62%,#fffdf4e8,#fff8e798 70%,transparent 71%);box-shadow:0 7px 24px #705a2720}
.desk-pet-character{filter:drop-shadow(0 4px 5px #523b1920)}
.desk-pet-badge{right:0;top:0}
@media(max-width:620px){.desk-pet,.desk-pet-body,.desk-pet-character,.desk-pet-sprite{width:70px;height:70px}.desk-pet-body{border-radius:20px}}
