:root{
  --ink:#1B1A17; --ink-soft:#4A453D;
  --bhagwa:#E67514; --bhagwa-deep:#B4530A;
  --gadh:#2E3B4E; --gadh-2:#1E2836;
  --parchment:#FBF6EC; --parchment-2:#F5EBD9;
  --rule-soft:#E4EBF5; --line:#E0D5C0;
  --radius:16px;
  --dev:"Noto Sans Devanagari",sans-serif;
  --disp:"Baloo 2","Noto Sans Devanagari",cursive;
  --serif:"Tiro Devanagari Marathi",serif;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;font-family:var(--dev);color:var(--ink);
  background:var(--parchment);line-height:1.85;
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}*{transition:none!important;}}
a{color:var(--bhagwa-deep);}
:focus-visible{outline:3px solid var(--bhagwa);outline-offset:2px;}
.wrap{width:min(100% - 2rem,1080px);margin-inline:auto;}
p{margin:0 0 1rem;}

/* ---------- SKIP ---------- */
.skip{position:absolute;left:-9999px;background:var(--gadh);color:#fff;padding:.6rem 1rem;z-index:99;}
.skip:focus{left:.6rem;top:.6rem;}

/* ---------- HEADER ---------- */
.bm-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20;}
.bm-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem 1rem;}
.bm-logo{font-family:var(--disp);font-weight:800;font-size:1.35rem;color:var(--bhagwa-deep);text-decoration:none;}
.bm-nav{display:flex;flex-wrap:wrap;gap:.2rem;}
.bm-nav a{
  font-size:.97rem;font-weight:500;text-decoration:none;color:var(--gadh);
  padding:.4rem .7rem;border-radius:8px;transition:background .15s ease;
}
.bm-nav a:hover{background:var(--parchment-2);}
.bm-nav a[aria-current]{background:var(--bhagwa);color:#fff;font-weight:600;}

/* ---------- BREADCRUMB ---------- */
.bm-crumb{font-size:.88rem;color:var(--ink-soft);padding:.9rem 0 0;}
.bm-crumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.35rem;margin:0;padding:0;}
.bm-crumb li::after{content:"›";margin-left:.35rem;color:#B9AE97;}
.bm-crumb li:last-child::after{content:"";}
.bm-crumb a{text-decoration:none;}
.bm-crumb a:hover{text-decoration:underline;}

/* ---------- HERO ---------- */
.hero{background:linear-gradient(170deg,var(--gadh) 0%,var(--gadh-2) 100%);color:#fff;position:relative;overflow:hidden;margin-top:.9rem;}
.hero .wrap{padding:2.8rem 1rem 3.2rem;position:relative;z-index:1;}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(90deg,rgba(255,255,255,.045) 0 2px,transparent 2px 9px);}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:22px;background:repeating-linear-gradient(90deg,var(--parchment) 0 20px,transparent 20px 40px);}
.eyebrow{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--disp);font-weight:700;font-size:.8rem;letter-spacing:.16em;text-transform:uppercase;color:#FFD9A8;border:1.5px solid rgba(255,217,168,.4);border-radius:999px;padding:.35rem 1rem;margin-bottom:1rem;}
.daynum{font-family:var(--disp);font-weight:800;background:var(--bhagwa);color:#fff;border-radius:999px;padding:.05rem .6rem;}
h1{font-family:var(--dev);font-weight:700;font-size:clamp(1.9rem,5.2vw,3.2rem);line-height:1.3;margin:0 0 .7rem;}
.hero .sub{color:#CBD7E6;max-width:58ch;font-size:clamp(1rem,2.2vw,1.12rem);margin-bottom:1.5rem;}
.facts{display:flex;flex-wrap:wrap;gap:.5rem;}
.fact{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:10px;padding:.45rem .85rem;font-size:.88rem;color:#EAF0F7;}
.fact b{color:#FFD9A8;font-weight:600;}

/* ---------- SECTIONS ---------- */
main section{padding:2.8rem 0 0;}
.label{font-family:var(--disp);font-weight:700;font-size:.76rem;letter-spacing:.18em;text-transform:uppercase;color:var(--bhagwa-deep);margin-bottom:.45rem;}
h2{font-family:var(--dev);font-weight:700;font-size:clamp(1.35rem,3.2vw,1.9rem);margin:0 0 1.1rem;line-height:1.4;}
h2 .en{display:block;font-family:var(--disp);font-weight:600;font-size:.93rem;color:var(--ink-soft);margin-top:.15rem;}

/* ---------- LENGTH TOGGLE ---------- */
.toggle{display:flex;gap:.4rem;margin-bottom:1rem;flex-wrap:wrap;}
.toggle button{
  font-family:var(--disp);font-weight:700;font-size:.92rem;cursor:pointer;
  background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:.45rem 1.1rem;color:var(--gadh);
}
.toggle button[aria-pressed="true"]{background:var(--gadh);border-color:var(--gadh);color:#fff;}

/* ---------- NOTEBOOK ---------- */
.book{background:#fff;border:1px solid var(--rule-soft);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 42px -24px rgba(46,59,78,.42);}
.book-top,.book-foot{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;background:var(--parchment-2);padding:.85rem 1.3rem;font-size:.88rem;color:var(--ink-soft);}
.book-top{border-bottom:1px solid var(--line);}
.book-foot{border-top:1px solid var(--line);}
.book-top strong{font-family:var(--disp);color:var(--bhagwa-deep);}
.page{position:relative;padding:1.6rem 1.4rem 1.9rem 2.9rem;background-image:linear-gradient(var(--rule-soft) 1px,transparent 1px);background-size:100% 2.6rem;background-position:0 1.6rem;}
.page::before{content:"";position:absolute;top:0;bottom:0;left:1.9rem;width:1.5px;background:#F0B9AE;}
.passage{font-family:var(--serif);font-size:clamp(1.1rem,2.5vw,1.3rem);color:#15202E;}
.passage p{margin:0 0 2.6rem;line-height:2.6rem;}
.passage p:last-child{margin-bottom:0;}
.passage .oath{color:var(--bhagwa-deep);font-weight:600;}
body[data-len="short"] .passage p[data-extra]{display:none;}
.btn{font-family:var(--disp);font-weight:700;font-size:.94rem;background:var(--bhagwa);color:#fff;border:0;border-radius:10px;padding:.6rem 1.15rem;cursor:pointer;transition:background .16s ease;}
.btn:hover{background:var(--bhagwa-deep);}

/* ---------- TABLE ---------- */
.tablewrap{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;}
table{width:100%;border-collapse:collapse;font-size:.96rem;min-width:420px;}
thead th{background:var(--gadh);color:#fff;text-align:left;font-family:var(--disp);font-weight:600;font-size:.85rem;letter-spacing:.04em;padding:.72rem 1rem;}
tbody td{padding:.68rem 1rem;border-top:1px solid var(--rule-soft);vertical-align:top;}
tbody tr:nth-child(even){background:#FCFAF6;}
td.mr{font-weight:600;font-size:1.06rem;white-space:nowrap;}
td.rom{font-family:var(--disp);color:var(--bhagwa-deep);font-weight:600;}
td.en{color:var(--ink-soft);}

/* ---------- RULE ---------- */
.rule-card{background:linear-gradient(160deg,#FFF6E8,#FFEFD8);border:1.5px solid #F0C88A;border-left:6px solid var(--bhagwa);border-radius:var(--radius);padding:1.45rem 1.55rem;}
.rule-card .big{font-size:clamp(1.06rem,2.5vw,1.26rem);font-weight:600;line-height:1.7;}
.chips{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem;}
.chip{background:#fff;border:1px solid #EDD3A8;border-radius:8px;padding:.35rem .75rem;font-size:1rem;font-weight:600;}
.chip small{display:block;font-family:var(--disp);font-size:.7rem;color:var(--bhagwa-deep);letter-spacing:.04em;}
.cross{color:#B4231A;text-decoration:line-through;}

/* ---------- CARDS ---------- */
.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem 1.3rem;}
.card h3{font-weight:700;font-size:1.06rem;margin:0 0 .45rem;color:var(--gadh);}
.card p{font-size:.94rem;color:var(--ink-soft);margin:0;line-height:1.75;}

/* ---------- PARENT ---------- */
.parent{background:var(--gadh);color:#D2DCE7;border-radius:var(--radius);padding:1.6rem 1.7rem;}
.parent h2{color:#fff;}
.parent h2 .en{color:#B8C6D6;}
.parent .label{color:#FFD9A8;}
.parent ol{margin:0;padding-left:1.2rem;font-size:.96rem;line-height:1.9;}
.parent li::marker{color:#FFD9A8;font-weight:700;}

/* ---------- FAQ ---------- */
details{background:#fff;border:1px solid var(--line);border-radius:12px;margin-bottom:.6rem;}
summary{cursor:pointer;font-weight:600;padding:.9rem 1.1rem;list-style:none;font-size:1.02rem;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";float:left;margin-right:.6rem;color:var(--bhagwa);font-weight:700;}
details[open] summary::after{content:"–";}
details p{padding:0 1.1rem 1rem;margin:0;color:var(--ink-soft);font-size:.96rem;}

/* ---------- SERIES NAV ---------- */
.series{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:space-between;margin-top:2.8rem;padding-top:1.4rem;border-top:1px solid var(--line);}
.series a{background:#fff;border:1px solid var(--line);border-radius:10px;padding:.6rem 1rem;text-decoration:none;font-weight:600;font-size:.94rem;color:var(--gadh);}
.series a:hover{background:var(--parchment-2);}

/* ---------- FOOTER ---------- */
.bm-footer{background:var(--gadh-2);color:#B8C6D6;margin-top:3.5rem;padding:2.6rem 0 1.4rem;}
.foot-cols{display:grid;gap:1.6rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));}
.foot-cols h4{font-family:var(--disp);color:#FFD9A8;font-size:.98rem;margin:0 0 .6rem;letter-spacing:.03em;}
.foot-cols a{display:block;color:#C6D2DF;text-decoration:none;font-size:.95rem;padding:.3rem 0;line-height:1.45;}
.foot-cols a span{display:block;font-family:var(--disp);font-size:.76rem;color:#7F8FA1;letter-spacing:.02em;}
.foot-cols a:hover{color:#fff;}
.foot-cols a:hover span{color:#A9B8C8;}
.copy{margin:1.8rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.12);font-size:.86rem;color:#8E9DAE;}

/* ---------- PRINT ---------- */
@media print{
  body{background:#fff;}
  .bm-header,.bm-crumb,.hero,.parent,.book-foot,.series,.bm-footer,.toggle,.faq,.info{display:none!important;}
  .book{box-shadow:none;border:0;}
  main section{padding-top:0;}
}
@media (max-width:520px){
  .page{padding-left:2.3rem;}
  .page::before{left:1.4rem;}
  .bm-header .wrap{flex-direction:column;align-items:flex-start;}
}
/* ---------- INDEX / HUB PAGES ---------- */
.intro-lead{font-size:clamp(1.02rem,2.3vw,1.15rem);max-width:65ch;color:var(--ink-soft);}
.arc-block{margin-bottom:2.4rem;scroll-margin-top:5rem;}
.arc-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.7rem;margin-bottom:.9rem;
  padding-bottom:.5rem;border-bottom:2px solid var(--line);}
.arc-head h3{font-family:var(--dev);font-weight:700;font-size:1.25rem;margin:0;color:var(--gadh);}
.arc-head .count{font-family:var(--disp);font-size:.82rem;font-weight:700;letter-spacing:.06em;
  color:#fff;background:var(--bhagwa);border-radius:999px;padding:.1rem .7rem;}
.arc-head .desc{font-size:.9rem;color:var(--ink-soft);}
.day-grid{display:grid;gap:.7rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));}
.day-card{display:flex;gap:.8rem;align-items:flex-start;background:#fff;border:1px solid var(--line);
  border-radius:12px;padding:.8rem .9rem;text-decoration:none;color:var(--ink);
  transition:border-color .15s ease,transform .15s ease;}
.day-card:hover{border-color:var(--bhagwa);transform:translateY(-2px);}
.day-card .num{flex:0 0 auto;font-family:var(--disp);font-weight:800;font-size:.9rem;
  background:var(--parchment-2);color:var(--bhagwa-deep);border-radius:8px;
  min-width:2.1rem;text-align:center;padding:.2rem .3rem;}
.day-card .t{font-weight:600;font-size:.98rem;line-height:1.45;display:block;}
.day-card .s{font-size:.82rem;color:var(--ink-soft);display:block;margin-top:.1rem;}
.cat-grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));}
.cat-card{background:#fff;border:1px solid var(--line);border-left:6px solid var(--bhagwa);
  border-radius:var(--radius);padding:1.3rem 1.4rem;text-decoration:none;color:var(--ink);display:block;
  transition:transform .15s ease,box-shadow .15s ease;}
.cat-card:hover{transform:translateY(-3px);box-shadow:0 14px 30px -20px rgba(46,59,78,.5);}
.cat-card h3{font-family:var(--dev);font-weight:700;font-size:1.2rem;margin:0 0 .4rem;color:var(--gadh);}
.cat-card p{font-size:.93rem;color:var(--ink-soft);margin:0 0 .7rem;line-height:1.7;}
.cat-card .meta{font-family:var(--disp);font-weight:700;font-size:.82rem;color:var(--bhagwa-deep);letter-spacing:.04em;}
.cat-card.soon{border-left-color:#B9AE97;opacity:.75;cursor:default;}
.jump{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:2rem;}
.jump a{font-family:var(--disp);font-weight:600;font-size:.88rem;text-decoration:none;
  background:#fff;border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;color:var(--gadh);}
.jump a:hover{background:var(--bhagwa);border-color:var(--bhagwa);color:#fff;}
.howto{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem;}
.howto ol{margin:0;padding-left:1.2rem;line-height:1.9;}
.howto li::marker{color:var(--bhagwa);font-weight:700;}

/* ---------- day grid as a list (no bullets, no stale-CSS run-together) ---------- */
.day-grid{list-style:none;margin:0;padding:0;}
.day-grid li{margin:0;}
.day-card .txt{display:block;min-width:0;}
.day-card .t{display:block;}
.day-card .s{display:block;}
