.pet-bub-img{display:block;width:calc(var(--dsh-pet-size,var(--pet-size,462px))*0.34);height:auto;border-radius:calc(var(--dsh-pet-size,var(--pet-size,462px))*0.026);margin:0 auto calc(var(--dsh-pet-size,var(--pet-size,462px))*0.017);object-fit:cover;pointer-events:none;user-select:none}.pet-bubble.has-img,.dsh-pet-bubble.has-img{min-width:0}
@font-face{font-family:"ShangshouSoftCandy";src:url("/space-assets/20260909-1/pet-full/fonts/上首软糖体.ttf") format("truetype");font-display:swap;font-weight:400}
.dsh-pet-bubble{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% - var(--dsh-pet-size)*0.108);min-width:calc(var(--dsh-pet-size)*0.26);max-width:calc(var(--dsh-pet-size)*0.5);padding:calc(var(--dsh-pet-size)*0.022) calc(var(--dsh-pet-size)*0.030);border-radius:calc(var(--dsh-pet-size)*0.035);background:rgba(255,255,255,.92);color:#2b2b2b;font-family:"ShangshouSoftCandy","Yuanti SC","YouYuan","幼圆","Comic Sans MS","PingFang SC","Microsoft YaHei",sans-serif;font-size:calc(var(--dsh-pet-size)*0.0455);line-height:1.6;z-index:3;pointer-events:none;box-shadow:0 calc(var(--dsh-pet-size)*0.009) calc(var(--dsh-pet-size)*0.035) rgba(0,0,0,.14),0 1px 3px rgba(0,0,0,.08);backdrop-filter:blur(6px);opacity:0;transition:opacity .25s ease;white-space:nowrap}
.dsh-pet-bubble::after{content:"";position:absolute;left:50%;bottom:calc(var(--dsh-pet-size)*-0.017);transform:translateX(-50%);border:calc(var(--dsh-pet-size)*0.017) solid transparent;border-top-color:rgba(255,255,255,.92);border-bottom:none}
.dsh-pet-bubble.is-on{opacity:1}
.dsh-pet-bubble.dsh-pet-whisper{font-size:calc(var(--dsh-pet-size)*0.034);min-width:calc(var(--dsh-pet-size)*0.10);max-width:calc(var(--dsh-pet-size)*0.5);white-space:normal;overflow-wrap:anywhere}
.dsh-pet-bubble .pet-bub-title{font-size:calc(var(--dsh-pet-size)*0.035);color:rgba(43,43,43,.6);margin-bottom:calc(var(--dsh-pet-size)*0.009)}
.dsh-pet-bubble .pet-bub-row{display:flex;justify-content:space-between;gap:calc(var(--dsh-pet-size)*0.030)}
.dsh-pet-bubble .pet-bub-sub{font-size:calc(var(--dsh-pet-size)*0.035);color:rgba(43,43,43,.6)}
.dsh-pet-bubble .pet-bub-val{font-variant-numeric:tabular-nums;font-weight:650;color:#1f1f1f}
.dsh-pet-bubble .pet-bub-err{color:#d94f3d;font-size:calc(var(--dsh-pet-size)*0.035)}
.dsh-pet-bubble .pet-bub-tag{margin-left:calc(var(--dsh-pet-size)*0.013);font-size:calc(var(--dsh-pet-size)*0.022);color:rgba(43,43,43,.55);border:1px solid rgba(43,43,43,.25);border-radius:calc(var(--dsh-pet-size)*0.013);padding:0 calc(var(--dsh-pet-size)*0.009);vertical-align:1px}
.dsh-pet-bubble .pet-bub-tier{font-weight:700}
.dsh-pet-bubble .pet-bub-tier-peak{color:#e53935}
.dsh-pet-bubble .pet-bub-tier-idle{color:#2e9e4f}
.dsh-pet-score{position:fixed;z-index:2147483002;min-width:120px;text-align:center;background:rgba(255,255,255,.97);border:1px solid rgba(255,179,0,.35);border-radius:12px;box-shadow:0 10px 32px rgba(0,0,0,.22);padding:8px 16px 9px;user-select:none;pointer-events:auto;font-family:'ShangshouSoftCandy','Yuanti SC','YouYuan','幼圆','Comic Sans MS','PingFang SC','Microsoft YaHei',sans-serif;}.dsh-pet-score.is-in{animation:dshPetScorePop .28s ease}.dsh-pet-score-val{font-size:22px;line-height:1.25;font-weight:700;color:#ff8f00;font-variant-numeric:tabular-nums}.dsh-pet-score-sub{font-size:11px;line-height:1.4;color:rgba(43,43,43,.6);margin-top:2px;white-space:nowrap}.dsh-pet-score-burst{position:fixed;inset:0;pointer-events:none;z-index:2147483002}.dsh-pet-score-particle{position:absolute;border-radius:50%;pointer-events:none}@keyframes dshPetScorePop{from{transform:scale(.6);opacity:0}to{transform:scale(1);opacity:1}}
.dsh-pet-chat{position:fixed;z-index:2147483001;width:160px;max-width:80vw;background:rgba(255,255,255,.98);border:1px solid rgba(0,0,0,.12);border-radius:10px;box-shadow:0 10px 32px rgba(0,0,0,.22);color:#2b2b2b;font-size:14px;line-height:1.5;font-family:'ShangshouSoftCandy','Yuanti SC','YouYuan','幼圆','Comic Sans MS','PingFang SC','Microsoft YaHei',sans-serif;user-select:none}.dsh-pet-chat *{box-sizing:border-box}.dsh-pet-chat-input{display:block;width:100%;border:none;outline:none;background:transparent;padding:8px 11px 9px;font-size:14px;line-height:1.45;color:#2b2b2b;font-family:inherit;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere}.dsh-pet-chat-input::placeholder{color:rgba(43,43,43,.45)}.dsh-pet-chat-input:disabled{opacity:.55}.dsh-pet-chat-err{color:#d94f3d;font-size:12px;padding:0 12px 8px;white-space:pre-wrap;overflow-wrap:anywhere}
.dsh-pet-root{position:fixed;z-index:40;pointer-events:none;user-select:none}
.dsh-pet-root[data-corner="bottom-right"]{right:var(--dsh-pet-mx,24px);bottom:var(--dsh-pet-my,0)}
.dsh-pet-root[data-corner="bottom-left"]{left:var(--dsh-pet-mx,24px);bottom:var(--dsh-pet-my,0)}
.dsh-pet-root[data-corner="top-right"]{right:var(--dsh-pet-mx,24px);top:var(--dsh-pet-my,0)}
.dsh-pet-root[data-corner="top-left"]{left:var(--dsh-pet-mx,24px);top:var(--dsh-pet-my,0)}
.dsh-pet-stage{position:relative;width:var(--dsh-pet-size,462px);height:calc(var(--dsh-pet-size,462px)*9/16);pointer-events:none}
.dsh-pet-video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;opacity:0;transition:opacity .18s ease;transform-origin:center}
.dsh-pet-video.is-front{opacity:1}
.dsh-pet-hit{position:absolute;pointer-events:auto;cursor:url("/space-assets/20260909-1/pet-full/pic/cursor-grab.png") 16 16, grab;z-index:1}
.dsh-pet-hit.dragging{cursor:url("/space-assets/20260909-1/pet-full/pic/cursor-grabbing.png") 16 16, grabbing}
@media (prefers-reduced-motion: reduce){.dsh-pet-video{transition:none}}
.dsh-pet-menu{position:fixed;left:0;top:0;z-index:2147483000;color:#2b2b2b;font-size:13px;line-height:1.5;font-family:'Microsoft YaHei UI','Segoe UI','PingFang SC',sans-serif;user-select:none;pointer-events:auto}.dsh-pet-menu,.dsh-pet-menu *{box-sizing:border-box}.dsh-pet-menu-column{position:absolute;min-width:150px;max-width:240px;padding:4px;background:rgba(255,255,255,.98);border:1px solid rgba(0,0,0,.12);border-radius:8px;box-shadow:0 8px 28px rgba(0,0,0,.2);max-height:min(62vh,460px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.22) transparent}.dsh-pet-menu-column::-webkit-scrollbar{width:8px;height:8px}.dsh-pet-menu-column::-webkit-scrollbar-track{background:transparent}.dsh-pet-menu-column::-webkit-scrollbar-thumb{background:rgba(0,0,0,.16);border-radius:4px;border:2px solid transparent;background-clip:content-box}.dsh-pet-menu-column::-webkit-scrollbar-thumb:hover{background:rgba(43,99,255,.4);border:2px solid transparent;background-clip:content-box}.dsh-pet-menu-column::-webkit-scrollbar-corner{background:transparent}.dsh-pet-menu-item{position:relative;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:5px 12px;border-radius:6px;white-space:nowrap;cursor:default}.dsh-pet-menu-item:hover{background:rgba(43,99,255,.14)}.dsh-pet-menu-item>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis}.dsh-pet-menu-arrow{color:#9aa0a6;font-size:12px;flex:none}
/* Native videos decode only: never expose a hardware video overlay. */
.dsh-pet-stage { background:transparent!important; }
.dsh-pet-video { display:none!important; }
.dsh-pet-surface { position:absolute; inset:0; width:100%; height:100%; pointer-events:none; opacity:0; visibility:hidden; background:transparent!important; transition:opacity .18s ease; transform-origin:center; }
.dsh-pet-surface.is-front[data-frame-ready="true"] { opacity:1; visibility:visible; }

body.ambient-page > .dsh-pet-chat,
body.ambient-page > .dsh-pet-menu,
body.ambient-page > .dsh-pet-score,
body.ambient-page > .dsh-pet-score-burst { position:fixed!important; z-index:2147483002!important; }
.dsh-pet-chat-input { font-size:16px; }
.dsh-pet-hit { touch-action:none; }
@media (max-width:600px) { .dsh-pet-menu-item { min-height:38px; } }
#home-pet-settings .pet-size-label:has(input[type=range]) { flex-wrap:wrap; gap:12px; }
#home-pet-settings input[type=range] { flex-basis:100%; width:100%; accent-color:#739beb; }
#home-pet-settings select { border:1px solid var(--pet-line); border-radius:999px; padding:8px; background:var(--pet-glass); color:var(--pet-ink); }
/* Circular pet settings control, following the supplied hover recording. */
.home-pet-ui .pet-launcher {
  --launcher-blue:#7aa2f7; --launcher-pink:#f77daa;
  position:fixed; right:max(34px,env(safe-area-inset-right)); bottom:max(38px,calc(env(safe-area-inset-bottom) + 30px));
  width:68px; height:68px; padding:0; display:block; border-radius:50%;
  border:2px solid rgba(255,255,255,.78); background:linear-gradient(135deg,rgba(255,255,255,.94),rgba(239,244,255,.86));
  box-shadow:0 5px 24px #7aa2f749,inset 0 2px 10px #ffffffcc,inset 0 -2px 5px #7aa2f71a;
  backdrop-filter:blur(18px); overflow:visible; isolation:isolate; color:var(--launcher-blue);
  transform:scale(1) rotate(0deg); transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .5s,border-color .5s;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
.pet-launcher > * { pointer-events:none; }
.pet-launcher-glow { position:absolute; inset:-17px; border-radius:50%; z-index:-1;
  background:radial-gradient(circle,#b49de85e 8%,#7aa2f747 35%,transparent 70%); filter:blur(5px); opacity:.6; transition:opacity .4s,transform .5s; }
.pet-launcher-ring { position:absolute; inset:2px; width:calc(100% - 4px); height:calc(100% - 4px); transform:rotate(-90deg); overflow:visible; filter:drop-shadow(0 0 4px #7aa2f770); }
.pet-launcher-track { fill:none; stroke:#7aa2f725; stroke-width:6; }
.pet-launcher-arc { fill:none; stroke:url(#pet-launcher-gradient); stroke-width:6; stroke-linecap:round; stroke-dasharray:216 61; }
.pet-launcher-core { fill:rgba(255,255,255,.92); }
.pet-launcher-dashes { fill:none; stroke:#91ace566; stroke-width:1; stroke-dasharray:3 4; opacity:0; transform-origin:50px 50px; transition:opacity .4s; }
.pet-launcher-icon { position:absolute; inset:0; display:grid; place-items:center; transition:color .3s; color:var(--launcher-blue); }
.pet-launcher-icon svg { width:25px; height:25px; filter:drop-shadow(0 2px 4px #7aa2f740); transition:transform .5s cubic-bezier(.34,1.56,.64,1); }
.pet-launcher-particles,.pet-launcher-emojis,.pet-launcher-stars { position:absolute; inset:0; }
.pet-launcher-particles { z-index:4; }
.pet-launcher-particles i { position:absolute; left:calc(50% - 3px); top:calc(50% - 3px); width:6px; height:6px; border-radius:50%; background:var(--launcher-blue); opacity:0; }
.pet-launcher-particles i:nth-child(2n) { background:var(--launcher-pink); }
.pet-launcher-emoji { position:absolute; display:block; font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif; font-size:24px; line-height:1; opacity:0; scale:.3; transition:opacity .3s,scale .45s cubic-bezier(.34,1.56,.64,1); filter:drop-shadow(0 2px 3px #7496d733); }
.pet-launcher-star { top:-13px; left:-10px; rotate:-15deg; }
.pet-launcher-heart { top:-2px; right:-20px; rotate:15deg; }
.pet-launcher-sparkles { bottom:-11px; left:-17px; rotate:-10deg; }
.pet-launcher-rocket { bottom:-16px; right:-15px; rotate:15deg; font-size:21px; }
.pet-launcher-twinkle { position:absolute; font-size:16px; color:#85a5e5; opacity:0; scale:.3; transition:opacity .4s,scale .5s,translate .5s; }
.twinkle-0 { left:14px; top:-7px; --star-x:0px; --star-y:-13px; }
.twinkle-1 { right:-4px; top:27px; --star-x:17px; --star-y:0px; }
.twinkle-2 { bottom:-5px; left:31px; --star-x:0px; --star-y:11px; }
.twinkle-3 { left:-7px; top:27px; --star-x:-15px; --star-y:0px; }
.twinkle-4 { top:-4px; right:15px; --star-x:0px; --star-y:-12px; color:#baa3e6; }
.twinkle-5 { bottom:4px; right:0; --star-x:10px; --star-y:8px; color:#e2a1ca; }
.pet-launcher-tooltip,.pet-launcher-status { position:absolute; left:50%; width:max-content; max-width:140px; white-space:nowrap; font-size:12px; line-height:1.4;
  color:#7397df; background:rgba(255,255,255,.96); border:1px solid #e7edfc; border-radius:10px; box-shadow:0 3px 12px #7aa2f72b; opacity:0;
  transform:translateX(-50%) scale(.7); transition:opacity .25s,transform .35s cubic-bezier(.34,1.56,.64,1); }
.pet-launcher-tooltip { top:-43px; padding:5px 10px; z-index:6; }
.pet-launcher-tooltip::after { content:''; position:absolute; top:100%; left:calc(50% - 5px); border:5px solid transparent; border-top-color:rgba(255,255,255,.96); }
.pet-launcher-status { bottom:-26px; padding:2px 8px; font-size:10px; }
.home-pet-ui .pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) {
  transform:scale(1.15) rotate(5deg); border-color:#fff;
  box-shadow:0 8px 30px #7aa2f766,0 0 22px #f77daa59,inset 0 2px 10px #ffffffe6;
}
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-glow { opacity:1; animation:pet-orbit-glow 2s ease-in-out infinite alternate; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-dashes { opacity:1; animation:pet-orbit-spin 15s linear infinite; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-icon { color:var(--launcher-pink); animation:pet-orbit-bounce .8s ease-in-out infinite alternate; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-icon svg { transform:rotate(85deg); }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-particles i { animation:pet-orbit-burst 1.5s ease-out var(--burst-delay) both; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-emoji { opacity:1; scale:1; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-star { animation:pet-orbit-star 1.5s ease-in-out infinite alternate; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-heart { animation:pet-orbit-heart 1s ease-in-out infinite; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-sparkles { animation:pet-orbit-sparkle 2s ease-in-out infinite; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-rocket { animation:pet-orbit-rocket 1.2s ease-in-out infinite; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) .pet-launcher-twinkle { opacity:.9; scale:1; translate:var(--star-x) var(--star-y); animation:pet-orbit-twinkle 2.5s ease-in-out infinite alternate; }
.pet-launcher .twinkle-1,.pet-launcher .twinkle-4 { animation-delay:.45s!important; }
.pet-launcher .twinkle-2,.pet-launcher .twinkle-5 { animation-delay:.9s!important; }
.pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) :is(.pet-launcher-tooltip,.pet-launcher-status) { opacity:1; transform:translateX(-50%) scale(1); }
.home-pet-ui .pet-launcher:active { transform:scale(.92); transition:transform .15s; }
.home-pet-ui .pet-launcher:focus-visible { outline:2px solid #739beb; outline-offset:6px; }
[data-theme=dark] .home-pet-ui .pet-launcher { border-color:#bed0ff33; background:linear-gradient(135deg,#20293beb,#111725ef); box-shadow:0 6px 28px #0006,0 0 18px #7aa2f740,inset 0 1px 6px #ffffff17; }
[data-theme=dark] .pet-launcher-core { fill:#1d2539; }
[data-theme=dark] :is(.pet-launcher-tooltip,.pet-launcher-status) { color:#b7cdff; background:#242c40; border-color:#a1bfff33; }
[data-theme=dark] .pet-launcher-tooltip::after { border-top-color:#242c40; }
@keyframes pet-orbit-spin { to { transform:rotate(360deg); } }
@keyframes pet-orbit-glow { to { transform:scale(1.12); filter:blur(7px); } }
@keyframes pet-orbit-bounce { to { translate:0 -3px; } }
@keyframes pet-orbit-burst { 0% { opacity:0; transform:translate(0,0) scale(.3); } 12% { opacity:.9; } 100% { opacity:0; transform:translate(var(--burst-x),var(--burst-y)) scale(.1); } }
@keyframes pet-orbit-star { to { transform:rotate(12deg) scale(1.14); } }
@keyframes pet-orbit-heart { 0%,100% { transform:scale(1); } 20% { transform:scale(1.2); } 40% { transform:scale(1); } 60% { transform:scale(1.12); } }
@keyframes pet-orbit-sparkle { 0%,100% { opacity:1; transform:scale(1); } 50% { opacity:.6; transform:scale(.84) rotate(12deg); } }
@keyframes pet-orbit-rocket { 0%,100% { transform:translateY(0) rotate(-5deg); } 50% { transform:translateY(-4px) rotate(8deg); } }
@keyframes pet-orbit-twinkle { 0% { opacity:.4; transform:scale(.8); } 100% { opacity:1; transform:scale(1.2); } }
@media (max-width:600px) {
  .home-pet-ui .pet-launcher { width:58px; height:58px; right:max(25px,env(safe-area-inset-right)); bottom:max(34px,calc(env(safe-area-inset-bottom) + 26px)); }
  .pet-launcher-icon svg { width:22px; height:22px; }
  .pet-launcher-emoji { font-size:21px; }
  .pet-launcher-heart { right:-16px; } .pet-launcher-rocket { right:-10px; }
}
@media (prefers-reduced-motion:reduce) {
  .home-pet-ui .pet-launcher,.home-pet-ui .pet-launcher * { animation:none!important; transition:none!important; }
  .home-pet-ui .pet-launcher:is(:hover,:focus-visible,[aria-expanded=true]) { transform:none; }
}
body:has(#motion-pause:checked) .pet-launcher * { animation-play-state:paused!important; }
