@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400italic,700,900&display=swap");

:root{
  --green:#087a0d;
  --green-dark:#055b0a;
  --yellow:#fffb00;
  --red:#ff2a1f;
  --white:#fff;
  --ink:#121812;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:#f4f5f2;
  color:var(--ink);
  font-family:"Source Sans Pro",Arial,sans-serif;
}
img{max-width:100%;height:auto}
a{color:inherit}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.hero{
  width:min(1220px,calc(100% - 28px));
  min-height:260px;
  margin:14px auto 12px;
  padding:25px 20px 18px;
  border:2px dashed var(--green);
  border-radius:11px;
  background:var(--yellow);
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  overflow:hidden;
}
.hero-word{
  position:absolute;
  top:15px;
  color:var(--red);
  font-size:clamp(1.45rem,2.6vw,2rem);
  font-weight:700;
}
.hero-maa{left:18px}
.hero-shri{left:50%;transform:translateX(-50%)}
.animated-train{
  display:block;
  width:min(640px,82vw);
  aspect-ratio:640/136;
  object-fit:contain;
  image-rendering:auto;
}
.brand-hi{
  margin-top:12px;
  color:var(--red);
  font-weight:700;
  line-height:1;
  font-size:clamp(2.7rem,6vw,5rem);
}
.green-shell{
  width:min(1220px,calc(100% - 28px));
  margin:0 auto;
  padding:clamp(44px,7vw,92px) clamp(18px,6vw,78px);
  background:var(--green);
  border-radius:8px 8px 0 0;
}
.yellow-banner{
  padding:18px 20px;
  background:var(--yellow);
  color:var(--red);
  text-align:center;
}
.brand-en{
  margin:0;
  font-weight:800;
  font-style:italic;
  font-size:clamp(1.8rem,4vw,3rem);
  line-height:1.1;
}
.yellow-banner h1{
  margin:5px 0 0;
  font-size:clamp(1.25rem,2.7vw,2rem);
  line-height:1.15;
  font-style:italic;
}
.tagline{
  margin:3px 0 0;
  font-size:clamp(1rem,2vw,1.45rem);
  font-style:italic;
  font-weight:700;
}
.home-intro{
  max-width:820px;
  margin:10px auto 0;
  color:#74160f;
  font:500 .96rem/1.5 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.latest-area{margin-top:18px}
.latest-grid{
  max-width:850px;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px minmax(0,1fr);
  gap:8px;
  align-items:stretch;
}
.result-box{
  background:var(--yellow);
  color:var(--red);
  border:2px solid var(--red);
}
.result-box h3{
  margin:0;
  padding:10px;
  text-align:center;
  border-bottom:1px solid var(--red);
  font-size:1.18rem;
}
.result-box table,
.panel-table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.result-box th,
.result-box td,
.panel-table th,
.panel-table td{
  padding:12px 8px;
  text-align:center;
  border:1px solid var(--red);
  vertical-align:middle;
  font-size:1rem;
}
.kuber-wrap{
  margin:0;
  background:#5a0d15;
  overflow:hidden;
  min-height:245px;
}
.kuber-wrap img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.archive{margin-top:26px}
.archive-title-box{
  background:var(--yellow);
  color:var(--red);
  padding:16px;
  text-align:center;
  margin-bottom:15px;
}
.archive-title-box h2{
  margin:0;
  font-size:clamp(1.7rem,3.4vw,2.6rem);
  font-style:italic;
}
.archive-title-box p{
  margin:4px 0 0;
  color:#7b1d15;
  font-family:"Source Sans Pro",Arial,sans-serif;
}
.archive-links{
  display:grid;
  gap:14px;
}
.archive-links a{
  display:block;
  padding:13px 18px;
  min-height:56px;
  background:var(--yellow);
  color:var(--red);
  text-align:center;
  text-decoration:none;
  font-size:clamp(1.15rem,2.7vw,1.6rem);
  font-weight:700;
  font-style:italic;
  border:1px solid rgba(255,42,31,.25);
  transition:transform .15s ease,box-shadow .15s ease;
}
.archive-links a:hover,
.archive-links a:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  outline:2px solid #fff;
  outline-offset:2px;
}
.seo-copy{
  margin-top:28px;
  padding:22px;
  background:#fffef0;
  border-radius:6px;
  font-family:"Source Sans Pro",Arial,sans-serif;
}
.seo-copy h2{margin-top:0;color:var(--green-dark)}
.site-footer{
  width:min(1220px,calc(100% - 28px));
  margin:0 auto 25px;
  padding:22px 15px;
  background:#064a0a;
  color:white;
  text-align:center;
  border-radius:0 0 8px 8px;
  font:500 .9rem/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.site-footer p{margin:4px 0}

.panel-page{
  background:#fffef0;
  border-radius:6px;
  overflow:hidden;
}
.breadcrumbs{
  padding:12px 18px;
  background:#f7f3c5;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  font:500 .9rem/1.4 system-ui,-apple-system,"Segoe UI",sans-serif;
}
.panel-head{
  padding:24px;
  text-align:center;
  background:var(--yellow);
  color:var(--red);
}
.panel-head h1{
  margin:5px 0 0;
  font-size:clamp(2rem,4vw,3rem);
}
.panel-head p:last-child{
  color:#702018;
  font-family:"Source Sans Pro",Arial,sans-serif;
}
.panel-table-wrap{overflow-x:auto;padding:22px}
.panel-table th{background:#fff900;color:var(--red)}
.panel-table td{background:white;border-color:#ddd}
.back-home{text-align:center;padding:0 22px 24px}
.back-home a{
  display:inline-block;
  padding:10px 14px;
  background:var(--green);
  color:white;
  text-decoration:none;
  border-radius:5px;
  font-family:"Source Sans Pro",Arial,sans-serif;
}
.simple-page{
  width:min(800px,calc(100% - 28px));
  margin:60px auto;
  padding:35px;
  background:#fff;
  border-radius:8px;
  font-family:"Source Sans Pro",Arial,sans-serif;
}
.simple-page h1{color:var(--green-dark)}

@media (max-width:760px){
  .hero{min-height:215px;padding-top:40px}
  .hero-shri{left:auto;right:18px;transform:none}
  .green-shell{padding:30px 12px}
  .latest-grid{grid-template-columns:1fr;max-width:560px}
  .kuber-wrap{width:120px;height:170px;min-height:0;margin:0 auto}
  .result-box:first-child{order:1}
  .kuber-wrap{order:2}
  .result-box:last-child{order:3}
  .result-box th,.result-box td{padding:10px 5px;font-size:.92rem}
}
@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important;transition:none!important}
}


/* Exact-feel weekly chart page */
.legacy-chart-body{
  margin:0;
  background:#f4f4f4;
  font-family:"Source Sans Pro",Arial,sans-serif;
  color:#ff2b20;
}
.legacy-chart-shell{
  width:min(1220px,calc(100% - 28px));
  min-height:100vh;
  margin:0 auto;
  padding:38px 98px 80px;
  background:#087a0d;
  border:2px dashed #ff2b20;
  border-bottom:0;
}
.legacy-chart-top{
  min-height:62px;
  padding:10px 20px;
  background:#fffb00;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
}
.legacy-back{
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
.legacy-back-art{
  display:block;
  width:184px;
  height:auto;
  max-width:100%;
}
.legacy-top-title{
  font-size:clamp(1.45rem,3vw,2.25rem);
  font-weight:700;
  font-style:italic;
}
.legacy-chart-box{
  width:min(620px,100%);
  margin:18px auto 0;
}
.legacy-chart-box h1{
  margin:0;
  padding:5px;
  text-align:center;
  background:#fffb00;
  border:2px solid #ff2b20;
  font-size:1.25rem;
  line-height:1.25;
}
.legacy-chart-intro{
  margin:0;
  padding:8px 10px;
  background:#fffb00;
  border-left:2px solid #ff2b20;
  border-right:2px solid #ff2b20;
  text-align:center;
  color:#9a271f;
  font-size:.9rem;
}
.legacy-table-scroll{
  width:100%;
  overflow-x:hidden;
}
.legacy-chart-table{
  width:100%;
  min-width:0;
  max-width:100%;
  table-layout:fixed;
  border-collapse:collapse;
  background:#fffb00;
  color:#ff2b20;
}
.legacy-chart-table th,
.legacy-chart-table td{
  border:2px solid #ff2b20;
  padding:4px 2px;
  text-align:center;
  vertical-align:middle;
  overflow:hidden;
}
.legacy-chart-table th{
  font-size:clamp(.72rem,1.8vw,1.02rem);
  font-weight:700;
}
.legacy-chart-table th:first-child,
.legacy-date-cell{
  width:17%;
}
.legacy-chart-table th:not(:first-child),
.legacy-number-cell{
  width:11.857%;
}
.legacy-date-cell{
  font-size:clamp(.63rem,1.75vw,.93rem);
  line-height:1.2;
  overflow-wrap:anywhere;
}
.legacy-date-cell span{display:inline-block;padding:1px 0}
.legacy-number-cell{
  min-height:77px;
}
.legacy-number{
  min-height:70px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
  align-items:center;
  justify-items:center;
  gap:2px;
  font-size:clamp(.62rem,1.7vw,.95rem);
  line-height:1.08;
  min-width:0;
}
.legacy-panel{
  display:flex;
  flex-direction:column;
  gap:3px;
}
.legacy-panel>span{display:block}
.legacy-jodi{
  font-size:1.03rem;
  font-weight:400;
}
.legacy-jodi.is-highlight{font-weight:700;text-decoration:underline;text-decoration-thickness:1px}
.legacy-star{font-size:1.15rem}
@media(max-width:800px){
  .legacy-chart-shell{
    width:100%;
    max-width:100%;
    padding:14px 4px 55px;
    overflow-x:hidden;
  }
  .legacy-chart-top{
    justify-content:flex-start;
    flex-wrap:wrap;
    padding:8px 6px;
  }
  .legacy-back-art{width:145px}
  .legacy-top-title{
    flex:1 1 170px;
    font-size:clamp(1.05rem,5vw,1.5rem);
  }
  .legacy-chart-box{
    width:100%;
    max-width:100%;
    margin-top:12px;
  }
  .legacy-chart-box h1{
    font-size:clamp(.95rem,4vw,1.2rem);
    padding:4px 2px;
  }
  .legacy-chart-table th,
  .legacy-chart-table td{
    border-width:1.5px;
    padding:2px 1px;
  }
  .legacy-chart-table th{
    font-size:clamp(.58rem,2.7vw,.78rem);
  }
  .legacy-date-cell{
    font-size:clamp(.54rem,2.55vw,.72rem);
    line-height:1.12;
  }
  .legacy-number{
    min-height:58px;
    gap:1px;
    font-size:clamp(.54rem,2.45vw,.72rem);
    line-height:1.02;
  }
  .legacy-panel{gap:1px}
  .legacy-jodi{font-size:clamp(.58rem,2.6vw,.76rem)}
  .legacy-star{font-size:.9rem}
}


/* Chart pages: use the same top header as homepage */
.chart-page-body{
  background:#e9e9e9;
}
.chart-hero{
  margin-bottom:12px;
}
.chart-page-body .hero{
  width:min(1220px,calc(100% - 28px));
}
.chart-page-body .legacy-chart-shell{
  min-height:auto;
  margin-top:0;
}
@media(max-width:800px){
  .chart-page-body .hero{
    width:calc(100% - 8px);
    margin:4px auto 10px;
  }
  .chart-page-body .legacy-chart-shell{
    margin-top:0;
  }
}


/* PWA install popup */
.pwa-install-popup{
  position:fixed;
  left:50%;
  bottom:18px;
  z-index:99999;
  width:min(560px,calc(100% - 24px));
  transform:translate(-50%,22px);
  opacity:0;
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  padding:13px 44px 13px 13px;
  background:#fff900;
  color:#c81e17;
  border:2px solid #087b15;
  border-radius:10px;
  box-shadow:0 14px 45px rgba(0,0,0,.28);
  font-family:"Source Sans Pro",Arial,sans-serif;
  transition:opacity .18s ease,transform .18s ease;
}
.pwa-install-popup[hidden]{display:none}
.pwa-install-popup.is-visible{
  opacity:1;
  transform:translate(-50%,0);
}
.pwa-install-popup img{
  width:52px;
  height:52px;
  border-radius:9px;
  object-fit:cover;
}
.pwa-copy{min-width:0}
.pwa-copy strong{
  display:block;
  font-size:1.05rem;
  line-height:1.15;
}
.pwa-copy span{
  display:block;
  margin-top:3px;
  color:#6e1915;
  font-size:.86rem;
  line-height:1.25;
}
.pwa-install-btn{
  border:0;
  border-radius:7px;
  padding:9px 15px;
  background:#087b15;
  color:#fff;
  font:700 .9rem/1 "Source Sans Pro",Arial,sans-serif;
  cursor:pointer;
}
.pwa-close{
  position:absolute;
  top:4px;
  right:7px;
  width:30px;
  height:30px;
  padding:0;
  border:0;
  background:transparent;
  color:#8a201a;
  font:700 24px/30px Arial,sans-serif;
  cursor:pointer;
}
@media(max-width:560px){
  .pwa-install-popup{
    grid-template-columns:44px minmax(0,1fr);
    gap:9px;
    padding:11px 38px 11px 11px;
  }
  .pwa-install-popup img{width:44px;height:44px}
  .pwa-install-btn{
    grid-column:1/-1;
    width:100%;
  }
}


/* v5.5 slightly larger result numbers */

/* Homepage: enlarge only the result-number column, not date/time. */
.result-box tbody td:first-child{
  font-size:1.14rem;
  font-weight:700;
}

/* Weekly chart pages: make panel digits and center jodi a little larger. */
.legacy-number{
  font-size:clamp(.69rem,1.85vw,1.04rem);
}
.legacy-jodi{
  font-size:clamp(.76rem,1.95vw,1.12rem);
  font-weight:600;
}

@media(max-width:800px){
  .result-box tbody td:first-child{
    font-size:1.02rem;
  }
  .legacy-number{
    font-size:clamp(.60rem,2.62vw,.79rem);
  }
  .legacy-jodi{
    font-size:clamp(.64rem,2.78vw,.84rem);
  }
}
