[data-tier]{--rank-color:#8d9ebe;--rank-light:#d9e2f6;--rank-dark:#34425f;--rank-aura:#8297cf20;--rank-tint:#a6baf610}[data-tier=aprendiz]{--rank-color:#bf987e;--rank-light:#f1d9c5;--rank-dark:#634945;--rank-aura:#bf987e20}[data-tier=competidor]{--rank-color:#d3ab70;--rank-light:#f4dfb9;--rank-dark:#6c503b;--rank-aura:#d3ab7020}[data-tier=experimentado]{--rank-color:#95afcb;--rank-light:#e2edfa;--rank-dark:#3b526c;--rank-aura:#95afcb20}[data-tier=especialista]{--rank-color:#69c5c5;--rank-light:#bdeee7;--rank-dark:#275b65;--rank-aura:#69c5c520}[data-tier=experto]{--rank-color:#8b9cf8;--rank-light:#d1d7ff;--rank-dark:#374c86;--rank-aura:#8b9cf820}[data-tier=maestro]{--rank-color:#dec080;--rank-light:#f8e7bb;--rank-dark:#695438;--rank-aura:#dec08020}[data-tier=elite]{--rank-color:#e29aad;--rank-light:#ffccda;--rank-dark:#723753;--rank-aura:#e29aad20}[data-tier=mitico]{--rank-color:#b29bff;--rank-light:#e4d5ff;--rank-dark:#4e4382;--rank-aura:#b29bff28}[data-tier=leyenda]{--rank-color:#f0cb94;--rank-light:#fff1ce;--rank-dark:#8c576b;--rank-aura:#f0cb9430}
.mastery-symbol{position:relative;display:inline-block;flex:none;color:var(--rank-color)}.mastery-symbol svg{display:block;width:100%;height:100%;filter:drop-shadow(0 0 12px var(--rank-aura));overflow:visible}.mastery-badge{display:inline-flex;align-items:center;gap:7px;color:var(--rank-light);font-size:11px}.mastery-badge .mastery-symbol{width:28px;height:28px}.profile-mastery{position:relative;border:1px solid color-mix(in srgb,var(--rank-color) 40%,transparent);border-radius:18px;background:linear-gradient(135deg,var(--rank-aura),#101528 70%);padding:24px;margin:24px 0 0}.mastery-heading{display:grid;grid-template-columns:92px 1fr;gap:20px;align-items:center}.mastery-heading>.mastery-symbol{width:92px;height:92px}.mastery-heading h2{font-size:32px;color:var(--rank-light);margin:8px 0 10px}.mastery-heading p{font-size:11px;max-width:270px}.mastery-label{font-size:9px;letter-spacing:.1em;color:var(--muted)}.mastery-score{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:18px;margin-top:2px}.mastery-score span{font-size:11px;color:var(--muted)}.mastery-score strong{font-size:24px;color:var(--rank-light);font-variant-numeric:tabular-nums}.mastery-maximum{display:flex;align-items:center;gap:10px;padding:18px 0;border-bottom:1px solid var(--line);font-size:10px;color:var(--muted)}.mastery-maximum .mastery-symbol{width:32px;height:32px}.mastery-maximum strong{display:block;color:var(--text);font-size:11px}.mastery-maximum small{margin-left:auto;text-align:right;max-width:130px;font-size:9px}.mastery-next{display:flex;justify-content:space-between;align-items:center;margin:18px 0;font-size:11px;color:var(--muted)}.mastery-next strong{color:var(--rank-light);font-size:14px}.mastery-guidance{font-size:12px;line-height:1.8;color:var(--rank-light);padding:12px 14px;border-left:2px solid var(--rank-color);background:var(--rank-aura);border-radius:0 8px 8px 0}.mastery-baseline{font-size:9px;margin-top:14px}.mastery-journey{display:grid;gap:10px;margin:20px 0}.mastery-gap{display:flex;justify-content:space-between;gap:15px;font-size:10px;color:var(--muted)}.mastery-gap strong{color:var(--rank-light);font-size:10px}.mastery-track{height:4px;background:#b5b7f118;border-radius:5px;overflow:hidden;margin:8px 0}.mastery-track>span{display:block;height:100%;background:var(--rank-color)}.mastery-unavailable{font-size:12px;color:var(--muted)}.gallery-item .emblem-facet,.mastery-heading .emblem-facet{animation:facet-light 7s ease-in-out infinite}.gallery-item[data-tier=maestro] .emblem-mark,.mastery-heading .emblem-mark{animation:mark-light 8s ease-in-out infinite}.gallery-item[data-tier=elite] .emblem-wing{animation:mark-light 6s ease-in-out infinite}.gallery-item[data-tier=mitico] .emblem-celestial{animation:facet-light 9s ease-in-out infinite}.gallery-item[data-tier=leyenda] .emblem-celestial{animation:mark-light 10s ease-in-out infinite}.mastery-heading .emblem-orbit{animation:mark-light 11s ease-in-out infinite}.mastery-heading .mastery-symbol{animation:drift 8s ease-in-out infinite}.mastery-badge *{animation:none!important}@keyframes facet-light{0%,100%{opacity:.07}50%{opacity:.24}}@keyframes mark-light{0%,100%{opacity:.65}50%{opacity:1}}
@media(max-width:760px){.profile-mastery{padding:20px;margin-top:20px}.mastery-heading{grid-template-columns:75px 1fr;gap:14px}.mastery-heading>.mastery-symbol{width:75px;height:75px}.mastery-heading h2{font-size:28px}.mastery-heading p{font-size:10px}.mastery-label{font-size:8px}.mastery-score strong{font-size:23px}.mastery-maximum small{font-size:8px}.mastery-guidance{font-size:11px}}
/* Each large emblem has its own quiet material response; badges remain static. */
[data-tier=iniciado] .mastery-heading .emblem-mark,[data-tier=iniciado].gallery-item .emblem-mark{animation:mark-light 9s ease-in-out infinite}
[data-tier=aprendiz] .mastery-heading .emblem-facet,[data-tier=aprendiz].gallery-item .emblem-facet{animation:facet-light 8s ease-in-out infinite}
[data-tier=competidor] .mastery-heading .emblem-wing,[data-tier=competidor].gallery-item .emblem-wing{animation:mark-light 7s ease-in-out infinite alternate}
[data-tier=experimentado] .mastery-heading .emblem-etch,[data-tier=experimentado].gallery-item .emblem-etch{animation:facet-light 11s ease-in-out infinite}
[data-tier=especialista] .mastery-heading .emblem-mark,[data-tier=especialista].gallery-item .emblem-mark{animation:mark-light 6s ease-in-out infinite}
[data-tier=experto] .mastery-heading .emblem-shell,[data-tier=experto].gallery-item .emblem-shell{animation:mark-light 10s ease-in-out infinite}
[data-tier=maestro] .mastery-heading .emblem-facet,[data-tier=maestro].gallery-item .emblem-facet{animation:facet-light 12s ease-in-out infinite}
[data-tier=elite] .mastery-heading .emblem-wing,[data-tier=elite].gallery-item .emblem-wing{animation:mark-light 8s ease-in-out infinite}
[data-tier=mitico] .mastery-heading .emblem-celestial,[data-tier=mitico].gallery-item .emblem-celestial{animation:mark-light 13s ease-in-out infinite}
[data-tier=leyenda] .mastery-heading .emblem-shell,[data-tier=leyenda].gallery-item .emblem-shell{animation:mark-light 14s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
/* Animated materials across the entire mastery family, including compact badges. */
.mastery-badge *{animation:none}
.mastery-badge .mastery-symbol,.mastery-heading .mastery-symbol,.gallery-item .mastery-symbol{animation:emblem-suspend 9s ease-in-out infinite!important;animation-delay:var(--motion-delay,0s)!important}
.mastery-badge .mastery-symbol{--emblem-lift:-1.5px}.mastery-heading .mastery-symbol,.gallery-item .mastery-symbol{--emblem-lift:-6px}
.emblem-shine{animation:emblem-reflection 9s ease-in-out infinite!important;animation-delay:var(--motion-delay,0s)!important;pointer-events:none}
.emblem-heart{transform-box:fill-box;transform-origin:center;animation:emblem-heartbeat 9s ease-in-out infinite!important}
.mastery-symbol .emblem-orbit{stroke-dasharray:12 8;animation:emblem-contour 9s linear infinite!important}
.mastery-symbol .emblem-celestial{transform-origin:120px 120px;animation:emblem-celestial 9s ease-in-out infinite!important}
.mastery-symbol .emblem-wing{animation:emblem-winglight 9s ease-in-out infinite!important}
.gallery-item .mastery-symbol svg,.mastery-heading .mastery-symbol svg{animation:emblem-glow 9s ease-in-out infinite}
@keyframes emblem-suspend{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(var(--emblem-lift,-3px)) rotate(1.5deg)}}
@keyframes emblem-reflection{0%,15%{transform:translateX(0);opacity:0}25%{opacity:.7}65%{transform:translateX(360px);opacity:.7}75%,100%{transform:translateX(360px);opacity:0}}
@keyframes emblem-heartbeat{0%,100%{transform:scale(1);opacity:.65}50%{transform:scale(1.4);opacity:1}}
@keyframes emblem-contour{to{stroke-dashoffset:-80}}
@keyframes emblem-celestial{0%,100%{transform:rotate(-3deg);opacity:.75}50%{transform:rotate(3deg);opacity:1}}
@keyframes emblem-winglight{0%,100%{opacity:.65}50%{opacity:1}}
@keyframes emblem-glow{0%,100%{filter:drop-shadow(0 0 6px var(--rank-aura))}50%{filter:drop-shadow(0 0 14px var(--rank-color))}}
.ambient-paused *,.ambient-paused *:before,.ambient-paused *:after,.ambient-sleep *,.ambient-sleep *:before,.ambient-sleep *:after{animation-play-state:paused!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
@media(prefers-reduced-motion:reduce){:root .mastery-symbol,:root .mastery-symbol *{animation:none!important;transition:none!important}}
.mastery-symbol *{animation-duration:9s!important;animation-delay:var(--motion-delay,0s)!important}
