﻿*{margin:0;padding:0;box-sizing:border-box}
body{
  background:linear-gradient(135deg,#0a0a1a 0%,#1a1a3e 30%,#0d0d25 70%,#0a0a1a 100%);
  min-height:100vh;display:flex;justify-content:center;align-items:center;
  font-family:'Segoe UI','Microsoft YaHei',sans-serif;color:#e0d8b0;overflow-x:hidden;
}
body::before{
  content:'';position:fixed;top:0;left:0;right:0;bottom:0;
  background:radial-gradient(ellipse at 50% 0%,rgba(100,80,40,0.08) 0%,transparent 70%),
             radial-gradient(ellipse at 80% 80%,rgba(40,60,100,0.06) 0%,transparent 60%);
  pointer-events:none;z-index:0;
}
#app{position:relative;z-index:1;width:1100px;max-width:98vw;padding:20px}
#title-bar{
  text-align:center;margin-bottom:16px;
  background:linear-gradient(180deg,rgba(20,15,8,0.7),rgba(10,8,5,0.85));
  border:2px solid #4a3820;border-radius:12px;padding:12px 20px;
  box-shadow:0 4px 20px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,200,0.05);
}
#title-bar h1{
  font-size:2rem;letter-spacing:3px;text-transform:uppercase;
  background:linear-gradient(180deg,#f0d060,#c09030);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  font-weight:900;margin-bottom:2px;
}
#title-bar .subtitle{font-size:0.85rem;color:#8a7a5a;letter-spacing:1px}
#battlefield{display:flex;gap:16px;margin-bottom:16px;min-height:420px}
.pet-panel{
  flex:1;background:linear-gradient(180deg,rgba(20,15,10,0.75),rgba(10,8,5,0.9));
  border:2px solid #4a3820;border-radius:14px;padding:16px;
  box-shadow:0 4px 24px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,200,0.04);
  display:flex;flex-direction:column;align-items:center;position:relative;
  transition:border-color 0.4s,box-shadow 0.4s;
}
.pet-panel.active{border-color:#c0a040;box-shadow:0 0 20px rgba(200,160,60,0.2),0 4px 24px rgba(0,0,0,0.5)}
.pet-panel.defeated{opacity:0.5;filter:grayscale(0.6)}
.pet-sprite{
  width:200px;height:200px;border-radius:16px;margin-bottom:12px;
  background:radial-gradient(circle at 50% 50%,rgba(60,40,20,0.5),rgba(10,8,5,0.8));
  border:3px solid #5a4a2a;display:flex;align-items:center;justify-content:center;
  overflow:hidden;position:relative;transition:transform 0.3s,filter 0.3s;
}
.pet-sprite img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s}
.pet-sprite.damaged{animation:shake 0.4s ease}
.pet-sprite.attacking{animation:lunge 0.5s ease}
.pet-sprite.healing{filter:brightness(1.4) saturate(1.3);transition:filter 0.4s}
@keyframes shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-6px)}80%{transform:translateX(4px)}}
@keyframes lunge{0%{transform:scale(1)}40%{transform:scale(1.15) translateY(-8px)}100%{transform:scale(1)}}
.pet-info{width:100%;text-align:center}
.pet-name{font-size:1.2rem;font-weight:700;color:#f0d060;margin-bottom:4px}
.pet-type-badge{display:inline-block;padding:2px 12px;border-radius:20px;font-size:0.75rem;font-weight:600;letter-spacing:1px;margin-bottom:8px}
.type-dragon{background:rgba(200,60,30,0.25);color:#f07050;border:1px solid #a04030}
.type-beast{background:rgba(160,120,30,0.25);color:#e0b040;border:1px solid #a08030}
.type-magic{background:rgba(140,60,180,0.25);color:#c080e0;border:1px solid #8050a0}
.type-aquatic{background:rgba(40,100,180,0.25);color:#60a0e0;border:1px solid #3060a0}
.type-flying{background:rgba(100,160,80,0.25);color:#80c060;border:1px solid #508040}
.health-bar-container{width:100%;margin:6px 0}
.health-bar-label{display:flex;justify-content:space-between;font-size:0.78rem;margin-bottom:2px}
.health-bar-label .hp-text{color:#e0a0a0}
.health-bar-bg{width:100%;height:14px;background:rgba(0,0,0,0.6);border-radius:7px;border:1px solid #3a2a1a;overflow:hidden}
.health-bar-fill{height:100%;border-radius:7px;transition:width 0.5s ease;background:linear-gradient(180deg,#50d050,#208020)}
.health-bar-fill.warning{background:linear-gradient(180deg,#e0a020,#a06010)}
.health-bar-fill.danger{background:linear-gradient(180deg,#e04040,#801010);animation:pulse-hp 0.8s infinite}
@keyframes pulse-hp{50%{opacity:0.65}}
.stats-row{display:flex;gap:10px;font-size:0.78rem;color:#aaa080;margin-top:4px}
.stat{display:flex;align-items:center;gap:3px}
.stat-icon{font-size:1rem}
.stat-val{color:#e0d0a0;font-weight:600}
#vs-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 8px;min-width:60px}
#vs-text{font-size:2.5rem;font-weight:900;background:linear-gradient(180deg,#f0d060,#c09030);-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:vs-glow 2s ease-in-out infinite}
@keyframes vs-glow{50%{filter:brightness(1.3)}}
#ability-bar{background:linear-gradient(180deg,rgba(20,15,10,0.7),rgba(10,8,5,0.9));border:2px solid #4a3820;border-radius:14px;padding:16px;box-shadow:0 4px 20px rgba(0,0,0,0.5),inset 0 1px 0 rgba(255,255,200,0.04)}
#ability-bar h3{font-size:0.9rem;color:#8a7a5a;margin-bottom:10px;letter-spacing:1px}
#ability-btns{display:flex;gap:10px;flex-wrap:wrap}
.ability-btn{flex:1;min-width:150px;padding:10px;border-radius:10px;border:2px solid #4a3820;background:linear-gradient(180deg,rgba(30,22,12,0.9),rgba(15,12,6,0.95));color:#c0b090;cursor:pointer;font-size:0.85rem;font-weight:600;text-align:left;transition:all 0.2s;position:relative;font-family:inherit}
.ability-btn:hover:not(:disabled){border-color:#c0a040;color:#f0d060;box-shadow:0 0 12px rgba(200,160,60,0.2);transform:translateY(-2px)}
.ability-btn:disabled{opacity:0.4;cursor:not-allowed}
.ability-btn .abil-name{display:block;font-size:0.85rem;color:#f0d060;margin-bottom:2px}
.ability-btn .abil-desc{display:block;font-size:0.68rem;color:#8a7a5a;line-height:1.3}
.ability-btn .abil-cd{position:absolute;top:6px;right:10px;font-size:0.7rem;color:#e06040;font-weight:700}
#combat-log{margin-top:12px;max-height:130px;overflow-y:auto;background:rgba(0,0,0,0.4);border:1px solid #3a2a1a;border-radius:8px;padding:8px 12px;font-size:0.78rem;color:#8a7a5a;line-height:1.5;scroll-behavior:smooth}
#combat-log .log-entry{margin-bottom:3px;padding:2px 0;border-bottom:1px solid rgba(255,255,255,0.03)}
.log-damage{color:#e06040}.log-heal{color:#60d060}.log-buff{color:#c0a0e0}.log-info{color:#a0a0a0}.log-strong{color:#f0d060;font-weight:600}
#action-bar{display:flex;gap:10px;margin-top:12px;align-items:center;justify-content:center}
#end-turn-btn{padding:10px 32px;border-radius:10px;border:2px solid #c0a040;background:linear-gradient(180deg,rgba(60,40,10,0.9),rgba(30,20,5,0.95));color:#f0d060;font-size:1rem;font-weight:700;cursor:pointer;letter-spacing:1px;transition:all 0.2s;font-family:inherit}
#end-turn-btn:hover:not(:disabled){background:linear-gradient(180deg,rgba(90,60,15,0.9),rgba(50,30,8,0.95));box-shadow:0 0 16px rgba(200,160,60,0.3);transform:translateY(-1px)}
#end-turn-btn:disabled{opacity:0.4;cursor:not-allowed}
#swap-pet-btn{padding:10px 20px;border-radius:10px;border:2px solid #4a6a8a;background:linear-gradient(180deg,rgba(20,30,50,0.9),rgba(10,15,25,0.95));color:#80b0d0;font-size:0.9rem;font-weight:600;cursor:pointer;transition:all 0.2s;font-family:inherit}
#swap-pet-btn:hover:not(:disabled){border-color:#80b0d0;box-shadow:0 0 12px rgba(100,150,200,0.2)}
#swap-pet-btn:disabled{opacity:0.4;cursor:not-allowed}
#bench-area{margin-top:12px}
#bench-area h4{font-size:0.8rem;color:#6a5a3a;margin-bottom:8px;letter-spacing:1px}
#bench-pets{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.bench-pet{width:85px;border-radius:10px;border:2px solid #3a2a1a;overflow:hidden;background:rgba(0,0,0,0.5);cursor:pointer;transition:all 0.2s;text-align:center;padding:6px}
.bench-pet:hover{border-color:#c0a040;box-shadow:0 0 10px rgba(200,160,60,0.15)}
.bench-pet.selected{border-color:#f0d060;box-shadow:0 0 14px rgba(240,200,60,0.3)}
.bench-pet img{width:60px;height:60px;border-radius:8px;object-fit:cover}
.bench-pet .bp-name{font-size:0.65rem;color:#c0b090;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bench-pet .bp-hp{font-size:0.6rem;color:#8a7a5a}
.bench-pet.dead{opacity:0.35;pointer-events:none;filter:grayscale(1)}
#result-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,0.8);z-index:100;justify-content:center;align-items:center;flex-direction:column}
#result-overlay.show{display:flex}
#result-box{background:linear-gradient(180deg,rgba(30,20,10,0.95),rgba(15,10,5,0.98));border:3px solid #c0a040;border-radius:20px;padding:30px 50px;text-align:center;box-shadow:0 0 60px rgba(200,160,60,0.3)}
#result-title{font-size:2.2rem;font-weight:900;margin-bottom:12px}
#result-msg{font-size:1rem;color:#8a7a5a;margin-bottom:20px}
#restart-btn{padding:10px 36px;border-radius:10px;border:2px solid #c0a040;background:linear-gradient(180deg,rgba(60,40,10,0.9),rgba(30,20,5,0.95));color:#f0d060;font-size:1.1rem;font-weight:700;cursor:pointer;letter-spacing:1px;transition:all 0.2s;font-family:inherit}
#restart-btn:hover{box-shadow:0 0 20px rgba(200,160,60,0.4);transform:translateY(-2px)}
.floating-text{position:absolute;font-weight:900;font-size:1.4rem;pointer-events:none;z-index:10;animation:float-up 1s ease-out forwards}
@keyframes float-up{0%{opacity:1;transform:translateY(0)}100%{opacity:0;transform:translateY(-60px)}}
