:root{--green:#176f31;--lime:#40bc47;--ink:#171b18;--muted:#5c685f;--line:#dce4de;--soft:#edf7ef;--brown:#7e2602}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.55 Inter,"Segoe UI",sans-serif;background:#f5f7f5}a{color:inherit}button,select{font:inherit;color:inherit;cursor:pointer}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #219043;outline-offset:4px}button{line-height:1.3}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.15;letter-spacing:-.035em}h2{font-size:1.35rem}.header{height:90px;background:white;border-bottom:1px solid var(--line);padding:12px max(24px,calc((100vw - 1280px)/2));display:flex;align-items:center;justify-content:space-between;gap:24px}.header img{object-fit:contain;height:64px;width:124px}.header nav{display:flex;gap:28px}.header nav a{text-decoration:none;font-size:.95rem;font-weight:650}.header nav [aria-current]{color:var(--green);text-decoration:underline;text-underline-offset:7px}main{max-width:1280px;margin:auto;padding:40px 24px 56px}.catalog{padding:24px 0 0}.eyebrow{font-size:.875rem;letter-spacing:.12em;font-weight:750;color:var(--green);margin-bottom:20px}.catalog h1{font-size:clamp(2.5rem,5vw,4.6rem);letter-spacing:-.05em;line-height:1.03}.catalog h1 span{color:var(--green)}.intro{font-size:1.125rem;color:var(--muted);max-width:600px;margin:24px 0 34px}.level-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.level-card{display:flex;flex-direction:column;text-align:left;background:#fff;border:1px solid var(--line);border-top:5px solid var(--green);padding:24px;border-radius:6px 6px 18px 18px;min-height:255px;transition:transform .15s,box-shadow .15s;text-decoration:none}.level-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #163b1d12}.level-card:last-child{border-top-color:var(--brown)}.level-number{color:var(--green);font-weight:700;font-size:2.5rem;letter-spacing:-.08em;margin-bottom:22px;line-height:1}.level-card:last-child .level-number{color:var(--brown)}.level-card h2{font-size:1.65rem}.level-card p{color:var(--muted);margin-top:8px;font-size:.95rem}.level-cta{display:flex;justify-content:space-between;margin-top:auto;padding-top:25px;font-weight:700;color:var(--green)}.catalog-foot{border-top:1px solid var(--line);margin-top:34px;padding-top:22px;display:flex;justify-content:space-between;gap:32px;color:var(--muted);font-size:.9rem}.catalog-foot p{max-width:600px}.practice-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.practice-heading h1{font-size:2.6rem;margin:8px 0}.practice-heading p{color:var(--muted)}.heading-actions{display:flex;align-items:center;gap:16px}.heading-actions span{font-size:.875rem;color:var(--muted);max-width:180px}.button{border:1px solid #cbd7ce;background:#fff;border-radius:9px;padding:11px 17px;font-weight:650;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:hover:not(:disabled){background:var(--soft)}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover:not(:disabled){background:#0d5422}.small{font-size:.875rem;padding:9px 13px}.text-button{border:0;background:none;color:var(--green);font-weight:650;padding:0;text-align:left}.back{font-size:.9rem}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 345px;gap:24px;align-items:start}.book{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.book-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 20px;background:white;border-bottom:1px solid var(--line)}.book-tools span{display:block;color:var(--muted);font-size:.875rem}.page-image-wrap{background:white;min-height:220px}.page-image-wrap img{display:block;width:100%;height:auto}.page-controls{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px;border-top:1px solid var(--line)}.page-controls label{font-size:.875rem;white-space:nowrap}.page-controls select{padding:7px 5px;border:1px solid var(--line);border-radius:6px;background:white}.answers{background:white;border:1px solid var(--line);border-radius:14px;padding:22px}.answers-top p{font-size:.9rem;color:var(--muted);margin:8px 0}progress{display:block;width:100%;height:7px;accent-color:var(--green);margin-bottom:18px}.question-map{display:grid;grid-template-columns:repeat(10,1fr);gap:4px}.map-button{border:1px solid var(--line);border-radius:5px;background:#fff;font-size:.875rem;min-height:29px;padding:3px 0}.map-button.answered{background:var(--green);border-color:var(--green);color:white}.map-button.on-page{box-shadow:0 0 0 2px #181c19;position:relative;z-index:1}.map-button.correct{background:#dff4e4;color:#125126;border-color:#279745}.map-button.incorrect{background:#ffebe9;color:#94251e;border-color:#cd645a}.map-button.excluded{background:#fff4d7;color:#6d4b00;border-color:#c6a243}.map-help{font-size:.875rem;color:var(--muted);margin:12px 0 22px}.answer-field{border:0;margin:0 0 20px;padding:18px 0 0;border-top:1px solid var(--line);min-width:0}.answer-field legend{font-size:1rem;font-weight:750;padding:0;padding-top:6px}.topic{font-size:.875rem;color:var(--muted);margin-bottom:10px}.choices{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.choice{position:relative;display:flex;gap:5px;justify-content:center;align-items:center;min-height:44px;border:1px solid #c7d3c9;border-radius:8px;cursor:pointer;font-weight:650}.choice:has(input:checked){background:var(--green);border-color:var(--green);color:white}.choice:has(input:focus-visible){outline:3px solid var(--green);outline-offset:3px}.choice input{accent-color:var(--green);width:15px;height:15px;margin:0}.choice:has(input:disabled){cursor:default}.clear-answer{font-size:.875rem;margin-top:10px}.answer-note{font-size:.875rem;line-height:1.45;background:#fff6df;color:#694b0c;padding:10px;border-radius:7px;margin:10px 0}.feedback{font-size:.95rem;line-height:1.5;margin-top:14px}.feedback strong{display:block;margin-bottom:6px;color:var(--green)}.feedback.wrong strong{color:#9f2e22}.reset{font-size:.9rem;text-decoration:underline;margin-top:8px}.notice{padding:16px 20px;border:1px solid #ddc888;background:#fff8e8;border-radius:10px;margin-bottom:24px;font-size:.95rem}.results{margin-bottom:28px;background:#14351f;color:white;border-radius:16px;padding:26px}.result-top{display:flex;gap:24px;align-items:center}.score{font-size:3.7rem;font-weight:750;line-height:1;letter-spacing:-.06em;white-space:nowrap}.result-stats{display:flex;flex-wrap:wrap;gap:18px;margin:22px 0}.result-stats span{font-size:.95rem}.topic-results{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0}.topic-result{background:#ffffff10;border:1px solid #ffffff30;border-radius:9px;padding:12px;font-size:.875rem}.topic-result strong{display:block;font-size:1.1rem;margin-bottom:5px}.result-actions{display:flex;gap:10px;flex-wrap:wrap}.results .text-button{color:white}.source-credit{font-size:.875rem;color:var(--muted);max-width:880px;margin-top:24px}footer{border-top:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;gap:20px;padding:24px max(24px,calc((100vw - 1232px)/2));font-size:.875rem;color:var(--muted)}footer a{color:var(--green)}dialog{border:0;border-radius:16px;padding:28px;width:min(480px,calc(100% - 32px));box-shadow:0 20px 90px #0005}dialog::backdrop{background:#0b1f15aa}dialog p{margin:16px 0 24px;color:var(--muted)}.dialog-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}.zoom-dialog{width:min(1200px,calc(100% - 20px));max-height:94dvh;padding:16px}.zoom-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.zoom-dialog p{margin:10px 0;font-size:.875rem}.zoom-scroll{overflow:auto;max-height:75dvh}.zoom-scroll img{display:block;width:1050px;max-width:none;height:auto}.skip{position:absolute;left:12px;top:-70px;background:#fff;padding:10px;z-index:99}.skip:focus{top:10px}.image-error{padding:30px}.load-error{grid-column:1/-1}.empty-page{font-size:.95rem;color:var(--muted);margin:20px 0}
@media(max-width:1050px){.level-grid{grid-template-columns:repeat(2,1fr)}.workspace{grid-template-columns:minmax(0,1fr) 315px;gap:16px}.answers{padding:16px}.heading-actions{flex-direction:column;align-items:end}.topic-results{grid-template-columns:repeat(2,1fr)}}
@media(max-width:760px){.header{height:78px;padding:8px 18px}.header img{width:104px;height:58px}.header nav{gap:16px}.header nav a{font-size:.875rem}main{padding:28px 16px 40px}.catalog{padding-top:12px}.catalog h1{font-size:2.9rem}.level-grid{gap:12px}.level-card{padding:18px;min-height:245px}.level-card h2{font-size:1.4rem}.level-number{margin-bottom:18px;font-size:2rem}.catalog-foot{flex-direction:column;gap:12px}.practice-heading{align-items:start;flex-wrap:wrap}.practice-heading h1{font-size:2.2rem}.heading-actions{flex-direction:row;align-items:center;justify-content:space-between;width:100%}.heading-actions .button{padding:12px}.workspace{display:flex;flex-direction:column}.book,.answers{width:100%}.book-tools{padding:13px}.page-controls{padding:12px 8px;gap:4px}.page-controls .button{padding:10px 9px;font-size:.875rem}.answers{padding:20px}.question-map{gap:6px}.map-button{min-height:34px}.answer-field{scroll-margin-top:16px}.result-top{gap:16px}.score{font-size:3rem}.results{padding:20px}.results h2{font-size:1.2rem}.result-stats{gap:10px 18px}footer{flex-direction:column;padding:22px 18px;gap:8px}.choice{min-height:48px}.source-credit{font-size:.875rem}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
