@font-face{font-family:Inter;src:local('Inter')}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-bottom:100px}body{margin:0;background:#f4f3ed;color:#172c37;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;line-height:1.6}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:#175d62;text-underline-offset:4px}button:disabled{cursor:default;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #d97538;outline-offset:4px}[hidden]{display:none!important}.shell{max-width:1140px;margin:auto;padding:0 30px}.top{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid #d9ded8;gap:16px}.brand{display:flex;gap:11px;align-items:center;text-decoration:none;color:#172c37;font-weight:800;line-height:1.1}.brand-mark{display:grid;place-items:center;width:44px;height:46px;background:#1d514e;color:#fff;clip-path:polygon(0 0,100% 0,100% 74%,50% 100%,0 74%);font-size:19px}.brand-text{font-size:19px}.brand-text small{display:block;font-size:10px;text-transform:uppercase;letter-spacing:1.4px;margin-top:6px;font-weight:500}.top-sync{font-size:12px;color:#526461;max-width:50%;text-align:right}.tabs{display:flex;gap:8px;padding:16px 0;border-bottom:1px solid #d9ded8;position:relative}.tabs a{display:flex;gap:9px;align-items:center;justify-content:center;padding:10px 20px;text-decoration:none;color:#576966;font-size:14px;border-radius:9px;font-weight:650}.tabs a[aria-current=page]{background:#1d514e;color:#fff}.tabs span{font-size:18px}main{min-height:65vh;padding:34px 0 20px;outline:0}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(32px,4.7vw,56px);line-height:1.1;letter-spacing:-1.8px;margin-bottom:20px}h2{font-size:25px;line-height:1.25;letter-spacing:-.6px;margin-bottom:12px}h3{font-size:18px;line-height:1.35;margin-bottom:8px}p{margin-bottom:16px}.muted,.small{color:#61716e}.small{font-size:13px}.eyebrow{text-transform:uppercase;letter-spacing:1.8px;font-weight:750;font-size:11px;margin-bottom:16px;color:#41706b}.hero{display:grid;grid-template-columns:1.45fr 1fr;gap:40px;padding:42px;background:#e6ece2;border:1px solid #d8e1d4;border-radius:18px;overflow:hidden}.hero h1{max-width:600px}.hero p{max-width:490px;color:#435b55}.road-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:260px}.road-art svg{max-height:300px;width:100%}.hero-stat{position:absolute;bottom:5px;right:2px;background:#fffdf6;border:1px solid #d9ded8;box-shadow:0 7px 14px #1d514e0b;padding:14px 20px;border-radius:12px;transform:rotate(3deg);font-size:12px}.hero-stat b{display:block;font-size:28px;line-height:1.2;color:#1d514e}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #1d514e;background:#1d514e;color:white;border-radius:8px;min-height:46px;padding:11px 20px;text-decoration:none;font-size:14px;font-weight:700;line-height:1.4}.btn:hover{background:#153f3d}.btn.secondary,.btn.ghost{background:transparent;color:#1d514e;border-color:#bccbc2}.btn.secondary:hover,.btn.ghost:hover{background:#e5ece3}.btn.small{min-height:38px;padding:8px 13px}.btn.warn{background:#a6402c;border-color:#a6402c}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row.between{justify-content:space-between}.row.end{justify-content:flex-end}.stack>*+*{margin-top:18px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:32px 0 16px}.section-head h2{margin:0}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.card{border:1px solid #dbe0d9;border-radius:12px;padding:25px;background:#fffdf8}.card p:last-child{margin-bottom:0}a.tile{text-decoration:none;color:inherit;display:flex;flex-direction:column;min-height:195px;transition:transform .15s,border-color .15s}a.tile:hover{transform:translateY(-3px);border-color:#6c9586}.tile .kicker{font-size:11px;color:#6b7b72;text-transform:uppercase;letter-spacing:1.2px;margin-bottom:20px}.tile .arrow{margin-top:auto;font-size:13px;font-weight:700;color:#286158}.tile p{font-size:14px;color:#61716e}.tile.feature{background:#203f42;color:#fff}.tile.feature p,.tile.feature .kicker,.tile.feature .arrow{color:#d5e5dc}.strip{display:flex;gap:20px;flex-wrap:wrap;border-bottom:1px solid #d9ded8;padding:18px 0;font-size:12px;color:#62736d}.strip b{color:#274e43}.badge{display:inline-block;padding:4px 10px;border-radius:20px;background:#e8eee5;color:#315d4d;font-size:11px;font-weight:700}.badge.amber{background:#fcf0dc;color:#89591c}.page-title{max-width:750px}.page-title h1{font-size:38px}.page-title p{color:#5d716a}.back{display:inline-block;margin-bottom:22px;font-size:13px;text-decoration:none}.list{display:grid;gap:10px}.list-item{display:flex;align-items:center;gap:17px;padding:19px 22px;background:#fffdf8;border:1px solid #dbe0d9;border-radius:10px;color:inherit;text-decoration:none}.list-item:hover{border-color:#7a9c8d}.list-item .number{display:grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:#eef0e8;color:#386353;font-weight:700}.list-item .grow{flex:1}.list-item h3{font-size:16px;margin:0 0 4px}.list-item p{margin:0;font-size:12px;color:#68786d}.progress-track{height:6px;border-radius:5px;background:#e1e6df;overflow:hidden;margin:12px 0}.progress-track>i{display:block;height:100%;background:#377568;border-radius:5px}.lesson{max-width:770px;margin:auto}.lesson .card{margin-bottom:14px}.lesson .card h3{font-size:18px}.lesson .card p{color:#3b514a}.key-number{display:inline-block;border-radius:6px;padding:4px 10px;background:#edf1df;color:#39593d;font-weight:750;margin-bottom:12px;font-size:15px}.tip{padding:18px 22px;background:#faecd8;border-left:3px solid #c78b45;border-radius:0 8px 8px 0;color:#66502b;font-size:14px}.lesson-figure{margin:26px 0;padding:16px;background:white;border-radius:10px;text-align:center}.lesson-figure img{max-width:100%;max-height:430px;object-fit:contain}.lesson-figure figcaption{font-size:12px;color:#637568;margin-top:8px}.quiz{max-width:760px;margin:auto}.quiz h1{font-size:29px;letter-spacing:-.6px;line-height:1.35}.quiz-toolbar{display:flex;gap:10px;justify-content:space-between;align-items:center;font-size:12px;color:#64766d;margin-bottom:17px}.options{display:grid;gap:11px;margin:24px 0}.option{text-align:left;display:flex;gap:14px;align-items:center;border:1px solid #d3ded4;background:#fffdf8;padding:17px;border-radius:10px;color:#243e35;font-size:15px;min-height:64px}.option .letter{flex-shrink:0;width:28px;height:28px;display:grid;place-items:center;background:#eef0e9;border-radius:5px;font-size:12px;font-weight:800}.option:hover{border-color:#588773;background:#f2f5ec}.option.selected{border:2px solid #28675b;background:#eaf0e7;padding:16px}.option.correct{border:2px solid #2c7953;background:#e6f2e5;padding:16px}.option.incorrect{border:2px solid #b65c45;background:#fff0e7;padding:16px}.option:disabled{opacity:1}.feedback{background:#e9f0e4;border:1px solid #d2dfcc;padding:24px;border-radius:10px;margin:24px 0}.feedback.wrong{background:#fff1e7;border-color:#e9cfb9}.feedback h2{font-size:20px}.feedback blockquote{font-size:13px;border-left:2px solid #a8baab;margin:12px 0;padding-left:14px;color:#52675c}.feedback details{font-size:13px;margin-top:15px}.feedback .tip{margin-top:16px}.question-sign{display:block;height:150px;width:170px;object-fit:contain;margin:22px auto}.question-map{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0}.question-map button{width:34px;height:34px;border-radius:6px;border:1px solid #d5dfd4;background:#fffdf8;color:#59705f;font-size:12px}.question-map button.answered{background:#d9e9d9;color:#214b3b}.question-map button.current{outline:2px solid #1d514e;outline-offset:1px}.score{font-size:64px;font-weight:800;line-height:1.2;letter-spacing:-2px;color:#2e6554}.score small{font-size:24px;letter-spacing:0;color:#6a7c70}.result{text-align:center;background:#e6ece2;padding:35px;border-radius:14px;margin-bottom:25px}.result h1{font-size:30px;margin:14px 0}.review-item{margin:12px 0}.review-item summary{font-weight:600;cursor:pointer}.review-item .answer-label{font-size:12px;color:#5a7361;margin-bottom:8px}.sign-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}.sign-card{text-align:center;padding:19px 12px;background:#fffdf8;border:1px solid #dbe0d9;border-radius:10px}.sign-card img{width:110px;height:110px;object-fit:contain;max-width:100%}.sign-card h3{font-size:13px;margin:12px 0 6px}.sign-card a{font-size:11px}.filters{display:flex;gap:10px;margin:20px 0;flex-wrap:wrap}input,select{min-height:45px;background:#fffdf8;border:1px solid #c9d5c8;border-radius:8px;padding:10px 14px;color:#254335;max-width:100%}input[type=search]{flex:1;min-width:160px}.flashcard{width:100%;min-height:300px;border:1px solid #cdd9c9;border-radius:16px;background:#fffdf8;padding:35px;text-align:center;display:flex;align-items:center;justify-content:center;flex-direction:column;font-size:25px;font-weight:650;color:#21443a;line-height:1.4}.flashcard.flipped{background:#e7efdf}.flashcard small{font-size:11px;color:#6a806c;font-weight:500;margin-top:25px;text-transform:uppercase;letter-spacing:1.5px}.metric{font-size:34px;font-weight:800;letter-spacing:-1px;color:#2b614f}.number-grid .card{padding:20px}.number-grid .card h3{font-size:28px;color:#27614d}.number-grid .card p{font-size:13px}.notice{font-size:13px;padding:16px 20px;background:#faecd8;border:1px solid #ead8b8;border-radius:9px;margin-bottom:20px}.footer{border-top:1px solid #d9ded8;padding:24px 0 35px;color:#6a776d;font-size:11px;line-height:1.8}.footer .row{justify-content:space-between}.footer p{margin:12px 0 0;max-width:730px}.footer a{color:#4e6b5b}dialog{border:1px solid #c9d7c7;border-radius:14px;max-width:430px;width:calc(100% - 32px);padding:0;background:#fffdf8;color:#243d31}dialog::backdrop{background:#10271db3}.dialog-body{padding:27px}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:30px;background:#203f35;color:white;padding:13px 22px;border-radius:10px;z-index:30;max-width:calc(100% - 28px);box-shadow:0 5px 25px #0002;font-size:13px}.empty{text-align:center;padding:50px 24px}.print-only{display:none}@media(min-width:800px){.tabs{margin-top:4px}main{padding-top:28px}}@media(max-width:799px){.shell{padding:0 18px}.top{padding:17px 0}.brand-text{font-size:16px}.brand-mark{width:37px;height:40px}.top-sync{font-size:10px}.tabs{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#fafbf5f5;backdrop-filter:blur(12px);border-top:1px solid #d8dfd5;border-bottom:0;justify-content:space-around;padding:8px 6px calc(8px + env(safe-area-inset-bottom));gap:0}.tabs a{flex-direction:column;gap:2px;padding:5px 12px;font-size:10px;border-radius:8px}.tabs span{font-size:19px;line-height:1.2}.tabs a[aria-current=page]{background:#e3ecdf;color:#1d514e}main{padding-top:23px}.hero{grid-template-columns:1fr;padding:27px;gap:10px}.hero h1{font-size:38px;letter-spacing:-1.3px}.hero p{font-size:14px}.hero .road-art{display:none}.hero .row .btn{flex:1;padding:12px;font-size:13px}.strip{gap:8px 20px;font-size:11px;padding:14px 0}.grid{grid-template-columns:1fr}.grid.two{grid-template-columns:1fr}.grid.metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.metrics .card{padding:16px 10px}.metrics .small{font-size:10px}.metric{font-size:26px}.card{padding:21px}.section-head{margin-top:26px}.section-head h2{font-size:21px}a.tile{min-height:165px}.tile .kicker{margin-bottom:12px}.page-title h1{font-size:32px}.page-title p{font-size:14px}.list-item{padding:16px 14px;gap:13px}.list-item .number{width:34px;height:34px;font-size:13px}.list-item h3{font-size:15px}.quiz h1{font-size:23px}.option{font-size:14px;padding:15px 12px;gap:10px}.option.selected,.option.correct,.option.incorrect{padding:14px 11px}.quiz .card{padding:22px 18px}.feedback{padding:19px}.sign-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.sign-card{padding:13px 7px}.sign-card img{width:78px;height:78px}.sign-card h3{font-size:11px}.number-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.number-grid .card{padding:15px}.number-grid .card h3{font-size:23px}.flashcard{font-size:22px;min-height:310px;padding:25px}.footer{padding-bottom:110px}.toast{bottom:90px}.row.mobile-fill>*{flex:1}.btn{padding:11px 16px}.lesson-figure{padding:10px}.section-head .small{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{.top,.tabs,.footer,.btn,.filters{display:none}body{background:white}.shell{max-width:none;padding:0}.card{break-inside:avoid}.print-only{display:block}}
