/* v58.59 | Galaxy atlas and Level HUD. Light/dark tokens local to the mastery surface. */
.mastery-shell{--mg-bg:rgba(255,255,255,.93);--mg-bg-soft:#eaf8f2;--mg-border:#c7e4d7;--mg-text:#153e33;--mg-muted:#527669;--mg-glow:#21b789;--mg-gold:#dfa83a}
html[data-theme="dark"] .mastery-shell,[data-theme="dark"] .mastery-shell{--mg-bg:#172e2c;--mg-bg-soft:#1e3c39;--mg-border:#38645a;--mg-text:#eefcf4;--mg-muted:#b3d5c7;--mg-glow:#4bddab;--mg-gold:#f6ce71}
.mastery-level-card{display:flex;gap:16px;align-items:center;margin:17px 0 20px;padding:16px 19px;background:linear-gradient(120deg,var(--mg-bg),var(--mg-bg-soft));border:1px solid var(--mg-border);border-radius:21px;color:var(--mg-text);box-shadow:0 10px 30px #0b5c4122}
.mastery-level-shield{width:75px;height:83px;flex:none;clip-path:polygon(11% 0,89% 0,100% 26%,87% 79%,50% 100%,13% 79%,0 26%);display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(155deg,#135f59,#16ad82 58%,#fad47a);color:white;box-shadow:inset 0 0 0 5px #ffffff30;text-shadow:0 2px 5px #002c2b88}
.mastery-level-shield span{font-size:10px;letter-spacing:2px;font-weight:900;direction:ltr}.mastery-level-shield strong{font-size:1.95rem;line-height:1.2;font-variant-numeric:tabular-nums}
.mastery-level-summary{flex:1;min-width:0}.mastery-level-title{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px;font-size:1.05rem}.mastery-level-title>span{font-size:.78rem;font-weight:800;color:var(--mg-muted);direction:ltr}.mastery-level-progress-label{display:flex;justify-content:space-between;gap:12px;font-size:.75rem;margin-top:9px;margin-bottom:5px;font-weight:800;color:var(--mg-text)}.mastery-level-card progress{display:block;width:100%;height:11px;accent-color:#16b78b;border:0;border-radius:999px;overflow:hidden}.mastery-level-card progress::-webkit-progress-bar{background:var(--mg-border);border-radius:999px}.mastery-level-card progress::-webkit-progress-value{background:linear-gradient(90deg,#10ac81,#f4c15a);border-radius:999px}.mastery-level-card small{display:block;margin-top:7px;line-height:1.7;font-size:.71rem;color:var(--mg-muted)}
.mastery-galaxy-selector{border-radius:28px;padding:19px 21px 22px;background:radial-gradient(ellipse at 87% 0,#d9f8ee44,transparent 44%),linear-gradient(140deg,var(--mg-bg),var(--mg-bg-soft));border:1px solid var(--mg-border);margin:24px 0 14px;box-shadow:0 12px 32px #094b4221;scroll-margin-top:14px;color:var(--mg-text)}
.mastery-galaxy-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.mastery-galaxy-header span:first-child,.mastery-galaxy-worlds-head span{font-size:.68rem;color:var(--mg-muted);font-weight:900}.mastery-galaxy-header h2{font-size:1.38rem;margin:3px 0 4px;color:var(--mg-text)}.mastery-galaxy-header p,.mastery-galaxy-worlds-head p{font-size:.78rem;margin:0;line-height:1.8;color:var(--mg-muted)}.mastery-galaxy-spark{font-size:2.4rem;color:var(--mg-gold);text-shadow:0 0 18px #e9bd74aa}
.mastery-galaxy-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:11px;margin-top:16px;max-height:290px;overflow-y:auto;scrollbar-width:thin;padding:2px}
.mastery-galaxy-tile{display:flex;align-items:center;gap:13px;padding:12px 13px;min-width:0;min-height:98px;border-radius:18px;background:var(--mg-bg);border:1px solid var(--mg-border);color:var(--mg-text)!important;text-decoration:none;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease}
.mastery-galaxy-tile:hover,.mastery-galaxy-tile:focus-visible{transform:translateY(-3px);border-color:var(--mg-glow);box-shadow:0 9px 24px #11936a33}
.mastery-galaxy-tile.is-selected{border:2px solid var(--mg-glow);background:linear-gradient(110deg,var(--mg-bg-soft),var(--mg-bg));box-shadow:0 0 0 3px #32c99520}
.mastery-galaxy-tile.is-locked{opacity:.72}.mastery-galaxy-tile.is-conquered .mastery-galaxy-orbit{border-color:#f0be66}
.mastery-galaxy-orbit{position:relative;width:62px;height:62px;display:grid;place-items:center;flex:none;border-radius:50%;border:2px solid #38b68d;background:radial-gradient(circle at 25% 20%,#76f0b8,#147b75 65%,#144453);box-shadow:0 6px 16px #053d4055;color:#fff;font-size:24px}
.mastery-galaxy-orbit i{position:absolute;inset:-7px;border:1px solid #64bba3;border-radius:50%;transform:rotate(-28deg) scaleY(.55)}.mastery-galaxy-orbit:after{content:'✧';position:absolute;top:-7px;left:0;font-size:15px;color:#f4d48c}
.mastery-galaxy-text{display:grid;gap:6px;flex:1;min-width:0}.mastery-galaxy-text strong{font-size:.9rem;color:var(--mg-text)}.mastery-galaxy-text small{font-size:.72rem;color:var(--mg-muted);line-height:1.5}.mastery-galaxy-arrow{font-size:1.05rem;color:var(--mg-glow)}
.mastery-galaxy-worlds{border-radius:22px;padding:16px 17px;background:var(--mg-bg);border:1px solid var(--mg-border);color:var(--mg-text)}.mastery-galaxy-worlds-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.mastery-galaxy-worlds-head h3{font-size:1.08rem;color:var(--mg-text);margin:5px 0}.mastery-galaxy-worlds-head>strong{font-variant-numeric:tabular-nums;white-space:nowrap;padding:6px 10px;border-radius:10px;background:var(--mg-bg-soft);color:var(--mg-text)}.mastery-galaxy-worlds .mastery-world-navigation{margin:14px 0 0;display:flex;flex-wrap:nowrap;overflow-x:auto;gap:9px;scrollbar-width:thin;padding:3px 2px 8px}.mastery-galaxy-worlds .mastery-world-chip{flex:none;max-width:min(78vw,250px)}.mastery-galaxy-locked-note{color:var(--mg-muted);font-size:.78rem;padding:9px 12px;border-radius:10px;background:var(--mg-bg-soft)}
.mastery-galaxy-worlds+.mastery-world{margin-top:15px}.mastery-galaxy-tile[data-galaxy-theme="aurora"] .mastery-galaxy-orbit{background:radial-gradient(circle at 20% 10%,#b9b3ff,#645fa9 65%,#2a315a);border-color:#b7a4ff}.mastery-galaxy-tile[data-galaxy-theme="nebula"] .mastery-galaxy-orbit{background:radial-gradient(circle at 20% 10%,#ffd0a5,#b86f9a 65%,#5a3877);border-color:#eebdd7}
@media(max-width:760px){.mastery-level-card{gap:12px;padding:12px 13px}.mastery-level-shield{width:61px;height:71px}.mastery-level-shield strong{font-size:1.55rem}.mastery-level-title{font-size:.93rem}.mastery-galaxy-selector{padding:15px 12px 18px;border-radius:21px}.mastery-galaxy-header h2{font-size:1.08rem}.mastery-galaxy-grid{grid-template-columns:repeat(auto-fill,minmax(min(65vw,225px),1fr));max-height:260px;gap:9px}.mastery-galaxy-tile{min-height:82px;padding:9px}.mastery-galaxy-orbit{width:49px;height:49px;font-size:19px}.mastery-galaxy-worlds{padding:11px}.mastery-galaxy-worlds-head h3{font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.mastery-galaxy-tile{transition:none}.mastery-galaxy-tile:hover{transform:none}}

/* Different visual language for major galaxy and Level milestones. */
.mastery-reward-galaxy{--km-reward:#ddaa54!important;background:radial-gradient(circle at 50% -20%,#ffecc3,transparent 60%),linear-gradient(145deg,#fff8e7,#edf3ff)!important}
.mastery-reward-level{--km-reward:#42aa93!important;background:radial-gradient(circle at 50% -20%,#d9fff0,transparent 60%),linear-gradient(145deg,#f0fff7,#eef8ff)!important}
html[data-theme="dark"] .mastery-reward-galaxy,html[data-theme="dark"] .mastery-reward-level{background:radial-gradient(circle at 50% -20%,#365e56,transparent 60%),linear-gradient(145deg,#1a3440,#1e2a38)!important}

/* v58.60: fragment navigation. Preserve page position while another galaxy/world
   loads, and animate only the lightweight atlas elements. */
.mastery-shell [data-mastery-map]{position:relative;min-height:140px;transition:opacity .18s ease,filter .18s ease}
.mastery-shell [data-mastery-map].is-loading{opacity:.65;filter:saturate(.72);pointer-events:none}
.mastery-shell [data-mastery-map].is-loading::after{content:'';position:absolute;left:16px;top:16px;width:25px;height:25px;border:3px solid var(--mg-border);border-top-color:var(--mg-glow);border-radius:50%;animation:mastery-atlas-loading .85s linear infinite;z-index:6}
.mastery-shell [data-mastery-map]:not(.is-loading){animation:mastery-atlas-arrive .28s ease-out}
.mastery-ajax-notice{position:sticky;z-index:10;top:12px;margin:9px 0;padding:10px 14px;border:1px solid var(--mg-border);border-radius:13px;background:var(--mg-bg);color:var(--mg-text);box-shadow:0 5px 16px #0000001a;font-size:.8rem;font-weight:800}
@keyframes mastery-atlas-loading{to{transform:rotate(360deg)}}
@keyframes mastery-atlas-arrive{from{opacity:.72;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.mastery-shell [data-mastery-map],.mastery-shell [data-mastery-map].is-loading::after{transition:none;animation:none!important}}
