/* Interface refinement: readable type, intentional hierarchy, consistent controls. */
:root{--muted:#526159;--radius:12px;--shadow:none}
body{font-size:16px;line-height:1.6}
html{scroll-padding-top:24px}
button,a,input,select,summary{scroll-margin-block:20px}
:is(button,a,input,select,summary):focus-visible,
.sign-search input:focus-visible,.sign-select select:focus-visible,.review-card:focus,
.profile-card input:focus-visible,.answer:has(input:focus-visible){outline:3px solid #183d36;outline-offset:4px;box-shadow:0 0 0 4px #fff}
h1,h2,h3{font-weight:700}
.eyebrow{font-size:11px;letter-spacing:1.35px}
.header-tag,.brand small,footer,.dashboard-report,.learner-bar small,.study-steps li>span,
.pane-label span,.sign-category,.photo-credit summary,.sign-pagination>span,
.sign-count,.book-ref small,.chapter-row small,.chapter-num,.review-priority div>span,
.topic-bottom,.readiness-metrics span,.history-row p{color:var(--muted)}
.card,.study-panel,.start-panel,.readiness-card,.personal-review,.sign-study-card{border-radius:12px;box-shadow:none}
.personal-review{background:#fff}
.card p,.page-heading p,.profile-card>p,.profile-privacy p,.study-steps p,.readiness-heading p,
.personal-review-heading p,.review-plan p,.personal-review-next p,.explanation,.answer-review,
.sign-card-copy>p,.sources-list p,.sign-dialog>p,.guide-supplement p{font-size:15px;line-height:1.65}
.explanation,.answer-review,.review-card h3{font-size:16px}
.card p,.page-heading p,.readiness-heading p{max-width:68ch}
.small,.notice,.exam-practice-note,.question-meta,.readiness-card details p,.profile-email-note,
.profile-card .profile-email-note,.permission-check,.tip-list>div,.review-page-links,
.book-ref,.guide-section-link>span,.readiness-metrics span,.stat-grid span,.history-row p,
.chapter-row span:nth-child(2),.guide-section-link strong{font-size:14px}
footer,.header-tag,.dashboard-report,.learner-bar small,.photo-credit summary,
.sign-category,.pane-label,.pane-label span,.photo-caption,.sign-card-copy>.photo-caption,
.book-ref small a,.chapter-row small,.sign-pagination>span,.tag,.legend,
.review-priority div>span,.review-label{font-size:12px}
footer{line-height:1.6;align-items:center}
.learner-bar{padding-bottom:12px;margin-bottom:25px;min-width:0}
.learner-bar>span{font-size:14px}
.learner-bar>div{gap:16px}
.learner-bar .btn,.learner-bar .link-btn,.link-btn,.flag,.review-controls button,
.sign-pagination .btn,.q-nav,.review-jump,.readiness-card summary,
.photo-credit summary,.profile-privacy summary{min-height:44px}
.btn{min-height:48px;font-size:14px;border-radius:8px}
.link-btn{display:inline-flex;align-items:center;font-size:14px}
.learner-bar .link-btn{font-size:13px}
.question-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
.q-nav{font-size:13px}
.exam-sidebar{padding:20px}
.exam-sidebar .small{font-size:13px}
.exam-card-large{scroll-margin-top:20px;box-shadow:none}
.question-title{line-height:1.45;outline:none}
.question-title:focus-visible{outline:0}
.question-footer .flag{font-size:13px}
.question-footer .btn{min-height:48px}
.answer{font-size:16px;line-height:1.55}
.answer input{width:20px;height:20px}
.dashboard-heading h1{font-size:36px}
.dashboard-heading p{font-size:16px}
.practice-notice{border-radius:6px;border-left:3px solid #7a8b60;box-shadow:none}
.practice-notice p{font-size:13px;line-height:1.65}
.practice-dashboard{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:26px}
.start-panel{padding:32px;min-height:0}
.start-panel h2{font-size:36px;max-width:14ch;margin:18px 0}
.start-panel p{font-size:16px;max-width:40ch;color:#d5e0d9}
.start-panel small,.start-panel .saved-test-name{font-size:13px;color:#d5e0d9}
.start-panel-art{opacity:.12}
.start-panel .saved-progress{margin:26px 0}
.start-panel .saved-progress>strong{font-size:32px}
.start-panel .saved-progress>strong>span{font-size:15px;color:#d5e0d9}
.start-panel .progress-track{background:#476057;margin-bottom:8px}
.start-panel .progress-track span{background:var(--lime)}
.last-score{display:flex;align-items:center;gap:20px;margin:25px 0;color:#d5e0d9;font-size:14px}
.last-score>strong{font-size:38px;color:white;font-family:Manrope,Arial}
.last-score>strong span{font-size:23px;font-weight:400;color:#d5e0d9}
.exam-specs{margin:26px 0}
.exam-specs>div{min-width:0;flex:1;margin-right:16px;padding-right:16px}
.exam-specs span{font-size:13px;color:#d5e0d9}
.start-exam-btn{max-width:none;min-height:52px;font-size:15px}
.start-alternative{display:flex;align-items:center;min-height:44px;margin-top:8px;padding:0;color:#e3edbd;background:none;border:0;text-decoration:underline;text-underline-offset:4px;font-size:14px}
.study-panel{border:0;border-left:1px solid var(--line);border-radius:0;background:transparent;padding:10px 0 10px 28px}
.study-panel h2{font-size:26px;margin:10px 0 18px}
.study-steps{gap:22px;margin:0 0 26px}
.study-steps strong{font-size:15px}
.study-steps li>span{font-size:13px;min-width:25px}
.study-steps p{margin-top:4px}
.study-reference-link{font-size:14px;line-height:1.5;min-height:48px}
.readiness-strip{display:flex;justify-content:space-between;align-items:center;gap:24px;border-block:1px solid #d4dccd;padding:22px 0;margin:28px 0;background:transparent}
.readiness-strip strong{display:block;font-family:Manrope,Arial;font-size:20px;margin:5px 0}
.readiness-strip p{font-size:14px;max-width:58ch}
.readiness-strip>a{display:inline-flex;align-items:center;gap:9px;min-height:48px;flex-shrink:0;font-size:14px;text-underline-offset:4px}
.readiness-strip .icon{width:17px;height:17px}
.readiness-strip.readiness-met{border-color:#9eb789}
.readiness-card{background:#fff;padding:28px}
.readiness-heading .tile-icon{display:none}
.readiness-heading h2{font-size:28px;line-height:1.3}
.readiness-metrics{gap:24px}
.readiness-metrics strong{font-size:30px}
.readiness-actions>a{font-size:14px;min-height:44px;display:inline-flex;align-items:center}
.readiness-card summary{display:flex;align-items:center;gap:8px;font-size:14px}
.readiness-card summary:before{content:'+';font-size:20px;font-weight:400}
.readiness-card details[open] summary:before{content:'−'}
.progress-summary{border-block:1px solid var(--line);gap:0;padding:18px 0;margin-bottom:30px}
.progress-summary .card{background:none;border:0;border-radius:0;padding:0 25px;border-right:1px solid var(--line)}
.progress-summary .card:first-child{padding-left:0}.progress-summary .card:last-child{border:0}
.progress-summary strong{font-size:28px}
.topic{padding:22px;border-radius:10px;min-height:180px}
.topic h3{font-size:17px}.topic p{font-size:14px}
.topic-bottom{font-size:13px;margin-top:18px}
.section-title h2{font-size:25px}.section-title p{font-size:15px}
.source-strip{font-size:14px;line-height:1.6;background:transparent;border-block:1px solid var(--line);border-radius:0;padding:22px 0}
.source-strip a{font-size:14px;display:inline-flex;min-height:44px;align-items:center}
.history-row h3{font-size:16px}.history-action .link-btn{padding:8px}
.review-jump{font-size:14px}.review-priority h3{font-size:17px}.review-page-links>a{min-height:44px}
.review-controls button{font-size:13px}.personal-review-next strong{font-size:16px}
.result-top p{font-size:15px}.result-top{border-radius:12px}.result-actions{margin-top:24px}
.sign-heading p{max-width:70ch}
.sign-overview{background:none;border:0;border-block:1px solid var(--line);border-radius:0;margin:22px 0;padding:14px 0}
.sign-overview strong{font-size:14px}.sign-overview .icon{width:20px;height:20px}
.sign-toolbar input,.sign-toolbar select{font-size:16px;min-height:48px}
.photo-filter{font-size:14px;min-height:48px}
.sign-pagination .btn{font-size:13px}
.sign-card-copy h3{font-size:22px}
.sign-guide-link{min-height:44px;display:inline-flex;align-items:center;font-size:14px}
.pane-label{letter-spacing:.5px;min-height:44px;line-height:1.5;padding:9px 12px}
.pane-label span{font-size:11px}.enlarge-hint{font-size:13px}
.sign-card-copy>.photo-caption,.sign-dialog>.photo-caption{font-size:13px;color:var(--muted)}
.sign-dialog{max-height:calc(100dvh - 40px);overflow:auto}
.sign-dialog #dialog-title:focus{outline:0}
.full-photo-link{margin-right:16px}
.profile-layout{gap:52px}
.profile-card>p{margin-bottom:22px}
.profile-card form>label:not(.permission-check){font-size:14px}
.profile-features small{font-size:14px}
.profile-privacy summary{font-size:14px}
.form-error:empty{margin:0}.form-error{scroll-margin-top:24px}
.form-error:focus{outline:2px solid #aa3434;outline-offset:5px}
.profile-card input[aria-invalid=true]{border:2px solid #aa3434}
.profile-card .profile-cancel{min-height:44px}
dialog p{font-size:15px}
@media(max-width:900px){
 .practice-dashboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px}
 .start-panel{padding:26px}.start-panel h2{font-size:32px}
 .study-panel{padding-left:22px}.readiness-strip{gap:16px}
 .exam-layout{grid-template-columns:minmax(0,1fr) 232px}
}
@media(max-width:650px){
 html{scroll-padding-bottom:calc(92px + env(safe-area-inset-bottom));scroll-padding-top:16px}
 main{padding:20px 18px calc(100px + env(safe-area-inset-bottom))}
 .header nav a{min-height:48px;font-size:12px;padding:7px 3px}
 .learner-bar{gap:10px;margin-bottom:24px;align-items:center}
 .learner-bar>span{font-size:14px;max-width:48%;gap:5px}
 .learner-bar small{font-size:12px;line-height:1.4}
 .learner-bar>div{flex-direction:column-reverse;gap:0}
 .learner-bar .btn,.learner-bar .link-btn{min-height:44px;font-size:13px;padding:8px 12px}
 .dashboard-heading h1{font-size:32px}.dashboard-heading p{font-size:15px}
 .dashboard-heading .guide-badge{font-size:12px;white-space:normal;min-height:44px}
 .practice-notice{padding:13px 15px}.practice-notice p{font-size:13px}
 .practice-dashboard{grid-template-columns:1fr;gap:25px}
 .start-panel{padding:26px 23px}.start-panel h2{font-size:32px;max-width:16ch}
 .start-panel p{font-size:16px}.exam-specs>div{min-width:0;margin-right:13px;padding-right:13px}
 .exam-specs span{font-size:12px}.start-panel small{font-size:12px}
 .study-panel{padding:0 0 0 18px;border-left:2px solid #cbd6bd}
 .study-panel h2{font-size:24px}.study-steps{gap:17px;margin-bottom:20px}
 .study-steps strong{font-size:15px}.study-steps p{font-size:14px}
 .readiness-strip{display:block;padding:20px 0;margin:27px 0}
 .readiness-strip>a{margin-top:7px}.readiness-strip p{font-size:14px}
 .topics{grid-template-columns:1fr 1fr;gap:12px}.topic{padding:18px 15px;min-height:0}
 .topic h3{font-size:16px}.topic p{font-size:13px}.topic-bottom{font-size:12px}
 .section-title h2{font-size:24px}.section-title p{font-size:14px}.section-title .small{font-size:12px;max-width:100px}
 .source-strip{align-items:start;flex-wrap:wrap;font-size:14px}.source-strip>div{flex:1;min-width:200px}.source-strip a{margin-left:37px;font-size:14px}
 .exam-top{gap:12px}.exam-top h1{font-size:21px}.exam-top .btn{min-height:44px;font-size:13px}
 .exam-practice-note{font-size:13px}.exam-layout{grid-template-columns:minmax(0,1fr)}
 .exam-card-large{padding:22px 18px;scroll-margin-top:16px}.question-title{font-size:22px;line-height:1.45}
 .question-meta{font-size:12px;gap:12px}.answer{font-size:16px;padding:15px 13px}.answer.selected{padding:14px 12px}
 .question-footer{flex-wrap:wrap;gap:10px}.question-footer .flag{min-height:44px;font-size:13px}
 .navigation{margin-left:auto}.navigation .btn{min-height:48px;padding:12px 17px}
 .question-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}.q-nav{min-height:44px;font-size:14px}
 .exam-sidebar .small{font-size:14px}.legend{font-size:12px}
 .readiness-card{padding:23px 20px}.readiness-heading h2{font-size:25px}
 .readiness-metrics{grid-template-columns:1fr;gap:0;padding:0;margin:22px 0}
 .readiness-metrics>div{display:grid;grid-template-columns:90px 1fr;align-items:center;gap:16px;border:0;border-bottom:1px solid var(--line);padding:15px 0}
 .readiness-metrics>div:last-child{border:0}.readiness-metrics strong{font-size:26px}.readiness-metrics span{font-size:14px;margin:0;padding:0}
 .readiness-heading p,.readiness-card details p{font-size:14px}.readiness-card summary{min-height:48px;font-size:14px}
 .progress-summary .card{padding:0 10px}.progress-summary strong{font-size:25px}.progress-summary span{font-size:12px;line-height:1.4;display:block;margin-top:5px}
 .review-card{padding:22px 18px}.review-card h3,.answer-review,.explanation{font-size:15px}
 .review-plan{gap:12px}.review-plan p,.personal-review-heading p,.personal-review-next p,.review-page-links{font-size:14px}
 .review-label{font-size:11px;gap:8px}.guide-section-link strong,.guide-section-link>span{font-size:13px}
 .history-row{gap:12px}.history-action{gap:8px}.history-row h3{font-size:15px}.history-row p{font-size:13px}
 .result-actions .btn{font-size:14px}.result-top p{font-size:15px}
 .sign-heading h1{font-size:31px}.sign-heading p{font-size:15px}.sign-heading .button-row .btn{width:100%}
 .sign-overview{display:flex;flex-wrap:wrap;gap:10px 20px;padding:13px 0}.sign-overview>div{flex:1 1 220px}
 .sign-toolbar{gap:14px}.photo-filter{font-size:14px}.sign-card-copy h3{font-size:21px}
 .sign-card-copy>p{font-size:15px}.pane-label{font-size:10px;padding:8px;min-height:46px}.pane-label span{font-size:10px}
 .photo-credit summary,.sign-category,.sign-card-copy>.photo-caption{font-size:12px}
 .sign-dialog{width:calc(100% - 16px);max-width:none;padding:18px 12px;max-height:calc(100dvh - 16px)}
 .sign-dialog .enlarged{margin-inline:-5px}.enlarged .guide-sign-stage,.enlarged .roadside-stage{height:220px}
 .sign-dialog .pane-label span{font-size:10px}.sign-dialog-head{gap:10px}.sign-dialog-head .btn{min-height:44px}
 .full-photo-link{font-size:14px;min-height:48px;margin:0 12px 0 0}
 .profile-layout{gap:20px}.profile-intro h1{font-size:32px}.profile-intro>p{font-size:16px}
 .profile-card{padding:24px 20px}.profile-card>p,.profile-card form>label:not(.permission-check),.permission-check{font-size:14px}
 .profile-privacy p,.profile-card .profile-email-note{font-size:13px}.profile-privacy summary{font-size:14px}
 footer{font-size:12px;margin-bottom:80px;align-items:start}.dashboard-report{font-size:12px}
}
@media(max-width:359px){
 .topics{grid-template-columns:1fr}.topic{display:grid;grid-template-columns:28px 1fr;gap:4px 12px}
 .topic>.icon{grid-row:1/4;margin:0}.topic p,.topic-bottom{grid-column:2}.topic-bottom{margin-top:8px}
 .question-footer .flag{width:100%}.navigation{width:100%;justify-content:space-between}
 .exam-top h1{font-size:19px}.readiness-metrics>div{grid-template-columns:78px 1fr;gap:12px}
}

/* Prominent, explicitly optional reporting choice. */
.email-report-option{min-width:0;margin:22px 0;padding:20px;border:2px solid #789261;border-radius:12px;background:#f1f6e9}
.email-report-option legend{font:700 18px Manrope,Arial,sans-serif;color:#193e34;padding:0 7px;max-width:100%}
.email-report-option legend span{display:inline-block;font:700 12px 'DM Sans',Arial,sans-serif;background:#dce9c9;border-radius:20px;padding:4px 8px;margin-left:6px;vertical-align:middle}
.email-report-option .email-option-intro{font-size:14px;line-height:1.6;margin:0 0 18px;color:#314d3d}
.profile-card .email-report-option>label:not(.permission-check){display:grid;gap:7px;font-size:14px;font-weight:600;margin-bottom:18px}
.profile-card .email-report-option .profile-email-note{font-size:13px;color:#314d3d}
.learner-bar .email-settings-btn{min-height:44px;font-size:13px;white-space:normal;text-align:center}
@media(max-width:650px){.email-report-option{padding:15px 12px;margin:20px 0}.email-report-option legend{font-size:16px}.learner-bar .email-settings-btn{font-size:12px;max-width:175px;min-height:44px}.profile-card .email-report-option .profile-email-note{font-size:13px}}

/* Five focused-practice choices wrap to readable cards without squeezing mobile layouts. */
@media (min-width:901px){.topics{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}}

.identification-image{display:block;max-width:100%;height:220px;object-fit:contain;margin:auto}
