:root{--field:#103f54;--field-2:#092e40;--field-line:#285e70;--paper:#f7f4ea;--paper-line:#c3c7bb;--sheet:#f8f9fb;--card:#ffffff;--ink:#15171c;--ink-soft:#464c57;--bone:#f2f0ea;--bone-soft:#b4b8c1;--step:#c9ced6;--found:#6aa9d8;--found-ink:#24527a;--understood:#8fb04a;--understood-ink:#3f5a12;--chosen:#e0563b;--chosen-ink:#a8291f;--proof:#f2b33d;--proof-ink:#7d5c00;--purple:#9b7cf0;--piece-i:#3fb6a8;--piece-o:#f2b33d;--piece-j:#6aa9d8;--piece-l:#c97b4a;--work-ink:#146e64;--face:"Archivo",system-ui,-apple-system,"Segoe UI",sans-serif;--rail:300px;--r:14px}*{box-sizing:border-box}html{background:var(--paper);-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);font-family:var(--face);color:var(--ink);font-size:16px;line-height:1.55}a{color:var(--found-ink);text-underline-offset:3px}h1,h2,h3{font-stretch:112%;font-weight:800;letter-spacing:-0.01em;line-height:1.15;margin:0}p{margin:0 0 .8em}button,input,textarea,select{font:inherit;color:inherit}.mm-course{--course-ring:var(--ink)}.mm-course :is(.top,.prog,.banner,.decision,.mm-course-mast){--course-ring:var(--bone)}.mm-course :focus-visible{outline:3px solid var(--course-ring);outline-offset:2px}[tabindex="-1"]:focus{outline:none}.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}[hidden][hidden]{display:none}.top{position:sticky;top:0;z-index:30;background:var(--field);color:var(--bone)}.top-in{display:flex;align-items:center;gap:12px;padding:8px 16px;min-height:60px}.brand{display:flex;align-items:center;gap:10px;font-weight:900;font-stretch:125%;font-size:18px;letter-spacing:-.02em;color:var(--bone);text-decoration:none;white-space:nowrap;min-height:44px}.brand .bt{display:none}.where{flex:1;min-width:0;font-size:15px;font-weight:600;color:var(--bone);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.where .sub{color:var(--bone-soft);font-weight:500}.top-score{display:none;font-size:15px;color:var(--bone-soft);white-space:nowrap}.top-score b{color:var(--proof);font-weight:800}.saved{font-size:14px;color:var(--bone-soft)}.saved.off{display:none}.menu-btn{min-height:44px;padding:0 14px;border-radius:10px;border:1px solid #3a3f4b;background:transparent;color:var(--bone);font-weight:700;cursor:pointer}.strip{display:flex;gap:6px;padding:0 16px 8px}.strip .g{flex:1;display:flex;gap:2px}.strip i{flex:1;height:6px;border-radius:2px;background:var(--field-line)}.note{background:#fbeeea;color:var(--chosen-ink);font-weight:700;padding:10px 16px;font-size:15px;border-bottom:1px solid #f0c9bd}.rail{display:none}main{padding:24px 16px 0;max-width:760px;margin:0 auto;min-height:calc(100vh - 80px)}@media (min-width:520px){.brand .bt{display:inline}}@media (min-width:960px){.menu-btn,.strip{display:none}.top-score{display:block}.layout{display:grid;grid-template-columns:var(--rail) minmax(0,1fr)}.rail{display:block;position:sticky;top:60px;align-self:start;height:calc(100vh - 60px);overflow:auto;padding:20px 16px 32px;border-right:1px solid var(--paper-line)}main{padding:40px 48px 0;width:100%;max-width:820px}}.prog{display:flex;gap:16px;align-items:flex-start;background:var(--field);color:var(--bone);border-radius:var(--r);padding:16px}.prog .well{flex:none;display:block}.prog .well .clearing{animation:lc .5s steps(1) 3}@keyframes lc{0%{opacity:1}50%{opacity:.2}100%{opacity:1}}.stats{display:grid;gap:10px;min-width:0;font-size:15px;line-height:1.3}.stats .k{display:block;font-size:14px;color:var(--bone-soft)}.stats .v{font-size:22px;font-weight:900;font-stretch:118%}.stats .v.score{color:var(--proof)}.stats .lv{font-weight:700}.stats .streak{color:var(--bone-soft)}.rail .prog{margin-bottom:16px;padding:14px}.rail .stats .v{font-size:19px}.nav{list-style:none;margin:0;padding:0}.nav a{display:flex;align-items:center;gap:10px;min-height:44px;padding:6px 10px;border-radius:10px;color:var(--ink);text-decoration:none;font-size:15px;line-height:1.3}@media(hover:hover){.nav a:hover{background:transparent}}.nav a[aria-current="page"]{background:var(--field);color:var(--bone)}.nav .dot{flex:none;width:34px;height:26px;border-radius:6px;display:grid;place-items:center;font-weight:800;font-size:14px;color:var(--ink);background:var(--step)}.nav .done .dot{background:var(--understood)}.nav .lab{flex:1;min-width:0}.nav .lab .here{display:table;margin-top:3px}.nav .here{flex:none;font-size:14px;font-weight:700;color:var(--proof-ink);background:#fdf1d6;border-radius:6px;padding:1px 8px}.nav a[aria-current="page"] .here{background:var(--proof);color:var(--ink)}.nav .sep{font-size:14px;font-weight:700;color:var(--ink-soft);padding:14px 10px 4px}.save-copy{margin-top:16px;width:100%}dialog.sheet-menu{border:0;padding:0;margin:0 0 0 auto;height:100%;max-height:100%;width:min(360px,92vw);background:var(--paper)}dialog.sheet-menu::backdrop{background:rgba(20,22,28,.5)}.sheet-in{padding:16px}.sheet-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:10px;border:1.5px solid var(--ink);background:var(--card);color:var(--ink);font-weight:700;cursor:pointer;text-decoration:none;font-size:16px;line-height:1.2;text-align:center}@media(hover:hover){.btn:hover{background:#f6f6f2}}.btn.primary{background:var(--field);color:var(--bone);border-color:var(--field);min-height:52px;padding:0 22px;font-size:17px}@media(hover:hover){.btn.primary:hover{background:#262a34}}.btn.quiet{border-color:var(--step);font-weight:600}.btn.link{border:0;background:none;color:var(--found-ink);text-decoration:underline;text-underline-offset:3px;padding:0 6px;font-weight:600}.act-slot{display:contents}.act{position:sticky;bottom:0;z-index:15;display:flex;align-items:center;gap:12px;margin:32px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:1px solid var(--paper-line);box-shadow:0 -6px 16px rgba(20,22,28,.08)}html{scroll-padding-top:80px;scroll-padding-bottom:110px}.act .btn.primary{flex:1}.act .reward{flex:0 1 auto;font-size:14px;font-weight:700;line-height:1.25;color:var(--proof-ink);background:#fdf1d6;border-radius:8px;padding:6px 10px;max-width:38%}.act .reward b{font-weight:900}.act .reward.none{color:var(--ink-soft);background:var(--sheet);border:1px solid var(--paper-line)}@media (min-width:960px){.act{margin:40px -48px 0;padding:16px 48px 20px}.act .btn.primary{flex:0 1 auto;margin-left:auto}}[data-view]{display:flex;flex-direction:column;min-height:calc(100vh - 110px)}[data-view] > .act,[data-view] > .act-slot > .act{margin-top:auto}[data-view] .panel,#how > div,[data-view] > .card:last-of-type,[data-view] > details:last-of-type{margin-bottom:32px}.kick{font-size:14px;font-weight:700;color:var(--ink-soft);margin:0 0 8px;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.vh1{font-size:clamp(28px,6.4vw,44px);font-stretch:118%;font-weight:900;letter-spacing:-.02em;margin:0 0 12px}.lede{font-size:19px;line-height:1.45;color:var(--ink);margin:0 0 20px;max-width:34em}.tag{display:inline-block;font-size:14px;font-weight:700;padding:2px 10px;border-radius:6px;color:var(--ink)}.t-found{background:var(--found)}.t-understood{background:var(--understood)}.t-chosen{background:var(--chosen)}.t-proof{background:var(--proof)}.card{background:var(--card);border:1px solid var(--paper-line);border-radius:var(--r);padding:20px}.card + .card{margin-top:16px}.muted{color:var(--ink-soft)}.small{font-size:15px}details.fold{background:var(--card);border:1px solid var(--paper-line);border-radius:12px;margin:0 0 10px}details.fold summary{cursor:pointer;min-height:48px;display:flex;align-items:center;gap:10px;padding:8px 14px;font-weight:700;list-style:none}details.fold summary::-webkit-details-marker{display:none}details.fold summary::before{content:"+";flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:var(--paper);font-weight:800}details.fold[open] summary::before{content:"\2013"}.fold-body{padding:0 16px 14px;color:var(--ink-soft)}.fold-body b{color:var(--ink)}.madeup{display:inline-block;font-size:14px;font-weight:700;color:var(--ink-soft);border:1px solid var(--step);border-radius:6px;padding:0 8px}.banner{display:flex;gap:14px;align-items:center;background:var(--field);color:var(--bone);border-radius:var(--r);padding:14px 16px;margin:0 0 20px}.banner b{display:block;font-size:17px}.banner span{color:var(--bone-soft);font-size:15px}.banner a{color:var(--bone)}.banner svg{flex:none}.banner.clear svg .clearing{animation:lc .5s steps(1) 3}.how3{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}.how3 li{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--paper-line);border-radius:12px;padding:10px 14px;font-weight:700}.how3 .n{flex:none;width:28px;height:28px;border-radius:7px;display:grid;place-items:center;font-weight:900;color:var(--ink)}.how3 .s{margin-left:auto;font-weight:500;color:var(--ink-soft);font-size:15px;white-space:nowrap}.time{color:var(--ink-soft);margin:0 0 4px}details.fold.more-fold{margin-top:20px}.more{margin:0;padding-top:4px}.more details.fold{background:var(--sheet)}.more h2{font-size:18px;margin:0 0 10px}.how-grid{display:grid;gap:24px}@media (min-width:700px){.how3{grid-template-columns:repeat(3,1fr)}.how3 li{flex-direction:column;align-items:flex-start;gap:8px;padding:14px}.how3 .s{margin-left:0}}@media (min-width:1180px){.how-grid{grid-template-columns:minmax(0,1fr) 260px;align-items:start}}.side .prog{flex-direction:column}@media (max-width:1179px){.side .prog{flex-direction:row}}.next-up{display:flex;gap:14px;align-items:center}.next-up .num{flex:none;width:52px;height:52px;border-radius:10px;display:grid;place-items:center;font-weight:900;font-stretch:125%;font-size:24px}.next-up b{display:block;font-size:19px;line-height:1.25}.due li{margin:0 0 6px}.unlock{display:flex;gap:10px;align-items:center}.pc-wrap{margin:16px 0}.pc-wrap .stats{flex:1}.pc-wrap .stats{grid-template-columns:auto auto;justify-content:start;column-gap:32px}.pc-wrap .lpath,.pc-wrap .streak{grid-column:1/-1}.lpath{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:8px}.lpath li{display:flex;gap:10px;align-items:flex-start}.lpath b{display:block;font-size:15px}.lp-mk{flex:none;width:24px;height:24px;border-radius:6px;display:grid;place-items:center;font-weight:900;font-size:14px;background:var(--field-line);color:var(--bone-soft)}.lp-done .lp-mk{background:var(--understood);color:var(--ink)}.lp-now .lp-mk{background:var(--proof);color:var(--ink)}.lp-later b{color:var(--bone-soft);font-weight:600}.lp-sub{display:block;font-size:14px;color:var(--bone-soft)}body.on-how .rail .prog{display:none}.prog.intro{align-items:center;margin:16px 0 0;padding:12px 14px;gap:14px}.prog.intro p{margin:0;color:var(--bone);font-size:15px;font-weight:600}.how3 li{min-height:56px}.pc-wrap + .card,.next-up + .pc-wrap{margin-top:16px}#how .card{margin-top:16px}.stepper{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.stepper button{width:100%;min-height:64px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:6px 2px;border:1.5px solid var(--paper-line);border-radius:12px;background:var(--card);cursor:pointer;font-size:14px;font-weight:700;line-height:1.15;color:var(--ink-soft)}.stepper .mk{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;background:var(--paper);color:var(--ink);font-weight:900;font-size:14px}.stepper .is-done .mk{color:var(--ink)}.stepper button[aria-current="step"]{border-color:var(--field);background:var(--field);color:var(--bone)}.stepper button[aria-current="step"] .mk{background:var(--bone)}.stepper .opt{font-weight:500}@media (min-width:700px){.stepper button{flex-direction:row;gap:10px;min-height:56px;font-size:15px}}.panel h2{font-size:22px;margin:0 0 12px}.decision{background:var(--field);color:var(--bone);border-radius:var(--r);padding:16px 18px;font-size:19px;font-weight:700;line-height:1.35;margin:0 0 16px}.decision small{display:block;font-size:14px;font-weight:700;color:var(--proof);margin-bottom:4px}.learn{font-size:17px;line-height:1.6;margin:0 0 16px}.links{display:flex;flex-wrap:wrap;gap:8px 16px;margin:8px 0 0;font-size:15px}.harbor{display:flex;gap:14px;align-items:flex-start}.harbor .do{font-size:19px;font-weight:700;line-height:1.35;margin:0 0 6px}.harbor-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:14px}.tick{display:flex;gap:12px;align-items:center;min-height:52px;padding:8px 14px;margin-top:14px;border:1.5px solid var(--paper-line);border-radius:12px;background:var(--sheet);font-weight:700;cursor:pointer}.tick input{width:24px;height:24px;flex:none;accent-color:var(--understood-ink)}.rule{font-size:15px;color:var(--ink-soft);border-top:4px solid var(--proof);padding:2px 0 2px 12px;margin:14px 0 0}.hint{font-size:17px;margin:0 0 16px}.check-card{border-top:4px solid var(--understood)}.check-card b{display:block;color:var(--understood-ink);margin-bottom:4px}.done-state{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.group{background:var(--card);border:1px solid var(--paper-line);border-radius:var(--r);padding:18px;margin:0 0 16px}.group > h3,.group > legend{font-size:18px;font-weight:800;font-stretch:112%;margin:0 0 12px;padding:0;float:left;width:100%}.group > legend + *{clear:both}.group > h3{float:none}fieldset{border:0;margin:0;padding:0;min-width:0}.field{margin:0 0 16px}.field:last-child{margin-bottom:0}.field > label,.field > .lab{display:block;font-weight:700;font-size:16px;margin-bottom:4px}.help{display:block;font-size:14px;color:var(--ink-soft);margin:-2px 0 6px}input[type=text],input[type=number],input[type=date],textarea{width:100%;min-height:44px;padding:9px 12px;border:1.5px solid #b9bdc5;border-radius:10px;background:#fff;font-size:16px;line-height:1.45}input::placeholder,textarea::placeholder{color:#8a8f99}textarea{resize:vertical;overflow:hidden;min-height:76px}input:focus,textarea:focus{border-color:var(--found-ink)}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{position:relative}.chip input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid #b9bdc5;background:#fff;font-weight:600;font-size:15px}.chip input:checked + span{background:var(--field);border-color:var(--field);color:var(--bone)}.mm-course .chip input:focus-visible + span{outline:3px solid var(--course-ring);outline-offset:2px}.rows{display:grid;gap:8px}.row{background:var(--sheet);border:1px solid var(--paper-line);border-radius:12px;padding:14px}.row-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font-weight:800;font-size:15px;color:var(--ink-soft)}.row-del{min-height:44px;min-width:44px;border:1px solid var(--paper-line);background:#fff;color:var(--chosen-ink);font-weight:800;font-size:20px;cursor:pointer;border-radius:10px;align-self:flex-end;flex:none}.crow{display:flex;flex-wrap:wrap;gap:8px 6px;align-items:flex-end;padding:8px}@media (max-width:699px){.group{padding:14px 12px}}.crow .field{margin:0;min-width:0}.crow .field > label,.crow .lab{font-size:14px;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.crow .help{display:none}.crow .c-first{flex:1 1 calc(100% - 52px)}.crow .c-n{flex:0 0 86px}.crow .c-d{flex:0 0 160px}.crow .c-t{flex:1 1 100px}.crow .c-w{flex:1 1 100%}.crow .c-c{flex:0 1 auto}.crow .chip span{padding:0 12px}.crow input[type=number],.group.inline input[type=number]{padding:9px 8px}.group.inline{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:flex-end}.group.inline > .help{flex:1 1 100%;margin:0}.group.inline .field{margin:0;flex:0 0 110px}.group.inline .field:last-child{flex:1 1 160px}@media (max-width:699px){.act .btn.primary{white-space:nowrap;padding:0 14px;font-size:16px}}.crow textarea{min-height:44px}@media (min-width:700px){.crow .c-first{flex:1 1 240px}.crow .c-w{flex:1 1 220px}.crow .row-del{order:99}}.row-grid{display:grid;gap:0 14px;grid-template-columns:1fr}@media (min-width:700px){.row-grid{grid-template-columns:1fr 1fr}.row-grid .wide{grid-column:1/-1}}.add{margin-top:12px}.recipe{background:var(--sheet);border:1px dashed var(--step);border-radius:12px;padding:12px 16px;font-size:15px;margin:0 0 16px}.recipe ol{margin:6px 0 0;padding-left:20px}.steps{list-style:none;margin:0;padding:0}.steps li{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--paper-line)}.steps li:last-child{border-bottom:0}.steps input{width:24px;height:24px;margin:10px 0 0;flex:none;accent-color:var(--understood-ink)}.steps label{flex:1;min-height:44px;display:block;padding-top:8px}.steps .from{display:block;font-size:14px;color:var(--ink-soft)}.mm{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width:700px){.mm{grid-template-columns:1fr 1fr}.mm .wide{grid-column:1/-1}}.box{background:var(--card);border:1px solid var(--paper-line);border-top:6px solid var(--step);border-radius:12px;padding:14px}.box.found{border-top-color:var(--found)}.box.understood{border-top-color:var(--understood)}.box.chosen{border-top-color:var(--chosen)}.box.proof{border-top-color:var(--proof)}.box > label,.box h3{font-weight:800;display:block;margin-bottom:4px;font-size:17px}.from-note{font-size:14px;color:var(--ink-soft);margin:0 0 6px}.quad{display:grid;gap:12px;grid-template-columns:1fr}@media (min-width:700px){.quad{grid-template-columns:1fr 1fr}}.tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.preview{background:#fdf1d6;border-radius:12px;padding:12px 14px;margin:0 0 16px;font-size:15px}.entry{background:var(--card);border:1px solid var(--paper-line);border-radius:var(--r);padding:18px;margin-bottom:16px}.entry.due{border:2px solid var(--proof)}.entry-head{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;margin-bottom:10px}.badge{font-size:14px;font-weight:800;padding:3px 10px;border-radius:6px;background:var(--proof);color:var(--ink)}.badge.ok{background:var(--paper);color:var(--ink-soft);font-weight:600}.missbox{background:#fbeeea;border-radius:12px;padding:14px;margin-top:8px}.check{display:flex;gap:10px;align-items:center;min-height:44px;font-weight:700}.check input{width:24px;height:24px;accent-color:var(--chosen-ink)}.log-add{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:0 0 20px}.wk-h{font-size:22px;margin:28px 0 12px}.scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}table.fill{width:100%;border-collapse:collapse;font-size:15px;background:#fff;min-width:560px;color:var(--ink)}table.fill th,table.fill td{border:1px solid var(--paper-line);padding:8px 10px;text-align:left;vertical-align:top}table.fill th{background:var(--paper)}.interp{display:inline-block;font-size:14px;font-weight:700;color:#4b3a8f;border:1px solid var(--purple);border-radius:6px;padding:0 6px}.mm.worked .box h4{margin:0 0 6px;font-size:16px}.proofgrid,.weeks{display:grid;gap:8px;grid-template-columns:1fr 1fr}.proofgrid > div,.weeks > div{border:1px solid var(--paper-line);border-radius:8px;padding:8px}.proofgrid b{display:block}.fold-body .small{font-size:15px}@media (prefers-reduced-motion:reduce){*{transition:none;animation:none;scroll-behavior:auto}}@media print{html,body{background:#fff}.top,.rail,.note,.act,.add,.row-del,.stepper,.no-print,dialog,.banner,[data-view="worked"],[data-view="how"],[data-step-panel]:not([data-step-panel="3"]){display:none}main{max-width:none;padding:0}[data-view]{display:block;break-before:page}[data-view="m1"]{break-before:auto}[data-step-panel="3"]{display:block}.group,.row,.box,.entry{break-inside:avoid;border-color:#ccc}input,textarea{border:0;border-bottom:1px solid #bbb;border-radius:0;padding:2px 0;min-height:0;background:transparent}input::placeholder,textarea::placeholder{color:transparent}.chip span{min-height:0;padding:2px 10px}.chip input:not(:checked) + span{display:none}}@font-face{font-family:Archivo;src:url("/assets/fonts/archivo-latin.woff2") format("woff2");font-weight:100 900;font-stretch:62% 125%;font-display:swap}.course-disclosure{font-size:14px;line-height:1.5;margin:0;padding:12px 16px;background:var(--mm-stone);border-bottom:1px solid var(--paper-line)}.mm-site-nav{margin:24px 16px;padding:16px;border:1px solid #c3c7c1}.mm-site-nav summary{min-height:44px;padding:10px;cursor:pointer}.mm-site-nav .mh-nav{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:8px;padding:12px}.mm-site-nav a{display:block;padding:10px;min-height:44px}.mm-course-mast{display:flex;align-items:center;justify-content:center;gap:20px;padding:8px 20px;background:var(--mm-water);color:var(--mm-white);border-bottom:5px solid var(--mm-blue)}.mm-course-mast p{font-size:clamp(17px,2.3vw,24px);line-height:1.15;margin:0;letter-spacing:-.02em}.mm-course-mast>div{width:170px;flex:none}.rail{background:var(--mm-stone)}@media(max-width:519px){.mm-course-mast{gap:10px;padding:8px 16px}.mm-course-mast>div{width:130px}}@media print{.mm-course-mast{display:none}}