.practice-wrap{max-width:1080px}
.practice-hero{padding:48px 0 34px}
.practice-hero h1{font-size:clamp(34px,4.5vw,50px);line-height:1.3;margin-top:18px}
.practice-hero .lesson-intro{margin-top:18px}
.practice-facts{display:flex;gap:10px;flex-wrap:wrap;margin-top:24px}
.practice-facts span{font-size:12px;padding:6px 12px;background:#eff4f1;color:#365e4e;border-radius:20px}
.practice-setup{padding:30px;border:1px solid #dce5df;border-radius:18px;background:#f7faf8;margin-bottom:36px}
.practice-setup h2{font-size:22px;margin-bottom:20px}
.mode-options{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.mode-option{border:1px solid #dce2de;background:white;border-radius:12px;padding:22px 18px;display:flex;align-items:center;gap:12px;cursor:pointer}
.mode-option:has(input:checked){border-color:#527561;box-shadow:0 0 0 1px #527561;background:#edf4ef}
.mode-option input{accent-color:#38634f;flex-shrink:0;width:17px;height:17px}
.mode-option strong{font-size:18px;display:block;color:var(--ink)}
.mode-option small{font-size:12px;display:block;color:var(--muted);margin-top:6px}
.mode-option b{font-size:30px;letter-spacing:-.04em;font-weight:550;margin-left:auto;color:#647d6e}
.setup-note{font-size:12px;color:var(--muted);margin:18px 0}
.timer-setting{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:20px;font-size:13px}
.timer-setting select{font:inherit;border:1px solid #c4cfc8;border-radius:6px;padding:9px;background:white;color:var(--ink)}
.timer-setting p{font-size:12px;color:var(--muted);flex-basis:100%}
.practice-status{font-size:13px;color:#365e4e;margin-bottom:14px}
.practice-status:empty{display:none}
.practice-workspace{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:26px;align-items:start}
.practice-workspace:not(:has(.practice-aside:not([hidden]))){grid-template-columns:1fr}
.practice-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted);margin-bottom:12px}
.practice-clock{font-variant-numeric:tabular-nums;font-weight:750;color:var(--ink);background:#edf1f8;border-radius:6px;padding:5px 10px}
.practice-clock.running-low{color:#943e20;background:#fff1e7}
.practice-progress{display:block;width:100%;height:5px;margin-bottom:20px}
.practice-question h3{font-size:18px;line-height:1.8}
.practice-question .question-meta span:last-child{text-align:right;max-width:75%}
.question-passage{white-space:pre-line;padding:18px 20px;margin-top:20px;border:1px solid #dce1e8;background:#f7f8fa;border-radius:8px;font-size:15px;line-height:1.9}
.box-items{list-style:none;white-space:normal}
.box-items li+li{margin-top:12px}
.practice-options{border:0;padding:0;margin:20px 0 0;display:grid;gap:10px;min-width:0}
.practice-option{position:relative;display:flex;align-items:flex-start;gap:12px;padding:15px;border:1px solid #e0e3e9;border-radius:9px;line-height:1.85;font-size:15px;cursor:pointer}
.practice-option input{position:absolute;opacity:0;width:1px;height:1px}
.practice-option:has(input:focus-visible){outline:3px solid #5675c3;outline-offset:3px}
.practice-option:has(input:disabled){cursor:default}
.practice-option:has(input:not(:disabled)):hover{background:#f7f9fc;border-color:#8295bd}
.option-number{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;border:1px solid #c7cfda;border-radius:50%;font-size:12px;font-weight:650;line-height:1;margin-top:2px}
.practice-option.selected{background:#edf2fa;border-color:#6f86b0}
.practice-option.selected .option-number{background:#294876;color:white;border-color:#294876}
.practice-option.correct-option{border-color:#527561;background:#eff6f1}
.practice-option.correct-option .option-number{background:#38634f;border-color:#38634f;color:white}
.practice-question[data-outcome=incorrect] .practice-option.selected{border-color:#b87955;background:#fbf1eb}
.practice-question[data-outcome=incorrect] .practice-option.selected .option-number{background:#944d2e;border-color:#944d2e}
.practice-question .explanation{margin-top:24px}
.choice-explanations{list-style:none;padding:0}
.choice-explanations li{padding:14px 0;border-bottom:1px solid var(--line)}
.choice-explanations h4,.box-explanations h4{font-size:14px;margin-bottom:8px;color:var(--ink)}
.choice-explanations .source-links{font-size:11px}
.choice-explanations li:last-child{border-bottom:0}
.box-explanations{background:#f5f7fa;padding:16px;border-radius:8px;margin-top:12px}
.revision-notice{font-size:12px;color:#75583b;background:#fff8ed;padding:12px 14px;border-radius:7px;margin-top:18px}
.practice-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:18px}
.practice-navigation .button{min-width:0;font-size:13px;padding:13px 18px}
.practice button:disabled{opacity:.45;cursor:default}
.practice-aside{position:sticky;top:20px}
.question-map{background:#f6f7f9;border:1px solid #e7e9ee;border-radius:12px;padding:20px}
.question-map h2{font-size:16px}
.question-map>p{font-size:11px;color:var(--muted);margin:8px 0 16px}
.question-map-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}
.question-map-grid button{border:1px solid #d5dce5;background:white;border-radius:6px;min-height:34px;font-size:12px;color:var(--ink);padding:4px}
.question-map-grid button.map-answered{background:#e4ebf6;border-color:#9aaeca}
.question-map-grid button.map-correct{background:#e7f1e9;border-color:#a1bca9;color:#28503a}
.question-map-grid button.map-incorrect{background:#fbefe5;border-color:#d5b89d;color:#814b2e}
.question-map-grid button[aria-current]{outline:2px solid #385579;outline-offset:1px}
.reset-link{font-size:11px;text-decoration:underline;margin-top:10px}
.reset-confirm{border-top:1px solid var(--line);padding-top:14px;margin-top:14px}
.reset-confirm p{font-size:12px;margin-bottom:10px}
.reset-confirm button{font-size:12px;margin-right:10px}
.submit-panel{margin-top:24px;padding:22px;background:#f4f6f9;border-radius:12px}
.submit-panel p{font-size:13px;color:var(--muted);margin-bottom:14px}
.practice-result{border:1px solid #cddfd2;border-radius:16px;padding:28px;background:#eff5f0;margin-bottom:28px}
.practice-result h2{font-size:30px;margin:10px 0}
.practice-result>p{font-size:14px}
.practice-result h3{font-size:16px;margin-top:20px}
.practice-result ul{padding-left:20px;font-size:13px;line-height:2;margin:10px 0}
.practice-result .result-note{font-size:11px;color:var(--muted);margin-top:18px}
.practice-result .button{font-size:13px;min-width:0;padding:13px 16px}
.practice-about{border-top:1px solid var(--line);padding:32px 0;margin-top:42px}
.practice-about h2,.practice-related h2{font-size:23px;margin-bottom:14px}
.practice-about>p,.practice-related p{font-size:14px;color:var(--muted);margin:12px 0}
.practice-about .source-links{font-size:12px}
.practice-related{background:#f4f6fa;padding:28px;border-radius:14px;margin:0 0 60px}
.practice-related .button{font-size:13px;margin:8px 22px 0 0}
.practice-related .text-link{font-size:12px}
.practice-catalog .subject-topic{min-height:0;font-size:14px}
.practice-catalog .text-link{font-size:12px}
.mock-guide{padding-bottom:64px}
.mock-guide h2{font-size:24px;margin-bottom:20px}
.mock-guide ol{padding-left:22px;font-size:14px;line-height:2.3}
.mock-guide>p{font-size:12px;color:var(--muted);margin-top:20px}

@media(max-width:760px){.practice-workspace{grid-template-columns:1fr;gap:24px}
.practice-aside{position:static;grid-row:1}
.question-map{padding:16px}
.question-map-grid{grid-template-columns:repeat(10,1fr)}
.question-map>p{margin:6px 0 10px}
.question-map h2{font-size:14px}
.mode-options{grid-template-columns:1fr}
.practice-setup{padding:24px}
.mode-option{padding:18px}
.practice-hero{padding:32px 0}
.practice-hero h1{font-size:36px}
.practice-related{padding:24px}
.practice-navigation .button{flex:1}
.practice-result h2{font-size:27px}
}

@media(max-width:420px){.practice-hero h1{font-size:31px}
.practice-setup{padding:20px}
.mode-option{padding:16px 12px;gap:10px}
.mode-option strong{font-size:16px}
.mode-option small{font-size:11px}
.mode-option b{font-size:24px}
.question-map-grid{grid-template-columns:repeat(5,1fr)}
.practice-option{font-size:14px;padding:13px 11px;gap:10px}
.question-passage{font-size:14px;padding:15px}
.practice-question{padding:19px 16px}
.practice-question h3{font-size:16px}
.practice-result{padding:22px}
.practice-result .result-actions{display:grid}
.practice-setup>.button{width:100%}
.practice-about h2,.practice-related h2{font-size:21px}
}

@media print{.practice-setup,.practice-aside,.practice-toolbar,.practice-progress,.practice-navigation,.submit-panel,.practice-status,.practice-result,.practice-related,.practice-facts{display:none!important}
.practice-workspace{display:block}
.practice-hero{padding:0 0 20px}
.practice-hero h1{font-size:24pt}
.practice-option{padding:8px;border:0;font-size:11pt;background:white!important}
.practice-option .option-number{background:white!important;color:black!important;border-color:#999!important}
.practice-question h3{font-size:13pt}
.practice-question .question-meta{font-size:9pt}
.practice-about{margin-top:20px}
.question-passage{font-size:11pt}
}


.mock-banner{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:30px;background:#eef3fa;border:1px solid #dee5f0;border-radius:16px;margin:0 0 54px}
.mock-banner h2{font-size:26px;margin:10px 0}
.mock-banner p:not(.eyebrow){font-size:14px;color:var(--muted)}
.mock-banner .button{font-size:13px;flex-shrink:0}
@media(max-width:600px){.mock-banner{display:block;padding:24px}
.mock-banner .button{margin-top:20px}
.mock-banner h2{font-size:24px}
}

