/* Step To Toppers — launch-safe shared student presentation layer.
   Geometry for buttons/tabs/inputs is owned ONLY by site-ui-standard.css. */
:root{
  --stt-support-font:11px;
}

/* Roboto text without overriding Font Awesome glyph fonts. */
html,body,button,input,select,textarea,optgroup,option{font-family:'Roboto',Arial,sans-serif!important}
.fa,.fas,.fa-solid,.fa-classic{font-family:"Font Awesome 6 Free"!important;font-weight:900!important}
.far,.fa-regular{font-family:"Font Awesome 6 Free"!important;font-weight:400!important}
.fab,.fa-brands{font-family:"Font Awesome 6 Brands"!important;font-weight:400!important}

/* Supporting text is readable and consistent; control text is handled centrally. */
.page-batches main :is(.sub,.meta span,.old,.empty p),
.page-tests main :is(.test-card-subtitle,.test-meta-item,.empty-card p,.auth-gate p),
.page-profile main :is(.profile-meta-row,.answer-review-info p,.stat-label),
.page-edit-profile main :is(.field label,.flash),
.page-result main .stat-label,
.page-exam :is(.q-marks,.chapter-strip span,.sg-lbl){font-size:var(--stt-support-font)!important}

/* Gentle one-time content entrance only. No recurring button shine. */
@keyframes sttContentRise{from{opacity:0;transform:translate3d(0,10px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
body[class*="page-"] .app-container main > *{animation:sttContentRise .32s cubic-bezier(.2,.75,.3,1) both}
body[class*="page-"] .app-container main > *:nth-child(2){animation-delay:.025s}
body[class*="page-"] .app-container main > *:nth-child(3){animation-delay:.05s}
body[class*="page-"] .app-container main > *:nth-child(4){animation-delay:.075s}
body[class*="page-"] .app-container main > *:nth-child(n+5){animation-delay:.10s}

/* White cards may lift slightly on desktop; buttons are handled by the launch stylesheet. */
:is(.page-home .feature,.page-home .class-card,.page-home .feature-card,.page-dashboard .quick a,.page-dashboard .subject,.page-dashboard .next-test){
  transition:transform .14s ease,box-shadow .16s ease,border-color .16s ease!important;
}
@media(hover:hover) and (pointer:fine){
  :is(.page-home .class-card,.page-home .feature-card,.page-dashboard .quick a,.page-dashboard .subject,.page-dashboard .next-test):hover{
    transform:translateY(-1px);box-shadow:0 6px 14px rgba(15,23,42,.09)!important
  }
}

@keyframes sttModalRise{from{opacity:0;transform:translate3d(0,16px,0) scale(.99)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
.auth-overlay.active .auth-shell{animation:sttModalRise .26s cubic-bezier(.2,.78,.3,1) both}

@media(prefers-reduced-motion:reduce){
  body[class*="page-"] .app-container main > *, .auth-overlay.active .auth-shell{animation:none!important}
}
