/* ===========================================================
   PUNE.COM — Puneri Patya core
   Black & white signboard energy, with cream paper + accents.
   =========================================================== */

:root {
  --paper: #f4ead5;          /* warm cream */
  --paper-2: #ebe0c4;
  --ink: #161410;            /* near-black */
  --ink-2: #2a2620;
  --red: #c83a2c;            /* signboard red */
  --yellow: #f5c518;         /* BEST bus yellow */
  --green: #2d6a4f;
  --blue: #1f4e7a;
  --rule: rgba(22,20,16,0.85);
  --shadow: 8px 8px 0 var(--ink);
}

/* style variants */
[data-style="riso"] {
  --paper: #f7f1e3;
  --paper-2: #efe5cc;
  --ink: #1a1a2e;
  --red: #e0533d;
  --yellow: #f0b429;
  --green: #2f7d54;
}
[data-style="streetpop"] {
  --paper: #fff4d6;
  --paper-2: #ffd166;
  --ink: #0a0a0a;
  --red: #ef233c;
  --yellow: #ffd60a;
  --green: #06a77d;
  --blue: #2364aa;
}

* { box-sizing: border-box; margin: 0; padding: 0; }

html, body {
  background: var(--paper);
  color: var(--ink);
  font-family: 'Tiro Devanagari Marathi', 'Special Elite', Georgia, serif;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

body {
  background-image:
    radial-gradient(circle at 0 0, rgba(22,20,16,0.04) 1px, transparent 1px),
    radial-gradient(circle at 12px 12px, rgba(22,20,16,0.025) 1px, transparent 1px);
  background-size: 24px 24px, 24px 24px;
  background-position: 0 0, 0 0;
  min-height: 100vh;
}

/* ---------- typography ---------- */

.dn { font-family: 'Tiro Devanagari Marathi', 'Mukta', serif; }
.dn-display { font-family: 'Mukta', 'Tiro Devanagari Marathi', serif; font-weight: 800; }
.en-display { font-family: 'Anton', 'Bebas Neue', Impact, sans-serif; letter-spacing: 0.01em; }
.en-mono { font-family: 'JetBrains Mono', 'Special Elite', monospace; }
.en-body { font-family: 'Special Elite', 'Courier Prime', Georgia, serif; }
.en-stamp { font-family: 'Anton', Impact, sans-serif; text-transform: uppercase; letter-spacing: 0.04em; }

/* ---------- common ---------- */

.frame {
  border: 3px solid var(--ink);
  background: var(--paper);
}
.frame-thick { border-width: 6px; }
.shadow-hard { box-shadow: var(--shadow); }
.shadow-hard-sm { box-shadow: 4px 4px 0 var(--ink); }

.tag {
  display: inline-block;
  background: var(--ink);
  color: var(--paper);
  padding: 4px 10px;
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 12px;
  white-space: nowrap;
  flex-shrink: 0;
}
.tag.red { background: var(--red); color: #fff; }
.tag.yellow { background: var(--yellow); color: var(--ink); }
.tag.green { background: var(--green); color: #fff; }

/* paper texture for boards */
.paper {
  background:
    repeating-linear-gradient(
      45deg,
      transparent 0 14px,
      rgba(0,0,0,0.012) 14px 15px
    ),
    var(--paper);
}

.scroll-tape {
  position: relative;
  background: var(--ink);
  color: var(--paper);
  overflow: hidden;
  white-space: nowrap;
}
.scroll-tape__inner {
  display: inline-block;
  padding: 12px 0;
  animation: marquee 60s linear infinite;
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.06em;
  font-size: 14px;
  text-transform: uppercase;
}
.scroll-tape__inner span { padding: 0 28px; }
.scroll-tape__inner .dot { color: var(--yellow); }

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* perforated divider */
.perf {
  height: 14px;
  background-image: radial-gradient(circle at 7px 7px, var(--paper) 4px, transparent 4.5px);
  background-size: 14px 14px;
  background-color: var(--ink);
}

/* button — patya style */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--ink);
  color: var(--paper);
  padding: 14px 22px;
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 15px;
  border: 3px solid var(--ink);
  cursor: pointer;
  transition: transform .08s, box-shadow .08s;
  box-shadow: 4px 4px 0 var(--ink);
  text-decoration: none;
}
.btn:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--ink); }
.btn:active { transform: translate(2px,2px); box-shadow: 0 0 0 var(--ink); }

