/* Mukta, SIL Open Font License (fonts/OFL-LICENSE.txt), self-hosted */
@font-face { font-family: "Mukta"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(fonts/mukta-devanagari-400-normal.woff) format("woff"); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF; }
@font-face { font-family: "Mukta"; font-style: normal; font-weight: 400; font-display: swap;
  src: url(fonts/mukta-latin-400-normal.woff) format("woff"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+25B2, U+25BC, U+FEFF, U+FFFD; }
@font-face { font-family: "Mukta"; font-style: normal; font-weight: 700; font-display: swap;
  src: url(fonts/mukta-devanagari-700-normal.woff) format("woff"); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF; }
@font-face { font-family: "Mukta"; font-style: normal; font-weight: 700; font-display: swap;
  src: url(fonts/mukta-latin-700-normal.woff) format("woff"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+25B2, U+25BC, U+FEFF, U+FFFD; }
@font-face { font-family: "Mukta"; font-style: normal; font-weight: 800; font-display: swap;
  src: url(fonts/mukta-devanagari-800-normal.woff) format("woff"); unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+25CC, U+A830-A839, U+A8E0-A8FF; }
@font-face { font-family: "Mukta"; font-style: normal; font-weight: 800; font-display: swap;
  src: url(fonts/mukta-latin-800-normal.woff) format("woff"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+25B2, U+25BC, U+FEFF, U+FFFD; }
:root {
  --bg: #fbf8f2; --ink: #1d231f; --muted: #66706a; --line: #e6e0d4;
  --brand: #1f5130; --accent: #d9731b; --card: #ffffff;
  --up: #1b7a3d; --down: #c0392b;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink);
  font: 17px/1.55 "Mukta", "Noto Sans Devanagari", system-ui, sans-serif; }
a { color: var(--brand); text-decoration: none; }
a:hover { text-decoration: underline; }
.wrap { max-width: 960px; margin: 0 auto; padding: 0 16px; }

.top { background: var(--brand); color: #fff; }
.top > .wrap { display: flex; justify-content: space-between; align-items: center; height: 56px; gap: 12px; }
.brand { color: #fff; font-weight: 800; font-size: 22px; }
.brand span { color: #ffd39e; font-weight: 600; }
.top > .wrap .date { font-size: 14px; opacity: .85; text-align: right; }

.banner { padding: 10px 16px; text-align: center; font-weight: 700; }
.banner.sample { background: #ffe3e0; color: #8a1c10; }
.banner.stale { background: #fff2d6; color: #7a4b00; }

h1 { font-size: 30px; line-height: 1.2; margin: 24px 0 4px; }
h2 { font-size: 21px; margin: 28px 0 10px; }
.lede { color: var(--muted); margin: 0 0 16px; }
.crumbs { font-size: 14px; color: var(--muted); margin-top: 14px; }

.cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; }
.card { display: block; background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 14px 14px 8px; color: var(--ink); }
.card:hover { border-color: var(--brand); text-decoration: none; }
.c-name { font-weight: 700; font-size: 19px; }
.c-price { font-size: 28px; font-weight: 800; color: var(--brand); line-height: 1.1; margin-top: 2px; }
.c-meta { font-size: 13px; color: var(--muted); }
.c-chg { font-size: 15px; font-weight: 700; margin-top: 4px; }
.c-chg span { font-weight: 400; color: var(--muted); font-size: 13px; }
.spark { display: block; width: 100%; height: 34px; margin-top: 6px; }

.up { color: var(--up); } .down { color: var(--down); } .flat { color: var(--muted); }

.movers { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.movers ul { list-style: none; padding: 0; margin: 0; }
.movers li { padding: 7px 0; border-bottom: 1px solid var(--line); }
.movers small { color: var(--muted); }
@media (max-width: 620px) { .movers { grid-template-columns: 1fr; } }

.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chips a { background: var(--card); border: 1px solid var(--line); border-radius: 999px; padding: 5px 12px; color: var(--ink); }
.chips a:hover { border-color: var(--brand); text-decoration: none; }
.chips small { color: var(--muted); margin-left: 4px; }

.stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin: 8px 0 16px; }
.stats div { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; }
.stats span { display: block; font-size: 13px; color: var(--muted); }
.stats b { display: block; font-size: 22px; line-height: 1.2; }
.stats small { color: var(--muted); font-size: 13px; }
@media (max-width: 620px) { .stats { grid-template-columns: 1fr 1fr; } }

.summary { background: #f1ede3; border-left: 4px solid var(--accent); padding: 12px 14px; border-radius: 6px; }
.trend { margin: 16px 0; }
.trend svg { width: 100%; height: auto; display: block; }
.trend figcaption { font-size: 13px; color: var(--muted); }

.tbl-wrap { overflow-x: auto; background: var(--card); border: 1px solid var(--line); border-radius: 12px; }
table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
th, td { padding: 9px 10px; text-align: right; border-bottom: 1px solid var(--line); white-space: nowrap; }
th:first-child, td:first-child { text-align: left; white-space: normal; }
th { font-size: 14px; color: var(--muted); font-weight: 600; background: #f7f4ec; }
td small { display: block; font-size: 13px; }
td small a { color: var(--muted); }
td.modal { font-weight: 800; color: var(--brand); }
tr:last-child td { border-bottom: 0; }
.note { font-size: 14px; color: var(--muted); }

.foot { margin-top: 40px; padding: 18px 0 30px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.foot-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0; font-size: 15px; }
.foot .follow a { margin-right: 12px; font-weight: 700; }

/* Section nav under the header: one row, scrolls sideways on phones */
.nav { background: #173e25; }
.nav .wrap { display: flex; gap: 4px; overflow-x: auto; scrollbar-width: none; height: 42px; align-items: center; }
.nav .wrap::-webkit-scrollbar { display: none; }
.nav a { color: #dfeadf; white-space: nowrap; padding: 6px 10px; border-radius: 8px; font-size: 16px; }
.nav a:hover { background: rgba(255,255,255,.08); text-decoration: none; }
.nav a[aria-current="page"] { color: #fff; background: rgba(255,255,255,.14); font-weight: 700; }

/* Homepage */
.hero { padding: 26px 0 6px; }
.hero h1 { font-size: 32px; margin: 0 0 6px; }
.hero p { color: var(--muted); margin: 0; font-size: 18px; }
.block { margin-top: 26px; }
.block-head { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.block-head h2 { margin: 0 0 10px; }
.block-head .more { font-weight: 700; white-space: nowrap; }
.block-head .asof { color: var(--muted); font-size: 14px; }
.modules { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.module { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; color: var(--ink); display: block; }
a.module:hover { border-color: var(--brand); text-decoration: none; }
.module .m-top { display: flex; align-items: center; gap: 10px; }
.module .m-icon { font-size: 26px; line-height: 1; }
.module .m-name { font-weight: 800; font-size: 19px; }
.module p { margin: 6px 0 0; color: var(--muted); font-size: 15px; }
.tag { display: inline-block; font-size: 12px; font-weight: 700; border-radius: 999px; padding: 1px 9px; margin-left: auto; }
.tag.live { background: #e3f1e6; color: var(--up); }
.tag.soon { background: #f3ece0; color: #8a5a12; }

/* Text pages (about, privacy ...) */
.page { max-width: 720px; }
.page h1 { margin-top: 20px; }
.page h2 { font-size: 20px; margin: 26px 0 6px; }
.page p, .page li { font-size: 17px; }
.page .meta { color: var(--muted); font-size: 14px; }
.page .en { border-top: 1px solid var(--line); margin-top: 30px; padding-top: 6px; color: var(--muted); }
.page .en p, .page .en li { font-size: 15px; }
@media (max-width: 420px) { th, td { padding: 8px 6px; font-size: 15px; } }
h3.sub { font-size: 17px; margin: 18px 0 8px; color: var(--muted); font-weight: 600; }
.why { padding-left: 20px; margin: 0; }
.why li { margin: 6px 0; }
@media (max-width: 480px) {
  .cards { grid-template-columns: 1fr 1fr; gap: 8px; }
  .card { padding: 10px 10px 6px; }
  .c-name { font-size: 17px; } .c-price { font-size: 23px; }
}
.sections { margin-top: 18px; }
@media (max-width: 620px) {
  .modules { grid-template-columns: 1fr 1fr; gap: 8px; }
  .module { padding: 10px 10px 12px; }
  .module .m-top { flex-wrap: wrap; gap: 4px 8px; }
  .module .m-icon { font-size: 22px; }
  .module .m-name { font-size: 16px; line-height: 1.25; flex: 1 1 60%; }
  .module .tag { margin-left: 0; order: 3; }
  .module p { font-size: 13px; line-height: 1.4; margin-top: 4px; }
}

/* Panchang */
.pg { background: var(--card); border: 1px solid var(--line); border-radius: 12px; margin: 14px 0; }
.pg-row { display: grid; grid-template-columns: 110px 1fr; gap: 10px; padding: 10px 14px; border-bottom: 1px solid var(--line); }
.pg-row:last-child { border-bottom: 0; }
.pg-row .k { color: var(--muted); }
.pg-row.big .v { font-size: 20px; font-weight: 700; }
.pg-row .sp small { font-weight: 400; color: var(--muted); font-size: 14px; }
.pg-row .then { color: var(--muted); font-size: 13px; margin: 0 8px; font-weight: 400; }
.today-events { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0; }
.today-events span { background: #fff1dc; color: #7a4100; border: 1px solid #f2d3a6; border-radius: 999px; padding: 3px 12px; font-weight: 700; }
.stats b.rahu { font-size: 17px; }
.daynav { display: flex; justify-content: space-between; margin: 12px 0; font-weight: 700; }
.fest { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 8px; }
.fest li { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; display: flex; justify-content: space-between; gap: 8px; }
.fest li span { color: var(--muted); white-space: nowrap; }
@media (max-width: 620px) { .pg-row { grid-template-columns: 84px 1fr; } .stats b { font-size: 18px; } }
table.left th, table.left td { text-align: left; white-space: normal; }
section + section, .daynav + section, .stats + section { margin-top: 8px; }
.tbl-wrap + section, section .tbl-wrap { margin-bottom: 6px; }
.pg-home { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; color: var(--ink); }
.pg-home:hover { text-decoration: none; }
.pg-home div { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; }
.pg-home span { display: block; font-size: 13px; color: var(--muted); }
.pg-home b { display: block; font-size: 20px; line-height: 1.25; }
.pg-home small { color: var(--muted); font-size: 13px; }
.pg-home + .lede { margin-top: 10px; }
@media (max-width: 620px) { .pg-home { grid-template-columns: 1fr 1fr; gap: 8px; } .pg-home b { font-size: 17px; } }

/* Market */
.banner.info { background: #eef3ee; color: #2c4a35; font-weight: 400; font-size: 14px; }
.search input { width: 100%; font: inherit; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--card); }
.search input:focus { outline: 2px solid var(--brand); border-color: transparent; }
.search .tbl-wrap { margin-top: 10px; }
.amcs { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 8px; }
.amcs a { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; color: var(--ink); }
.amcs a:hover { border-color: var(--brand); text-decoration: none; }
.amcs small { display: block; color: var(--muted); }
tr:target td { background: #fff6e3; }

/* Dams */
.lvl { display: block; height: 10px; background: #ebe6da; border-radius: 6px; overflow: hidden; margin: 6px 0 4px; }
.lvl i { display: block; height: 100%; border-radius: 6px; }
.lv-low i { background: var(--down); } .lv-mid i { background: var(--accent); }
.lv-ok i { background: #3f8f57; } .lv-full i { background: var(--brand); }
.dams { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
.dams a { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; color: var(--ink); }
.dams a:hover { border-color: var(--brand); text-decoration: none; }
.dams b { font-size: 17px; } .dams .dist { color: var(--muted); margin-left: 6px; }
.dams span { font-weight: 700; } .dams span small { font-weight: 400; color: var(--muted); margin-left: 4px; }
.dams em { font-style: normal; font-size: 13px; }
.big-level { display: flex; align-items: center; gap: 14px; margin: 10px 0 14px; }
.big-level .lvl { flex: 1; height: 22px; border-radius: 11px; margin: 0; }
.big-level b { font-size: 30px; color: var(--brand); }
@media (max-width: 480px) { .dams { grid-template-columns: 1fr 1fr; gap: 8px; } .dams b { font-size: 15px; } }

/* Weather */
.wx.green { background: #e6f4e6; } .wx.yellow { background: #fff6bf; } .wx.orange { background: #ffd9a8; }
.wx.red { background: #ffc4c0; } .wx.none { background: #f3f1ec; }
.wx.past { opacity: .55; }
.legend { display: flex; flex-wrap: wrap; gap: 8px; margin: 6px 0 4px; }
.legend span { border-radius: 999px; padding: 3px 12px; font-size: 14px; border: 1px solid var(--line); }
table.wx-tbl th { text-align: center; white-space: nowrap; } table.wx-tbl th small { display: block; font-weight: 400; }
table.wx-tbl td.wx { text-align: left; white-space: normal; font-size: 14px; line-height: 1.35; min-width: 110px; border-left: 2px solid var(--bg); }
.wx-card { border-width: 1px; } .wx-card span { display: block; font-weight: 700; } .wx-card small { color: var(--ink); }
.wx-card.yellow { background: #fff6bf; } .wx-card.orange { background: #ffd9a8; } .wx-card.red { background: #ffc4c0; }
.wx-days { display: grid; grid-template-columns: repeat(5, 1fr); gap: 8px; }
.wx-day { border-radius: 12px; padding: 10px; border: 1px solid var(--line); display: flex; flex-direction: column; gap: 4px; }
.wx-day .d { font-size: 14px; color: var(--muted); } .wx-day .lv { font-weight: 800; font-size: 14px; }
.wx-day b { font-size: 16px; line-height: 1.35; } .wx-day small { color: var(--muted); font-size: 12px; }
@media (max-width: 720px) { .wx-days { grid-template-columns: 1fr 1fr; } }
.nums { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 10px; margin-top: 16px; }
.nums a { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; color: var(--ink); }
.nums a:hover { border-color: var(--brand); text-decoration: none; }
.nums span { display: block; font-size: 13px; color: var(--muted); }
.nums b { display: block; font-size: 24px; color: var(--brand); line-height: 1.2; }
.nums small { font-size: 13px; color: var(--muted); } .nums small.up { color: var(--up); } .nums small.down { color: var(--down); }
@media (max-width: 480px) { .nums { grid-template-columns: 1fr 1fr; gap: 8px; } .nums b { font-size: 20px; } }

/* Festival banner (Diwali etc.) on the homepage and gold page */
.fest-banner { display: block; margin-top: 18px; padding: 14px 16px; border-radius: 12px; color: var(--ink);
  background: #fff4e5; border: 1px solid #f1c48f; }
.fest-banner:hover { text-decoration: none; border-color: var(--accent); }
.fest-banner b.t { display: block; font-size: 19px; color: #8a4300; }
.fest-banner .m { margin: 4px 0 0; font-size: 15px; }
.fest-banner .go { font-weight: 700; color: var(--accent); }
.days { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.days li { background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 10px 14px; }
.days li small { display: block; color: var(--muted); }

/* Phone usability (27 Oct): larger tap targets, compact rain table, folding lists */
.foot-links a, .follow a { display: inline-block; padding: 10px 0; }
.crumbs a { display: inline-block; padding: 8px 0; }
.ws { display: none; }
@media (max-width: 600px) {
  table.wx-tbl td.wx { min-width: 0; font-size: 13px; padding: 8px 6px; }
  table.wx-tbl th { padding: 8px 4px; font-size: 14px; }
  table.wx-tbl td:first-child { padding-right: 4px; }
  .wf { display: none; } .ws { display: inline; }
}
details.fold { background: var(--card); border: 1px solid var(--line); border-radius: 12px; margin: 10px 0; }
details.fold > summary { cursor: pointer; padding: 14px 16px; font-weight: 700; font-size: 18px; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 8px; }
details.fold > summary::-webkit-details-marker { display: none; }
details.fold > summary::after { content: "▾"; color: var(--brand); }
details.fold[open] > summary::after { content: "▴"; }
details.fold > summary small { font-weight: 400; color: var(--muted); font-size: 14px; margin-left: auto; }
details.fold .tbl-wrap { margin: 0 8px 8px; }

.jilha-link { margin: 0 0 16px; }
.jilha-link a { display: inline-block; background: var(--card); border: 1px solid var(--line); border-radius: 10px; padding: 9px 14px; font-weight: 700; }
.jilha-link a:hover { border-color: var(--brand); text-decoration: none; }

/* हवेची गुणवत्ता (AQI) */
.aqi-badge { display: inline-block; min-width: 46px; padding: 2px 10px; border-radius: 999px; font-weight: 700; text-align: center; }
.aqi-badge.big { font-size: 34px; min-width: 96px; padding: 8px 16px; }
.aqi-big { display: flex; align-items: center; gap: 14px; margin: 10px 0 14px; padding: 12px; border: 2px solid; border-radius: 14px; background: #fff; }
.aqi-big b { display: block; font-size: 22px; } .aqi-big small { color: var(--muted); font-size: 15px; }
.aqi-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: 6px; vertical-align: middle; }
.attrib li { word-break: break-word; font-size: 15px; margin-bottom: 8px; }
