:root{--paper:#f7f8f9;--white:#fff;--ink:#20272b;--muted:#606a70;--green:#315e50;--light-green:#edf3ef;--line:#dce1e3;--orange:#8a5d27;--orange-light:#fbf5eb;--red:#a33e35;--red-light:#fbefed;--radius:5px;font-family:Arial,Helvetica,ui-sans-serif,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:var(--green);text-underline-offset:3px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #477ba0;outline-offset:3px}.skip{position:absolute;left:15px;top:-60px;background:var(--green);color:white;padding:12px;z-index:10}.skip:focus{top:10px}
.site-header{max-width:1320px;margin:auto;display:flex;align-items:center;gap:35px;padding:18px 32px;border-bottom:1px solid var(--line);background:var(--white)}.brand{display:flex;align-items:baseline;gap:11px;text-decoration:none;color:var(--ink);font-size:17px;font-weight:700;white-space:nowrap}.brand small{font-size:12px;color:var(--muted);font-weight:400}.site-header nav{display:flex;gap:24px;margin:auto}.site-header nav a{padding:6px 0;text-decoration:none;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;white-space:nowrap}.site-header nav a.active{color:var(--green);border-bottom-color:var(--green);font-weight:600}.site-header nav a:hover{color:var(--ink)}.save-indicator{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px;white-space:nowrap}.save-indicator span{width:5px;height:5px;border-radius:50%;background:var(--green)}
main{max-width:1240px;margin:auto;padding:32px 32px 55px;min-height:calc(100vh - 130px)}h1,h2,h3,p{margin-top:0}h1{font-size:29px;line-height:1.3;font-weight:650;letter-spacing:-.5px;margin-bottom:15px}h2{font-size:22px;line-height:1.35;font-weight:600;margin-bottom:16px}h3{font-size:16px;line-height:1.4;font-weight:600}p{font-size:14px;line-height:1.65}.muted{color:var(--muted)}.eyebrow{font-size:11px;color:var(--muted);margin:0 0 12px}.tag{display:inline-flex;font-size:11px;padding:4px 7px;border-radius:3px;background:var(--light-green);color:var(--green);font-weight:600}.tag.orange{background:var(--orange-light);color:var(--orange)}.tag.neutral{background:#f0f2f3;color:var(--muted)}.tag.red{color:var(--red);background:var(--red-light)}
.button{border:1px solid var(--green);background:var(--green);color:white;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;padding:9px 14px;border-radius:4px;text-decoration:none;font-size:12px;font-weight:600;line-height:1.4}.button:hover{background:#254d40;border-color:#254d40}.button.secondary,.button.quiet{background:var(--white);color:var(--green);border-color:#bbc7c1}.button.secondary:hover,.button.quiet:hover{background:var(--light-green)}.button.quiet{color:var(--ink);border-color:var(--line)}.button.small{min-height:31px;padding:6px 10px;font-size:11px}.button.danger{background:var(--red);border-color:var(--red)}.text-button{border:0;background:transparent;padding:0;color:var(--green);font-size:inherit;text-decoration:underline;text-underline-offset:3px}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.panel{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:24px}.panel.tint{background:#f1f5f3}.section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:30px 0 14px}.section-heading h2{margin:0;font-size:20px}.section-heading p{margin:0;font-size:12px;color:var(--muted)}.two-col{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.notice{border-left:3px solid #c6b18c;padding:13px 16px;background:var(--orange-light);font-size:12px;line-height:1.7;margin:20px 0}.notice p{font-size:12px;margin:0}.notice strong{display:block;margin-bottom:4px}.notice.compact{margin:12px 0}
.home-page{max-width:680px;margin:12px 0}.home-page h1{font-size:27px;margin-bottom:25px}.home-links{display:flex;flex-direction:column;border-top:1px solid var(--line)}.home-links a{display:flex;flex-direction:column;gap:6px;padding:21px 3px;border-bottom:1px solid var(--line);text-decoration:none}.home-links a:hover{background:#eff3f1}.home-links strong{font-size:17px;font-weight:600}.home-links span{font-size:13px;color:var(--muted)}
.page-intro{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:26px}.page-intro h1{font-size:29px;margin-bottom:10px}.page-intro p{color:var(--muted);margin:0;max-width:760px;font-size:13px}.guide-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:25px}.topic-nav{position:sticky;top:20px;align-self:start}.topic-nav button{width:100%;border:0;border-left:2px solid transparent;text-align:left;background:transparent;color:var(--muted);font-size:12px;padding:10px 10px;margin-bottom:3px;display:flex;align-items:center;gap:9px;line-height:1.45}.topic-nav button span:first-child{font-size:10px;min-width:15px}.topic-nav button.active{background:var(--light-green);border-left-color:var(--green);color:var(--green);font-weight:600}.topic-nav button:not(.active):hover{background:#edf0f1}.topic-nav .read-dot{margin-left:auto;width:5px;height:5px;flex-shrink:0;border-radius:50%;background:var(--green)}.guide-content{padding:27px 30px;min-width:0}.guide-content h2{font-size:24px;margin-bottom:14px}.guide-content .summary{font-size:14px;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:20px;margin-bottom:22px}.prose{font-size:14px;line-height:1.75}.prose h3{font-size:19px;font-weight:600;margin:26px 0 12px}.prose h4{font-size:15px;margin:20px 0 10px}.prose p{font-size:14px;line-height:1.75;margin-bottom:15px}.prose ul,.prose ol{padding-left:21px}.prose li{padding:4px 0}.prose table{width:100%;border-collapse:collapse;font-size:12px;display:block;overflow-x:auto;margin:20px 0}.prose th,.prose td{padding:11px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.prose th{background:#f1f3f4;font-weight:600}.prose td:first-child{font-weight:600}.prose img{max-width:100%;height:auto;border:1px solid var(--line)}.prose .callout,.prose aside{padding:15px;background:#f0f4f2;border-left:3px solid #a9bfb3;margin:20px 0}.guide-bottom{border-top:1px solid var(--line);padding-top:20px;margin-top:25px;display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.test-card{display:flex;flex-direction:column;padding:23px}.test-card .tag{align-self:flex-start;margin-bottom:16px}.test-card h2{font-size:20px;margin:0 0 12px}.test-card p{font-size:12px;color:var(--muted);min-height:62px}.test-card .test-meta{font-size:11px;border-top:1px solid var(--line);padding-top:14px;margin:10px 0 17px;color:var(--muted);line-height:1.6}.test-card .button{align-self:flex-start;margin-top:auto}.drill-row{display:flex;gap:17px;align-items:center;justify-content:space-between;flex-wrap:wrap}.drill-row p{margin:4px 0 0;font-size:12px;color:var(--muted)}select{border:1px solid var(--line);background:var(--white);border-radius:4px;color:var(--ink);padding:9px 10px;font-size:12px;max-width:100%;min-height:38px}.history-row{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.history-row:last-child{border:0}.history-row h3{font-size:14px;margin:0 0 5px}.history-row p{font-size:11px;color:var(--muted);margin:0}.history-score{font-size:21px;font-weight:600}.empty{padding:30px;text-align:center;color:var(--muted);font-size:13px}
.attempt-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px}.attempt-top h1{font-size:23px;margin:0 0 7px}.attempt-top p{margin:0;color:var(--muted);font-size:12px}.attempt-layout{display:grid;grid-template-columns:minmax(0,1fr) 215px;gap:22px;align-items:start}.question-card{padding:27px 30px}.question-meta{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:22px}.question-label{display:flex;align-items:center;gap:11px}.question-number{display:grid;place-items:center;min-width:32px;height:32px;border:1px solid #c1ccc7;color:var(--green);border-radius:4px;font-size:16px;font-weight:600}.question-kind{font-size:10px;font-weight:600}.flag-button{font-size:11px;background:none;border:1px solid var(--line);border-radius:4px;padding:7px 10px;color:var(--muted)}.flag-button.flagged{color:var(--orange);background:var(--orange-light);border-color:#d9c59e}.question-stem{font-size:19px;line-height:1.5;font-weight:500;margin-bottom:22px}.scenario{font-size:13px;line-height:1.75;white-space:pre-line;border-left:2px solid #bac7bf;padding:0 0 0 15px;margin:0 0 22px;color:#48564f}.question-figure{margin:0 0 22px;text-align:center;padding:14px;background:#fff;border:1px solid var(--line);border-radius:4px}.question-figure img{width:100%;height:auto;max-height:390px;object-fit:contain}.question-figure figcaption{font-size:11px;color:var(--muted);margin-top:8px}.options{display:grid;gap:9px;border:0;padding:0;margin:0}.option{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:4px;padding:14px 15px;cursor:pointer;font-size:13px;line-height:1.55}.option:hover{background:#f5f7f6;border-color:#b8c7bf}.option.selected{background:#f0f5f1;border-color:var(--green)}.option.correct{background:#edf6ee;border-color:#7b9c7b}.option.wrong{background:var(--red-light);border-color:#c9958c}.option.locked{cursor:default}.option input{width:16px;height:16px;accent-color:var(--green);margin:0;flex-shrink:0}.option-letter{font-size:11px;color:var(--muted);font-weight:600;flex-shrink:0}.option-text{flex:1}.option-note{font-size:10px;color:var(--green);flex-shrink:0;font-weight:600}.option.wrong .option-note{color:var(--red)}.question-actions{margin-top:23px;display:flex;align-items:center;justify-content:space-between;gap:15px;flex-wrap:wrap}.question-actions .nav-actions{display:flex;gap:8px}.feedback{margin-top:23px;border-radius:4px;padding:20px;background:#f1f6f1;border:1px solid #c5d7c4}.feedback.incorrect{background:#fcf6ed;border-color:#ddc9a9}.feedback h3{font-size:14px;margin:0 0 9px}.feedback p{font-size:13px;line-height:1.75;margin-bottom:10px}.feedback .source{font-size:11px;color:var(--muted);margin:14px 0 0}.question-sidebar{position:sticky;top:20px;padding:20px 17px}.question-sidebar h3{font-size:13px;margin-bottom:13px}.progress-track{height:4px;background:#e7ece9;overflow:hidden;margin:12px 0}.progress-track span{display:block;height:100%;background:var(--green)}.progress-copy{display:flex;justify-content:space-between;font-size:11px;color:var(--muted)}.question-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:5px;margin:20px 0 12px}.question-grid button{position:relative;width:100%;aspect-ratio:1;border:1px solid var(--line);background:transparent;border-radius:3px;font-size:11px;color:var(--muted);padding:0}.question-grid button.answered{background:var(--light-green);border-color:#b6c8b6;color:var(--green)}.question-grid button.current{background:var(--green);color:white;border-color:var(--green)}.question-grid button.flagged:after{position:absolute;content:"";width:5px;height:5px;border-radius:50%;background:#ba761b;right:2px;top:2px}.grid-legend{font-size:10px;line-height:1.7;color:var(--muted);margin-bottom:18px}.question-sidebar .button{width:100%}.sidebar-help{margin-top:15px;font-size:11px;color:var(--muted);line-height:1.7}
.results-hero{display:grid;grid-template-columns:auto 1fr;gap:30px;align-items:center;margin-bottom:25px;padding:27px}.score-ring{min-width:115px;padding-right:25px;border-right:1px solid var(--line)}.score-ring strong{font-size:32px;display:block;margin-bottom:5px;font-weight:600}.score-ring span{font-size:12px;color:var(--muted)}.results-hero h1{font-size:25px;margin:0 0 10px}.results-hero p{font-size:12px;color:var(--muted);margin-bottom:17px}.topic-results{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 28px;margin-top:19px}.topic-result>div:first-child{display:flex;justify-content:space-between;font-size:12px;gap:10px}.topic-result .progress-track{margin:8px 0}.review-toolbar{display:flex;gap:8px;margin:20px 0;flex-wrap:wrap}.review-toolbar button{border:1px solid var(--line);background:var(--white);padding:8px 12px;border-radius:4px;font-size:12px;color:var(--muted)}.review-toolbar button.active{background:var(--light-green);color:var(--green);border-color:var(--green)}.review-item{margin-bottom:14px;padding:22px 25px}.review-item h3{font-size:15px;margin:12px 0;line-height:1.5;font-weight:500}.review-item .question-figure{max-width:600px}.review-answer{font-size:13px;margin:7px 0}.review-answer strong{color:var(--green)}.review-item details{border-top:1px solid var(--line);padding-top:13px;margin-top:14px}.review-item summary{font-size:12px;color:var(--green);cursor:pointer}.review-item details p{font-size:13px;margin:12px 0 0}
.coverage-list details{border:1px solid var(--line);background:var(--white);border-radius:4px;margin-bottom:9px;overflow:hidden}.coverage-list summary{list-style:none;cursor:pointer;padding:17px 20px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:14px;font-weight:600}.coverage-list summary::-webkit-details-marker{display:none}.coverage-list summary:before{content:"+";font-size:17px;color:var(--green);font-weight:400}.coverage-list details[open] summary:before{content:"−"}.coverage-list summary>span:first-of-type{flex:1}.coverage-list summary small{font-size:11px;color:var(--muted);font-weight:400}.coverage-body{padding:0 20px 18px}.objective{display:grid;grid-template-columns:1fr auto;align-items:start;gap:12px;border-top:1px solid var(--line);padding:12px 0;font-size:12px;line-height:1.6}.objective-note{font-size:11px;color:var(--muted);margin-top:5px}.count-badge{font-size:10px;background:#f0f4f1;color:var(--green);padding:4px 7px;border-radius:3px;white-space:nowrap}.count-badge.gap{background:var(--orange-light);color:var(--orange)}.objective:has(.objective-practice){grid-template-columns:1fr auto auto;align-items:center}.objective-practice{font-size:11px!important;min-height:30px!important;padding:6px 9px!important;white-space:nowrap}.source-card{padding:17px 0;border-bottom:1px solid var(--line)}.source-card:last-child{border:0}.source-card h3{font-size:14px;margin:0 0 7px}.source-card p{font-size:12px;color:var(--muted);margin:0}.gap-list{padding-left:17px;font-size:12px;line-height:1.8}
.site-footer{border-top:1px solid var(--line);max-width:1320px;margin:auto;padding:19px 32px;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:11px;line-height:1.7}dialog{padding:26px;border:1px solid #c9d1cc;border-radius:6px;background:var(--white);color:var(--ink);box-shadow:0 10px 40px #182b2626;width:min(500px,calc(100% - 32px));max-height:90vh;overflow:auto}dialog::backdrop{background:#20342c66}dialog h2{font-size:23px;margin-bottom:13px}dialog p{font-size:13px;color:var(--muted)}.mode-choice{display:flex;gap:13px;border:1px solid var(--line);border-radius:4px;padding:15px;margin:10px 0;cursor:pointer}.mode-choice:has(input:checked){border-color:var(--green);background:var(--light-green)}.mode-choice input{accent-color:var(--green);margin-top:3px}.mode-choice strong{font-size:13px;display:block;margin-bottom:5px}.mode-choice span{font-size:12px;color:var(--muted);line-height:1.6;display:block}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.dialog-close{float:right;border:0;background:transparent;font-size:22px;color:var(--muted);padding:0 0 5px 10px}.loading{text-align:center;padding:80px 0;color:var(--muted)}.loader{width:24px;height:24px;border:2px solid var(--line);border-top-color:var(--green);border-radius:50%;margin:0 auto 18px;animation:spin .8s linear infinite}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%) translateY(100px);background:#263b33;color:white;padding:12px 18px;font-size:12px;border-radius:4px;z-index:100;transition:transform .2s;max-width:calc(100% - 30px)}#toast.visible{transform:translateX(-50%) translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes spin{to{transform:rotate(360deg)}}
@media(max-width:1050px){.site-header{gap:22px;padding:18px 25px}.site-header nav{gap:20px;margin-right:0}.save-indicator{display:none}main{padding:28px 25px 50px}.site-footer{padding:18px 25px}.guide-layout{grid-template-columns:190px 1fr;gap:20px}.guide-content{padding:24px}.attempt-layout{grid-template-columns:minmax(0,1fr) 190px;gap:18px}.question-card{padding:24px}.question-sidebar{padding:18px 14px}.test-card{padding:20px}}
@media(max-width:800px){.site-header{flex-wrap:wrap;gap:14px;padding:17px 22px 12px}.site-header nav{width:100%;margin:0;overflow-x:auto;gap:22px}.site-header nav a{font-size:12px}.brand{font-size:17px}.brand small{font-size:12px}main{padding:26px 22px 45px}.test-grid{gap:12px}.test-card{padding:18px}.test-card h2{font-size:18px}.test-card p{min-height:85px}.guide-layout{display:block}.topic-nav{position:static;display:flex;overflow:auto;gap:5px;margin-bottom:18px;padding-bottom:5px}.topic-nav button{flex-shrink:0;width:auto;padding:9px 11px;margin:0;max-width:195px;border-left:0;border-bottom:2px solid transparent}.topic-nav button.active{border-left:0;border-bottom-color:var(--green)}.topic-nav .read-dot{margin-left:5px}.attempt-layout{display:flex;flex-direction:column}.question-card{width:100%}.question-sidebar{width:100%;position:static}.question-grid{grid-template-columns:repeat(12,1fr);margin:16px 0}.question-grid button{max-height:36px}.question-sidebar .button{width:auto}.sidebar-help{display:inline-block;margin-left:15px;max-width:420px}.question-sidebar h3{margin-bottom:8px}.site-footer{flex-direction:column;gap:7px;padding:18px 22px}}
@media(max-width:580px){main{padding:23px 17px 40px}.site-header{padding:16px 17px 12px}.site-header nav{gap:20px}.site-header nav a{font-size:12px}.home-page{margin-top:6px}.home-page h1{font-size:24px;margin-bottom:22px}.home-links a{padding:19px 3px}.home-links strong{font-size:16px}.home-links span{font-size:12px}.two-col,.test-grid{grid-template-columns:1fr}.panel{padding:20px}.section-heading{align-items:start;flex-direction:column;gap:6px;margin-top:25px}.section-heading h2{font-size:19px}.page-intro{display:block;margin-bottom:22px}.page-intro h1{font-size:25px}.page-intro>.tag{margin-top:13px}.page-intro .actions{margin-top:16px}.test-card{padding:21px}.test-card h2{font-size:20px}.test-card p{min-height:0;font-size:12px;margin-bottom:8px}.test-card .test-meta{margin:12px 0 16px}.guide-content{padding:22px 19px}.guide-content h2{font-size:22px}.guide-content .summary{font-size:13px}.prose p,.prose{font-size:13px}.prose th,.prose td{padding:9px;font-size:11px}.attempt-top{align-items:start}.attempt-top h1{font-size:21px}.attempt-top p{font-size:11px}.attempt-top .button{min-height:33px;padding:7px;font-size:11px;white-space:nowrap}.question-card{padding:20px 16px}.question-stem{font-size:18px}.question-meta{gap:9px}.question-kind{font-size:9px}.question-label{gap:8px}.flag-button{padding:7px;font-size:11px}.question-number{min-width:29px;height:29px;font-size:15px}.option{padding:13px 11px;font-size:13px;gap:9px;align-items:flex-start}.option input{margin-top:2px}.option-letter{padding-top:2px}.option-note{font-size:9px;max-width:45px}.question-figure{padding:7px}.question-actions{gap:12px}.question-actions>.button{width:100%}.question-actions .nav-actions{width:100%;justify-content:space-between}.question-actions .nav-actions .button{flex:1}.feedback{padding:16px}.question-grid{grid-template-columns:repeat(8,1fr);gap:6px}.sidebar-help{display:block;margin:13px 0 0;max-width:none}.question-sidebar .button{width:100%}.results-hero{grid-template-columns:1fr;gap:18px}.score-ring{border:0;border-bottom:1px solid var(--line);padding:0 0 17px}.score-ring strong{font-size:29px}.results-hero h1{font-size:23px}.topic-results{grid-template-columns:1fr}.history-row{grid-template-columns:1fr auto;gap:12px}.history-score{grid-column:2;grid-row:1}.history-row>.actions{grid-column:1/-1}.history-row>.button{grid-column:1/-1;justify-self:start}.review-item{padding:19px}.coverage-list summary{padding:16px;gap:10px;font-size:13px}.coverage-list summary small{max-width:75px;line-height:1.6;text-align:right}.coverage-body{padding:0 16px 15px}.objective{font-size:12px}.count-badge{font-size:9px;padding:4px 5px}.objective:has(.objective-practice){grid-template-columns:1fr auto}.objective-practice{grid-column:2;justify-self:end}.objective:has(.objective-practice)>div:first-child{grid-row:1/3}.source-card p{font-size:12px}.drill-row>.actions{width:100%;flex-wrap:wrap}.drill-row select{flex:1;min-width:150px}.site-footer{font-size:10px;padding:17px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{.site-header,.site-footer,.topic-nav,.guide-bottom,.actions,.question-sidebar,.review-toolbar,.button{display:none!important}body,main,.panel{background:white!important;color:black!important}main{padding:0;max-width:none}.guide-layout{display:block}.guide-content{border:0;padding:0}.prose table{display:table}h2,h3{break-after:avoid}tr,img,.review-item{break-inside:avoid}.prose a:after{content:" (" attr(href) ")";font-size:9px}}
