/* ============================================================
   शोषितका शब्दहरू — Muktinath Sharma 'Shoshit'
   Professional literary archive — shoshit.in
   Design tokens (light):
     Ink        #292018   (deep book ink)
     Paper      #f1e9d7   (aged press paper)
     Paper-2    #e8ddc4   (deeper paper, cards)
     Sindoor    #a62c1f   (vermilion accent)
     Tea        #42604a   (tea-garden green)
     Dusk       #26323c   (Kanchenjunga dusk — hero)
     Gold       #c8973f   (marigold / brass)
   Design tokens (dark):
     Ink        #ddd3bc   (warm lamp-lit cream)
     Paper      #161e27   (deep mountain night)
     Paper-2    #1d2a36   (moonlit card surface)
     Sindoor    #c83a28   (vermilion, brightened for dark)
     Tea        #528a62   (tea-green, brightened)
     Dusk       #0e1822   (midnight hero/footer)
     Gold       #d4a84a   (brass, brightened)
   Type:
     Display    'Yatra One'            (author name, book titles)
     Body       'Noto Serif Devanagari'(literary text)
     Utility    'Mukta'                (nav, labels, captions)
   ============================================================ */

:root{
  --ink:#292018;
  --ink-soft:#4c4234;
  --paper:#f1e9d7;
  --paper-2:#e8ddc4;
  --line:#d4c6a4;
  --sindoor:#a62c1f;
  --tea:#42604a;
  --dusk:#26323c;
  --dusk-2:#1b242c;
  --gold:#c8973f;
  --cream:#f7f2e6;
  --disp:'Yatra One', 'Noto Serif Devanagari', serif;
  --body:'Noto Serif Devanagari', 'Kalimati', serif;
  --ui:'Mukta', 'Noto Sans Devanagari', sans-serif;
  --measure: 44rem;
}

/* ── Dark mode token overrides ── */
@media (prefers-color-scheme: dark) {
  :root {
    --ink:#ddd3bc;
    --ink-soft:#a89880;
    --paper:#161e27;
    --paper-2:#1d2a36;
    --line:#2c3c4e;
    --sindoor:#c83a28;
    --tea:#528a62;
    --dusk:#0e1822;
    --dusk-2:#080f18;
    --gold:#d4a84a;
    --cream:#e8dfc8;
  }
}
:root[data-theme="dark"] {
  --ink:#ddd3bc;
  --ink-soft:#a89880;
  --paper:#161e27;
  --paper-2:#1d2a36;
  --line:#2c3c4e;
  --sindoor:#c83a28;
  --tea:#528a62;
  --dusk:#0e1822;
  --dusk-2:#080f18;
  --gold:#d4a84a;
  --cream:#e8dfc8;
}
:root[data-theme="light"] {
  --ink:#292018;
  --ink-soft:#4c4234;
  --paper:#f1e9d7;
  --paper-2:#e8ddc4;
  --line:#d4c6a4;
  --sindoor:#a62c1f;
  --tea:#42604a;
  --dusk:#26323c;
  --dusk-2:#1b242c;
  --gold:#c8973f;
  --cream:#f7f2e6;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation:none !important; transition:none !important;}
}

body{
  font-family:var(--body);
  background:var(--paper);
  color:var(--ink);
  line-height:1.9;
  font-size:1.06rem;
  -webkit-font-smoothing:antialiased;
}

/* subtle paper grain */
body::before{
  content:"";
  position:fixed; inset:0; pointer-events:none; z-index:0;
  background-image:radial-gradient(rgba(41,32,24,.045) 1px, transparent 1px);
  background-size:5px 5px;
  mix-blend-mode:multiply;
}
@media (prefers-color-scheme: dark){
  body::before{ mix-blend-mode:screen; background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px); }
}
:root[data-theme="dark"] body::before{ mix-blend-mode:screen; background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px); }
:root[data-theme="light"] body::before{ mix-blend-mode:multiply; background-image:radial-gradient(rgba(41,32,24,.045) 1px, transparent 1px); }
main, header, footer{position:relative; z-index:1;}

a{color:var(--sindoor); text-decoration:none;}
a:hover{text-decoration:underline; text-underline-offset:4px;}
a:focus-visible, button:focus-visible{
  outline:3px solid var(--gold); outline-offset:3px; border-radius:2px;
}

/* ---------- header ---------- */
/* ── skip nav for keyboard / screen reader users ── */
.skip-link{
  position:absolute; left:-9999px; top:.5rem;
  background:var(--sindoor); color:#fff;
  padding:.4rem 1rem; border-radius:3px;
  font-family:var(--ui); font-size:.9rem;
  z-index:200;
}
.skip-link:focus{ left:1rem; }

/* ── reading progress bar ── */
#read-progress{
  position:fixed; top:0; left:0; z-index:200;
  height:3px; width:0%;
  background:var(--sindoor);
  transition:width .08s linear;
  pointer-events:none;
}

