/* 桌宠样式（阶段 1-5）：独立文件，作用域限定在 .pet-stage 内 */
.pet-stage { position:relative; width:200px; margin:0 auto; user-select:none; -webkit-user-select:none; }
/* 隐藏角色：只藏角色本身，保留容器与唤醒按钮（否则网页端没有回到桌宠的入口） */
.pet-stage.pet-hidden .pet-sprite,
.pet-stage.pet-hidden .pet-controls,
.pet-stage.pet-hidden .pet-menu,
.pet-stage.pet-hidden .pet-stats,
.pet-stage.pet-hidden .pet-bubble { display:none; }
.pet-wake { display:block; margin:0 auto; padding:6px 14px; border-radius:10px; border:1px dashed var(--border); background:transparent; color:var(--text-secondary); font-size:12px; cursor:pointer; }
.pet-wake:hover { color:var(--accent); border-color:var(--accent); }
.pet-wake[hidden] { display:none; }
.pet-sprite { display:block; width:200px; height:250px; object-fit:contain; image-rendering:auto; pointer-events:auto; cursor:pointer; }
.pet-bubble { position:absolute; top:-6px; left:50%; transform:translate(-50%,-100%); max-width:240px; padding:8px 12px; background:var(--bg-elevated); border:1px solid var(--border); border-radius:12px; font-size:12px; line-height:1.5; color:var(--text); box-shadow:var(--shadow); white-space:nowrap; }
.pet-bubble::after { content:''; position:absolute; bottom:-6px; left:50%; margin-left:-5px; width:10px; height:10px; background:var(--bg-elevated); border-right:1px solid var(--border); border-bottom:1px solid var(--border); transform:rotate(45deg); }
.pet-controls { display:flex; gap:6px; justify-content:center; margin-top:10px; opacity:0.45; transition:opacity 0.2s ease; }
.pet-stage:hover .pet-controls { opacity:1; }
.pet-btn { width:28px; height:28px; border-radius:8px; border:1px solid var(--border); background:var(--bg-elevated); color:var(--text-secondary); font-size:12px; cursor:pointer; line-height:1; }
.pet-btn:hover { color:var(--accent); border-color:var(--accent); }

/* 互动菜单（替代桌面版右键菜单）：两列网格，居中浮在角色上 */
/* 注意：作者样式里的 display 会盖过浏览器默认的 [hidden]{display:none}，两个浮层必须显式声明 */
.pet-menu { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3; display:grid; grid-template-columns:repeat(2,1fr); gap:6px; padding:8px; background:var(--bg-elevated); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); }
.pet-menu[hidden], .pet-stats[hidden], .pet-bubble[hidden] { display:none; }
.pet-menu-item { padding:6px 4px; border:1px solid transparent; border-radius:8px; background:transparent; color:var(--text); font-size:12px; cursor:pointer; white-space:nowrap; }
.pet-menu-item:hover { background:var(--bg-secondary); border-color:var(--accent); color:var(--accent); }

/* 属性面板（查看属性）：四行数值条 */
.pet-stats { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); z-index:3; width:190px; padding:10px; background:var(--bg-elevated); border:1px solid var(--border); border-radius:12px; box-shadow:var(--shadow); }
.pet-stats-row { display:flex; align-items:center; gap:6px; margin-bottom:6px; }
.pet-stats-row:last-child { margin-bottom:0; }
.pet-stats-label { flex:0 0 26px; font-size:11px; color:var(--text-secondary); }
.pet-stats-bar { flex:1; height:6px; border-radius:3px; background:var(--bg-secondary); overflow:hidden; }
.pet-stats-fill { display:block; height:100%; width:0; border-radius:3px; background:var(--accent); transition:width 0.3s ease; }
.pet-stats-fill.is-warn { background:#e0a100; }
.pet-stats-fill.is-bad { background:#e05252; }
.pet-stats-value { flex:0 0 26px; text-align:right; font-size:11px; color:var(--text-tertiary); }

/* 五种状态：素材里没有独立状态帧，用滤镜/动效近似（thinking / happy / error） */
.pet-thinking .pet-sprite { filter:brightness(0.96) saturate(0.85); animation:pet-think 1.6s ease-in-out infinite; }
.pet-happy .pet-sprite { animation:pet-bounce 0.5s ease-in-out 2; }
.pet-error .pet-sprite { filter:grayscale(0.7); opacity:0.75; animation:pet-shake 0.4s ease-in-out 2; }
@keyframes pet-think { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-3px); } }
@keyframes pet-bounce { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-8px); } }
@keyframes pet-shake { 0%,100% { transform:translateX(0); } 25% { transform:translateX(-3px); } 75% { transform:translateX(3px); } }

/* AI 助手页中的桌宠区块 */
.assistant-pet-wrap { display:flex; flex-direction:column; align-items:center; gap:12px; padding:8px 0 24px; }
.assistant-pet-caption { font-size:12px; color:var(--text-tertiary); }
@media (max-width: 768px) {
  .pet-stage, .pet-sprite { width:140px; }
  .pet-sprite { height:175px; }
  .pet-bubble { font-size:11px; max-width:180px; }
  .pet-menu-item { font-size:11px; padding:5px 2px; }
  .pet-stats { width:150px; padding:8px; }
  .pet-stats-label, .pet-stats-value { font-size:10px; }
}
