/* ============================================================
   Nityaveda — Read Sanskrit (the 15-day script course).
   Loaded AFTER styles.css and dark.css. Scoped under body.sanskrit2.
   Uses the site's moonlight tokens. No new palette.
   ============================================================ */

body.sanskrit2 .wrap{max-width:1240px;margin:0 auto;padding:0 28px}
@media(max-width:680px){body.sanskrit2 .wrap{padding:0 18px}}

/* ---- intro ---- */
body.sanskrit2 .sk-intro{padding:68px 0 6px;max-width:760px}
@media(max-width:680px){body.sanskrit2 .sk-intro{padding:44px 0 6px}}
body.sanskrit2 .sk-eyebrow{font-family:"Fraunces","Fraunces-fallback",serif;font-style:italic;
  font-weight:430;font-size:1.02rem;color:var(--accent);margin:0 0 14px}
body.sanskrit2 .sk-title{font-family:"Fraunces","Fraunces-fallback",Georgia,serif;font-weight:380;
  font-size:clamp(2.2rem,5.2vw,3.6rem);line-height:1.04;letter-spacing:-.01em;margin:0 0 18px;color:#fff}
body.sanskrit2 .sk-sub{font-size:clamp(1.04rem,1.5vw,1.18rem);line-height:1.62;color:var(--ink2);
  max-width:60ch;margin:0 0 16px}
body.sanskrit2 .sk-note{font-size:.98rem;line-height:1.55;color:var(--ink2);max-width:54ch;margin:0 0 26px;opacity:.85}
body.sanskrit2 .sk-begin{display:inline-flex;align-items:center;gap:10px;
  font-family:"Fraunces","Fraunces-fallback",serif;font-size:1.08rem;color:var(--ink);
  text-decoration:none;padding:9px 0;border-bottom:1px solid var(--hair);
  transition:gap .25s ease,border-color .25s ease,color .25s ease}
body.sanskrit2 .sk-begin::after{content:"\2192";color:var(--accent);transition:transform .25s ease}
body.sanskrit2 .sk-begin:hover{gap:16px;color:#fff;border-color:var(--accent)}
body.sanskrit2 .sk-begin:hover::after{transform:translateX(4px)}

/* ---- the path ---- */
body.sanskrit2 .sk-path{padding:48px 0 18px}
body.sanskrit2 .sk-path-head{max-width:680px;margin:0 0 26px}
body.sanskrit2 .sk-path-head h2{font-family:"Fraunces","Fraunces-fallback",Georgia,serif;font-weight:380;
  font-size:clamp(1.8rem,3.4vw,2.6rem);color:#fff;margin:0 0 10px}
body.sanskrit2 .sk-path-head p{color:var(--ink2);font-size:1.04rem;line-height:1.6;margin:0;max-width:54ch}

body.sanskrit2 .sk-part{max-width:780px;margin:0 0 30px}
body.sanskrit2 .sk-part-h{font-family:"Fraunces","Fraunces-fallback",serif;font-style:italic;
  font-weight:430;font-size:1.06rem;color:var(--accent);margin:0 0 8px;
  border-bottom:1px solid var(--line);padding-bottom:10px}
body.sanskrit2 .sk-days{list-style:none;margin:0;padding:0}

body.sanskrit2 .sk-day{display:grid;grid-template-columns:42px 1fr auto;align-items:center;gap:18px;
  padding:16px 6px;border-bottom:1px solid var(--line);color:var(--ink2)}
body.sanskrit2 .sk-day a{display:contents;color:inherit;text-decoration:none}
body.sanskrit2 .sk-day .d-n{font-family:"Fraunces","Fraunces-fallback",serif;font-size:1.2rem;
  color:var(--ink2);text-align:center;opacity:.7}
body.sanskrit2 .sk-day .d-main{display:flex;flex-direction:column;gap:3px;min-width:0}
body.sanskrit2 .sk-day .d-t{font-family:"Fraunces","Fraunces-fallback",serif;font-size:1.14rem;
  color:#fff;line-height:1.2}
body.sanskrit2 .sk-day .d-l{font-size:.96rem;color:var(--ink2)}
body.sanskrit2 .sk-day .d-l.dev{font-family:"Noto Serif Devanagari","Tillana",serif;letter-spacing:.04em;
  font-size:1.06rem;color:var(--accent2)}
body.sanskrit2 .sk-day .d-go{font-size:.9rem;letter-spacing:.02em;white-space:nowrap}
body.sanskrit2 .sk-day .d-go.d-soon{color:var(--ink2);opacity:.55;font-style:italic}

/* live row is the only clickable one */
body.sanskrit2 .sk-day.is-live{cursor:pointer;border-bottom-color:var(--line-gold,var(--hair));
  transition:background .25s ease,padding-left .25s ease}
body.sanskrit2 .sk-day.is-live .d-go{color:var(--accent);font-family:"Fraunces","Fraunces-fallback",serif;font-size:1rem}
body.sanskrit2 .sk-day.is-live:hover{background:var(--washsoft);padding-left:14px;border-radius:10px}
body.sanskrit2 .sk-day.is-live:focus-within{outline:2px solid var(--accent);outline-offset:2px;border-radius:10px}
body.sanskrit2 .sk-day.is-done .d-n{color:var(--accent);opacity:1}
body.sanskrit2 .sk-day.is-done .d-go{color:var(--accent);opacity:1;font-style:normal}

/* ---- the lesson ---- */
body.sanskrit2 .sk-lesson{padding:40px 0 116px;scroll-margin-top:96px}
body.sanskrit2 .sk-lesson-head{max-width:620px;margin:0 0 26px;border-top:1px solid var(--line);padding-top:36px}
body.sanskrit2 .sk-day-tag{font-family:"Fraunces","Fraunces-fallback",serif;font-style:italic;
  font-weight:430;font-size:1.0rem;color:var(--accent);margin:0 0 8px}
body.sanskrit2 .sk-lesson-head h2{font-family:"Fraunces","Fraunces-fallback",Georgia,serif;font-weight:380;
  font-size:clamp(1.8rem,3.4vw,2.6rem);color:#fff;margin:0 0 12px}
body.sanskrit2 .sk-day-intro{color:var(--ink2);font-size:1.06rem;line-height:1.62;margin:0;max-width:52ch}

body.sanskrit2 .sk-stage{max-width:560px}

/* progress */
body.sanskrit2 .sk-prog{height:3px;background:var(--line);border-radius:3px;overflow:hidden;margin:0 0 8px}
body.sanskrit2 .sk-prog-fill{display:block;height:100%;background:var(--accent);
  border-radius:3px;transition:width .4s cubic-bezier(.16,1,.3,1)}
body.sanskrit2 .sk-prog-lab{font-size:.84rem;color:var(--ink2);opacity:.7;margin:0 0 20px;letter-spacing:.02em}

/* card */
body.sanskrit2 .sk-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);
  padding:40px 28px 30px;text-align:center}
body.sanskrit2 .sk-glyph{font-family:"Noto Serif Devanagari","Tillana",serif;color:#fff;
  font-size:clamp(4.4rem,18vw,7rem);line-height:1;margin:0 0 10px;
  text-shadow:0 6px 40px rgba(186,200,240,.18)}
body.sanskrit2 .sk-iast{font-family:"Fraunces","Fraunces-fallback",serif;font-style:italic;
  font-size:1.9rem;color:var(--accent);margin:0 0 8px}
body.sanskrit2 .sk-hint{color:var(--ink2);font-size:1rem;margin:0 0 24px}

body.sanskrit2 .sk-controls{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:0 0 16px}
body.sanskrit2 .sk-listen{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit;
  font-size:1rem;font-weight:600;letter-spacing:.02em;background:var(--accent);color:#0A0822;
  border:0;border-radius:999px;padding:11px 26px;transition:background .2s ease,transform .15s ease}
body.sanskrit2 .sk-listen:hover{background:var(--accent2);transform:translateY(-1px)}
body.sanskrit2 .sk-replay{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:inherit;
  font-size:1rem;color:var(--ink);background:transparent;border:1px solid var(--line);
  border-radius:999px;padding:11px 22px;transition:border-color .2s ease,color .2s ease}
body.sanskrit2 .sk-replay:hover{border-color:var(--accent);color:#fff}
body.sanskrit2 .sk-listen:focus-visible,body.sanskrit2 .sk-replay:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body.sanskrit2 .sk-now{font-family:"Fraunces","Fraunces-fallback",serif;font-style:italic;
  color:var(--ink2);font-size:1.02rem;margin:0}
body.sanskrit2 .sk-audio-note{color:var(--accent);font-size:.88rem;margin:10px 0 0;min-height:1.1em}

/* nav row */
body.sanskrit2 .sk-nav-row{display:flex;justify-content:space-between;align-items:center;margin:18px 2px 0}
body.sanskrit2 .sk-next,body.sanskrit2 .sk-back{appearance:none;-webkit-appearance:none;cursor:pointer;
  font-family:"Fraunces","Fraunces-fallback",serif;font-size:1.02rem;background:transparent;border:0;
  color:var(--ink);padding:6px 2px;transition:color .2s ease,gap .2s ease}
body.sanskrit2 .sk-next{color:var(--accent)}
body.sanskrit2 .sk-next:hover{color:#fff}
body.sanskrit2 .sk-back:hover{color:#fff}
body.sanskrit2 .sk-next:disabled{color:var(--ink2);opacity:.4;cursor:default}
body.sanskrit2 .sk-next:focus-visible,body.sanskrit2 .sk-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}

/* quiz */
body.sanskrit2 .sk-q-lab{font-family:"Fraunces","Fraunces-fallback",serif;font-style:italic;
  color:var(--ink2);font-size:1.04rem;margin:0 0 14px}
body.sanskrit2 .sk-quiz .sk-glyph{font-size:clamp(3.6rem,14vw,5.4rem);margin-bottom:22px}
body.sanskrit2 .sk-opts{display:grid;grid-template-columns:1fr 1fr;gap:10px;max-width:320px;margin:0 auto}
body.sanskrit2 .sk-opt{appearance:none;-webkit-appearance:none;cursor:pointer;font-family:"Fraunces","Fraunces-fallback",serif;
  font-style:italic;font-size:1.3rem;color:var(--ink);background:var(--card);
  border:1px solid var(--line);border-radius:var(--r);padding:14px 10px;
  transition:border-color .2s ease,background .2s ease,color .2s ease}
body.sanskrit2 .sk-opt:hover{border-color:var(--accent);background:var(--wash)}
body.sanskrit2 .sk-opt:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
body.sanskrit2 .sk-opt.is-right{border-color:var(--accent);background:var(--wash);color:#fff;box-shadow:inset 0 0 0 1px var(--accent)}
body.sanskrit2 .sk-opt.is-wrong{opacity:.45;border-color:var(--line)}
body.sanskrit2 .sk-opt:disabled{cursor:default}
body.sanskrit2 .sk-q-feedback{color:var(--ink2);font-size:1rem;margin:16px 0 0;min-height:1.2em}

/* done */
body.sanskrit2 .sk-done .sk-done-mark{font-family:"Noto Serif Devanagari","Tillana",serif;color:var(--accent2);
  font-size:clamp(2.4rem,9vw,3.6rem);line-height:1;margin:0 0 16px;letter-spacing:.06em}
body.sanskrit2 .sk-done h3{font-family:"Fraunces","Fraunces-fallback",Georgia,serif;font-weight:380;
  font-size:clamp(1.5rem,3vw,2rem);color:#fff;margin:0 0 12px}
body.sanskrit2 .sk-done p{color:var(--ink2);font-size:1.04rem;line-height:1.62;margin:0 0 22px;max-width:42ch;margin-left:auto;margin-right:auto}

@media(max-width:680px){
  body.sanskrit2 .sk-day{grid-template-columns:34px 1fr auto;gap:12px}
  body.sanskrit2 .sk-card{padding:32px 18px 26px}
}

@media(prefers-reduced-motion:no-preference){
  body.sanskrit2 .sk-card{animation:skrise .45s cubic-bezier(.16,1,.3,1) both}
  @keyframes skrise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}
