:root{
  --ink:#14251f;
  --paper:#f5fbf9;
  --card:#ffffff;
  --tint:#dcefe9;
  --tint2:#eef8f4;
  --accent:#0e7c66;
  --accent-d:#0a5c4c;
  --line:#d0e6df;
  --soft:#e9f6f1;
  --muted:#5a726a;
}
*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font-family:"Noto Serif Devanagari",Georgia,"Times New Roman",serif;
  font-size:18px;line-height:1.9;text-rendering:optimizeLegibility;
}
.wrap{max-width:900px;margin:0 auto;padding:0 22px;}
a{color:var(--accent-d);text-decoration:none;border-bottom:1px solid rgba(169,95,22,.35);}
a:hover{border-bottom-color:var(--accent-d);background:var(--soft);}
p{margin:0 0 1.15em;}
h1,h2,h3{line-height:1.4;font-weight:700;color:var(--ink);}
h1{font-size:2.05rem;margin:.1em 0 .35em;}
h2{font-size:1.28rem;}
h3{font-size:1.08rem;}

/* ---------- header ---------- */
header.site{background:var(--tint);border-bottom:1px solid var(--line);}
.topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:15px 0 11px;}
.brand{font-size:1.75rem;font-weight:700;border:0;color:var(--ink);line-height:1.2;}
.brand:hover{background:none;}
.brand small{display:block;font-size:.69rem;font-weight:400;color:var(--muted);letter-spacing:.4px;margin-top:3px;}
.util a{border:0;margin-left:18px;color:var(--accent-d);font-size:.9rem;}
.util a:hover{background:none;text-decoration:underline;}
nav.top{background:var(--tint2);border-top:1px solid var(--line);}
nav.top .wrap{display:flex;flex-wrap:wrap;gap:2px 4px;padding-top:6px;padding-bottom:6px;}
nav.top a{border:0;color:var(--accent-d);font-size:.87rem;padding:5px 10px;border-radius:8px;}
nav.top a:hover{background:var(--tint);}
nav.top a[aria-current="page"]{background:var(--accent);color:#fff;}
nav.top a[aria-current="page"]:hover{background:var(--accent-d);}

/* ---------- layout ---------- */
main{padding:32px 0 56px;min-height:55vh;}
.crumbs{font-size:.85rem;color:var(--muted);margin-bottom:20px;}
.crumbs a{color:var(--muted);border:0;}
.crumbs a:hover{color:var(--accent-d);background:none;}
.lede{font-size:1.06rem;color:#3a2f22;}
.stat{font-size:.9rem;color:var(--muted);}

/* ---------- hero ---------- */
.hero{border-bottom:1px solid var(--line);padding-bottom:24px;margin-bottom:26px;}
.hero h1{font-size:2.3rem;margin:0 0 8px;}
.hero .sub{font-size:1.05rem;color:var(--accent-d);font-weight:600;margin:0 0 12px;}
.hero p{max-width:680px;}

/* ---------- grid / cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin:24px 0 8px;}
.card{border:1px solid var(--line);border-radius:12px;padding:15px 17px;display:block;background:var(--card);border-bottom:1px solid var(--line);}
.card:hover{background:var(--tint2);border-color:var(--accent);}
.card b{font-size:1.12rem;display:block;margin-bottom:4px;color:var(--accent-d);}
.card span{font-size:.84rem;color:var(--muted);}

/* ---------- lists ---------- */
.list{border-top:1px solid var(--line);margin-top:16px;}
.row{display:block;padding:13px 10px;border-bottom:1px solid var(--line);border-radius:8px;border-bottom-width:1px;}
.row:hover{background:var(--tint2);}
.row .nm{font-weight:700;font-size:1.06rem;color:var(--ink);}
.row .ds{display:block;color:var(--muted);font-size:.89rem;margin-top:2px;}

/* ---------- article ---------- */
article h1{margin-bottom:.15em;}
.catline{font-size:.9rem;color:var(--accent-d);font-weight:600;margin:0 0 6px;}
.aliases{color:var(--muted);font-size:.94rem;margin:0 0 4px;}
.tags{margin:6px 0 20px;}
.tag{display:inline-block;border:1px solid var(--line);background:var(--tint2);font-size:.75rem;padding:1px 10px;border-radius:20px;margin:0 6px 6px 0;color:var(--accent-d);}
.prose p{text-align:justify;}
section.block{margin-top:30px;padding-top:18px;border-top:1px solid var(--line);}
section.block h2{margin:0 0 12px;color:var(--accent-d);}
.quote{border-left:3px solid var(--accent);background:var(--soft);padding:8px 16px;margin:0 0 12px;border-radius:0 8px 8px 0;color:#2a2116;}
.nlist{margin:0;padding-left:1.15em;}
.nlist li{margin:.18em 0;}
.rel a{display:inline-block;border:1px solid var(--line);background:var(--card);padding:3px 12px;border-radius:20px;margin:0 7px 8px 0;font-size:.9rem;color:var(--accent-d);}
.rel a:hover{background:var(--tint2);border-color:var(--accent);}
.source{font-size:.88rem;color:var(--muted);}

/* ---------- pager ---------- */
.pager{display:flex;justify-content:space-between;gap:14px;margin-top:30px;padding-top:16px;border-top:1px solid var(--line);font-size:.9rem;}
.pager a{max-width:48%;}
.pager .k{display:block;color:var(--muted);font-size:.74rem;}

/* ---------- share ---------- */
.share{margin-top:30px;padding-top:16px;border-top:1px solid var(--line);}
.share .lab{font-size:.85rem;color:var(--muted);margin-right:8px;}
.sh{display:inline-block;border:1px solid var(--line);border-radius:9px;padding:5px 13px;margin:4px 8px 4px 0;font-size:.85rem;cursor:pointer;font-family:inherit;line-height:1.5;}
.sh:hover{border-color:var(--accent);}
.sh.wa{background:#e8f7ed;border-color:#c2e6cd;color:#1c7a37;}
.sh.fb{background:#eaf0fb;border-color:#c6d6f2;color:#1b4f9c;}
.sh.tw{background:#f1f1f1;border-color:#d8d8d8;color:#222;}
.sh.tg{background:#e8f2fb;border-color:#c3dcf2;color:#146fa8;}
.sh.cp{background:#faf3e6;border-color:var(--line);color:var(--accent-d);}

/* ---------- contact reveal ---------- */
.reveal{display:inline-block;border:1px dashed var(--accent);background:var(--soft);border-radius:8px;padding:4px 14px;cursor:pointer;color:var(--accent-d);font-size:.95rem;}

/* ---------- search ---------- */
#q{width:100%;font-size:1.12rem;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:inherit;background:var(--card);color:var(--ink);}
#q:focus{outline:2px solid var(--accent);outline-offset:1px;}
#results{margin-top:16px;}
.hint{color:var(--muted);font-size:.9rem;}

/* ---------- info pages ---------- */
.info p{text-align:justify;}
.info h2{margin-top:26px;}

/* ---------- footer ---------- */
footer.site{background:var(--tint);border-top:1px solid var(--line);margin-top:46px;padding:24px 0 40px;font-size:.87rem;color:var(--muted);}
footer.site .flinks{margin:0 0 10px;}
footer.site a{color:var(--accent-d);border-bottom-color:rgba(124,68,15,.35);}
footer.site .fnote{margin:8px 0 0;max-width:720px;}

@media(max-width:560px){
  body{font-size:17px;}
  .brand{font-size:1.5rem;}
  .hero h1{font-size:1.75rem;}
  nav.top a{font-size:.83rem;padding:4px 8px;}
  .util a{margin-left:0;margin-right:16px;}
}

/* ---------- copy protection (strict) ---------- */
html, body{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
input, textarea{-webkit-user-select:text;-moz-user-select:text;user-select:text;}
img{-webkit-user-drag:none;user-drag:none;}

/* ---------- print credit (source link top + bottom) ---------- */
.print-credit{display:none;}
@media print{
  @page{margin:15mm 12mm;}
  body{background:#fff !important;color:#000 !important;}
  header.site, nav.top, .util, .share, .pager, .crumbs, .banner, footer.site{display:none !important;}
  .print-credit{display:block !important;position:fixed;left:0;right:0;font-size:10px;color:#000;text-align:center;font-family:inherit;}
  .print-top{top:0;border-bottom:1px solid #000;padding:3px 0;}
  .print-bottom{bottom:0;border-top:1px solid #000;padding:3px 0;}
  a{color:#000 !important;border-bottom:0 !important;background:none !important;}
  .prose p{text-align:left;}
  main{padding:0;}
}
