:root{--navy:#18354e;--navy-dark:#112b41;--teal:#078f8b;--teal-dark:#076e6b;--teal-pale:#e4f4f1;--text:#1d3447;--muted:#597186;--line:#dbe6ec;--bg:#f4f8fa;--white:#fff;--peach:#fff1e6;--purple:#f0edfa;--shadow:0 11px 35px rgba(18,53,75,.055)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 system-ui,-apple-system,'Segoe UI',Arial,sans-serif}button,input,textarea{font:inherit}button{cursor:pointer}a{color:var(--teal-dark)}a:hover{text-decoration-thickness:2px}img,svg{max-width:100%}.skip-link{position:absolute;left:-999px;top:12px;background:#fff;padding:12px;z-index:40}.skip-link:focus{left:12px}.shell{display:flex;min-height:100vh}.sidebar{width:254px;flex-shrink:0;position:sticky;top:0;height:100vh;background:var(--navy-dark);color:white;padding:29px 18px 20px;display:flex;flex-direction:column}.brand{padding:0 12px 10px;display:flex;flex-direction:column;gap:0}.wordmark{font-weight:900;letter-spacing:-1.7px;font-size:32px;line-height:1.1}.dot,.mobile-brand span{color:#45d1be}.brand-caption{font-size:10px;font-weight:900;letter-spacing:3px;color:#c9d8e1}.qualification{margin:19px 10px 22px;padding:13px 14px;border:1px solid #395369;border-radius:12px;font-size:13px;color:#ebf2f8}.qualification span{color:#a4c1cf}.sidebar nav{display:grid;gap:5px}.nav-item{display:flex;align-items:center;gap:12px;color:#c5d5e0;text-decoration:none;padding:12px 13px;border-radius:12px;font-size:14px;font-weight:650;border:1px solid transparent}.nav-item:hover,.nav-item:focus-visible{background:#27475c;color:#fff}.nav-item.active{background:#215a62;color:#fff;border-color:#386f71}.nav-symbol{font-size:18px;width:21px;text-align:center}.sidebar-note{margin-top:auto;padding:18px 11px 0;border-top:1px solid #344d60;color:#d5e2e9;font-size:12px}.sidebar-note small{color:#9cb6c5}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#64d0bd;margin-right:5px}.main-shell{width:calc(100% - 254px);min-width:0;display:flex;flex-direction:column}.topbar{height:72px;display:flex;align-items:center;justify-content:flex-end;padding:0 5%;background:white;border-bottom:1px solid var(--line)}.topbar-label{font-size:13px;color:#788c9d}.topbar-label strong{color:var(--navy)}.topbar-divider{padding:0 8px;color:#c0ccd3}.mobile-brand,.menu-toggle{display:none}main{width:min(1200px,100%);padding:38px clamp(24px,5vw,72px) 72px;margin:0 auto;flex:1}.footer{border-top:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;gap:18px;padding:22px 5%;font-size:12px;color:var(--muted);flex-wrap:wrap}.eyebrow{text-transform:uppercase;letter-spacing:1.4px;font-size:11px;color:var(--teal-dark);font-weight:850;margin:0 0 9px}.h1{font-size:clamp(31px,4vw,48px);font-weight:850;letter-spacing:-1.7px;color:var(--navy);line-height:1.12;margin:0 0 14px}.h2{font-size:clamp(23px,3vw,32px);letter-spacing:-.9px;line-height:1.22;color:var(--navy);margin:0 0 13px}.h3{font-size:19px;letter-spacing:-.3px;color:var(--navy);margin:0 0 8px}.lead{font-size:17px;color:var(--muted);line-height:1.7;max-width:790px;margin:0 0 24px}.body-copy{color:#3d5668;line-height:1.75}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:32px 0 18px;flex-wrap:wrap}.section-head p{margin:2px 0 0;color:var(--muted);font-size:14px}.stack{display:grid;gap:18px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.panel{background:#fff;border:1px solid var(--line);border-radius:19px;padding:23px;box-shadow:var(--shadow)}.card h3{font-size:19px;letter-spacing:-.5px;color:var(--navy);margin:10px 0 8px}.card p{font-size:14px;color:var(--muted);margin:0 0 14px}.card.click-card{display:block;text-decoration:none;color:inherit;transition:transform .14s,box-shadow .14s}.card.click-card:hover{transform:translateY(-2px);box-shadow:0 15px 28px rgba(23,54,82,.11);border-color:#b2d8d2}.card-icon{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px;border-radius:13px;font-size:21px;background:#e9f4f3}.card-icon.blue{background:#eaf0fb}.card-icon.orange{background:#fff0df}.card-icon.violet{background:#f0edfa}.card-icon.sage{background:#eaf4e8}.card-kicker{color:var(--teal-dark);font-size:11px;font-weight:850;letter-spacing:1px;text-transform:uppercase}.tiny{font-size:12px;color:var(--muted)}.muted{color:var(--muted)}.hero{border-radius:26px;min-height:250px;background:linear-gradient(115deg,#173950,#086d74);color:white;padding:34px;display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;align-items:center;overflow:hidden;position:relative}.hero h1{color:#fff}.hero p{color:#e2f6f5;font-size:16px;max-width:580px}.hero .eyebrow{color:#a9efdf}.hero img{max-height:190px;filter:drop-shadow(0 12px 12px rgba(5,23,34,.26))}.hero .btn{background:white;color:#10525e;border-color:#fff}.hero .btn:hover{background:#e6f9f6}.btn,.link-btn{display:inline-flex;justify-content:center;align-items:center;gap:9px;border:1px solid #0b8987;border-radius:11px;background:var(--teal);color:white;text-decoration:none;font-weight:750;font-size:14px;padding:11px 17px;min-height:43px;transition:background .14s}.btn:hover{background:#086f6c;color:#fff}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.secondary{background:white;color:var(--navy);border:1px solid #c7d7e0}.btn.secondary:hover{background:#eef6fa}.btn.ghost{background:transparent;color:var(--teal-dark);border-color:transparent}.btn.small{font-size:12px;padding:8px 12px;min-height:35px}.btn-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;border-radius:99px;background:#eef4f6;color:#3b6273;padding:4px 10px;font-size:11px;font-weight:750}.pill.teal{background:var(--teal-pale);color:#146f6b}.pill.orange{background:#fff0df;color:#875b2e}.pill.purple{background:#eeeafa;color:#67528f}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin:19px 0}.stat{background:#fff;border-radius:16px;padding:18px;border:1px solid var(--line)}.stat strong{font-size:29px;display:block;line-height:1.25;letter-spacing:-1px;color:var(--navy)}.stat span{font-size:12px;color:var(--muted)}.progress-track{height:10px;background:#e4ebef;border-radius:99px;overflow:hidden}.progress-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,#0c938c,#75c7af);transition:width .3s}.progress-label{display:flex;justify-content:space-between;font-size:12px;color:var(--muted);margin-bottom:5px}.callout{background:#e9f5f2;border:1px solid #bee3db;border-radius:16px;padding:17px 20px;color:#285e61}.callout.warning{background:#fff6eb;border-color:#f3dab5;color:#6f542e}.callout p{margin:4px 0 0}.callout strong{color:#154e54}.read-box{background:#f6fafb;border-left:4px solid #0a9892;padding:18px 22px;border-radius:0 12px 12px 0;margin:13px 0}.read-box p{margin:8px 0 0;color:#40596a;font-size:15px}.read-box h3{margin:0}.info-list{padding-left:19px;color:#435d70}.info-list li{padding:4px 0}.question-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:clamp(20px,3vw,31px);box-shadow:var(--shadow);margin-top:18px}.question-head{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;align-items:center;margin-bottom:16px}.question-body{font-size:19px;color:#1b3749;font-weight:680;line-height:1.53;margin:0 0 23px}.answer-options{display:grid;gap:10px}.answer-option{background:#fff;border:1.5px solid #d4e2e7;border-radius:11px;padding:13px 15px;text-align:left;color:var(--text);display:flex;align-items:flex-start;gap:12px;transition:background .12s,border .12s}.answer-option:hover{background:#f0faf8;border-color:#4ab1a9}.answer-option.selected{border-color:#087f7b;background:#e4f4f1}.option-letter{display:inline-flex;flex-shrink:0;width:30px;height:30px;border-radius:8px;border:1px solid #dce5e8;background:#f3f7f8;align-items:center;justify-content:center;font-weight:850;color:#536d7b}.answer-option.selected .option-letter{background:#0b817e;color:white;border-color:#0b817e}.answer-option[disabled]{cursor:default}.text-input,.textarea{width:100%;border:1.5px solid #c5d8df;border-radius:12px;background:white;padding:12px 14px;color:var(--navy);min-height:45px}.text-input:focus,.textarea:focus{outline:3px solid #cbeae5;border-color:#0b8b85}.textarea{min-height:210px;resize:vertical;line-height:1.6}.checkbox-line{display:flex;gap:9px;align-items:center;font-size:14px;color:var(--muted);cursor:pointer}.checkbox-line input{width:17px;height:17px;accent-color:var(--teal)}.separator{border:0;border-top:1px solid var(--line);margin:25px 0}.article{max-width:880px}.article .read-box{margin:20px 0}.diagram{width:100%;border:1px solid #e0eaed;border-radius:16px;background:white;display:block;margin:15px 0}.diagram.small{max-height:270px;object-fit:contain}.topic-list{display:grid;gap:13px}.topic-row{background:white;display:flex;justify-content:space-between;gap:18px;align-items:center;padding:19px 21px;border:1px solid var(--line);border-radius:15px;text-decoration:none;color:var(--text)}.topic-row:hover{border-color:#84c1bb;background:#f9fdfc}.topic-row h3{font-size:16px;color:var(--navy);margin:2px 0 5px}.topic-row p{font-size:13px;color:var(--muted);margin:0}.topic-no{min-width:58px;font-size:13px;color:var(--teal-dark);font-weight:850}.topic-arrow{font-size:21px;color:var(--teal-dark)}.math-formula{background:#f0f6fa;border-radius:13px;padding:19px;font-size:19px;color:#173e57;line-height:1.5;font-weight:700}.math-step{display:flex;gap:14px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line)}.math-step:last-child{border-bottom:0}.step-index{width:29px;height:29px;display:grid;place-items:center;flex-shrink:0;border-radius:50%;background:#d5ede9;color:#1c736b;font-weight:850}.math-answer{display:flex;gap:9px;align-items:stretch;max-width:410px}.math-answer input{flex:1;width:130px}.math-answer button{flex-shrink:0}.feedback{margin-top:16px;padding:16px;border:1px solid #cddfe2;border-radius:13px;background:#f3f8fa}.feedback.good{border-color:#a5d9c9;background:#e9f7ef;color:#245f49}.feedback.try{border-color:#efdaab;background:#fff8e9;color:#6b542d}.feedback p{margin:3px 0 0}.lesson-mode{display:flex;flex-wrap:wrap;gap:9px;margin:17px 0}.lesson-mode button{padding:10px 15px;border:1px solid #b7cdd5;color:#34566b;background:white;border-radius:11px;font-weight:700}.lesson-mode button.active{background:var(--navy);color:white;border-color:var(--navy)}.mini-meta{font-size:12px;color:var(--muted);font-weight:680}.topic-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topic-heading .pill{margin-left:auto}.chart-bar{display:grid;grid-template-columns:170px 1fr 65px;gap:12px;align-items:center;font-size:13px;padding:6px 0}.chart-bar .progress-track{height:12px}.challenge-stage{background:white;border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;align-items:center;gap:15px;margin:11px 0}.challenge-stage .number{width:45px;height:45px;flex-shrink:0;border-radius:12px;background:var(--teal-pale);color:var(--teal-dark);font-weight:900;font-size:19px;display:grid;place-items:center}.challenge-stage .number.completed{background:#0e8d83;color:white}.challenge-stage .stage-main{flex:1}.challenge-stage h3{margin:0 0 4px;font-size:16px}.challenge-stage p{margin:0;font-size:13px;color:var(--muted)}.nav-back{font-size:13px;display:inline-block;margin-bottom:16px;text-decoration:none;font-weight:700}.quiz-image{display:block;width:100%;max-height:245px;object-fit:contain;border:1px solid var(--line);border-radius:14px;background:#fff;margin:0 0 19px}.info-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}.checklist{list-style:none;padding:0;margin:0;display:grid;gap:9px}.checklist li{padding-left:27px;position:relative;color:#425d70}.checklist li:before{content:'✓';position:absolute;left:0;top:0;color:#168b7f;font-weight:900}.result-card{border:1px solid var(--line);border-radius:15px;padding:19px;background:white}.result-score{font-size:50px;letter-spacing:-2px;font-weight:850;line-height:1;color:var(--navy)}.exam-visual{background:#eef6f5;border-radius:16px;overflow:hidden;display:grid;place-items:center}.score-tag{font-size:13px;font-weight:900;color:var(--teal-dark)}.notice{position:fixed;z-index:50;bottom:20px;right:20px;background:#1b3b4e;color:white;padding:14px 18px;border-radius:12px;max-width:360px;box-shadow:0 14px 30px #1234;opacity:0;transform:translateY(8px);pointer-events:none;transition:.2s}.notice.show{opacity:1;transform:translateY(0)}.empty{padding:29px;background:#fff;border:1px dashed #b3cbd3;border-radius:16px;text-align:center;color:var(--muted)}.chip-row{display:flex;gap:8px;flex-wrap:wrap}.rating{font-weight:850;color:#2c746b}.qa-note{font-size:12px;color:var(--muted);margin-top:18px}.wordmark-inline{font-size:22px;font-weight:900;letter-spacing:-.8px}.wordmark-inline span{color:var(--teal)}@media(max-width:1050px){.sidebar{width:220px}.main-shell{width:calc(100% - 220px)}main{padding:33px 26px 60px}.grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-bar{grid-template-columns:125px 1fr 49px}}@media(max-width:760px){.shell{display:block}.sidebar{display:none}.main-shell{width:100%}.topbar{height:68px;padding:0 18px;justify-content:space-between;gap:10px}.topbar-label{display:none}.mobile-brand{display:block;font-size:23px;font-weight:900;letter-spacing:-.8px;color:var(--navy)}.mobile-brand small{font-size:9px;letter-spacing:1px;color:var(--muted);vertical-align:middle}.menu-toggle{display:inline-block;border:1px solid var(--line);border-radius:10px;background:#f9fcfc;color:var(--navy);padding:9px 11px;font-size:13px;font-weight:800}.mobile-nav:not([hidden]){display:grid;background:white;border-bottom:1px solid var(--line);padding:10px 15px;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.mobile-nav .nav-item{color:#28506a;background:#f6fafb;font-size:12px;padding:10px;gap:7px}.mobile-nav .nav-item.active{background:#d6f0eb;color:#095a56}main{padding:27px 16px 55px}.hero{display:block;padding:26px 23px;min-height:0}.hero img{display:none}.grid,.grid-3{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.card,.panel{padding:19px}.question-body{font-size:17px}.footer{padding:18px}.chart-bar{grid-template-columns:110px 1fr 45px;gap:8px;font-size:11px}.topic-row{padding:17px 13px;gap:8px}.topic-no{min-width:51px}.topic-row p{font-size:12px}.lesson-mode button{font-size:12px}.math-answer{width:100%}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important}}
@media print{.sidebar,.topbar,.footer,.btn,.mobile-nav,.notice{display:none!important}.main-shell,main{width:100%!important;padding:0!important;margin:0!important;background:white!important}.card,.panel{box-shadow:none!important}.question-card{break-inside:avoid}}
