:root { color-scheme:light; --ink:#24384a; --accent:#943b2c; --muted:#55616d; --line:#d9ddd9; --paper:#fffdf8; }
* { box-sizing:border-box; }
body { margin:0; background:#f4f3ee; color:var(--ink); font-family:system-ui,-apple-system,"Segoe UI",sans-serif; line-height:1.7; }
.container { max-width:960px; margin:auto; padding:24px; }
h1 { font-size:clamp(1.75rem,4vw,2.7rem); line-height:1.3; margin:.4em 0; }
h2 { font-size:1.3rem; line-height:1.5; margin:0 0 18px; }
h3 { font-size:1.05rem; margin:26px 0 8px; }
a { color:#235d80; text-underline-offset:3px; }
a:focus-visible, summary:focus-visible { outline:3px solid #9b5b14; outline-offset:4px; }
header { margin:30px 0; }
.eyebrow { text-transform:uppercase; letter-spacing:.08em; font-size:.85rem; color:var(--accent); font-weight:700; }
.tradition { font-weight:600; }
.language-nav { text-align:right; margin-bottom:16px; }
.period-nav, .toc { display:flex; gap:10px 20px; flex-wrap:wrap; padding:14px 0; }
.period-nav [aria-current] { color:var(--ink); font-weight:700; text-decoration-thickness:3px; }
.toc { margin:16px 0 28px; border-bottom:1px solid var(--line); }
.card, .pronunciation, .sources { background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:26px; margin:0 0 22px; }
.card { scroll-margin-top:20px; }
.instruction { border-left:3px solid var(--accent); padding:10px 14px; background:#f8f0e9; color:#65382d; }
.source-note, footer { color:var(--muted); font-size:.91rem; }
.label { font-size:.75rem; letter-spacing:.08em; text-transform:uppercase; color:var(--accent); margin:20px 0 6px; font-weight:700; }
.mantra { font-family:"Palatino Linotype",Palatino,"Noto Serif",Georgia,serif; font-size:1.22rem; line-height:1.9; margin:0 0 14px; overflow-wrap:anywhere; }
summary { cursor:pointer; font-weight:600; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; margin:16px 0; }
th,td { border-bottom:1px solid var(--line); padding:10px; text-align:left; }
th { background:#edf2f2; }
footer { margin:30px 0; }
.guide-grid { display:grid; gap:12px; margin:16px 0 32px; }
.guide-link { display:block; text-decoration:none; background:var(--paper); border:1px solid var(--line); border-radius:10px; padding:20px; }
.guide-link span { display:block; color:var(--muted); }
.skip-link { position:absolute; left:16px; top:-100px; padding:10px; background:white; }
.skip-link:focus { top:10px; }
@media(max-width:600px) { .container { padding:16px; } .card,.pronunciation,.sources { padding:18px; } .mantra { font-size:1.12rem; } th,td { padding:8px; } }
@media print { body { background:white; } .container { max-width:none; padding:0; } .language-nav,.period-nav,.toc,.skip-link { display:none; } .card { border:none; padding:8px 0; } .recitation { break-inside:avoid; } a { color:inherit; } }