.btn.alt { background: var(--yellow); color: var(--ink); }
.btn.red { background: var(--red); color: #fff; }
.btn.outline { background: var(--paper); color: var(--ink); }
.btn.sm { padding: 8px 14px; font-size: 13px; }

/* stamps */
.stamp {
  display: inline-block;
  border: 3px solid var(--red);
  color: var(--red);
  padding: 6px 14px 4px;
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  transform: rotate(-6deg);
  font-size: 14px;
  background: rgba(245,234,213,0.6);
}
.stamp.green { border-color: var(--green); color: var(--green); }
.stamp.ink { border-color: var(--ink); color: var(--ink); }

/* corner kerf — bus stop board hangers */
.kerf::before, .kerf::after {
  content: "";
  position: absolute;
  width: 14px; height: 14px;
  background: var(--ink);
  border-radius: 50%;
  top: -7px;
}
.kerf::before { left: 16px; }
.kerf::after  { right: 16px; }

/* ---------- nav ---------- */

.nav {
  position: sticky; top: 0; z-index: 50;
  background: var(--paper);
  border-bottom: 3px solid var(--ink);
}
.nav__row {
  max-width: 1280px; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
  padding: 10px 14px;
  gap: 12px;
}
.nav__brand {
  display: flex; align-items: center; gap: 10px;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 24px; letter-spacing: 0.04em;
  background: none; border: 0; cursor: pointer;
  color: var(--ink); padding: 4px 6px;
  flex-shrink: 0;
}
.nav__brand small {
  font-family: 'Tiro Devanagari Marathi', serif;
  font-size: 12px; font-weight: 400; letter-spacing: 0;
  text-transform: none;
  color: var(--ink-2);
  margin-left: 2px;
}
.nav__links {
  display: flex; gap: 2px; list-style: none;
  overflow-x: auto;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
  flex-wrap: nowrap;
}
.nav__links::-webkit-scrollbar { display: none; }
.nav__links button {
  display: flex; flex-direction: column; align-items: center;
  padding: 6px 12px;
  border: 2px solid transparent;
  background: transparent;
  color: var(--ink);
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.06em; text-transform: uppercase; font-size: 13px;
  line-height: 1.1;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.12s, border-color 0.12s;
}
.nav__links button:hover { background: var(--ink); color: var(--paper); }
.nav__ext-link {
  display: flex; flex-direction: column; align-items: center;
  padding: 6px 12px;
  border: 2px solid transparent;
  background: transparent;
  color: var(--ink);
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.06em; text-transform: uppercase; font-size: 13px;
  line-height: 1.1;
  white-space: nowrap;
  text-decoration: none;
  transition: background 0.12s, border-color 0.12s;
}
.nav__ext-link:hover { background: var(--ink); color: var(--paper); }
.nav__links button.active {
  background: var(--yellow);
  border-color: var(--ink);
  color: var(--ink);
}
.nav__emergency {
  background: var(--red) !important;
  color: var(--paper) !important;
  border-color: var(--red) !important;
  font-weight: 700;
}
.nav__emergency:hover { background: #a82020 !important; }
.nav__emergency.active { background: var(--red) !important; box-shadow: inset 0 -3px 0 rgba(0,0,0,0.3); }
.nav__lbl-mr {
  font-size: 10px;
  letter-spacing: 0;
  opacity: 0.7;
  margin-top: 1px;
}
@media (max-width: 600px) {
  .nav__row { padding: 8px 10px; }
  .nav__brand { font-size: 20px; }
  .nav__brand small { display: none; }
  .nav__links button { padding: 6px 10px; font-size: 12px; }
  .nav__lbl-mr { display: none; }
}

.section__head--compact {
  margin-bottom: 16px;
  padding-bottom: 14px;
  flex-wrap: wrap;
}
.section--tab {
  margin: 24px auto 0;
}
@media (max-width: 600px) {
  .section { padding: 0 14px; }
  .section--tab { margin-top: 18px; }
}

/* ---------- hero ---------- */

.hero {
  position: relative;
  max-width: 1280px;
  margin: 0 auto;
  padding: 28px 20px 20px;
  display: grid;
  grid-template-columns: 1.4fr 1fr;
  gap: 20px;
  align-items: stretch;
}
@media (max-width: 900px) { .hero { grid-template-columns: 1fr; padding: 16px 14px; gap: 14px; } }

.hero__title {
  position: relative;
  background: var(--paper);
  border: 4px solid var(--ink);
  padding: 24px 24px 20px;
  box-shadow: 10px 10px 0 var(--ink);
}
@media (max-width: 600px) {
  .hero__title { padding: 18px 16px 16px; box-shadow: 6px 6px 0 var(--ink); border-width: 3px; }
}
.hero__supr {
  display: flex; align-items: center; gap: 10px;
  flex-wrap: wrap;
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.1em; text-transform: uppercase; font-size: 12px;
  margin-bottom: 10px;
}
.hero__supr .sep { width: 22px; height: 3px; background: var(--ink); }

.hero__h1 {
  font-family: 'Mukta', 'Tiro Devanagari Marathi', serif;
  font-weight: 800;
  font-size: clamp(40px, 6.5vw, 86px);
  line-height: 1.18;
  letter-spacing: -0.01em;
  padding-bottom: 2px;
}
.hero__h1 .en {
  font-family: 'Anton', Impact, sans-serif;
  display: block;
  font-size: 0.78em;
  letter-spacing: 0.01em;
  margin-top: 4px;
}
.hero__h1 .accent { color: var(--red); }

.hero__tagline {
  margin-top: 10px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  line-height: 1.5;
  color: var(--ink-2);
  font-style: italic;
  opacity: 0.85;
}
.hero__tagline .dn { font-style: normal; }

.hero__phrase {
  margin-top: 10px;
  font-family: 'Tiro Devanagari Marathi', Georgia, serif;
  font-size: 16px;
  color: var(--ink-1);
  letter-spacing: 0.01em;
}
.hero__sub {
  margin-top: 14px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 15px;
  line-height: 1.55;
  max-width: 56ch;
  color: var(--ink-2);
}
@media (max-width: 600px) {
  .hero__sub { font-size: 14px; }
}
.hero__cta {
  margin-top: 18px;
  display: flex; gap: 10px; flex-wrap: wrap;
}

/* hero side panel — siesta clock preview */
.hero__side {
  display: flex; flex-direction: column; gap: 18px;
}

/* ---------- pune-right-now bar ---------- */

.prn {
  background: var(--ink);
  color: var(--paper);
  border-bottom: 3px solid var(--ink);
}
.prn__row {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1px;
  padding: 0 28px;
}
.prn__cell {
  padding: 14px 12px;
  display: flex; flex-direction: column; gap: 4px;
  border-right: 1px dashed rgba(244,234,213,0.25);
}
.prn__cell:last-child { border-right: 0; }
.prn__lbl {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 11px; letter-spacing: 0.1em;
  color: var(--yellow);
  text-transform: uppercase;
}
.prn__val {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
}
.prn__val b {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 18px;
  font-weight: 400;
  letter-spacing: 0.02em;
}
@media (max-width: 760px) {
  .prn__row { grid-template-columns: repeat(2, 1fr); }
  .prn__cell { border-right: 0; border-bottom: 1px dashed rgba(244,234,213,0.25); }
}

/* ---------- sections ---------- */

.section {
  max-width: 1280px;
  margin: 64px auto 0;
  padding: 0 28px;
}
.section__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 24px;
  border-bottom: 3px solid var(--ink);
  padding-bottom: 24px;
}
.section__no {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: var(--ink);
  color: var(--paper);
  padding: 4px 10px;
  margin-bottom: 14px;
  display: inline-block;
  white-space: nowrap;
}
.section__head > div { display: flex; flex-direction: column; align-items: flex-start; }
.section__title {
  font-family: 'Mukta', serif;
  font-weight: 800;
  font-size: clamp(28px, 4.5vw, 52px);
  line-height: 1.3;
  padding-bottom: 6px;
}
.section__title .en {
  display: block;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 0.55em;
  color: var(--ink-2);
  letter-spacing: 0.04em;
  margin-top: 20px;
}
.section__sub {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  color: var(--ink-2);
  max-width: 38ch;
  text-align: right;
}
@media (max-width: 760px) {
  .section__head, .section__head--compact {
    flex-direction: column;
    align-items: flex-start;
  }
  .section__sub { text-align: left; max-width: 100%; }
  .section__title { font-size: clamp(24px, 7vw, 36px); }
  .section__title .en { margin-top: 8px; font-size: 0.5em; }
}

/* ---------- cards grid for tools ---------- */

.tool-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 20px;
}
@media (max-width: 760px) { .tool-grid { grid-template-columns: 1fr; } }

.tool-card {
  position: relative;
  border: 3px solid var(--ink);
  background: var(--paper);
  padding: 20px;
  display: flex; flex-direction: column; gap: 12px;
  min-height: 200px;
  cursor: pointer;
  transition: transform .12s, box-shadow .12s;
  box-shadow: 6px 6px 0 var(--ink);
  text-decoration: none;
  color: inherit;
  text-align: left;
  font: inherit;
  width: 100%;
}
@media (max-width: 600px) {
  .tool-card { min-height: 0; padding: 16px; gap: 8px; }
  .tool-card__no { font-size: 28px !important; }
  .tool-card__title { font-size: 22px !important; }
  .tool-card__desc { font-size: 13px !important; }
}
.tool-card, .tool-card:visited, .tool-card:hover, .tool-card:active { text-decoration: none; }
.tool-card[data-color="red"], .tool-card[data-color="red"]:visited,
.tool-card[data-color="ink"], .tool-card[data-color="ink"]:visited { color: var(--paper); }
.tool-card:hover { transform: translate(-3px,-3px); box-shadow: 9px 9px 0 var(--ink); }
.tool-card[data-color="yellow"] { background: var(--yellow); }
.tool-card[data-color="red"] { background: var(--red); color: var(--paper); }
.tool-card[data-color="ink"] { background: var(--ink); color: var(--paper); }
.tool-card--soon {
  cursor: default;
  opacity: 0.55;
  border-style: dashed;
}
.tool-card--soon:hover { transform: none; box-shadow: 6px 6px 0 var(--ink); }

.tool-card__head {
  display: flex; align-items: center; justify-content: space-between;
}
.tool-card__no {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 36px; line-height: 1; letter-spacing: 0.02em;
  opacity: 0.85;
}
.tool-card__title {
  font-family: 'Mukta', serif; font-weight: 800;
  font-size: 28px; line-height: 1.3;
  padding-bottom: 2px;
}
.tool-card__title .en {
  display: block;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 14px; letter-spacing: 0.06em; margin-top: 4px;
  opacity: 0.85;
}
.tool-card__desc {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; line-height: 1.5;
  flex: 1;
}
.tool-card__cta {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.08em; text-transform: uppercase; font-size: 13px;
  display: inline-flex; align-items: center; gap: 8px;
}

/* ---------- tool card live previews ---------- */

