/* Homeschool section */
main.main:has(.hs){max-width:1100px}
.hs{--g:#004225;--g2:#00562f;--gold:#b8963e;--wine:#7a2338;--ink:#1d2320;--muted:#5d6862;--line:#dde5df;--card:#fff;--paper:#fbf8f0;--soft:#e7f0ea;color:var(--ink)}
html[data-theme="dark"] .hs{--g:#6cc79a;--g2:#6cc79a;--ink:#e6ece8;--muted:#a9b8af;--line:#2f4a3b;--card:#1b2b22;--paper:#16241c;--soft:#1f3328}
.hs a{color:var(--g)}
.hs-crumbs{font-size:.85rem;color:var(--muted);margin:0 0 .6rem}.hs-crumbs a{text-decoration:none;box-shadow:none}
.hs-hero{background:linear-gradient(135deg,#004225 0%,#00562f 100%);color:#fff;border-radius:14px;padding:1.6rem 1.75rem;margin-bottom:1.2rem;position:relative;overflow:hidden;box-shadow:0 4px 20px rgba(0,76,42,.18)}
.hs-hero::after{content:"1 2 3";position:absolute;right:1.2rem;top:-.6rem;font:700 6rem/1 Georgia,serif;color:rgba(243,223,163,.13);letter-spacing:.08em;pointer-events:none}
.hs-eyebrow{margin:0;text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;color:#e6cf8f}
.hs-hero h1{margin:.1rem 0 .3rem;font:700 2.2rem/1.15 Georgia,"Times New Roman",serif;color:#fff}
.hs-hero p{margin:0;color:#d3e6da;max-width:46rem;line-height:1.5}
.hs h2{font:700 1.35rem Georgia,serif;color:var(--g);margin:0 0 .5rem}
.hs h3{font:700 1.08rem Georgia,serif;margin:0 0 .3rem}
.hs-small{font-size:.85rem;color:var(--muted)}
.hs-sec{margin:1.6rem 0}
.hs-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}
.hs-card{display:block;text-decoration:none;box-shadow:0 1px 6px rgba(0,0,0,.05);color:inherit;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1.2rem 1.3rem;transition:transform .15s,border-color .15s}
a.hs-card:hover{transform:translateY(-2px);border-color:var(--g)}
.hs-card h2{margin:.2rem 0 .3rem}.hs-card p{color:var(--muted);margin:0 0 .6rem;line-height:1.5}.hs-card .go{font-weight:700;color:var(--g)}.hs-card .big{font-size:2rem}
.hs-card.soon{background:var(--paper)}
.hs-btn{display:inline-flex;align-items:center;gap:.3rem;font:600 .95rem system-ui,sans-serif;padding:.5rem .9rem;border-radius:10px;border:1px solid var(--line);background:var(--card);color:var(--ink);cursor:pointer;text-decoration:none;box-shadow:none;line-height:1.2}
.hs a.hs-btn{color:var(--ink)}
.hs-btn:hover{border-color:var(--g)}
.hs-btn.pri,.hs a.hs-btn.pri{background:#004225;border-color:#004225;color:#fff}
.hs-btn.pri:hover{background:#00562f}
.hs-btn.ghost{background:transparent}
.hs-btn.big{font-size:1.05rem;padding:.7rem 1.2rem}
.hs-btn:disabled{opacity:.4;cursor:default}
.hs-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:.7rem 0}
.hs-start{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:1rem 2rem;background:var(--paper);border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;padding:1.2rem 1.4rem}
.hs-start p{line-height:1.55}
.hs-steps-mini{margin:0;padding-left:1.2rem;line-height:1.8;align-self:center}
.hs-cols{columns:2 320px;column-gap:2rem}.hs-cols p{margin:0 0 .8rem;line-height:1.6;break-inside:avoid}
.hs-books{display:grid;gap:.9rem}
.hs-book{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem}
.hs-book p{margin:.3rem 0;line-height:1.5}
.hs-meta{color:var(--muted);font-size:.9rem;margin:0}
.hs-scan iframe{width:100%;height:min(78vh,760px);border:1px solid var(--line);border-radius:10px;background:#fff}
.hs-note{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem}
.hs-progress{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.8rem 1rem;margin-bottom:1rem}
.hs-progress p{margin:.5rem 0 0;display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.hs-progress .hs-btn{margin-left:auto}
.hs-bar{height:10px;border-radius:6px;background:var(--soft);overflow:hidden}.hs-bar b{display:block;height:100%;background:var(--gold);transition:width .3s}
.hs-how{line-height:1.6;padding-left:1.2rem}
.hs-unit{margin:1.4rem 0}
.hs-unit h2 span{display:inline-block;font:700 .75rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;background:var(--soft);color:var(--g);padding:.2rem .5rem;border-radius:6px;vertical-align:middle;margin-right:.3rem}
.hs-lessons{list-style:none;margin:.5rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.4rem}
.hs-lessons a{display:grid;grid-template-columns:2.2rem 1fr auto auto;gap:.6rem;align-items:center;text-decoration:none;box-shadow:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:.5rem .7rem}
.hs-lessons a:hover{border-color:var(--g)}
.hs-lessons .num{font:700 1.05rem Georgia,serif;color:var(--g);text-align:center}
.hs-lessons .t{line-height:1.3}
.hs-lessons .rn{font-size:.72rem;color:var(--muted);white-space:nowrap}
.hs-lessons .ck{visibility:hidden;color:#fff;background:#2e7d4f;border-radius:50%;width:1.3rem;height:1.3rem;display:grid;place-items:center;font-size:.8rem}
.hs-lessons li.done .ck{visibility:visible}
.hs-lessons li.done a{background:var(--soft)}
.hs-opt{font:600 .7rem system-ui,sans-serif;font-style:normal;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:.05rem .35rem;vertical-align:middle}
.hs-lhead{background:var(--paper);border:1px solid var(--line);border-top:5px solid #004225;border-radius:14px;padding:1.1rem 1.3rem;margin-bottom:1rem}
.hs-lhead .hs-eyebrow{color:var(--gold)}
.hs-lhead h1{font:700 1.9rem/1.2 Georgia,serif;margin:.2rem 0 .5rem;color:var(--ink)}
.hs-goal{font-size:1.05rem;line-height:1.5;margin:.3rem 0}
.hs-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem;margin:1rem 0}
.hs-box{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem 1.2rem}
.hs-box h2{font-size:1.1rem}.hs-box ul{margin:0;padding-left:1.1rem;line-height:1.6}.hs-box p{margin:0;line-height:1.55}
.hs-box.tip{border-left:4px solid var(--gold)}
.hs-steps{counter-reset:s;list-style:none;padding:0;margin:0}
.hs-steps li{counter-increment:s;position:relative;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.8rem 1rem .8rem 3.2rem;margin:.5rem 0}
.hs-steps li::before{content:counter(s);position:absolute;left:.8rem;top:.75rem;width:1.7rem;height:1.7rem;border-radius:50%;background:#004225;color:#fff;font:700 .95rem system-ui;display:grid;place-items:center}
.hs-steps p{margin:.3rem 0;line-height:1.55}
.hs-say{background:var(--soft);border-radius:10px;padding:.45rem .7rem;font-size:1.05em}
.hs-say span{display:inline-block;font:700 .68rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;background:#004225;color:#fff;border-radius:5px;padding:.1rem .35rem;margin-right:.5rem;vertical-align:.1em}
.hs-prob{font-family:Georgia,serif;font-style:italic;border-left:3px solid var(--gold);padding-left:.7rem;color:var(--ink)}
.hs-ans{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem 1rem;margin:1rem 0}
.hs-ans summary{cursor:pointer;font-weight:700;color:var(--g)}.hs-ans p{line-height:1.6}
.hs-done-row{margin:1rem 0}
.hs-check{display:inline-flex;gap:.5rem;align-items:center;font-weight:600;cursor:pointer}
.hs-check input{width:1.2rem;height:1.2rem;accent-color:#004225}
.hs-check.big{font-size:1.1rem}
.hs-pn{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:1rem;margin-top:1.4rem;font-weight:600}
.hs-pn a{text-decoration:none;box-shadow:none}
/* teach mode */
body.hs-noscroll{overflow:hidden}
.hs-teach{position:fixed;inset:0;z-index:1000;background:#f7f3e8;color:#1d2320;display:flex;flex-direction:column}
html[data-theme="dark"] .hs-teach{background:#0f1a14;color:#e6ece8}
.hs-teach[hidden]{display:none}
.hs-teach .hs-btn{background:#fff;color:#1d2320;border-color:#cfd8d2}
html[data-theme="dark"] .hs-teach .hs-btn{background:#1b2b22;color:#e6ece8;border-color:#2f4a3b}
.hs-teach .hs-btn.pri{background:#004225;border-color:#004225;color:#fff}
.hs-t-bar{display:flex;gap:.6rem;align-items:center;padding:.6rem 1rem;border-bottom:1px solid rgba(0,0,0,.08)}
.hs-t-bar b{font:700 1rem Georgia,serif;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hs-t-count{font-size:.85rem;opacity:.75;white-space:nowrap}
.hs-t-dots{display:flex;gap:4px;padding:.4rem 1rem}.hs-t-dots i{flex:1;height:5px;border-radius:3px;background:rgba(0,66,37,.15)}.hs-t-dots i.past{background:#6cae86}.hs-t-dots i.now{background:#b8963e}
.hs-t-body{flex:1;min-height:0;display:flex;gap:1rem;padding:0 1rem}
.hs-t-main{flex:1;overflow:auto;padding:1.2rem 0 2rem;max-width:46rem;margin:0 auto;outline:none;font-size:1.25rem;line-height:1.6}
.hs-t-main h2{font:700 2rem/1.2 Georgia,serif;color:#004225;margin:.2rem 0 1rem}
html[data-theme="dark"] .hs-t-main h2{color:#6cc79a}
.hs-t-main p{margin:.6rem 0}
.hs-teach .hs-say{background:#e3efe7;color:#1d2320}
html[data-theme="dark"] .hs-teach .hs-say{background:#1f3328;color:#e6ece8}
.hs-t-after{background:rgba(184,150,62,.12);border-radius:10px;padding:.6rem .8rem}
.hs-t-book{display:none}
.hs-teach.book .hs-t-book{display:block;flex:1;min-width:0;padding-top:.8rem}
.hs-teach.book .hs-t-main{flex:1;max-width:none}
.hs-t-book iframe{width:100%;height:calc(100% - 2rem);border:1px solid #cfd8d2;border-radius:10px;background:#fff}
.hs-t-nav{display:flex;justify-content:space-between;gap:1rem;padding:.8rem 1rem;border-top:1px solid rgba(0,0,0,.08)}
.hs-t-nav .hs-t-next{min-width:9rem;justify-content:center}
@media (max-width:760px){
  .hs-hero h1{font-size:1.75rem}.hs-hero::after{display:none}
  .hs-start{grid-template-columns:1fr}
  .hs-lhead h1{font-size:1.5rem}
  .hs-t-main{font-size:1.1rem}.hs-t-main h2{font-size:1.5rem}
  .hs-teach.book .hs-t-body{flex-direction:column}.hs-teach.book .hs-t-main{flex:0 0 45%}
  .hs-t-book iframe{height:calc(100% - 1.6rem)}
  .hs-t-bar b{font-size:.9rem}
  .hs-lessons{grid-template-columns:1fr}
  .hs-progress .hs-btn{margin-left:0}
}

.hs-tag{display:inline-block;font-size:.75rem;font-weight:600;padding:.05rem .5rem;border-radius:999px;background:var(--soft);color:var(--g);border:1px solid var(--line);vertical-align:1px}
.hs-path{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}
.hs-path h3{margin:0 0 .4rem;color:var(--g)}
.hs-path ul{margin:0;padding-left:1.1rem}.hs-path li{margin:.3rem 0;line-height:1.45}
.hs-tablewrap{overflow-x:auto}
.hs-table{border-collapse:collapse;width:100%;font-size:.95rem}
.hs-table th,.hs-table td{border:1px solid var(--line);padding:.5rem .6rem;text-align:left;vertical-align:top}
.hs-table th{background:var(--soft)}
.hx-head{white-space:pre-wrap;font:inherit;font-size:.9rem;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:.8rem 1rem;color:var(--muted)}
.hx-time{font-weight:400;font-size:1rem;color:var(--muted)}
.hx-qs{padding-left:1.6rem}.hx-qs>li{margin:.9rem 0}
.hx-q{margin:0 0 .35rem;font-size:1.05rem;line-height:1.5}
.hx-qs .hs-ans{margin:.3rem 0}
.hx-left{font-variant-numeric:tabular-nums;font-weight:600;color:var(--g)}
@media print{.hs-noprint,header.site-header,.header,footer,.hs-crumbs{display:none!important}.hx-qs>li{break-inside:avoid}}
.hs-card.feat{border-left:5px solid var(--gold);background:var(--paper)}
/* light mode: a soft racing-green edge so white cards stand out on the light page */
html:not([data-theme="dark"]) .hs-card{border:1.5px solid #9dbba9}
html:not([data-theme="dark"]) .hs-card.feat{border-left:5px solid var(--gold)}
html:not([data-theme="dark"]) a.hs-card:hover{border-color:#00562f}
html:not([data-theme="dark"]) .hs-card.feat:hover{border-left-color:var(--gold)}
/* Simple step-by-step setting */
.hs-sw{display:inline-flex;align-items:center;gap:.45rem;font:600 .95rem system-ui,sans-serif;padding:.45rem .85rem .45rem .5rem;border-radius:999px;border:1.5px solid var(--g);background:var(--card);color:var(--ink);cursor:pointer;line-height:1.2}
.hs-sw-knob{width:2.1rem;height:1.2rem;border-radius:999px;background:var(--line);position:relative;transition:background .2s;flex:none}
.hs-sw-knob::after{content:"";position:absolute;top:2px;left:2px;width:calc(1.2rem - 4px);height:calc(1.2rem - 4px);border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.3);transition:left .2s}
.hs-sw[aria-pressed="true"] .hs-sw-knob{background:var(--g)}
.hs-sw[aria-pressed="true"] .hs-sw-knob::after{left:calc(100% - 1.2rem + 2px)}
.hs-sw-row{margin:.7rem 0 0 !important;display:flex !important;flex-wrap:wrap;gap:.6rem;align-items:center}
.hs-lesson.simple .hs-not-simple{display:none}
.hs-simple{margin:1.2rem 0}
.hs-s-top{background:var(--soft);border-radius:14px;padding:1rem 1.1rem;margin-bottom:1rem}
.hs-s-top h2{margin:0 0 .3rem}.hs-s-top p{margin:0 0 .6rem}
.hs-s-tools{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.hs-s-prog{font-weight:700;margin-right:auto}
.hs-s-part{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:.9rem 1rem;margin-bottom:.9rem}
html:not([data-theme="dark"]) .hs-s-part{border-color:#9dbba9}
.hs-s-part h3{margin:0 0 .5rem;display:flex;align-items:baseline;gap:.5rem;flex-wrap:wrap;font-size:1.15rem}
.hs-s-part h3>span{display:inline-grid;place-items:center;min-width:1.8rem;height:1.8rem;border-radius:50%;background:var(--g);color:#fff;font:700 .95rem system-ui,sans-serif}
html[data-theme="dark"] .hs-s-part h3>span{color:#0f1a14}
.hs-s-part h3 small{font-weight:400;color:var(--muted);font-size:.85rem}
.hs-s-part.next{background:var(--paper)}
.hs-s-list{list-style:none;margin:0;padding:0}
.hs-s-list li{border-top:1px solid var(--line);padding:.55rem 0;line-height:1.5;font-size:1.05rem}
.hs-s-list li:first-child{border-top:0}
.hs-s-list label{display:flex;gap:.7rem;align-items:flex-start;cursor:pointer}
.hs-s-list input{width:1.35rem;height:1.35rem;flex:none;margin-top:.15rem;accent-color:#004225}
.hs-s-list li.ticked>label>span{opacity:.55;text-decoration:line-through;text-decoration-thickness:1px}
.hs-s-list li.say.ticked>label>span{text-decoration:none}
.hs-s-lbl{display:block;font:700 .75rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em;color:var(--g);margin-bottom:.15rem}
.hs-s-say{display:block;background:var(--soft);border-left:4px solid var(--g);border-radius:8px;padding:.45rem .7rem;font-size:1.12rem}
.hs-s-list li.book,.hs-s-list li.if{padding-left:2.05rem}
.hs-s-quote{display:block;font-family:Georgia,serif;font-style:italic;border-left:3px solid var(--gold);padding-left:.7rem}
.hs-s-list li.if{color:var(--muted);font-size:.98rem}
.hs-s-help{margin:0;padding-left:1.2rem;line-height:1.5}.hs-s-help li{margin:.3rem 0}
.hs-s-tomorrow{font-size:1.1rem;margin:.4rem 0 1rem}
/* Actual Reading: the daily checklist shows only with the setting on */
.ar-daily{display:none;margin-top:.9rem;text-align:left}
html.hs-simple-on .ar-daily{display:block}
@media print{.hs-sw,.hs-s-tools{display:none}}
/* placement check */
.pc-form{display:flex;flex-wrap:wrap;gap:1rem;margin:.4rem 0 .8rem}
.pc-form label{display:flex;flex-direction:column;gap:.25rem;font-weight:600}
.pc-form input,.pc-form select{font:inherit;padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);min-width:9rem}
.pc-subs{border:0;padding:0;margin:0 0 .8rem;display:flex;flex-wrap:wrap;gap:1rem}.pc-subs legend{font-weight:600;margin-bottom:.3rem}
.pc-subs label{display:flex;gap:.4rem;align-items:center;font-size:1.05rem}
.pc-prog{color:var(--muted);font-size:.9rem;margin:0 0 .4rem}
.pc-ask{font-size:1.15rem;font-weight:600;margin:0 0 .8rem}
.pc-lines{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:1.2rem 1.4rem;margin-bottom:.8rem}
html:not([data-theme="dark"]) .pc-lines{border-color:#9dbba9}
.pc-lines p{font:1.6rem/1.5 Georgia,serif;margin:.2rem 0}
.pc-lines.big p{font-size:2.3rem;letter-spacing:.06em}
.pc-lines.dict p{font-size:1.25rem;font-family:system-ui,sans-serif}
.pc-ans{margin:0 0 .8rem}.pc-ans summary{cursor:pointer;font-weight:600;color:var(--g)}
.pc-q{font-weight:700;margin:.6rem 0 .4rem}
.pc-judge{display:flex;flex-wrap:wrap;gap:.6rem}.pc-judge .hs-btn{font-size:1.05rem;padding:.7rem 1rem}
.pc-skip{margin-top:.8rem}
.pc-results{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem;margin:.6rem 0 1rem}
.pc-r{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:.9rem 1rem}
html:not([data-theme="dark"]) .pc-r{border-color:#9dbba9}
.pc-r h3{margin:0 0 .3rem}.pc-big{font-size:1.15rem;font-weight:700;margin:0 0 .4rem}
@media (max-width:520px){.pc-lines p{font-size:1.3rem}.pc-lines.big p{font-size:1.8rem}}
/* practice sheets */
.ps-opts{background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:.9rem 1rem;margin:.8rem 0}
html:not([data-theme="dark"]) .ps-opts{border-color:#9dbba9}
.ps-row{display:flex;flex-wrap:wrap;gap:.8rem 1.2rem;align-items:flex-end;margin:.3rem 0 .6rem}
.ps-row label,.ps-own{display:flex;flex-direction:column;gap:.25rem;font-weight:600;font-size:.92rem}
.ps-row select,.ps-row input[type=text],.ps-own textarea{font:inherit;font-weight:400;padding:.4rem .55rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink);max-width:100%}
.ps-row select{max-width:min(80vw,26rem)}
.ps-row .ps-cb{flex-direction:row;align-items:center}
.ps-picks{border:0;padding:0;margin:.2rem 0 .6rem}.ps-picks legend{font-weight:600;font-size:.92rem;margin-bottom:.2rem}
.ps-pick{display:flex;gap:.5rem;align-items:flex-start;padding:.25rem 0;font-family:Georgia,serif}
.ps-own textarea{width:100%;box-sizing:border-box}
.ps-preview{margin:1rem 0;display:flex;flex-direction:column;gap:1rem;align-items:center}
.ps-paper{background:#fff;color:#111;width:100%;max-width:190mm;box-sizing:border-box;padding:12mm 12mm 14mm;box-shadow:0 2px 12px rgba(0,0,0,.15);border-radius:4px}
.ps-paper.f-print .ps-model,.ps-paper.f-print .ps-hw span{font-family:Andika,"Century Gothic",system-ui,sans-serif}
.ps-paper.f-cursive .ps-model,.ps-paper.f-cursive .ps-hw span{font-family:"Playwrite US Trad",cursive}
.ps-head{display:flex;justify-content:space-between;gap:1rem;font:14px system-ui,sans-serif;color:#333;margin-bottom:4mm}
.ps-title{font:700 20px Georgia,serif;margin:0 0 1mm;color:#004225}
.ps-src{font:12px system-ui,sans-serif;color:#555;margin:0 0 4mm}
.ps-block{margin-bottom:5mm;break-inside:avoid}
.ps-model{font-size:calc(var(--row) * .62);line-height:1.25;margin:0 0 1mm}
.ps-hw{height:var(--row);border-top:1px solid #9bb5a6;border-bottom:1.5px solid #4a6b58;position:relative;margin-bottom:calc(var(--row) * .6)}
.ps-hw::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px dashed #b8c9bf}
.ps-hw span{position:absolute;left:1mm;bottom:-.22em;font-size:calc(var(--row) * 1.02);line-height:1;white-space:nowrap;color:transparent}
.ps-paper.f-cursive .ps-hw span{font-size:calc(var(--row) * .85);bottom:-.3em}
.ps-hw.trace span{color:#c4cdc7}
.ps-dict{font:17px/1.6 Georgia,serif;padding-left:1.4em}.ps-dict li{margin-bottom:3mm}
.ps-help{font:13px/1.5 system-ui,sans-serif;color:#444;border-top:1px solid #ddd;padding-top:3mm}
.ps-empty{color:#777;font:15px system-ui,sans-serif}
.ps-math{display:grid;grid-template-columns:repeat(4,1fr);gap:9mm 6mm;padding-left:0;list-style:none;counter-reset:p;margin:2mm 0 0}
.ps-math li{counter-increment:p;font:22px/1.3 Andika,system-ui,sans-serif;position:relative;padding-left:7mm}
.ps-math li::before{content:counter(p) ".";position:absolute;left:0;top:.2em;font-size:12px;color:#777}
.ps-math .v{display:inline-flex;flex-direction:column;align-items:flex-end;border-bottom:2px solid #111;padding-bottom:1mm;min-width:22mm}
.ps-math .h{white-space:nowrap;font-size:20px}
.ps-key{columns:4;font:15px/1.7 system-ui,sans-serif}
@media (max-width:640px){.ps-paper{padding:6mm}.ps-math{grid-template-columns:repeat(2,1fr)}}
@media print{
  @page{size:auto;margin:10mm}
  body:has(.ps) .header,body:has(.ps) .footer,body:has(.ps) .top-link,.ps-noprint{display:none !important}
  body:has(.ps) .main{padding:0;margin:0;max-width:none}
  .ps-preview{margin:0;display:block}
  .ps-paper{box-shadow:none;max-width:none;padding:0;border-radius:0}
  .ps-break{break-before:page}
}
.ps .pl-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin:.2rem 0 .6rem}
.ps .pl-tabs button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:.45rem .9rem;font:inherit;cursor:pointer}
.ps .pl-tabs button[aria-selected="true"]{background:var(--g);color:#fff;border-color:var(--g)}
html[data-theme="dark"] .ps .pl-tabs button[aria-selected="true"]{color:#0f1a14}
/* Outdoor Skills */
.os-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:.9rem;margin-top:.5rem}
.os-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem;padding:1rem .9rem;background:var(--card);border:1.5px solid var(--line);border-radius:14px;text-decoration:none !important;color:var(--ink) !important;box-shadow:0 1px 6px rgba(0,0,0,.05);transition:transform .15s,border-color .15s}
html:not([data-theme="dark"]) .os-card{border-color:#9dbba9}
.os-card:hover{transform:translateY(-2px);border-color:var(--g)}
.os-card b{font:700 1.1rem Georgia,serif;color:var(--g)}
.os-card small{color:var(--muted)}
.os-blurb{font-size:.9rem;color:var(--muted);line-height:1.4}
.os-prog{font-size:.8rem;font-weight:600;background:var(--soft);border-radius:20px;padding:.1rem .6rem;margin-top:.2rem}
.os-prog[hidden]{display:none}
.os-icon{font-size:2.2rem;line-height:1.1}
.os-icon.big{font-size:3.6rem;flex:none}
.os-hero{display:flex;gap:1.2rem;align-items:center}
@media (max-width:520px){.os-hero{flex-direction:column;align-items:flex-start}}
.os-grown{background:var(--paper);border-left:4px solid var(--gold);padding:.5rem .8rem;border-radius:8px}
.os-steps{list-style:none;counter-reset:s;padding:0;margin:0}
.os-steps li{counter-increment:s;background:var(--card);border:1.5px solid var(--line);border-radius:12px;padding:.7rem .9rem;margin-bottom:.6rem}
html:not([data-theme="dark"]) .os-steps li{border-color:#9dbba9}
.os-steps label{display:flex;gap:.8rem;align-items:flex-start;cursor:pointer;line-height:1.5}
.os-steps input{width:1.4rem;height:1.4rem;flex:none;margin-top:.2rem;accent-color:#004225}
.os-steps b{display:block;font-size:1.05rem;margin-bottom:.15rem}
.os-steps b::before{content:counter(s) ". ";color:var(--g)}
.os-steps li.ticked{background:var(--soft)}
.os-table-wrap{overflow-x:auto}
.os-learn{list-style:none;padding:0;margin:0}.os-learn li{margin:.35rem 0}
.os-chips{display:grid;grid-template-columns:repeat(auto-fill,minmax(7.5rem,1fr));gap:.4rem}.os-chips span{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.35rem .6rem;font-size:1.05rem;white-space:nowrap}.os-chips b{display:inline-block;min-width:1.4rem;color:var(--g)}
/* ASL */
.asl-path{padding-left:1.3rem;margin:0}.asl-path li{margin:0 0 1.1rem}.asl-path h3{margin:.1rem 0 .3rem}
.asl-links{display:flex;flex-wrap:wrap;gap:.5rem}
.fs .pl-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin:.2rem 0 .6rem}
.fs .pl-tabs button{border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:8px;padding:.45rem .9rem;font:inherit;cursor:pointer}
.fs .pl-tabs button[aria-selected="true"]{background:var(--g);color:#fff;border-color:var(--g)}
html[data-theme="dark"] .fs .pl-tabs button[aria-selected="true"]{color:#0f1a14}
.fs-pane[hidden]{display:none}
.fs-cb{display:inline-flex;gap:.35rem;align-items:center;margin-left:.6rem}
.fs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:.5rem}
.fs-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:.5rem .3rem;background:#fff;border:1.5px solid #9dbba9;border-radius:12px;cursor:pointer;color:#1d2320}
.fs-card img,.fs-strip img{height:84px;width:84px;object-fit:contain;margin:0}
.fs-card b{font:700 1.15rem Georgia,serif}
.fs-grid.hide .fs-card b{visibility:hidden}
.fs-big{position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.6);display:grid;place-items:center}
.fs-big[hidden]{display:none}
.fs-big>div{background:#fff;color:#1d2320;border-radius:16px;padding:1.2rem 1.6rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}
.fs-big img{height:min(60vh,360px);width:auto;margin:0}.fs-big b{font:700 2rem Georgia,serif}
.fs-row{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin:.6rem 0}
.fs-row label{display:flex;gap:.4rem;align-items:center;font-weight:600}
.fs-row select,.fs-row input,#fs-any{font:inherit;padding:.45rem .6rem;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--ink)}
#fs-any{font-size:1.3rem;width:100%;max-width:22rem}
.fs-stage{min-height:300px;display:grid;place-items:center;background:#fff;border:1.5px solid #9dbba9;border-radius:14px;padding:1rem;color:#1d2320}
.fs-one{height:260px;width:auto;margin:0}
.fs-done{font-size:1.3rem;text-align:center;margin:.2rem 0 .6rem}
.fs-word{font:700 2.2rem Georgia,serif;letter-spacing:.08em;margin:.4rem 0}
.fs-strip{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}
.fs-strip span{display:flex;flex-direction:column;align-items:center;background:#fff;border:1px solid #cfd8d2;border-radius:10px;padding:.3rem;color:#1d2320}
.fs-strip b{font:700 1rem Georgia,serif}
@media (max-width:520px){.fs-one{height:200px}.fs-card img,.fs-strip img{height:64px;width:64px}}
/* Videos */
.vd-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.vd-card{display:flex;flex-direction:column;gap:.3rem;background:var(--card);border:1.5px solid var(--line);border-radius:14px;padding:.7rem;text-decoration:none !important;box-shadow:none;color:var(--ink) !important;transition:transform .15s,border-color .15s}
html:not([data-theme="dark"]) .vd-card{border-color:#9dbba9}
.vd-card:hover{transform:translateY(-2px);border-color:var(--g)}
.vd-thumb{position:relative;display:block;aspect-ratio:16/9;border-radius:10px;overflow:hidden;background:#000}
.vd-thumb img{width:100%;height:100%;object-fit:cover;margin:0}
.vd-play{position:absolute;inset:auto auto .5rem .5rem;background:#004225;color:#fff;border-radius:999px;padding:.15rem .7rem;font-size:.9rem}
.vd-card b{font:700 1.1rem Georgia,serif;color:var(--g)}.vd-card small{color:var(--muted)}.vd-about{font-size:.92rem;color:var(--muted);line-height:1.4}
.trb-video-more{white-space:nowrap}
.vd .hs-hero::after{content:"▶";font-size:4.5rem;top:.9rem;opacity:.3;color:inherit}
.os-callout p{background:var(--paper);border-left:4px solid var(--g);border-radius:8px;padding:.6rem .85rem;margin:0}
.vd-ch{list-style:none;padding:0;margin:.4rem 0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:.3rem .8rem}.vd-ch button{font:inherit;text-align:left;background:none;border:0;color:var(--ink);cursor:pointer;padding:.25rem 0}.vd-ch button:hover{color:var(--g);text-decoration:underline}.vd-ch b{font-variant-numeric:tabular-nums;color:var(--g);margin-right:.4rem}
/* compact subject tiles on the Homeschool hub, sized like the Education page */
.hs .hs-sec .hs-sub{font-size:1.15rem;margin:2.4rem 0 .9rem;padding-top:1.4rem;border-top:1px solid var(--line);color:var(--g)}
.hs .hs-sec > p.hs-small + .hs-sub{margin-top:1.2rem;border-top:0;padding-top:0}
.hs-cards.hs-tiles{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:1.1rem}
.hs-tiles .hs-card{padding:1.1rem 1.15rem;display:flex;flex-direction:column;gap:.25rem}
.hs-tiles .hs-card .big{font-size:1.8rem;line-height:1.1}
.hs-tiles .hs-card h2{font-size:1.08rem;margin:.1rem 0 0}
.hs-tiles .hs-card p{font-size:.9rem;line-height:1.4;margin:0}
.hs-tiles .hs-card .go{font-size:.88rem;margin-top:auto;padding-top:.3rem}
