/* Motion is triggered by viewport entry rather than page load. */
.landing-copy,.learning-roadmap,.category-panel,.featured-section,.page-title,.admin-summary,.panel,.card{animation:none!important}
.scroll-reveal{opacity:0;transform:translateY(26px);transition:opacity .65s ease var(--reveal-delay,0ms),transform .65s cubic-bezier(.2,.7,.2,1) var(--reveal-delay,0ms)!important}
.scroll-reveal.reveal-visible{opacity:1;transform:translateY(0)}
.card.scroll-reveal.reveal-visible:hover{transform:translateY(-5px);transition-delay:0ms!important}
.theme-toggle{white-space:nowrap;min-height:40px;gap:7px;padding:8px 12px;flex-shrink:0}.theme-toggle>span:first-child{font-size:1.2rem;line-height:1}.theme-label{font-size:.8rem}
html[data-theme=light]{color-scheme:light}html[data-theme=dark]{color-scheme:dark}
/* Preserve the same page geometry when switching palettes. */
html[data-theme=light] .landing-hero{grid-template-columns:1fr;text-align:center;max-width:1000px;margin:auto;padding:65px 0 45px;gap:40px}
html[data-theme=light] .landing-copy>p{margin:0 auto 30px;max-width:650px}
html[data-theme=light] .landing-actions,html[data-theme=light] .landing-footnote{justify-content:center}
html[data-theme=light] .learning-roadmap{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;text-align:left;width:100%;background:#ffffffbd;backdrop-filter:blur(18px)}
html[data-theme=light] .learning-roadmap>.eyebrow,html[data-theme=light] .learning-roadmap>h2,html[data-theme=light] .roadmap-footer{grid-column:1/-1}
html[data-theme=light] .roadmap-row{border:1px solid #eee5de;padding:18px;border-radius:12px;flex-wrap:wrap}
html[data-theme=light] .roadmap-row>.icon{display:none}
html[data-theme=light] .learning-roadmap>h2 br{display:none}
@media(max-width:760px){.theme-toggle{padding:8px!important}.theme-label{display:none}.topbar .account{gap:8px}.public-shell .topbar{gap:8px}html[data-theme=light] .landing-hero{padding:38px 0 26px;gap:28px}html[data-theme=light] .learning-roadmap{grid-template-columns:1fr;gap:13px}}
@media(prefers-reduced-motion:reduce){.scroll-reveal{opacity:1!important;transform:none!important;transition:none!important}*,*:before,*:after{animation:none!important}}