.tool-card__preview {
  border-top: 2px solid currentColor;
  margin: 4px 0 6px;
  padding: 10px 0 4px;
  opacity: 0.9;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.tool-card__preview--pati { flex-direction: column; align-items: flex-start; }
.tool-card__preview--index { gap: 0; }

.tc-preview__badge {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 22px;
  letter-spacing: 0.04em;
  line-height: 1;
}
.tc-preview__badge--sm { font-size: 16px; }
.tc-preview__sub {
  font-family: 'Special Elite', serif;
  font-size: 12px;
  opacity: 0.75;
  line-height: 1.3;
}
.tc-preview__pati-quote {
  font-family: 'Special Elite', serif;
  font-size: 13px;
  line-height: 1.45;
  font-style: italic;
  opacity: 0.85;
  max-height: 52px;
  overflow: hidden;
}
.tc-preview__stat {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  padding: 4px 8px;
}
.tc-preview__num {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 26px;
  line-height: 1;
}
.tc-preview__lbl {
  font-family: 'Special Elite', serif;
  font-size: 11px;
  opacity: 0.7;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.tc-preview__divider {
  width: 2px;
  align-self: stretch;
  background: currentColor;
  opacity: 0.3;
}

/* siesta badge state colors are handled by JS data-state attribute */
[data-siesta-state="open"]  .tc-preview__badge { color: #2d8a50; }
[data-siesta-state="siesta"] .tc-preview__badge { color: #c83a2c; }
[data-siesta-state="closed"] .tc-preview__badge { color: #c83a2c; }

/* ---------- footer ---------- */

.footer {
  margin-top: 80px;
  background: var(--ink);
  color: var(--paper);
  padding: 48px 28px 28px;
}
.footer__row {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 28px;
}
.footer h4 {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--yellow);
  font-size: 14px;
  margin-bottom: 12px;
}
.footer p, .footer a, .footer li {
  font-family: 'Special Elite', Georgia, serif;
  color: var(--paper); font-size: 14px;
  line-height: 1.7;
  text-decoration: none;
  list-style: none;
}
.footer__big {
  font-family: 'Mukta', serif;
  font-weight: 800;
  font-size: 48px;
  line-height: 0.95;
  margin-bottom: 12px;
}
.footer__line {
  max-width: 1280px;
  margin: 28px auto 0;
  border-top: 1px dashed rgba(244,234,213,0.3);
  padding-top: 16px;
  display: flex; justify-content: space-between;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  color: rgba(244,234,213,0.6);
}
@media (max-width: 760px) { .footer__row { grid-template-columns: 1fr; } }

/* utility */
.flex { display: flex; }
.flex-col { display: flex; flex-direction: column; }
.gap-8 { gap: 8px; } .gap-12 { gap: 12px; } .gap-16 { gap: 16px; } .gap-24 { gap: 24px; }
.grow { flex: 1; }
.center { align-items: center; justify-content: center; }
.between { justify-content: space-between; }
.relative { position: relative; }
.uppercase { text-transform: uppercase; letter-spacing: 0.06em; }

/* Decorative landmark silhouettes (background) */
.landmark-bg {
  position: absolute;
  pointer-events: none;
  opacity: 0.06;
  z-index: 0;
}
/* ===== Siesta Clock styles ===== */

.siesta {
  position: relative;
  border: 4px solid var(--ink);
  background: var(--paper);
  padding: 0;
  display: flex;
  flex-direction: column;
  box-shadow: 8px 8px 0 var(--ink);
  overflow: hidden;
}

.siesta__top {
  display: flex; justify-content: space-between; align-items: center;
  background: var(--ink); color: var(--paper);
  padding: 12px 18px;
  border-bottom: 4px solid var(--ink);
}
.siesta__brand { display: flex; align-items: baseline; gap: 12px; }
.siesta__brand-mr {
  font-family: 'Mukta', serif; font-weight: 800; font-size: 30px;
  line-height: 1.3;
}
.siesta__brand-en {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.12em; font-size: 13px;
  border-left: 1px solid rgba(244,234,213,0.5);
  padding-left: 12px;
}
.siesta__digital {
  font-family: 'JetBrains Mono', monospace;
  font-weight: 700;
  font-size: 22px;
  letter-spacing: 0.04em;
  color: var(--yellow);
  background: var(--ink);
  padding: 4px 10px;
  border: 1px dashed rgba(245,197,24,0.4);
}
.blink { animation: blink 1s steps(2) infinite; font-style: normal; }
@keyframes blink { 50% { opacity: 0.3; } }

.siesta__main {
  position: relative;
  background:
    repeating-linear-gradient(135deg, rgba(0,0,0,0.04) 0 14px, transparent 14px 28px),
    var(--paper-2);
  padding: 28px 20px;
  min-height: 220px;
  display: flex; align-items: center; justify-content: center;
}

/* shutter */
.siesta__shutter {
  position: relative;
  width: 100%; max-width: 460px;
  border: 3px solid var(--ink);
  background: var(--paper);
  padding: 22px 16px;
  text-align: center;
  overflow: hidden;
}
.siesta__shutter-inside {
  position: relative; z-index: 1;
}
.siesta__status-mega {
  font-family: 'Anton', Impact, sans-serif;
  font-size: clamp(56px, 9vw, 88px);
  line-height: 1.05;
  letter-spacing: 0.04em;
  color: var(--ink);
}
.siesta--green .siesta__status-mega { color: var(--green); }
.siesta--red .siesta__status-mega { color: var(--red); }
.siesta--yellow .siesta__status-mega { color: var(--ink); background: var(--yellow); display: inline-block; padding: 0 16px; }
.siesta__status-mr {
  margin-top: 6px;
  font-family: 'Mukta', serif;
  font-weight: 700;
  font-size: 24px;
  color: var(--ink-2);
}

.siesta__shutter-roll {
  position: absolute;
  inset: 0;
  display: flex; flex-direction: column;
  pointer-events: none;
  background: linear-gradient(#777, #444 50%, #555);
  transform-origin: top;
  transition: transform 0.6s cubic-bezier(.22,.61,.36,1);
  z-index: 2;
}
.siesta__shutter[data-state="up"] .siesta__shutter-roll { transform: scaleY(0); }
.siesta__shutter[data-state="half"] .siesta__shutter-roll { transform: scaleY(0.18); }
.siesta__shutter[data-state="down"] .siesta__shutter-roll { transform: scaleY(1); }
.slat {
  flex: 1;
  border-bottom: 1px solid rgba(0,0,0,0.4);
  background: linear-gradient(180deg, rgba(255,255,255,0.08), rgba(0,0,0,0.18));
}
.siesta__shutter[data-state="down"] .siesta__shutter-roll::after {
  content: "बंद / CLOSED";
  position: absolute; inset: 0;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 28px;
  letter-spacing: 0.1em;
  color: var(--paper);
  text-shadow: 0 1px 0 rgba(0,0,0,0.5);
  background:
    repeating-linear-gradient(45deg, transparent 0 12px, rgba(0,0,0,0.15) 12px 24px);
}

.siesta__zone-row {
  display: flex; justify-content: space-between; align-items: center;
  border-top: 3px solid var(--ink);
  border-bottom: 3px solid var(--ink);
  padding: 10px 18px;
  background: var(--paper);
}
.siesta__zone-tag {
  display: flex; align-items: baseline; gap: 12px;
}
.siesta__zone-tag .dn-display { font-size: 22px; }
.siesta__zone-en {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px;
  color: var(--ink-2);
}
.siesta__date {
  font-family: 'JetBrains Mono', monospace;
  font-size: 12px;
  letter-spacing: 0.1em;
  background: var(--ink); color: var(--yellow);
  padding: 4px 10px;
}

.siesta__quote-box {
  padding: 22px 22px 18px;
  background: var(--paper);
  position: relative;
}
.siesta__quote-mr {
  font-size: clamp(18px, 2.4vw, 28px);
  line-height: 1.4;
  color: var(--ink);
  font-weight: 800;
  padding-bottom: 2px;
}
.siesta__quote-en-big {
  margin-top: 8px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 15px;
  line-height: 1.5;
  color: var(--ink-2);
}
.siesta__quote-foot {
  margin-top: 14px;
  display: flex; justify-content: space-between; align-items: center;
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.1em; text-transform: uppercase;
  font-size: 11px;
  color: var(--ink-2);
}
.siesta__dots { display: flex; gap: 5px; }
.siesta__dots i {
  width: 7px; height: 7px; border: 1px solid var(--ink);
  background: transparent; display: inline-block;
}
.siesta__dots i.on { background: var(--ink); }

/* compact variant for hero side */
.siesta--compact { padding: 16px; }
.siesta__bar {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 8px;
}
.siesta__pill {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 12px; letter-spacing: 0.1em;
  background: var(--ink); color: var(--paper);
  padding: 3px 8px;
}
.siesta__time {
  font-family: 'JetBrains Mono', monospace; font-weight: 700;
}
.siesta__zone { font-size: 18px; font-weight: 700; }
.siesta__quote { font-size: 14px; margin-top: 4px; font-weight: 700; }
.siesta__quote-en { font-size: 12px; color: var(--ink-2); margin-top: 4px; }
/* ===== Pati Generator styles ===== */

.pati-gen {
  display: grid;
  grid-template-columns: 1fr 1.1fr;
  gap: 28px;
  align-items: start;
}
@media (max-width: 900px) { .pati-gen { grid-template-columns: 1fr; } }

.pati-gen__left {
  border: 4px solid var(--ink);
  background: var(--paper);
  padding: 24px;
  box-shadow: 8px 8px 0 var(--ink);
  display: flex; flex-direction: column; gap: 16px;
}
.pati-gen__hd { display: flex; flex-direction: column; gap: 20px; align-items: flex-start; }
.pati-gen__hd h3 {
  font-family: 'Mukta', serif; font-weight: 800; font-size: 22px; line-height: 1.6;
  margin-top: 4px;
  padding-bottom: 8px;
}
.pati-gen__hd p {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; color: var(--ink-2); line-height: 1.5;
}

.pati-gen__input {
  width: 100%;
  border: 3px solid var(--ink);
  background: var(--paper);
  padding: 14px 16px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 15px;
  resize: vertical;
  outline: none;
  box-shadow: inset 2px 2px 0 rgba(0,0,0,0.04);
}
.pati-gen__input:focus { box-shadow: inset 2px 2px 0 var(--yellow); }

.pati-gen__chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.pati-gen__chip-lbl {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.1em; font-size: 12px; text-transform: uppercase;
  color: var(--ink-2);
}
.pati-gen__chip {
  border: 2px solid var(--ink);
  background: var(--paper);
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px;
  padding: 5px 10px;
  cursor: pointer;
}
.pati-gen__chip:hover { background: var(--yellow); }

.pati-gen__styles {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
}
@media (max-width: 700px) { .pati-gen__styles { grid-template-columns: repeat(3, 1fr); } }

.pati-gen__style {
  border: 2px solid var(--ink);
  background: var(--paper);
  padding: 10px 6px;
  cursor: pointer;
  font-family: 'Anton', Impact, sans-serif;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
  letter-spacing: 0.04em;
  text-align: center;
  min-height: 56px;
  justify-content: center;
}
.pati-gen__style b { font-size: 12px; font-weight: 400; letter-spacing: 0.04em; line-height: 1.1; }
.pati-gen__style span { font-size: 12px; line-height: 1.3; }
.pati-gen__style.on { background: var(--ink); color: var(--paper); }
.pati-gen__style:hover:not(.on) { background: var(--yellow); }

.pati-gen__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 8px; }

.pati-gen__right { display: flex; flex-direction: column; gap: 12px; }
.pati-gen__preview-meta {
  display: flex; align-items: center; gap: 12px; justify-content: space-between;
  flex-wrap: wrap;
}
.pati-gen__preview-mr {
  font-weight: 700; font-size: 18px;
}
.pati-gen__caption {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px; color: var(--ink-2); text-align: center;
  border-top: 1px dashed var(--ink); padding-top: 10px;
}
.pati-gen__preview {
  position: relative;
  min-height: 360px;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
  background:
    repeating-linear-gradient(45deg, rgba(0,0,0,0.03) 0 12px, transparent 12px 24px),
    var(--paper-2);
  border: 4px solid var(--ink);
  box-shadow: 8px 8px 0 var(--ink);
  animation: cardIn .35s ease;
}
@keyframes cardIn {
  from { transform: translateY(8px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}

/* ====== individual board styles ====== */

.pati {
  position: relative;
  width: 100%; max-width: 460px;
  padding: 28px 22px;
  text-align: center;
  font-family: 'Mukta', serif;
}

/* CLASSIC: white board, double red border, hand-painted */
.pati--classic {
  background: #fafafa;
  border: 6px solid var(--red);
  box-shadow: 0 0 0 3px #fafafa, 0 0 0 9px var(--red), 6px 6px 0 var(--ink);
  color: var(--ink);
}
.pati--classic .pati__inner-frame {
  border: 1px dashed var(--red);
  padding: 16px 12px;
}
.pati--classic .pati__sup {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.2em; font-size: 13px; color: var(--red);
  margin-bottom: 12px;
}
.pati--classic .pati__mr {
  font-size: clamp(20px, 3vw, 32px);
  line-height: 1.2; font-weight: 800;
}
.pati--classic .pati__en {
  margin-top: 12px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; line-height: 1.5;
}
.pati--classic .pati__sig {
  margin-top: 14px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px; color: var(--ink-2);
  border-top: 1px solid var(--ink-2);
  padding-top: 8px; display: inline-block;
}

/* BEST BUS: yellow board, black, hazard stripes */
.pati--best {
  background: var(--yellow);
  color: var(--ink);
  border: 4px solid var(--ink);
  box-shadow: 6px 6px 0 var(--ink);
  padding: 0;
}
.pati--best .pati__best-stripes {
  height: 14px;
  background:
    repeating-linear-gradient(135deg, var(--ink) 0 12px, var(--yellow) 12px 24px);
}
.pati--best .pati__sup-best {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 14px;
  letter-spacing: 0.2em;
  margin: 14px 0 10px;
}
.pati--best .pati__mr {
  font-size: clamp(22px, 3.2vw, 34px);
  line-height: 1.2; font-weight: 800;
  padding: 0 16px;
}
.pati--best .pati__en {
  padding: 0 16px;
  margin-top: 10px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
}
.pati--best .pati__sig {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px;
  margin: 10px 0;
  display: inline-block;
}

/* SHOP FRONT: cream, ★, painted */
.pati--shop {
  background: linear-gradient(180deg, #efe2c0 0%, #d8c79a 100%);
  border: 5px solid var(--ink);
  box-shadow: 6px 6px 0 var(--ink);
  color: var(--ink);
  padding: 0;
  overflow: hidden;
}
.pati--shop .pati__shop-tape {
  background: var(--ink); height: 18px;
  background-image: repeating-linear-gradient(90deg, var(--ink) 0 12px, var(--red) 12px 14px, var(--ink) 14px 26px);
}
.pati--shop .pati__shop-inside {
  padding: 22px;
}
.pati--shop .pati__sup-shop {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.2em;
  font-size: 13px;
  color: var(--red);
  margin-bottom: 14px;
}
.pati--shop .pati__mr {
  font-size: clamp(22px, 3.2vw, 32px);
  font-weight: 800;
  line-height: 1.2;
}
.pati--shop .pati__en {
  margin-top: 12px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  line-height: 1.5;
  font-style: italic;
}
.pati--shop .pati__shop-line {
  height: 0; border-top: 2px dashed var(--ink);
  margin: 14px auto; width: 60%;
}
.pati--shop .pati__sig {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px; color: var(--ink-2);
}

/* TEMPLE: saffron + black, ornamental */
.pati--temple {
  background: #f4a261;
  border: 5px solid var(--ink);
  box-shadow: 6px 6px 0 var(--ink);
  color: var(--ink);
  padding: 0;
}
.pati--temple .pati__temple-arch {
  border: 2px solid var(--ink);
  margin: 8px;
  padding: 16px;
  background:
    radial-gradient(ellipse at top, rgba(255,255,255,0.4), transparent 60%),
    #f4a261;
  position: relative;
}
.pati--temple .pati__temple-arch::before,
.pati--temple .pati__temple-arch::after {
  content: "";
  position: absolute;
  width: 24px; height: 24px;
  background: var(--ink);
  border-radius: 50%;
  top: -14px;
}
.pati--temple .pati__temple-arch::before { left: 30%; }
.pati--temple .pati__temple-arch::after  { right: 30%; }
.pati--temple .pati__temple-trefoil {
  font-family: 'Mukta', serif;
  font-size: 26px; font-weight: 800;
  margin-bottom: 8px;
}
.pati--temple .pati__sup-temple {
  font-family: 'Mukta', serif;
  font-size: 16px;
  margin-bottom: 14px;
  font-style: italic;
}
.pati--temple .pati__mr {
  font-size: clamp(20px, 3vw, 30px);
  font-weight: 800;
  line-height: 1.2;
  background: var(--ink);
  color: #f4a261;
  padding: 10px;
}
.pati--temple .pati__en {
  margin-top: 12px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  line-height: 1.5;
}
.pati--temple .pati__sig {
  margin-top: 10px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px;
}
.pati--temple .pati__temple-foot {
  margin-top: 12px;
  font-family: 'Mukta', serif;
  font-size: 13px;
  letter-spacing: 0.1em;
}

/* WALL STENCIL: spray paint */
.pati--wall {
  background:
    radial-gradient(circle at 20% 30%, rgba(0,0,0,0.06) 0 1px, transparent 2px),
    radial-gradient(circle at 80% 70%, rgba(0,0,0,0.05) 0 1px, transparent 2px),
    linear-gradient(180deg, #d6cdb6 0%, #c2b89e 100%);
  border: 3px solid var(--ink);
  box-shadow: 6px 6px 0 var(--ink);
  color: var(--ink);
  font-family: 'Anton', Impact, sans-serif;
  position: relative;
}
.pati--wall::before {
  content: "";
  position: absolute; inset: 6px;
  border: 1px dashed var(--ink); pointer-events: none;
}
.pati--wall .pati__wall-grime {
  position: absolute; inset: 0;
  background:
    radial-gradient(circle at 10% 80%, rgba(22,20,16,0.15) 0%, transparent 30%),
    radial-gradient(circle at 90% 20%, rgba(22,20,16,0.12) 0%, transparent 25%);
  pointer-events: none;
}
.pati--wall .pati__sup-wall {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.2em; font-size: 13px;
  color: var(--red);
  margin-bottom: 12px;
}
.pati--wall .pati__mr {
  font-size: clamp(22px, 3.4vw, 36px);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: 0.01em;
  filter: contrast(1.1);
}
.pati--wall .pati__en {
  margin-top: 12px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  line-height: 1.5;
  text-transform: none;
  letter-spacing: 0;
}
.pati--wall .pati__sig {
  margin-top: 14px;
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.1em; font-size: 12px;
}

/* flash toast */
.flash-toast {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
  background: var(--ink); color: var(--paper);
  padding: 12px 20px; border: 3px solid var(--ink);
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.06em; font-size: 14px; text-transform: uppercase;
  z-index: 9999;
  box-shadow: 4px 4px 0 var(--yellow);
  animation: toastIn .25s ease, toastOut .25s ease 2.15s;
}
@keyframes toastIn { from { transform: translate(-50%, 16px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }
@keyframes toastOut { to { transform: translate(-50%, 16px); opacity: 0; } }
/* ===== Poll styles ===== */

.poll {
  border: 4px solid var(--ink);
  background: var(--paper);
  box-shadow: 8px 8px 0 var(--ink);
  padding: 28px;
}

.poll__header {
  display: flex; justify-content: space-between; align-items: flex-end;
  gap: 24px;
  border-bottom: 3px solid var(--ink);
  padding-bottom: 18px; margin-bottom: 22px;
}
.poll__hd-left { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.poll__hd-left h3 {
  font-size: 36px; line-height: 1.35; font-weight: 800;
  padding-bottom: 4px;
}
.poll__hd-left p {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; color: var(--ink-2);
  max-width: 50ch;
}

.poll__hd-right {
  display: flex; flex-direction: column; gap: 6px; align-items: flex-end;
}
.poll__total {
  display: flex; flex-direction: column; align-items: flex-end;
  border: 3px solid var(--ink); background: var(--yellow);
  padding: 8px 14px; box-shadow: 4px 4px 0 var(--ink);
}
.poll__total b {
  font-family: 'Anton', Impact, sans-serif;
  font-weight: 400; font-size: 30px; line-height: 1;
  letter-spacing: 0.02em;
}
.poll__total span {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 10px; letter-spacing: 0.14em; color: var(--ink-2);
}
.poll__live-dot {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
  display: flex; align-items: center; gap: 6px; color: var(--ink-2);
}
.poll__live-dot i {
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--red);
  animation: livepulse 1.4s ease infinite;
}
@keyframes livepulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50% { opacity: 0.4; transform: scale(0.8); }
}

@media (max-width: 760px) {
  .poll__header { flex-direction: column; align-items: flex-start; }
  .poll__hd-right { align-items: flex-start; }
}

.poll__options {
  display: flex; flex-direction: column; gap: 10px;
}

.poll__opt {
  position: relative;
  border: 3px solid var(--ink);
  background: var(--paper);
  padding: 0;
  cursor: pointer;
  text-align: left;
  font-family: inherit;
  color: inherit;
  overflow: hidden;
  transition: transform .12s, box-shadow .12s;
}
.poll__opt:hover:not(:disabled) {
  transform: translate(-2px, -2px);
  box-shadow: 4px 4px 0 var(--ink);
}
.poll__opt:disabled { cursor: default; }

.poll__bar {
  position: absolute;
  inset: 0 auto 0 0;
  background: var(--paper-2);
  z-index: 0;
  transition: width .6s cubic-bezier(.22,.61,.36,1);
}
.poll__opt.leader .poll__bar { background: var(--yellow); }
.poll__opt.mine .poll__bar { background: var(--green); opacity: 0.25; }
.poll__opt.mine.leader .poll__bar {
  background: linear-gradient(90deg, var(--yellow) 0%, var(--green) 100%);
  opacity: 0.45;
}

.poll__opt-inside {
  position: relative; z-index: 1;
  display: grid;
  grid-template-columns: 70px 1fr 160px;
  gap: 16px;
  align-items: center;
  padding: 16px 18px;
}
@media (max-width: 700px) {
  .poll__opt-inside {
    grid-template-columns: 50px 1fr;
    gap: 10px;
  }
  .poll__opt-stats { grid-column: 1 / -1; flex-direction: row; align-items: center; justify-content: space-between; }
}

.poll__rank {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 36px; line-height: 1;
  letter-spacing: 0.02em;
  display: flex; flex-direction: column; align-items: center;
}
.poll__rank em {
  font-style: normal;
  font-size: 18px;
  color: var(--red);
}
.poll__crown { animation: leaderspin 6s linear infinite; }
@keyframes leaderspin { to { transform: rotate(360deg); } }

.poll__opt-mr {
  font-size: 22px;
  line-height: 1.4;
  font-weight: 800;
}
.poll__opt-en {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 14px; letter-spacing: 0.06em;
  color: var(--ink-2);
  margin-top: 2px;
}
.poll__opt-sub {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px;
  margin-top: 6px;
  color: var(--ink-2);
  line-height: 1.4;
}

.poll__opt-stats {
  display: flex; flex-direction: column; align-items: flex-end; gap: 2px;
}
.poll__pct {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 28px; letter-spacing: 0.02em; line-height: 1;
}
.poll__count {
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px; color: var(--ink-2);
}
.poll__vote-hint {
  margin-top: 6px;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 11px; letter-spacing: 0.1em; color: var(--red);
  opacity: 0;
  transition: opacity .15s;
}
.poll__opt:hover .poll__vote-hint { opacity: 1; }

.poll__mine-tag {
  margin-top: 4px;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 10px; letter-spacing: 0.14em;
  background: var(--green); color: var(--paper);
  padding: 2px 6px;
}

.poll__footer {
  margin-top: 18px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; color: var(--ink-2);
  border-top: 1px dashed var(--ink); padding-top: 12px;
}
.poll__footer em { font-style: italic; font-weight: 600; }
.poll__reset {
  background: none; border: 0; color: var(--red);
  font: inherit; cursor: pointer; text-decoration: underline;
}
/* ===== Gauges, counters, ticker, landmarks ===== */

.extras-grid {
  display: grid;
  grid-template-columns: 1.2fr 1fr 1fr;
  gap: 16px;
  margin-top: 28px;
}
@media (max-width: 900px) { .extras-grid { grid-template-columns: 1fr; } }

.gauge {
  border: 3px solid var(--ink);
  background: var(--paper);
  padding: 16px;
  box-shadow: 6px 6px 0 var(--ink);
  display: flex; flex-direction: column; align-items: center;
}
.gauge__svg { width: 100%; max-width: 240px; }
.gauge__lbl {
  text-align: center; margin-top: 8px;
}
.gauge__lbl b {
  display: block;
  font-size: 18px; line-height: 1; font-weight: 800;
}
.gauge__lbl span {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 11px; letter-spacing: 0.14em; color: var(--ink-2);
}
.gauge__lbl em {
  display: block; font-style: italic; font-size: 13px;
  font-family: 'Special Elite', Georgia, serif;
  color: var(--red);
  margin-top: 4px;
}
.gauge__scale {
  display: flex; justify-content: space-between;
  width: 100%; max-width: 240px;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 10px; letter-spacing: 0.08em;
  color: var(--ink-2);
  margin-top: 4px;
}

.bcount {
  border: 3px solid var(--ink);
  background: var(--ink);
  color: var(--yellow);
  padding: 18px 16px;
  box-shadow: 6px 6px 0 var(--red);
  display: flex; flex-direction: column; gap: 10px; align-items: center;
}
.bcount__lbl { text-align: center; }
.bcount__lbl b {
  display: block; font-size: 18px; color: var(--paper);
  font-weight: 800;
}
.bcount__lbl span {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 11px; letter-spacing: 0.14em; color: var(--yellow);
}
.bcount__digits {
  display: flex; gap: 4px;
}
.bcount__digit {
  width: 26px; height: 36px;
  background: var(--paper);
  color: var(--ink);
  font-family: 'JetBrains Mono', monospace;
  font-weight: 800;
  font-size: 26px;
  overflow: hidden;
  position: relative;
  border: 1px solid var(--ink-2);
}
.bcount__digit-inside {
  display: flex; flex-direction: column;
  transition: transform .6s cubic-bezier(.22,.61,.36,1);
}
.bcount__digit-inside span {
  height: 36px; line-height: 36px; text-align: center;
}
.bcount__sub {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 11px; color: rgba(244,234,213,0.7);
  text-align: center;
}

.chai-idx {
  border: 3px solid var(--ink);
  background: var(--paper);
  padding: 16px;
  box-shadow: 6px 6px 0 var(--ink);
}
.chai-idx__hd {
  display: flex; align-items: baseline; justify-content: space-between;
  border-bottom: 2px solid var(--ink);
  padding-bottom: 8px; margin-bottom: 8px;
}
.chai-idx__hd > span:first-child {
  font-family: 'Mukta', serif; font-weight: 800; font-size: 18px;
}
.chai-idx__hd > span:last-child {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 11px; letter-spacing: 0.14em; color: var(--red);
}
.chai-idx__t { width: 100%; border-collapse: collapse; }
.chai-idx__t td {
  padding: 6px 4px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  border-bottom: 1px dashed rgba(22,20,16,0.2);
}
.chai-idx__t .dn {
  font-family: 'Mukta', serif; font-weight: 800; font-size: 16px;
}
.chai-idx__t .r { text-align: right; font-family: 'JetBrains Mono', monospace; font-weight: 700; }
.chai-idx__t .tr { width: 24px; text-align: center; font-family: 'Anton', Impact, sans-serif; }
.chai-idx__t .tr--up { color: var(--red); }
.chai-idx__t .tr--down { color: var(--green); }
.chai-idx__t .tr--flat { color: var(--ink-2); }
/* App-shell extras: hero side panels, about grid, section-note */

.hero-stat {
  border: 4px solid var(--ink);
  background: var(--paper);
  padding: 18px;
  box-shadow: 6px 6px 0 var(--ink);
  display: flex; flex-direction: column; gap: 4px;
}
.hero-stat--alt { background: var(--yellow); }
.hero-stat__lbl {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.14em; font-size: 11px; color: var(--ink-2);
  text-transform: uppercase;
}
.hero-stat__big {
  font-family: 'Mukta', serif; font-weight: 800;
  font-size: 44px; line-height: 1.3;
  padding-bottom: 2px;
}
.hero-stat__sm {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px; color: var(--ink-2); font-style: italic;
}

.hero-pull {
  border: 4px solid var(--ink);
  background: var(--ink);
  color: var(--paper);
  padding: 22px;
  box-shadow: 6px 6px 0 var(--red);
}
.hero-pull__quote {
  font-size: 36px; line-height: 1.4; font-weight: 800;
  color: var(--yellow);
  padding-bottom: 4px;
}
.hero-pull__attr {
  margin-top: 10px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px; opacity: 0.8;
  border-top: 1px dashed rgba(244,234,213,0.3);
  padding-top: 8px;
}

.section-note {
  margin-top: 14px;
  text-align: center;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px;
  color: var(--ink-2);
  font-style: italic;
}
.section-note b { font-style: normal; background: var(--yellow); padding: 1px 6px; }

.about-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) { .about-grid { grid-template-columns: 1fr; } }

.about-card {
  padding: 22px;
}
.about-card h3 {
  font-size: 26px; line-height: 1.4;
  margin-bottom: 10px;
  padding-bottom: 2px;
}
.about-card p {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; line-height: 1.6;
}
.about-card ul { list-style: none; padding: 0; }
.about-card li {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  padding: 4px 0;
  line-height: 1.5;
  border-bottom: 1px dashed currentColor;
}
.about-card li:last-child { border-bottom: 0; }

/* ===== Additional layout pieces ===== */
.hero__stamps {
  margin-top: 18px;
  display: flex; gap: 10px; flex-wrap: wrap;
}
.hero-stat__split {
  display: flex; justify-content: space-between; align-items: flex-end;
}
.hero-stat__split > div {
  display: flex; flex-direction: column;
}
.flash-toast {
  position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%);
  background: var(--ink); color: var(--paper);
  padding: 12px 20px; border: 3px solid var(--ink);
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.06em; font-size: 14px; text-transform: uppercase;
  z-index: 9999;
  box-shadow: 4px 4px 0 var(--yellow);
  animation: toastIn .25s ease;
}
@keyframes toastIn { from { transform: translate(-50%, 16px); opacity: 0; } to { transform: translate(-50%, 0); opacity: 1; } }

/* ---- Emergency Directory ---- */
.emerg-dir {
  padding: 24px;
  background: var(--paper);
}
.emerg-dir__hd {
  display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-bottom: 20px;
}
.emerg-dir__hd b { font-family: 'Mukta', serif; font-weight: 800; font-size: 20px; }
.emerg-dir__hd span { font-family: 'Anton', Impact, sans-serif; letter-spacing: 0.1em; font-size: 13px; }
.emerg-dir__hd small { font-family: 'Special Elite', Georgia, serif; font-size: 12px; color: var(--ink-2); font-style: italic; display: block; width: 100%; margin-top: -6px; }
.emerg-dir__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
@media (max-width: 900px) { .emerg-dir__grid { grid-template-columns: repeat(2, 1fr); } }
.emerg-dir__card {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; padding: 16px 10px;
  border: 3px solid var(--ink); background: var(--paper);
  box-shadow: 4px 4px 0 var(--ink);
  text-decoration: none; color: var(--ink);
  transition: transform .15s, box-shadow .15s;
}
.emerg-dir__card:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ink); }
.emerg-dir__card--red { background: var(--red); color: var(--paper); }
.emerg-dir__num {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 28px; letter-spacing: 0.05em; line-height: 1;
}
.emerg-dir__svc {
  font-family: 'Mukta', serif; font-weight: 700;
  font-size: 12px; margin-top: 4px; text-transform: uppercase; letter-spacing: 0.06em;
}
.emerg-dir__mr { font-family: 'Tiro Devanagari Marathi', serif; font-size: 12px; opacity: 0.7; margin-top: 2px; }
.emerg-dir__note {
  margin-top: 16px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px; color: var(--ink-2); font-style: italic;
  border-top: 1px dashed var(--ink-2); padding-top: 10px;
}

/* ---- Fun Poll (hero card) ---- */
.hero-stat--poll {
  background: var(--ink);
  color: var(--paper);
  border: 4px solid var(--ink);
  padding: 16px;
  box-shadow: 6px 6px 0 var(--red);
  display: flex; flex-direction: column; gap: 8px;
}
.hero-stat--poll .hero-stat__lbl { color: var(--yellow); }
.fun-poll__q {
  font-family: 'Mukta', serif; font-weight: 800;
  font-size: 14px; line-height: 1.4;
  color: var(--paper);
  padding-bottom: 4px;
  border-bottom: 1px dashed rgba(244,234,213,0.25);
}
.fun-poll__opt {
  display: block; width: 100%;
  text-align: left; padding: 9px 12px;
  border: 2px solid rgba(244,234,213,0.35);
  background: transparent; color: var(--paper);
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px; line-height: 1.4;
  cursor: pointer;
  transition: background .12s, border-color .12s;
}
.fun-poll__opt:hover {
  background: var(--yellow);
  color: var(--ink);
  border-color: var(--yellow);
}
.fun-poll__voted-msg {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 11px; font-style: italic;
  color: var(--yellow); line-height: 1.5;
  padding: 6px 0;
  border-bottom: 1px dashed rgba(244,234,213,0.25);
}
.fun-poll__result {
  display: grid; grid-template-columns: 1fr auto;
  align-items: center;
  padding: 6px 8px;
  position: relative; overflow: hidden;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 11px; color: var(--paper);
}
.fun-poll__result.leader { color: var(--yellow); }
.fun-poll__result.mine .fun-poll__result-label::after { content: ' ←'; color: var(--red); }
.fun-poll__result-bar {
  position: absolute; top: 0; left: 0; height: 100%;
  background: rgba(244,234,213,0.1); z-index: 0;
  transition: width .5s ease;
}
.fun-poll__result-label { position: relative; z-index: 1; line-height: 1.3; }
.fun-poll__result-pct {
  position: relative; z-index: 1;
  font-family: 'Anton', Impact, sans-serif;
  font-size: 14px; min-width: 36px; text-align: right;
}
.fun-poll__tally {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 10px; opacity: 0.55; margin-top: 2px;
}
.fun-poll__prev {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(245,197,24,0.35);
}
.fun-poll__prev-lbl {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 9px; letter-spacing: 0.1em;
  opacity: 0.5; margin-bottom: 4px;
}
.fun-poll__prev-q {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 11px; opacity: 0.6; margin-bottom: 4px;
}
.fun-poll__prev-winner {
  font-family: 'Mukta', serif; font-weight: 800;
  font-size: 14px; color: var(--yellow); line-height: 1.3;
}
.fun-poll__prev-votes {
  font-family: 'Special Elite', serif;
  font-size: 10px; opacity: 0.45; margin-top: 2px;
}
.fun-poll__empty-msg {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px;
  line-height: 1.6;
  opacity: 0.8;
  padding: 8px 0 4px;
}
.fun-poll__empty-msg a {
  color: var(--yellow);
  text-decoration: underline;
}

/* ---- Emergency dir spacing ---- */
.emerg-dir--mt { margin-top: 20px; }

/* ---- Peth Guide ---- */

.peth-search-wrap {
  margin-bottom: 20px;
}
.peth-search {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  background: var(--paper);
  max-width: 600px;
}
.peth-search__icon { font-size: 18px; flex-shrink: 0; opacity: 0.6; }
.peth-search__input {
  flex: 1;
  border: none;
  background: transparent;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 15px;
  color: var(--ink);
  outline: none;
}
.peth-search__input::placeholder { opacity: 0.45; }
.peth-search__clear {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 14px;
  opacity: 0.5;
  padding: 2px 6px;
  color: var(--ink);
}
.peth-search__clear:hover { opacity: 1; }

.peth-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 28px;
}
.peth-cat {
  border: 2px solid var(--ink);
  background: var(--paper);
  color: var(--ink);
  padding: 5px 14px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
  white-space: nowrap;
}
.peth-cat:hover, .peth-cat.on {
  background: var(--ink);
  color: var(--paper);
}

.peth-card {
  margin-bottom: 20px;
  padding: 0;
  overflow: hidden;
}
.peth-card__hd {
  padding: 18px 22px 14px;
  border-bottom: 2px solid var(--ink);
  background: var(--yellow);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.peth-card__share {
  flex-shrink: 0;
  margin-top: 4px;
  padding: 5px 10px;
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  background: var(--ink);
  color: var(--yellow);
  border: none;
  cursor: pointer;
  transition: background .12s, color .12s;
}
.peth-card__share:hover {
  background: var(--red);
  color: var(--paper);
}
.peth-card__name {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 26px;
  letter-spacing: 0.02em;
  line-height: 1.1;
}
.peth-card__name-mr {
  font-family: 'Mukta', serif;
  font-weight: 800;
  font-size: 18px;
  margin-left: 10px;
  opacity: 0.7;
}
.peth-card__tagline {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  margin-top: 4px;
  font-style: italic;
  opacity: 0.8;
}
.peth-card__cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}
.peth-card__cat {
  background: var(--ink);
  color: var(--paper);
  font-family: 'JetBrains Mono', monospace;
  font-size: 11px;
  padding: 3px 9px;
  letter-spacing: 0.04em;
}
.peth-card__body {
  padding: 18px 22px 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
}
@media (max-width: 680px) {
  .peth-card__body { grid-template-columns: 1fr; }
}
.peth-card__section { grid-column: 1; }
.peth-card__section--tip {
  grid-column: 2;
  background: var(--paper-2);
  padding: 14px 16px;
  border-left: 4px solid var(--red);
}
@media (max-width: 680px) {
  .peth-card__section, .peth-card__section--tip { grid-column: 1; }
  .peth-card__section--tip { border-left: none; border-top: 4px solid var(--red); }
}
.peth-card__section-lbl {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 10px;
  letter-spacing: 0.1em;
  opacity: 0.5;
  margin-bottom: 6px;
}
.peth-card__section p {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px;
  line-height: 1.6;
}
.peth-card__meta {
  grid-column: 1 / -1;
  display: flex;
  gap: 24px;
  flex-wrap: wrap;
  padding-top: 12px;
  border-top: 1px solid var(--ink);
  margin-top: 4px;
}
.peth-card__meta-item {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.peth-card__meta-lbl {
  font-family: 'JetBrains Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 0.5;
}
.peth-empty {
  padding: 32px 0;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 15px;
  opacity: 0.7;
}

/* ---- Rickshaw Calculator Placeholder ---- */
.rick-calc-placeholder {
  padding: 32px;
  background: var(--paper);
  text-align: center;
}
.rick-calc-placeholder__inner { max-width: 560px; margin: 0 auto; }
.rick-calc-placeholder h3 { font-size: 26px; margin: 10px 0 4px; }
.rick-calc-placeholder p.en {
  font-family: 'Anton', Impact, sans-serif;
  letter-spacing: 0.08em; font-size: 13px; margin-bottom: 12px;
}
.rick-calc-placeholder__sub {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; color: var(--ink-2); margin-bottom: 20px; line-height: 1.6;
}
.rick-calc-placeholder__fields {
  display: flex; gap: 10px; align-items: center;
  justify-content: center; flex-wrap: wrap;
  opacity: 0.45; pointer-events: none;
}
.rick-calc-placeholder__fields input {
  border: 2px solid var(--ink); padding: 10px 14px;
  font-family: 'Special Elite', Georgia, serif; font-size: 14px;
  background: var(--paper); color: var(--ink); width: 180px;
}
.rick-calc-placeholder__note {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px; color: var(--ink-2); font-style: italic;
  margin-top: 18px;
  border-top: 1px dashed var(--ink-2); padding-top: 12px;
}

/* ---- Daily Paaty ---- */
.daily-pati { margin-top: 12px; }
.daily-pati__board {
  padding: 28px 32px;
  background: var(--ink); color: var(--paper);
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
  max-width: 760px;
}
.daily-pati__board:hover { transform: translate(-3px,-3px); box-shadow: 9px 9px 0 var(--red); }
.daily-pati__mr {
  font-family: 'Mukta', serif; font-weight: 800;
  font-size: 26px; line-height: 1.4;
  color: var(--yellow); margin-bottom: 8px;
}
.daily-pati__en {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 16px; line-height: 1.6; color: var(--paper);
}
.daily-pati__sig {
  margin-top: 14px;
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px; opacity: .6;
  border-top: 1px dashed rgba(244,234,213,0.25); padding-top: 10px;
}

/* ---- Feedback form ---- */
.feedback-form {
  padding: 28px 32px;
  background: var(--paper);
}
.feedback-form__hd { margin-bottom: 22px; }
.feedback-form__hd h3 { font-size: 24px; margin: 8px 0 4px; }
.feedback-form__hd p { font-family: 'Special Elite', Georgia, serif; font-size: 14px; color: var(--ink-2); }
.feedback-form__body { display: flex; flex-direction: column; gap: 16px; }
.feedback-form__row { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 640px) { .feedback-form__row { grid-template-columns: 1fr; } }
.feedback-form__field { display: flex; flex-direction: column; gap: 6px; }
.feedback-form__field label {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase;
}
.feedback-form__opt { font-family: 'Special Elite', Georgia, serif; font-size: 11px; opacity: .6; text-transform: none; letter-spacing: 0; font-weight: 400; }
.feedback-form__field input,
.feedback-form__field textarea {
  border: 2px solid var(--ink); padding: 10px 14px;
  font-family: 'Special Elite', Georgia, serif; font-size: 14px;
  background: var(--paper); color: var(--ink);
  resize: vertical;
}
.feedback-form__field input:focus,
.feedback-form__field textarea:focus {
  outline: none; border-color: var(--red); box-shadow: 3px 3px 0 var(--red);
}
.feedback-form__chips { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 4px; }
.feedback-form__chip {
  display: flex; align-items: center; gap: 6px;
  padding: 7px 14px;
  border: 2px solid var(--ink); cursor: pointer;
  font-family: 'Special Elite', Georgia, serif; font-size: 13px;
  transition: background .1s;
}
.feedback-form__chip:has(input:checked) { background: var(--yellow); }
.feedback-form__chip input { display: none; }
.feedback-form__actions { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.feedback-form__status {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; font-style: italic;
}

/* ---- Fixed feedback button ---- */
.feedback-fab {
  position: fixed; bottom: 24px; right: 24px; z-index: 1000;
  display: flex; align-items: center; gap: 8px;
  padding: 10px 18px;
  background: var(--ink); color: var(--paper);
  border: 3px solid var(--ink);
  box-shadow: 4px 4px 0 var(--yellow);
  font-family: 'Anton', Impact, sans-serif;
  font-size: 13px; letter-spacing: 0.08em;
  cursor: pointer;
  transition: transform .12s, box-shadow .12s;
}
.feedback-fab:hover { transform: translate(-2px,-2px); box-shadow: 6px 6px 0 var(--yellow); }
.feedback-fab__lbl { text-transform: uppercase; }

/* ---- Index tracker cards ---- */
.extras-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
}
@media (max-width: 900px) { .extras-grid { grid-template-columns: 1fr; } }

.idx-card {
  padding: 22px;
  background: var(--paper);
  display: flex; flex-direction: column; gap: 14px;
}
.idx-card__hd { display: flex; flex-direction: column; gap: 4px; }
.idx-card__hd b { font-family: 'Mukta', serif; font-weight: 800; font-size: 22px; }
.idx-card__en { font-family: 'Anton', Impact, sans-serif; letter-spacing: 0.1em; font-size: 11px; }
.idx-card__q {
  font-family: 'Mukta', serif; font-weight: 700;
  font-size: 15px; margin: 0;
}
.idx-card__btns { display: flex; gap: 8px; flex-wrap: wrap; }
.idx-card__btns--2 .idx-btn { flex: 1; }
.idx-card__tally {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px; color: var(--ink-2); font-style: italic;
  border-top: 1px dashed var(--ink-2); padding-top: 8px;
  min-height: 20px;
}
.idx-card--muted { opacity: .7; }
.idx-card__placeholder {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 14px; color: var(--ink-2); line-height: 1.6;
}

.idx-btn {
  padding: 9px 14px;
  border: 2px solid var(--ink); background: var(--paper);
  font-family: 'Special Elite', Georgia, serif; font-size: 13px;
  cursor: pointer;
  transition: background .12s, transform .1s;
}
.idx-btn:hover { background: var(--yellow); transform: translate(-1px,-1px); }
.idx-btn--hot  { border-color: var(--red); }
.idx-btn--hot:hover  { background: #fce8e8; }
.idx-btn--fatal { background: var(--ink); color: var(--paper); border-color: var(--ink); }
.idx-btn--fatal:hover { background: #333; }
.idx-btn--yes { background: var(--yellow); border-color: var(--ink); font-weight: 700; }
.idx-btn--no  { background: var(--paper); }

.idx-voted-msg {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px; font-style: italic; color: var(--ink-2);
  padding: 8px 0;
}

/* Gauge verdict line */
.gauge--misal { display: flex; flex-direction: column; align-items: center; }
.gauge__verdict {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 13px; font-style: italic; color: var(--ink-2);
  text-align: center; margin-top: -6px;
  min-height: 18px;
}

/* Bakarwadi count display */
.bwadi-count { text-align: center; padding: 8px 0; }
.bwadi-count__num {
  font-family: 'Anton', Impact, sans-serif;
  font-size: 56px; line-height: 1; letter-spacing: -0.02em;
}
.bwadi-count__lbl {
  font-family: 'Special Elite', Georgia, serif;
  font-size: 12px; color: var(--ink-2); margin-top: 4px;
}
