:root{
  --bg:#F3EFE7; --surface:#FFFCF6; --ink:#18212A; --muted:#68717A;
  --accent:#A66E22; --line:#DED6C8; --deep:#17212B; --shadow:0 12px 32px rgba(23,33,43,.08);
}
:root.dark{
  --bg:#10171E; --surface:#18222C; --ink:#F6F0E6; --muted:#AAB3BC;
  --accent:#E0B45C; --line:#2B3946; --deep:#0B1117; --shadow:0 12px 32px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",sans-serif;background:var(--bg);color:var(--ink)}
body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}
button{font:inherit}
.topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:calc(18px + env(safe-area-inset-top)) 20px 14px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}
.eyebrow,.kicker{font-size:.72rem;font-weight:700;letter-spacing:.14em;color:var(--accent)}
h1{font-family:Georgia,serif;font-size:1.55rem;margin:.15rem 0 0}
h2,h3{font-family:Georgia,serif}
main{max-width:760px;margin:auto;padding:20px}
.view{display:none}.view.active{display:block}
.card{background:var(--surface);border:1px solid var(--line);border-radius:22px;padding:22px;box-shadow:var(--shadow)}
.hero{padding:28px 24px;margin-bottom:28px}
.hero h2{font-size:2rem;line-height:1.08;margin:.5rem 0 .8rem}
.hero p{line-height:1.55;color:var(--muted)}
.bindu{width:52px;height:52px;border-radius:50%;border:2px solid var(--accent);position:relative;margin-bottom:22px}
.bindu:after{content:"";position:absolute;inset:18px;border-radius:50%;background:var(--accent)}
.primary{border:0;background:var(--deep);color:white;border-radius:14px;padding:14px 18px;font-weight:700;width:100%;margin-top:8px}
.iconBtn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.sectionHeading{display:flex;align-items:baseline;justify-content:space-between;margin:24px 2px 12px}
.sectionHeading h2,.sectionHeading h3{margin:0}.sectionHeading span{font-size:.8rem;color:var(--muted)}
.stack{display:grid;gap:12px}
.lessonCard{display:flex;gap:14px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:16px;text-align:left;width:100%;color:var(--ink)}
.lessonCard .num{flex:none;width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 15%,var(--surface));color:var(--accent);font-weight:800}
.lessonCard h4{margin:0 0 4px;font-size:1rem}.lessonCard p{margin:0;color:var(--muted);font-size:.87rem}
.back{border:0;background:transparent;color:var(--accent);font-weight:700;padding:8px 0 18px}
.lessonHero{padding-bottom:18px;border-bottom:1px solid var(--line)}
.lessonHero h2{font-size:2rem;margin:.35rem 0}.meta{color:var(--muted);font-size:.86rem}
.prose{line-height:1.65}.prose h3{margin-top:1.6em}.prose blockquote{margin:20px 0;padding:18px;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--surface));border-radius:0 14px 14px 0}
.sanskrit{font-family:Georgia,serif;font-size:1.15rem}
.inquiry{background:color-mix(in srgb,var(--accent) 9%,var(--surface));border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:18px;padding:18px;margin-top:22px}
.inquiry ol{padding-left:22px}.inquiry li{margin-bottom:10px}
textarea{width:100%;min-height:120px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--bg);color:var(--ink);resize:vertical;font:inherit}
.row{display:flex;gap:10px;margin-top:10px}.secondary{flex:1;border:1px solid var(--line);background:var(--surface);color:var(--ink);padding:12px;border-radius:12px;font-weight:700}
.saved{font-size:.82rem;color:var(--accent);margin-top:10px;min-height:1em}
.journalEntry{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}
.journalEntry h4{margin:0 0 8px}.journalEntry p{white-space:pre-wrap;color:var(--muted);line-height:1.5}
.small{font-size:.84rem;color:var(--muted)}
.tabbar{position:fixed;z-index:10;left:0;right:0;bottom:0;display:flex;justify-content:space-around;padding:8px 16px calc(8px + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(18px);border-top:1px solid var(--line)}
.tab{border:0;background:transparent;color:var(--muted);display:grid;gap:3px;place-items:center;font-size:.72rem;min-width:78px}.tab span{font-size:1.25rem}.tab.active{color:var(--accent)}
@media(min-width:700px){.hero h2{font-size:2.6rem}.stack{grid-template-columns:1fr 1fr}.prose.stack{grid-template-columns:1fr}}
