/* Colors sampled from the filed logo. Keep diagrams and answer-state colors local. */
:root {
  --brand-navy: #021747;
  --brand-yellow: #fcc70c;
  --brand-blue: #059bfe;
  --paper: #f6f8fc;
  --ink: #182c4d;
  --muted: #53647d;
  --line: #dce3ee;
  --green: var(--brand-navy);
  --leaf: #fff2bf;
  --blue: var(--brand-navy);
  --blue-dark: #13366d;
  --navy: var(--brand-navy);
  --lime: var(--brand-yellow);
  --purple: #185d9b;
}
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible, summary:focus-visible {outline:3px solid #1573b8;outline-offset:4px}
.gym-brand {display:block;width:fit-content;max-width:100%;border-radius:10px;background:#fff}
.gym-brand .gym-logo {width:185px;max-width:100%;height:auto;object-fit:contain}
.gym-brand .gym-logo-large {width:330px}
.site-header .brand img,.site-footer .brand img {width:174px;height:auto;object-fit:contain}
.site-header .brand,.site-footer .brand,.modal-brand {background:#fff;border-radius:8px}
.modal-brand {display:block;width:165px;height:auto;margin-bottom:22px}
.modal-brand img {width:100%;height:auto}
header>.logo img {width:168px;height:auto;display:block}
.gym-sidebar-brand>span {margin-left:5px;color:var(--muted)}
.seller-sidebar-brand>span {margin-left:5px;color:var(--muted)}
.seller-login-intro>.gym-brand {margin-bottom:26px}
.seller-login-intro .gym-logo {width:240px}
.gym-student-shell .sidebar,.seller-shell .sidebar {background:#fff}
.nav button.active,.seller-shell .nav button.active {background:#fff2bf;color:var(--brand-navy);box-shadow:inset 3px 0 var(--brand-yellow)}
.gym-student-shell button:hover:not(:disabled):not(.primary) {background:#edf4fc}
button.primary,.seller-shell button.primary,.seller-login>.card>button {background:var(--brand-navy);border-color:var(--brand-navy);color:#fff}
button.primary:hover:not(:disabled) {background:#13366d}
.eyebrow,.gym-form-kicker {color:#486487}
.avatar,.lesson-icon,.card.soft {background:#eaf2fd;color:var(--ink)}
.modes,.lesson-steps>button,.lesson-steps>div {background:#eef3fb}
.lesson-steps>button.active {background:var(--brand-navy);color:#fff}
.study-card .answer,.flash-face.flash-answer {background:#fff6d5}
.study-card .passage,.flash-face {background:#f5f7fc;border-color:var(--line)}
.choice:has(input:checked) {background:#edf4ff}
.bar span {background:#227cb9}
dialog::backdrop {background:#021747aa}
#toast {background:var(--brand-navy)}
.tag:not(.warning):not(.success):not(.gray) {background:#eaf2fd;color:#264d7b}
.gym-student-shell .card,.training-unit {box-shadow:0 4px 18px #02174705}
.training-hero {box-shadow:0 8px 28px #02174706}
.training-next .primary {background:var(--brand-navy)}
.training-next .actions {gap:10px}
.training-subjects [aria-pressed=true] {box-shadow:inset 0 -4px var(--brand-yellow)}
.training-coach {display:grid;grid-template-columns:84px 84px minmax(0,1fr);gap:16px;padding:12px 18px;background:#fffdf6;margin:20px 0 26px}
.training-coach img {display:block;width:84px;height:auto;border-radius:12px}
.training-coach strong {color:var(--brand-navy)}
.training-coach p {color:#5e5131}
.training-result .training-coach {grid-template-columns:74px minmax(0,1fr)}
.training-result .training-coach img {grid-row:1/3;width:74px}
.training-result .training-coach strong {align-self:end}
.training-result .training-coach p {grid-column:2;align-self:start}
.training-result .training-coach {column-gap:16px;row-gap:5px}
.training-result .training-coach strong span {display:inline;margin-left:6px}
.gym-welcome {background:#fffdf5;border-color:#e8dfc0}
.gym-welcome-login .gym-brand {margin:auto}
.gym-mascots::before {display:none}
.gym-welcome-login .gym-mascots {width:210px;max-width:100%}
.gym-mascots figcaption {color:var(--muted);font-size:12px;line-height:1.6;margin-top:10px}
.gym-subjects {color:var(--muted)}
.gym-journey span,.gym-journey span:nth-of-type(2) {background:#fff2bf}
.gym-journey span:nth-of-type(3) {background:#e5f3ff}
.gym-journey b {color:var(--muted)}
.gym-login {gap:36px}
.gym-login-panel form {box-shadow:0 8px 28px #02174708}
.member-welcome,.seller-overview {background:var(--brand-navy)}
.member-welcome .gym-cta,.seller-overview .seller-primary-link {background:var(--brand-yellow);color:var(--brand-navy)}
.seller-shell {--green:var(--brand-navy);--ink:#182c4d;--muted:#53647d}
.seller-login label,.seller-login-intro>p:not(.eyebrow) {color:var(--muted)}
.button-lime {color:var(--brand-navy)}
.button-lime:hover {background:#ffdc59}
/* Keep the original four banner palettes independently of the shared brand theme. */
.hero {--blue:#2451ef;--blue-dark:#193dd2;--navy:#17223e;--lime:#d8fc72;--purple:#7457ed}
.hero .button-lime {color:#163226}
.hero .button-lime:hover {background:#e4ff9c}
.taste-band {background:#eff5ff}
.taste-art {display:flex;position:relative;right:auto;bottom:auto;flex-direction:column;align-items:center;justify-content:center;gap:12px;height:auto;align-self:center}
.taste-art img {position:static;width:230px;height:auto;max-width:85%;margin:auto;border-radius:20px}
.taste-speech {position:static;transform:none;background:#fff;color:var(--brand-navy)}
.button-primary,.button-dark {box-shadow:none}
.site-header {border-bottom:1px solid var(--line)}
.brand-caption {color:var(--muted)}
.auth-tabs [aria-selected=true] {color:var(--brand-navy);border-color:var(--brand-navy)}
@media(max-width:760px) {
  .gym-student-shell .sidebar {padding:10px 16px}
  .gym-sidebar-brand {margin-bottom:8px}
  .gym-sidebar-brand .gym-logo {width:150px}
  .gym-student-shell .nav {gap:4px}
  .gym-student-shell .nav button {padding:7px 8px;font-size:12px;min-height:42px}
  .gym-student-shell .workspace {padding-top:14px}
  .gym-student-shell .topbar {gap:6px;margin-bottom:16px}
  .gym-student-shell .topbar>.row {margin-left:auto;gap:6px}
  .gym-student-shell .topbar>.tag {font-size:11px;padding:3px 6px}
  .gym-student-shell .topbar .avatar {width:28px;height:28px;font-size:12px}
  .gym-student-shell .topbar button {font-size:12px;padding:7px 10px;min-height:40px}
  .training-heading {margin:2px 0 20px}
  .training-heading .eyebrow {font-size:11px;margin-bottom:6px}
  .training-heading h1 {font-size:26px;line-height:1.4;margin:7px 0 10px;letter-spacing:-1px}
  .training-heading p:not(.eyebrow) {font-size:14px;margin-bottom:10px}
  .training-date {grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;margin-top:14px;padding-top:14px;text-align:left}
  .training-date strong {font-size:15px}
  .training-date span {font-size:12px}
  .training-date button {grid-column:2;grid-row:1/3;align-self:center;padding:8px 10px;font-size:12px}
  .training-next,.training-scope {padding:21px}
  .training-next h2 {font-size:23px}
  .training-next p {font-size:14px;margin-bottom:10px}
  .training-next .actions {margin-top:18px}
  .training-next .actions button {min-height:48px;padding:12px 16px}
  .training-coach {grid-template-columns:64px minmax(0,1fr);column-gap:14px;row-gap:5px;padding:14px}
  .training-coach img {grid-row:1/3;width:64px}
  .training-coach strong {align-self:end;font-size:15px}
  .training-coach strong span {display:inline;margin-left:6px}
  .training-coach p {grid-column:2;font-size:13px}
  .gym-login {padding:20px;gap:20px}
  .gym-welcome-login {padding:22px 20px;gap:12px}
  .gym-welcome-login .gym-mascots {display:none}
  .gym-welcome-login .gym-logo {width:230px}
  .gym-welcome-login h1 {font-size:24px}
  .gym-welcome-login .gym-subjects {margin-bottom:10px}
  .gym-login-panel form {padding:22px}
  .gym-login-panel h2 {font-size:23px;margin-bottom:20px}
  .site-header .brand img {width:144px}
  .site-footer .brand img {width:160px}
  header>.logo img {width:135px}
  .taste-inner {display:flex;flex-direction:column;align-items:flex-start;gap:24px;padding-block:32px;min-height:0}
  .taste-art {width:100%}
  .taste-art img {width:180px}
  .taste-speech {font-size:12px}
}
@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
@media print {.gym-brand,.training-coach {display:none}}
