:root{--pet-shadow:0 26px 70px rgba(25,42,65,.24);--pet-blue:#3669d6;--pet-ink:#293e55}
.pet-widget{position:fixed;z-index:95;right:18px;bottom:18px;width:min(374px,calc(100vw - 28px));height:118px;pointer-events:none;transition:height .25s ease,width .25s ease}.pet-widget.panel-open{height:auto}.pet-widget.is-collapsed:not(.panel-open){width:118px}
.pet-companion{position:absolute;z-index:4;right:2px;bottom:0;width:164px;height:132px;border:0;background:transparent;padding:0;cursor:pointer;pointer-events:auto;transition:transform .22s ease,right .28s ease,top .28s ease,bottom .28s ease;filter:drop-shadow(0 16px 20px rgba(31,46,68,.18));overflow:visible}.pet-widget.panel-open .pet-companion{right:16px;bottom:auto;top:-78px}.pet-widget.is-collapsed:not(.panel-open) .pet-companion{transform:scale(.82);transform-origin:right bottom}.pet-companion:hover{transform:translateY(-3px)}.pet-widget.is-collapsed:not(.panel-open) .pet-companion:hover{transform:scale(.84) translateY(-3px)}
.pet-3d-stage{position:absolute;inset:0 0 18px 0;display:block;isolation:isolate}.pet-3d-stage canvas{display:block;width:100%;height:100%;opacity:0;transition:opacity .35s ease,filter .28s ease;pointer-events:none}.pet-companion.pet-3d-ready .pet-3d-stage canvas{opacity:1}.pet-companion.is-hungry .pet-3d-stage canvas{filter:grayscale(.62) saturate(.45) brightness(.83)}.pet-companion.is-sleepy .pet-3d-stage canvas{filter:saturate(.78)}
.pet-2d-fallback{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);display:grid;place-items:center;width:76px;height:76px;border-radius:28px;background:linear-gradient(145deg,#fff,#eef5fb);border:1px solid #d7e3ed;box-shadow:var(--pet-shadow);font-size:44px;transition:opacity .25s ease}.pet-companion.pet-3d-ready .pet-2d-fallback{opacity:0}.pet-companion.is-hungry:not(.pet-3d-ready) .pet-2d-fallback{filter:grayscale(.5);transform:translate(-50%,-44%) rotate(-4deg)}
.pet-perch{position:absolute;z-index:-1;left:20px;right:5px;bottom:3px;height:31px;border:1px solid rgba(176,193,211,.72);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(238,244,250,.96));box-shadow:0 13px 28px rgba(29,48,71,.14),inset 0 1px rgba(255,255,255,.9)}.pet-perch::after{content:'';position:absolute;left:18px;right:18px;top:7px;height:3px;border-radius:999px;background:linear-gradient(90deg,transparent,#9db3ca 22%,#bfcddd 55%,transparent)}
.pet-status-dot{position:absolute;z-index:8;right:5px;bottom:6px;display:grid;place-items:center;min-width:37px;height:24px;padding:0 7px;border:2px solid #fff;border-radius:999px;background:#2a8b69;color:#fff;box-shadow:0 5px 13px rgba(30,56,78,.18);font-size:10px;font-weight:900}.pet-companion.is-hungry .pet-status-dot{background:#8995a0}.pet-live-pill{position:absolute;z-index:8;left:16px;bottom:6px;display:flex;align-items:center;gap:5px;height:24px;padding:0 8px;border-radius:999px;background:#242c39;color:#fff;font-size:9px;font-weight:900;letter-spacing:.06em}.pet-live-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:#7bffb0;box-shadow:0 0 0 4px rgba(123,255,176,.12)}
.pet-speech{position:absolute;z-index:8;right:110px;bottom:102px;max-width:260px;padding:11px 14px;border:1px solid #d6e1ea;border-radius:16px 16px 5px 16px;background:rgba(255,255,255,.97);backdrop-filter:blur(12px);color:#31465d;box-shadow:0 14px 38px rgba(30,48,70,.15);font-size:12px;line-height:1.4;font-weight:750;opacity:0;transform:translateY(7px) scale(.96);pointer-events:none;transition:.2s}.pet-speech.show{opacity:1;transform:none}.pet-speech[hidden]{display:none}
.pet-streak-chip{position:absolute;right:148px;bottom:12px;z-index:7;display:flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #efd7b4;border-radius:999px;background:#fff9ee;color:#8c5b1f;box-shadow:0 8px 22px rgba(52,39,20,.08);font-size:10px;font-weight:900;pointer-events:none}.pet-streak-chip.fire{box-shadow:0 0 0 2px rgba(255,122,52,.12),0 9px 24px rgba(255,111,35,.2);animation:streakGlow 1.7s ease-in-out infinite alternate}@keyframes streakGlow{to{filter:drop-shadow(0 0 8px rgba(255,115,40,.45))}}
.pet-panel{position:relative;z-index:2;width:100%;max-height:min(640px,calc(100vh - 116px));overflow:auto;pointer-events:auto;border:1px solid rgba(210,222,234,.92);border-radius:24px;background:rgba(252,254,255,.975);backdrop-filter:blur(22px);box-shadow:var(--pet-shadow);padding:17px}.pet-panel[hidden]{display:none}.pet-panel::before{content:'';position:absolute;inset:0 0 auto;height:92px;border-radius:24px 24px 0 0;background:radial-gradient(circle at 85% 0,rgba(197,158,255,.19),transparent 44%),linear-gradient(135deg,rgba(224,238,255,.82),rgba(255,255,255,.12));pointer-events:none}.pet-panel-head{position:relative;display:flex;justify-content:space-between;gap:12px;align-items:center;padding-right:118px;min-height:55px}.pet-panel-title{display:flex;gap:11px;align-items:center}.pet-panel-emoji{display:grid;place-items:center;width:52px;height:52px;border-radius:17px;background:linear-gradient(145deg,#f2f7fb,#fff);border:1px solid #e0e8ef;font-size:31px;box-shadow:0 8px 20px rgba(48,76,104,.08)}.pet-panel-title small,.pet-panel-title b{display:block}.pet-panel-title small{color:#8491a1;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.pet-panel-title b{font-size:16px;color:#263b52;margin-top:2px}.pet-3d-badge{display:inline-flex!important;align-items:center;gap:4px;width:max-content;margin-top:4px;padding:3px 6px;border-radius:999px;background:#262d39;color:#fff!important;font-size:8px!important;font-weight:900;letter-spacing:.08em}.pet-panel-head>button{position:absolute;right:0;top:1px;border:0;background:rgba(241,244,247,.9);width:34px;height:34px;border-radius:10px;cursor:pointer;color:#5b6d81}.pet-panel-head>button:hover{background:#e9eef3;color:#2e4258}
.pet-mood{position:relative;margin:12px 0 0;padding:11px 12px;border:1px solid #edf1f5;border-radius:14px;background:#f7fafe;color:#60758c;font-size:11px;line-height:1.45}.pet-mood.hungry{background:#fff3f0;border-color:#f5ddd7;color:#9d554b}.pet-stats{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:10px}.pet-stat{padding:11px;border:1px solid #e4ebf1;border-radius:15px;background:#fff;box-shadow:0 7px 18px rgba(44,67,91,.035)}.pet-stat-top{display:flex;justify-content:space-between;gap:8px;font-size:10px;color:#728195}.pet-stat-top b{color:#2d4359}.pet-stat small{display:block;margin-top:6px;color:#8a97a5;font-size:9px}.pet-meter{height:8px;border-radius:999px;background:#edf1f4;overflow:hidden;margin-top:7px}.pet-meter>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4169df,#72b4ff);box-shadow:0 0 12px rgba(65,105,223,.2)}.pet-stat.food .pet-meter>i{background:linear-gradient(90deg,#e9a53b,#ffd46d);box-shadow:0 0 12px rgba(233,165,59,.22)}
.pet-feed-row{display:flex;gap:8px;margin-top:10px}.pet-feed-row button{flex:1;border:0;border-radius:14px;background:linear-gradient(135deg,#315bc3,#477be0);color:#fff;padding:12px 13px;font-weight:850;cursor:pointer;box-shadow:0 9px 20px rgba(48,91,195,.18);transition:.16s}.pet-feed-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 11px 23px rgba(48,91,195,.24)}.pet-feed-row button:disabled{background:#dbe2e8;color:#8693a0;cursor:not-allowed;box-shadow:none}.pet-feed-row .pet-collapse-toggle{flex:0 0 43px;background:#eef3f7;color:#496075;box-shadow:none}.pet-economy{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:12px 0 8px;padding:10px 11px;border-radius:13px;background:linear-gradient(135deg,#fff9e8,#fffdf6);border:1px solid #f4e8c8;color:#6e6041;font-size:11px}.pet-economy b{font-size:13px;color:#775921}.pet-collection-title{display:flex;justify-content:space-between;align-items:end;margin:14px 1px 8px}.pet-collection-title b{font-size:12px;color:#30465d}.pet-collection-title span{font-size:9px;color:#8492a2}.pet-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.pet-card{position:relative;display:grid;grid-template-columns:56px 1fr;gap:9px;align-items:center;min-height:74px;padding:9px;border:1px solid #e2e9ef;border-radius:16px;background:#fff;text-align:left;color:#334a61;cursor:pointer;overflow:hidden;transition:.18s}.pet-card::after{content:'';position:absolute;inset:auto -20px -35px auto;width:90px;height:90px;border-radius:50%;background:rgba(80,122,200,.04)}.pet-card:hover{border-color:#b9cee1;background:#fbfdff;transform:translateY(-1px);box-shadow:0 7px 18px rgba(37,58,82,.07)}.pet-card.selected{border-color:#91b5df;background:linear-gradient(145deg,#f0f7ff,#fff);box-shadow:0 0 0 2px rgba(79,133,205,.07)}.pet-card.locked{opacity:.72}.pet-preview{position:relative;display:grid;place-items:center;width:54px;height:54px;border-radius:16px;overflow:hidden;background:#f3f6f8}.pet-preview i{position:absolute;width:38px;height:38px;border-radius:48% 52% 45% 55%;filter:blur(.2px);transform:rotate(-8deg)}.pet-preview .emoji{position:relative;z-index:1;font-size:25px;filter:drop-shadow(0 4px 6px rgba(0,0,0,.08))}.pet-preview-axolotl{background:radial-gradient(circle at 28% 20%,#fff 0,#ffe7f2 28%,#ecddff 72%,#dad8ff 100%)}.pet-preview-axolotl i{background:linear-gradient(145deg,#ff8faf,#d94fff)}.pet-preview-capybara{background:radial-gradient(circle at 32% 18%,#fff5e8 0,#f2d1a9 35%,#ca9068 100%)}.pet-preview-capybara i{background:linear-gradient(145deg,#b9764d,#8e593a)}.pet-card b,.pet-card small{display:block}.pet-card b{font-size:11px}.pet-card b strong{display:inline-flex;margin-left:3px;padding:2px 4px;border-radius:5px;background:#222b39;color:#fff;font-size:7px;letter-spacing:.05em;vertical-align:1px}.pet-card small{margin-top:3px;font-size:9px;color:#8190a0;line-height:1.28}.pet-card em{position:absolute;right:6px;top:6px;font-style:normal;font-size:8px;padding:2px 5px;border-radius:999px;background:#eef2f5;color:#68798b}.pet-card.selected em{background:#d9eafd;color:#315f91}
.avatar.streak-fire,.profile-avatar-xl.streak-fire{position:relative;box-shadow:0 0 0 3px #fff,0 0 0 6px #ff9b3f,0 0 24px rgba(255,91,25,.5)!important}.avatar.streak-fire::after,.profile-avatar-xl.streak-fire::after{content:'🔥';position:absolute;right:-7px;top:-11px;font-size:17px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.15))}.student-streak{display:inline-flex!important;gap:4px;align-items:center;color:#c45d22!important;font-weight:800!important}
@media(max-width:720px){.pet-widget{right:9px;bottom:10px;width:min(356px,calc(100vw - 18px))}.pet-widget:not(.panel-open){width:142px}.pet-companion{width:145px;height:120px}.pet-widget.panel-open .pet-companion{right:8px;top:-71px}.pet-panel{max-height:calc(100vh - 104px);border-radius:21px;padding:14px}.pet-panel-head{padding-right:96px}.pet-stats{grid-template-columns:1fr}.pet-grid{grid-template-columns:1fr}.pet-speech{right:96px;bottom:96px;max-width:210px}.pet-streak-chip{right:132px}.pet-live-pill{left:10px}.pet-status-dot{right:2px}}
@media(prefers-reduced-motion:reduce){.pet-companion,.pet-card,.pet-speech,.pet-feed-row button{transition:none!important}.pet-streak-chip.fire{animation:none}}

/* v31.10 docking: chat always wins the floating-UI collision. */
.pet-widget{right:var(--pet-chat-shift,18px);left:auto;transition:right .28s ease,left .28s ease,height .25s ease,width .25s ease,opacity .18s ease,visibility .18s ease}
.pet-widget[data-dock="left"]{left:18px;right:auto}
.pet-widget.chat-forced-left{left:18px!important;right:auto!important}
.pet-widget.chat-suspended{opacity:0;visibility:hidden;pointer-events:none}
.pet-widget[data-dock="left"] .pet-companion{left:2px;right:auto;transform-origin:left bottom}
.pet-widget[data-dock="left"].panel-open .pet-companion{left:16px;right:auto}
.pet-widget[data-dock="left"] .pet-speech{left:110px;right:auto;border-radius:16px 16px 16px 5px}
.pet-widget[data-dock="left"] .pet-streak-chip{left:148px;right:auto}
.pet-widget[data-dock="left"].panel-open .pet-panel-head{padding-left:118px;padding-right:0}
.pet-widget[data-dock="left"].panel-open .pet-panel-head>button{right:0}
.pet-feed-row .pet-dock-toggle{flex:0 0 43px;background:#eef3f7;color:#496075;box-shadow:none}
.pet-feed-row .pet-dock-toggle:hover{background:#e4edf4;color:#273f56;transform:translateY(-1px)}
.pet-companion.pet-asset-glb .pet-live-pill{background:linear-gradient(135deg,#5a32ba,#8a55e8)}
.pet-companion.pet-asset-glb .pet-live-pill::after{content:' GLB';font-size:7px;opacity:.72;margin-left:1px}
@media(max-width:819px){.pet-widget{right:var(--pet-chat-shift,9px)}.pet-widget[data-dock="left"],.pet-widget.chat-forced-left{left:9px}.pet-widget[data-dock="left"].panel-open .pet-companion{left:8px}.pet-widget[data-dock="left"] .pet-speech{left:96px;right:auto}.pet-widget[data-dock="left"] .pet-streak-chip{left:132px;right:auto}}

/* v31.10 — character-first presentation: a larger readable face without enlarging the settings card. */
@media(min-width:820px){
  .pet-companion{width:184px;height:150px;right:-2px;bottom:-1px;filter:drop-shadow(0 18px 25px rgba(38,43,82,.20))}
  .pet-widget.panel-open .pet-companion{right:9px;top:-94px}
  .pet-widget[data-dock="left"] .pet-companion{left:-2px;right:auto}
  .pet-widget[data-dock="left"].panel-open .pet-companion{left:9px;right:auto}
}
.pet-3d-stage::before{content:'';position:absolute;z-index:-1;left:19%;right:8%;bottom:7%;height:57%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(178,129,255,.15),rgba(255,133,186,.08) 42%,transparent 72%);filter:blur(9px);opacity:.78;pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.pet-companion.is-hungry .pet-3d-stage::before{opacity:.12;transform:scale(.88)}
.pet-companion.pet-asset-glb .pet-perch{border-color:rgba(168,174,221,.72);background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(242,241,255,.96));box-shadow:0 14px 30px rgba(50,48,104,.14),inset 0 1px rgba(255,255,255,.95)}
.pet-companion.pet-asset-glb .pet-perch::before{content:'';position:absolute;left:22%;right:15%;top:-4px;height:9px;border-radius:50%;background:radial-gradient(ellipse,rgba(58,44,97,.20),transparent 69%);filter:blur(3px)}
.pet-companion.pet-asset-glb .pet-live-pill::after{content:' GLB 1.1';font-size:7px;opacity:.76;margin-left:1px}

/* v31.11 — physical presence: the companion sits on the UI instead of inside a rectangular viewport. */
.pet-widget{overflow:visible}
.pet-companion{isolation:isolate;overflow:visible;perspective:700px}
.pet-companion .pet-3d-stage{z-index:3;left:-35px;right:-35px;top:-48px;bottom:-12px;overflow:visible;filter:drop-shadow(0 14px 15px rgba(44,38,72,.10));transform-origin:50% 82%;transition:transform .32s cubic-bezier(.2,.8,.2,1),filter .3s ease}
.pet-companion:hover .pet-3d-stage{transform:translateY(-2px) rotateX(1.5deg);filter:drop-shadow(0 18px 18px rgba(44,38,72,.14))}
.pet-companion.is-hungry .pet-3d-stage{transform:translateY(7px) rotateZ(-1.5deg);filter:drop-shadow(0 8px 10px rgba(55,55,65,.08))}
.pet-companion[data-pose="stretch"] .pet-3d-stage{transform:translateY(-4px) scale(1.015)}
.pet-companion[data-pose="celebrate"] .pet-3d-stage{transform:translateY(-9px) scale(1.025)}
.pet-companion[data-pose="petting"] .pet-3d-stage{transform:translateY(-3px) rotateZ(-1deg)}
.pet-companion.pet-focus-mode .pet-3d-stage{transform:translateY(2px) scale(.97)}
.pet-3d-stage canvas{overflow:visible}
.pet-contact-shadow{position:absolute;z-index:1;left:30px;right:13px;bottom:20px;height:18px;border-radius:50%;background:radial-gradient(ellipse,rgba(31,35,58,.27) 0,rgba(36,45,68,.14) 42%,transparent 74%);filter:blur(5px);opacity:.78;transform:scaleX(.86);transform-origin:center;transition:opacity .24s ease,transform .24s ease,filter .24s ease;pointer-events:none}
.pet-companion[data-pose="celebrate"] .pet-contact-shadow{opacity:.24;transform:scaleX(.60) scaleY(.72);filter:blur(7px)}
.pet-companion[data-pose="stretch"] .pet-contact-shadow{opacity:.58;transform:scaleX(.98) scaleY(.78)}
.pet-companion.is-hungry .pet-contact-shadow{opacity:.48;transform:scaleX(.76) scaleY(.74)}
.pet-perch{z-index:0;left:16px;right:3px;bottom:7px;height:35px;border-radius:20px 20px 14px 14px;background:linear-gradient(180deg,#fff 0,#f3f4ff 56%,#dfe4f1 100%);border-color:rgba(166,174,207,.72);box-shadow:0 15px 30px rgba(38,46,76,.16),inset 0 1px rgba(255,255,255,.95)}
.pet-perch::after{left:13px;right:13px;top:7px;height:2px;background:linear-gradient(90deg,transparent,rgba(137,149,187,.45) 18%,rgba(196,202,226,.76) 55%,transparent)}
.pet-perch::before{content:'';position:absolute;left:17px;right:12px;top:-5px;height:12px;border-radius:50%;background:radial-gradient(ellipse,rgba(48,43,81,.22),rgba(80,75,117,.07) 45%,transparent 72%);filter:blur(3px)}
.pet-perch-lip{position:absolute;z-index:5;left:13px;right:0;bottom:1px;height:15px;border:1px solid rgba(156,168,201,.72);border-top-color:rgba(207,213,232,.95);border-radius:4px 4px 15px 15px;background:linear-gradient(180deg,rgba(238,241,250,.97),rgba(211,218,234,.98));box-shadow:0 7px 11px rgba(37,45,72,.16),inset 0 1px rgba(255,255,255,.9);pointer-events:none}
.pet-perch-lip::before,.pet-perch-lip::after{content:'';position:absolute;top:5px;width:3px;height:3px;border-radius:50%;background:#b7c0d3;box-shadow:0 1px 0 rgba(255,255,255,.85)}
.pet-perch-lip::before{left:16px}.pet-perch-lip::after{right:16px}
.pet-live-pill,.pet-status-dot{z-index:8}
.pet-widget.is-collapsed:not(.panel-open) .pet-perch{left:25px;right:7px;bottom:7px}
.pet-widget.is-collapsed:not(.panel-open) .pet-perch-lip{left:23px;right:4px}
.pet-widget.is-collapsed:not(.panel-open) .pet-contact-shadow{left:36px;right:16px}
.pet-widget.panel-open .pet-companion .pet-3d-stage{top:-50px}
.pet-widget.panel-open .pet-perch{box-shadow:0 12px 24px rgba(38,46,76,.13),inset 0 1px rgba(255,255,255,.95)}
.pet-widget[data-dock="left"] .pet-companion .pet-3d-stage{transform-origin:50% 82%}
@media(min-width:820px){
  .pet-companion{width:198px;height:160px}
  .pet-widget.panel-open .pet-companion{top:-103px}
  .pet-widget[data-dock="left"].panel-open .pet-companion{top:-103px}
}
@media(max-width:819px){
  .pet-companion .pet-3d-stage{left:-20px;right:-20px;top:-36px;bottom:-8px}
  .pet-contact-shadow{left:29px;right:11px;bottom:19px}
  .pet-perch{left:17px;right:3px}.pet-perch-lip{left:15px;right:0}
}
@media(prefers-reduced-motion:reduce){.pet-companion .pet-3d-stage,.pet-contact-shadow{transition:none!important}}

/* v31.13 — compact pet dock: keep the character clear of the chat launcher and remove dev-like badges. */
.pet-widget:not(.panel-open){right:116px;bottom:10px;width:224px;height:112px}
.pet-widget:not(.panel-open) .pet-companion{width:158px;height:128px;right:0;bottom:0}
.pet-widget:not(.panel-open) .pet-companion .pet-3d-stage{left:-21px;right:-21px;top:-31px;bottom:-7px}
.pet-widget:not(.panel-open) .pet-live-pill{display:none}
.pet-widget:not(.panel-open) .pet-streak-chip{left:120px;right:auto;bottom:11px}
.pet-widget:not(.panel-open) .pet-status-dot{right:1px;bottom:7px;min-width:28px;height:20px;padding:0 5px;font-size:9px}
.pet-widget:not(.panel-open) .pet-perch{left:23px;right:2px;bottom:5px;height:29px}
.pet-widget:not(.panel-open) .pet-perch-lip{left:21px;right:0;bottom:0;height:12px}
.pet-widget:not(.panel-open) .pet-contact-shadow{left:34px;right:12px;bottom:17px;height:15px}
.pet-companion.pet-asset-glb .pet-live-pill::after{content:''}
@media(max-width:819px){
  .pet-widget:not(.panel-open){right:108px;bottom:8px;width:190px;height:103px}
  .pet-widget:not(.panel-open) .pet-companion{width:146px;height:118px}
  .pet-widget:not(.panel-open) .pet-streak-chip{left:78px;right:auto;bottom:9px}
}

/* v31.14 — Axi polish: premium companion UI, no implementation badges, richer presence. */
.pet-live-pill{display:none!important}
.pet-panel{border-color:rgba(203,214,229,.86);background:linear-gradient(180deg,rgba(255,255,255,.985),rgba(249,251,255,.975));box-shadow:0 28px 78px rgba(26,39,67,.20),0 2px 10px rgba(43,60,89,.05)}
.pet-panel::before{height:112px;background:radial-gradient(circle at 84% 0,rgba(202,151,255,.22),transparent 44%),radial-gradient(circle at 52% 14%,rgba(255,164,205,.16),transparent 34%),linear-gradient(135deg,rgba(226,240,255,.90),rgba(255,255,255,.18))}
.pet-panel-title small{letter-spacing:.10em}.pet-panel-title b{font-size:17px;letter-spacing:-.01em}
.pet-3d-badge{background:linear-gradient(135deg,#5e45c7,#8e5ee8);box-shadow:0 4px 12px rgba(104,72,199,.18);letter-spacing:.045em}
.pet-panel-emoji{background:radial-gradient(circle at 30% 22%,#fff 0,#fff2f8 34%,#eee8ff 100%);border-color:#e6ddf5;box-shadow:0 10px 24px rgba(86,62,145,.10)}
.pet-mood{background:linear-gradient(135deg,#f8faff,#f5f8ff);border-color:#e8edf7;color:#5b6e86;font-size:11px}
.pet-play-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}.pet-play-row button{border:1px solid #dde5ef;border-radius:13px;background:linear-gradient(180deg,#fff,#f5f8fc);color:#425a72;padding:10px 11px;font-size:10px;font-weight:850;cursor:pointer;box-shadow:0 5px 14px rgba(35,56,83,.045);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease,background .16s ease}.pet-play-row button:hover{transform:translateY(-1px);border-color:#c5d4e6;background:#fff;box-shadow:0 8px 18px rgba(45,66,94,.09)}.pet-play-row button:active{transform:translateY(0) scale(.985)}
.pet-card b strong{background:linear-gradient(135deg,#5a44bd,#8c62de);font-size:6.5px;padding:2px 5px;letter-spacing:.025em}.pet-card.selected{border-color:#a993df;background:linear-gradient(145deg,#f8f5ff,#fff);box-shadow:0 0 0 2px rgba(113,83,191,.06),0 8px 20px rgba(66,49,115,.06)}
.pet-speech{border-color:#ddd9ed;background:rgba(255,255,255,.985);box-shadow:0 16px 42px rgba(44,40,78,.16);font-weight:780}
.pet-companion[data-pet-key="axolotl"] .pet-3d-stage::before{left:10%;right:1%;bottom:1%;height:72%;background:radial-gradient(ellipse at 50% 58%,rgba(183,111,255,.20),rgba(255,119,186,.12) 37%,rgba(126,172,255,.06) 58%,transparent 74%);filter:blur(12px);opacity:.90}
.pet-companion[data-pet-key="axolotl"].pet-3d-ready .pet-3d-stage canvas{filter:saturate(1.04) contrast(1.015)}
.pet-companion[data-pet-key="axolotl"][data-pose="wave"] .pet-3d-stage{transform:translateY(-5px) rotateZ(.8deg) scale(1.012)}
.pet-companion[data-pet-key="axolotl"][data-pose="curious"] .pet-3d-stage{transform:translateY(-3px) rotateZ(-1.2deg) scale(1.012)}
.pet-companion[data-pet-key="axolotl"][data-pose="yawn"] .pet-3d-stage{transform:translateY(2px) scale(.985)}
.pet-companion[data-pet-key="axolotl"][data-pose="sleep"] .pet-3d-stage{transform:translateY(6px) rotateZ(-1.4deg) scale(.975)}
.pet-companion[data-pet-key="axolotl"][data-reaction="boop"] .pet-contact-shadow{transform:scaleX(.78) scaleY(.78)}
.pet-status-dot{background:linear-gradient(135deg,#2d8b70,#3ca487);box-shadow:0 5px 14px rgba(37,111,88,.20)}
.pet-widget:not(.panel-open){right:118px;width:226px}
.pet-widget:not(.panel-open) .pet-companion{width:162px;height:130px}
.pet-widget:not(.panel-open) .pet-companion .pet-3d-stage{left:-24px;right:-24px;top:-34px;bottom:-8px}
.pet-widget:not(.panel-open) .pet-streak-chip{left:122px;bottom:10px}
@media(max-width:819px){.pet-widget:not(.panel-open){right:106px;width:194px}.pet-widget:not(.panel-open) .pet-companion{width:148px;height:119px}.pet-widget:not(.panel-open) .pet-companion .pet-3d-stage{left:-20px;right:-20px;top:-33px;bottom:-8px}.pet-play-row{gap:7px}.pet-play-row button{padding:9px 8px}}
@media(prefers-reduced-motion:reduce){.pet-play-row button{transition:none!important}}
.pet-widget:not(.panel-open){right:max(118px,var(--pet-chat-shift,18px))}
.pet-widget[data-dock="left"]:not(.panel-open),.pet-widget.chat-forced-left:not(.panel-open){left:18px;right:auto!important}
@media(max-width:819px){.pet-widget:not(.panel-open){right:max(106px,var(--pet-chat-shift,9px))}.pet-widget[data-dock="left"]:not(.panel-open),.pet-widget.chat-forced-left:not(.panel-open){left:9px;right:auto!important}}
