.hub .wrap{max-width:980px}
.prin{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.prin div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.prin b{color:var(--brand-ink)}
.loopcards{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.loopcards div{flex:1 1 150px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px;display:flex;flex-direction:column;gap:4px;min-width:0}
.loopcards .e{font-family:"Noto Color Emoji",sans-serif;font-size:2rem;line-height:1}
.loopcards b{font-size:1rem}
.loopcards span{font-size:.85rem;color:var(--slate)}
.thread{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:.85rem}
.thread span.s{background:var(--gold-soft);border-radius:999px;padding:5px 12px;font-weight:600}
details.unit{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:0}
details.unit > summary{list-style:none;cursor:pointer;padding:18px 20px;display:flex;flex-direction:column;gap:4px}
details.unit > summary::-webkit-details-marker{display:none}
details.unit > summary .t{font-family:var(--f-display);font-size:1.45rem;font-weight:600;color:var(--brand-ink)}
details.unit > summary .m{font-size:.85rem;color:var(--slate)}
details.unit[open] > summary{border-bottom:1px solid var(--line)}
.ubody{padding:16px 20px 20px;display:flex;flex-direction:column;gap:14px}
.ubody .meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;font-size:.88rem}
.ubody .meta div{border-top:2px solid var(--gold);padding-top:6px;min-width:0}
.ubody .meta b{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
.lesson{border:1px solid var(--line);border-radius:8px;padding:14px 16px;display:flex;flex-direction:column;gap:8px;background:var(--bg)}
.lesson .head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;align-items:baseline}
.lesson h3{margin:0;font-size:1.05rem}
.lesson .q{font-style:italic;color:var(--slate);font-size:.9rem}
.lesson dl{display:grid;grid-template-columns:130px 1fr;gap:4px 14px;margin:0;font-size:.88rem}
.lesson dt{font-weight:600;color:var(--brand-ink)}
.lesson dd{margin:0;min-width:0}
@media (max-width:620px){.lesson dl{grid-template-columns:1fr}.lesson dd{margin-bottom:6px}}
.status{font-size:.75rem;font-weight:600;border-radius:999px;padding:3px 10px;white-space:nowrap}
.status.ready{background:var(--good);color:#fff;text-decoration:none}
.status.dev{background:var(--gold-soft);color:var(--brand-ink)}
.rhythm{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.rhythm div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;font-size:.85rem}
.rhythm b{display:block;color:var(--brand-ink)}
.ar{font-family:"Noto Naskh Arabic","Geeza Pro","Segoe UI",serif;font-size:1.1rem;direction:rtl}
.refs li{margin:.4rem 0;font-size:.85rem}
.ver{font-family:ui-monospace,Menlo,monospace;font-size:.7rem;color:var(--slate)}

.links{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.links div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:.88rem}
.links b{display:block;color:var(--brand-ink)}
.changes{display:flex;flex-direction:column;gap:8px}
.changes div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;font-size:.88rem}
.changes b{display:block;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--slate)}
@media (max-width:620px){.changes div{grid-template-columns:1fr}}
.printlist{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px}
.printlist a{display:block;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px;text-decoration:none;color:var(--ink)}
.printlist a b{color:var(--brand-ink);display:block}
.printlist a span{font-size:.8rem;color:var(--slate)}

.strands td span{display:block;font-size:.8rem;color:var(--slate);margin-top:2px}
.strands td.n{white-space:nowrap;font-size:.82rem;color:var(--slate)}
.grid3 td{font-size:.84rem;vertical-align:top}
.catchup{margin:0;padding-left:22px;display:flex;flex-direction:column;gap:8px}
.catchup li span{display:block;font-size:.88rem;color:var(--slate)}
.brief{display:flex;flex-direction:column;gap:8px}
.brief div{background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:12px 14px;display:grid;grid-template-columns:110px 1fr;gap:2px 14px}
.brief .t{grid-row:span 2;font-size:.8rem;font-weight:600;color:var(--slate)}
.brief b{color:var(--brand-ink)}
.brief p{margin:0;font-size:.88rem}
@media (max-width:620px){.brief div{grid-template-columns:1fr}.brief .t{grid-row:auto}}
