.qv-section-hdr:hover,.qv-sub-item:hover{background:var(--cal-raise)!important}@media (max-width:767px){.qv-section-hdr,.qv-sub-item{min-height:44px}}@media (max-width:639px){.quarter-view-grid{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px;scroll-snap-type:x mandatory!important;gap:12px!important;display:flex!important;overflow-x:auto!important}.quarter-view-grid::-webkit-scrollbar{display:none}.quarter-view-grid>div{scroll-snap-align:center;flex:0 0 85%!important}}
@keyframes sectionPopupFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sectionPopupSlideUp{0%{opacity:0;transform:translateY(24px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}.section-popup-close:hover{color:var(--cal-text-strong)!important}@keyframes sectionPopupSpin{to{transform:rotate(360deg)}}.section-popup-spinner{border:2px solid #ffffff1a;border-top-color:#ffffff80;border-radius:50%;width:18px;height:18px;animation:.8s linear infinite sectionPopupSpin}
.hy-section-hdr:hover,.hy-sub-item:hover{background:var(--cal-raise)!important}@media (max-width:767px){.hy-section-hdr,.hy-sub-item{min-height:44px}.half-year-cards{-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:8px;scroll-snap-type:x mandatory!important;gap:12px!important;overflow-x:auto!important}.half-year-cards::-webkit-scrollbar{display:none}.half-year-cards>div{scroll-snap-align:center;flex:0 0 88%!important}}
.yr-tile-side:hover{border-color:var(--cal-border-strong)!important;background:linear-gradient(180deg, var(--cal-surface-2) 0%, var(--cal-surface-1) 100%)!important}.yr-section-hdr:hover,.yr-sub-item:hover{background:var(--cal-raise)!important}@media (max-width:767px){.yr-section-hdr,.yr-sub-item{min-height:44px}}@media (max-width:1023px){.year-view-tiles{grid-template-columns:1fr!important;overflow-y:auto!important}}
@keyframes quizShimmer{0%{opacity:.35}50%{opacity:.7}to{opacity:.35}}.quiz-popup-shell{transition:height .4s cubic-bezier(.4,0,.2,1)}.quiz-popup-orb{pointer-events:none;border-radius:50%;animation:18s ease-in-out infinite quizOrbFloat;position:absolute}@keyframes quizOrbFloat{0%,to{transform:translate(0)scale(1)}25%{transform:translate(-20px,14px)scale(1.08)}50%{transform:translate(14px,-20px)scale(.95)}75%{transform:translate(-10px,-8px)scale(1.04)}}.quiz-popup-sparkle{pointer-events:none;-webkit-user-select:none;user-select:none;line-height:1;animation:4s ease-in-out infinite quizSparklePulse;position:absolute}@keyframes quizSparklePulse{0%,to{opacity:inherit;transform:scale(1)}50%{opacity:.12;transform:scale(1.3)rotate(45deg)}}
@keyframes miniShimmer{0%{opacity:.35}50%{opacity:.7}to{opacity:.35}}
.spin-loader{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
