:root{--navy:#142e42;--navy2:#1e4255;--sea:#087974;--ink:#213444;--muted:#637786;--line:#dce7e7;--bg:#f7f9f7;--cream:#fffdf9;--pale:#e8f5f0;--gold:#e5aa63;--radius:16px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font:16px/1.7 system-ui,-apple-system,Segoe UI,Arial,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--sea);text-decoration:none}a:hover{text-decoration:underline}a:focus-visible,button:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:3px}h1,h2,h3{line-height:1.2;letter-spacing:-.02em}h1,h2{font-family:Georgia,'Times New Roman',serif;font-weight:500}h1{font-size:clamp(2.6rem,5vw,4.1rem);margin:10px 0 18px}h2{font-size:clamp(1.7rem,3vw,2.25rem);margin:43px 0 17px;scroll-margin-top:25px}h3{font-size:1.15rem;margin:0 0 10px}p{margin:0 0 16px}strong{font-weight:725}small{color:var(--muted)}.layout{display:grid;grid-template-columns:257px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#d9e9e8;padding:27px 17px;position:sticky;top:0;height:100vh;overflow:auto;display:flex;flex-direction:column}.brand{display:flex;color:white;align-items:center;gap:12px;padding:0 6px 25px;border-bottom:1px solid #426072}.brand:hover{text-decoration:none}.logo{width:43px;height:43px;border-radius:12px;background:var(--sea);display:grid;place-items:center;font:bold 23px Georgia;color:white}.brand strong{display:block;font:700 19px Georgia}.brand small{font:800 10px system-ui;letter-spacing:.11em;color:#a6c6c7}.navtitle{font-size:10px;color:#8caeaf;letter-spacing:.18em;font-weight:800;text-transform:uppercase;margin:25px 12px 12px}.nav{display:grid;gap:4px}.nav a{color:#c5dce0;font-size:13px;font-weight:600;padding:11px 12px;border-radius:9px;display:flex;gap:11px;align-items:center}.nav a:hover{color:#fff;background:#2a4b5c;text-decoration:none}.nav a[aria-current=page]{background:#ddf1e9;color:#0c5b57}.nav b{font-size:10px;font-weight:800;width:26px;height:25px;display:grid;place-items:center;border:1px solid currentColor;border-radius:7px;flex-shrink:0}.side-note{margin-top:auto;font-size:12px;color:#9bbbc0;line-height:1.6;padding:25px 11px 0}.mobile-head{display:none}.content{max-width:1190px;margin:auto;padding:50px clamp(24px,5vw,76px) 68px;min-width:0}.page-header{border-bottom:1px solid var(--line);margin-bottom:28px;padding-bottom:26px}.eyebrow,.label{color:var(--sea);letter-spacing:.16em;font-size:11px;font-weight:850;text-transform:uppercase}.lede{font-size:18px;color:var(--muted);max-width:790px;line-height:1.7}.article{max-width:1000px}.article>p{max-width:860px}.article ul,.article ol{padding-left:27px;margin:15px 0 22px}.article li{margin-bottom:8px}.article blockquote{border-left:4px solid var(--sea);background:var(--pale);margin:24px 0;padding:17px 22px;border-radius:0 12px 12px 0}.article blockquote p{margin:0}.article table{width:100%;border-collapse:collapse;background:white;font-size:14px}.article th{text-align:left;background:#eaf3f1;font-size:12px;color:#3b5762}.article td,.article th{padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:top}.article table tr:last-child td{border-bottom:0}.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;margin:18px 0 23px}.article code{font:14px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;background:#edf3f4;color:#24506a;border-radius:4px;padding:2px 4px}.article pre{white-space:pre-wrap;background:#142e42;color:#edf9f5;padding:20px;border-radius:12px;overflow:auto}.article pre code{background:transparent;color:inherit;padding:0}.math{font-family:Georgia,serif;color:#0d615a;font-size:1.1em}.mathline{font:1.45rem/1.6 Georgia,serif;color:#155c57;background:#eef7f3;padding:13px 17px;margin:14px 0;border-radius:10px}.hero{background:linear-gradient(125deg,#1c4857,#102b40);color:#f1f9f9;padding:34px;border-radius:22px;display:grid;grid-template-columns:1fr 260px;align-items:center;gap:30px}.hero h2{font-size:clamp(2rem,3.7vw,3rem);color:white;margin:14px 0}.hero p{color:#daebea}.hero strong{color:#ade3cf}.hero-bars{text-align:center}.hero-number{font:64px Georgia}.bar-row{display:flex;height:45px;border:2px solid #bde8db;border-radius:4px;overflow:hidden}.bar-row span{flex:1;background:#5bb4ac;border-right:1px solid white}.bar-row span:last-child{background:#d9b478;border:0}.hero-bars p{font-size:12px;margin-top:16px}.btn{background:var(--sea);border:0;color:#fff;padding:12px 17px;border-radius:9px;font-weight:750;display:inline-block;font-size:13px;cursor:pointer;text-decoration:none}.btn:hover{text-decoration:none;filter:brightness(1.07)}.btn.outline{background:white;border:1px solid #bdd9d4;color:var(--sea)}.btn.light{background:#b8e5d5;color:#124339}.buttons{display:flex;gap:12px;flex-wrap:wrap}.grid2,.grid3{display:grid;gap:17px;margin:23px 0}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.card,.tile,.model,.question,.section-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);padding:23px;box-shadow:0 8px 25px rgba(15,52,63,.035)}.tile{color:var(--ink);display:block;transition:transform .18s,border-color .18s}.tile:hover{border-color:#84bdb6;transform:translateY(-3px);text-decoration:none}.tile h3{font-family:Georgia;font-size:22px}.tile p{color:var(--muted);font-size:14px}.tile span{font-weight:750;font-size:13px;color:var(--sea)}.big-num{font:60px Georgia;color:#bcded3}.model{margin:23px 0}.model h3{font-family:Georgia;font-size:23px}.model .prompt{color:var(--muted)}.model .solution{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.model .result{background:var(--pale);color:#175d57;border-radius:9px;padding:10px 15px}.model svg{max-width:600px;width:100%;height:auto;display:block;background:#f7fbfc;border:1px solid #e1eded;border-radius:12px;padding:10px;margin:12px 0}.vblue{fill:#a7ccdf;stroke:#4c859d;stroke-width:1.6}.vgold{fill:#e7bf84;stroke:#b88a53;stroke-width:1.6}.vgreen{fill:#c4e6d9;stroke:#5e9d8b;stroke-width:1.6}.vtext{font:15px Arial;fill:#234456}.vsmall{font:13px Arial;fill:#56717f}.vline{stroke:#547180;fill:none;stroke-width:2}.pill{display:inline-block;background:#e4f5ee;color:#086b65;border-radius:7px;padding:5px 8px;font-size:11px;font-weight:800;letter-spacing:.04em}.chapter-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px;margin:24px 0}.chapter-cols .card h3{margin-top:12px}.chapter-cols ul{padding-left:21px;margin:8px 0}.worked{border-left:3px solid #9ccdc0;padding:8px 20px;margin:20px 0}.worked h3{font-size:17px}.next{background:#e8f1ee;padding:20px 24px;margin:40px 0;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:18px}.next p{margin:0}.cardsub{font-size:12px;color:var(--muted)}.footer{border-top:1px solid var(--line);padding:24px 0;color:var(--muted);font-size:12px;margin-top:60px;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.practice-bar,.tracker-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:22px 0}.practice-bar label,.tracker-actions label{font-size:13px;font-weight:700}select{font:14px system-ui;color:var(--ink);background:white;border:1px solid #c5d8d8;border-radius:9px;padding:10px 12px}.question{margin:12px 0}.question-header{display:flex;gap:12px;align-items:center;font-size:12px;color:var(--muted)}.question h3{margin:13px 0;font:700 16px/1.5 system-ui}.question details{border-top:1px dashed var(--line);padding-top:12px}.question summary{cursor:pointer;color:var(--sea);font-size:13px;font-weight:800}.question details p{background:var(--pale);padding:12px;border-radius:8px;margin-top:11px}.tracker-heading{font:normal 25px Georgia;margin:20px 0 10px}.tracker-row{display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line);padding:10px 0}.tracker-row:last-child{border:0}.tracker-row label{font-size:14px}.tracker-row select{width:170px}.tracker-score{background:var(--pale);border-radius:12px;padding:14px 20px}.tracker-score strong{font:35px Georgia;color:var(--sea)}.resource{display:block;color:var(--ink)}.resource:hover{text-decoration:none}.resource small{display:block;margin-top:9px}.print-only{display:none}.inline-list{display:flex;flex-wrap:wrap;gap:12px}.alert{padding:17px 20px;border-left:4px solid var(--sea);background:var(--pale);margin:25px 0;border-radius:0 12px 12px 0}.alert.warning{background:#fff4e4;border-color:#d39549}.alert p{margin:0}.toc-links{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0}.toc-links a{font-size:12px;background:white;border:1px solid var(--line);padding:7px 11px;border-radius:7px}
@media(max-width:1020px){.layout{grid-template-columns:220px minmax(0,1fr)}.content{padding:42px 32px 64px}.hero{grid-template-columns:1fr}.hero-bars{display:none}}@media(max-width:820px){.layout{display:block}.sidebar{display:none;position:fixed;top:64px;left:0;right:0;height:calc(100vh - 64px);z-index:9}.sidebar.active{display:flex}.sidebar .brand{display:none}.side-note{margin-top:16px}.mobile-head{height:64px;background:var(--navy);display:flex;align-items:center;justify-content:space-between;color:white;padding:0 19px;position:sticky;top:0;z-index:10}.mobile-head a{color:white;font:700 19px Georgia}.mobile-head button{border:1px solid #547385;border-radius:8px;background:#254d61;padding:8px 14px;color:white;font-weight:700}.content{padding:30px 23px 60px}}@media(max-width:600px){.content{padding:25px 16px 55px}.grid2,.grid3,.chapter-cols{grid-template-columns:1fr}.hero{padding:26px}.next{flex-direction:column;align-items:flex-start}.tracker-row{display:block}.tracker-row select{display:block;width:100%;margin-top:8px}.article td,.article th{padding:10px 12px;font-size:12px}.model,.card,.tile{padding:19px}}
@media print{body{background:white;color:black;font:11pt/1.45 Georgia}.layout{display:block}.sidebar,.mobile-head,.footer,.buttons,.practice-bar,.tracker-actions,.next,.btn{display:none!important}.content{max-width:none;padding:0}.page-header{margin:0 0 14px;padding:0 0 12px}h1{font-size:29pt}h2{font-size:17pt;margin:22px 0 10px;break-after:avoid}h3{break-after:avoid}.card,.model,.question,.table-wrap,.alert{break-inside:avoid;box-shadow:none}.article td,.article th{padding:7px 9px}.hero{background:#f6f6f6;color:black}.hero h2,.hero p{color:black}.print-only{display:block}@page{margin:17mm}}
