*{box-sizing:border-box}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#102957;background:#fff}a{text-decoration:none;color:inherit;cursor:pointer}button,input,select{font:inherit}header{height:68px;border-bottom:1px solid #e4ebf5;display:flex;align-items:center;padding:0 4%;gap:28px;position:sticky;top:0;background:#fff;z-index:10}.brand{display:flex;align-items:center;min-width:250px;height:58px}.brand img{display:block;width:235px;height:auto;max-height:54px;object-fit:contain;object-position:left center}.shield{display:grid;place-items:center;width:38px;height:42px;background:#082d6b;color:#fff;clip-path:polygon(50% 0,95% 15%,88% 75%,50% 100%,12% 75%,5% 15%)}.brand span:last-child{display:grid;line-height:1}.brand b{font-size:24px}.brand small{background:#0b3978;color:#fff;padding:2px 5px;border-radius:4px;margin-left:4px}.brand em{font-style:normal;color:#e51d30;font-size:11px;font-weight:900;letter-spacing:2.3px;margin-top:4px}nav{display:flex;gap:25px;flex:1;font-size:14px;font-weight:700}.actions{display:flex;gap:10px;align-items:center}.red,.blue,.outline{display:inline-flex;justify-content:center;align-items:center;padding:11px 18px;border-radius:7px;font-weight:800;border:1px solid #0a55c6}.red{background:#e51c30;color:#fff;border-color:#e51c30}.blue{background:#0a55c6;color:#fff}.outline{background:#fff;color:#0a438f}.wide{width:100%;margin-top:10px}.hero{padding:65px 7%;min-height:440px;background:linear-gradient(115deg,#edf5ff,#fff 55%,#f2f7ff);display:flex;justify-content:space-between;align-items:center;gap:40px}.hero>div:first-child{max-width:760px}.eyebrow{display:inline-block;background:#e5f0ff;color:#0a55c6;border-radius:20px;padding:6px 11px;font-size:11px;font-weight:900;letter-spacing:.5px}.hero h1{font-size:53px;line-height:1.04;letter-spacing:-2px;margin:18px 0;color:#0b2d68}.hero h1 span{color:#0a55c6}.hero p{font-size:18px;line-height:1.55;color:#5b6b83;max-width:660px}.search{display:flex;background:#fff;border:1px solid #cbd8e9;border-radius:10px;padding:5px;max-width:700px;box-shadow:0 10px 30px #163d7412;margin:25px 0}.search input{flex:1;border:0;outline:0;padding:13px}.search button{border:0;background:#0a55c6;color:#fff;border-radius:7px;padding:0 24px;font-weight:900}.trust{font-size:13px;color:#345582}.hero-card{width:330px;background:#fff;border:1px solid #d9e4f2;border-radius:14px;padding:24px;box-shadow:0 16px 40px #173d7518}.hero-card li{color:#61718a;margin:9px 0}section{padding:52px 6%}section>h2{margin-top:0;font-size:28px}.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.categories a{border:1px solid #dfe7f1;border-radius:10px;padding:20px;display:grid;gap:7px;min-height:135px;box-shadow:0 5px 18px #173d7107}.categories a:first-letter{font-size:25px}.categories b{font-size:15px}.categories small{color:#6c7890}.light{background:#f8fbff}.columns,.two,.resultcols{display:grid;grid-template-columns:1.2fr .8fr;gap:30px}.list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.list a{display:grid;grid-template-columns:35px 1fr 20px;padding:14px;border:1px solid #dfe7f1;background:#fff;border-radius:8px}.list small{color:#738198}.list span{font-size:24px;grid-row:span 2}.columns select{width:100%;padding:13px;border:1px solid #cdd8e8;border-radius:8px}.map{height:180px;background:linear-gradient(145deg,#dbeaff,#9bc3f8);border-radius:10px;margin-top:15px;display:grid;place-items:center;color:#0a55c6;font-weight:900;letter-spacing:3px}.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:15px;text-align:center}.steps b{display:grid;place-items:center;width:36px;height:36px;background:#0a55c6;color:#fff;border-radius:50%;margin:auto}.steps p{color:#69778d;font-size:13px}.steps h3{font-size:15px}.examhero{padding:40px 5%;display:grid;grid-template-columns:1fr 360px;gap:35px;background:linear-gradient(100deg,#eef5ff,#fff)}.examhero h1{font-size:50px;margin:14px 0}.examhero p{font-size:17px;color:#5c6b82;max-width:720px}.start{background:#062d6d;color:#fff;border-radius:12px;padding:24px}.start p{color:#d6e3f7}.two{padding:28px 5%;background:#f8fbff}.two article,.card{background:#fff;border:1px solid #dfe7f1;border-radius:10px;padding:22px;margin-bottom:18px}.facts{display:grid;grid-template-columns:repeat(4,1fr)}.facts span{padding:10px;border-right:1px solid #e5ebf2}.facts b{display:block;color:#6b7890;font-size:11px;margin-bottom:5px}.subjects{display:grid;grid-template-columns:1fr 1fr;gap:16px}.subjects span{border-bottom:5px solid #dce8f8;padding-bottom:8px}.subjects b{float:right}.modes{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.modes a{border:1px solid #dce5f0;border-radius:8px;padding:15px;display:grid;gap:8px}.modes .featured{border-color:#0a55c6;box-shadow:0 0 0 2px #0a55c614}.testgrid{display:grid;grid-template-columns:230px 1fr 300px;gap:18px;padding:25px 3%}.side{display:flex;flex-direction:column;gap:7px}.side a,.side button{border:1px solid #e0e7f1;background:#fff;padding:12px;text-align:left}.upgrade{background:#f2f6fc;border-radius:9px;padding:17px;margin-top:10px}.question{background:#fff;border:1px solid #dfe7f1;border-radius:10px;padding:24px}.qtop{display:flex;justify-content:space-between}.progress{height:7px;background:#e4edf9;margin:15px 0 30px;border-radius:8px}.progress i{display:block;width:24%;height:100%;background:#0a55c6;border-radius:8px}.question h1{font-size:22px;line-height:1.45}.question label{display:block;border:1px solid #dce5f0;padding:16px;border-radius:8px;margin:9px 0}.question label.selected{border-color:#0a55c6;background:#eef5ff}.qactions{display:flex;justify-content:space-between;margin-top:20px}.explain{background:#f1fbf5;border:1px solid #cce9d6;border-radius:8px;padding:16px;margin-top:20px}.review{border:1px solid #dfe7f1;border-radius:10px;padding:20px;height:max-content}.review strong{display:block;font-size:29px;margin:8px 0}.numbers{line-height:2.4;word-spacing:9px;color:#0a55c6}.circle{width:110px;height:110px;border:14px solid #dce8f8;border-radius:50%;display:grid;place-items:center;margin:auto;color:#0a55c6;font-weight:900}.pagehead{padding:35px 5%;display:flex;justify-content:space-between;align-items:center}.score{margin:0 5% 20px;display:grid;grid-template-columns:2fr repeat(4,1fr);gap:15px;align-items:center}.score strong{display:block;font-size:24px;margin-top:7px}.bigscore{font-size:54px!important;color:#1c8c4b}.green{color:#1c8c4b}.redtxt{color:#d52331}.bar{height:7px;background:#e5edf8;border-radius:7px}.bar i{display:block;height:100%;background:#0a55c6;border-radius:7px}.focus{display:flex;justify-content:space-between;padding:15px;border-bottom:1px solid #e7edf4}.note{font-size:12px;color:#748198;padding:0 5% 30px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;padding:0 3%}.kpis strong{display:block;font-size:28px;margin-top:10px}.dashboard section{padding:0 3%}.examrow{display:flex;justify-content:space-between;padding:17px 0;border-bottom:1px solid #e7edf4}.chart{font-size:60px;color:#0a55c6;letter-spacing:4px;text-align:center}.weak{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.weak a{border:1px solid #dfe7f1;border-radius:8px;padding:15px;display:grid;gap:10px}.weak span{color:#c78300;font-weight:900}.weak button{border:1px solid #0a55c6;color:#0a55c6;background:#fff;border-radius:6px;padding:8px}.directory{padding:0 5%;display:grid;grid-template-columns:1fr 1fr;gap:10px}.directory a{display:flex;justify-content:space-between;padding:19px;border:1px solid #dfe7f1;border-radius:8px}.directory span{color:#6f7c91}.big{max-width:800px;margin:0 5% 25px}footer{background:#062d6d;color:#fff;padding:45px 6%;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:35px}footer strong{display:block;color:#ef2336;letter-spacing:2px}footer a,footer p{display:block;color:#cbd8ec;font-size:13px;margin:9px 0}.crumb{padding:25px 5%;color:#66758c;font-size:13px}@media(max-width:900px){nav{display:none}.hero,.examhero,.columns,.two,.resultcols,.testgrid{grid-template-columns:1fr}.hero{padding:45px 5%}.hero-card{width:100%}.cards,.steps,.facts,.modes,.kpis,.weak,.directory,.list,.subjects{grid-template-columns:1fr 1fr}.testgrid{padding:15px}.side{display:none}.score{grid-template-columns:1fr 1fr}.site-header{padding:0 15px}.brand{min-width:0;width:210px}.brand img{width:200px;max-height:50px}}@media(max-width:600px){.cards,.steps,.facts,.modes,.kpis,.weak,.directory,.list,.subjects{grid-template-columns:1fr}.hero h1,.examhero h1{font-size:38px}.trust{line-height:2}.actions .outline{display:none}.score{grid-template-columns:1fr;margin:0 5% 20px}.pagehead{display:block}.pagehead .blue{margin-top:15px}}

