:root{--green:#173328;--lime:#c8f15a;--bg:#f7f8f3;--muted:#536157;--line:#dce3d8}*{box-sizing:border-box}body{background:var(--bg);color:var(--green);margin:0;font:16px DM Sans,Arial,sans-serif}h1,h2,h3,.price,.score{font-family:Manrope,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}button,a,input{touch-action:manipulation}button,.button{background:var(--lime);min-height:48px;color:var(--green);cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:14px;padding:14px 20px;font:700 15px DM Sans,Arial,sans-serif;text-decoration:none;display:inline-flex}button:hover,.button:hover{filter:brightness(.96)}button:disabled{opacity:.45;cursor:not-allowed}:focus-visible{outline-offset:4px;outline:3px solid #c16b2f}h2:focus{outline:none}header,main,footer{max-width:1200px;margin:auto}header{justify-content:space-between;align-items:center;gap:24px;min-height:112px;padding:18px 32px;display:flex}.brand{display:flex}.brand img{object-fit:contain;width:174px;height:70px}nav{gap:24px;display:flex}nav a{padding:12px 0;font-size:14px;font-weight:700;text-decoration:none}main{padding:0 32px}h1{letter-spacing:-.055em;margin:23px 0;font-size:clamp(38px,4.5vw,64px);font-weight:800;line-height:1.08}h2{letter-spacing:-.04em;margin:13px 0;font-size:clamp(25px,3vw,34px);line-height:1.2}h3{letter-spacing:-.025em;font-size:20px;line-height:1.4}p{line-height:1.65}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-size:11px;font-weight:800}.hero{background:var(--green);color:#fff;border-radius:24px;grid-template-columns:1.25fr 1fr;display:grid;overflow:hidden}.intro{z-index:1;padding:52px 0 44px 48px}.intro>.eyebrow{color:var(--lime)}.intro>p{color:#d4dfd3;max-width:420px;font-size:17px}.hero-actions{gap:12px;max-width:390px;margin:27px 0 16px;display:grid}.hero-actions .button{justify-content:space-between}.intro .hero-note{color:#bdcebd;font-size:12px}.road-art{align-items:center;display:flex;position:relative}.road-art svg{object-fit:cover;width:100%;height:100%;min-height:490px}.art-caption{color:#dce8d7;background:#163127;border-radius:6px;align-items:center;gap:8px;width:fit-content;padding:4px 8px;font-size:11px;display:flex;position:absolute;bottom:24px;left:26px;right:20px}.live-dot{background:var(--lime);border-radius:50%;width:6px;height:6px}.how,.library{margin:64px 0}.steps-grid{grid-template-columns:repeat(3,1fr);gap:32px;margin-top:28px;display:grid}.steps-grid article{border-top:1px solid var(--line);padding-top:22px}.step-number{color:#65735f;font-size:13px}.steps-grid h3{margin:16px 0 8px}.muted{color:var(--muted)}.card{border:1px solid var(--line);background:#fff;border-radius:18px;padding:28px}.manual{margin:22px 0}.manual h2{font-size:24px}.manual p{margin:8px 0 18px}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.actions{flex-wrap:wrap;align-items:center;gap:14px 24px;display:flex}.actions a{align-items:center;min-height:44px;font-size:14px;font-weight:700;display:inline-flex}.secondary{background:#edf1e7;border-color:#dce3d8}.document-icon{background:#eef3e6;border-radius:10px;padding:19px 12px;font-size:14px;font-weight:800}.manual-frame{border:1px solid var(--line);border-radius:8px;width:100%;height:72vh}.class-page{max-width:900px;margin:auto}.back-link{padding:14px 0;font-size:14px;display:inline-block}.class-heading{padding:26px 0 10px}.class-heading h1{margin:12px 0;font-size:48px}.class-heading h1 span{font-weight:500}.class-heading p{color:var(--muted)}.quiz{margin:20px 0 36px;padding:36px}.pill{background:#edf4de;border-radius:30px;padding:7px 11px;font-size:11px;font-weight:800;display:inline-block}.start{max-width:620px}.start h2{margin-top:22px}.instructions{margin:22px 0 26px;padding-left:22px;line-height:2}.small{font-size:13px}.question-step{margin-top:30px}progress{accent-color:#517d2b;width:100%;height:6px;margin:18px 0 30px;display:block}fieldset{border:0;min-width:0;margin:26px 0;padding:0}.option{border:1px solid var(--line);cursor:pointer;background:#f8faf5;border-radius:12px;align-items:center;gap:14px;min-height:64px;margin:12px 0;padding:18px;line-height:1.5;display:flex}.option.selected{background:#eff8da;border:2px solid #436635;padding:17px}.option input{width:20px;height:20px;accent-color:var(--green);flex-shrink:0}.quiz-nav{border-top:1px solid var(--line);padding-top:24px}.score{margin:20px 0 0;font-size:20px;font-weight:800;line-height:1.35}.review{margin-top:40px}.review-item{border-top:1px solid var(--line);margin-top:26px;padding-top:24px}.status{font-size:12px;font-weight:700}.status-icon{text-align:center;min-width:1em;display:inline-block}.status.correct{color:#326327}.status.incorrect{color:#a2252d}.status.unanswered{color:#565d58}.explanation{background:#f1f5e9;border-radius:10px;padding:16px}.premium{margin:40px 0}.plans{grid-template-columns:repeat(3,1fr);gap:14px;margin-top:24px;display:grid}.plans .card{padding:22px}.featured{background:#f0f7e1;border:2px solid #526c32}.price{letter-spacing:-.04em;margin:12px 0;font-size:32px;font-weight:800}.price span{letter-spacing:0;font-size:12px}.plans p:last-child{font-size:13px}.switch-class{margin:30px 0;font-size:14px}.switch-class a{font-weight:700}footer{border-top:1px solid var(--line);color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:50px;padding:30px 32px;font-size:12px;display:flex}footer p{width:100%;margin:8px 0;font-size:11px}.skip{background:var(--lime);z-index:5;padding:12px;position:absolute;top:-100px;left:12px}.skip:focus{top:10px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (max-width:700px){header{gap:10px;min-height:92px;padding:14px 20px}.brand img{width:128px;height:54px}nav{gap:12px}nav a{font-size:11px}main{padding:0 16px}.hero{border-radius:18px;grid-template-columns:1fr}.intro{padding:32px 26px 12px}h1{font-size:41px}.intro>p{font-size:16px}.hero-actions{max-width:none}.hero-actions .button{padding:16px 12px;font-size:13px}.road-art{height:245px;overflow:hidden}.road-art svg{height:460px;min-height:0;transform:translateY(-30px)}.art-caption{font-size:10px;bottom:16px}.how,.library{margin:44px 0}.steps-grid,.plans{grid-template-columns:1fr;gap:16px}.steps-grid article{padding-top:18px}.steps-grid h3{margin:10px 0 6px}.steps-grid p{margin:0}.card,.quiz{padding:22px}.manual h2{font-size:22px}.document-icon{display:none}.actions{gap:8px 20px}.actions a{font-size:13px}.class-heading{padding-top:18px}.class-heading h1{font-size:38px}.class-heading p{font-size:15px}.quiz .row{font-size:12px}.quiz h2{font-size:25px}.option{padding:16px 12px;font-size:15px}.option.selected{padding:15px 11px}.quiz-nav button{padding:13px 16px;font-size:13px}.plans .card{padding:24px}.plans h3{margin:16px 0 8px}footer{padding:24px 20px}.manual-frame{height:60vh}}.pdf-reader{margin-top:20px}.pdf-toolbar{padding:14px 0;font-size:13px}.pdf-toolbar button{padding:10px;font-size:12px}.pdf-page{border:1px solid var(--line);background:#e7ebe1;border-radius:8px;max-height:75vh;padding:8px;overflow:auto}.pdf-page canvas{background:#fff;width:100%;height:auto;display:block}.pdf-page canvas[data-rendered=false]{opacity:.25}@media (max-width:700px){.pdf-toolbar{gap:8px}.pdf-toolbar button{padding:10px 8px;font-size:11px}.pdf-toolbar span{font-size:11px}}.topic-label{margin:16px 0 8px;font-weight:700;display:block}.topic-select{border:1px solid var(--line);width:100%;max-width:420px;min-height:48px;color:var(--green);font:inherit;background:#f8faf5;border-radius:10px;margin-bottom:16px;padding:10px 12px;display:block}.practice-review{border-top:1px solid var(--line);margin-top:28px;padding-top:24px}.practice-feedback{margin:16px 0}.exam-outcome{border:1px solid;border-radius:12px;align-items:center;gap:12px;padding:14px 16px;font-size:clamp(17px,3vw,23px);font-weight:800;line-height:1.3;display:flex}.exam-outcome.passed{color:#285820;background:#e9f5e3}.exam-outcome.failed{color:#8e2630;background:#fbecec}.question-illustration{max-width:100%;height:auto;margin:14px 0;display:block}.hero-actions .button{text-align:center;justify-content:center}.hero-pass-link{color:var(--lime);padding:8px 0;font-weight:700;display:inline-block}.pass-class-picker{flex-wrap:wrap;gap:8px;margin:22px 0 16px;display:flex}.pass-class-picker legend{margin-bottom:10px;font-weight:700}.pass-class-picker label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;align-items:center;gap:8px;min-height:44px;padding:10px 12px;display:flex}.pass-class-picker label:has(:checked){background:#edf4de;border-color:#526c32;font-weight:700}.pass-class-picker input{accent-color:var(--green);margin:0}.plans article{flex-direction:column;align-items:flex-start;display:flex}.plans article .button{margin-top:auto}.premium-invitation{background:var(--green);color:#fff;border-radius:14px;margin-top:36px;padding:22px}.premium-invitation .eyebrow{color:var(--lime)}:root{--header-offset:90px;--bottom-promo:72px}html{scroll-padding-top:var(--header-offset);scroll-padding-bottom:70px}html:has(.home-promo){scroll-padding-bottom:calc(var(--bottom-promo) + 70px + env(safe-area-inset-bottom,0px))}body:has(.home-promo){padding-bottom:calc(var(--bottom-promo) + env(safe-area-inset-bottom,0px))}.home-passes{scroll-margin-top:0}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);max-width:none;min-height:0;padding:0;display:block;position:sticky;top:0}.header-inner{align-items:center;gap:24px;max-width:1200px;margin:auto;padding:8px 32px;display:flex}.header-inner .brand{margin-right:auto}.header-inner .brand img{height:56px}.header-passes{white-space:nowrap;min-height:44px;padding:10px 14px}.mobile-nav{display:none}.skip{z-index:30}.site-footer{padding-bottom:64px;display:block}.site-footer nav{flex-wrap:wrap;gap:4px 20px}.site-footer p{margin-top:12px}.home-promo{z-index:15;background:var(--green);color:#fff;padding:8px 16px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid #496758;position:fixed;inset:auto 0 0}.home-promo>div{justify-content:space-between;align-items:center;gap:12px;max-width:1136px;margin:auto;display:flex}.home-promo .button{white-space:nowrap;min-height:44px;padding:8px 14px}.back-to-top{z-index:12;background:var(--green);color:#fff;border-color:#edf4de;width:44px;height:44px;min-height:44px;padding:0;font-size:21px;position:fixed;bottom:16px;right:16px;box-shadow:0 2px 8px #17332830}body:has(.home-promo) .back-to-top{bottom:calc(var(--bottom-promo) + env(safe-area-inset-bottom,0px))}.pass-promise{font-weight:700}@media (max-width:700px){:root{--header-offset:76px}.header-inner{gap:8px;padding:8px 16px}.header-inner .brand img{width:110px;height:44px}.header-inner .desktop-nav{display:none}.header-passes,.home-promo .button{font-size:13px}.mobile-nav{display:block}.mobile-nav summary{cursor:pointer;min-height:44px;padding:12px 6px;font-size:13px;font-weight:700}.mobile-nav nav{border:1px solid var(--line);background:#fff;border-radius:10px;gap:0;padding:8px 14px;display:grid;position:absolute;inset:100% 12px auto auto;box-shadow:0 8px 20px #17332824}.mobile-nav nav a,.home-promo strong{font-size:14px}}
