:root {
  --ink: #26365b;
  --muted: #657297;
  --cream: #fff8e7;
  --gold: #ffc640;
  --coral: #fa816c;
  --purple: #7b5ed8;
  --sky: #8bd9e7;
  --green: #70c87a;
  --shadow: 0 7px 0 rgba(61, 69, 108, .14), 0 14px 25px rgba(47, 57, 98, .12);
}

* { box-sizing: border-box; }
body {
  min-width: 1040px;
  margin: 0;
  color: var(--ink);
  font-family: "Nunito", sans-serif;
  background: #eff8f7;
  background-image: radial-gradient(#d6eeec 1.3px, transparent 1.3px);
  background-size: 18px 18px;
}
button { font: inherit; color: inherit; cursor: pointer; }
.game-shell { width: min(1440px, calc(100vw - 36px)); margin: 0 auto; padding: 18px 0 30px; }

.topbar { height: 61px; display: flex; align-items: center; justify-content: space-between; padding: 0 8px; }
.logo { border: 0; background: transparent; display: flex; align-items: center; gap: 8px; padding: 0; line-height: .82; text-align: left; }
.logo-crown { color: #ffc537; font-size: 34px; text-shadow: 0 2px #d48235; transform: rotate(-8deg); }
.logo b { display: block; font-family: "Baloo 2", sans-serif; font-size: 23px; letter-spacing: 1.5px; color: #ef846e; text-shadow: 0 2px #fff; }
.logo small { display: block; font-size: 12px; font-weight: 900; letter-spacing: 7.6px; color: #5369ad; padding-left: 2px; }
.round-readout { text-align: center; line-height: 1; }
.round-readout span, .eyebrow { display: block; font-size: 10px; letter-spacing: 1.35px; color: #8490ad; font-weight: 900; text-transform: uppercase; }
.round-readout strong { font-family: "Baloo 2"; font-size: 21px; color: #38518b; }
.settings-button { border: 2px solid #d5e4e6; background: #fff; color: #657b9b; border-radius: 12px; padding: 8px 13px; font-size: 13px; font-weight: 900; box-shadow: 0 3px 0 #d0e3e5; }

.adventure-bar { display: grid; grid-template-columns: 1fr 150px 1fr; align-items: center; position: relative; z-index: 3; }
.hero-card { display: flex; align-items: center; height: 88px; background: #fffdf7; border: 3px solid white; border-radius: 20px; box-shadow: var(--shadow); overflow: hidden; }
.enemy-hero { background: linear-gradient(100deg, #fff4e7, #fffdf8); }
.player-hero { justify-content: flex-end; background: linear-gradient(260deg, #ecfff1, #fffef6); }
.portrait { width: 91px; height: 88px; flex: 0 0 91px; display: grid; place-items: center; overflow: hidden; position: relative; }
.portrait::before { content: ""; position: absolute; width: 105px; height: 105px; border-radius: 50%; top: 15px; left: -7px; opacity: .6; }
.portrait span { z-index: 1; font-size: 51px; filter: drop-shadow(0 4px 0 rgba(55, 72, 91, .16)); }
.portrait-ember { background: #ffca89; }
.portrait-ember::before { background: #f69780; }
.portrait-moss { background: #a8e0ba; }
.portrait-moss::before { background: #73b987; }
.hero-details { padding: 5px 10px; min-width: 0; flex: 1; }
.hero-details strong { display: block; font-family: "Baloo 2"; font-size: 19px; line-height: 1.05; white-space: nowrap; }
.hero-details small { display: block; margin-top: 4px; font-size: 11px; color: #77819d; font-weight: 800; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.player-details { text-align: right; }
.health-orb { width: 59px; height: 59px; flex: 0 0 59px; margin: 0 13px; border: 3px solid white; border-radius: 50%; display: grid; place-content: center; text-align: center; line-height: .82; color: white; box-shadow: 0 3px 0 rgba(51, 65, 95, .22); }
.health-orb b { font-family: "Baloo 2"; font-size: 25px; }
.health-orb small { font-size: 8px; font-weight: 900; letter-spacing: 1px; }
.enemy-health { background: #f07768; }.player-health { background: #62ba7c; }
.versus { display: flex; gap: 6px; align-items: center; justify-content: center; color: #8793ad; font-family: "Baloo 2"; font-size: 16px; }
.versus span { height: 2px; width: 32px; background: #cbdbe0; }.versus b { color: #ff9a5c; }

.arena-wrap { position: relative; margin-top: 16px; height: 381px; border-radius: 28px; overflow: hidden; border: 6px solid #fffdf6; box-shadow: 0 11px 0 #c5e2e4, 0 20px 36px rgba(44, 76, 106, .16); background: linear-gradient(#a5e9ef 0 45%, #5db777 45% 100%); }
.arena-sky { position: absolute; inset: 0 0 53%; background: linear-gradient(115deg, #bceef3, #71d5e7); }
.arena-sky::after { content: ""; position: absolute; height: 55px; bottom: -25px; left: -5%; right: -5%; border-radius: 50% 50% 0 0; background: #9adf8d; box-shadow: 260px 1px 0 4px #7fd181, 510px -7px 0 4px #8bd584, 790px 2px 0 6px #74c77d, 1080px -3px 0 6px #91d987; }
.cloud { position: absolute; width: 100px; height: 23px; background: #f7ffff; border-radius: 22px; opacity: .72; }.cloud::before,.cloud::after { content:""; position:absolute; background:#f7ffff; border-radius:50%; }.cloud::before { width:42px;height:42px;left:16px;bottom:0; }.cloud::after { width:53px;height:53px;right:13px;bottom:0; }
.cloud-a { top: 46px; left: 9%; }.cloud-b { transform: scale(.6); top: 27px; right: 10%; }.sparkle { position:absolute; color:#fff; font-size:24px; opacity:.8; }.sparkle-a {left:30%;top:35px}.sparkle-b{right:37%;top:76px;font-size:14px}
.battle-banner { z-index: 2; position: absolute; top: 9px; left: 50%; transform: translateX(-50%); background: #fff9e6; border: 3px solid #f0bd5d; color: #8d693f; border-radius: 20px; padding: 4px 18px 3px; font-size: 10px; font-weight: 900; letter-spacing: .9px; white-space: nowrap; box-shadow: 0 3px 0 rgba(132, 106, 82, .2); }.battle-banner span { color: #ee9369; margin: 0 5px; }
.arena { position: absolute; inset: 0; padding: 53px 7.5% 22px; display: grid; grid-template-rows: 1fr 34px 1fr; }
.board { display: grid; grid-template-columns: repeat(7, minmax(80px, 1fr)); gap: clamp(7px, 1vw, 15px); align-items: center; }
.enemy-board { align-content: end; }.player-board { align-content: start; }
.board-slot { height: 126px; border: 0; border-radius: 19px; position: relative; background: transparent; padding: 0; transition: transform .2s, filter .2s; }.board-slot.empty { border: 2px dashed rgba(255,255,255,.46); background: rgba(255,255,255,.09); color: rgba(255,255,255,.55); }.board-slot.empty span { font-size: 26px; font-weight: 500; }.player-board .board-slot.empty:hover { background: rgba(255,255,255,.22); transform: translateY(-3px); }
.duel-ribbon { position: relative; align-self: center; text-align: center; }.duel-ribbon::before { content:""; position:absolute; left:0; right:0; top:50%; height:2px; background:rgba(255,255,255,.48); }.duel-ribbon span { z-index:1; position: relative; display:inline-block; padding: 4px 15px; color:white; background:#64aa72; border: 2px solid rgba(255,255,255,.8); border-radius:13px; font-size:8px;font-weight:900;letter-spacing:1px; }
.side-label { position:absolute; font-weight:900; font-size:10px; color:rgba(255,255,255,.85); letter-spacing:.9px; text-transform:uppercase; display:flex; align-items:center; gap:8px; }.side-label i { width:32px; height:2px; display:block; background:rgba(255,255,255,.6); }.enemy-side-label{top:27px;left:31px}.player-side-label{bottom:13px;right:31px}

.critter-card { --card:#f4b752; height: 126px; width: 100%; background: #fffbed; border: 3px solid #fffdf4; border-radius: 19px; box-shadow: 0 5px 0 rgba(41,81,86,.24), 0 10px 15px rgba(27,73,77,.12); position: relative; padding: 0; overflow: visible; }.critter-card:not(.enemy-card):hover { transform: translateY(-6px) rotate(-1deg); filter: brightness(1.03); }.enemy-card { cursor: default; filter: saturate(.95); }
.critter-card::before { content:""; position:absolute; inset:5px; background: linear-gradient(145deg, rgba(255,255,255,.68), transparent 55%), var(--card); border-radius: 13px; }.critter-portrait { position: absolute; z-index:2; width: 75px; height: 75px; left:50%; top: 13px; transform: translateX(-50%); display:grid; place-content:center; font-size:54px; line-height:1; filter: drop-shadow(0 5px 0 rgba(74,66,76,.20)); }.critter-portrait::after { content:""; position:absolute; width:70px; height:21px; background:rgba(75, 67, 88, .12); border-radius:50%; z-index:-1; bottom:-4px;left:3px; }
.critter-name { position:absolute; z-index:3; bottom:7px; left:7px; right:7px; padding:3px 4px; text-align:center; background:rgba(255,253,240,.9); border-radius:7px; font-size:11px; font-weight:900; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }.trait-dot { z-index:3; position:absolute; top:8px; right:8px; height:20px; width:20px; border-radius:50%; display:grid;place-content:center;background:#fff9e8;font-size:11px; box-shadow: 0 1px 0 rgba(0,0,0,.13); }.stat { z-index:4; position:absolute; bottom:-8px; height:30px; min-width:30px; border: 2px solid #fffdf4; border-radius:15px; display:flex;align-items:center;justify-content:center; font-family:"Baloo 2"; font-size:17px; color:white; text-shadow:0 1px rgba(0,0,0,.18); box-shadow: 0 2px 0 rgba(48,71,80,.23); }.attack { left:-6px; background:#ef8a62; }.heart { right:-6px; background:#59ae7c; }.card-level { z-index:4; position:absolute; top:-9px;left:-5px;width:25px;height:25px;display:grid;place-content:center;border-radius:50%;background:#5d70b8;color:white;border:2px solid white;font-size:10px;font-weight:900;box-shadow:0 2px 0 rgba(38,48,96,.22); }
.shop-critter { height: 177px; cursor:pointer; }.shop-critter .critter-portrait { top:17px; font-size:71px; }.shop-critter .critter-portrait::after{width:85px;left:-4px}.shop-critter .critter-name { font-size:14px; bottom:28px; }.shop-critter .stat { bottom:5px; }.shop-critter .buy-cost { z-index:5; position:absolute; top:-12px; right:-9px; width:35px;height:35px;display:grid;place-content:center;border-radius:50%;color:#6c5422;background:#ffce4e;border:3px solid #fffbe6;box-shadow:0 3px 0 #d99d36;font-family:"Baloo 2";font-size:17px;font-weight:900; }.shop-critter.sold { filter: grayscale(.65) brightness(1.12); pointer-events:none; }.shop-critter.sold::after { content:"RECRUITED"; position:absolute; z-index:7; inset:0; display:grid;place-content:center; font-size:14px;font-weight:900;letter-spacing:1px;color:#66718c;background:rgba(255,255,255,.55);border-radius:17px; }

.controls-row { display:grid;grid-template-columns:1fr 140px 250px;gap:16px;align-items:center;margin:22px 3% 17px; }.camp-card { min-height:68px;border:3px solid white;border-radius:17px;background:#fffdf7;box-shadow:0 5px 0 #d7e6e5;display:flex;align-items:center;padding:8px 11px;gap:10px; }.camp-icon { width:47px;height:47px;display:grid;place-content:center;border-radius:13px;background:#d6f0cf;font-size:29px; }.camp-card strong{display:block;font-family:"Baloo 2";font-size:17px;line-height:1}.tier-pips{height:9px;margin-top:4px;display:flex;gap:3px}.tier-pips span{display:block;width:12px;height:6px;border-radius:3px;background:#cbd7e5}.tier-pips .filled{background:#f4c65f}.upgrade-button{margin-left:auto;border:0;border-radius:10px;background:#6870b3;color:#fff;padding:8px 10px;font-size:11px;font-weight:900;box-shadow:0 3px 0 #4e5795}.upgrade-button b,.reroll-button b{color:#7d571b;background:#ffd05c;border-radius:50%;display:inline-grid;place-content:center;width:18px;height:18px;margin-left:5px}.upgrade-button:disabled{background:#adb4c9;box-shadow:0 3px 0 #8b95b1}.gold-bank{text-align:center;display:flex;align-items:center;justify-content:center;gap:3px}.gold-bank .coin{font-size:30px;color:#ffbf35;text-shadow:0 2px #d69439}.gold-bank b{font-family:"Baloo 2";font-size:31px;line-height:1;color:#374e86}.gold-bank small{align-self:flex-end;margin-bottom:8px;color:#8390ad;font-size:9px;font-weight:900;text-transform:uppercase}.battle-button{height:69px;border:3px solid white;border-radius:17px;background:linear-gradient(#fa9178,#ed6d65);color:white;box-shadow:0 5px 0 #ce5f62,0 10px 18px rgba(211,87,84,.22);text-shadow:0 2px rgba(120,55,65,.25);line-height:1;position:relative}.battle-button b{font-family:"Baloo 2";display:block;font-size:19px;letter-spacing:.4px}.battle-button small{font-size:10px;font-weight:900;opacity:.9}.button-spark{position:absolute;left:18px;top:15px;color:#ffe7a7;font-size:16px}.battle-button:hover{transform:translateY(-2px);filter:brightness(1.04)}

.market-section{background:#fffdf8;border:3px solid white;border-radius:24px;box-shadow:0 6px 0 #d6e6e7,0 14px 25px rgba(72,89,105,.09);padding:16px 22px 17px}.market-heading{display:flex;align-items:center;justify-content:space-between;margin:0 2px 12px}.market-heading h1{margin:0;font-family:"Baloo 2";font-size:22px;line-height:1.15}.reroll-button{border:2px solid #e6d9bf;border-radius:10px;background:#fff9e7;box-shadow:0 2px 0 #dac8a9;padding:7px 10px;font-size:11px;font-weight:900;color:#917354}.reroll-button>span{font-size:17px;vertical-align:-1px;margin-right:4px;color:#7b6cc3}.reroll-button:disabled{opacity:.5}.market-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:19px}.hint{margin:16px 0 0;text-align:center;color:#8993aa;font-size:11px;font-weight:800}.hint::before{content:"✦";color:#ed986a;margin-right:6px}
.bench-section{margin:15px 9% 0}.bench-heading{display:flex;align-items:center;justify-content:space-between;margin:0 10px 6px}.bench-heading strong{font-size:11px;color:#687491}.bench{min-height:105px;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;padding:10px;background:#4d8e68;border:4px solid #72b984;border-radius:19px;box-shadow:inset 0 5px 0 rgba(31,91,62,.18),0 5px 0 #bcdcd5}.bench .critter-card{height:90px;border-radius:13px}.bench .critter-portrait{font-size:40px;top:9px}.bench .critter-portrait::after{width:54px;left:10px;bottom:2px}.bench .critter-name{bottom:5px;font-size:9px;left:4px;right:4px}.bench .trait-dot{top:4px;right:4px;width:17px;height:17px;font-size:9px}.bench .stat{display:none}.bench .card-level{top:-7px;left:-5px;width:21px;height:21px;font-size:8px}.bench .board-slot{height:82px;border-radius:12px}.bench .board-slot.empty{border-color:rgba(255,255,255,.35)}

.modal-backdrop{position:fixed;z-index:20;inset:0;background:rgba(32,45,74,.55);display:grid;place-content:center;padding:20px;backdrop-filter:blur(4px)}.modal-backdrop.hidden{display:none}.modal{width:min(500px,90vw);max-height:88vh;overflow:auto;position:relative;text-align:center;background:#fffdf7;border:5px solid white;border-radius:28px;box-shadow:0 17px 0 rgba(35,53,88,.27),0 25px 55px rgba(20,38,70,.34);padding:25px 29px 28px}.modal-close{position:absolute;right:13px;top:8px;border:0;background:transparent;font-size:27px;color:#8490ac}.modal-icon{font-size:54px;line-height:1;margin-bottom:5px}.modal h2{font-family:"Baloo 2";font-size:28px;line-height:1.05;margin:3px 0 7px}.modal p{font-size:13px;color:#6f7895;margin:0}.battle-log{margin:16px 0;text-align:left;background:#f1f7ef;border:2px solid #d9ead7;border-radius:12px;padding:9px 13px;max-height:150px;overflow:auto;color:#536d62;font-size:11px;font-weight:800;line-height:1.8}.battle-log:empty{display:none}.modal-action{width:100%;border:0;border-radius:13px;padding:13px;background:#6c73b8;box-shadow:0 4px 0 #4e5795;color:white;font-family:"Baloo 2";font-size:17px}.modal-action span{margin-left:6px}

.pulse{animation:pulse .55s ease}.pop{animation:pop .42s ease}@keyframes pulse{50%{transform:scale(1.12);filter:brightness(1.15)}}@keyframes pop{0%{transform:scale(.76);opacity:.1}70%{transform:scale(1.05)}100%{transform:scale(1)}}
@media (max-width: 1050px){body{min-width:900px}.game-shell{width:calc(100vw - 20px)}.arena{padding-left:4%;padding-right:4%}.market-grid{gap:12px}.shop-critter .critter-name{font-size:12px}}

/* Deeper, illustrated game-board treatment */
.arena-wrap { background: #214d53 url("assets/moonlit-grove-arena.png") center / cover no-repeat; border-color: #fff8dc; box-shadow: 0 10px 0 #b8d7d0, 0 23px 42px rgba(32, 62, 85, .26); }
.arena-wrap::before { content:""; position:absolute; inset:0; z-index:1; pointer-events:none; background:linear-gradient(180deg,rgba(11,45,62,.08),rgba(7,49,43,.28) 55%,rgba(4,37,34,.5)); }
.arena-sky { background:transparent; opacity:.28; mix-blend-mode:screen; }.arena-sky::after { background:#9bd987; opacity:.36; }
.arena { z-index:2; }.battle-banner { z-index:4; background:linear-gradient(180deg,#fff9dd,#f7cf76); border-color:#fff0bd; color:#775233; box-shadow:0 4px 0 rgba(61,59,65,.34),0 6px 13px rgba(16,34,50,.22); }
.duel-ribbon span { background:linear-gradient(180deg,#416b63,#28534c); box-shadow:0 2px 7px rgba(12,34,32,.35); }.duel-ribbon::before { background:rgba(255,255,255,.72); box-shadow:0 1px 3px rgba(4,31,29,.45); }
.side-label { text-shadow:0 2px 4px rgba(5,32,29,.65); }.side-label i { box-shadow:0 1px 3px rgba(5,32,29,.6); }
.board-slot.empty { background:rgba(5,41,43,.2); border-color:rgba(255,245,204,.4); box-shadow:inset 0 1px 7px rgba(4,27,29,.25); }.player-board .board-slot.empty:hover{background:rgba(255,233,142,.24);border-color:rgba(255,241,180,.86)}

.critter-card { border-color:#fff4cf; box-shadow:0 5px 0 rgba(19,49,55,.62),0 12px 17px rgba(8,27,38,.3); background:linear-gradient(145deg,#fffbe8,#edd49a); }
.critter-card::before { inset:4px; border:1px solid rgba(255,255,255,.7); background:linear-gradient(155deg,rgba(255,255,255,.82),rgba(255,255,255,.04) 48%),var(--card); }
.critter-card::after { content:""; position:absolute; z-index:1; left:9px; right:9px; top:9px; height:69px; border-radius:12px; background:radial-gradient(ellipse at 50% 100%, rgba(14,52,60,.26), transparent 55%),linear-gradient(180deg,rgba(255,255,255,.27),transparent); pointer-events:none; }
.critter-portrait { z-index:2; text-shadow:0 3px 0 rgba(37,50,70,.18); transition:transform .2s; }.critter-card:hover .critter-portrait { transform:translateX(-50%) scale(1.07) rotate(-3deg); }
.critter-name { z-index:4; bottom:7px; color:#273757; border:1px solid rgba(108,83,46,.12); box-shadow:0 2px 4px rgba(46,44,56,.12); }.card-level { background:linear-gradient(145deg,#798de1,#4d5eaa); }
.trait-dot { z-index:5; border:2px solid #fff8df; width:23px; height:23px; background:rgba(255,255,245,.95); }.stat { z-index:6; border-color:#fff5d9; }.attack { background:linear-gradient(180deg,#fa9d72,#d86555); }.heart { background:linear-gradient(180deg,#7ace91,#3e9b66); }
.ability-gem { z-index:6; position:absolute; top:7px; left:7px; min-width:24px; height:24px; padding:0 5px; display:flex; align-items:center; justify-content:center; gap:3px; border:2px solid #fff8df; border-radius:10px; background:linear-gradient(180deg,#7257bb,#4e3b91); color:#fff; font-size:12px; box-shadow:0 2px 0 rgba(35,25,69,.5); }.ability-gem b { font-size:8px; letter-spacing:.25px; }
.shop-critter { transform-origin:center bottom; }.shop-critter .ability-gem{top:9px;left:9px}.shop-critter .critter-name { bottom:28px; }.shop-critter .buy-cost { z-index:8; }
.enemy-card { filter:saturate(.88) brightness(.94); }.enemy-card::after { background:linear-gradient(180deg,rgba(76,27,51,.13),rgba(15,23,50,.16)); }.enemy-card .critter-name { background:rgba(242,235,222,.95); }

.rival-power { display:inline-flex; align-items:center; gap:3px; margin-top:4px; padding:2px 6px; border-radius:7px; background:#f4d5c1; color:#9a4e49; font-size:9px; font-weight:900; }
.controls-row { grid-template-columns:minmax(240px,1fr) minmax(245px,1.2fr) 140px 250px; }
.hero-power-card { min-height:68px; border:3px solid #fff7de; border-radius:17px; display:flex; align-items:center; gap:9px; padding:7px 10px; text-align:left; color:#fff; background:linear-gradient(115deg,#566ab0,#7858a7); box-shadow:0 5px 0 #454b8a,0 10px 17px rgba(71,72,147,.18); position:relative; overflow:hidden; }.hero-power-card::before { content:""; position:absolute; width:115px;height:115px;right:-37px;top:-35px;border-radius:50%;background:rgba(255,255,255,.09); }.hero-power-card:enabled:hover{transform:translateY(-2px);filter:brightness(1.08)}.hero-power-card:disabled{filter:grayscale(.6);opacity:.68;cursor:not-allowed;box-shadow:0 4px 0 #68719a;}
.power-orb { position:relative; z-index:1; height:43px; width:43px; flex:0 0 43px; display:grid;place-items:center; border:2px solid rgba(255,255,255,.78); border-radius:14px; background:radial-gradient(circle at 35% 30%,#fff1a8,#e5a747 52%,#b26950); box-shadow:inset 0 2px 4px rgba(255,255,255,.5),0 2px 0 rgba(44,35,92,.35); color:#fff; font-size:21px; text-shadow:0 2px 2px rgba(83,57,86,.45); }.power-copy{position:relative;z-index:1;min-width:0;flex:1}.power-copy .eyebrow{color:#d9dcff}.power-copy strong{display:block;font-family:"Baloo 2";font-size:16px;line-height:.95}.power-copy small{display:block;margin-top:3px;font-size:9px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#f0efff}.power-cost{position:relative;z-index:1;width:31px;height:31px;display:grid;place-content:center;border-radius:50%;background:#fbd35e;color:#5e4a3d;border:2px solid #fff7d5;font-family:"Baloo 2";font-size:11px;box-shadow:0 2px 0 #b48234}.power-cost b{font-size:17px;margin-right:1px}
.combat-feed{z-index:5;position:absolute;right:23px;bottom:15px;display:flex;align-items:center;gap:6px;padding:5px 9px;border:1px solid rgba(255,244,195,.58);border-radius:10px;background:rgba(8,37,45,.68);color:#fff7d1;box-shadow:0 2px 8px rgba(4,25,30,.4);backdrop-filter:blur(5px);font-size:8px;letter-spacing:.7px}.combat-feed b{font-size:8px}.combat-feed small{font-size:8px;font-weight:800;color:#d6e9d8;letter-spacing:0}.feed-pulse{display:block;width:7px;height:7px;border-radius:50%;background:#7df1b3;box-shadow:0 0 0 0 rgba(125,241,179,.7);animation:beacon 1.8s infinite}@keyframes beacon{70%{box-shadow:0 0 0 6px rgba(125,241,179,0)}100%{box-shadow:0 0 0 0 rgba(125,241,179,0)}}
.ability-flash { animation:abilityFlash .65s ease; } @keyframes abilityFlash { 0%,100%{filter:brightness(1)}50%{filter:brightness(1.32) drop-shadow(0 0 12px #ffe487)} }
@media (max-width:1050px){.controls-row{grid-template-columns:1fr 1fr 120px 220px;gap:10px}.power-copy small{display:none}.hero-power-card{padding:7px}.combat-feed{right:14px}.rival-power{display:none}}

/* Tap-style creature actions and battle motion */
.activate-ability { z-index:10; position:absolute; right:6px; bottom:29px; min-width:36px; height:20px; padding:0 5px; display:flex; align-items:center; justify-content:center; gap:2px; border:1px solid #fff2bd; border-radius:8px; color:#fffdf3; background:linear-gradient(180deg,#5f78c5,#3c5096); box-shadow:0 2px 0 #293878,0 3px 7px rgba(17,31,76,.3); font-family:"Baloo 2"; font-size:9px; line-height:1; text-shadow:0 1px rgba(20,27,70,.4); transition:transform .15s,filter .15s; }.activate-ability:hover:not(:disabled){transform:translateY(-2px) scale(1.05);filter:brightness(1.15)}.activate-ability:disabled{cursor:not-allowed;background:#687184;color:#dfe1e6;box-shadow:0 2px 0 #4a5264}.activate-ability b{font-size:9px}.activate-ability span{font-size:11px}
.critter-card.exhausted{filter:saturate(.45) brightness(.84);}.critter-card.exhausted .critter-portrait{transform:translateX(-50%) rotate(12deg);}.critter-card.exhausted::before{background:linear-gradient(150deg,rgba(31,40,65,.42),rgba(11,31,46,.18)),var(--card)}
.critter-card.casting{animation:castBurst .68s ease both;z-index:12}.critter-card.blessing{animation:blessingPulse .76s ease both;z-index:12}.critter-card.damage-shake{animation:damageShake .58s ease both;z-index:12}@keyframes castBurst{0%{transform:translateY(0) scale(1)}35%{transform:translateY(-10px) scale(1.08);filter:brightness(1.45) drop-shadow(0 0 12px #ffe477)}100%{transform:translateY(0) scale(1)}}@keyframes blessingPulse{0%,100%{filter:brightness(1)}45%{filter:brightness(1.3) drop-shadow(0 0 13px #a9ffca)}}@keyframes damageShake{0%,100%{transform:translateX(0)}20%{transform:translateX(-8px) rotate(-3deg);filter:sepia(.55) saturate(1.9)}45%{transform:translateX(8px) rotate(3deg)}70%{transform:translateX(-4px)}}
.arena-wrap.clash-active::after{content:"";z-index:3;position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,247,186,.88),rgba(255,232,123,.18) 27%,transparent 57%);mix-blend-mode:screen;animation:arenaFlare 1.05s ease both}.clash-active .battle-player{animation:playerLunge .72s cubic-bezier(.18,.8,.25,1) both;z-index:8}.clash-active .battle-enemy{animation:enemyLunge .72s .11s cubic-bezier(.18,.8,.25,1) both;z-index:8}@keyframes arenaFlare{0%{opacity:0}32%{opacity:1}100%{opacity:0}}@keyframes playerLunge{0%,100%{transform:translateY(0)}42%{transform:translateY(-34px) scale(1.08);filter:brightness(1.35) drop-shadow(0 0 12px #d6fff2)}}@keyframes enemyLunge{0%,100%{transform:translateY(0)}42%{transform:translateY(34px) scale(1.08);filter:brightness(1.3) drop-shadow(0 0 12px #ffe8c3)}}
.battle-button:disabled{cursor:wait;filter:saturate(.75);animation:battleReady 1s linear infinite}@keyframes battleReady{50%{transform:scale(.98);filter:brightness(.9)}}

/* Evolution, gallery-market, and trader-cart pass */
body.drag-active, body.drag-active * { user-select:none !important; -webkit-user-select:none !important; }
.critter-card { user-select:none; -webkit-user-select:none; }

.evolution-badge{position:absolute;z-index:11;left:50%;bottom:-13px;transform:translateX(-50%);display:grid;place-content:center;min-width:28px;height:19px;padding:0 6px;border:1px solid #f9df95;border-radius:9px;background:linear-gradient(#514174,#241a34);box-shadow:0 2px 0 #120b1b,0 0 8px rgba(137,104,234,.45);color:#fff0b8;font-size:8px;font-weight:1000;letter-spacing:.7px}.evolution-badge.phase-2{background:linear-gradient(#45a38d,#164b4d);border-color:#a8ffe0;box-shadow:0 2px 0 #082f32,0 0 11px rgba(85,255,204,.62)}.evolution-badge.phase-3{background:linear-gradient(#e4a439,#78401c);border-color:#fff0a0;box-shadow:0 2px 0 #3c1d12,0 0 14px rgba(255,190,55,.87)}
.evo-2{border-color:#76f0d1!important;box-shadow:0 5px 0 #173c42,0 12px 22px rgba(0,0,0,.52),0 0 18px rgba(84,245,205,.53)!important}.evo-2::before{box-shadow:inset 0 0 0 2px rgba(175,255,233,.48),inset 0 0 21px rgba(63,230,186,.22)!important}.evo-2 .critter-portrait{filter:saturate(1.18) drop-shadow(0 0 8px rgba(113,255,220,.76))!important}.evo-2::after{box-shadow:inset 0 -15px 18px rgba(53,255,202,.2),0 0 15px rgba(100,255,215,.25)}
.evo-3{border-color:#ffe789!important;box-shadow:0 5px 0 #432614,0 13px 25px rgba(0,0,0,.56),0 0 25px rgba(255,191,49,.82)!important;animation:ultraPulse 2.5s ease-in-out infinite}.evo-3::before{box-shadow:inset 0 0 0 2px rgba(255,241,168,.74),inset 0 0 27px rgba(255,154,25,.35)!important}.evo-3 .critter-portrait{filter:saturate(1.22) contrast(1.04) drop-shadow(0 0 11px rgba(255,205,68,.95))!important}.evo-3::after{box-shadow:inset 0 -16px 20px rgba(255,184,48,.28),0 0 18px rgba(255,193,53,.5)}
.critter-portrait.ultra-atlas{background-image:url("assets/ultra-evolution-atlas.png")!important;background-size:500% auto!important}.board .evo-2 .critter-portrait,.board .evo-3 .critter-portrait{width:112px;height:115px;top:7px}.bench .evo-2 .critter-portrait,.bench .evo-3 .critter-portrait{width:68px;height:72px;top:3px}
@keyframes ultraPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.16) saturate(1.15)}}.critter-card.evolution-pop{animation:evolutionPop 1.12s cubic-bezier(.12,.85,.18,1.23) both!important;z-index:35}@keyframes evolutionPop{0%{transform:scale(.28) rotate(-12deg);filter:brightness(3) drop-shadow(0 0 35px #fff3a2)}36%{transform:scale(1.25) rotate(5deg);filter:brightness(1.75) drop-shadow(0 0 28px #69ffe0)}68%{transform:scale(.94) rotate(-2deg)}100%{transform:scale(1) rotate(0)}}

/* The Trail Market is deliberately art-first: little frame, huge inspection card. */
.market-section{overflow:visible}.market-grid{gap:16px;padding:3px 3px 26px;overflow:visible}.market-grid .shop-critter{height:208px;overflow:visible;border:0!important;border-radius:15px;background:#17131a;box-shadow:0 7px 15px rgba(0,0,0,.48),0 0 0 1px rgba(255,220,151,.24)!important;transform-origin:center bottom;isolation:isolate;transition:transform .22s cubic-bezier(.2,.9,.23,1.25),filter .22s;will-change:transform}.market-grid .shop-critter::before{inset:0;border:0;border-radius:15px;background:linear-gradient(145deg,rgba(255,255,255,.17),transparent 25%),linear-gradient(180deg,rgba(15,12,20,.05) 42%,rgba(15,9,14,.88) 100%)}.market-grid .shop-critter::after{left:0;right:0;top:0;height:100%;border-radius:15px;background:linear-gradient(180deg,transparent 43%,rgba(6,6,10,.04) 52%,rgba(5,5,9,.86) 100%);pointer-events:none}.market-grid .shop-critter .critter-portrait{z-index:1;top:0!important;left:0;width:100%!important;height:143px!important;transform:none!important;border-radius:15px 15px 7px 7px!important;box-shadow:inset 0 0 0 1px rgba(255,242,207,.21)!important;filter:none!important}.market-grid .shop-critter .critter-portrait.illustrated{background-position:center 28%!important}.market-grid .shop-critter .critter-name{z-index:7;left:8px;right:8px;bottom:31px;padding:2px 5px;border:0;background:transparent;box-shadow:none;color:#fff1ca;text-shadow:0 2px 3px #0e0810;font-family:"Baloo 2";font-size:16px;letter-spacing:.2px}.market-grid .shop-critter .ability-gem{z-index:8;top:10px;left:9px;width:auto;max-width:85%;min-height:23px;padding:3px 6px;border:1px solid rgba(255,237,190,.48);border-radius:8px;background:rgba(21,13,28,.78);box-shadow:0 2px 5px rgba(0,0,0,.52);color:#fff2ca}.market-grid .shop-critter .ability-gem span{font-size:12px}.market-grid .shop-critter .ability-gem b{font-size:8px;letter-spacing:.2px}.market-grid .shop-critter .trait-dot{z-index:8;top:10px;right:9px;border:1px solid #ffedba;background:#201724}.market-grid .shop-critter .card-level{z-index:9;top:131px;left:8px;width:24px;height:24px;border-color:#f2d799;background:linear-gradient(#465b96,#242b58);box-shadow:0 2px 0 #130d18}.market-grid .shop-critter .buy-cost{z-index:9;top:130px;right:8px;width:28px;height:28px;border:1px solid #ffe899;background:linear-gradient(#ffe078,#bb762d);box-shadow:0 2px 0 #72401d;color:#422411;font-size:14px}.market-grid .shop-critter .stat{z-index:8;bottom:5px;height:24px;min-width:24px;border-width:1px;font-size:14px}.market-grid .shop-critter .attack{left:8px}.market-grid .shop-critter .heart{right:8px}.market-grid .shop-critter .rarity-ribbon{z-index:9;top:132px;left:50%;min-width:48px}.market-grid .shop-critter .evolution-badge{z-index:10;bottom:22px;left:50%;transform:translateX(-50%) scale(.78)}.market-grid .shop-critter:hover{z-index:32;transform:translateY(-34px) scale(1.46)!important;filter:brightness(1.13) saturate(1.14);box-shadow:0 16px 35px rgba(0,0,0,.72),0 0 0 1px rgba(255,229,165,.65),0 0 26px rgba(255,178,50,.38)!important}.market-grid .shop-critter:hover .critter-name{opacity:0}.hover-lore{position:absolute;z-index:20;left:8px;right:8px;bottom:27px;display:block;opacity:0;transform:translateY(5px);pointer-events:none;transition:opacity .16s ease,transform .16s ease;text-align:left;color:#fff4d8;text-shadow:0 1px 2px #100a13}.hover-lore b,.hover-lore small,.hover-lore em{display:block}.hover-lore b{font-size:10px;letter-spacing:.2px;color:#ffd778}.hover-lore small{margin-top:2px;font-size:8px;font-weight:800;line-height:1.13;color:#fff3db}.hover-lore em{margin-top:3px;padding-top:3px;border-top:1px solid rgba(255,235,187,.32);font-size:7px;font-style:normal;font-weight:800;line-height:1.1;color:#87ead6}.market-grid .shop-critter:hover .hover-lore{opacity:1;transform:translateY(0)}
.market-grid .shop-critter:first-child:hover{transform-origin:left bottom}.market-grid .shop-critter:last-child:hover{transform-origin:right bottom}

/* Enemy pals use a cold scarlet rival frame and a dedicated marker, not the player frame. */
.enemy-board .critter-card{position:relative;border-color:#e36d81!important;box-shadow:0 5px 0 #260a15,0 12px 20px rgba(0,0,0,.58),0 0 16px rgba(235,62,91,.45)!important}.enemy-board .critter-card::before{box-shadow:inset 0 0 0 2px rgba(255,147,165,.5),inset 0 0 21px rgba(113,8,35,.35)!important}.enemy-board .critter-card::after{box-shadow:inset 0 0 0 1px rgba(255,139,157,.34),inset 0 -18px 21px rgba(87,3,30,.35)}.enemy-sigil{position:absolute;z-index:15;left:50%;top:-15px;transform:translateX(-50%);padding:3px 7px;border:1px solid #ffabb9;border-radius:8px;background:linear-gradient(#b94259,#56152b);box-shadow:0 2px 0 #260715,0 0 10px rgba(255,70,111,.72);color:#fff0df;font-size:7px;font-weight:1000;letter-spacing:.8px}.enemy-board .evolution-badge{display:none}

/* Selling is a physical drop action from either the pack or the field. */
.pack-row{display:grid;grid-template-columns:minmax(0,1fr) 116px;gap:12px;align-items:stretch}.pack-row .bench{min-width:0}.sell-zone{min-height:105px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border:2px dashed rgba(248,195,115,.54);border-radius:17px;background:radial-gradient(circle at 50% 23%,rgba(255,185,88,.18),transparent 30%),linear-gradient(145deg,#39272a,#17131a);box-shadow:inset 0 0 18px rgba(0,0,0,.32),0 4px 0 #0b0a0e;color:#ecc282;text-align:center;transition:transform .16s,filter .16s,background .16s,border-color .16s}.sell-zone span{font-size:27px;line-height:1;color:#f3c66d;filter:drop-shadow(0 2px 0 #5b2c1d)}.sell-zone b{font-size:8px;letter-spacing:.8px}.sell-zone small{font-size:7px;font-weight:900;color:#c3a17e}.sell-zone em{margin-top:3px;padding:2px 6px;border-radius:6px;background:#e7b853;color:#482614;font-size:9px;font-style:normal;font-weight:1000;box-shadow:0 2px 0 #865020}.drag-active .sell-zone{animation:sellBeacon .8s ease-in-out infinite}.sell-zone.sell-ready{transform:scale(1.08);border-color:#fff0a0;background:radial-gradient(circle at 50% 35%,rgba(255,237,132,.82),rgba(205,106,51,.38) 45%,#2b1820 79%);filter:brightness(1.2);box-shadow:0 0 25px rgba(255,189,74,.9),inset 0 0 20px rgba(255,249,201,.5)}@keyframes sellBeacon{50%{border-color:rgba(255,226,151,.95);filter:brightness(1.18)}}

/* Paid evolution controls and full-portrait market framing. */
.evolve-button{position:absolute;z-index:17;display:flex;align-items:center;justify-content:center;gap:2px;min-width:36px;height:23px;padding:0 5px;border:1px solid #bfffea;border-radius:8px;background:linear-gradient(#339987,#174a50);box-shadow:0 2px 0 #0c292e,0 0 9px rgba(75,255,209,.28);color:#e7fff0;font-size:9px;font-weight:1000;line-height:1}.evolve-button span{font-size:12px;color:#fff0a5}.evolve-button b{font-size:8px}.evolve-button:hover{filter:brightness(1.2);transform:translateY(-1px)}.board .evolve-button{left:7px;bottom:12px}.bench .evolve-button{right:3px;bottom:3px;min-width:29px;height:15px;padding:0 3px;border-radius:5px;font-size:7px}.bench .evolve-button span{font-size:8px}.bench .evolve-button b{font-size:7px}.bench .critter-card:has(.evolve-button) .critter-name{bottom:19px}.bench .critter-card:has(.evolve-button) .evolution-badge{bottom:-7px}

.market-grid .shop-critter{height:226px}.market-grid .shop-critter .critter-portrait{height:178px!important}.market-grid .shop-critter .critter-portrait.atlas-art{background-size:500% 200%!important}.market-grid .shop-critter .atlas-0{background-position:0% 0%!important}.market-grid .shop-critter .atlas-1{background-position:25% 0%!important}.market-grid .shop-critter .atlas-2{background-position:50% 0%!important}.market-grid .shop-critter .atlas-3{background-position:75% 0%!important}.market-grid .shop-critter .atlas-4{background-position:100% 0%!important}.market-grid .shop-critter .atlas-5{background-position:0% 100%!important}.market-grid .shop-critter .atlas-6{background-position:25% 100%!important}.market-grid .shop-critter .atlas-7{background-position:50% 100%!important}.market-grid .shop-critter .atlas-8{background-position:75% 100%!important}.market-grid .shop-critter .atlas-9{background-position:100% 100%!important}.market-grid .shop-critter .ability-gem,.market-grid .shop-critter .trait-dot,.market-grid .shop-critter .evolution-badge{display:none}.market-grid .shop-critter .card-level,.market-grid .shop-critter .buy-cost{top:165px}.market-grid .shop-critter .rarity-ribbon{top:166px}.market-grid .shop-critter:hover .hover-lore{bottom:28px;padding:5px 6px;border-radius:6px;background:linear-gradient(180deg,rgba(18,10,25,.78),rgba(7,6,10,.96))}

/* Tavern-table arena: original visual language inspired by premium tabletop battlers */
body { min-width:1120px; color:#f8e8c8; background:#100b16 radial-gradient(ellipse at 50% 0%,#3b2430 0,#17111b 53%,#08070d 100%); background-attachment:fixed; }
body::before { content:""; position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.56; background:repeating-linear-gradient(115deg,transparent 0 78px,rgba(125,67,78,.08) 79px 81px,transparent 82px 158px); }
.game-shell { width:min(1535px,calc(100vw - 18px)); padding:9px 0 35px; }
.topbar { height:48px; padding:0 18px; }.logo b{color:#f4c46a;text-shadow:0 2px #45271f}.logo small{color:#75ccc0}.logo-crown{color:#f5cf65;text-shadow:0 2px #604020}.round-readout span{color:#c9aa84}.round-readout strong{color:#ffe2a5;text-shadow:0 2px 0 #36211d}.settings-button{border-color:#6f4a34;background:linear-gradient(#4b352e,#241c27);color:#f4d69d;box-shadow:0 3px 0 #150f17}
.adventure-bar { grid-template-columns:minmax(330px,1fr) 160px minmax(330px,1fr); margin:0 7%; position:relative; z-index:8; }.hero-card{height:76px;border:3px solid #9a7859;border-radius:17px;background:linear-gradient(150deg,#60412f,#2a2027 62%,#18151e);box-shadow:inset 0 0 0 2px #241b1b,0 5px 13px rgba(0,0,0,.55);}.enemy-hero,.player-hero{background:linear-gradient(150deg,#634131,#302128 62%,#17141c)}.portrait{height:76px;width:80px;flex-basis:80px;border:2px solid rgba(255,220,154,.45);}.portrait::before{background:rgba(255,199,100,.24)}.portrait-moss::before{background:rgba(71,205,178,.3)}.portrait span{font-size:43px}.hero-details strong{font-size:18px;color:#fff1cb;text-shadow:0 2px #25171b}.hero-details small{color:#e1c5a4}.hero-details .eyebrow{color:#d9b37b}.rival-power{background:#351f29;color:#ffd182;border:1px solid #875a39}.health-orb{height:54px;width:54px;flex-basis:54px;margin:0 12px;border-color:#e7c98c;box-shadow:inset 0 0 0 3px rgba(32,20,25,.42),0 3px 0 rgba(6,5,10,.65)}.enemy-health{background:linear-gradient(#bd5d51,#6b292f)}.player-health{background:linear-gradient(#4ba88c,#236451)}.versus{color:#eeb76c;text-shadow:0 2px #302025}.versus span{background:#81634c}

.arena-wrap { height:clamp(485px,40vw,620px); margin-top:-3px; border:0; border-radius:24px; overflow:hidden; background:#21130d url("assets/tavern-table-arena.png") center / cover no-repeat; box-shadow:0 13px 35px rgba(0,0,0,.72),inset 0 0 0 1px rgba(255,212,126,.35); }
.arena-wrap::before{z-index:1;background:linear-gradient(90deg,rgba(5,7,13,.22),transparent 20% 80%,rgba(5,7,13,.22)),linear-gradient(180deg,rgba(7,11,15,.16),transparent 38%,rgba(16,8,7,.17));}.arena-sky{display:none}.arena{z-index:3;padding:18% 13.5% 14%;grid-template-rows:1fr 0 1fr}.battle-banner{top:11%;padding:5px 22px;background:linear-gradient(180deg,#6b4a31,#2b2025);border:2px solid #c89a5b;color:#ffe5aa;box-shadow:0 3px 0 #160f13,0 7px 12px rgba(0,0,0,.52);letter-spacing:1.1px}.duel-ribbon{display:none}.side-label{display:none}.board{gap:clamp(5px,.75vw,13px);align-items:center}.enemy-board{align-content:end}.player-board{align-content:start}.board-slot{height:145px;border-radius:42% 42% 22% 22%}.board-slot.empty{background:radial-gradient(ellipse at 50% 50%,rgba(255,231,159,.07),rgba(27,13,11,.13) 68%);border-color:rgba(255,224,157,.26);box-shadow:inset 0 0 14px rgba(18,7,5,.35)}.board-slot.empty span{opacity:.35;color:#ffe7b5}.player-board .board-slot.empty:hover{background:radial-gradient(ellipse at 50% 50%,rgba(105,242,213,.26),rgba(28,44,36,.17) 68%);border-color:rgba(146,255,223,.8)}
.board .critter-card{height:145px;max-width:126px;justify-self:center;border-radius:45% 45% 22% 22%;border:3px solid #e6c485;background:linear-gradient(145deg,#7a5437,#241e25);box-shadow:0 5px 0 #160e11,0 12px 19px rgba(0,0,0,.46),0 0 0 2px rgba(42,26,23,.9)}.board .critter-card::before{inset:4px;border-radius:42% 42% 18% 18%;background:radial-gradient(circle at 50% 30%,rgba(255,255,255,.55),rgba(255,255,255,.04) 50%),var(--card)}.board .critter-card::after{left:7px;right:7px;top:7px;height:94px;border-radius:40% 40% 35% 35%;background:radial-gradient(ellipse at 50% 94%,rgba(20,12,17,.35),transparent 62%),linear-gradient(180deg,rgba(255,255,255,.2),transparent)}.board .player-board .critter-card{border-color:#ffdf8b;box-shadow:0 5px 0 #160e11,0 12px 19px rgba(0,0,0,.46),0 0 11px rgba(91,247,211,.2)}.board .enemy-card{border-color:#cbb4ce;filter:saturate(.8) brightness(.88)}.board .critter-portrait{top:23px;font-size:68px}.board .critter-portrait::after{width:82px;left:-4px;bottom:-5px}.board .critter-name{display:none}.board .ability-gem{top:5px;left:27px;min-width:22px;width:22px;height:22px;padding:0;border-radius:50%;background:linear-gradient(180deg,#7e4fac,#3b275e);box-shadow:0 2px 0 #1e1231}.board .ability-gem b{display:none}.board .trait-dot{top:5px;right:7px;width:21px;height:21px;border-color:#e7cd9e}.board .card-level{top:-9px;left:-4px;width:26px;height:26px;background:linear-gradient(#40579c,#242c60);border-color:#e8d09c}.board .stat{height:31px;min-width:31px;bottom:-10px;border-color:#e9d098;font-size:18px}.board .activate-ability{bottom:12px;right:7px;min-width:29px;height:22px;padding:0 4px;border-radius:9px;background:linear-gradient(#2d918c,#1d565b);border-color:#b1f1d9;box-shadow:0 2px 0 #15383d,0 0 8px rgba(75,246,209,.32)}.board .activate-ability b{font-size:8px}.board .activate-ability span{display:none}.board .critter-card:hover:not(.enemy-card){transform:translateY(-8px) scale(1.035);filter:brightness(1.08) drop-shadow(0 7px 11px rgba(0,0,0,.5))}.board .critter-card.exhausted{filter:saturate(.38) brightness(.67)}

.rival-rail{position:absolute;z-index:7;left:1.5%;top:25%;width:57px;display:flex;flex-direction:column;gap:7px;align-items:center;padding:9px 6px 11px;border:2px solid #5c4339;border-radius:18px;background:linear-gradient(180deg,rgba(43,25,31,.92),rgba(16,18,29,.93));box-shadow:inset 0 0 0 2px rgba(12,8,13,.78),0 5px 13px rgba(0,0,0,.6)}.rail-cap{color:#d6ba87;font-size:6px;font-weight:900;letter-spacing:.8px;writing-mode:vertical-rl;transform:rotate(180deg);margin-bottom:1px}.rail-rival{width:37px;height:37px;display:grid;place-content:center;border:2px solid #7d523f;border-radius:11px;background:linear-gradient(#c77f58,#442a31);font-size:23px;box-shadow:0 2px 0 #180e14}.rail-rival.ghost{opacity:.46;filter:grayscale(.5)}.rail-rival.active{order:-1;opacity:1;border-color:#73f0d3;box-shadow:0 0 0 2px #1c7b72,0 0 16px rgba(52,238,205,.75),0 2px 0 #180e14;transform:scale(1.08)}
.combat-feed{right:4.5%;bottom:44%;border-color:#c0975e;background:rgba(28,18,20,.83);color:#ffe7b1;box-shadow:0 3px 0 #120b0d,0 3px 11px rgba(0,0,0,.5)}.combat-feed small{color:#d7c2a1}.feed-pulse{background:#63dfbd}
.controls-row{position:relative;z-index:9;grid-template-columns:minmax(225px,1fr) minmax(225px,1.2fr) 140px 250px;margin:-42px 11% 18px;gap:13px}.camp-card{border-color:#896344;background:linear-gradient(145deg,#53392d,#201923);box-shadow:inset 0 0 0 2px #2a1d1d,0 5px 0 #130c10,0 10px 18px rgba(0,0,0,.36)}.camp-icon{background:#b9794d}.camp-card .eyebrow{color:#d9b47f}.camp-card strong{color:#fff0ca}.tier-pips span{background:#453746}.tier-pips .filled{background:#f0bb4b}.upgrade-button{background:linear-gradient(#7053a3,#3e2d68);box-shadow:0 3px 0 #211743}.gold-bank{border-radius:18px;background:linear-gradient(145deg,#4f372b,#221923);box-shadow:inset 0 0 0 2px #2b1d1b,0 5px 0 #120b0f}.gold-bank b{color:#ffdc79;text-shadow:0 2px #352317}.gold-bank small{color:#d1b98b}.hero-power-card{border-color:#9a7955;background:linear-gradient(115deg,#504038,#302133);box-shadow:inset 0 0 0 2px #281c23,0 5px 0 #140d14,0 10px 17px rgba(0,0,0,.32)}.hero-power-card::before{background:rgba(249,196,91,.08)}.power-copy .eyebrow{color:#d6b889}.power-copy strong{color:#fff0cb}.power-copy small{color:#d9c5a7}.power-cost{background:#e7b452;border-color:#ffdf90}.battle-button{border-color:#e2bf7d;background:linear-gradient(#b85e3d,#68302d);box-shadow:inset 0 0 0 2px rgba(255,221,140,.28),0 5px 0 #35151b,0 10px 18px rgba(0,0,0,.4)}
.market-section{border-color:#674a39;background:linear-gradient(145deg,#3c2b2b,#1c1820);box-shadow:inset 0 0 0 2px #20171a,0 7px 0 #0f0b10,0 14px 25px rgba(0,0,0,.33)}.market-heading h1{color:#ffebc3;text-shadow:0 2px #27171a}.market-heading .eyebrow,.bench-heading .eyebrow{color:#d3af7b}.reroll-button{border-color:#987551;background:linear-gradient(#75543b,#372724);box-shadow:0 2px 0 #171014;color:#ffe0a3}.reroll-button b{background:#e6ba59}.hint{color:#d4c0a5}.bench-section{margin:16px 11% 0}.bench-heading strong{color:#d5ba8d}.bench{border-color:#5c4237;background:linear-gradient(145deg,#3d2b2a,#17151d);box-shadow:inset 0 5px 0 rgba(0,0,0,.35),0 5px 0 #0d0b10}.bench .board-slot.empty{background:rgba(0,0,0,.22);border-color:rgba(244,198,127,.2)}
@media(max-width:1180px){.arena{padding-left:12%;padding-right:11.5%}.rival-rail{left:1%;transform:scale(.85);transform-origin:left center}.controls-row{margin-left:8%;margin-right:8%}.board .critter-card{max-width:112px;height:132px}.board .critter-portrait{font-size:59px}.board-slot{height:132px}}

.player-board .critter-card{border-color:#ffdf8b;box-shadow:0 5px 0 #160e11,0 12px 19px rgba(0,0,0,.46),0 0 11px rgba(91,247,211,.2)}

/* Camp-tier creature progression: painted portraits and escalating rarity frames */
.critter-portrait.illustrated{font-size:0;background-size:cover;background-position:center 28%;border-radius:44% 44% 34% 34%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.32),0 4px 8px rgba(15,8,19,.3);filter:none}.critter-portrait.illustrated::after{display:none}.board .critter-portrait.illustrated{width:105px;height:108px;top:11px;border-radius:42% 42% 29% 29%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.34),0 5px 10px rgba(7,5,10,.44)}.shop-critter .critter-portrait.illustrated{width:118px;height:120px;top:10px;border-radius:14px}.bench .critter-portrait.illustrated{width:62px;height:68px;top:6px;border-radius:9px}
.rarity-ribbon{z-index:8;position:absolute;top:29px;left:50%;transform:translateX(-50%);min-width:46px;padding:2px 5px;border-radius:7px;border:1px solid rgba(255,247,214,.85);background:linear-gradient(180deg,#345a95,#1f315f);color:#e7fbff;box-shadow:0 2px 0 rgba(15,20,57,.55);font-size:7px;font-weight:900;letter-spacing:.45px;text-align:center}.board .rarity-ribbon{top:6px;left:50%;min-width:18px;width:18px;height:18px;padding:0;border-radius:50%;font-size:0;background:linear-gradient(180deg,#c792ff,#5f3ba1);box-shadow:0 2px 0 #2f1d58}.board .rarity-ribbon::after{content:"✦";font-size:10px;line-height:16px;color:#fff1c8}
.critter-card.tier-2{border-color:#78e5d5;box-shadow:0 5px 0 rgba(14,38,45,.7),0 10px 17px rgba(4,21,29,.43),0 0 14px rgba(73,237,211,.36)}.critter-card.tier-2::before{box-shadow:inset 0 0 0 2px rgba(155,255,235,.36)}.tier-2 .card-level{background:linear-gradient(#50c4b7,#256f74)}.tier-2 .rarity-ribbon{background:linear-gradient(#2c9f95,#18545e)}
.critter-card.tier-3{border-color:#d9a8ff;box-shadow:0 5px 0 rgba(29,20,47,.75),0 10px 20px rgba(8,6,20,.55),0 0 19px rgba(170,91,255,.5)}.critter-card.tier-3::before{box-shadow:inset 0 0 0 2px rgba(229,195,255,.5),inset 0 0 19px rgba(119,64,230,.26)}.tier-3 .card-level{background:linear-gradient(#b574f3,#61358d)}.tier-3 .rarity-ribbon{background:linear-gradient(#9863e6,#4e287f)}
.critter-card.tier-4{border-color:#ffe47d;box-shadow:0 5px 0 rgba(66,32,11,.8),0 10px 24px rgba(8,5,16,.62),0 0 25px rgba(255,190,62,.78);animation:legendaryGleam 3.2s ease-in-out infinite}.critter-card.tier-4::before{box-shadow:inset 0 0 0 2px rgba(255,240,162,.7),inset 0 0 24px rgba(255,177,48,.35)}.tier-4 .card-level{background:linear-gradient(#ffcf54,#aa6421);color:#fff6c4}.tier-4 .rarity-ribbon{background:linear-gradient(#e1a12f,#7c3e1d);color:#fff8cf}.tier-4 .ability-gem{background:linear-gradient(#dfaa38,#754020)}@keyframes legendaryGleam{0%,100%{filter:brightness(1);box-shadow:0 5px 0 rgba(66,32,11,.8),0 10px 24px rgba(8,5,16,.62),0 0 21px rgba(255,190,62,.62)}50%{filter:brightness(1.17);box-shadow:0 5px 0 rgba(66,32,11,.8),0 10px 24px rgba(8,5,16,.62),0 0 36px rgba(255,224,117,.96)}}
.market-grid .tier-2,.market-grid .tier-3,.market-grid .tier-4{transform:translateY(-3px)}.market-grid .tier-2:hover,.market-grid .tier-3:hover,.market-grid .tier-4:hover{transform:translateY(-9px) scale(1.025)}.shop-critter.tier-3 .critter-name,.shop-critter.tier-4 .critter-name{color:#fff4ce;background:linear-gradient(90deg,#342458,#5b387f,#342458);border-color:#c5a5ff;text-shadow:0 1px #251337}.shop-critter.tier-4 .critter-name{background:linear-gradient(90deg,#663b1e,#a66c21,#663b1e);border-color:#ffe38c}

/* Base portrait atlas replaces emoji-only cards */
.critter-portrait.atlas-art{font-size:0;background-image:url("assets/base-creature-atlas.png");background-repeat:no-repeat;background-size:500% auto;border-radius:42% 42% 32% 32%;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 4px 8px rgba(12,8,12,.35);filter:none}.critter-portrait.atlas-art::after{display:none}.atlas-0{background-position:0% 0%}.atlas-1{background-position:25% 0%}.atlas-2{background-position:50% 0%}.atlas-3{background-position:75% 0%}.atlas-4{background-position:100% 0%}.atlas-5{background-position:0% 77%}.atlas-6{background-position:25% 77%}.atlas-7{background-position:50% 77%}.atlas-8{background-position:75% 77%}.atlas-9{background-position:100% 77%}.board .critter-portrait.atlas-art{width:105px;height:108px;top:11px;border-radius:41% 41% 26% 26%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.32),0 5px 10px rgba(5,3,8,.42)}.shop-critter .critter-portrait.atlas-art{width:118px;height:120px;top:10px;border-radius:13px}.bench .critter-portrait.atlas-art{width:62px;height:68px;top:6px;border-radius:9px}

/* Enemy elevation and drag-to-field feedback */
.enemy-board{transform:translateY(-44px);filter:drop-shadow(0 10px 5px rgba(26,4,10,.4))}.player-board{transform:translateY(22px)}.enemy-board .critter-card{border-color:#db8192;box-shadow:0 5px 0 #240c15,0 12px 19px rgba(0,0,0,.52),0 0 13px rgba(196,48,80,.27);animation:enemyHover 3.8s ease-in-out infinite}.enemy-board .critter-card:nth-child(2n){animation-delay:-1.9s}.enemy-board .critter-card::before{box-shadow:inset 0 0 0 2px rgba(255,161,178,.3),inset 0 0 19px rgba(98,9,38,.16)}@keyframes enemyHover{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
.bench .critter-card{cursor:grab}.bench .critter-card:active{cursor:grabbing}.critter-card.dragging{opacity:.28!important;transform:rotate(-7deg) scale(1.12)!important;filter:brightness(1.3) drop-shadow(0 18px 17px rgba(0,0,0,.65))!important}.drag-ghost{position:fixed!important;z-index:100!important;pointer-events:none!important;margin:0!important;width:124px!important;height:142px!important;opacity:.94!important;transform:translate(-50%,-58%) rotate(5deg) scale(1.12)!important;filter:brightness(1.18) drop-shadow(0 20px 14px rgba(0,0,0,.6))!important;transition:none!important}.drag-active .player-board .board-slot.empty{border-color:#7affd4;box-shadow:inset 0 0 16px rgba(72,255,197,.35),0 0 13px rgba(90,255,206,.5);animation:slotBeacon .82s ease-in-out infinite}.player-board .board-slot.drop-ready{background:radial-gradient(ellipse,rgba(255,241,151,.65),rgba(62,220,168,.3) 53%,transparent 72%)!important;border-color:#fff3ac!important;transform:scale(1.08);box-shadow:0 0 24px rgba(255,226,113,.95),inset 0 0 20px rgba(255,255,225,.6)!important}@keyframes slotBeacon{50%{filter:brightness(1.35);transform:translateY(-3px)}}.critter-card.summon-pop{animation:summonPop .74s cubic-bezier(.13,.89,.23,1.25) both;z-index:13}@keyframes summonPop{0%{transform:scale(.35) translateY(40px);filter:brightness(2) drop-shadow(0 0 24px #fdf59a)}58%{transform:scale(1.14) translateY(-10px);filter:brightness(1.35) drop-shadow(0 0 17px #65f5cf)}100%{transform:scale(1) translateY(0)}}

/* Rewarding wins, theatrical losses */
.modal{isolation:isolate}.result-burst{position:absolute;z-index:-1;inset:0;pointer-events:none;overflow:hidden;border-radius:24px}.result-burst i{position:absolute;width:9px;height:18px;border-radius:3px;opacity:0}.result-burst i:nth-child(1){left:14%;top:4%;background:#ffd85d}.result-burst i:nth-child(2){left:27%;top:-3%;background:#6ddec3}.result-burst i:nth-child(3){left:44%;top:5%;background:#ee8bb4}.result-burst i:nth-child(4){right:26%;top:-4%;background:#9f83ff}.result-burst i:nth-child(5){right:13%;top:11%;background:#ffd35b}.result-burst i:nth-child(6){right:38%;top:1%;background:#60d8ef}.modal.victory{background:radial-gradient(circle at 50% 0%,#fff1a6,#fff6d8 45%,#e1f4d9);border-color:#ffe9a9;box-shadow:0 17px 0 #a47a3c,0 25px 55px rgba(20,38,70,.43)}.modal.victory h2{color:#77512a}.modal.victory .modal-icon{animation:winPop .78s cubic-bezier(.17,.9,.24,1.35)}.modal.victory .result-burst i{opacity:1;animation:confettiFall 1.55s ease-in infinite}.modal.victory .result-burst i:nth-child(2){animation-delay:.19s}.modal.victory .result-burst i:nth-child(3){animation-delay:.42s}.modal.victory .result-burst i:nth-child(4){animation-delay:.12s}.modal.victory .result-burst i:nth-child(5){animation-delay:.5s}.modal.victory .result-burst i:nth-child(6){animation-delay:.3s}.modal.defeat{background:radial-gradient(circle at 50% 0%,#5f6988,#313649 52%,#242435);border-color:#71809f;box-shadow:0 17px 0 #171727,0 25px 55px rgba(0,0,0,.58);color:#fff0d6}.modal.defeat .eyebrow{color:#f39b9e}.modal.defeat h2{color:#ffe8c2}.modal.defeat p{color:#d0d6e7}.modal.defeat .modal-icon{animation:defeatWobble 1.2s ease-in-out infinite}.modal.defeat .modal-action{background:#5b496b;box-shadow:0 4px 0 #32263f}.modal.defeat .battle-log{background:#24293a;border-color:#4b5877;color:#ccd4e7}.modal.draw{background:linear-gradient(145deg,#e5e9ff,#d8dff3)}.result-reward{position:relative;z-index:1;display:inline-flex;margin:12px auto 0;padding:6px 10px;border-radius:9px;background:rgba(255,255,255,.67);color:#5e657e;font-size:10px;font-weight:900;box-shadow:inset 0 0 0 1px rgba(92,101,126,.14)}.victory .result-reward{background:#fff0ae;color:#796025;box-shadow:0 2px 0 #d7b44e}.defeat .result-reward{background:#202435;color:#e4c9c9;box-shadow:0 2px 0 #111521}@keyframes winPop{0%{transform:scale(.1) rotate(-30deg)}65%{transform:scale(1.28) rotate(8deg)}100%{transform:scale(1) rotate(0)}}@keyframes confettiFall{0%{transform:translateY(-18px) rotate(0)}100%{transform:translateY(210px) rotate(290deg);opacity:0}}@keyframes defeatWobble{0%,100%{transform:rotate(0)}30%{transform:rotate(-8deg)}60%{transform:rotate(7deg)}}

/* Level-II is a real adolescent form: new painted atlas, sharper silhouette, and powered-up frame. */
.critter-portrait.teen-atlas{background-image:url("assets/teen-evolution-atlas.png")!important;background-size:500% 200%!important;background-repeat:no-repeat}.teen-atlas.atlas-0,.teen-atlas.atlas-1,.teen-atlas.atlas-2,.teen-atlas.atlas-3,.teen-atlas.atlas-4{background-position-y:0%!important}.teen-atlas.atlas-5,.teen-atlas.atlas-6,.teen-atlas.atlas-7,.teen-atlas.atlas-8,.teen-atlas.atlas-9{background-position-y:100%!important}.teen-atlas.atlas-0{background-position-x:0%!important}.teen-atlas.atlas-1{background-position-x:25%!important}.teen-atlas.atlas-2{background-position-x:50%!important}.teen-atlas.atlas-3{background-position-x:75%!important}.teen-atlas.atlas-4{background-position-x:100%!important}.teen-atlas.atlas-5{background-position-x:0%!important}.teen-atlas.atlas-6{background-position-x:25%!important}.teen-atlas.atlas-7{background-position-x:50%!important}.teen-atlas.atlas-8{background-position-x:75%!important}.teen-atlas.atlas-9{background-position-x:100%!important}
.evo-2{background:linear-gradient(145deg,#2d756d,#171d29)!important;border-color:#79f2d4!important;box-shadow:0 5px 0 #112c31,0 12px 25px rgba(0,0,0,.56),0 0 22px rgba(70,255,202,.62)!important}.evo-2 .critter-portrait{filter:saturate(1.24) contrast(1.08) drop-shadow(0 0 12px rgba(116,255,217,.9))!important}.evo-2 .ability-gem{background:linear-gradient(#4cc6b0,#1d5a61)!important;border-color:#c2ffea!important;box-shadow:0 2px 0 #13373e,0 0 10px rgba(88,255,207,.52)!important}.evo-2 .evolution-badge{min-width:42px;color:#e9fff7;font-size:9px;letter-spacing:1px}.evo-2 .evolution-badge::after{content:"AWAKENED";position:absolute;top:-10px;left:50%;transform:translateX(-50%);padding:2px 4px;border:1px solid rgba(191,255,232,.65);border-radius:5px;background:#183e40;color:#c9ffec;font-size:5px;letter-spacing:.55px;white-space:nowrap}.board .evo-2 .critter-portrait.teen-atlas{width:116px;height:119px;top:5px}.bench .evo-2 .critter-portrait.teen-atlas{width:70px;height:74px;top:2px}

/* Solo league systems: readable impacts, dramatic faints, trainer progression, and setup draft. */
.npc-readout{display:inline-flex;align-items:center;margin:4px 0 0 5px;padding:2px 5px;border:1px solid rgba(255,202,117,.48);border-radius:6px;background:rgba(19,10,17,.62);color:#d9b477;font-size:7px;font-weight:900;letter-spacing:.35px}.progress-row{position:relative;z-index:9;display:flex;justify-content:center;gap:10px;margin:-8px 11% 17px}.difficulty-chip,.paragon-chip{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 12px;border:1px solid #80624a;border-radius:11px;background:linear-gradient(145deg,#3c2b2b,#1a151b);box-shadow:inset 0 0 0 1px rgba(15,9,10,.72),0 3px 0 #100b0d;color:#ffe3b0}.difficulty-chip span{color:#b9976d;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.7px}.difficulty-chip b{font-size:11px}.paragon-chip{border-color:#9a7ad2;text-align:left}.paragon-chip>span{font-size:18px;color:#ffdb68;text-shadow:0 0 9px rgba(255,212,102,.65)}.paragon-chip strong{font-size:10px}.paragon-chip small{color:#c9bbd8;font-size:8px}.paragon-chip small b{color:#ffdb72;font-size:10px}
.damage-number{position:absolute;z-index:70;top:31%;left:50%;transform:translateX(-50%);padding:2px 6px;border:1px solid #fff2c2;border-radius:8px;background:#28141b;color:#fff0cf;font-family:"Baloo 2";font-size:20px;font-weight:900;line-height:1;text-shadow:0 2px #49141a;pointer-events:none;animation:damageFloat .88s cubic-bezier(.16,.8,.27,1) forwards}.enemy-damage{background:linear-gradient(#d85a6b,#6d1f37);box-shadow:0 0 16px rgba(255,93,122,.74)}.player-damage{background:linear-gradient(#bf794c,#5b2925);box-shadow:0 0 16px rgba(255,164,90,.7)}.faint-stamp{position:absolute;z-index:71;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-12deg);padding:3px 8px;border:2px solid #fff2ce;border-radius:5px;background:#7c1f38;color:#fff2d6;font-family:"Baloo 2";font-size:15px;letter-spacing:1px;text-shadow:0 2px #3b1221;pointer-events:none;animation:faintStamp .62s ease both}.critter-card.fainting{animation:palFaint .62s ease-in forwards!important;filter:grayscale(.9) brightness(.64)!important}@keyframes damageFloat{0%{opacity:0;transform:translate(-50%,12px) scale(.6)}28%{opacity:1;transform:translate(-50%,-5px) scale(1.18)}100%{opacity:0;transform:translate(-50%,-42px) scale(.92)}}@keyframes faintStamp{0%{opacity:0;transform:translate(-50%,-50%) rotate(-27deg) scale(1.8)}100%{opacity:1;transform:translate(-50%,-50%) rotate(-12deg) scale(1)}}@keyframes palFaint{0%{opacity:1;transform:scale(1) rotate(0)}55%{opacity:.9;transform:scale(.94) rotate(8deg)}100%{opacity:0;transform:translateY(28px) scale(.7) rotate(13deg)}}
.impact-flare{position:absolute;z-index:69;top:27%;left:50%;color:#fff4a6;font-size:32px;line-height:1;pointer-events:none;text-shadow:0 0 10px #ffb34a;animation:impactFlare .62s ease-out both}.critter-card.turn-lunge-player{z-index:20;animation:turnLungePlayer .38s cubic-bezier(.16,.86,.28,1) both}.critter-card.turn-lunge-enemy{z-index:20;animation:turnLungeEnemy .38s cubic-bezier(.16,.86,.28,1) both}.wipe-banner{position:absolute;z-index:80;top:47%;left:50%;transform:translate(-50%,-50%) rotate(-3deg);padding:9px 18px;border:3px solid #ffe7ae;border-radius:10px;background:linear-gradient(#b64145,#571f32);box-shadow:0 4px 0 #2b1020,0 0 30px rgba(255,74,97,.72);color:#fff6d1;font-family:"Baloo 2";font-size:22px;font-weight:900;letter-spacing:1px;text-align:center;text-shadow:0 3px #491425;white-space:nowrap;pointer-events:none;animation:wipeBanner .96s cubic-bezier(.16,.9,.24,1.25) both}.arena-wrap.team-wiped::after{content:"";z-index:75;position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(255,232,146,.52),rgba(221,56,69,.27) 34%,transparent 66%);mix-blend-mode:screen;animation:wipeFlash .8s ease-out both}.arena-wrap.rival-wiped .wipe-banner{background:linear-gradient(#b8903d,#6b3d24);box-shadow:0 4px 0 #352016,0 0 30px rgba(255,202,86,.76)}@keyframes impactFlare{0%{opacity:0;transform:translate(-50%,15px) scale(.35) rotate(-20deg)}42%{opacity:1;transform:translate(-50%,-7px) scale(1.45) rotate(12deg)}100%{opacity:0;transform:translate(-50%,-28px) scale(.78) rotate(32deg)}}@keyframes turnLungePlayer{0%,100%{transform:translateY(0)}48%{transform:translateY(-25px) scale(1.08);filter:brightness(1.35) drop-shadow(0 0 13px #9bffe3)}}@keyframes turnLungeEnemy{0%,100%{transform:translateY(0)}48%{transform:translateY(25px) scale(1.08);filter:brightness(1.35) drop-shadow(0 0 13px #ffc39b)}}@keyframes wipeBanner{0%{opacity:0;transform:translate(-50%,-50%) scale(.35) rotate(9deg)}58%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(-4deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-3deg)}}@keyframes wipeFlash{0%{opacity:0}25%{opacity:1}100%{opacity:0}}
.paragon-panel{margin:12px 0 2px}.paragon-panel:empty{display:none}.paragon-heading{display:flex;align-items:center;justify-content:center;gap:5px;margin-bottom:7px;color:#7a5b2c;font-size:10px;font-weight:900;letter-spacing:.45px}.paragon-heading>span{color:#dd9c36;font-size:16px}.paragon-heading small{color:#6f7895;font-size:8px}.trait-grid{display:grid;grid-template-columns:1fr 1fr;gap:7px}.trait-button{position:relative;min-height:69px;padding:7px 35px 7px 30px;border:1px solid #bea879;border-radius:10px;background:linear-gradient(145deg,#fff8de,#e8dbbb);color:#4d3b38;text-align:left;box-shadow:0 2px 0 #b89e71}.trait-button:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px)}.trait-button:disabled{opacity:.6;filter:grayscale(.25)}.trait-button>span{position:absolute;left:7px;top:8px;color:#8c62bd;font-size:16px}.trait-button b{display:block;font-size:9px}.trait-button b em{font-style:normal;color:#8b688d;font-size:8px}.trait-button small{display:block;margin-top:2px;color:#6f6570;font-size:7px;line-height:1.1}.trait-button i{position:absolute;right:6px;top:8px;padding:2px 4px;border-radius:4px;background:#ead16a;color:#5b4722;font-size:7px;font-style:normal;font-weight:900}.trait-button.capped i{background:#93b899;color:#244839}
.run-setup{z-index:80;background:rgba(12,7,13,.82);backdrop-filter:blur(8px)}.run-setup.hidden{display:none}.setup-modal{width:min(760px,94vw);max-height:93vh;padding:22px 26px 24px;background:radial-gradient(circle at 50% 0%,#6d4c4d,#251923 52%,#17131a);border-color:#a77c55;color:#ffe9c2}.setup-modal h2{color:#ffdb86}.setup-modal p{color:#dfc4a6}.setup-label{margin:13px 0 6px;color:#dcb684;font-size:9px;font-weight:900;letter-spacing:.9px;text-transform:uppercase}.hero-draft{display:grid;grid-template-columns:repeat(5,1fr);gap:7px}.difficulty-draft{display:grid;grid-template-columns:1fr 1fr;gap:7px}.draft-choice{position:relative;min-height:96px;padding:8px;border:1px solid #6d5147;border-radius:11px;background:linear-gradient(145deg,#493333,#251d27);color:#fce9c7;text-align:left;box-shadow:0 3px 0 #160f13}.draft-choice:hover{transform:translateY(-2px);filter:brightness(1.1)}.draft-choice.selected{border-color:#73e3c4;background:linear-gradient(145deg,#36564e,#22333b);box-shadow:0 0 0 1px #96ffe0,0 0 18px rgba(89,255,204,.3),0 3px 0 #12332e}.hero-choice>span{display:block;margin-bottom:3px;font-size:24px}.draft-choice b{display:block;font-family:"Baloo 2";font-size:12px;line-height:1}.draft-choice small{display:block;margin-top:4px;color:#dcc6ae;font-size:8px;line-height:1.1}.draft-choice i{position:absolute;right:6px;bottom:6px;color:#ffdc77;font-size:8px;font-style:normal;font-weight:900}.difficulty-choice{min-height:62px}.difficulty-choice i{color:#a9f1cc}.setup-modal .modal-action{margin-top:15px;background:linear-gradient(#d17645,#6e302e);box-shadow:0 4px 0 #35161a}

/* Clear hero-power price and a battlefield that visibly earns its camp upgrades. */
.power-cost{width:48px;height:48px;display:grid;grid-template-columns:1fr auto;grid-template-rows:12px 1fr;place-items:center;border-radius:12px;background:radial-gradient(circle at 35% 28%,#fff2a7,#e0a33b 54%,#8a4b25);color:#422411;box-shadow:inset 0 0 0 2px rgba(255,241,170,.82),0 3px 0 #6e391f}.power-cost small{grid-column:1 / -1;align-self:end;color:#68401f;font-size:6px;font-weight:1000;letter-spacing:.7px;line-height:1}.power-cost b{font-family:"Baloo 2";font-size:23px;line-height:1}.power-cost i{margin-left:-2px;color:#fff6c4;font-size:13px;font-style:normal;text-shadow:0 1px #8e4a23}.hero-power-card:disabled .power-cost{filter:grayscale(.55)}

/* Harvest Garden: a persistent, cozy farm-style tree for hard-mode preparation. */
.garden-chip{display:flex;align-items:center;gap:7px;min-height:34px;padding:6px 12px;border:1px solid #71955b;border-radius:11px;background:linear-gradient(145deg,#3d5734,#1f3027);box-shadow:inset 0 0 0 1px rgba(11,24,14,.72),0 3px 0 #102017;color:#efffca;text-align:left}.garden-chip>span{font-size:18px}.garden-chip strong{font-size:10px}.garden-chip small{color:#c7e5ac;font-size:8px}.garden-chip small b{color:#ffe07a;font-size:10px}.save-status{align-self:center;color:#9fb392;font-size:8px;font-weight:900;letter-spacing:.35px}.garden-panel{margin:11px 0 2px}.garden-panel:empty{display:none}.garden-summary{display:flex;align-items:center;gap:7px;margin-bottom:8px;padding:7px 9px;border:1px solid #798c5a;border-radius:11px;background:linear-gradient(145deg,#35442d,#202a22);color:#f4f0bf;text-align:left}.garden-summary>span{font-size:18px;color:#ffd46b}.garden-summary div{flex:1}.garden-summary b{display:block;font-size:10px;letter-spacing:.5px}.garden-summary small{display:block;margin-top:2px;color:#cfe0b3;font-size:7px}.garden-summary strong{color:#ffdf7b;font-family:"Baloo 2";font-size:12px;white-space:nowrap}.garden-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;max-height:360px;overflow:auto;padding:2px}.seed-card{position:relative;min-height:125px;padding:5px 5px 24px;border:1px solid #6d7854;border-radius:10px;background:linear-gradient(145deg,#3d4834,#202820);color:#eff4cf;text-align:left;box-shadow:0 2px 0 #101610;overflow:hidden}.seed-card:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.14)}.seed-card:disabled{opacity:.55;filter:grayscale(.3)}.seed-card.planted{border-color:#88df74;box-shadow:0 0 0 1px rgba(164,255,129,.48),0 0 12px rgba(105,225,95,.22),0 2px 0 #10220f}.seed-card.capped{border-color:#f2ce70}.garden-sprite{display:block;height:63px;margin:-5px -5px 5px;border-radius:9px 9px 4px 4px;background-image:url("assets/harvest-garden-atlas.png");background-repeat:no-repeat;background-size:500% 400%;box-shadow:inset 0 0 0 1px rgba(255,255,232,.18)}.seed-0,.seed-1,.seed-2,.seed-3,.seed-4{background-position-y:0}.seed-5,.seed-6,.seed-7,.seed-8,.seed-9{background-position-y:33.333%}.seed-10,.seed-11,.seed-12,.seed-13,.seed-14{background-position-y:66.666%}.seed-15,.seed-16,.seed-17,.seed-18,.seed-19{background-position-y:100%}.seed-0,.seed-5,.seed-10,.seed-15{background-position-x:0}.seed-1,.seed-6,.seed-11,.seed-16{background-position-x:25%}.seed-2,.seed-7,.seed-12,.seed-17{background-position-x:50%}.seed-3,.seed-8,.seed-13,.seed-18{background-position-x:75%}.seed-4,.seed-9,.seed-14,.seed-19{background-position-x:100%}.seed-card b{display:block;font-family:"Baloo 2";font-size:10px;line-height:1}.seed-card em{display:block;margin-top:2px;color:#a9d487;font-size:6px;font-style:normal;font-weight:900;letter-spacing:.5px}.seed-card small{display:block;margin-top:3px;color:#d5dabc;font-size:7px;line-height:1.05}.seed-card i{position:absolute;right:5px;bottom:5px;padding:2px 4px;border-radius:4px;background:#d7b953;color:#45361c;font-size:7px;font-style:normal;font-weight:900}.rarity-rare{border-color:#7f8fde}.rarity-epic{border-color:#bc77dc}.rarity-legendary{border-color:#f1c75e}.garden-modal{width:min(710px,94vw);background:radial-gradient(circle at 50% 0%,#4e673d,#222a22 53%,#171b18);border-color:#a9c978;color:#f1f0c9}.garden-modal h2{color:#e2f19e}.garden-modal p{color:#d3dfaf}.garden-modal .modal-action{margin-top:12px;background:linear-gradient(#74954f,#34502d);box-shadow:0 4px 0 #1c301a}
.arena-wrap.camp-tier-1{box-shadow:0 13px 35px rgba(0,0,0,.72),inset 0 0 0 1px rgba(255,212,126,.35)}.arena-wrap.camp-tier-2{background-image:radial-gradient(ellipse at 50% 76%,rgba(60,228,189,.18),transparent 48%),url("assets/tavern-table-arena.png");box-shadow:0 13px 38px rgba(0,0,0,.72),0 0 28px rgba(67,237,196,.24),inset 0 0 0 2px rgba(111,252,214,.48)}.camp-tier-2 .battle-banner{border-color:#7bf0d2;color:#dfffee;box-shadow:0 3px 0 #123c3b,0 0 18px rgba(87,255,212,.38)}.arena-wrap.camp-tier-3{background-image:radial-gradient(ellipse at 50% 30%,rgba(165,95,255,.22),transparent 54%),radial-gradient(ellipse at 50% 80%,rgba(80,216,255,.17),transparent 44%),url("assets/tavern-table-arena.png");box-shadow:0 13px 42px rgba(0,0,0,.75),0 0 35px rgba(168,92,255,.34),inset 0 0 0 2px rgba(213,159,255,.6)}.camp-tier-3 .battle-banner{border-color:#dea4ff;color:#ffe8ff;box-shadow:0 3px 0 #3d1e57,0 0 20px rgba(206,108,255,.5)}.arena-wrap.camp-tier-4{background-image:radial-gradient(ellipse at 50% 22%,rgba(255,212,101,.28),transparent 47%),radial-gradient(ellipse at 50% 83%,rgba(255,85,70,.2),transparent 53%),url("assets/tavern-table-arena.png");box-shadow:0 13px 46px rgba(0,0,0,.78),0 0 44px rgba(255,188,65,.48),inset 0 0 0 3px rgba(255,220,117,.82)}.camp-tier-4 .battle-banner{border-color:#ffde79;color:#fff6cd;background:linear-gradient(#9c6332,#3b2022);box-shadow:0 3px 0 #3d1a16,0 0 23px rgba(255,207,79,.64)}.camp-tier-3 .board-slot.empty,.camp-tier-4 .board-slot.empty{border-color:rgba(235,192,255,.48)}.camp-tier-4 .player-board .critter-card{box-shadow:0 5px 0 #160e11,0 12px 19px rgba(0,0,0,.46),0 0 20px rgba(255,211,104,.44)}.arena-wrap.camp-upgraded{animation:campUpgradeSurge 1.05s ease both}@keyframes campUpgradeSurge{0%{filter:brightness(1) saturate(1)}28%{filter:brightness(1.75) saturate(1.4);transform:scale(1.012)}100%{filter:brightness(1) saturate(1);transform:scale(1)}}

/* Keep the lower control bar clear of field pals so tap and evolution buttons remain usable. */
.controls-row{margin:16px 11% 18px}

/* Boss trail: five-adventure milestones, warning flare, and reusable relic satchel. */
.progress-row:has(.adventure-wins-chip){flex-wrap:wrap;row-gap:8px}.adventure-wins-chip,.boss-progress-chip{display:flex;align-items:center;gap:7px;min-height:34px;padding:5px 10px;border:1px solid #a47c49;border-radius:11px;background:linear-gradient(145deg,#3f2d25,#1b141a);box-shadow:inset 0 0 0 1px rgba(19,8,7,.72),0 3px 0 #100b0d;color:#ffe6b7;text-align:left}.adventure-wins-chip>span:last-child,.boss-progress-chip>span:last-child{display:grid;gap:1px}.adventure-wins-chip small,.boss-progress-chip small{color:#c8ad8c;font-size:7px;font-weight:900;letter-spacing:.48px;text-transform:uppercase}.adventure-wins-chip strong,.boss-progress-chip strong{font-family:"Baloo 2";font-size:12px;line-height:.9;letter-spacing:.15px}.wins-icon,.boss-progress-icon{display:grid;place-items:center;width:23px;height:23px;border:1px solid rgba(255,229,157,.78);border-radius:8px;background:radial-gradient(circle at 35% 28%,#fff6b3,#d98f3f 59%,#6c3028);color:#fff7d6;font-size:15px;text-shadow:0 2px #613227;box-shadow:inset 0 0 0 1px rgba(255,255,236,.24),0 2px 0 #48221e}.adventure-wins-chip{border-color:#d6ad58;background:linear-gradient(145deg,#503b28,#21161a)}.adventure-wins-chip .wins-icon{animation:relicGleam 3.6s ease-in-out infinite}.boss-progress-chip{border-color:#79425b;background:linear-gradient(145deg,#3b202d,#1a121b)}.boss-progress-chip .boss-progress-icon{background:radial-gradient(circle at 35% 28%,#ffd3bb,#b44e52 53%,#471b32);box-shadow:inset 0 0 0 1px rgba(255,233,211,.24),0 2px 0 #301226}.boss-progress-chip.boss-ready{border-color:#ff7e67;box-shadow:inset 0 0 0 1px rgba(255,226,180,.42),0 3px 0 #280f19,0 0 18px rgba(255,81,80,.5);animation:bossChipWarning 1.45s ease-in-out infinite}.boss-progress-chip.boss-ready .boss-progress-icon{animation:bossRuneFlicker .8s ease-in-out infinite alternate}

.boss-notice{width:min(730px,calc(100% - 80px));display:flex;align-items:center;gap:11px;margin:-6px auto 15px;padding:9px 14px;border:1px solid #e98c67;border-radius:14px;background:linear-gradient(100deg,rgba(69,27,39,.97),rgba(40,21,39,.97) 54%,rgba(31,38,64,.97));box-shadow:0 4px 0 #210e1a,0 0 22px rgba(239,85,95,.3);color:#ffe9c9;position:relative;overflow:hidden;isolation:isolate}.boss-notice::before{content:"";position:absolute;z-index:-1;inset:-80% -10%;background:linear-gradient(105deg,transparent 42%,rgba(255,224,143,.18) 50%,transparent 58%);animation:bossNoticeSweep 3.5s linear infinite}.boss-notice.hidden{display:none}.boss-notice-icon{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border:1px solid #ffcf9d;border-radius:50%;background:radial-gradient(circle at 35% 30%,#ffd9b4,#b54b51 53%,#3b1631);box-shadow:0 0 14px rgba(255,104,91,.55),inset 0 0 0 2px rgba(255,238,204,.18);font-size:21px;animation:bossRuneFlicker 1.4s ease-in-out infinite alternate}.boss-notice b,.boss-notice small{display:block}.boss-notice b{font-family:"Baloo 2";font-size:13px;letter-spacing:.25px}.boss-notice small{margin-top:2px;color:#f2c9ad;font-size:9px;font-weight:800}.boss-notice.boss-arriving{animation:bossNoticeArrive .55s cubic-bezier(.16,.9,.24,1.15) both}

.boss-inventory{width:min(1120px,82%);margin:16px auto 0;padding:12px 14px 14px;border:2px solid #8b6842;border-radius:19px;background:radial-gradient(ellipse at 12% 0%,rgba(248,207,117,.18),transparent 33%),linear-gradient(135deg,#352a31,#17141d 70%);box-shadow:inset 0 0 0 1px rgba(255,235,166,.1),0 5px 0 #0d0c11,0 12px 24px rgba(24,12,26,.18);color:#ffe9bd}.boss-inventory-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;padding:0 3px 8px;border-bottom:1px solid rgba(244,196,114,.24)}.boss-inventory-heading strong{display:block;font-family:"Baloo 2";font-size:17px;line-height:1;color:#ffe1a1}.boss-inventory-heading .eyebrow{color:#d9a85e}.boss-inventory-heading>small{max-width:370px;color:#c5b391;font-size:8px;font-weight:800;text-align:right}.boss-inventory-items{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:9px;min-height:69px;margin-top:10px}.boss-inventory-empty{grid-column:1 / -1;margin:0;padding:12px;border:1px dashed rgba(245,204,121,.35);border-radius:11px;background:rgba(7,9,14,.22);color:#ae9b82;font-size:10px;font-weight:800;text-align:center}.boss-inventory .boss-relic,.boss-inventory .inventory-item,.boss-inventory .loot-item{--relic-glow:rgba(190,125,255,.55);position:relative;isolation:isolate;min-height:66px;padding:8px 9px 8px 47px;border:1px solid #9877c1;border-radius:11px;background:linear-gradient(135deg,#49345d,#21192d);box-shadow:inset 0 0 0 1px rgba(243,217,255,.12),0 3px 0 #130d1b,0 0 13px var(--relic-glow);color:#fff0d6;text-align:left;overflow:hidden;transition:transform .15s ease,filter .15s ease,box-shadow .15s ease}.boss-inventory .boss-relic::before,.boss-inventory .inventory-item::before,.boss-inventory .loot-item::before{content:"";position:absolute;z-index:-1;inset:-15px;background:linear-gradient(120deg,transparent 38%,rgba(255,255,255,.18) 50%,transparent 62%);transform:translateX(-115%);transition:transform .38s ease}.boss-inventory .boss-relic:hover,.boss-inventory .inventory-item:hover,.boss-inventory .loot-item:hover{transform:translateY(-3px) rotate(-.4deg);filter:brightness(1.12);box-shadow:inset 0 0 0 1px rgba(255,239,194,.35),0 4px 0 #130d1b,0 0 20px var(--relic-glow)}.boss-inventory .boss-relic:hover::before,.boss-inventory .inventory-item:hover::before,.boss-inventory .loot-item:hover::before{transform:translateX(115%)}.boss-inventory .boss-relic:focus-visible,.boss-inventory .inventory-item:focus-visible,.boss-inventory .loot-item:focus-visible{outline:2px solid #ffe78c;outline-offset:3px}.boss-inventory .boss-relic[draggable="true"],.boss-inventory .inventory-item[draggable="true"],.boss-inventory .loot-item[draggable="true"]{cursor:grab}.boss-inventory .boss-relic.item-dragging,.boss-inventory .inventory-item.item-dragging,.boss-inventory .loot-item.item-dragging,.boss-inventory .boss-relic.relic-dragging,.boss-inventory .inventory-item.relic-dragging,.boss-inventory .loot-item.relic-dragging{cursor:grabbing;transform:scale(.94) rotate(2deg);filter:brightness(1.28);opacity:.72}.boss-inventory .relic-art,.boss-inventory .item-icon,.boss-inventory .loot-icon{position:absolute;left:8px;top:50%;display:grid;place-items:center;width:31px;height:42px;transform:translateY(-50%) rotate(-8deg);border:1px solid rgba(255,233,170,.72);border-radius:9px 12px 9px 12px;background:radial-gradient(circle at 35% 25%,#fff5b4,#d38b57 47%,#663751);box-shadow:0 0 12px var(--relic-glow),inset 0 0 0 2px rgba(255,249,213,.26);color:#fff9d2;font-size:21px;text-shadow:0 2px #3b1830}.boss-inventory .boss-relic b,.boss-inventory .inventory-item b,.boss-inventory .loot-item b{display:block;font-family:"Baloo 2";font-size:11px;line-height:1.05}.boss-inventory .boss-relic small,.boss-inventory .inventory-item small,.boss-inventory .loot-item small{display:block;margin-top:3px;color:#dccde9;font-size:8px;font-weight:800;line-height:1.08}.boss-inventory .boss-relic .relic-rarity,.boss-inventory .inventory-item .relic-rarity,.boss-inventory .loot-item .relic-rarity{position:absolute;right:7px;top:6px;color:#ffdc76;font-size:6px;font-style:normal;font-weight:1000;letter-spacing:.55px}.boss-inventory .boss-relic.equipped,.boss-inventory .inventory-item.equipped,.boss-inventory .loot-item.equipped{border-color:#68d3a4;filter:saturate(.72);box-shadow:inset 0 0 0 1px rgba(205,255,223,.28),0 2px 0 #0f201b}.boss-inventory .boss-relic.equipped::after,.boss-inventory .inventory-item.equipped::after,.boss-inventory .loot-item.equipped::after{content:"EQUIPPED";position:absolute;right:5px;bottom:4px;padding:2px 4px;border-radius:4px;background:#4da879;color:#eaffdc;font-size:6px;font-weight:1000;letter-spacing:.45px}.critter-card.relic-drop-target{outline:3px solid #ffe682;outline-offset:4px;filter:brightness(1.22) drop-shadow(0 0 12px rgba(255,220,111,.85));animation:relicTargetPulse .8s ease-in-out infinite}.critter-card.relic-equipped{box-shadow:0 5px 0 rgba(19,49,55,.62),0 12px 17px rgba(8,27,38,.3),0 0 21px rgba(255,209,94,.75)!important}.relic-badge{z-index:13;position:absolute;right:-8px;top:-10px;display:grid;place-items:center;width:27px;height:27px;border:2px solid #fff1ae;border-radius:50%;background:radial-gradient(circle at 35% 28%,#fff4ad,#d38541 55%,#6a2d39);box-shadow:0 2px 0 #3d1e2b,0 0 12px rgba(255,206,86,.68);color:#fff8d6;font-size:15px;animation:relicGleam 2.5s ease-in-out infinite}

/* A boss takes the rival's centre slot: huge, spell-lit, and impossible to mistake for a normal pal. */
.arena-wrap.boss-encounter{--boss-a:#e76a63;--boss-b:#59254e;--boss-c:#fbd47c;isolation:isolate;background-image:radial-gradient(ellipse at 50% 37%,color-mix(in srgb,var(--boss-a) 38%,transparent),transparent 37%),radial-gradient(ellipse at 50% 84%,color-mix(in srgb,var(--boss-b) 50%,transparent),transparent 63%),linear-gradient(180deg,rgba(23,7,28,.22),rgba(8,7,20,.62)),url("assets/moonlit-grove-arena.png");box-shadow:0 15px 52px rgba(0,0,0,.82),0 0 50px color-mix(in srgb,var(--boss-a) 42%,transparent),inset 0 0 0 3px color-mix(in srgb,var(--boss-c) 72%,transparent)}.arena-wrap.boss-encounter::before{z-index:3;background:radial-gradient(ellipse at 50% 42%,transparent 12%,rgba(16,3,22,.08) 42%,rgba(13,2,15,.53)),linear-gradient(90deg,rgba(93,19,63,.24),transparent 22% 78%,rgba(42,73,145,.2));mix-blend-mode:screen}.arena-wrap.boss-encounter .battle-banner{z-index:8;top:8px;padding:7px 28px;border-color:var(--boss-c);background:linear-gradient(180deg,color-mix(in srgb,var(--boss-b) 74%,#28132b),#211326);box-shadow:0 4px 0 #150a18,0 0 25px color-mix(in srgb,var(--boss-a) 62%,transparent);color:#fff1c9;font-size:12px;letter-spacing:1.5px;text-shadow:0 2px #33172c}.arena-wrap.boss-encounter .enemy-side-label{z-index:7;color:#ffdbb5;font-size:11px;text-shadow:0 0 9px rgba(255,80,88,.92)}.arena-wrap.boss-encounter .combat-feed{z-index:8;border-color:color-mix(in srgb,var(--boss-c) 75%,white);background:rgba(35,10,29,.76);box-shadow:0 0 15px color-mix(in srgb,var(--boss-a) 48%,transparent)}.arena-wrap.boss-encounter .camp-stage-fx{display:block;z-index:4;background:repeating-radial-gradient(ellipse at 50% 48%,color-mix(in srgb,var(--boss-c) 28%,transparent) 0 1px,transparent 2px 42px),conic-gradient(from 0deg at 50% 48%,color-mix(in srgb,var(--boss-a) 23%,transparent),transparent 13%,color-mix(in srgb,var(--boss-c) 18%,transparent),transparent 31%,color-mix(in srgb,var(--boss-b) 31%,transparent),transparent 64%);mix-blend-mode:screen;opacity:.9;animation:bossGlyphOrbit 16s linear infinite}.arena-wrap.boss-encounter .camp-stage-fx::before{content:"✦ ᛝ ✦";position:absolute;left:50%;top:47%;color:var(--boss-c);font-size:24px;letter-spacing:52px;opacity:.44;text-shadow:0 0 14px var(--boss-a);transform:translate(-50%,-50%);animation:bossRuneFloat 3.8s ease-in-out infinite}.enemy-hero.boss-hero{border-color:var(--boss-c);background:linear-gradient(100deg,#3a1c31,#251730);box-shadow:var(--shadow),0 0 24px color-mix(in srgb,var(--boss-a) 55%,transparent);color:#fff0d0}.enemy-hero.boss-hero .hero-details strong{color:#ffe4a8}.enemy-hero.boss-hero .hero-details small{color:#f1c7c4}.enemy-hero.boss-hero .health-orb{background:radial-gradient(circle at 35% 30%,#ffdfbb,#c44e59 58%,#531f3e);box-shadow:0 3px 0 rgba(22,8,24,.52),0 0 14px rgba(255,95,92,.55)}.enemy-board .board-slot:has(.boss-card){height:196px;overflow:visible;z-index:10;align-self:center}.enemy-board .boss-card{--boss-a:#e76a63;--boss-b:#59254e;--boss-c:#fbd47c;position:relative;z-index:12;width:min(244px,220%);min-width:190px;height:192px;margin:0 auto;transform:translateY(9px);border:3px solid var(--boss-c)!important;border-radius:24px;background:linear-gradient(145deg,#28172b,#0f1424 69%)!important;box-shadow:0 7px 0 #180e1c,0 16px 28px rgba(0,0,0,.6),0 0 14px var(--boss-a),0 0 38px color-mix(in srgb,var(--boss-a) 47%,transparent)!important;overflow:visible;isolation:isolate;animation:bossCardBreath 2.9s ease-in-out infinite}.enemy-board .boss-card::before{z-index:-1;inset:5px;border:1px solid color-mix(in srgb,var(--boss-c) 72%,white);border-radius:17px;background:radial-gradient(ellipse at 50% 83%,color-mix(in srgb,var(--boss-a) 43%,transparent),transparent 54%),radial-gradient(circle at 50% 20%,color-mix(in srgb,var(--boss-c) 24%,transparent),transparent 30%),linear-gradient(145deg,color-mix(in srgb,var(--boss-b) 74%,#111227),#161523 69%)!important;box-shadow:inset 0 0 24px color-mix(in srgb,var(--boss-a) 26%,transparent)}.enemy-board .boss-card::after{z-index:-2;left:50%;top:50%;width:145%;height:142%;border:1px solid color-mix(in srgb,var(--boss-c) 47%,transparent);border-radius:50%;background:repeating-conic-gradient(from 12deg,color-mix(in srgb,var(--boss-c) 28%,transparent) 0 5deg,transparent 6deg 20deg);box-shadow:0 0 32px color-mix(in srgb,var(--boss-a) 45%,transparent),inset 0 0 24px color-mix(in srgb,var(--boss-b) 40%,transparent);transform:translate(-50%,-50%);opacity:.85;animation:bossHaloSpin 13s linear infinite;pointer-events:none}.enemy-board .boss-card .critter-portrait,.enemy-board .boss-card .boss-portrait{z-index:3;width:142px;height:130px;top:8px;font-size:100px;filter:saturate(1.18) contrast(1.08) drop-shadow(0 7px 0 rgba(9,4,16,.65)) drop-shadow(0 0 14px var(--boss-a));animation:bossPortraitHover 2.8s ease-in-out infinite}.enemy-board .boss-card .boss-portrait{background-image:url("assets/bosses-arcane-atlas.png")!important;background-repeat:no-repeat!important;background-size:500% 100%!important;background-position:0 0}.enemy-board .boss-card .critter-portrait::after{width:114px;height:27px;left:12px;bottom:-4px;background:color-mix(in srgb,var(--boss-a) 28%,transparent);filter:blur(2px)}.enemy-board .boss-card .critter-name{z-index:6;bottom:12px;left:13px;right:13px;padding:5px 6px;border:1px solid color-mix(in srgb,var(--boss-c) 68%,transparent);border-radius:8px;background:linear-gradient(90deg,rgba(34,18,42,.94),rgba(69,29,50,.93),rgba(34,18,42,.94));box-shadow:0 2px 0 #160b1e,0 0 14px rgba(255,208,124,.24);color:#fff0cc;font-family:"Baloo 2";font-size:14px;letter-spacing:.35px;text-shadow:0 2px #361330}.enemy-board .boss-card .stat{z-index:8;bottom:-13px;min-width:38px;height:38px;border-color:var(--boss-c);font-size:22px;box-shadow:0 3px 0 rgba(19,7,20,.76),0 0 11px color-mix(in srgb,var(--boss-a) 46%,transparent)}.enemy-board .boss-card .attack{left:-10px;background:linear-gradient(180deg,#fb9574,#b94052)}.enemy-board .boss-card .heart{right:-10px;background:linear-gradient(180deg,#cf6e72,#76253f)}.enemy-board .boss-card .trait-dot,.enemy-board .boss-card .ability-gem{z-index:9;border-color:var(--boss-c);background:linear-gradient(145deg,var(--boss-b),#24132f);color:#fff4ce;box-shadow:0 2px 0 #160b1e,0 0 12px color-mix(in srgb,var(--boss-a) 45%,transparent)}.enemy-board .boss-card .card-level{z-index:10;left:-12px;top:-12px;width:36px;height:36px;border-color:var(--boss-c);background:radial-gradient(circle at 35% 25%,#fff5b7,var(--boss-c) 43%,var(--boss-b) 71%);box-shadow:0 2px 0 #2b112a,0 0 15px var(--boss-a);color:#4a1c35;font-size:13px}.boss-card .boss-phase{position:absolute;z-index:11;top:-12px;right:-17px;padding:4px 7px;border:1px solid var(--boss-c);border-radius:8px;background:linear-gradient(180deg,#fff0ba,#d48e46);box-shadow:0 2px 0 #63312b,0 0 11px var(--boss-a);color:#4a2433;font-size:7px;font-weight:1000;letter-spacing:.7px;text-transform:uppercase}.boss-card .boss-health{position:absolute;z-index:10;right:15px;bottom:47px;left:15px;height:7px;overflow:hidden;border:1px solid rgba(255,236,181,.72);border-radius:8px;background:#291428;box-shadow:0 1px 0 #130917}.boss-card .boss-health>i,.boss-card .boss-health-fill{display:block;width:var(--boss-health,100%);height:100%;border-radius:inherit;background:linear-gradient(90deg,#f16c62,#ffbd72,#fff1a9);box-shadow:0 0 9px rgba(255,126,95,.88);transition:width .35s ease}.boss-card--1{--boss-a:#e76a63!important;--boss-b:#59254e!important;--boss-c:#fbd47c!important}.boss-card--2{--boss-a:#59c7b1!important;--boss-b:#174d61!important;--boss-c:#c4f3aa!important}.boss-card--3{--boss-a:#aa78fa!important;--boss-b:#332266!important;--boss-c:#f5d5ff!important}.boss-card--4{--boss-a:#ff8d40!important;--boss-b:#762237!important;--boss-c:#ffef9e!important}.boss-card--5{--boss-a:#f04fba!important;--boss-b:#191c69!important;--boss-c:#ecf7ff!important;animation-duration:1.85s!important}.boss-card--1 .boss-portrait{background-position:0 0!important}.boss-card--2 .boss-portrait{background-position:25% 0!important}.boss-card--3 .boss-portrait{background-position:50% 0!important}.boss-card--4 .boss-portrait{background-position:75% 0!important}.boss-card--5 .boss-portrait{background-position:100% 0!important}.enemy-board .boss-card--5{width:min(270px,245%);height:209px;box-shadow:0 8px 0 #130b22,0 20px 35px rgba(0,0,0,.7),0 0 25px #f05cca,0 0 58px rgba(86,219,255,.5)!important}.enemy-board .boss-card--5::after{background:repeating-conic-gradient(from 12deg,rgba(232,247,255,.38) 0 4deg,transparent 5deg 16deg);animation-duration:7s}.enemy-board .boss-card--5 .critter-portrait,.enemy-board .boss-card--5 .boss-portrait{font-size:111px;filter:saturate(1.25) contrast(1.16) drop-shadow(0 0 18px #f054bf) drop-shadow(0 0 25px #7ceaff)}

.modal.boss-warning-modal,.modal.boss-warning,.modal:has(.boss-warning){width:min(590px,91vw);border-color:#f1b76b;background:radial-gradient(circle at 50% 0%,#753959,#271729 49%,#15111c);box-shadow:0 17px 0 rgba(34,12,29,.72),0 25px 58px rgba(19,6,18,.72),0 0 34px rgba(255,104,94,.38);color:#ffe8bd}.modal.boss-warning-modal::before,.modal.boss-warning::before,.modal:has(.boss-warning)::before{content:"";position:absolute;inset:7px;border:1px solid rgba(255,225,165,.32);border-radius:20px;pointer-events:none}.modal.boss-warning-modal h2,.modal.boss-warning h2,.modal:has(.boss-warning) h2{color:#ffe0a0;text-shadow:0 2px #4b1735}.modal.boss-warning-modal p,.modal.boss-warning p,.modal:has(.boss-warning) p{color:#e9c5b5}.modal.boss-warning-modal .modal-icon,.modal.boss-warning .modal-icon,.modal:has(.boss-warning) .modal-icon{filter:drop-shadow(0 0 15px rgba(255,112,93,.85));animation:bossRuneFlicker 1.15s ease-in-out infinite alternate}.boss-warning{position:relative;margin:15px 0;padding:12px 13px;border:1px solid rgba(255,219,150,.58);border-radius:13px;background:linear-gradient(135deg,rgba(118,45,64,.52),rgba(28,19,42,.55));box-shadow:inset 0 0 21px rgba(255,125,99,.12);color:#ffe6b6;text-align:left}.boss-warning b{display:block;font-family:"Baloo 2";font-size:14px}.boss-warning small{display:block;margin-top:4px;color:#efc2b6;font-size:9px;font-weight:800}.boss-warning .boss-warning-seal{position:absolute;right:10px;top:10px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #ffe3a2;border-radius:50%;background:radial-gradient(circle,#f8cc70,#9b3e54 57%,#3b1733);box-shadow:0 0 16px rgba(255,110,100,.62);font-size:20px}.modal.boss-warning-modal .modal-action,.modal.boss-warning .modal-action,.modal:has(.boss-warning) .modal-action{background:linear-gradient(#e27a58,#82304a);box-shadow:0 4px 0 #3c1630,0 0 16px rgba(255,112,93,.42)}

@keyframes relicGleam{0%,100%{filter:brightness(1)}50%{filter:brightness(1.25) drop-shadow(0 0 6px rgba(255,222,124,.45))}}@keyframes bossChipWarning{0%,100%{transform:translateY(0);filter:brightness(1)}50%{transform:translateY(-2px);filter:brightness(1.16)}}@keyframes bossRuneFlicker{0%{filter:brightness(.88) saturate(.9)}100%{filter:brightness(1.27) saturate(1.23) drop-shadow(0 0 6px rgba(255,177,109,.65))}}@keyframes bossNoticeSweep{to{transform:translateX(55%) rotate(3deg)}}@keyframes bossNoticeArrive{0%{opacity:0;transform:translateY(-13px) scale(.94)}100%{opacity:1;transform:translateY(0) scale(1)}}@keyframes relicTargetPulse{50%{outline-color:#fff3b2;filter:brightness(1.35) drop-shadow(0 0 17px rgba(255,221,112,.95))}}@keyframes bossGlyphOrbit{to{transform:rotate(360deg)}}@keyframes bossRuneFloat{0%,100%{transform:translate(-50%,-50%) scale(.92);opacity:.24}50%{transform:translate(-50%,-58%) scale(1.1);opacity:.7}}@keyframes bossCardBreath{0%,100%{filter:brightness(1) saturate(1)}50%{filter:brightness(1.13) saturate(1.1)}}@keyframes bossHaloSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes bossPortraitHover{0%,100%{transform:translateX(-50%) translateY(0) scale(1)}50%{transform:translateX(-50%) translateY(-6px) scale(1.055)}}
@media (max-width:1050px){.boss-inventory{width:90%}.boss-inventory-heading>small{display:none}.boss-notice{width:88%}.enemy-board .boss-card{width:min(220px,220%);min-width:172px}.progress-row:has(.adventure-wins-chip){margin-left:5%;margin-right:5%}}
@media (prefers-reduced-motion:reduce){.adventure-wins-chip .wins-icon,.boss-progress-chip.boss-ready,.boss-progress-chip.boss-ready .boss-progress-icon,.boss-notice::before,.boss-notice-icon,.boss-notice.boss-arriving,.critter-card.relic-drop-target,.relic-badge,.arena-wrap.boss-encounter .camp-stage-fx,.arena-wrap.boss-encounter .camp-stage-fx::before,.enemy-board .boss-card,.enemy-board .boss-card::after,.enemy-board .boss-card .critter-portrait,.modal.boss-warning-modal .modal-icon,.modal.boss-warning .modal-icon,.modal:has(.boss-warning) .modal-icon{animation:none!important}}

/* Keep the boss's runes behind the live board; they illuminate the fight instead of covering it. */
.arena-wrap.boss-encounter::before{z-index:1}.arena-wrap.boss-encounter .camp-stage-fx{z-index:1}

/* The shared board card cap hides normal names; bosses deliberately break that cap. */
.enemy-board .boss-card{max-width:none!important}
.enemy-board .boss-card .critter-name{display:block}
.enemy-board .boss-card .ability-gem{left:13px;top:10px;width:auto;height:auto;min-width:0;padding:3px 6px;border-radius:8px}
.enemy-board .boss-card .ability-gem b{display:block;font-size:7px;white-space:nowrap}

.modal.boss-victory{border-color:#ffe08a;background:radial-gradient(circle at 50% 0%,#78455b,#302043 51%,#17111f);box-shadow:0 17px 0 rgba(33,12,34,.75),0 0 34px rgba(255,196,102,.66),0 0 68px rgba(186,103,255,.38)}
.modal.boss-victory .modal-icon{color:#fff1bd;filter:drop-shadow(0 0 15px #ffc96a);animation:bossRuneFlicker 1.1s ease-in-out infinite alternate}
.modal.boss-victory .result-reward{border-color:#ffd981;background:linear-gradient(145deg,rgba(112,60,98,.84),rgba(49,31,74,.9));color:#fff0b6;box-shadow:0 0 16px rgba(255,194,101,.32)}

.boss-now-button{display:grid;grid-template-columns:28px 1fr;align-items:center;gap:0 7px;width:100%;margin-top:9px;padding:7px 11px;border:1px solid #f4ae70;border-radius:11px;background:linear-gradient(135deg,#71354d,#2c1b39);box-shadow:0 3px 0 #2a1024,0 0 15px rgba(240,82,109,.36);color:#ffe6b6;text-align:left;transition:transform .15s ease,filter .15s ease}.boss-now-button:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.12)}.boss-now-button:disabled{opacity:.5;filter:grayscale(.5);cursor:not-allowed}.boss-now-button>span{grid-row:1 / 3;display:grid;place-items:center;width:28px;height:28px;border:1px solid #ffd9a3;border-radius:50%;background:radial-gradient(circle at 35% 25%,#ffe6bb,#e35d61 57%,#602341);box-shadow:0 0 12px rgba(255,101,99,.68);font-size:16px}.boss-now-button b{font-family:"Baloo 2";font-size:12px;line-height:1}.boss-now-button small{margin-top:2px;color:#efc0b5;font-size:8px;font-weight:800}

/* Camp ascension: each upgrade changes the arena's mood, with Camp III becoming an astral showpiece. */
.camp-stage-fx{position:absolute;z-index:2;inset:0;display:none;overflow:hidden;pointer-events:none}.camp-stage-fx i{position:absolute;display:block;width:5px;height:5px;border-radius:50%;background:#fff7be;box-shadow:0 0 11px 3px currentColor;opacity:0}.arena-wrap.camp-tier-2{background-image:radial-gradient(ellipse at 50% 76%,rgba(56,255,191,.28),transparent 52%),linear-gradient(180deg,rgba(18,133,111,.18),rgba(6,31,38,.28)),url("assets/moonlit-grove-arena.png");box-shadow:0 13px 42px rgba(0,0,0,.72),0 0 34px rgba(69,255,194,.38),inset 0 0 0 2px rgba(142,255,218,.65)}.camp-tier-2 .camp-stage-fx{display:block;background:radial-gradient(circle at 15% 30%,rgba(115,255,190,.25),transparent 2%),radial-gradient(circle at 76% 18%,rgba(91,255,209,.22),transparent 2%),radial-gradient(circle at 85% 68%,rgba(138,255,172,.2),transparent 2%);background-size:92px 92px,128px 128px,104px 104px;animation:canopyDrift 7s linear infinite}.camp-tier-2 .camp-stage-fx i:nth-child(1),.camp-tier-2 .camp-stage-fx i:nth-child(2),.camp-tier-2 .camp-stage-fx i:nth-child(3){opacity:.75;animation:firefly 2.8s ease-in-out infinite}.camp-tier-2 .camp-stage-fx i:nth-child(1){left:15%;top:26%}.camp-tier-2 .camp-stage-fx i:nth-child(2){left:77%;top:35%;animation-delay:.9s}.camp-tier-2 .camp-stage-fx i:nth-child(3){left:65%;top:76%;animation-delay:1.6s}.camp-tier-2 .battle-banner{background:linear-gradient(180deg,#e7fff3,#60cfae);border-color:#b9ffe6;color:#174b49;text-shadow:0 1px rgba(255,255,255,.7)}
.arena-wrap.camp-tier-3{background-image:radial-gradient(ellipse at 50% 46%,rgba(125,94,255,.48),transparent 29%),radial-gradient(ellipse at 50% 6%,rgba(110,231,255,.35),transparent 36%),linear-gradient(180deg,rgba(19,17,72,.2),rgba(23,5,45,.58)),url("assets/moonlit-grove-arena.png");box-shadow:0 15px 48px rgba(0,0,0,.78),0 0 54px rgba(172,115,255,.68),0 0 100px rgba(82,225,255,.3),inset 0 0 0 3px rgba(234,189,255,.88)}.camp-tier-3::before{background:linear-gradient(90deg,rgba(73,17,123,.32),transparent 24% 76%,rgba(27,80,150,.32)),radial-gradient(ellipse at 50% 45%,transparent 22%,rgba(11,2,38,.24) 72%)}.camp-tier-3 .camp-stage-fx{display:block;background:repeating-radial-gradient(ellipse at 50% 57%,rgba(255,239,154,.22) 0 1px,transparent 2px 48px),conic-gradient(from 90deg at 50% 57%,rgba(98,229,255,.14),transparent 12%,rgba(255,117,241,.17),transparent 32%,rgba(106,120,255,.17),transparent 56%,rgba(255,221,109,.14),transparent 78%);mix-blend-mode:screen;animation:astralSpin 17s linear infinite}.camp-tier-3 .camp-stage-fx::before,.camp-tier-3 .camp-stage-fx::after{content:"";position:absolute;left:50%;top:55%;border:1px solid rgba(239,220,255,.56);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 15px rgba(149,114,255,.52),inset 0 0 14px rgba(76,230,255,.22)}.camp-tier-3 .camp-stage-fx::before{width:52%;height:50%;animation:astralPulse 2.5s ease-in-out infinite}.camp-tier-3 .camp-stage-fx::after{width:78%;height:72%;border-style:dashed;animation:astralSpin 13s linear infinite reverse}.camp-tier-3 .camp-stage-fx i{width:4px;height:4px;opacity:.9;animation:starTwinkle 1.8s ease-in-out infinite}.camp-tier-3 .camp-stage-fx i:nth-child(1){left:12%;top:19%}.camp-tier-3 .camp-stage-fx i:nth-child(2){left:29%;top:67%;animation-delay:.32s}.camp-tier-3 .camp-stage-fx i:nth-child(3){left:49%;top:14%;animation-delay:.75s}.camp-tier-3 .camp-stage-fx i:nth-child(4){left:74%;top:24%;animation-delay:1.12s}.camp-tier-3 .camp-stage-fx i:nth-child(5){left:85%;top:63%;animation-delay:1.45s}.camp-tier-3 .camp-stage-fx i:nth-child(6){left:55%;top:82%;animation-delay:.52s}.camp-tier-3 .battle-banner{top:8%;padding:7px 28px;border-color:#f9d4ff;background:linear-gradient(180deg,#67459f,#2b1b5d);color:#fff5d8;font-size:12px;letter-spacing:1.5px;box-shadow:0 4px 0 #241247,0 0 25px rgba(221,142,255,.85),0 0 45px rgba(100,232,255,.48)}.camp-tier-3 .board-slot.empty{border-color:rgba(226,181,255,.8);background:radial-gradient(circle,rgba(110,231,255,.16),rgba(30,8,68,.12) 68%);box-shadow:inset 0 0 15px rgba(187,123,255,.28),0 0 8px rgba(99,224,255,.12)}.camp-tier-3 .player-board .critter-card{box-shadow:0 5px 0 #160e11,0 12px 19px rgba(0,0,0,.46),0 0 18px rgba(122,235,255,.4)}.camp-tier-3 .enemy-board .critter-card{box-shadow:0 5px 0 #160e11,0 12px 19px rgba(0,0,0,.46),0 0 15px rgba(236,119,255,.28)}
.arena-wrap.camp-tier-4{background-image:radial-gradient(ellipse at 50% 20%,rgba(255,231,121,.52),transparent 38%),radial-gradient(ellipse at 50% 88%,rgba(255,70,40,.35),transparent 55%),linear-gradient(180deg,rgba(115,43,20,.22),rgba(48,7,22,.56)),url("assets/moonlit-grove-arena.png");box-shadow:0 15px 52px rgba(0,0,0,.82),0 0 56px rgba(255,187,66,.64),inset 0 0 0 3px rgba(255,222,122,.9)}.camp-tier-4 .camp-stage-fx{display:block;background:linear-gradient(115deg,transparent 38%,rgba(255,229,116,.12),transparent 62%);animation:sunforgeSweep 4s linear infinite}.camp-tier-4 .camp-stage-fx i{opacity:.9;background:#ffcc63;animation:emberRise 2.3s ease-in infinite}.camp-tier-4 .camp-stage-fx i:nth-child(1){left:18%;top:78%}.camp-tier-4 .camp-stage-fx i:nth-child(2){left:34%;top:87%;animation-delay:.5s}.camp-tier-4 .camp-stage-fx i:nth-child(3){left:52%;top:73%;animation-delay:1.2s}.camp-tier-4 .camp-stage-fx i:nth-child(4){left:68%;top:86%;animation-delay:.8s}.camp-tier-4 .camp-stage-fx i:nth-child(5){left:82%;top:76%;animation-delay:1.6s}.camp-tier-4 .camp-stage-fx i:nth-child(6){left:91%;top:90%;animation-delay:.25s}.camp-tier-4 .battle-banner{border-color:#ffeb9d;color:#fff8d9;background:linear-gradient(#b77532,#451e20);box-shadow:0 4px 0 #3d1a16,0 0 26px rgba(255,207,79,.82)}
.hero-power-card.power-tier-2{background:linear-gradient(115deg,#397e75,#5470ac);box-shadow:0 5px 0 #295a62,0 0 16px rgba(84,242,203,.32)}.hero-power-card.power-tier-3{background:linear-gradient(115deg,#51409b,#9252a7 57%,#386d9f);border-color:#ead1ff;box-shadow:0 5px 0 #36266f,0 0 22px rgba(204,115,255,.6);animation:powerAwaken 2.2s ease-in-out infinite}.hero-power-card.power-tier-3 .power-orb{background:radial-gradient(circle at 35% 28%,#fffbc5,#ce82ff 48%,#5b3fb3);box-shadow:inset 0 0 0 2px rgba(255,240,255,.84),0 0 18px rgba(221,155,255,.82)}.hero-power-card.power-tier-4{background:linear-gradient(115deg,#a15a2f,#6c2a3c 56%,#80529f);border-color:#ffe39a;box-shadow:0 5px 0 #552121,0 0 23px rgba(255,192,79,.68)}.hero-power-card.power-tier-4 .power-orb{background:radial-gradient(circle at 35% 28%,#fffbc5,#ffb84f 48%,#b64937);box-shadow:inset 0 0 0 2px rgba(255,243,168,.84),0 0 18px rgba(255,199,78,.85)}@keyframes canopyDrift{to{background-position:92px 48px, -128px 64px,104px -52px}}@keyframes firefly{0%,100%{transform:translate(0,0) scale(.65);opacity:.3}50%{transform:translate(18px,-26px) scale(1.5);opacity:1}}@keyframes astralSpin{to{transform:rotate(360deg)}}@keyframes astralPulse{50%{transform:translate(-50%,-50%) scale(1.12);opacity:.5}}@keyframes starTwinkle{0%,100%{transform:scale(.5);opacity:.28}50%{transform:scale(1.8);opacity:1}}@keyframes sunforgeSweep{to{background-position:900px 0}}@keyframes emberRise{0%{transform:translateY(12px) scale(.4);opacity:0}30%{opacity:1}100%{transform:translateY(-125px) scale(1.45);opacity:0}}@keyframes powerAwaken{0%,100%{filter:brightness(1)}50%{filter:brightness(1.14) drop-shadow(0 0 8px rgba(227,174,255,.48))}}
