:root{font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#16343e;background:#afc2c3;font-size:17px;--teal:#064e59;--navy:#102f3a;--muted:#314b54}*{box-sizing:border-box}body{margin:0;padding-bottom:100px}header{background:var(--navy);color:white;padding:calc(18px + env(safe-area-inset-top)) 24px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;letter-spacing:2px;font-size:13px}.brand img{width:36px;height:36px}#mode{font-size:12px;color:#bce0de}main{max-width:1000px;margin:auto;padding:28px 22px}h1{font-size:clamp(28px,5vw,42px);line-height:1.15;letter-spacing:-1.1px;margin:10px 0 12px}h2{font-size:22px;margin:0 0 12px}h3{font-size:19px;line-height:1.35;margin:8px 0}p{line-height:1.6;margin:10px 0}.eyebrow{text-transform:uppercase;font-size:12px;font-weight:750;letter-spacing:1.5px;color:var(--teal)}.muted,small{color:var(--muted)}.hero{background:var(--navy);color:white;border-radius:22px;padding:28px;margin:22px 0}.hero .muted{color:#c4d7da}.hero .eyebrow{color:#88d8d0}.hero button{background:#c5ec89;color:#19383c}.row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.stats{display:flex;gap:22px;margin-top:22px}.stats strong{font-size:25px;display:block}.stats span{font-size:12px;color:#c4d7da}.cards{display:grid;gap:14px}.card{background:white;border:1px solid #dce5e3;border-radius:17px;padding:20px;box-shadow:0 4px 12px #102f3a04}.card.done{opacity:.75}.time{font-size:14px;color:var(--muted);font-weight:600}.subject{font-size:12px;text-transform:uppercase;font-weight:750;letter-spacing:1px;color:var(--teal)}button,.button{font:inherit;font-size:15px;font-weight:650;cursor:pointer;border:0;background:var(--teal);color:white;border-radius:11px;padding:12px 18px;min-height:44px;text-decoration:none}button.secondary{background:#edf3f1;color:#23434c}button.danger{background:#fff0e9;color:#a53b24}button:disabled{opacity:.45;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #b1d54e;outline-offset:3px}.actions{display:flex;gap:9px;margin-top:16px;flex-wrap:wrap}.badge{display:inline-block;background:#e9f3ed;color:#28664a;padding:5px 9px;border-radius:6px;font-size:12px}.warning{background:#fff2db;border-left:4px solid #d5a04a;padding:14px;border-radius:8px;color:#74501b;margin:14px 0}.empty{padding:22px;background:#edf2f0;border-radius:14px}.notes{white-space:pre-wrap;line-height:1.75;font-size:18px}.section{margin:24px 0}.exam{border-left:4px solid #d7a244;margin-bottom:14px}nav{position:fixed;bottom:0;left:0;right:0;background:#244751;border-top:1px solid #587780;box-shadow:0 -4px 16px #102f3a26;display:flex;justify-content:center;gap:8px;padding:12px 10px calc(12px + env(safe-area-inset-bottom));z-index:3}nav button{background:transparent;color:#e1ecee;min-width:75px;padding:12px;border:2px solid transparent}nav button.active{background:#c5ec89;color:#17363d;border-color:#dcf6b6;font-weight:750}nav button:focus-visible{outline:3px solid #ffffff;outline-offset:2px}@media(hover:hover){nav button:not(.active):hover{background:#365d67;color:#ffffff}}input,select,textarea{width:100%;font:inherit;border:1px solid #bccdcd;border-radius:9px;padding:12px;background:white;color:#16343e;margin:7px 0 16px}textarea{min-height:120px;resize:vertical}label{font-weight:650;font-size:14px}dialog{border:0;border-radius:20px;max-width:550px;width:calc(100% - 28px);max-height:85vh;padding:24px;color:var(--navy)}dialog::backdrop{background:#102f3aaa}#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:90vw;width:max-content;background:#16343e;color:white;padding:14px 20px;border-radius:12px;z-index:10;display:none}.day{margin:26px 0 12px}.progress{height:7px;background:#ffffff25;border-radius:9px;margin-top:18px;overflow:hidden}.progress span{display:block;height:100%;background:#c5ec89}.timer{font-size:48px;font-variant-numeric:tabular-nums;margin:12px 0}.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}.question{font-size:21px}.answer{background:#e9f5ef;border-radius:12px;padding:20px;white-space:pre-wrap}details{padding:10px 0}summary{cursor:pointer;font-weight:650}.file{max-width:100%}@media(max-width:600px){main{padding:22px 16px}header{padding-left:16px;padding-right:16px}.hero{padding:22px}.split{grid-template-columns:1fr}nav{gap:0}nav button{min-width:0;flex:1;padding:12px 8px}.card{padding:18px}.stats{gap:20px}#mode{max-width:110px;text-align:right}}

/* Illustrated learning missions */
.mission{border-top:5px solid #087e8b;margin-bottom:18px}.mission li,.worked li{line-height:1.7;margin:10px 0}.lesson-figure{margin:18px 0;padding:12px}.lesson-figure img{display:block;width:100%;max-width:560px;height:auto;margin:auto}.lesson-figure figcaption{font-size:17px;line-height:1.6;margin:14px 8px;color:#36525a}.lesson-reading summary{font-size:21px}.reading-part{margin:24px 0}.reading-part h3{font-size:20px;color:#08717d}.reading-part p{white-space:pre-line}.worked{background:#f1f8e9}.challenge{border-left:5px solid #a75629}.reveal{margin:14px 0;border:1px solid #bdceca;border-radius:10px;padding:14px}.reveal summary{cursor:pointer;color:#075e6a;font-size:18px;min-height:30px}.reveal p{white-space:pre-line}.choices{border:0;padding:0;margin:18px 0}.choices legend{font-size:16px;margin-bottom:12px}.choices label{display:flex;align-items:center;gap:12px;border:2px solid #d4e2df;border-radius:12px;padding:14px;min-height:58px;margin:10px 0;font-size:18px;line-height:1.5}.choices input{width:22px;height:22px;min-width:22px;accent-color:#087e8b;margin:0}.choices label:has(input:checked){border-color:#087e8b;background:#edf8f3}.answer{white-space:pre-line}.lesson-reading>p{white-space:pre-line}@media(min-width:760px){.lesson-figure img{max-width:480px}.lesson-reading{padding:28px}}

.paper-route{background:#edf4f2;border:1px solid #a9c3c1;border-radius:12px;padding:18px}.solution-steps{padding-left:28px}.solution-steps li{padding:8px 0;line-height:1.7;white-space:pre-line}.question{white-space:pre-line}

.dashboard-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dashboard-stats strong{display:block;font-size:30px;color:var(--navy)}.dashboard-stats span{font-size:16px;line-height:1.5}.dashboard-table{overflow-x:auto}.dashboard table{border-collapse:collapse;width:100%;font-size:16px}.dashboard th,.dashboard td{padding:12px 10px;text-align:left;border-bottom:1px solid #c9d6d3}.dashboard caption{text-align:left;padding:12px 0;font-weight:bold}@media(min-width:760px){.dashboard-stats{grid-template-columns:repeat(4,1fr)}}

.app-update{max-width:1040px;margin:18px auto 0;padding:20px;background:#fff4d5;color:#16343e;border:2px solid #bc8735;border-radius:14px}.app-update[hidden]{display:none}@media(max-width:760px){.app-update{margin:16px}}
.lesson-section{margin:32px 0;border:1px solid #59787d;border-radius:18px;overflow:hidden;background:#fff;box-shadow:0 5px 16px #102f3a12}.lesson-section-heading{background:#173d49;color:white;padding:20px 24px}.lesson-section-heading>span{display:block;font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#c5dce0;margin-bottom:7px}.lesson-section-heading h2{color:white;font-size:30px;line-height:1.2;margin:0}.lesson-section-body{padding:24px}.lesson-subheading{font-size:21px;line-height:1.35;background:#40636b;color:#edf5f3;border-radius:9px;padding:12px 15px;margin:0 0 18px}.lesson-section h4{font-size:18px;color:#3b626b;margin:18px 0 8px}.lesson-reading{font-size:18px;line-height:1.75}.lesson-reading p{white-space:pre-line}.lesson-example+.lesson-example,.practice-question+.practice-question{border-top:1px solid #c3d3d2;padding-top:22px;margin-top:24px}.lesson-example li{line-height:1.7;margin:10px 0}.practice-quest{border-top:3px solid #b4c8c7;margin-top:28px;padding-top:26px}.practice-quest .progress{background:#d9e7df;margin:14px 0}.practice-quest .progress span{background:#39765b}.paper-route,.reflection{margin-top:28px}.paper-route{padding:18px;background:#edf3ef;border-radius:12px}.tutor-button{margin:12px 6px 0 0}.tutor-extra{padding-top:16px}.suggested-pace{border-top:1px solid #d3deda;margin-top:18px;padding-top:14px;font-size:14px;color:#35555e}.highlight-tools{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:20px}.highlight-tools small{font-size:14px;max-width:440px}.saved-highlight{display:flex;gap:12px;justify-content:space-between;align-items:center;margin:12px 0}.saved-highlight mark{overflow-wrap:anywhere}mark{background:#ffe69a;color:#19343b;border-radius:3px;padding:0 2px}.source-reference{font-size:14px}.source-reference p{overflow-wrap:anywhere}#tutor-answer{margin:18px 0;white-space:pre-wrap;font-size:17px}#study-summary{user-select:text;-webkit-user-select:text}@media(max-width:600px){.lesson-section-heading,.lesson-section-body{padding:18px}.lesson-section-heading h2{font-size:28px}.lesson-subheading{font-size:20px}.saved-highlight{align-items:flex-start}}

.lesson-section{overflow:clip}.highlight-tools{position:sticky;top:0;background:white;padding:10px 0;z-index:2;border-bottom:1px solid #d3deda}
