/* Page-specific compositions reuse the authoritative tier/gender asset map. */
.student-level-shell:not([data-runner="active"]) .visual-hero{border:0;mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 78%,transparent 100%);padding-bottom:42px}
.student-level-shell .visual-hero .visual-character{mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%);-webkit-mask-image:linear-gradient(#000 0%,#000 82%,transparent 100%)}
.student-level-shell .visual-hero-home{min-height:290px}.student-level-shell .visual-hero-home .visual-character{height:96%;width:56%;bottom:4px;right:-5px;object-fit:contain;object-position:bottom}
.student-level-shell .visual-hero-practice,.student-level-shell .visual-hero-challenge{min-height:245px}.student-level-shell :is(.visual-hero-practice,.visual-hero-challenge) .visual-character{width:56%;height:140%;bottom:-100px;object-fit:cover;object-position:top center}
.student-level-shell .visual-hero-settings{min-height:190px;padding-top:18px}.student-level-shell .visual-hero-settings .visual-character{width:50%;height:205%;bottom:-236px;object-fit:cover;object-position:top center}.visual-hero-settings .visual-cheer{display:none}
.student-level-shell .visual-hero-settings .visual-character{width:75%;right:-18px;object-fit:contain;object-position:center top;mask-image:linear-gradient(90deg,transparent 0%,#000 24%) ,linear-gradient(#000 0%,#000 82%,transparent 100%);mask-composite:intersect;-webkit-mask-image:linear-gradient(90deg,transparent 0%,#000 24%),linear-gradient(#000 0%,#000 82%,transparent 100%);-webkit-mask-composite:source-in}
.visual-menu{position:relative;flex-shrink:0}.visual-menu summary{list-style:none;display:grid;place-items:center;width:32px;height:34px;border:1px solid #83bdec;border-radius:11px;background:#edf8ff;color:#135aa0;font-size:20px;cursor:pointer}.visual-menu summary::-webkit-details-marker{display:none}.visual-menu nav{position:absolute;right:0;top:40px;min-width:130px;padding:7px;border:1px solid var(--student-border);border-radius:13px;background:var(--student-surface);box-shadow:0 8px 24px #001c4433;z-index:10}.visual-menu nav a{display:block;padding:10px;font-size:12px;color:var(--student-text);text-decoration:none}
.student-theme-options{border:0;padding:0;display:grid;gap:8px;margin:12px 0}.student-theme-options legend{font-size:12px;font-weight:700;margin-bottom:8px}.student-theme-options label{display:grid;grid-template-columns:20px 1fr;align-items:center;padding:10px;border:1px solid var(--student-border);border-radius:13px;font-size:13px;background:var(--student-surface)}.student-theme-options small{grid-column:2;font-size:10px;margin-top:4px;color:var(--student-text-muted)}.student-theme-options input{accent-color:#087cff}.student-theme-options label:has(input:checked){border-color:#279aff;box-shadow:inset 0 0 0 1px #279aff}
.student-level-shell[data-student-theme="night"]:not([data-runner="active"]){--level-bg-1:#09172b;--level-bg-2:#0d2037;--level-bg-3:#101c30;--student-bg:#09172b;--student-surface:#142b43;--student-primary-soft:#163d65;--student-text:#edf6ff;--student-text-muted:#b0c8e0;--level-surface:#14263de8}
.student-level-shell[data-level="gold"][data-student-theme="night"]{--level-soft:#2d2b29}.student-level-shell[data-level="ruby"][data-student-theme="night"]{--level-bg-2:#21192f;--level-soft:#30213b}
[data-student-theme="night"] .visual-topbar{background:#091a30}[data-student-theme="night"] .visual-identity{background:#142e48;border:1px solid #548bb9}[data-student-theme="night"] .visual-identity .identity-entry{color:#e2efff}[data-student-theme="night"] .visual-identity .identity-entry[aria-current="page"]{background:#0877df;color:#fff;box-shadow:0 0 0 1px #62bbff}[data-student-theme="night"] .visual-menu summary{background:#163953;border-color:#609dc8;color:#f0f8ff}
.student-level-shell[data-student-theme="night"] .student-tabbar{background:#0e233bef;border-color:#52799c;box-shadow:0 -4px 20px #0006}.student-level-shell[data-student-theme="night"] .student-tabbar a{color:#c4d9ef}.student-level-shell[data-student-theme="night"]:not([data-runner="active"]) .student-tabbar a[aria-current="page"]{color:#fff;background:#075eb8;box-shadow:inset 0 0 0 1px #68beff,0 0 12px var(--level-glow)}
.student-level-shell:not([data-runner="active"]) .growth-frame{border-width:2px;box-shadow:inset 0 1px 0 #ffffff45,0 5px 22px var(--level-glow)}
.student-level-shell:not([data-runner="active"]) .visual-hero-copy h1{animation:level-halo 7.2s ease-in-out infinite}.student-level-shell:not([data-runner="active"]) .level-particles i{animation:level-float 7.2s ease-in-out infinite,level-halo 6.3s ease-in-out infinite}
@media(max-width:350px){.visual-topbar{gap:5px}.visual-topbar>a>img{max-width:105px}.student-level-shell .visual-hero-home{min-height:280px}.student-level-shell .visual-hero-settings .visual-character{width:47%;right:-10px}.visual-menu summary{width:28px}}
@media(max-width:350px){.student-level-shell .visual-hero-settings .visual-character{width:75%;right:-12px}}
@media(prefers-reduced-motion:reduce){.student-level-shell *,.student-level-shell *::before,.student-level-shell *::after{animation:none!important;transition:none!important}}