.site-head{
  border-bottom:3px double var(--line);
  background:var(--paper);
  position:sticky; top:0; z-index:50;
}
.site-head .wrap{
  max-width:72rem; margin:0 auto; padding:.65rem 1.2rem;
  display:flex; align-items:center; gap:1.4rem; flex-wrap:wrap;
}
.brand{
  font-family:var(--disp);
  font-size:1.35rem;
  color:var(--ink);
  white-space:nowrap;
  line-height:1.3;
  display:flex; align-items:center; gap:.55rem;
}
.brand:hover{text-decoration:none; color:var(--sindoor);}
.brand-logo{
  height:38px; width:38px; flex-shrink:0;
  display:block;
  border-radius:7px;
}
.logo-dark{ display:none; }
@media(prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .logo-light{ display:none; }
  :root:not([data-theme="light"]) .logo-dark{ display:block; }
}
[data-theme="dark"] .logo-light{ display:none; }
[data-theme="dark"] .logo-dark{ display:block; }
.nav-wrap{
  position:relative; flex:1 1 0; min-width:0;
  overflow:hidden;
}
.nav-wrap::after{
  content:'';
  position:absolute; top:0; right:0; bottom:0; width:2.5rem;
  background:linear-gradient(to right, transparent, var(--paper));
  pointer-events:none;
}
.site-nav{
  display:flex; gap:1.15rem; flex-wrap:nowrap;
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  font-family:var(--ui); font-size:.95rem;
  scrollbar-width:none;
}
.site-nav::-webkit-scrollbar{display:none;}
.site-nav a{color:var(--ink-soft); white-space:nowrap; padding:.2rem 0;}
.site-nav a:hover{color:var(--sindoor); text-decoration:none;}
.site-nav a[aria-current="page"]{
  color:var(--sindoor);
  border-bottom:2px solid var(--sindoor);
}

/* ── settings toggle (header button) ── */
#settings-toggle{
  background:none; border:1px solid var(--line);
  border-radius:3px; padding:.18rem .42rem;
  font-size:.88rem; cursor:pointer; color:var(--ink-soft);
  flex-shrink:0; line-height:1.5; margin-left:auto;
  transition:background .15s, color .15s, border-color .15s;
}
#settings-toggle:hover,
#settings-toggle[aria-expanded="true"]{
  background:var(--paper-2); border-color:var(--gold); color:var(--ink);
}

/* ── language switcher (used inside settings panel) ── */
.lang-switcher{ display:flex; gap:.25rem; flex-shrink:0; }
.lang-btn{
  background:none; border:1px solid var(--line);
  border-radius:3px; padding:.22rem .6rem;
  font-size:.82rem; font-family:var(--ui);
  color:var(--ink-soft); cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
  line-height:1.5;
}
.lang-btn:hover{ background:var(--paper-2); border-color:var(--gold); color:var(--ink); }
.lang-btn.active,
.lang-btn[aria-pressed="true"]{
  background:var(--sindoor); border-color:var(--sindoor); color:#fff;
}

/* ── settings panel ── */
#settings-panel{
  position:fixed; inset:0; z-index:100;
  pointer-events:none;
}
#settings-panel.is-open{ pointer-events:auto; }

.settings-backdrop{
  position:absolute; inset:0;
  background:rgba(41,32,24,.35);
  opacity:0; transition:opacity .22s;
}
#settings-panel.is-open .settings-backdrop{ opacity:1; }

.settings-drawer{
  position:absolute; top:0; right:0; bottom:0;
  width:min(300px,90vw);
  background:var(--paper); border-left:2px solid var(--line);
  display:flex; flex-direction:column;
  transform:translateX(100%); transition:transform .22s ease;
  overflow-y:auto;
}
#settings-panel.is-open .settings-drawer{ transform:translateX(0); }

.settings-head{
  display:flex; align-items:center; justify-content:space-between;
  padding:.85rem 1.1rem;
  border-bottom:1px solid var(--line);
}
.settings-title{
  font-family:var(--ui); font-weight:700; font-size:.95rem; color:var(--ink);
}
#settings-close{
  background:none; border:none; cursor:pointer;
  color:var(--ink-soft); font-size:1rem; padding:.2rem .4rem;
  line-height:1; border-radius:3px;
  transition:color .15s, background .15s;
}
#settings-close:hover{ color:var(--ink); background:var(--paper-2); }

.settings-body{
  padding:1.2rem 1.1rem; display:flex; flex-direction:column; gap:1.6rem;
}
.settings-section{ display:flex; flex-direction:column; gap:.55rem; }
.settings-label{
  font-size:.72rem; font-family:var(--ui); font-weight:700;
  color:var(--ink-soft); text-transform:uppercase; letter-spacing:.09em;
}

/* theme toggle inside settings panel */
#theme-toggle{
  align-self:flex-start;
  background:none; border:1px solid var(--line);
  border-radius:3px; padding:.3rem .75rem;
  font-size:.88rem; cursor:pointer; color:var(--ink-soft);
  line-height:1.5; font-family:var(--ui);
  transition:background .15s, color .15s, border-color .15s;
}
#theme-toggle:hover{ background:var(--paper-2); border-color:var(--gold); color:var(--ink); }

