:root{
  --bg:#fff8ec; --card:#ffffff; --ink:#33241a; --muted:#7a6a5c;
  --maroon:#7b1e1e; --maroon2:#5d1414; --saffron:#f39c12; --orange:#ef7d1a;
  --goldline:#e8c87a; --line:#f0e2c8; --green:#1e7a46;
}
*{box-sizing:border-box}
html{line-break:strict}
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:"Mukta","Noto Sans Devanagari","Segoe UI",system-ui,sans-serif;
  line-height:1.7; font-size:16.5px;
}
h1,h2,h3{font-family:"Baloo 2","Tiro Devanagari Hindi",sans-serif; text-wrap:balance; line-height:1.35; margin:0}
.hi{font-family:"Tiro Devanagari Hindi","Noto Serif Devanagari",serif}
header.site{
  background:linear-gradient(180deg,var(--maroon),var(--maroon2));
  padding:12px 16px; text-align:center; border-bottom:3px solid var(--saffron);
}
header.site .brand{color:#ffe9b0; text-decoration:none; font-family:"Baloo 2",sans-serif; font-weight:700; font-size:21px; letter-spacing:.02em}
header.site .brand .hi{color:#ffd98a; font-size:17px}
header.site small{display:block; color:#f3cf9a; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; margin-top:1px}
.wrap{max-width:680px; margin:0 auto; padding:20px 16px 52px}
.hero{text-align:center; padding:14px 0 2px}
.hero .mark{display:flex; justify-content:center; margin-bottom:8px}
h1.hero-title{font-size:29px; color:var(--maroon2); margin:4px 0 6px}
h1.hero-title .hi{color:var(--orange); font-size:25px}
.sub{color:var(--muted); font-size:15.5px; margin:0 auto 6px; max-width:34em}
.badges{display:flex; justify-content:center; gap:8px; flex-wrap:wrap; margin:12px 0 2px}
.badges span{background:#fff; border:1px solid var(--line); border-radius:999px; padding:4px 12px; font-size:13px; color:var(--maroon); font-weight:600}
.todayline{text-align:center; color:var(--muted); font-size:13.5px; margin:12px 0 0}
.todayline b{color:var(--maroon)}
.card{background:var(--card); border:1px solid var(--line); border-radius:16px; padding:20px; margin:16px 0; box-shadow:0 2px 10px rgba(123,30,30,.06)}
.card.hl{border:2px solid var(--saffron)}
.label{color:var(--orange); font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; margin:0 0 8px}
p{margin:0 0 12px}
.small{font-size:13px; color:var(--muted)}
.btn{
  display:block; width:100%; text-align:center; border:none; cursor:pointer;
  background:linear-gradient(180deg,#f5a623,var(--orange)); color:#fff;
  font-weight:700; font-size:17.5px; padding:15px 18px; border-radius:999px;
  text-decoration:none; font-family:"Baloo 2",sans-serif; line-height:1.35;
  box-shadow:0 3px 8px rgba(239,125,26,.35);
}
.btn:active{transform:translateY(1px)}
.btn.maroon{background:linear-gradient(180deg,#93302a,var(--maroon)); box-shadow:0 3px 8px rgba(123,30,30,.3)}
.btn.ghost{background:#fff; color:var(--maroon); border:1.5px solid var(--maroon); box-shadow:none}
.field{margin:16px 0}
.field label{display:block; font-size:14.5px; font-weight:600; color:var(--maroon2); margin-bottom:8px}
.field label .opt{color:var(--muted); font-weight:400; font-size:13px}
input[type="date"],input[type="text"]{
  width:100%; background:#fff; color:var(--ink); border:1.5px solid var(--line);
  border-radius:12px; padding:13px 14px; font-size:17px; font-family:inherit;
}
.note{font-size:12.5px; color:var(--muted); text-align:center; margin-top:12px}
.weave{display:none; text-align:center; padding:24px 0 4px}
.weave.on{display:block}
.weave .spin{display:inline-block; animation:spin 1.4s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.kicker{color:var(--orange); font-weight:700; letter-spacing:.14em; font-size:12px; text-align:center; text-transform:uppercase}
.type-name{font-size:27px; text-align:center; color:var(--maroon2); margin:6px 0 2px}
.type-name .hi{display:block; font-size:19px; color:var(--orange)}
.breakdown{text-align:center; color:var(--muted); font-size:14.5px; margin:0 0 6px}
.score{display:flex; align-items:baseline; gap:10px; padding:9px 0; border-bottom:1px dashed var(--line)}
.score:last-of-type{border-bottom:none}
.score .k{width:58px; color:var(--maroon); font-weight:600; font-size:14.5px}
.score .stars{color:var(--saffron); letter-spacing:.12em; font-size:15px}
.score .n{margin-left:auto; color:var(--muted); font-size:13px; text-align:right; max-width:55%}
.keybox{border:1.5px solid var(--saffron); border-radius:14px; padding:14px 16px; background:#fff6e0; margin:16px 0}
.keybox .label{color:var(--maroon)}
.lucky{display:flex; gap:22px; flex-wrap:wrap; margin-top:4px}
.lucky div{font-size:15px}
.swatch{display:inline-block; width:15px; height:15px; border-radius:50%; border:1px solid #d8c9a8; vertical-align:-2px; margin-right:7px}
.price{font-family:"Baloo 2",sans-serif; font-size:32px; color:var(--maroon2); font-weight:700}
.price s{color:var(--muted); font-size:17px; margin-left:8px; font-weight:400}
ul.feat{margin:8px 0 14px; padding-left:20px}
ul.feat li{margin:5px 0}
.share{display:flex; gap:10px; margin:14px 0}
.share a{flex:1; text-align:center; border:1.5px solid var(--line); background:#fff; color:var(--maroon); border-radius:999px; padding:11px 6px; text-decoration:none; font-size:14.5px; font-weight:600}
.share a.wa{border-color:#bfe6cd; color:var(--green)}
footer{border-top:1px solid var(--line); margin-top:32px; padding-top:16px; text-align:center}
footer a{color:var(--muted); font-size:13px}
footer .small{margin-top:6px}
.center{text-align:center}
.pgrid{display:grid; grid-template-columns:1fr 1fr; gap:10px 18px; margin-top:4px}
.pgrid div{font-size:15px}
.pgrid .pk{display:block; color:var(--muted); font-size:12px; letter-spacing:.1em; text-transform:uppercase}
.fest{list-style:none; margin:6px 0 0; padding:0}
.fest li{display:flex; gap:10px; padding:8px 10px; border-radius:10px; font-size:15px}
.fest li.today{background:#fff3dd; border:1px solid var(--goldline); font-weight:600}
.fest .fd{margin-left:auto; color:var(--muted); font-size:13.5px; white-space:nowrap}
.fest li.today .fd{color:var(--maroon)}
details.faq{border-top:1px dashed var(--line); padding:10px 0}
details.faq:first-of-type{border-top:none}
details.faq summary{font-weight:600; color:var(--maroon2); cursor:pointer}
details.faq p{margin-top:6px; color:var(--ink)}
.getlist{list-style:none; margin:6px 0 0; padding:0}
.getlist li{padding:7px 0 7px 28px; position:relative; font-size:15.5px}
.getlist li::before{content:"✦"; position:absolute; left:4px; color:var(--orange)}
select,input[type="time"]{width:100%; background:#fff; color:var(--ink); border:1.5px solid var(--line); border-radius:12px; padding:13px 14px; font-size:17px; font-family:inherit}
.profile dt{color:var(--muted); font-size:12.5px; letter-spacing:.08em; text-transform:uppercase; margin-top:10px}
.profile dd{margin:2px 0 0; font-size:16.5px; font-weight:600; color:var(--maroon2)}

/* --- logic edition additions --- */
.strip{background:var(--maroon); color:#ffe9c4; border-radius:14px; padding:10px 14px; margin:14px 0 4px; font-size:13.5px; line-height:1.75}
.strip b{color:#fff}
.strip .sep{opacity:.55; margin:0 6px}
.entrygrid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-top:4px}
.entry{display:block; background:#fff; border:1.5px solid var(--line); border-radius:14px; padding:13px 14px; text-decoration:none; color:var(--ink)}
.entry .et{font-family:"Baloo 2",sans-serif; font-weight:700; color:var(--maroon2); font-size:16.5px; display:block}
.entry .ed{font-size:13.5px; color:var(--muted); display:block; margin-top:2px}
.entry .soon{display:inline-block; background:#fff3dd; color:var(--maroon); border:1px solid var(--goldline); border-radius:999px; font-size:11.5px; padding:1px 8px; margin-top:6px}
.chartbox{margin:6px auto 4px; max-width:340px}
.chartbox svg{width:100%; height:auto; display:block}
.chartbox .cs{font-size:15px; fill:var(--maroon2); font-weight:700}
.chartbox .cp{font-size:16.5px; fill:var(--ink); font-weight:600}
.chartbox .cl{font-size:13px; fill:var(--saffron); font-weight:700}
.facts{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0 4px}
.fact{background:#fff6e0; border:1px solid var(--goldline); border-radius:12px; padding:10px 12px}
.fact .fk{display:block; color:var(--muted); font-size:11.5px; letter-spacing:.08em; text-transform:uppercase}
.fact .fv{display:block; font-weight:700; color:var(--maroon2); font-size:16.5px; margin-top:2px}
.fact .fs{display:block; font-size:12.5px; color:var(--muted)}
table.pos{width:100%; border-collapse:collapse; font-size:14.5px; margin:8px 0}
table.pos th{text-align:left; color:var(--muted); font-size:12px; letter-spacing:.08em; text-transform:uppercase; padding:4px}
table.pos td{padding:5px 4px; border-bottom:1px dashed var(--line)}
.dosha{padding:8px 0; border-bottom:1px dashed var(--line); font-size:15px}
.dosha:last-of-type{border-bottom:none}
.dosha b{color:var(--maroon2)}
.timeline{list-style:none; margin:6px 0; padding:0; font-size:14.5px}
.timeline li{padding:6px 10px; border-radius:8px; display:flex; justify-content:space-between; gap:10px}
.timeline li.cur{background:#fff3dd; border:1px solid var(--goldline); font-weight:600}
.timeline .td{color:var(--muted); font-size:13px; white-space:nowrap}
@media print{
  header.site,.share,#notify-card,footer,.noprint{display:none !important}
  body{background:#fff}
  .card{border:none; box-shadow:none; padding:6px 0}
}
