/* Achievement v2: shared Mastery artwork, theme-only surrounding effects; three stars unchanged. */
.av-page,.growth-dialog{--av-ring:#c78daf;--av-track:#eee4ec}.av-page[data-achievement-theme=magic-academy],.growth-dialog[data-achievement-theme=magic-academy]{--av-ring:#9a96cf;--av-track:#e9e8f4}
.av-group{margin-block:28px}.av-group h2{font-size:var(--type-section,22px);font-weight:650}.growth-badge .av-art{position:relative;display:grid;place-items:center;width:min(100%,188px);aspect-ratio:1;flex:none}.growth-badge .av-art img{width:78%;height:78%;max-width:100%;object-fit:contain}.av-ring{position:absolute;inset:0;width:100%;height:100%;overflow:visible}.av-ring circle{fill:none;stroke-width:5}.av-ring-track{stroke:var(--av-track)}.av-ring-fill{stroke:var(--av-ring);stroke-linecap:round;transform:rotate(-90deg);transform-origin:center}
.growth-badge.av-mastery{border:2px solid color-mix(in srgb,var(--av-ring) 50%,white);background:var(--surface,#fffafc)}.av-mastery-status{display:grid;gap:6px;padding:10px 8px;border-radius:14px;background:color-mix(in srgb,var(--av-ring) 12%,white);width:100%;box-sizing:border-box}.av-mastery-status strong{font-size:14px;font-weight:600;line-height:1.45}.av-mastery-status span{font-variant-numeric:tabular-nums}.av-mastery-status small{font-size:12px}.growth-badge.av-complete{background:var(--surface,#fff);box-shadow:none}.av-classic{font-size:14px;line-height:1.45;color:var(--color-text,#513954)}.av-progress{font-variant-numeric:tabular-nums}.growth-badge .av-description{font-size:14px;font-weight:400;line-height:1.6;margin:8px 0}.av-page .growth-badge{justify-content:flex-start;overflow-wrap:normal;word-break:normal}.growth-badge:focus-visible{outline:3px solid #715c98;outline-offset:4px}.growth-dialog .growth-badge{width:100%;box-sizing:border-box}
@media(max-width:767px){.growth-badge .av-art{width:min(100%,148px)}.av-mastery-status{padding:8px 4px}.av-page .growth-grid{gap:12px}.av-page .growth-badge{padding:12px 8px}.av-mastery-status strong{font-size:13px}}
@media(prefers-reduced-motion:reduce){.av-ring,.av-ring *,.av-mastery-status{animation:none!important;transition:none!important}}
/* 6D.2: presentation only, using the existing interval and original badge art. */
.av-page,.growth-dialog{--av-halo:#f4dbe6;--av-completion:#805c36;--av-ring:#b16f99}
.av-page[data-achievement-theme=magic-academy],.growth-dialog[data-achievement-theme=magic-academy]{--av-halo:#e4ddf5;--av-completion:#625083;--av-ring:#8179ba}
.av-page .growth-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}
.av-page .av-group{margin-block:32px}.av-group h2{margin-bottom:16px}
.av-page .growth-badge{gap:8px;padding:16px 12px;border-radius:24px}
.growth-badge .av-art img{width:84%;height:84%;position:relative;z-index:1}
.growth-badge .av-title{font-size:17px;line-height:1.4;word-break:normal;overflow-wrap:normal;min-height:2.8em;display:flex;align-items:center;justify-content:center}
.growth-badge .av-classic{font-weight:600;font-size:13px;color:var(--av-completion);padding:4px 8px;background:color-mix(in srgb,var(--av-halo) 45%,white);border-radius:20px}
.av-ring circle{stroke-width:6}.av-ring{z-index:2;pointer-events:none}
.av-mastery-status{gap:4px;margin-top:2px;padding:8px;font-size:14px}.av-mastery-status strong{font-size:14px;color:#58425f}.av-mastery-status span{font-size:14px}
.growth-badge.av-complete{border:1px solid color-mix(in srgb,var(--av-halo) 75%,white);background:linear-gradient(155deg,#fffefa,color-mix(in srgb,var(--av-halo) 16%,white));box-shadow:0 4px 14px #6e557209}
.growth-badge.av-complete .av-art::before{content:"";position:absolute;inset:2%;border-radius:50%;background:radial-gradient(ellipse,var(--av-halo),transparent 70%);pointer-events:none}
.growth-badge.level-3 .av-art img{opacity:1;filter:drop-shadow(0 2px 5px #b7a38030)}
.av-page .growth-hero .growth-button{width:auto;white-space:nowrap;min-height:44px}.av-page .growth-hero .growth-button::before{flex-shrink:0}
@media(max-width:1024px){.av-page .growth-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
@media(max-width:767px){.av-page .growth-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.av-page .growth-badge{padding:12px 8px;gap:7px}.growth-badge .av-title{font-size:16px}.growth-badge .av-art{width:min(100%,156px)}.av-mastery-status strong{font-size:13px}.av-group h2{font-size:21px}.growth-badge.av-complete small{font-size:13px}}
/* Universal PNGs are never recoloured. Theme colours apply to CSS/SVG only. */
.av-page,.growth-dialog{--av-glow:#edc5df;--av-opal:#e9ddfa;--av-node:#fff8ef}
.av-page[data-achievement-theme=magic-academy],.growth-dialog[data-achievement-theme=magic-academy]{--av-glow:#9dbcf4;--av-opal:#c3a7ee;--av-node:#d9fff8;--av-ring:#6564b5}
.growth-badge.av-mastery{background:linear-gradient(145deg,#fff,color-mix(in srgb,var(--av-opal) 32%,white));box-shadow:0 5px 20px color-mix(in srgb,var(--av-glow) 25%,transparent)}
.growth-badge.av-mastery .av-art::before{content:"";position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse,var(--av-glow),transparent 70%);pointer-events:none}
.growth-badge.av-mastery .av-art::after{content:"";position:absolute;z-index:3;top:3%;left:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--av-node);box-shadow:0 0 7px 2px var(--av-glow);pointer-events:none}
