:root{font:17px/1.65 system-ui,sans-serif;color:#172a3b;background:#f3f6f9;--blue:#1754b5;--line:#d6e0e8}*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}header,main,footer{max-width:1040px;margin:auto;padding:24px}header,.row,nav,.tabs{display:flex;align-items:center;gap:14px;flex-wrap:wrap}header{justify-content:space-between}.brand{font-weight:800;font-size:24px;color:#173e5e;text-decoration:none}h1{font-size:clamp(28px,5vw,40px);line-height:1.2;margin:22px 0}h2{font-size:23px}section{padding:24px;border:1px solid var(--line);border-radius:16px;background:white;margin:20px 0;box-shadow:0 4px 16px #173e5e06}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label{display:block}select,textarea{font:inherit;max-width:100%;width:100%;padding:12px;border:1px solid #8698a7;border-radius:8px;background:#fff;color:inherit}textarea{min-height:180px}.button,button{font:inherit;line-height:1.35;min-height:44px;padding:11px 18px;border:1px solid #b8c7d5;border-radius:9px;background:#edf3fa;color:#173e5e;cursor:pointer;text-decoration:none}button.primary,.button{background:var(--blue);color:white;border-color:var(--blue)}button:disabled{opacity:.55;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #e69b22;outline-offset:3px}.tabs{padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs [aria-pressed=true]{background:var(--blue);color:white}.badge{display:inline-block;background:#fff0cf;border:1px solid #e6ce98;border-radius:6px;padding:5px 12px;font-size:14px}.muted{font-size:14px;color:#526579;overflow-wrap:anywhere}.session{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.session p{margin:3px 0}.option{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;padding:13px;margin:10px 0}.option:has(input:checked){border-color:var(--blue);background:#eff5ff}.option input{margin-top:8px;accent-color:var(--blue)}fieldset{border:0;padding:0;margin:15px 0}.feedback{padding:18px;background:#f0f7f5;border-inline-start:4px solid #28775f;margin:18px 0;white-space:pre-wrap}.bad{border-color:#b43d35;background:#fff4f1}#notice:not(:empty){padding:14px;background:#fff2d9;border-radius:8px}#save-state{font-size:15px}#timer{font-variant-numeric:tabular-nums;font-weight:700}#coverage{display:flex;gap:16px;flex-wrap:wrap}#coverage label{min-width:140px}.skip{position:absolute;top:-100px;inset-inline-start:16px;background:#173e5e;color:#fff;padding:10px 14px;z-index:10}.skip:focus{top:8px}footer{color:#526579;font-size:14px}.row h2{margin-inline-end:auto}#question p{white-space:pre-wrap}.sources a{overflow-wrap:anywhere}@media(max-width:640px){header,main,footer{padding:16px}.grid{grid-template-columns:1fr}section{padding:18px}.session{align-items:flex-start}.row button{flex-grow:1}.tabs button{flex:1 1 40%}}@media print{body{display:none}}

[aria-busy="true"] button,[aria-busy="true"] select,[aria-busy="true"] input,[aria-busy="true"] textarea{pointer-events:none;opacity:.65}
[aria-busy="true"] #pause{pointer-events:auto}

.readiness-summary{padding:28px;background:#edf4ed;border:1px solid #ccddcf;border-radius:18px;margin:22px 0}.readiness-score{font-size:3.4rem;letter-spacing:-.06em;font-weight:650;color:#0b5d53}.readiness-summary meter{width:100%;height:18px;margin:12px 0}.readiness-next{font-weight:650;margin-top:20px}.readiness-note{font-size:.82rem;color:#52645d}.readiness-domains{list-style:none;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.readiness-domains li{padding:18px;background:#fff;border-radius:12px;display:flex;flex-direction:column;gap:7px;overflow-wrap:anywhere}.readiness-domains small,.readiness-domains li p{font-size:.8rem;color:#52645d}@media(max-width:650px){.readiness-domains{grid-template-columns:1fr}.readiness-summary{padding:20px}}

.offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:14px;margin:16px 0}.offer{display:flex;flex-direction:column;gap:6px;margin:0;padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;box-shadow:none}.offer h3{margin:0;font-size:19px}.offer .price{font-size:24px;font-weight:750;color:#173e5e}.offer .detail{margin:0;color:#4a5f70;font-size:15px;overflow-wrap:anywhere}.offer button{margin-top:auto}.terms{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:12px 0}.terms input{width:22px;height:22px;flex:none}.fine{font-size:14px;color:#4a5f70}

.tabs [data-pane="plans"]{font-weight:700;border-color:var(--blue)}

#free-cta{margin:0 0 16px;padding:16px 18px;border-radius:14px;background:#eaf7f1;border:1px solid #b9e3d2}#free-cta button{min-height:44px;padding:0 22px;border-radius:999px;font-weight:800;background:var(--blue);color:#fff;border-color:var(--blue)}#free-cta .subscribe-promo{margin:10px 0 0;line-height:1.6}

.bank-summary{margin:14px 0;padding:18px 20px;border-radius:16px;background:linear-gradient(135deg,#0f3b44,#145a63);color:#fff}
.bank-summary .bs-kicker{margin:0;font-weight:800;letter-spacing:.02em;color:#a6f5dc}
.bank-summary .bs-total{margin:6px 0 12px;font-size:1.25rem}
.bank-summary #bs-count{font-size:2.6rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.bank-summary .bs-types{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.bank-summary .bs-types li{display:flex;align-items:baseline;gap:8px;padding:8px 14px;border-radius:999px;background:rgba(255,255,255,.12)}
.bank-summary .bs-types b{font-size:1.15rem;font-variant-numeric:tabular-nums}
.bank-summary.bs-celebrate{box-shadow:0 0 0 3px #a6f5dc;animation:bs-pop .6s ease-out}
.bank-summary.bs-celebrate .bs-types li{animation:bs-rise .5s ease-out both}
.bank-summary.bs-celebrate .bs-types li:nth-child(2){animation-delay:.12s}.bank-summary.bs-celebrate .bs-types li:nth-child(3){animation-delay:.24s}.bank-summary.bs-celebrate .bs-types li:nth-child(4){animation-delay:.36s}
@keyframes bs-pop{from{transform:scale(.97);opacity:.4}to{transform:none;opacity:1}}
@keyframes bs-rise{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.bank-summary.bs-celebrate,.bank-summary.bs-celebrate .bs-types li{animation:none}}
label.terms a{display:inline-block;padding:10px 4px;margin-block:-10px;text-decoration:underline}

#sub-countdown{color:#33505d;margin:0 0 12px}#sub-countdown .sub-renew{color:#0f4d63}
#sub-countdown .sub-bar{background:#dbe7e5}#sub-countdown .sub-bar::-webkit-progress-bar{background:#dbe7e5}
#sub-countdown.sub-soon{color:#8a4b00}#sub-countdown.sub-last_day,#sub-countdown.sub-expired{color:#9b1c1c}

#practice-actions{margin-bottom:12px}
.result-card{display:grid;gap:8px;text-align:center;padding:18px 8px}
.result-score{font-size:3.4rem;font-weight:900;line-height:1;margin:6px 0;color:#0f4d63}
.result-done{font-size:1.4rem;font-weight:800;color:#0f4d63}
.result-bar{width:100%;max-width:320px;height:10px;margin:0 auto;border:0;border-radius:99px;overflow:hidden;appearance:none;-webkit-appearance:none;background:#dbe7e5}
.result-bar::-webkit-progress-bar{background:#dbe7e5;border-radius:99px}.result-bar::-webkit-progress-value{background:#1f9d8f;border-radius:99px}.result-bar::-moz-progress-bar{background:#1f9d8f;border-radius:99px}
.sub-countdown{font-size:.85rem;line-height:1.4;display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px}
.sub-countdown[hidden]{display:none}
.sub-countdown .sub-renew{font-weight:800;text-decoration:underline}
.sub-bar{flex:0 0 100%;max-width:240px;height:6px;border:0;border-radius:99px;overflow:hidden;appearance:none;-webkit-appearance:none;background:#dbe7e5}
.sub-bar::-webkit-progress-bar{background:#dbe7e5;border-radius:99px}.sub-bar::-webkit-progress-value{background:#1f9d8f;border-radius:99px}.sub-bar::-moz-progress-bar{background:#1f9d8f;border-radius:99px}
#sub-countdown.sub-soon .sub-bar::-webkit-progress-value{background:#e08a1e}#sub-countdown.sub-last_day .sub-bar::-webkit-progress-value{background:#d64545}

.start-title{margin:0 0 4px;font-weight:800;color:#0f4d63}.start-steps{margin:0 0 14px;padding-inline-start:24px;font-weight:600;line-height:1.7}
.offer-group{margin:18px 0 6px;font-size:1.05rem;color:#0f4d63}.manage-cancel{margin:22px 0;padding:14px 16px;border:1px solid #d6e0e8;border-radius:12px;background:#fff}.manage-cancel h3{margin:0 0 8px}#refund-request{margin:8px 0}

/* pressing must visibly do something */
.navlink{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;color:#0f4d63;font-weight:700;text-decoration:none;background:#fff}
.start-line{margin:0 0 12px}#quick-actions{margin:0 0 14px}
#exam-specific{margin:10px 0}#exam-specific summary{cursor:pointer;font-weight:700;padding:10px 0}

.tabs button[data-pressed]{animation:tabflash .6s ease-out}
@keyframes tabflash{0%{box-shadow:0 0 0 0 rgba(23,84,181,.55)}100%{box-shadow:0 0 0 14px rgba(23,84,181,0)}}
#workspace button[data-state=opening]{background:#17803d!important;border-color:#17803d!important;color:#fff!important;opacity:1!important}

.pane-nav{display:flex;gap:10px;justify-content:space-between;margin:10px 0}.pane-nav button{min-height:44px;padding:0 16px;border:1px solid var(--line);border-radius:10px;background:#fff;color:var(--blue);font:inherit;cursor:pointer}.pane-nav button:disabled{opacity:.45;cursor:default}

section[data-empty="1"]{padding-block:8px}section[data-empty="1"] h2{margin:0 0 4px;font-size:1.05rem}section[data-empty="1"] #sessions p{margin:0;font-size:.95rem}


/* Saved position is navigation, not a mastery or readiness score. */
.session-info{min-width:0;flex:1}.session-info strong{display:block;overflow-wrap:anywhere}
.session-state{display:inline-block;font-size:.78rem;font-weight:700;color:#175b52;background:#e9f5f1;border-radius:999px;padding:2px 10px;margin-bottom:5px}
.session-progress{display:block;width:100%;max-width:280px;height:6px;margin-top:10px;border:0;border-radius:99px;overflow:hidden;appearance:none;background:#dbe7e5}
.session-progress::-webkit-progress-bar{background:#dbe7e5}.session-progress::-webkit-progress-value{background:#287e72}.session-progress::-moz-progress-bar{background:#287e72}
.result-context{max-width:540px;margin:6px auto;color:#526579;font-size:.95rem;line-height:1.65}
@media(max-width:420px){.session{flex-wrap:wrap}.session-info{flex-basis:100%}.session>button{width:100%}}
@media(prefers-reduced-motion:reduce){.tabs button[data-pressed]{animation:none}button:active{transform:none}}

/* Keep study navigation compact on phones without hiding actions or changing tab order. */
@media (max-width:640px){
  header{gap:10px;padding-block:12px}
  header>nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}
  header>nav>.navlink,header>nav>button{
    min-width:0;min-height:44px;padding:8px 4px;font-size:14px;line-height:1.35;justify-content:center;text-align:center;overflow-wrap:anywhere
  }
  header>nav>.install-app.install-inline{min-height:44px;margin-inline-start:0;padding:8px;font-size:14px;line-height:1.35}
  main{padding-top:8px}
  main>h1{margin-block:12px}
  #account{font-size:14px;color:#526579;overflow-wrap:anywhere;margin-block:8px}
  #workspace>section{margin-block:16px}
  #workspace>section>h2{margin-block:0 16px}
}
