/* Moonlight / jade / antique gold. Keep authored artwork and viewport pagination. */
:root{--prestige-jade:#a5efcd;--prestige-gold:#f5d994;--prestige-ink:#071426;--prestige-border:#b7cfc829}
body{background-color:#050f1e}
#app{box-shadow:0 0 100px #02060ecd!important}
.app-header{background:linear-gradient(110deg,#1d3041,#101e32 70%)!important;border-bottom-color:#b59960!important}
.app-header:after{content:'';position:absolute;left:75px;right:59px;bottom:-2px;height:1px;background:linear-gradient(90deg,transparent,#f8dea6,transparent);pointer-events:none}
.wallet .currency{border-color:#92a8b44f;box-shadow:inset 0 2px 5px #0005,0 1px #e8e4c308}
.wallet .currency b{letter-spacing:.25px}
.battlefield{border:1px solid #c5b47b83!important;border-radius:15px!important;box-shadow:inset 0 0 0 3px #fff1c710,0 8px 24px #010c2355!important;isolation:isolate}
.battlefield:before{content:'';position:absolute;inset:6px;z-index:3;pointer-events:none;background:linear-gradient(#ebdeac60,#ebdeac60) left top/20px 1px no-repeat,linear-gradient(#ebdeac60,#ebdeac60) left top/1px 20px no-repeat,linear-gradient(#ebdeac60,#ebdeac60) right top/20px 1px no-repeat,linear-gradient(#ebdeac60,#ebdeac60) right top/1px 20px no-repeat,linear-gradient(#ebdeac60,#ebdeac60) left bottom/20px 1px no-repeat,linear-gradient(#ebdeac60,#ebdeac60) left bottom/1px 20px no-repeat,linear-gradient(#ebdeac60,#ebdeac60) right bottom/20px 1px no-repeat,linear-gradient(#ebdeac60,#ebdeac60) right bottom/1px 20px no-repeat}
#battle-hud{filter:drop-shadow(0 2px 2px #06101bbb)}
.hp-track{border:1px solid #bde5d050!important;background:#031c2bcc!important;height:7px!important;box-shadow:inset 0 1px 2px #0009}
#hp-fill{background:linear-gradient(90deg,#5bbf9a,#b5ebc2)!important;box-shadow:0 0 8px #85ddba55}
#boss-hud{border:1px solid #ffb09180!important;background:linear-gradient(90deg,#211426e8,#361c30dc,#211426e8)!important;color:#ffe1c4!important;box-shadow:0 4px 15px #09051a55}
#boss-fill{background:linear-gradient(90deg,#da666d,#ffb68c)!important}
#stage-banner{background:linear-gradient(90deg,transparent,#081b2bed 17%,#102a37ed 50%,#081b2bed 83%,transparent)!important;border-block:1px solid #c8bd7c80!important;text-shadow:0 2px 3px #020819}
#stage-banner small{color:#aee5cb;letter-spacing:2.5px;font-size:9px}
#stage-banner b{color:#ffe9b8;font-weight:900}
.road-progress{height:4px!important;background:#0e1d28aa!important}
.road-progress i{background:linear-gradient(90deg,#679f94,#f2d28a)!important;box-shadow:0 0 9px #f2d28a55}
.battle-objective{border-color:#99c8b73d!important;background:linear-gradient(100deg,#223e3bc9,#102735ed)!important;color:#d6f0cf!important;letter-spacing:-.15px}
.party-chip{box-shadow:inset 0 1px #f3efcf18,0 2px #04101e!important;border-bottom-width:2px!important}
.party-chip.SR,.party-chip.SSR,.party-chip.UR{background-image:linear-gradient(110deg,#ece9c510,transparent 60%)}
#skill{border-color:#e6d497aa!important;box-shadow:inset 0 1px #fff1c342,0 3px #0b1b2b,0 6px 15px #0003!important}
#skill.ready{background:linear-gradient(105deg,#45605d,#2b4853 70%)!important;color:#ffedba!important;box-shadow:inset 0 1px #ffeab75c,0 0 16px #e3da8845,0 3px #142635!important}
#skill.ready:after{animation-duration:3.5s!important}
#navigation button.active{border-color:#d1ba7152!important;background:linear-gradient(#c7e7c516,transparent)!important}
#navigation button.active .nav-medallion{background:radial-gradient(ellipse at 50% 18%,#93885c,#324a4a 75%)!important}

/* Illustrated card faces and engraved corners replace flat menu slabs. */
.growth-hero,.paged-content .growth-hero{background:linear-gradient(90deg,#092231f5 7%,#173442bb 58%,#20324230),url('assets/media-v20/sky.png') 62% 34%/cover!important;border-color:#adbe9877!important;box-shadow:inset 0 0 0 3px #f1e4b10a,0 5px 18px #0312223d}
.growth-hero:after{content:'';width:56px;height:56px;right:42px;top:13px;border:1px solid #e6dab74d;border-radius:50%;outline:1px solid #e6dab720;outline-offset:5px;box-shadow:0 0 25px #c5eed326;pointer-events:none}
.growth-hero canvas{z-index:1}
.growth-hero small{color:#a3dac2!important}
.growth-row{border-left-color:#93b8b7!important;background:linear-gradient(110deg,#23394af2,#13273aee)!important;border-color:#9abfb742!important;box-shadow:inset 0 1px #d9edd317,0 3px 8px #0002}
.growth-row:before{content:'';position:absolute;top:0;left:0;width:4px;height:24px;background:#d5dbb17a;pointer-events:none}
.growth-row:after{background:linear-gradient(90deg,#63b69d,#e7d595)!important;box-shadow:none!important}
.growth-icon{border-color:#b8c8b94f!important;background:radial-gradient(ellipse at 50% 20%,#496579,#203344)!important}
.growth-row strong{font-variant-numeric:tabular-nums}
.growth-row em{color:#ade8c6!important}
.growth-row.upgraded,.growth-hero.growth-celebrate{animation:prestige-upgrade .6s ease-out}
.growth-row.upgraded .growth-icon{box-shadow:0 0 15px #cdeeb54d,inset 0 0 0 2px #e5ecc516}
.promotion-card{border-color:#dac79762!important;background:linear-gradient(100deg,#343143df,#182d3bec),url('assets/media-v20/sky.png') center 45%/cover!important}
.promotion-avatar{border-color:#e1c59266!important}
.prestige-power{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:42px;padding:7px 10px;border:1px solid #cbb67963;border-radius:9px;background:linear-gradient(100deg,#293a3d,#142c38);box-shadow:inset 0 1px #e9e8bb12;break-inside:avoid;font-variant-numeric:tabular-nums}
.prestige-power>div{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 9px}
.prestige-power small{color:#a9c7c5;font-size:10px;letter-spacing:.4px}
.prestige-power strong,.prestige-power b{font-size:19px;color:#ffe7ad;line-height:1.2;font-weight:900}
.prestige-power .power-delta{font-size:11px;color:#b3efbf;font-weight:800;white-space:nowrap;min-height:15px}
.power-delta.is-visible{animation:prestige-gain .55s ease-out}
.power-delta:empty{display:none}
.prestige-target{padding:5px 9px;border-left:2px solid #aabf85;background:#17303a80;color:#c7d8c1;font-size:10px;line-height:1.45;break-inside:avoid;margin:0}
#growth-feedback{flex-wrap:wrap;gap:4px 9px}
#growth-feedback>small:first-child{flex:1 1 auto}
#growth-feedback>strong{font-size:14px;white-space:nowrap}
#growth-feedback>strong .power-delta{font-size:16px}
#growth-feedback>small:last-child{flex-basis:100%;font-size:9px;color:#a5c4bd}
.growth-gain{position:absolute;right:8px;top:5px;z-index:3;border:1px solid #b9ecaa6b;background:#1b3a36ed;border-radius:5px;color:#cff4b9;font-size:10px;font-weight:900;padding:3px 5px;pointer-events:none;animation:prestige-gain .55s ease-out}

.summon-panel.companion{background:linear-gradient(#0d2a35a1,#12383c15 38%,#102b36f2 80%),url('assets/media-v20/forest.png') 52% 45%/cover!important;border-color:#b3cb9785!important}
.summon-panel.item{background:linear-gradient(#252337a1,#2c284215 38%,#182738f5 82%),url('assets/media-v16/summon-chamber-v16.png') center 38%/cover!important;border-color:#cbb48c94!important}
.summon-panel:before{border-color:#eee1a72c!important}
.summon-panel .summon-kicker{font-size:8px!important;letter-spacing:2px!important;color:#c6e8c2!important}
.summon-panel.item .summon-kicker{color:#dfccec!important}
.summon-panel h2{color:#fff0c3!important;text-shadow:0 2px 9px #07192e}
.summon-illustration:before{border:1px solid #f1dfa773!important;outline:1px solid #e5d59833;outline-offset:7px;background:radial-gradient(ellipse,#d9e8bd38,transparent 67%)!important;box-shadow:0 0 25px #cdeed521,inset 0 0 20px #d0edb815!important}
.summon-illustration:after{content:'';width:12px;height:12px;border:1px solid #f4dda1;transform:rotate(45deg);box-shadow:0 0 13px #f0dda759;right:22%;top:19%;background:#cfebda19}
.summon-illustration canvas{filter:drop-shadow(0 8px 5px #020e2390) drop-shadow(0 0 8px #dceccd1b)!important}
.summon-collection-track{height:5px!important;border:1px solid #dfe6bc20!important}
.summon-collection-track i{background:linear-gradient(90deg,#61ab98,#d8dc9d)!important;box-shadow:0 0 5px #c5dfb555}
.summon-outcome,.summon-result-summary{padding:10px 12px;border:1px solid #cfc08b69;border-radius:11px;background:linear-gradient(105deg,#2e403cf2,#152a3bec),url('assets/media-v20/sky.png') center 40%/cover;box-shadow:inset 0 0 0 3px #e5ecd508;break-inside:avoid}
.summon-outcome h3,.summon-result-summary h3{margin:0 0 6px;color:#ffe6ac;font-size:15px}
.summon-outcome p,.summon-result-summary p{margin:4px 0;color:#c3dace;font-size:11px;line-height:1.5}
.summon-outcome strong,.summon-result-summary strong{color:#c4f0b9}
.summon-outcome .power-delta,.summon-result-summary .power-delta{font-size:13px;font-weight:900;color:#b6edbc}
.summon-result-summary>.summon-outcome{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 7px;padding:0;border:0;background:none;box-shadow:none}
.summon-result-summary>.summon-outcome>b{color:#f5e4b9;font-size:12px;line-height:1.4}
.summon-result-summary>small{display:block;color:#b8d1c9;margin-top:5px;font-size:10px;line-height:1.5}
.result-card{position:relative;border-color:var(--rarity,#96aea6)!important;background:radial-gradient(ellipse at 50% 34%,#bbd5c425,transparent 62%),linear-gradient(#253b49,#13243a)!important;box-shadow:inset 0 0 0 3px #f6e2b90a,0 3px 8px #03091866!important;overflow:hidden}
.result-card:before{content:'';position:absolute;inset:4px;border:1px solid #dce3c416;border-radius:5px;pointer-events:none}
.result-card.SR,.result-card.SSR,.result-card.UR{box-shadow:inset 0 0 0 3px #f6e2b90f,0 0 13px color-mix(in srgb,var(--rarity) 22%,transparent)!important}
.result-card .rarity{font-size:10px;font-weight:900;letter-spacing:.2px}
.result-card .new-badge{background:#e8cf87;color:#223128;border:1px solid #fff0b5;border-radius:4px;font-size:8px;padding:2px 4px}
.result-card b{color:#f5edcd}
.result-card small{color:#b9d2cc}
.collection-power,.armory-banner{border-color:#b8c29879!important;box-shadow:inset 0 0 0 3px #e8eccb0a}
.codex-card,.equipment-slot,#page-collection #party-slots button{box-shadow:inset 0 0 0 3px #f2e0b20a,0 3px 7px #0002!important}
.codex-card.unowned{box-shadow:none!important}

/* Learning progress uses the same treasure language as combat and summoning. */
.learning-intro{border-color:#b5d1b373!important;background:linear-gradient(90deg,#10303aee,#173440a8),url('assets/media-v20/forest.png') center 38%/cover!important}
.dungeon-entry{background:linear-gradient(110deg,#283d3cee,#132b3ce8)!important;border-color:#c6ba8270!important}
.dungeon-levels button.selected{border-color:#dfd090!important;box-shadow:inset 0 0 0 2px #d5e0b812,0 0 9px #d9dc9b17!important}
.quiz-arena{background:linear-gradient(90deg,#092534e8,#20433e9c,#10273ddc),url('assets/media-v20/forest.png') center 35%/cover!important;border-color:#b6d6b758!important}
.quiz-card{background:linear-gradient(110deg,#1b3346,#112739)!important;border-color:#95c6bc59!important;box-shadow:inset 0 1px #e2f0d015}
.quiz-options button.correct{border-color:#b4e7ba!important;box-shadow:inset 0 0 0 2px #c2eeb52c,0 0 16px #a1e8b025!important}
.reward-chest{border-color:#ddcb8b8c!important;background:linear-gradient(110deg,#384137ed,#1a3340f0),url('assets/media-v20/sky.png') center 35%/cover!important;box-shadow:inset 0 0 0 3px #f6df9b0d}
.screen-pager{background:#102434!important;border-top-color:#aac7b135!important}
.screen-pager button:not(:disabled){background:linear-gradient(#354b50,#203745)!important;border-color:#b9be8580!important;color:#f5e6ae!important}
.overlay-shell{border-color:#bcb18680!important;background:linear-gradient(#192e40,#0d2033)!important;box-shadow:0 16px 90px #010714cc,inset 0 0 0 3px #ece5c009!important}
.overlay-heading{border-bottom-color:#cfbc8266!important}
.overlay-heading h2{color:#ffebbd}

@keyframes prestige-upgrade{0%{box-shadow:inset 0 0 0 2px #dbf6b68c,0 0 17px #bbec9540}100%{box-shadow:inset 0 0 0 2px transparent,0 0 17px transparent}}
@keyframes prestige-gain{0%{opacity:0;transform:translateY(6px)}100%{opacity:1;transform:translateY(0)}}
@media(max-width:380px){.prestige-power{padding:6px 8px}.prestige-power strong,.prestige-power b{font-size:16px}.prestige-power .power-delta{font-size:10px}}
@media(prefers-reduced-motion:reduce){.growth-row.upgraded,.growth-hero.growth-celebrate,.power-delta.is-visible,.growth-gain{animation:none!important}#skill.ready:after{animation:none!important}.summon-illustration:before,.summon-illustration:after{animation:none!important}button{transition:none!important}}
