.prep-page{max-width:1080px;margin:0 auto;padding:24px 16px 70px;line-height:1.75;color:inherit}.prep-page h1{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.25;margin:12px 0 24px}.prep-page h2{font-size:1.25rem;line-height:1.5}.prep-page h3{font-size:1.1rem}.prep-page p{max-width:85ch}.prep-page h1:focus{outline:none}.prep-tabs,.prep-actions{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0}.prep-tabs{border-bottom:1px solid #b5c6d6;padding-bottom:16px}.prep-page button,.prep-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:10px 16px;border:1px solid #b5c6d6;border-radius:12px;background:transparent;color:inherit;font:inherit;cursor:pointer;text-decoration:none;line-height:1.4}.prep-page button:hover,.prep-button:hover{border-color:#287a91;background:#287a9110}.prep-page button:disabled{opacity:.6;cursor:default}.prep-page :focus-visible,.prep-banner :focus-visible{outline:3px solid #2e85ce;outline-offset:3px}.prep-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.prep-card{display:block;padding:20px;border:1px solid #b5c6d6;border-radius:16px;color:inherit;text-decoration:none;background:linear-gradient(135deg,#628cd509,#69c0ae0d);margin-bottom:10px}.prep-card h3{margin:5px 0 12px}.prep-card:hover{border-color:#287a91;box-shadow:0 4px 18px #1b446d12}.prep-card small,.prep-kicker{color:#26768d;font-weight:700}.prep-card p{margin:8px 0}.prep-card span,.prep-muted{font-size:.9em;opacity:.85}.prep-banner{margin:24px 0;padding:22px;border:1px solid #b5c6d6;border-radius:18px;background:linear-gradient(120deg,#3988cc12,#40a58f10);color:inherit}.prep-banner h2{margin:6px 0}.prep-stats{display:flex;flex-wrap:wrap;gap:20px;padding:20px;border:1px solid #b5c6d6;border-radius:16px;margin:20px 0}.prep-stats span{display:flex;flex-direction:column}.prep-stats b{font-size:1.6em;color:#26768d}.prep-section,.prep-question{border:1px solid #b5c6d6;border-radius:16px;padding:20px;margin:20px 0;overflow-wrap:anywhere}.prep-section h2{margin-top:0}.prep-solution{background:#6a9bb310;padding:16px;border-radius:12px;margin-top:16px;border-left:4px solid #26826c}.prep-solution li{padding:7px 0}.prep-solution h3{margin-top:0}.prep-formula{overflow-x:auto;padding:12px 6px;max-width:100%;font-size:1.05em}.prep-formula .katex-display{margin:.4em 0}.prep-table{overflow-x:auto;margin:20px 0}.prep-table table{border-collapse:collapse;width:100%;min-width:260px}.prep-table th,.prep-table td{padding:12px;text-align:left;border:1px solid #b5c6d6}.prep-table th{background:#608acc12}.prep-notice{border-left:4px solid #c98213;background:#dba13510;padding:16px;margin:20px 0;border-radius:8px}.prep-flow{margin:24px 0;border:1px solid #b5c6d6;border-radius:14px;padding:16px;max-width:650px}.prep-flow>div{display:flex;gap:12px;align-items:stretch}.prep-flow span{flex:1;display:flex;flex-direction:column;text-align:center;border:1px solid #b5c6d6;border-radius:12px;padding:12px 7px;font-size:.95em;background:#427cbd0a}.prep-flow b{display:block;border-radius:50%;width:28px;height:28px;line-height:28px;margin:0 auto 8px;background:#257b90;color:white}.prep-flow figcaption{font-size:.85em;margin-top:12px}.prep-options{display:grid;gap:10px}.prep-options button{width:100%;text-align:left;justify-content:flex-start;padding:14px;min-height:56px;overflow-wrap:anywhere}.prep-options > button > b{flex:0 0 30px;text-align:center;background:#5584ac15;border-radius:8px}.prep-options > button > .prep-option-content{min-width:0;overflow-x:auto;padding-block:4px}.prep-options .is-selected{border:2px solid #26849b;background:#26849b10}.prep-options .is-correct{border-color:#248354;background:#24835414;opacity:1}.prep-options .is-wrong{border-color:#ba4d43;background:#ba4d4314;opacity:1}.prep-settings{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.prep-settings label{display:flex;flex:1;min-width:min(100%,220px);flex-direction:column;gap:6px}.prep-page select,.prep-page input[type=number],.prep-page input[type=search]{max-width:100%;width:100%;padding:12px;border:1px solid #b5c6d6;border-radius:10px;font:inherit;color:inherit;background:transparent;box-sizing:border-box}.prep-page select option{color:#162b3a;background:white}.prep-page fieldset{border:1px solid #b5c6d6;border-radius:12px;padding:16px}.prep-group-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}.prep-group-list label{display:flex;align-items:center;gap:8px}.prep-group-list input{width:20px;height:20px}.prep-run-bar{display:flex;gap:18px;flex-wrap:wrap;position:sticky;top:0;z-index:5;background:var(--bg,#fff);padding:12px;border:1px solid #b5c6d6;border-radius:10px}.prep-question-nav{display:flex;flex-wrap:wrap;gap:7px;margin:20px 0}.prep-question-nav button{min-width:44px;padding:8px}.prep-question-nav [aria-current]{border:2px solid #238198;background:#23819818}.prep-score{font-size:1.25em;font-weight:700}.prep-visual{max-width:540px;margin:16px auto;overflow:auto}.prep-visual svg{max-width:100%;height:auto;max-height:300px}.prep-page progress{width:100%}.prep-page #prep-error{color:#b34335}.prep-crumb{font-size:.9em}.prep-page a{overflow-wrap:anywhere}.prep-page .katex{white-space:nowrap}.prep-page .katex-error{color:inherit}.prep-page li+li{margin-top:6px}@media(max-width:450px){.prep-page{padding:18px 10px 80px}.prep-section,.prep-question{padding:14px}.prep-flow{padding:10px}.prep-flow>div{flex-direction:column}.prep-flow span{flex-direction:row;align-items:center;text-align:left;gap:12px}.prep-flow b{margin:0;flex:none}.prep-tabs .prep-button{flex:1 1 40%;font-size:.9em}}[data-theme=dark] .prep-kicker,[data-theme=dark] .prep-card small,[data-theme=dark] .prep-stats b,.dark .prep-kicker,.dark .prep-card small,.dark .prep-stats b{color:#80c9dd}[data-theme=dark] .prep-run-bar,.dark .prep-run-bar{background:#172033}
.mock-card{display:flex;align-items:flex-start;gap:16px}.mock-card h2{font-size:1.1rem;margin:0}.mock-number{display:grid;place-items:center;flex:0 0 48px;min-height:48px;border-radius:14px;background:#287d9320;font-size:1.3rem!important;font-weight:800;opacity:1!important}.mock-card p{margin:6px 0}.mock-status{font-weight:600}.mock-points{font-size:1.5rem;font-weight:750;color:#237c68}#mock-start{max-width:660px;padding:20px;border:1px solid #b5c6d6;border-radius:16px}#mock-start label{display:grid;gap:10px}#mock-start select{width:100%}.prep-exam-active #calculatorButton,.prep-exam-active .calculator-launcher,.prep-exam-active .calculator-panel{display:none!important}#mock-grid{margin-bottom:24px}@media(max-width:450px){.mock-card{padding:14px}.mock-number{flex-basis:40px;min-height:40px}#mock-start{padding:14px}.mock-grid{gap:8px}}[data-theme=dark] .mock-points,.dark .mock-points{color:#8edec1}

@media(max-width:600px){.mock-catalog-page .prep-tabs{flex-wrap:nowrap;overflow-x:auto;gap:6px;padding-bottom:10px}.mock-catalog-page .prep-tabs .prep-button{flex:0 0 auto;font-size:.85rem;min-height:40px;padding:8px 12px}.mock-catalog-page .prep-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:14px;margin:14px 0}.mock-catalog-page .prep-stats b{font-size:1.3rem}.mock-catalog-page .prep-stats span{font-size:.9rem}.mock-catalog-page .prep-settings{gap:10px;margin:14px 0}.mock-catalog-page .prep-settings label{font-size:.9rem}}

/* Only the outer option may scroll: KaTeX positions fraction glyphs outside its inner spans. */
.prep-unanswered-nav{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}.prep-unanswered-nav button{min-width:88px}.prep-finish-review h2{margin-top:0}.prep-finish-review h2:focus{outline:none}.prep-submit-row{margin-top:20px;padding-top:16px;border-top:1px solid #b5c6d6}.prep-submit-row button{font-weight:700}.prep-finish-review p{overflow-wrap:anywhere}

/* Scope layout to answer cards, never to formula descendants. */
.prep-options,.options{gap:12px}
.prep-options > button,.options > .option,.opts > .opt,.abi-book-option{
 box-sizing:border-box;min-width:0;min-height:64px;border-radius:14px;
 border-width:1px;border-color:var(--line,#c6d5e1);box-shadow:0 2px 5px #18374d05;
 line-height:1.6;transition:background-color .15s,border-color .15s,box-shadow .15s;
}
.prep-options > button,.options > .option{gap:14px;padding:14px 16px;align-items:center}
.prep-options > button::before,.options > .option::before{display:none!important}
.prep-options > button > b,.options > .option > b,.abi-book-option > strong{
 display:inline-grid;place-items:center;align-self:center;flex:0 0 32px;min-width:32px;height:32px;
 border-radius:10px;background:#65869c14;color:inherit;font-size:.95em;font-weight:700;
}
.prep-options > button > .prep-option-content{flex:1;padding-block:6px;line-height:1.6}
.prep-options > button.is-selected,.options > .option.selected,.opts > .opt.sel{
 border-width:1px;border-color:#16849b;box-shadow:inset 0 0 0 1px #16849b;background:#16849b0b;
}
.prep-options > button.is-selected > b,.options > .option.selected > b{
 background:#16798d;color:#fff;
}
.prep-options > button.is-correct{border-color:#248354;background:#24835414;box-shadow:inset 0 0 0 1px #248354}
.prep-options > button.is-wrong{border-color:#ba4d43;background:#ba4d4314;box-shadow:inset 0 0 0 1px #ba4d43}
.prep-options > button:focus-visible,.options > .option:focus-visible,.opts > .opt:focus-visible{
 outline:3px solid #2e85ce;outline-offset:3px;
}
.prep-options > button:disabled,.options > .option:disabled{opacity:1}
ilmdosh-option-math{display:inline-block;vertical-align:middle;margin-block:3px;max-width:100%;overflow:visible!important}
@media(max-width:450px){.prep-options > button,.options > .option{padding:12px;gap:12px}.prep-options > button > b,.options > .option > b{flex-basis:30px;min-width:30px;height:30px}}
@media(prefers-reduced-motion:reduce){.prep-options > button,.options > .option,.opts > .opt{transition:none}}

/* Completed exams: question, all choices, then the worked solution. */
.prep-result-overview{display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;padding:26px;margin:24px 0;border:1px solid var(--line,#c6d5e1);border-radius:22px;background:linear-gradient(125deg,#288a9d0e,#7171d510);box-shadow:0 8px 28px #18374d08}
.prep-result-overview .prep-score{font-size:clamp(1.9rem,5vw,2.7rem);line-height:1.2;margin:10px 0}.prep-result-overview p{margin:8px 0}.prep-result-overview .prep-kicker{font-size:.85em}
.prep-result-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.prep-result-metrics>span{display:flex;flex-direction:column;align-items:center;padding:16px 8px;border-radius:14px;background:#6286a10c;border:1px solid var(--line,#c6d5e1);font-size:.9em}.prep-result-metrics b{font-size:1.7em}.prep-result-metrics>span:first-child{background:#2483540e}.prep-result-metrics>span:nth-child(2){background:#ba4d430c}
.prep-review-card{padding:24px!important;border-radius:20px!important;border-color:var(--line,#c6d5e1);box-shadow:0 6px 24px #18374d07;line-height:1.75;margin:24px 0}
.prep-review-heading{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:18px}.prep-question-number{font-size:.9em;font-weight:750;border-radius:10px;padding:7px 12px;background:#287d9312}
.prep-review-heading .prep-verdict{margin:0;display:inline-flex;gap:7px;align-items:center;font-size:.85em;font-weight:650;padding:5px 12px;border-radius:30px;border:1px solid currentColor}
.prep-review-card[data-review-status=correct] .prep-verdict{color:#21734b;background:#2483540b}.prep-review-card[data-review-status=wrong] .prep-verdict{color:#a73530;background:#ba4d430b}.prep-review-card[data-review-status=unanswered] .prep-verdict{color:#7d5919;background:#a979190c}
.prep-review-card>h2{font-size:1.16em;line-height:1.8;margin:0 0 18px}.prep-review-hint{font-size:.92em}
.prep-options-heading{font-size:.88em;font-weight:700;margin:24px 0 10px;color:inherit}
.prep-review-toolbar{display:flex;align-items:end;justify-content:space-between;gap:20px;margin:36px 0 12px;padding-top:24px;border-top:1px solid var(--line,#c6d5e1)}
.prep-review-toolbar h2{margin:5px 0 0}.prep-review-toolbar .prep-kicker{font-size:.82em}
.prep-review-toolbar label{display:grid;gap:6px;min-width:min(100%,240px);font-size:.88em}.prep-review-count{font-size:.88em;opacity:.8}
.prep-review-options{list-style:none!important;display:grid;gap:10px;padding:0!important;margin:18px 0 24px!important}
.prep-review-options>.prep-review-option{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:14px;min-width:0;min-height:64px;padding:12px 16px;margin:0!important;border:1px solid var(--line,#c6d5e1);border-radius:14px;background:transparent}
.prep-review-option>.prep-option-letter{display:grid;place-items:center;width:32px;height:32px;background:#65869c14;border-radius:10px;font-weight:750}
.prep-review-option>.prep-option-content{min-width:0;max-width:100%;overflow-x:auto;padding:6px 0;line-height:1.7}
.prep-review-option>.prep-option-status{font-size:.79em;font-weight:700;max-width:210px;line-height:1.5}
.prep-review-options>.is-correct{border-color:#31885e;background:#2483540c}.prep-review-options>.is-wrong{border-color:#bd5b50;background:#ba4d430a}.prep-review-option.is-selected>.prep-option-letter{background:#287d93;color:white}.prep-review-option.is-correct>.prep-option-status{color:#21734b}.prep-review-option.is-wrong>.prep-option-status{color:#a73530}
.prep-review-options>.is-selected{box-shadow:inset 3px 0 0 #287d93}.prep-review-option.is-selected.is-correct>.prep-option-letter{background:#21734b}.prep-review-option.is-wrong>.prep-option-letter{background:#a73530}.prep-review-options>.is-selected.is-correct{box-shadow:inset 3px 0 0 #21734b}.prep-review-options>.is-wrong{box-shadow:inset 3px 0 0 #a73530}
.prep-solution{padding:20px;border-left:0;border:1px solid #26826c38;background:linear-gradient(130deg,#26826c08,#6286a108);border-radius:16px;margin-top:22px}
.prep-solution-heading{display:flex;gap:10px;align-items:center;margin-bottom:12px}.prep-solution-heading>span{display:grid;place-items:center;min-width:32px;height:32px;background:#26826c18;border-radius:10px;font-size:1.4em}.prep-solution-heading h3{margin:0}
.prep-answer-key{padding:10px 14px;border-radius:10px;background:#26826c0e;margin:12px 0 18px}
.prep-solution-steps{padding-left:28px;margin:18px 0}.prep-solution-steps>li{padding:8px 0 14px 6px;line-height:1.85}.prep-solution-steps>li::marker{font-weight:750;color:#26768d}.prep-solution-steps>li+li{border-top:1px solid #8cabb32c;padding-top:16px}
.prep-step-equation{display:block;max-width:100%;overflow-x:auto;padding:10px 4px;margin:8px 0 2px;line-height:1.7}.prep-step-equation .katex-display{margin:0}
.prep-lesson-return{display:inline-block;margin-top:10px;text-underline-offset:4px;font-weight:650}
.prep-domain-analysis{margin-top:36px;padding:26px;border:1px solid var(--line,#c6d5e1);border-radius:22px;background:linear-gradient(135deg,#287d9309,#7471d50a)}
.prep-analysis-heading{display:flex;align-items:center;gap:14px}.prep-analysis-heading h2{margin:3px 0 0}.prep-analysis-heading .prep-kicker{font-size:.82em}
.prep-analysis-icon{display:grid;place-items:center;flex:0 0 44px;height:44px;border-radius:14px;color:#26768d;background:#287d9314}.prep-analysis-icon svg{width:26px;height:26px}
.prep-domain-analysis>p{font-size:.93em;margin:16px 0 22px}.prep-domain-list{list-style:none;padding:0!important;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.prep-domain-item{min-width:0;padding:18px;margin:0!important;border:1px solid var(--line,#c6d5e1);border-radius:16px;background:var(--surface,#ffffff50)}
.prep-domain-top{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}.prep-domain-top h3{font-size:1em;margin:0}.prep-domain-score{font-size:.88em;white-space:nowrap}.prep-domain-score b{font-size:1.15em}
.prep-domain-track{height:7px;border-radius:8px;background:#6286a11c;margin:14px 0;overflow:hidden}.prep-domain-track>span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#278398,#3e9a7d)}.prep-domain-item p{font-size:.86em;margin:0;line-height:1.7}
@media(max-width:700px){.prep-review-toolbar{align-items:stretch;flex-direction:column;gap:14px}.prep-domain-analysis{padding:18px}.prep-domain-list{grid-template-columns:1fr}.prep-domain-item{padding:16px}}
@media(max-width:700px){.prep-result-overview{grid-template-columns:1fr;padding:20px;gap:14px}.prep-review-options>.prep-review-option{grid-template-columns:32px minmax(0,1fr);gap:8px 12px}.prep-review-option>.prep-option-status{grid-column:2;max-width:none}.prep-review-card{padding:16px!important}.prep-solution{padding:14px}.prep-review-heading{gap:8px}.prep-review-heading .prep-verdict{font-size:.8em}}
[data-theme=dark] .prep-review-card .prep-verdict,.dark .prep-review-card .prep-verdict,[data-theme=dark] .prep-option-status,.dark .prep-option-status{color:inherit}
[data-theme=dark] .prep-solution-steps>li::marker,.dark .prep-solution-steps>li::marker{color:#80c9dd}
@media(forced-colors:active){.prep-review-option.is-selected{outline:2px solid Highlight}.prep-option-status{color:CanvasText!important}}

/* Keep all four utility controls reachable when the app is enlarged on a phone. */
@media(max-width:480px){.utility-bar #settingsButton span{display:none}.utility-bar #settingsButton{width:44px;min-width:44px;padding:8px}.utility-bar{gap:6px;padding-inline:8px}}