.guest-note{background:#eef7ff;border:1px solid #cfe2fb;color:#274d86;border-radius:8px;padding:13px;margin:16px 0;font-size:13px}.guest-note b{color:#0b55c7}

/* v3 test-flow rules: selecting an answer must not visually reveal correctness. */
.question .answer-list label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  border:1px solid #dce5f0;
  background:#fff;
  padding:16px;
  border-radius:8px;
  margin:9px 0;
  cursor:pointer;
  transition:border-color .15s, box-shadow .15s;
}
.question .answer-list label:hover{
  border-color:#b8c8dc;
  box-shadow:0 2px 8px rgba(16,41,87,.05);
}
.question .answer-list input{
  margin-top:3px;
  accent-color:#0a55c6;
}
.question .answer-list input:checked + span{
  font-weight:700;
}
.question .answer-list label.selected,
.question .answer-list label.correct,
.question .answer-list label.incorrect{
  background:#fff;
  border-color:#dce5f0;
}
.exam-note{
  background:#f8fbff;
  border:1px solid #dfe7f1;
  border-radius:8px;
  padding:14px 16px;
  margin-top:20px;
  color:#53647c;
  font-size:13px;
  line-height:1.5;
}
.exam-note b{display:block;color:#163d74;margin-bottom:3px}
.qactions button:disabled{opacity:.45;cursor:not-allowed}

.result-banner{margin:20px 5%;padding:14px 18px;border:1px solid #cfe0f4;background:#f5f9ff;border-radius:9px;color:#53647c;font-size:13px}.result-banner b{display:block;color:#0b2d68;margin-bottom:3px}

.explanation-note{
  margin-top:28px;
  background:#f8fbff;
  border:1px solid #dfe7f1;
  color:#53647c;
}
.explanation-note b{display:block;color:#163d74;margin-bottom:4px}
.explanation-note span{display:block}
.explanation-note small{display:block;margin-top:8px;color:#5f7188}
#questionNumbers{display:flex;flex-wrap:wrap;gap:5px}.navnum{border:0;background:transparent;padding:4px 5px;color:#24538e;cursor:pointer;border-radius:5px}.navnum.current{font-weight:700;outline:1px solid #b9cbe2;background:#fff}.navnum.answered{font-weight:700}.reviewitem{padding:18px 0;border-bottom:1px solid #e4e9f0}.reviewitem:last-child{border-bottom:0}.review-explanation{margin-top:12px;padding:12px 14px;border-radius:8px;background:#f7fafc;border:1px solid #e1e7ee;color:#4e6077}.review-explanation b{color:#163d74}.review-explanation p{margin:6px 0}.focus{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid #e7ebf1}.focus:last-child{border-bottom:0}

/* V9.2 — Popular Practice Tests layout fix */
.light .columns > div { min-width: 0; }
.light .columns > div:first-child { min-width: 0; }
.light .columns > div:first-child .list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.light .columns > div:first-child .list a {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 8px;
  align-items: start;
  min-width: 0;
  min-height: 76px;
  padding: 13px 34px 13px 12px;
}
.light .columns > div:first-child .list a span {
  grid-column: 1;
  grid-row: 1 / span 2;
  font-size: 22px;
  line-height: 1.2;
}
.light .columns > div:first-child .list a b {
  grid-column: 2;
  grid-row: 1;
  min-width: 0;
  font-size: 14px;
  line-height: 1.35;
}
.light .columns > div:first-child .list a small {
  grid-column: 2;
  grid-row: 2;
  min-width: 0;
  color: #738198;
  font-size: 11px;
  line-height: 1.35;
  white-space: normal;
  overflow-wrap: anywhere;
}
.light .columns > div:first-child .list a::after {
  content: "→";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: #163d74;
  font-weight: 800;
  font-size: 16px;
}
.light .columns > div:first-child .list a:hover {
  border-color: #b9cbe2;
  box-shadow: 0 4px 14px rgba(16,41,87,.07);
}
@media (max-width: 900px) {
  .light .columns > div:first-child .list { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .light .columns > div:first-child .list { grid-template-columns: 1fr; }
}


/* V9.5 — Real geographic U.S. map */
.state-browser{min-width:0}
.state-help{margin:-10px 0 14px;color:#6b7890;font-size:13px;line-height:1.5}
.state-browser select{margin-bottom:14px}
.map-wrap{background:#fff;border:1px solid #d8e1ec;border-radius:14px;padding:12px;overflow:hidden;box-shadow:0 8px 24px rgba(16,41,87,.05)}
.us-map{position:relative;width:100%;aspect-ratio:959/593;min-height:250px;overflow:hidden;border-radius:10px;background:#f8fbff}
.us-map-image{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;filter:saturate(.92) contrast(1.02)}
.state-hotspots{position:absolute;inset:0}
.state-hotspot{position:absolute;transform:translate(-50%,-50%);width:clamp(22px,3.7vw,38px);height:clamp(20px,3.4vw,34px);border:1px solid transparent;border-radius:50%;background:rgba(10,85,198,0);cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease;z-index:2}
.state-hotspot:hover,.state-hotspot:focus-visible{background:rgba(10,85,198,.20);border-color:#0a55c6;box-shadow:0 0 0 3px rgba(10,85,198,.12);outline:none;transform:translate(-50%,-50%) scale(1.08)}
.state-hotspot.active{background:rgba(226,29,55,.26);border-color:#e21d37;box-shadow:0 0 0 3px rgba(226,29,55,.14)}
.map-credit{margin:7px 2px 0;text-align:right;font-size:10px;color:#8794a8}
.map-credit a{color:#526d92;text-decoration:underline}
.state-action{font-size:13px;color:#64748b;margin-top:12px;min-height:20px}.state-action strong{color:#102957}.state-action a{color:#0a55c6;font-weight:800;margin-left:5px}.state-action a:hover{text-decoration:underline}
@media(max-width:600px){.map-wrap{padding:8px}.us-map{min-height:210px}.state-hotspot{width:26px;height:24px}.state-action{font-size:12px}}

.empty-state{max-width:760px;margin:80px auto;padding:36px;text-align:center;background:#fff;border:1px solid #dce5f0;border-radius:14px}.empty-state h1{margin:0 0 10px;color:#102957}.empty-state p{color:#64748b;margin:0 0 22px}.america-link{margin-left:10px;white-space:nowrap}

/* V9.6 — centered geographic U.S. map */
.map-wrap{position:relative}
.us-map{
  position:relative;
  width:100%;
  aspect-ratio:959/593;
  min-height:250px;
  overflow:hidden;
  border-radius:10px;
  background:#f8fbff;
  display:flex;
  align-items:center;
  justify-content:center;
}
.us-map-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px;
  box-sizing:border-box;
}
.us-map-svg svg{
  width:100%;
  height:100%;
  display:block;
  overflow:visible;
}
.us-map-svg .state-region{cursor:pointer;outline:none}
.us-map-svg .state-region path{
  pointer-events:all;
  transition:fill .14s ease,stroke .14s ease,filter .14s ease;
}
.us-map-svg .state-region:hover path,
.us-map-svg .state-region:focus path{
  fill:#dce9ff!important;
  stroke:#0a55c6!important;
  stroke-width:2!important;
  filter:drop-shadow(0 1px 2px rgba(10,85,198,.18));
}
.us-map-svg .state-region.state-selected path{
  fill:#e21d37!important;
  stroke:#8d1021!important;
  stroke-width:2!important;
}
.us-map-svg .state-region text{
  pointer-events:none;
  user-select:none;
}
.map-loading{
  position:relative;
  z-index:3;
  color:#52627a;
  font-size:14px;
}
.map-loading[hidden]{display:none}
@media(max-width:600px){
  .us-map{min-height:210px}
  .us-map-svg{padding:5px}
}

/* V10.0 public exam directory */
.directory{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.directory>a{display:flex;flex-direction:column;gap:6px;padding:18px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:inherit;transition:.15s ease}
.directory>a:hover{border-color:#1d5fd1;box-shadow:0 6px 18px rgba(15,23,42,.06);transform:translateY(-1px)}
.directory>a b{color:#163b70;font-size:16px}.directory>a span{font-size:13px;color:#64748b}
.empty{background:#fff;border:1px solid #e2e8f0;border-radius:14px;padding:28px;text-align:center;grid-column:1/-1}.empty h3{margin:0 0 8px;color:#163b70}.empty p{color:#64748b}
@media(max-width:700px){.directory{grid-template-columns:1fr}.exam-filters{grid-template-columns:1fr!important}}

/* V10.1 — state directory */
.breadcrumbs{display:flex;gap:9px;align-items:center;font-size:14px;color:#667085;margin-bottom:20px}.breadcrumbs a{color:inherit;text-decoration:none}.breadcrumbs a:hover{text-decoration:underline}.state-directory-tools{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 30px}.state-exam-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.state-exam-card{display:flex;flex-direction:column;gap:7px;padding:22px;border:1px solid #e5e7eb;border-radius:14px;background:#fff;text-decoration:none;color:inherit;box-shadow:0 5px 18px rgba(16,24,40,.05)}.state-exam-card:hover{border-color:#cbd5e1;transform:translateY(-1px)}.state-exam-card b{font-size:18px}.state-exam-card span{color:#667085;font-size:14px;min-height:20px}.state-exam-card strong{color:#c62828;font-size:14px;margin-top:5px}@media(max-width:700px){.state-exam-grid{grid-template-columns:1fr}.state-directory-tools{flex-direction:column;align-items:stretch}}

/* V10.4 — Centered page layout
   Keep full-width backgrounds where useful, but constrain page content to a
   consistent reading width so directory/state pages do not stretch edge-to-edge. */
:root{--content-max:1180px;--content-gutter:20px}
header{padding-left:max(var(--content-gutter),calc((100vw - var(--content-max))/2));padding-right:max(var(--content-gutter),calc((100vw - var(--content-max))/2))}
main>.pagehead,main>.big,main>.exam-filters,main>#status,main>.directory,main>.breadcrumbs,main>.state-directory-tools,main>.note,main>.card,main>.resultcols,main>.score{width:min(var(--content-max),calc(100% - (var(--content-gutter) * 2)));margin-left:auto;margin-right:auto}
main>.pagehead{padding-left:0;padding-right:0}
main>.big{margin-top:0}
main>.exam-filters{margin-top:14px;margin-bottom:24px}
main>.directory{margin-top:0;margin-bottom:52px}
main>.state-directory-tools{margin-top:20px}
main>.breadcrumbs{padding-left:0;padding-right:0;margin-top:25px}
main>.score{margin-top:20px}
main>.resultcols{margin-top:20px}
.examhero{padding-left:max(var(--content-gutter),calc((100vw - var(--content-max))/2));padding-right:max(var(--content-gutter),calc((100vw - var(--content-max))/2))}
.examhero>div:first-child{min-width:0}
.two{padding-left:max(var(--content-gutter),calc((100vw - var(--content-max))/2));padding-right:max(var(--content-gutter),calc((100vw - var(--content-max))/2))}
.two>div,.two>aside{min-width:0}
main#app>.crumb{width:min(var(--content-max),calc(100% - (var(--content-gutter) * 2)));margin:25px auto;padding:0}
main#app>.empty-state{width:min(760px,calc(100% - (var(--content-gutter) * 2)));margin:70px auto}
@media(max-width:900px){
  header{padding-left:15px;padding-right:15px}
  main>.pagehead,main>.big,main>.exam-filters,main>#status,main>.directory,main>.breadcrumbs,main>.state-directory-tools,main>.note,main>.card,main>.resultcols,main>.score{width:calc(100% - 30px)}
  .examhero,.two{padding-left:15px;padding-right:15px}
}

/* V10.4.1 — unified page centering
   Keep full-width sections/backgrounds, but center their inner content.
*/
:root{
  --site-content-width: 1180px;
}
main,
main.container,
.page,
.page-container,
.content,
.content-container,
.directory-page,
.exam-directory,
.state-directory{
  width: min(calc(100% - 32px), var(--site-content-width));
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
main > .container,
main > .page-container,
main > .content-container,
main > .directory-page,
main > .state-directory{
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.hero-inner,
.directory-hero,
.state-hero,
.breadcrumbs,
.directory-controls,
.exam-filters,
.exam-list,
.state-content,
.directory-content,
footer .container,
header .container{
  width: min(calc(100% - 32px), var(--site-content-width));
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}
@media (max-width: 700px){
  main,
  main.container,
  .page,
  .page-container,
  .content,
  .content-container,
  .directory-page,
  .exam-directory,
  .state-directory,
  .hero-inner,
  .directory-hero,
  .state-hero,
  .breadcrumbs,
  .directory-controls,
  .exam-filters,
  .exam-list,
  .state-content,
  .directory-content,
  footer .container,
  header .container{
    width: min(calc(100% - 24px), var(--site-content-width));
  }
}

