/* Talent badges in battle, talent trigger pops, collection level panel and upgrade highlights. */
.card .card-talent,.server-deck .live-card .card-talent{position:absolute;right:4px;bottom:28px;z-index:3;width:22px;height:22px;box-sizing:border-box;border:1.5px solid #e7bc6c;border-radius:6px;background:#141726;box-shadow:0 2px 4px #000a;overflow:hidden;cursor:help;touch-action:none}
.server-deck .live-card .card-talent{bottom:24px;width:24px;height:24px}
.card .card-talent[hidden]{display:none}
.card-talent>.talent-icon,.talent-pop-badge>.talent-icon,.talent-slot-art>.talent-icon{display:block;float:none;box-sizing:border-box;width:100%!important;height:100%!important;min-width:0;min-height:0;margin:0!important;padding:0!important;border:0!important;border-radius:0;box-shadow:none;object-fit:contain;background-repeat:no-repeat}
.talent-tip{position:fixed;z-index:9000;width:220px;transform:translateY(-100%);padding:8px 10px;border:1px solid #c9a35c;border-radius:8px;background:#141624f2;color:#f2e7cf;font:12px/1.35 sans-serif;box-shadow:0 6px 16px #000a;pointer-events:none}
.talent-tip strong{display:block;color:#ffd98a;font-size:13px;margin-bottom:2px}
.talent-pop{position:absolute;left:0;top:0;pointer-events:none;z-index:4}
.talent-pop-badge{display:block;width:30px;height:30px;margin:-15px 0 0 -15px;border:2px solid #ffd98a;border-radius:8px;background:#141726;overflow:hidden;box-shadow:0 0 10px #ffc95a99,0 2px 4px #000b;animation:talent-pop-in .32s cubic-bezier(.2,1.6,.4,1) both}
.talent-pop.enemy .talent-pop-badge{border-color:#ff8a7a;box-shadow:0 0 10px #ff5a4a88,0 2px 4px #000b}
.talent-pop.still .talent-pop-badge{animation:none}
@keyframes talent-pop-in{from{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}
.unit-level-panel{position:relative;display:grid;gap:9px;margin:0 0 12px;padding:12px;color:var(--wr-text);font-family:var(--wr-font-body);border-radius:10px;background:linear-gradient(#2b3350,#1d2338);box-shadow:0 0 0 1px var(--wr-ink),inset 0 0 0 1px #e9c06340,inset 0 1px 0 #ffffff1f,0 4px 10px #0008;overflow:hidden}
.unit-level-panel[data-upgrade-ready="true"]{box-shadow:0 0 0 1px var(--wr-ink),inset 0 0 0 1px #7ee08f99,0 0 14px #7ee08f33,0 4px 10px #0008}
.unit-level-panel .level-head{position:static;display:flex;align-items:center;gap:10px}
:root .unit-level-panel small,:root #lobby-panel .unit-level-panel small{color:var(--wr-text-dim);font:700 12px/1.3 var(--wr-font-body);letter-spacing:0;text-transform:none;text-shadow:none}
.unit-level-panel .level-head>div{display:grid;gap:2px}
.unit-level-panel .level-head strong{color:var(--wr-gold-hi);font:900 18px/1.05 var(--wr-font-display)}
.unit-level-panel .level-badge{display:grid;place-items:center;flex:none;width:42px;height:38px;color:#fff;font:900 17px/1 var(--wr-font-display);text-shadow:0 1px 0 #000;background:radial-gradient(ellipse at 50% 0,#ffffff40,#fff0 60%),linear-gradient(var(--wr-purple-hi),var(--wr-purple) 50%,var(--wr-purple-lo));clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);filter:drop-shadow(0 2px 1px #000a)}
.unit-level-panel .level-xp{position:relative;height:18px;border-radius:5px;background:linear-gradient(#08060c,#1d1828);box-shadow:inset 0 0 0 1px var(--wr-ink),inset 0 2px 3px #000,0 1px 0 #ffffff1a;overflow:hidden}
.unit-level-panel .level-xp i{position:absolute;inset:1px auto 1px 1px;border-radius:4px;background:linear-gradient(#c79bf0,var(--wr-purple) 55%,var(--wr-purple-lo))}
.unit-level-panel .level-xp span{position:relative;display:block;text-align:center;font:800 12px/18px var(--wr-font-body);color:#fff;text-shadow:0 1px 2px #000}
.unit-level-panel .level-next{margin:0;font-size:14px;color:var(--wr-text)}
.unit-level-panel .level-next strong{color:#9fe3a9}
.unit-level-panel .talent-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0;padding:0;list-style:none}
.unit-level-panel .talent-slot{display:flex;align-items:center;gap:6px;min-width:0;padding:6px;border-radius:8px;background:linear-gradient(#141826,#20263b);box-shadow:0 0 0 1px var(--wr-ink),inset 0 2px 4px #0008}
.unit-level-panel .talent-slot>span:last-child{display:grid;min-width:0}
.unit-level-panel .talent-slot b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}
:root .unit-level-panel .talent-slot small,:root #lobby-panel .unit-level-panel .talent-slot small{font-size:11px}
.unit-level-panel .talent-slot-art{display:grid;place-items:center;flex:none;width:30px;height:30px;border:2px solid transparent;border-radius:6px;background:radial-gradient(#3a3050,#141020) padding-box,linear-gradient(var(--wr-pewter-hi),var(--wr-pewter-lo)) border-box;overflow:hidden;font-size:13px}
.unit-level-panel .talent-slot.locked{opacity:.6}
.unit-level-panel .talent-slot.equipped{box-shadow:0 0 0 1px var(--wr-ink),0 0 0 2px var(--wr-gold),inset 0 2px 4px #0008}
.unit-level-panel .talent-slot.equipped .talent-slot-art{background:radial-gradient(#3a3050,#141020) padding-box,var(--wr-brass) border-box}
.unit-level-panel .level-upgrade{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.unit-level-panel .level-upgrade>small{flex-basis:100%}
.unit-level-panel .level-up-button,:root #lobby-panel .unit-level-panel .level-up-button,.inspector-dock .level-up-button,:root #lobby-panel .inspector-dock .level-up-button{margin-left:auto;min-height:44px;padding:5px 18px 6px;color:#fbf3df;font:800 16px/1.05 var(--wr-font-body);text-shadow:var(--wr-text-shadow);border:3px solid transparent;border-radius:7px;background:radial-gradient(ellipse 85% 55% at 50% 0,#ffffff47,#fff0 72%) padding-box,linear-gradient(180deg,var(--wr-amber-hi),var(--wr-amber) 52%,var(--wr-amber-lo)) padding-box,var(--wr-brass) border-box;box-shadow:0 0 0 1px var(--wr-ink),inset 0 2px 0 #ffffff38,0 3px 0 1px #0d0b12d9,0 6px 10px #000a;cursor:pointer}
.unit-level-panel .level-up-button:active,.inspector-dock .level-up-button:active{transform:translateY(3px);box-shadow:0 0 0 1px var(--wr-ink),inset 0 3px 6px #0008}
.unit-level-panel .level-up-button:disabled,:root #lobby-panel .unit-level-panel .level-up-button:disabled,.inspector-dock .level-up-button:disabled,:root #lobby-panel .inspector-dock .level-up-button:disabled{color:#d6d6d6;background:linear-gradient(180deg,var(--wr-pewter-hi),var(--wr-pewter) 52%,var(--wr-pewter-lo)) padding-box,var(--wr-iron) border-box;filter:saturate(.3);opacity:1;cursor:not-allowed}
.unit-level-panel[data-upgrade-ready="true"] .level-up-button:not(:disabled){animation:level-ready 1.6s ease-in-out infinite}
.unit-level-panel .level-error{margin:0;color:#ff9b8a}
@keyframes level-ready{50%{filter:brightness(1.15) drop-shadow(0 0 8px #ffd77a)}}
.level-celebration{position:absolute;inset:0;display:grid;place-items:center;background:radial-gradient(circle,#ffe39a55,#0000 70%);pointer-events:none;z-index:5}
.level-celebration strong{font-size:28px;color:#fff3c4;text-shadow:0 0 12px #ffbb3a,0 2px 3px #000;animation:level-burst .7s cubic-bezier(.2,1.5,.4,1) both}
.level-celebration i{position:absolute;left:50%;top:50%;width:6px;height:6px;border-radius:50%;background:#ffd36b;box-shadow:0 0 6px #ffd36b;animation:level-spark 1s ease-out both;transform:rotate(var(--a)) translateX(0)}
.level-celebration.still{background:#22253eee}
.level-celebration.still strong{animation:none}
.unit-level-panel.celebrating .level-badge{animation:level-burst .7s cubic-bezier(.2,1.5,.4,1) both}
@keyframes level-burst{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes level-spark{from{transform:rotate(var(--a)) translateX(0);opacity:1}to{transform:rotate(var(--a)) translateX(90px);opacity:0}}
.reward-next-step{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:6px 10px;border:1px solid #7ee08f;border-radius:8px;background:#163223cc;color:#d8ffe0;font-size:13px}
.reward-next-step[hidden]{display:none}
.reward-next-step button{padding:5px 10px;border:0;border-radius:6px;background:linear-gradient(#ffe39a,#d79c36);color:#3a2610;font-weight:700;cursor:pointer}
@media (prefers-reduced-motion:reduce){.talent-pop-badge,.level-celebration strong,.level-celebration i,.unit-level-panel.celebrating .level-badge,.unit-level-panel[data-upgrade-ready="true"] .level-up-button:not(:disabled){animation:none!important}.level-celebration i{display:none}}
@media (max-width:520px){.unit-level-panel .talent-slots{grid-template-columns:1fr}}
