/* AllRead v1.6 profile paths + Down syndrome engine (js/paths.js). Calm, big targets, no red anywhere. */
.pth .btn.main.wide{margin:6px 0 4px}
.ppath{list-style:none;padding:0;margin:0;display:grid;gap:10px}
.ppath a,.pact,.pitem{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px;min-height:64px}
.ppath a>span:nth-child(2),.pact>span:nth-child(2),.pitem>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}
.ppath small,.pact small,.pitem small{color:var(--muted);font-size:14px;line-height:1.35}
.pitem small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ppath i,.pact i,.pitem i{font-style:normal;color:var(--muted);font-size:22px}
.pitem i.ok{color:var(--teal-d)}
.pstep{flex:none;width:40px;height:40px;border-radius:50%;background:var(--teal-bg);color:var(--teal-d);display:flex;align-items:center;justify-content:center;font-weight:700}
.pstep.done{background:var(--teal);color:#08332D}
.pbar{display:block;height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:4px}.pbar i{display:block;height:100%;background:var(--teal)}
.pacts{display:grid;gap:10px}
.pe{font-size:30px;line-height:1;flex:none}.pe.hd{font-size:40px}
.plist{display:grid;gap:10px}
.pblock{margin-top:8px}
.pchips{display:flex;gap:8px;overflow-x:auto;padding:2px 0 10px;flex-wrap:wrap}
.pchip{flex:none;border:1px solid var(--line);background:var(--card);color:var(--ink);border-radius:22px;padding:10px 16px;font:inherit;font-size:16px;min-height:48px}
.pchip[aria-pressed=true]{background:#26323A;border-color:#26323A;color:#fff}
.kwbar{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 12px}.kwbar span{background:var(--teal-bg);border-radius:12px;padding:6px 12px;font-size:16px}
.pend{text-align:center;display:grid;gap:12px;padding-top:12px}.pend .big,.dsrun .big,.pmove .big{font-size:64px}
.qtext.big span{font-size:1.25em;font-weight:600}
.opt.big{font-size:calc(var(--rsize) * 1.05);justify-content:center}
.slots{display:flex;gap:8px;justify-content:center;margin:14px 0}
.slot{min-width:58px;height:66px;border-bottom:4px solid var(--line);font:700 34px var(--rfont);display:flex;align-items:center;justify-content:center}
.slots.done .slot{border-color:var(--teal);color:var(--teal-d)}
.tiles{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.tile{min-width:66px;min-height:66px;border-radius:16px;border:2px solid var(--line);background:var(--card);font:700 30px var(--rfont)}
.tile.used{opacity:.3}
.pmove{text-align:center;display:grid;gap:14px}.pmove .mv{font-size:24px;line-height:1.4;font-family:var(--rfont)}
.pcards{display:grid;gap:10px}
.pcard{display:grid;grid-template-columns:1fr auto;gap:4px 10px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:14px 16px;font:inherit;color:var(--ink)}
.pcard b{font-size:22px}.pcard .vis{grid-column:1/-1;font-size:26px}.pcard small{grid-column:1;color:var(--muted);font-size:15px}.pcard i{grid-row:1;grid-column:2;font-style:normal}
.ptell{display:grid;gap:12px}.ptell textarea{font:inherit;font-size:20px;padding:12px;border-radius:14px;border:1px solid var(--line);width:100%;box-sizing:border-box}
.cues{padding-left:0;list-style:none;display:grid;gap:8px;margin:10px 0}.cues li{background:var(--teal-bg);border-radius:12px;padding:10px 12px;font-size:18px}
.pform{display:grid;gap:10px}
.ffield{display:grid;gap:6px;text-align:left;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;font:inherit;color:var(--ink)}
.ffield .fl{font-weight:700;font-size:17px}.ffield .fbox{height:34px;border:1px dashed var(--line);border-radius:8px}.ffield .fx{font-size:16px;line-height:1.4;color:#2C4A44}
.ffield.open{border-color:var(--teal)}
/* ---- Down syndrome engine ---- */
.dstog{display:flex;gap:12px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:6px 0 10px}
.dstog input{width:28px;height:28px;accent-color:var(--teal-d)}.dstog span{display:flex;flex-direction:column}.dstog small{color:var(--muted)}
.dscard{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;margin:10px 0;display:grid;gap:10px}
.dscard.hero{background:var(--teal-bg);border-color:transparent}.dscard h3{margin:0;font-size:18px}.dscard p{margin:0;line-height:1.45}
.dsnote{background:#FFF6E0;border-radius:14px;padding:12px 14px;line-height:1.45;margin:8px 0}
.dstip{display:flex;flex-direction:column;gap:2px;background:#F2F0FA;border-radius:14px;padding:10px 14px;margin:0 0 12px;font-size:15px;line-height:1.4}.dstip b{font-size:13px;color:#5A4E8C}
.dsrun{display:grid;gap:14px;text-align:center}
.dsq{display:flex;align-items:center;gap:12px;justify-content:center}.dsins{margin:0;font-size:22px;font-weight:600;font-family:var(--rfont)}
.say.big{min-width:64px;height:64px;font-size:28px}
.dsshow{display:flex;justify-content:center}
.dsbig{font:700 calc(var(--rsize) * 1.7) var(--rfont);letter-spacing:var(--rletter,.04em);color:var(--ink)}
.dssent{font:600 calc(var(--rsize) * 1.05) var(--rfont)}
.dsblend{font:700 calc(var(--rsize) * 1.5) var(--rfont)}.dsblend i{font-style:normal;color:var(--muted);margin:0 6px}
.dstext{font:500 var(--rsize) var(--rfont);line-height:1.8;text-align:left;background:var(--card);border-radius:14px;padding:12px 16px;border:1px solid var(--line)}
.dsopts{display:grid;gap:14px;grid-template-columns:1fr 1fr}.dsopts.n3{grid-template-columns:repeat(3,1fr)}
.dsopt{min-height:120px;border-radius:22px;border:3px solid var(--line);background:var(--card);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:10px;font:inherit;color:var(--ink);transition:opacity .3s,transform .2s,box-shadow .3s}
.dspic{font-size:64px;line-height:1}.dspic.sm{font-size:34px}.dspic.xl{font-size:110px;display:flex;justify-content:center}
.dspic .e3d,.dspic img{width:84px;height:84px}.dspic.xl .e3d,.dspic.xl img{width:150px;height:150px}.dspic.sm .e3d,.dspic.sm img{width:40px;height:40px}
.dsph{border-radius:16px;object-fit:cover}.dsph.sm{width:44px;height:44px;border-radius:10px}
.dsw{font:700 calc(var(--rsize) * 1.05) var(--rfont)}
.dslet{font:700 48px var(--rfont)}
.dsopt.glow{border-color:var(--teal);box-shadow:0 0 0 6px var(--teal-bg);transform:scale(1.04)}
.dsopt.right{border-color:var(--teal);background:var(--teal-bg)}
.dsopt.dim,.dsopt.soft{opacity:.35}
.dsopt.picked{border-color:#9FB4C7;background:#F1F5F9}
.dsmsg{min-height:30px;font-size:22px;font-weight:600;color:var(--teal-d)}
.dsword{display:grid;gap:14px;text-align:center}
.dsnew{font-weight:700;color:#5A4E8C;margin:0}
.btnw{background:none;border:none;cursor:pointer;color:var(--ink)}.btnw i{font-style:normal;font-size:.6em;vertical-align:middle}
.dssyl{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap}.dssyl>i{font-style:normal;color:var(--muted);font-size:28px}
.sy{min-width:70px;min-height:66px;border-radius:16px;border:2px solid var(--line);font:700 34px var(--rfont);padding:0 12px}
.sy.s0{background:#E7F0FF;color:#1F4E9B}.sy.s1{background:#FFF0E0;color:#9A4E12}
.dssyl .rest{font:700 34px var(--rfont)}
.dsder{display:grid;gap:10px}.der{display:flex;align-items:center;gap:12px;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px 14px;font:inherit;font-size:20px;color:var(--ink);min-height:60px}
.der.glow{border-color:var(--teal);box-shadow:0 0 0 4px var(--teal-bg)}
.der .e3d{width:44px;height:44px}
.dsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.dsgrid .dsw{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;background:var(--card);border:2px solid var(--line);border-radius:16px;padding:10px 6px;font-size:18px;color:var(--ink)}
.dsgrid .dsw .pe,.dsgrid .dsw .e3d{font-size:34px;width:44px;height:44px}
.dsgrid small{font:500 12px system-ui;color:var(--muted)}
.dsw.st-ok{border-color:var(--teal)}.dsw.st-due{border-color:#E7B84B}.dsw.st-prac{border-color:#9FB4C7}
.dslearn{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}.dslearn span{display:flex;flex-direction:column;align-items:center;gap:4px}
.dsres{list-style:none;padding:0;margin:0;display:grid;gap:6px}.dsres li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding:6px 0}
.fam{display:grid;gap:10px}.famq p{margin:6px 0;font-weight:600}
.famadd{display:flex;gap:8px;flex-wrap:wrap}.famadd input{flex:1;min-width:140px;font:inherit;font-size:18px;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}
.rtext .w.ls-n{background:none}
body[data-profile="down"] .rtext .w.ls-r{background:none;color:inherit;text-decoration:none}   /* no red for this profile, ever */
.pop{animation:pp .35s}@keyframes pp{50%{transform:scale(1.08)}}
@media (prefers-reduced-motion:reduce){.dsopt,.pop{transition:none;animation:none}}
.dspic .pe,.dsshow .pe{font-size:64px}.dspic.sm .pe{font-size:34px}.dspic.xl .pe{font-size:110px}.qshow .pe{font-size:72px}.oe .pe{font-size:52px}

/* v1.9 picture-word library */
.vnav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:10px 0}
.vnav span{font-weight:700;color:var(--muted)}
.vnav .btn[aria-disabled="true"]{opacity:.35;pointer-events:none}
.vgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (min-width:600px){.vgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.vcard{position:relative}
.vplay{width:100%;display:flex;flex-direction:column;align-items:center;gap:4px;background:var(--card);border:2px solid var(--line);border-radius:18px;padding:12px 8px 14px;color:var(--ink);font:inherit;cursor:pointer;min-height:150px}
.vplay.on{border-color:var(--teal-d)}
.vplay{min-width:0}.vplay b{font:700 clamp(18px,calc(var(--rsize) * .8),28px) var(--rfont);overflow-wrap:normal;text-align:center;line-height:1.15}.vplay b.lg{font-size:20px}.vplay b.xl{font-size:17px}
.vplay small{color:var(--muted);font-size:14px;line-height:1.3;text-align:center}
.vplay em{font-style:normal;font-size:12px;color:var(--teal-d);font-weight:700}
.vplay .pe,.vplay .e3d{font-size:46px;width:60px;height:60px;display:flex;align-items:center;justify-content:center}
.vplay img.dsph{width:60px;height:60px;object-fit:cover;border-radius:12px}
.vopen{position:absolute;top:6px;right:8px;font-size:22px;color:var(--muted);text-decoration:none;padding:4px 8px}
/* ---------- v2.0 teaching layer: calm, consistent, professional ---------- */
.plist,.ppath,.pacts{grid-template-columns:minmax(0,1fr)}
.pitem,.ppath a,.pact{min-width:0;max-width:100%}
.pitem small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-overflow:clip;overflow-wrap:anywhere}
.pitem b,.ppath b,.pact b{overflow-wrap:anywhere}
main{overflow-x:hidden}
.ptitle{font-size:24px;line-height:1.25;margin:4px 2px 2px;overflow-wrap:anywhere}
.ptitle .adtag,.adtag{display:inline-block;vertical-align:middle;font-size:12px;font-weight:600;letter-spacing:.02em;padding:3px 8px;border-radius:999px;background:#eef2f7;color:#3b4a5e;margin-left:4px}
.hsub.sm{font-size:14px;margin:-4px 2px 10px;color:var(--muted)}
.goal{display:flex;flex-direction:column;gap:2px;background:#f3f8f7;border:1px solid #d5e8e4;border-left:4px solid var(--teal-d);border-radius:14px;padding:10px 14px;margin:6px 0 8px}
.goal b{font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--teal-d)}
.goal span{font-size:16px;line-height:1.4;color:var(--ink)}
.tnote{background:#fbfaf7;border:1px solid var(--line);border-radius:14px;padding:0 14px;margin:0 0 12px}
.tnote summary{cursor:pointer;padding:12px 0;font-weight:600;font-size:15px;list-style:none}
.tnote summary::-webkit-details-marker{display:none}
.tnote summary::after{content:'＋';float:right;color:var(--muted)}
.tnote[open] summary::after{content:'－'}
.tnote p,.tnote li{font-size:15px;line-height:1.5;margin:0 0 10px}
.tnote ul{padding-left:20px;margin:0 0 10px}.tnote h4{margin:6px 0;font-size:14px}
.stg{display:inline-block;align-self:flex-start;font-style:normal;font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#eef2f7;color:#3b4a5e;margin-top:3px}
.stg.s-pa,.stg.s-ph{background:#fff3e0;color:#8a4b00}.stg.s-sw{background:#fde8f0;color:#8c1d4f}.stg.s-fl{background:#e7f1ff;color:#1d4f91}
.stg.s-vo{background:#efe9ff;color:#4b2a91}.stg.s-co{background:#e5f6ef;color:#1d6b4a}.stg.s-fn{background:#eef2f7;color:#3b4a5e}.stg.s-ex{background:#fff6d6;color:#6b5400}
.sc{font-size:12px;font-weight:600;color:var(--teal-d);background:#e5f6ef;border-radius:999px;padding:1px 7px;margin-left:4px;vertical-align:middle}
.prog{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px 14px;margin:0 0 14px}
.prog h3{margin:0 0 8px;font-size:16px}
.prow{display:grid;grid-template-columns:minmax(0,1fr) 34% auto;gap:8px;align-items:center;padding:5px 0}
.prow .pn{font-size:14px;overflow-wrap:anywhere}.prow .pn em{font-style:normal;font-size:11px;font-weight:600;color:#8a4b00;background:#fff3e0;border-radius:999px;padding:1px 6px}
.prow small{font-size:12px;color:var(--muted);white-space:nowrap}
.prow.now .pn{font-weight:600}
.lsteps{margin:0 0 8px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.lsteps ol{list-style:none;display:flex;gap:4px;margin:0;padding:2px 0}
.lsteps li{flex:1 1 0;min-width:58px}
.lsteps a{display:flex;flex-direction:column;align-items:center;gap:3px;text-decoration:none;color:var(--muted);font-size:11.5px;line-height:1.15;text-align:center;padding:4px 2px;border-radius:12px}
.lsteps i{font-style:normal;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--line);background:#fff;font-weight:700;font-size:13px}
.lsteps li.done i{background:#e5f6ef;border-color:#9fd4bf;color:var(--teal-d)}
.lsteps li.on a{color:var(--ink);font-weight:700}.lsteps li.on i{background:var(--teal-d);border-color:var(--teal-d);color:#fff}
.linst{display:flex;flex-wrap:wrap;align-items:center;gap:8px;background:#f3f8f7;border-radius:14px;padding:8px 12px;margin:0 0 10px;font-size:16px;line-height:1.4}
.linst span{flex:1;min-width:60%}
.btn.sm{min-height:40px;padding:6px 14px;font-size:15px}
.warm .kwgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0}
.kwc{display:flex;align-items:center;gap:8px;justify-content:center;min-height:64px;border:1px solid var(--line);border-radius:16px;background:var(--card);font:inherit;font-size:21px;color:var(--ink);padding:8px;overflow-wrap:anywhere}
.kwc span{font-size:16px}.kwc b{font-size:19px;overflow-wrap:normal;word-break:normal;hyphens:auto;min-width:0}.kwc.on{border-color:var(--teal-d);box-shadow:0 0 0 3px #cfe9e2}
.warm .btn{margin-top:8px}
.qhint{background:#fff9e8;border:1px solid #f1dfa6;border-radius:14px;padding:10px 14px;margin:8px 0}
.qhint b{font-size:14px}.qhint p{font-size:18px;line-height:1.45;margin:6px 0 8px}
.opt.hinted{outline:3px solid #9fd4bf;outline-offset:2px}
.pscore{font-size:16px;color:var(--ink)}
.sumbox,.selfchk,.lit{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:10px 0;text-align:left}
.sumbox p{font-size:17px;line-height:1.45;margin:6px 0 8px}
.lit h3{font-size:16px;margin:0 0 6px}.lit dl{margin:0}.lit dt{font-weight:700;margin-top:8px}.lit dd{margin:2px 0 0;color:var(--ink)}
.lit .say{width:34px;height:34px;font-size:15px;margin-right:6px;vertical-align:middle}
.faces{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.face{flex-direction:column;min-height:72px}.face span{font-size:28px}.face small{font-size:13px}.face.on{border-color:var(--teal-d);box-shadow:0 0 0 3px #cfe9e2}
.focus{display:grid;gap:12px}
.flab{display:grid;gap:6px;font-weight:600;font-size:15px}
.flab input{font:inherit;font-weight:400;font-size:17px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;min-width:0}
.ftask{font-size:18px;font-weight:600;text-align:center;margin:0}
.ring{--p:0%;width:220px;height:220px;margin:8px auto;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--teal-d) var(--p),#e6ecea 0)}
.ring b{width:180px;height:180px;border-radius:50%;background:var(--bg,#fff);display:grid;place-items:center;font-size:44px;font-variant-numeric:tabular-nums}
.fchart{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px 14px}.fchart h3{margin:0 0 8px;font-size:15px}
.fbars{display:flex;align-items:flex-end;gap:6px;height:96px}
.fbars span{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;font-size:11px;color:var(--muted)}
.fbars i{display:block;width:70%;border-radius:6px 6px 2px 2px;background:#cfd8dc}.fbars i.f3{background:#2a9d7f}.fbars i.f2{background:#8cc9b6}.fbars i.f1{background:#f1c27d}
.fbars b{font-size:11px;color:var(--ink)}
.emjrow{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.emj{width:46px;height:46px;font-size:24px;border:1px solid var(--line);border-radius:12px;background:#fff}
.emj[aria-pressed="true"]{border-color:var(--teal-d);box-shadow:0 0 0 3px #cfe9e2}
.mywords .dscard{display:grid;gap:10px}
.mwlist{display:grid;gap:8px;grid-template-columns:minmax(0,1fr)}
.mwc{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px 12px;min-width:0}
.mwc>span:nth-child(2){flex:1;min-width:0;display:flex;flex-direction:column}.mwc b{font-size:19px;overflow-wrap:anywhere}.mwc small{color:var(--muted)}
.slot.model{background:#e5f6ef;border-color:#9fd4bf}
.why h4{color:var(--ink)}
