/* ============================================================
   Shivaji — A Story a Night · shared styles for the DAY pages
   (day-01, day-02, … day-30). Reference pages use site.css.
   ============================================================ */
  :root{
    --bg:#E7E1D3;
    --paper:#F4F0E6;
    --paper-2:#EFE9DB;
    --ink:#2B2620;
    --ink-soft:#6C6353;
    --ink-faint:#9A907C;
    --line:#D4CBB6;
    --saffron:#BE5A11;
    --saffron-bright:#E0842C;
    --green:#3C5A40;
    --green-soft:#6E8A6A;
    --gold:#A8842A;--rust:#9E4A2E;
    --sea:#CBD8D2;
    --sea-line:#9FB6AE;
    --shadow:rgba(43,38,32,.14);
    --map-land:#E3DCC7;
    --map-ridge:#B9AD8E;
  }
  :root:not([data-theme="light"]){
    @media (prefers-color-scheme: dark){
      --bg:#131110;
      --paper:#1E1A15;
      --paper-2:#231E18;
      --ink:#ECE3D3;
      --ink-soft:#AA9E89;
      --ink-faint:#786E5C;
      --line:#332C22;
      --saffron:#E8934A;
      --saffron-bright:#F4B06A;
      --green:#84A47E;
      --green-soft:#6E8A6A;
      --gold:#D6B45A;--rust:#D98A6A;
      --sea:#1B262A;
      --sea-line:#33474C;
      --shadow:rgba(0,0,0,.5);
      --map-land:#231F18;
      --map-ridge:#4A4132;
    }
  }
  :root[data-theme="dark"]{
    --bg:#131110;--paper:#1E1A15;--paper-2:#231E18;--ink:#ECE3D3;--ink-soft:#AA9E89;
    --ink-faint:#786E5C;--line:#332C22;--saffron:#E8934A;--saffron-bright:#F4B06A;
    --green:#84A47E;--green-soft:#6E8A6A;--gold:#D6B45A;--rust:#D98A6A;--sea:#1B262A;--sea-line:#33474C;
    --shadow:rgba(0,0,0,.5);--map-land:#231F18;--map-ridge:#4A4132;
  }

  *{box-sizing:border-box}
  html{-webkit-text-size-adjust:100%}
  body{
    margin:0;background:var(--bg);color:var(--ink);
    font-family:"Spectral",Georgia,serif;font-size:19px;line-height:1.72;
    -webkit-font-smoothing:antialiased;
  }
  .wrap{max-width:880px;margin:0 auto;padding:0 22px 80px}
  ::selection{background:var(--saffron);color:#fff}

  /* ---------- eyebrow / labels ---------- */
  .eyebrow{
    font-family:"Karla",system-ui,sans-serif;text-transform:uppercase;
    letter-spacing:.18em;font-size:.72rem;font-weight:700;color:var(--saffron);
  }
  .mr{font-family:"Tiro Devanagari Marathi",serif;font-weight:400}
  /* Devanagari must never be letter-spaced — it splits the matras */
  .mr,.telling.mr,.say .dev,.face .big{letter-spacing:normal}

  /* ---------- hero ---------- */
  header.hero{position:relative;overflow:hidden;margin-bottom:8px;
    border-bottom:1px solid var(--line);background:
      radial-gradient(120% 90% at 80% -10%, color-mix(in srgb, var(--saffron) 12%, transparent), transparent 60%);}
  .hero-inner{max-width:880px;margin:0 auto;padding:54px 22px 0}
  .kicker{display:flex;gap:14px;align-items:center;flex-wrap:wrap;margin-bottom:20px}
  .act-tag{font-family:"Karla",sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.14em;
    text-transform:uppercase;color:var(--ink-soft);border:1px solid var(--line);
    padding:5px 11px;border-radius:100px}
  .daynum{font-family:"Karla",sans-serif;font-weight:700;letter-spacing:.14em;font-size:.72rem;
    text-transform:uppercase;color:#fff;background:var(--saffron);padding:5px 11px;border-radius:100px}
  h1{font-family:"Marcellus",serif;font-weight:400;line-height:1.02;letter-spacing:.005em;
    font-size:clamp(2.6rem,8vw,4.6rem);margin:.1em 0 .28em;text-wrap:balance}
  .dek{font-size:1.16rem;color:var(--ink-soft);max-width:44ch;margin:0 0 40px;font-style:italic}
  .dek b{color:var(--ink);font-style:normal;font-weight:500}
  .ridge{display:block;width:100%;height:auto;margin-bottom:-1px}

  /* ---------- section rhythm ---------- */
  section{margin-top:56px}
  .sec-head{display:flex;align-items:baseline;gap:14px;margin-bottom:22px}
  .sec-head h2{font-family:"Marcellus",serif;font-weight:400;font-size:1.7rem;margin:0;letter-spacing:.01em}
  .sec-head .num{font-family:"Karla",sans-serif;font-weight:700;color:var(--saffron);font-size:.9rem;
    letter-spacing:.1em}
  .rule{height:1px;background:var(--line);flex:1}

  /* ---------- map ---------- */
  figure.map{margin:0;background:var(--paper);border:1px solid var(--line);border-radius:16px;
    padding:14px 14px 6px;box-shadow:0 14px 40px -28px var(--shadow)}
  figure.map svg{display:block;width:100%;height:auto;border-radius:9px}
  figcaption{font-family:"Karla",sans-serif;font-size:.86rem;color:var(--ink-soft);
    padding:12px 6px 8px;line-height:1.5}
  .map-cta{text-align:center;margin:16px 0 0}
  .map-cta a{font-family:"Karla",sans-serif;font-weight:700;font-size:.86rem;letter-spacing:.02em;
    color:var(--saffron);text-decoration:none;border:1px solid color-mix(in srgb,var(--saffron) 40%,var(--line));
    padding:9px 18px;border-radius:100px;display:inline-block;transition:.15s}
  .map-cta a:hover{background:color-mix(in srgb,var(--saffron) 12%,transparent)}
  .m-land{fill:var(--map-land)}
  .m-sea{fill:var(--sea)}
  .m-sealine{fill:none;stroke:var(--sea-line);stroke-width:1.4;opacity:.7}
  .m-ridge{fill:var(--map-ridge)}
  .m-fort{fill:var(--ink-faint)}
  .m-label{font-family:"Karla",sans-serif;font-weight:700;fill:var(--ink-soft);
    letter-spacing:.12em;font-size:13px}
  .m-sub{font-family:"Karla",sans-serif;fill:var(--ink-faint);font-size:11px;letter-spacing:.04em}
  .m-sea-label{font-family:"Spectral",serif;font-style:italic;fill:var(--sea-line);font-size:15px;letter-spacing:.05em}
  .m-press{fill:none;stroke:var(--ink-faint);stroke-width:2;stroke-dasharray:2 7;stroke-linecap:round}
  .m-star{fill:var(--saffron)}
  .m-star-ring{fill:none;stroke:var(--saffron);stroke-width:2;opacity:.55}
  .m-shiv{font-family:"Marcellus",serif;fill:var(--ink);font-size:17px}
  .m-shiv-sub{font-family:"Spectral",serif;font-style:italic;fill:var(--saffron);font-size:12.5px}
  @media (prefers-reduced-motion:no-preference){
    .m-star-ring{animation:pulse 3.4s ease-in-out infinite;transform-origin:center}
    @keyframes pulse{0%,100%{opacity:.5;r:15px}50%{opacity:.08;r:24px}}
  }
  /* ---- relief map v2 ---- */
  .m2-land{fill:var(--map-land)}
  .m2-plain{fill:none;stroke:color-mix(in srgb,var(--green) 18%,var(--map-land));stroke-width:40}
  .m2-plateau{fill:color-mix(in srgb,var(--gold) 12%,var(--map-land));opacity:.55}
  .m2-coastline{fill:none;stroke:var(--sea-line);stroke-width:1.8}
  .m2-coastline.soft{opacity:.35;stroke-width:1.2}
  .m2-ghat{fill:none;stroke:color-mix(in srgb,var(--green) 62%,var(--map-land));stroke-width:30;stroke-linecap:round}
  .m2-ghat-core{fill:none;stroke:var(--green);stroke-width:8;stroke-linecap:round;opacity:.7}
  .m2-hatch{fill:none;stroke:color-mix(in srgb,var(--green) 45%,#000);stroke-width:1.3;opacity:.45;stroke-linecap:round}
  .m2-river{fill:none;stroke:var(--sea-line);stroke-width:2;stroke-linecap:round;opacity:.8}
  .m2-river-l{font-family:"Spectral",serif;font-style:italic;fill:var(--sea-line);font-size:11.5px}
  .m2-region{font-family:"Karla",sans-serif;font-weight:700;letter-spacing:.22em;font-size:12px;fill:var(--ink-faint)}
  .m2-region-s{font-family:"Spectral",serif;font-style:italic;font-size:12px;fill:var(--ink-faint)}
  .m2-wash-n{fill:color-mix(in srgb,var(--ink) 7%,transparent)}
  .m2-wash-s{fill:color-mix(in srgb,var(--saffron) 9%,transparent)}
  .m2-scale{fill:none;stroke:var(--ink-soft);stroke-width:1.4}
  .m2-scale-l{font-family:"Karla",sans-serif;font-size:10px;fill:var(--ink-soft);letter-spacing:.04em}
  .m2-inset{fill:color-mix(in srgb,var(--ink) 10%,transparent);stroke:var(--line);stroke-width:1}

  /* ---------- story / language toggle ---------- */
  .lang-bar{display:inline-flex;background:var(--paper-2);border:1px solid var(--line);
    border-radius:100px;padding:4px;gap:2px;margin-bottom:26px}
  .lang-bar button{font-family:"Karla",sans-serif;font-weight:700;font-size:.82rem;letter-spacing:.04em;
    border:0;background:transparent;color:var(--ink-soft);padding:8px 20px;border-radius:100px;cursor:pointer;
    transition:background .2s,color .2s}
  .lang-bar button[aria-selected="true"]{background:var(--saffron);color:#fff}
  .lang-bar button.mr{font-weight:400;font-size:1.05rem;letter-spacing:normal}

  .telling{font-size:1.14rem;line-height:1.82;position:relative;
    background:color-mix(in srgb,var(--gold) 10%,var(--paper));
    border:1px solid var(--line);border-radius:4px;padding:40px clamp(22px,10vw,96px) 32px;
    margin:22px 6px 10px;box-shadow:0 18px 46px -32px var(--shadow)}
  /* rolled dowel ends — the telling reads as an unrolled letter-scroll */
  .telling::before,.telling::after{content:"";position:absolute;left:-10px;right:-10px;height:20px;
    background:linear-gradient(180deg,#6f4f2c 0%,#c39a66 45%,#8a6a3c 70%,#5f4326 100%);
    border-radius:11px;box-shadow:0 3px 9px -2px var(--shadow)}
  .telling::before{top:-12px}
  .telling::after{bottom:-12px}

  /* ---- senior-design polish ---- */
  /* hero: a faint Rajmudra-style seal anchors the empty right side */
  .hero-inner{position:relative;z-index:1}
  header.hero::after{content:"";position:absolute;top:-96px;right:-64px;width:300px;height:300px;
    border-radius:50%;border:2px solid color-mix(in srgb,var(--saffron) 30%,transparent);
    box-shadow:inset 0 0 0 20px color-mix(in srgb,var(--saffron) 7%,transparent),
               inset 0 0 0 22px color-mix(in srgb,var(--saffron) 20%,transparent);
    opacity:.6;pointer-events:none;z-index:0}
  /* day navigation (prev · hub · next) */
  .daynav{max-width:880px;margin:0 auto;padding:16px 22px 0;display:flex;justify-content:space-between;
    align-items:center;gap:12px;font-family:"Karla",sans-serif;font-size:.8rem;color:var(--ink-soft)}
  .daynav a{color:var(--ink-soft);text-decoration:none;white-space:nowrap}
  .daynav a:hover{color:var(--saffron)}
  .daynav .mid{color:var(--ink-faint);text-align:center}
  .daynav .mid a{margin:0 2px}
  /* focus + hover polish */
  a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--saffron);
    outline-offset:3px;border-radius:4px}
  .entry,details.card,.ref-card,.night{transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
  @media (max-width:560px){
    header.hero::after{width:180px;height:180px;top:-66px;right:-46px}
    .daynav{font-size:.74rem;padding:12px 16px 0}
    .daynav .mid{display:none}
    /* enlarge in-illustration labels so they stay legible when the SVG scales down */
    .m-shiv{font-size:21px}
    .m-shiv-sub{font-size:15px}
    .m-sub{font-size:13.5px}
    .m-label{font-size:16px}
    .m-sea-label{font-size:18px}
    .m2-region{font-size:15px}
    .m2-region-s{font-size:14px}
    .m2-river-l{font-size:14px}
    .m2-scale-l{font-size:12px}
  }
  .telling.mr{font-family:"Tiro Devanagari Marathi",serif;font-size:1.22rem;line-height:2.02;font-weight:400}
  .telling p{margin:0 0 1.15em}
  .telling p:first-of-type::first-letter{
    font-family:"Marcellus",serif;font-size:3.4em;line-height:.72;float:left;
    margin:.06em .12em 0 0;color:var(--saffron)}
  /* Devanagari: drop-cap the whole first akshara via a span, not ::first-letter (which splits matras) */
  .telling.mr p:first-of-type::first-letter{font-size:inherit;line-height:inherit;float:none;margin:0;color:inherit}
  .telling.mr .dropcap{float:left;font-family:"Tiro Devanagari Marathi",serif;font-size:3em;
    line-height:.82;color:var(--saffron);margin:.02em .16em 0 0}
  .telling em{color:var(--saffron);font-style:italic}
  /* signature line — the collectible quote of a "line" night */
  .telling .sig{margin:1.5em 2px;padding:.5em 0 .5em 1.1em;border-left:3px solid var(--saffron)}
  .telling .sig .q{font-family:"Tiro Devanagari Marathi",serif;font-size:1.42rem;line-height:1.55;
    color:var(--ink);display:block;letter-spacing:normal}
  .telling .sig .t{font-style:italic;color:var(--ink-soft);display:block;margin-top:.4em;font-size:1rem}
  .telling .term{font-weight:600;color:var(--ink)}
  .telling .goodnight{color:var(--ink-soft);font-style:italic;border-top:1px solid var(--line);
    padding-top:1.1em;margin-top:1.4em}
  [hidden]{display:none}

  /* ---------- coin ---------- */
  .coin-wrap{display:flex;gap:28px;align-items:center;flex-wrap:wrap;
    background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px 28px;
    box-shadow:0 14px 40px -28px var(--shadow)}
  .coin{width:160px;height:160px;flex:0 0 160px;perspective:800px;cursor:pointer;background:none;border:0;padding:0}
  .coin-inner{position:relative;width:100%;height:100%;transition:transform .8s cubic-bezier(.4,.1,.2,1);
    transform-style:preserve-3d}
  .coin.flipped .coin-inner{transform:rotateY(180deg)}
  @media (hover:hover){.coin:hover .coin-inner{transform:rotateY(180deg)}}
  .coin:focus-visible{outline:3px solid var(--saffron);outline-offset:6px;border-radius:50%}
  .face{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;
    display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;
    background:radial-gradient(circle at 38% 32%, color-mix(in srgb,var(--gold) 55%,var(--paper)), color-mix(in srgb,var(--gold) 22%,var(--paper)));
    border:3px solid var(--gold);color:var(--ink);box-shadow:inset 0 0 0 6px color-mix(in srgb,var(--gold) 30%,transparent)}
  .face.back{transform:rotateY(180deg)}
  .face .big{font-family:"Tiro Devanagari Marathi",serif;font-size:1.5rem;line-height:1.1}
  .face .rom{font-family:"Marcellus",serif;font-size:1.15rem;margin-top:2px}
  .face .mean{font-family:"Spectral",serif;font-style:italic;font-size:1rem;padding:0 18px;color:var(--ink)}
  .face .dots{font-family:"Karla",sans-serif;font-size:.62rem;letter-spacing:.2em;color:var(--gold);
    text-transform:uppercase;margin-top:6px}
  .coin-copy h3{font-family:"Marcellus",serif;font-weight:400;font-size:1.35rem;margin:0 0 .3em}
  .coin-copy p{margin:0;color:var(--ink-soft);max-width:34ch}
  .coin-copy .hint{font-family:"Karla",sans-serif;font-size:.78rem;color:var(--saffron);margin-top:.8em;
    letter-spacing:.03em}

  /* ---------- history cards ---------- */
  .grown-note{font-family:"Karla",sans-serif;font-size:.86rem;color:var(--ink-soft);margin:-6px 0 22px;
    display:flex;gap:8px;align-items:center}
  .grown-note svg{flex:0 0 auto}
  details.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;
    margin-bottom:12px;overflow:hidden;box-shadow:0 10px 30px -26px var(--shadow)}
  details.card summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;align-items:center;gap:14px}
  details.card summary::-webkit-details-marker{display:none}
  .card .tag{font-family:"Karla",sans-serif;font-size:.64rem;font-weight:700;letter-spacing:.1em;
    text-transform:uppercase;padding:4px 9px;border-radius:100px;flex:0 0 auto}
  .tag.hist{background:color-mix(in srgb,var(--green) 16%,transparent);color:var(--green)}
  .tag.word{background:color-mix(in srgb,var(--saffron) 15%,transparent);color:var(--saffron)}
  .tag.l{background:color-mix(in srgb,var(--saffron) 15%,transparent);color:var(--saffron)}
  .tag.c{background:color-mix(in srgb,var(--gold) 18%,transparent);color:var(--gold)}
  .tag.debated{background:color-mix(in srgb,var(--rust) 16%,transparent);color:var(--rust)}
  .card summary h4{font-family:"Marcellus",serif;font-weight:400;font-size:1.18rem;margin:0;flex:1}
  .card .chev{transition:transform .25s;color:var(--ink-faint);flex:0 0 auto}
  details[open] .chev{transform:rotate(90deg)}
  .card .body{padding:0 22px 20px 22px;color:var(--ink-soft);font-size:1.02rem;line-height:1.7}
  .card .body p{margin:0 0 .8em}
  .card .body p:last-child{margin-bottom:0}
  .card .body b{color:var(--ink);font-weight:600}

  /* ---------- journey ribbon ---------- */
  .ribbon{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:22px 22px 18px;
    box-shadow:0 14px 40px -28px var(--shadow)}
  .ribbon .acts{display:flex;gap:6px;overflow-x:auto;padding-bottom:8px}
  .act-col{flex:0 0 auto;min-width:0}
  .act-col .name{font-family:"Karla",sans-serif;font-size:.62rem;font-weight:700;letter-spacing:.08em;
    text-transform:uppercase;color:var(--ink-faint);margin-bottom:8px;white-space:nowrap}
  .dots-row{display:flex;gap:5px}
  .d{width:14px;height:14px;border-radius:50%;background:var(--line);position:relative}
  .d.done{background:var(--green-soft)}
  .d.now{background:var(--saffron);box-shadow:0 0 0 4px color-mix(in srgb,var(--saffron) 25%,transparent)}
  .ribbon .legend{font-family:"Karla",sans-serif;font-size:.78rem;color:var(--ink-soft);margin-top:14px;
    display:flex;gap:18px;flex-wrap:wrap}
  .ribbon .legend span{display:inline-flex;align-items:center;gap:7px}
  .ribbon .legend .d{width:11px;height:11px}

  /* ---------- fact/legend footer ---------- */
  .ledger{background:var(--paper-2);border:1px solid var(--line);border-radius:16px;padding:26px 28px}
  .ledger h2{font-family:"Marcellus",serif;font-weight:400;font-size:1.4rem;margin:0 0 16px}
  .ledger dl{margin:0;display:grid;gap:14px}
  .ledger .row{display:flex;gap:14px;align-items:baseline}
  .ledger dt{flex:0 0 84px;font-family:"Karla",sans-serif;font-size:.66rem;font-weight:700;
    letter-spacing:.1em;text-transform:uppercase;padding-top:2px}
  .ledger dt.h{color:var(--green)}
  .ledger dt.c{color:var(--saffron)}
  .ledger dt.l{color:var(--rust)}
  .ledger dd{margin:0;color:var(--ink-soft);font-size:1rem;line-height:1.6}
  .ledger dd b{color:var(--ink);font-weight:600}

  .foot{margin-top:44px;padding-top:22px;border-top:1px solid var(--line);
    display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;
    font-family:"Karla",sans-serif;font-size:.85rem;color:var(--ink-soft)}
  .foot .next{color:var(--ink);font-weight:600}
  .foot a{color:var(--saffron);text-decoration:none}
  .foot a:hover{text-decoration:underline}

  /* reading cue */
  .read-cue{font-family:"Karla",sans-serif;font-size:.82rem;color:var(--ink-soft);letter-spacing:.03em;
    display:flex;align-items:center;gap:9px;margin-bottom:16px}
  .read-cue svg{color:var(--saffron);flex:0 0 auto}

  /* subhead (unnumbered) */
  .subhead{font-family:"Marcellus",serif;font-weight:400;font-size:1.28rem;margin:38px 0 16px;
    display:flex;align-items:center;gap:14px}
  .subhead::after{content:"";flex:1;height:1px;background:var(--line)}

  /* moon foreshadow */
  .moon-note{display:flex;gap:20px;align-items:center;margin-top:28px;padding:22px 26px;border-radius:16px;
    background:linear-gradient(115deg,color-mix(in srgb,var(--gold) 10%,var(--paper)),var(--paper) 70%);
    border:1px solid var(--line)}
  .moon-note .moon{flex:0 0 auto}
  .moon-note p{margin:0;font-style:italic;color:var(--ink-soft);font-size:1.06rem;line-height:1.6}
  .moon-note p b{color:var(--saffron);font-style:normal;font-weight:600}
  .moon-note .fwd{font-family:"Karla",sans-serif;font-style:normal;font-size:.77rem;letter-spacing:.03em;
    color:var(--ink-faint);display:block;margin-top:.6em}

  /* pronunciation */
  .say-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(212px,1fr));gap:12px}
  .say{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
  .say .head{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}
  .say .dev{font-family:"Tiro Devanagari Marathi",serif;font-size:1.16rem;color:var(--ink)}
  .say .rom{font-family:"Marcellus",serif;font-size:1.02rem;color:var(--ink-soft)}
  .say .phon{font-family:"Karla",sans-serif;font-weight:600;font-size:.84rem;color:var(--saffron);
    margin-top:5px;letter-spacing:.01em}
  .say .gloss{font-size:.92rem;color:var(--ink-soft);margin-top:1px}

  @media (prefers-reduced-motion:no-preference){
    .hero-inner>*{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
    .kicker{animation-delay:.02s}.hero-inner h1{animation-delay:.09s}.dek{animation-delay:.18s}
    @keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
  }

  @media print{
    body{background:#fff;color:#000;font-size:11.5pt}
    .lang-bar,.read-cue,.ribbon,.coin-copy .hint,.hero .ridge,.foot .next,.chev{display:none!important}
    [hidden]{display:block!important}
    .telling.mr{margin-top:1.4em;border-top:1px dashed #aaa;padding-top:1em}
    details.card{break-inside:avoid}
    details.card .body{display:block!important}
    a{color:#000;text-decoration:none}
  }

  @media (max-width:560px){
    body{font-size:18px}
    .coin{flex-basis:132px;width:132px;height:132px}
    .telling p:first-of-type::first-letter{font-size:2.9em}
    .moon-note{flex-direction:column;text-align:center}
  }