/* ── mobile nav hamburger ── */
#nav-toggle{
  display:none; background:none; border:none; cursor:pointer;
  padding:.3rem .4rem; margin-left:auto; color:var(--ink);
  line-height:1;
}
#nav-toggle svg{ display:block; }
@media (max-width:700px){
  #nav-toggle{ display:flex; align-items:center; }
  .brand{ flex:1 1 0; min-width:0; overflow:hidden; }
  .nav-wrap{ display:none; }
  .nav-wrap.nav-open{ display:block; position:static; overflow:visible; flex:none; width:0; min-width:0; }
  .site-nav{
    flex-direction:column;
    position:absolute; top:100%; left:0; right:0; z-index:49;
    background:var(--paper); border-bottom:2px solid var(--line);
    padding:.8rem 1.2rem 1rem; gap:.55rem;
    box-shadow:0 4px 12px rgba(41,32,24,.12);
  }
  .nav-wrap::after{ display:none; }
  .site-head .wrap{
    position:relative; flex-wrap:nowrap; gap:.6rem;
  }
}

/* ---------- hero (home) ---------- */
.hero{
  background:linear-gradient(180deg, var(--dusk) 0%, var(--dusk-2) 100%);
  color:var(--cream);
  overflow:hidden;
  position:relative;
}
/* Kanchenjunga ridgeline */
.hero .ridge{
  position:absolute; left:0; right:0; bottom:-2px; height:110px; width:100%;
  display:block;
}
.hero .wrap{
  max-width:72rem; margin:0 auto;
  padding:5.5rem 1.2rem 8.5rem;
  text-align:center;
}
.hero .invocation{
  font-family:var(--ui); letter-spacing:.35em; font-size:.8rem;
  color:var(--gold); text-transform:uppercase;
}
.hero h1{
  font-family:var(--disp);
  font-weight:400;
  font-size:clamp(2.6rem, 7vw, 5.2rem);
  line-height:1.35;
  margin:.8rem 0 .4rem;
  color:var(--cream);
  text-shadow:0 3px 0 rgba(0,0,0,.25);
}
.hero .latin{
  font-family:var(--ui); letter-spacing:.28em; font-size:.95rem;
  color:#b9c4cc;
}
.hero .roles{
  margin-top:1.6rem;
  font-size:1.15rem;
  color:#e4dcc8;
}
.hero .roles .danda{color:var(--gold); padding:0 .5rem;}
.hero .lede{
  max-width:38rem; margin:1.4rem auto 0; color:#c8cfd4; font-size:1rem;
}
.hero .cta-row{margin-top:2.2rem; display:flex; gap:1rem; justify-content:center; flex-wrap:wrap;}
.btn{
  display:inline-block; font-family:var(--ui); font-size:1rem;
  padding:.6rem 1.6rem; border-radius:3px;
  border:1.5px solid var(--gold);
  color:var(--gold);
  transition:background .2s, color .2s;
}
.btn:hover{background:var(--gold); color:var(--dusk-2); text-decoration:none;}
.btn.solid{background:var(--sindoor); border-color:var(--sindoor); color:#fff;}
.btn.solid:hover{background:#8c2317;}

/* ---------- section scaffolding ---------- */
.section{max-width:72rem; margin:0 auto; padding:4rem 1.2rem;}
.section-head{
  display:flex; align-items:baseline; gap:1rem; margin-bottom:2.2rem;
}
.section-head h2{
  font-family:var(--disp); font-weight:400;
  font-size:clamp(1.7rem, 3.5vw, 2.4rem);
  color:var(--ink);
}
.section-head .rule{
  flex:1; height:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding-top:2px;
}
.eyebrow{
  font-family:var(--ui); letter-spacing:.3em; font-size:.75rem;
  color:var(--tea); text-transform:uppercase; display:block; margin-bottom:.4rem;
}

/* ---------- book shelf (signature element) ---------- */
.shelf{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(190px, 1fr));
  gap:1.6rem;
  align-items:end;
}
.book{
  display:flex; flex-direction:column; text-decoration:none; color:var(--ink);
}
.book:hover{text-decoration:none;}
.cover{
  aspect-ratio:5/7;
  border-radius:3px 8px 8px 3px;
  padding:1.1rem 1rem 1rem 1.35rem;
  overflow:hidden;
  color:var(--cream);
  position:relative;
  display:flex; flex-direction:column;
  box-shadow:
    inset 6px 0 0 rgba(0,0,0,.22),   /* spine */
    inset 8px 0 0 rgba(255,255,255,.08),
    2px 4px 14px rgba(41,32,24,.28);
  transition:transform .25s ease, box-shadow .25s ease;
}
.book:hover .cover{
  transform:translateY(-8px) rotate(-1.2deg);
  box-shadow:
    inset 6px 0 0 rgba(0,0,0,.22),
    inset 8px 0 0 rgba(255,255,255,.08),
    6px 14px 26px rgba(41,32,24,.35);
}
.cover .genre{
  font-family:var(--ui); font-size:.72rem; letter-spacing:.25em;
  opacity:.85; text-transform:uppercase;
}
.cover .aksara{
  font-family:var(--disp);
  font-size:clamp(4rem, 9vw, 5.6rem);
  line-height:1.1;
  margin:auto 0;
  opacity:.32;
  align-self:flex-end;
  user-select:none;
}
.cover h3{
  font-family:var(--disp); font-weight:400;
  font-size:1.45rem; line-height:1.5;
}
.cover .year{
  font-family:var(--ui); font-size:.8rem; opacity:.8; margin-top:.2rem;
}
.cover.c-manrama{background:linear-gradient(160deg,#42604a,#2c4334);}
.cover.c-prakaran{background:linear-gradient(160deg,#a62c1f,#7c1f14);}
.cover.c-dochhaya{background:linear-gradient(160deg,#26323c,#161f26);}
.cover.c-shabda{background:linear-gradient(160deg,#8a5a17,#6a430d);}
.cover.c-ujyalo{background:linear-gradient(160deg,#5b3a5e,#3f2742);}
.cover.cover-img{padding:0; background:none;}
.cover.cover-img img{width:100%; height:100%; object-fit:cover; display:block; border-radius:3px 8px 8px 3px;}
.book .below{
  font-family:var(--ui); font-size:.9rem; color:var(--ink-soft);
  margin-top:.7rem; line-height:1.5;
}
.book .below strong{color:var(--ink); font-weight:600;}

/* ---------- home: intro strip ---------- */
.intro-heading{
  font-family:var(--disp); font-weight:400;
  font-size:2rem; margin-bottom:1rem;
}
.intro-grid{
  display:grid; grid-template-columns:1.1fr .9fr; gap:3rem; align-items:start;
}
@media (max-width:760px){ .intro-grid{grid-template-columns:1fr;} }
.intro-grid .quote{
  background:var(--paper-2);
  border-left:5px solid var(--sindoor);
  padding:1.6rem 1.6rem;
  font-size:1.15rem;
  line-height:2.1;
}
.intro-grid .quote footer{
  margin-top:.9rem; font-family:var(--ui); font-size:.85rem; color:var(--ink-soft);
}

/* ---------- divider motif ---------- */
.dd{
  text-align:center; color:var(--gold);
  font-size:1.4rem; letter-spacing:.6em;
  padding:0 0 0 .6em;
  margin:2.6rem 0;
  user-select:none;
}

/* ---------- reading pages ---------- */
.work-hero{
  background:var(--dusk); color:var(--cream);
  padding:3.4rem 1.2rem 3rem;
}
.work-hero.t-manrama{background:linear-gradient(160deg,#42604a,#243a2c);}
.work-hero.t-prakaran{background:linear-gradient(160deg,#a62c1f,#6e1b11);}
.work-hero.t-dochhaya{background:linear-gradient(160deg,#26323c,#141c23);}
.work-hero.t-shabda{background:linear-gradient(160deg,#8a5a17,#5c3a0b);}
.work-hero.t-ujyalo{background:linear-gradient(160deg,#5b3a5e,#35203a);}
.work-hero.t-rachana{background:linear-gradient(160deg,#26323c,#0f181f);}
.work-hero .wrap{max-width:72rem; margin:0 auto; display:flex; align-items:flex-end; gap:2.4rem;}
.work-hero .hero-cover{
  flex:0 0 auto; width:clamp(100px,14vw,170px);
  border-radius:3px 8px 8px 3px;
  box-shadow:4px 6px 20px rgba(0,0,0,.45);
  overflow:hidden; align-self:flex-end;
}
.work-hero .hero-cover img{width:100%; display:block;}
.work-hero .hero-text{flex:1 1 0; min-width:0;}
.work-hero .eyebrow{color:rgba(255,255,255,.75);}
.work-hero h1{
  font-family:var(--disp); font-weight:400;
  font-size:clamp(2.2rem, 5vw, 3.6rem); line-height:1.4;
}
.work-hero .sub{font-family:var(--ui); color:rgba(255,255,255,.85); margin-top:.4rem;}
@media(max-width:600px){.work-hero .hero-cover{width:80px;} .work-hero .wrap{gap:1.4rem;}}

.reader{
  max-width:72rem; margin:0 auto; padding:3rem 1.2rem 5rem;
  display:grid; grid-template-columns:16rem minmax(0,1fr); gap:3.5rem;
}
@media (max-width:900px){ .reader{grid-template-columns:1fr; gap:2rem;} }

.toc{
  font-family:var(--ui); font-size:.92rem;
}
@media (min-width:901px){
  .toc{position:sticky; top:5rem; align-self:start; max-height:calc(100vh - 7rem); overflow:auto; padding-right:.5rem;}
}
.toc h2{
  font-size:.8rem; letter-spacing:.25em; text-transform:uppercase;
  color:var(--tea); margin-bottom:.8rem; font-weight:600;
}
.toc ol{list-style:none; counter-reset:t;}
.toc li{border-bottom:1px dotted var(--line);}
.toc a{
  display:block; padding:.38rem .2rem; color:var(--ink-soft);
  counter-increment:t;
}
.toc a::before{
  content:counter(t, devanagari) ". ";
  color:var(--gold); font-weight:600;
}
.toc a:hover{color:var(--sindoor); text-decoration:none; background:var(--paper-2);}
details.toc-fold{margin-bottom:1.5rem;}
details.toc-fold summary{
  font-family:var(--ui); cursor:pointer; color:var(--sindoor);
  padding:.6rem .9rem; border:1px solid var(--line); border-radius:4px;
  background:var(--paper-2); font-size:1rem;
}
@media (min-width:901px){
  details.toc-fold{display:contents;}
  details.toc-fold summary{display:none;}
}
@media (max-width:900px){
  details.toc-fold .toc{position:static; max-height:none;}
}

.works{min-width:0;}
.reader > .works:only-child{grid-column: 1 / -1;}

/* occasion group divider — groups pieces by event / date */
.occasion-group{
  padding:.9rem 0 .5rem;
  border-top:2px solid var(--line);
  margin-top:2rem;
}
.occasion-group:first-child{margin-top:0; border-top:none; padding-top:0;}
.occasion-heading{
  display:block;
  font-family:var(--ui); font-size:.78rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--gold); font-weight:600;
  margin-bottom:.1rem;
}
.toc-occasion{
  display:block;
  font-family:var(--ui); font-size:.75rem; letter-spacing:.18em;
  text-transform:uppercase; color:var(--gold);
  margin:.75rem 0 .15rem;
}
.toc-occasion ~ ol{ margin-left:1rem; }

.piece{
  padding:2.6rem 0;
  border-bottom:1px solid var(--line);
  scroll-margin-top:5rem;
}
.piece:first-child{padding-top:0;}
.piece:last-child{border-bottom:none;}
.piece h3{
  font-family:var(--disp); font-weight:400;
  font-size:1.6rem; color:var(--sindoor);
  margin-bottom:1.1rem; line-height:1.5;
}
.piece .kicker{
  font-family:var(--ui); font-size:.78rem; letter-spacing:.25em;
  text-transform:uppercase; color:var(--tea); display:block; margin-bottom:.2rem;
}
.piece .byline{
  font-family:var(--ui); font-size:.9rem; color:var(--ink-soft); margin-bottom:1rem;
}

/* verse: preserve line breaks */
.verse{
  white-space:pre-line;
  max-width:var(--measure);
  line-height:2.15;
}
/* prose: paragraphs */
.prose{max-width:var(--measure);}
.prose p{margin-bottom:1.3rem; text-align:justify; text-justify:inter-word;}
.prose p:last-child{margin-bottom:0;}
.prose .vq{  /* verse quoted inside prose */
  white-space:pre-line; text-align:left;
  border-left:3px solid var(--gold);
  padding:.4rem 0 .4rem 1.2rem; margin:1.4rem 0;
  color:var(--ink-soft);
}
.sig{
  font-family:var(--ui); color:var(--ink-soft); font-size:.92rem;
  margin-top:1.2rem;
}
/* flowing prose from plain text: blank line = paragraph gap */
.prose-flow{
  white-space:pre-line;
  max-width:var(--measure);
  line-height:2;
}

.top-link{
  display:inline-block; margin-top:1rem;
  font-family:var(--ui); font-size:.85rem; color:var(--tea);
}

/* front-matter cards */
.frontmatter{
  background:var(--paper-2); border:1px solid var(--line); border-radius:4px;
  padding:1.8rem; margin-bottom:2.4rem;
}
.frontmatter h3{color:var(--ink);}

/* frontmatter with a named preface / byline author */
.fm-byline{ border-left:4px solid var(--sindoor); }
.fm-header{
  margin-bottom:1.5rem;
  padding-bottom:1.2rem;
  border-bottom:1px solid var(--line);
}
.fm-type,
.frontmatter .kicker{
  font-family:var(--ui);
  font-size:.72rem;
  letter-spacing:.25em;
  text-transform:uppercase;
  color:var(--tea);
  display:block;
  margin-bottom:.45rem;
}
.fm-name{
  font-family:var(--disp);
  font-size:1.65rem;
  font-weight:400;
  color:var(--sindoor);
  line-height:1.25;
  margin:0;
}
.fm-title{
  font-family:var(--body);
  font-size:1rem;
  color:var(--ink-soft);
  margin:.3rem 0 .45rem;
  line-height:1.6;
  font-style:italic;
}

/* ---------- parichay page ---------- */
.parichay-card{
  max-width:40rem; margin:0 auto;
  background:var(--paper-2);
  border-top:3px solid var(--sindoor);
  border-radius:0 0 4px 4px;
  padding:1.75rem 2.5rem 1.5rem;
  box-shadow:0 2px 8px rgba(41,32,24,.08);
}
.parichay-verse{
  font-size:1.07rem; line-height:2.05;
  white-space:pre-line;
  text-align:center;
}
.parichay-note{
  text-align:center; font-family:var(--ui); color:var(--ink-soft);
  margin-top:1.1rem; font-size:.9rem;
}
.parichay-source{
  text-align:center; font-family:var(--ui); color:var(--ink-soft);
  font-size:.76rem; margin-top:.45rem; opacity:.7;
  letter-spacing:.02em;
}
@media(max-width:560px){
  .parichay-card{ padding:1.4rem 1.4rem 1.2rem; }
}
.facts{
  max-width:44rem; margin:0 auto;
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:1.2rem;
}
.fact{
  background:var(--paper-2); border-top:4px solid var(--tea);
  padding:1.1rem 1.2rem; border-radius:0 0 4px 4px;
}
.fact .k{font-family:var(--ui); font-size:.75rem; letter-spacing:.2em; color:var(--tea); text-transform:uppercase;}
.fact .v{font-size:1.05rem; margin-top:.3rem; line-height:1.7;}
.eyebrow-center{display:block; text-align:center; max-width:var(--measure); margin:0 auto 1.25rem;}
.published-works{max-width:44rem; margin:0 auto;}

/* ---------- book detail (cover-only titles) ---------- */
.book-detail{
  display:grid; grid-template-columns:260px 1fr; gap:3rem; align-items:start;
  max-width:60rem; margin:0 auto;
}
@media (max-width:720px){ .book-detail{grid-template-columns:1fr; justify-items:center;} }
.book-detail .cover{max-width:260px; width:100%;}

/* ---------- footer ---------- */
.site-foot{
  background:var(--dusk-2); color:#b9c4cc;
  margin-top:2rem;
}
.site-foot .wrap{
  max-width:72rem; margin:0 auto; padding:3rem 1.2rem 2.2rem;
}
.foot-grid{display:grid; grid-template-columns:1.2fr .8fr; gap:2.5rem;}
@media (max-width:700px){ .foot-grid{grid-template-columns:1fr;} }
.site-foot h4{
  font-family:var(--disp); font-weight:400; color:var(--cream);
  font-size:1.3rem; margin-bottom:.6rem;
}
.site-foot a{color:var(--gold);}
.contact-list{list-style:none; font-family:var(--ui); line-height:2.1;}
.contact-list a{overflow-wrap: break-word;}
.copy{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2.2rem; padding-top:1.2rem;
  font-family:var(--ui); font-size:.85rem; color:#8b98a2;
  display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap;
}

/* ────────────────────────────────────────────────────────────
   Share strip
   ──────────────────────────────────────────────────────────── */
.share-strip{
  display:flex; align-items:center; gap:.35rem;
  flex-wrap:wrap; margin:.6rem 0 1.1rem;
  padding:.55rem .7rem;
  background:var(--paper-2); border-radius:4px;
  border:1px solid var(--line);
}
.share-strip-label{
  font-family:var(--ui); font-size:.72rem; letter-spacing:.15em;
  text-transform:uppercase; color:var(--tea);
  margin-right:.2rem; white-space:nowrap;
}
.share-btn{
  background:none; border:1px solid var(--line);
  border-radius:3px; padding:.2rem .55rem;
  font-size:.8rem; font-family:var(--ui);
  color:var(--ink-soft); cursor:pointer;
  transition:background .15s, color .15s, border-color .15s;
  white-space:nowrap; line-height:1.5;
}
.share-btn:hover{ background:var(--sindoor); border-color:var(--sindoor); color:#fff; }
.copy-btn:hover{ background:var(--tea); border-color:var(--tea); color:#fff; }

/* ────────────────────────────────────────────────────────────
   Translation content
   ──────────────────────────────────────────────────────────── */
.trans[hidden]{ display:none; }
.trans-label{
  font-family:var(--ui); font-size:.72rem; letter-spacing:.2em;
  text-transform:uppercase; color:var(--tea);
  display:block; margin-bottom:.5rem; margin-top:.2rem;
}
.trans-pending{
  font-family:var(--ui); font-size:.82rem; color:var(--ink-soft);
  font-style:italic; padding:.5rem 0;
}
.trans.lang-en .verse,
.trans.lang-en .prose,
.trans.lang-en .prose-flow{ font-family:'Georgia', 'Times New Roman', serif; }
.trans.lang-hi .verse,
.trans.lang-hi .prose,
.trans.lang-hi .prose-flow{ font-family:'Noto Serif Devanagari', serif; }

/* ────────────────────────────────────────────────────────────
   Back to top
   ──────────────────────────────────────────────────────────── */
#back-top{
  position:fixed; bottom:1.6rem; right:1.6rem; z-index:90;
  background:var(--dusk); color:var(--gold);
  border:1.5px solid var(--gold); border-radius:50%;
  width:2.8rem; height:2.8rem;
  font-size:1.25rem; line-height:1;
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none;
  transition:opacity .25s, background .2s;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
#back-top.visible{ opacity:1; pointer-events:auto; }
#back-top:hover{ background:var(--gold); color:var(--dusk-2); }

/* ────────────────────────────────────────────────────────────
   Social proof / site-wide banner (parichay page)
   ──────────────────────────────────────────────────────────── */
.fact-latest{ border-top-color:var(--sindoor); }

/* ────────────────────────────────────────────────────────────
   Improved piece spacing with share strip
   ──────────────────────────────────────────────────────────── */
.piece h3{ margin-bottom:.3rem; }

/* ────────────────────────────────────────────────────────────
   Author bio / writing style description (parichay page)
   ──────────────────────────────────────────────────────────── */
.author-bio{
  max-width:var(--measure);
  margin:0 auto;
  padding:0.25rem 0 1rem;
}
.author-bio .prose p{ margin-bottom:1em; }
.author-bio .prose p:last-child{ margin-bottom:0; }

/* ────────────────────────────────────────────────────────────
   Voice showcase / pull quotes (parichay page)
   ──────────────────────────────────────────────────────────── */
.voice-showcase{
  max-width:56rem;
  margin:0 auto 2rem;
}
.pull-quotes{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
  margin-top:1.5rem;
}
@media(max-width:760px){
  .pull-quotes{ grid-template-columns:1fr; }
}
.pull-quote{
  background:var(--paper-2);
  border-top:3px solid var(--sindoor);
  border-radius:0 0 4px 4px;
  padding:1.4rem 1.5rem 1.25rem;
  margin:0;
  display:flex;
  flex-direction:column;
}
.pull-quote::before{
  content:'\201C';
  font-family:var(--disp);
  font-size:2.8rem;
  color:var(--sindoor);
  line-height:.85;
  opacity:.3;
  display:block;
  margin-bottom:.35rem;
}
.pull-quote blockquote{
  margin:0 0 .6rem;
  font-family:var(--body);
  font-size:1.1rem;
  line-height:1.8;
  color:var(--ink);
  quotes:none;
  flex:1;
}
.pull-quote blockquote::before,
.pull-quote blockquote::after{ content:''; }
.pull-quote .quote-gloss{
  font-size:.83rem;
  color:var(--ink-soft);
  font-style:italic;
  font-family:Georgia,'Times New Roman',serif;
  margin-bottom:.75rem;
  line-height:1.5;
}
.pull-quote figcaption{
  font-family:var(--ui);
  font-size:.76rem;
  color:var(--ink-soft);
  border-top:1px solid var(--line);
  padding-top:.55rem;
  margin-top:auto;
}
.pull-quote figcaption a{
  color:var(--tea);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* ── Parichay page published works list ── */
.published-works .prose ol{
  padding-left:1.4rem; line-height:2.2;
}
.published-works .prose{
  margin-top:1rem;
}
.author-bio .prose{
  max-width:var(--measure); margin:0 auto;
}

/* ── Font size controls (settings panel) ── */
.font-size-controls{ display:flex; align-items:center; gap:.3rem; }
.font-size-btn{
  background:none; border:1px solid var(--line);
  border-radius:3px; padding:.15rem .45rem;
  font-family:var(--ui); font-size:.8rem; color:var(--ink-soft);
  cursor:pointer; line-height:1.5;
  transition:background .15s, color .15s, border-color .15s;
}
.font-size-btn:hover{ background:var(--paper-2); border-color:var(--gold); color:var(--ink); }
.font-size-btn.active{ background:var(--sindoor); border-color:var(--sindoor); color:#fff; }

/* ── Reader toolbar (floating quick controls while reading) ── */
#reader-toolbar{
  position:fixed; bottom:1.4rem; left:0; right:0; z-index:70;
  margin:0 auto; width:max-content;
  display:flex; align-items:center; gap:.1rem;
  background:var(--paper); border:1px solid var(--line);
  border-radius:2rem; padding:.28rem .44rem;
  box-shadow:0 2px 16px rgba(41,32,24,.2);
  opacity:0; pointer-events:none;
  transform:translateY(.6rem);
  transition:opacity .22s, transform .22s;
}
#reader-toolbar.is-visible{
  opacity:1; pointer-events:auto; transform:translateY(0);
}
.toolbar-btn{
  background:none; border:none; cursor:pointer;
  padding:.2rem .48rem; border-radius:1.5rem;
  font-size:.8rem; font-family:var(--ui); font-weight:600;
  color:var(--ink-soft); line-height:1.5;
  transition:background .12s, color .12s;
}
.toolbar-btn:hover{ background:var(--paper-2); color:var(--ink); }
#toolbar-lang-cycle{ color:var(--sindoor); }
#toolbar-lang-cycle:hover{ background:var(--paper-2); }
.toolbar-sep{
  width:1px; height:1.1rem; background:var(--line);
  margin:0 .15rem; flex-shrink:0; align-self:center;
}
/* font-size buttons inside toolbar: no border, use colour for active */
#reader-toolbar .font-size-btn{
  border:none; padding:.2rem .48rem; border-radius:1.5rem;
  background:none;
}
#reader-toolbar .font-size-btn:hover{ background:var(--paper-2); border:none; color:var(--ink); }
#reader-toolbar .font-size-btn.active{
  background:none; border:none; color:var(--sindoor);
}

html[data-font-size="sm"] .verse,
html[data-font-size="sm"] .prose,
html[data-font-size="sm"] .prose-flow,
html[data-font-size="sm"] .parichay-verse{ font-size:.93rem; }
html[data-font-size="lg"] .verse,
html[data-font-size="lg"] .prose,
html[data-font-size="lg"] .prose-flow,
html[data-font-size="lg"] .parichay-verse{ font-size:1.18rem; }

/* ────────────────────────────────────────────────────────────
   Print styles
   ──────────────────────────────────────────────────────────── */
@media print{
  .site-head, .site-foot, .share-strip,
  #back-top, #read-progress, .toc-fold, .cta-row,
  #nav-toggle, #settings-toggle, #settings-panel, #reader-toolbar, .skip-link{ display:none !important; }
  .reader{ grid-template-columns:1fr !important; }
  .piece{ break-inside:avoid; page-break-inside:avoid; }
  body{
    background:white; color:black; font-size:11pt; line-height:1.8;
    -webkit-print-color-adjust:exact; print-color-adjust:exact;
  }
  a{ color:inherit; text-decoration:none; }
  .work-hero{ background:none !important; color:black !important; padding:1rem 0; }
  .work-hero h1, .work-hero .eyebrow, .work-hero .sub{ color:black !important; }
  .work-hero .hero-cover{ display:none; }
  .piece h3{ color:black; }
}

/* ────────────────────────────────────────────────────────────
   Book listing / detail view
   ──────────────────────────────────────────────────────────── */
.reader.in-listing,
.reader.in-detail { display:block; }

/* hide the sticky TOC sidebar in both modes */
.reader.in-listing .toc-fold,
.reader.in-detail  .toc-fold { display:none; }

/* listing mode: hide article works, show the card grid */
.reader.in-listing .works    { display:none; }
.reader.in-listing .book-listing { display:block; }

/* detail mode: hide the card grid and all frontmatter */
.reader.in-detail .book-listing { display:none; }
.reader.in-detail .frontmatter  { display:none; }

/* hide all pieces before JS initializes (prevents flash of all stories) */
.reader .piece { display:none; }

/* detail mode: show only the active piece and its occasion heading */
.reader.in-detail .piece                    { display:none; }
.reader.in-detail .piece.is-active          { display:block; border-bottom:none; }
.reader.in-detail .occasion-group           { display:none; }
.reader.in-detail .occasion-group.is-active { display:block; }

/* ── Card grid ────────────────────────────────── */
.book-listing{ display:none; padding:1.5rem 0 4rem; }

.article-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(min(100%, 14rem), 1fr));
  gap:.8rem;
}

.article-card{
  display:flex; flex-direction:column; gap:.3rem;
  padding:1rem 1.15rem .95rem;
  background:var(--paper-2); border:1px solid var(--line); border-radius:6px;
  cursor:pointer; font-family:var(--body); color:var(--ink);
  text-align:left; width:100%; position:relative;
  transition:border-color .15s, box-shadow .15s, transform .15s;
}
.article-card:hover{
  border-color:var(--gold);
  box-shadow:0 3px 14px rgba(41,32,24,.11);
  transform:translateY(-2px);
}
.article-card::after{
  content:'›';
  position:absolute; right:.9rem; top:50%; transform:translateY(-50%);
  color:var(--line); font-size:1.3rem;
  transition:color .15s, right .15s;
}
.article-card:hover::after{ color:var(--gold); right:.7rem; }

.card-kicker{
  font-family:var(--ui); font-size:.7rem;
  letter-spacing:.2em; text-transform:uppercase; color:var(--sindoor);
}
.card-title{
  font-size:.97rem; line-height:1.45; font-weight:600; padding-right:1.2rem;
}

/* ── Recent articles teaser (home page) ── */
.recent-strip{
  display:flex; align-items:flex-start; gap:2rem; flex-wrap:wrap;
}
.recent-items{
  flex:1 1 0; min-width:0;
  display:flex; flex-direction:column; gap:.55rem;
}
.recent-item{
  display:flex; flex-direction:column; gap:.18rem;
  padding:.75rem 1rem .7rem;
  background:var(--paper-2); border:1px solid var(--line);
  border-left:4px solid var(--sindoor);
  border-radius:0 4px 4px 0;
  text-decoration:none; color:var(--ink);
  transition:border-left-color .18s, box-shadow .18s, transform .18s;
}
.recent-item:hover{
  border-left-color:var(--gold);
  box-shadow:0 2px 12px rgba(41,32,24,.1);
  transform:translateX(4px);
  text-decoration:none;
}
.recent-kicker{
  font-family:var(--ui); font-size:.7rem; letter-spacing:.22em;
  text-transform:uppercase; color:var(--sindoor); line-height:1.4;
}
.recent-title{
  font-family:var(--body); font-size:1.02rem; font-weight:600;
  color:var(--ink); line-height:1.45;
}
.recent-cta{
  flex-shrink:0; align-self:center;
}
@media(max-width:640px){
  .recent-strip{ flex-direction:column; }
  .recent-cta{ align-self:flex-start; }
}

/* ── Back-to-list button (top of article) ────── */
.back-to-list{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.38rem .85rem; background:none;
  border:1px solid var(--line); border-radius:4px;
  font-family:var(--ui); font-size:.85rem; color:var(--ink-soft);
  cursor:pointer; margin-bottom:1.6rem;
  transition:border-color .15s, color .15s;
}
.back-to-list:hover{ border-color:var(--sindoor); color:var(--sindoor); }


/* ── Developer credit (footer) ── */
.dev-credit{
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:1rem; padding-top:1rem;
  text-align:center;
}
.dev-credit-link{
  display:inline-flex; align-items:center; gap:.45rem;
  font-family:var(--ui); font-size:.78rem; color:#536069;
  text-decoration:none;
  transition:color .18s;
}
.dev-credit-link:hover{ color:var(--gold); text-decoration:none; }
.dev-credit-logo{ width:20px; height:20px; opacity:.7; }
.dev-credit-link:hover .dev-credit-logo{ opacity:1; }
