<?php
require_once __DIR__.'/../config.php';

$CITIES=['दिल्ली'=>['Delhi',28.61,77.20],'मुंबई'=>['Mumbai',19.08,72.88],'कोलकाता'=>['Kolkata',22.57,88.36],'चेन्नई'=>['Chennai',13.08,80.27],'बेंगलुरु'=>['Bengaluru',12.97,77.59],'हैदराबाद'=>['Hyderabad',17.38,78.49],'पुणे'=>['Pune',18.52,73.86],'जयपुर'=>['Jaipur',26.91,75.79],'लखनऊ'=>['Lucknow',26.85,80.95],'पटना'=>['Patna',25.59,85.14],'वाराणसी'=>['Varanasi',25.32,82.97],'अहमदाबाद'=>['Ahmedabad',23.02,72.57]];

$city=trim($_GET['city']??'दिल्ली');
if(!isset($CITIES[$city]))$city='दिल्ली';
$lat=$CITIES[$city][1]; $lon=$CITIES[$city][2];
$date=trim($_GET['date']??date('Y-m-d'));
$p=explode('-',$date);
$data=null;$err='';
if(count($p)==3){
    $py='import json,sys; sys.path.insert(0,".");'
       .'import panchang_engine as pe;'
       .'print(json.dumps(pe.compute_panchang('.(int)$p[0].','.(int)$p[1].','.(int)$p[2].','.$lat.','.$lon.',5.5),default=str))';
    $out=trim(shell_exec('cd '.escapeshellarg(__DIR__).'/../workers && python3 -c '.escapeshellarg($py).' 2>/dev/null'));
    $data=json_decode($out,true);
    if(!$data){ $err='पंचांग की गणना नहीं हो सकी। कृपया दूसरी तिथि चुनें।'; }
}

// Devanagari mappings
$WD=['Monday'=>'सोमवार','Tuesday'=>'मंगलवार','Wednesday'=>'बुधवार','Thursday'=>'गुरुवार','Friday'=>'शुक्रवार','Saturday'=>'शनिवार','Sunday'=>'रविवार'];
$LORD=['Sun'=>'सूर्य','Moon'=>'चंद्र','Mars'=>'मंगल','Mercury'=>'बुध','Jupiter'=>'बृहस्पति','Venus'=>'शुक्र','Saturn'=>'शनि'];
$PAK=['Shukla'=>'शुक्ल पक्ष','Krishna'=>'कृष्ण पक्ष'];
$TI=['Pratipada'=>'प्रतिपदा','Dwitiya'=>'द्वितीया','Tritiya'=>'तृतीया','Chaturthi'=>'चतुर्थी','Panchami'=>'पंचमी','Shashthi'=>'षष्ठी','Shasthi'=>'षष्ठी','Saptami'=>'सप्तमी','Ashtami'=>'अष्टमी','Navami'=>'नवमी','Dashami'=>'दशमी','Ekadashi'=>'एकादशी','Dwadashi'=>'द्वादशी','Trayodashi'=>'त्रयोदशी','Chaturdashi'=>'चतुर्दशी','Purnima'=>'पूर्णिमा','Amavasya'=>'अमावस्या'];
$NAK=['Ashwini'=>'अश्विनी','Bharani'=>'भरणी','Krittika'=>'कृत्तिका','Rohini'=>'रोहिणी','Mrigashira'=>'मृगशिरा','Ardra'=>'आर्द्रा','Punarvasu'=>'पुनर्वसु','Pushya'=>'पुष्य','Ashlesha'=>'आश्लेषा','Magha'=>'मघा','Purva Phalguni'=>'पूर्वा फाल्गुनी','Uttara Phalguni'=>'उत्तरा फाल्गुनी','Hasta'=>'हस्त','Chitra'=>'चित्रा','Swati'=>'स्वाति','Vishakha'=>'विशाखा','Anuradha'=>'अनुराधा','Jyeshtha'=>'ज्येष्ठा','Mula'=>'मूल','Purva Ashadha'=>'पूर्वाषाढ़ा','Uttara Ashadha'=>'उत्तराषाढ़ा','Shravana'=>'श्रवण','Dhanishta'=>'धनिष्ठा','Shatabhisha'=>'शतभिषा','Purva Bhadrapada'=>'पूर्वा भाद्रपद','Uttara Bhadrapada'=>'उत्तरा भाद्रपद','Revati'=>'रेवती'];
$YOG=['Vishkambha'=>'विष्कम्भ','Priti'=>'प्रीति','Ayushman'=>'आयुष्मान','Saubhagya'=>'सौभाग्य','Shobhana'=>'शोभन','Atiganda'=>'अतिगण्ड','Sukarma'=>'सुकर्मा','Dhriti'=>'धृति','Shula'=>'शूल','Ganda'=>'गण्ड','Vriddhi'=>'वृद्धि','Dhruva'=>'ध्रुव','Vyaghata'=>'व्याघात','Harshana'=>'हर्षण','Vajra'=>'वज्र','Siddhi'=>'सिद्धि','Vyatipata'=>'व्यतीपात','Variyana'=>'वरीयान','Parigha'=>'परिघ','Shiva'=>'शिव','Siddha'=>'सिद्ध','Sadhya'=>'साध्य','Shubha'=>'शुभ','Shukla'=>'शुक्ल','Brahma'=>'ब्रह्म','Indra'=>'इन्द्र','Vaidhriti'=>'वैधृति'];
$KAR=['Bava'=>'बव','Balava'=>'बालव','Kaulava'=>'कौलव','Taitila'=>'तैतिल','Gara'=>'गर','Vanija'=>'वणिज','Vishti'=>'विष्टि (भद्रा)','Shakuni'=>'शकुनि','Chatushpada'=>'चतुष्पद','Naga'=>'नाग','Kimstughna'=>'किंस्तुघ्न'];
$CHO=['Amrit'=>'अमृत','Shubh'=>'शुभ','Labh'=>'लाभ','Char'=>'चर','Rog'=>'रोग','Kaal'=>'काल','Udveg'=>'उद्वेग'];
$QUAL=['Good'=>'शुभ','Bad'=>'अशुभ','Neutral'=>'सामान्य'];
function hi($map,$v){ return $map[$v] ?? $v; }
$MON=['','जनवरी','फ़रवरी','मार्च','अप्रैल','मई','जून','जुलाई','अगस्त','सितंबर','अक्टूबर','नवंबर','दिसंबर'];
$dateNice = count($p)==3 ? ((int)$p[2]).' '.$MON[(int)$p[1]].' '.$p[0] : $date;
?>
<!DOCTYPE html><html lang="hi"><head>
<meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1">
<title>आज का पंचांग <?= htmlspecialchars($dateNice) ?> - तिथि, नक्षत्र, राहु काल | AstroMool</title>
<meta name="description" content="आज का पंचांग - तिथि, नक्षत्र, योग, करण, सूर्योदय, सूर्यास्त, राहु काल, गुलिक काल और चौघड़िया। <?= htmlspecialchars($city) ?> सहित सभी शहरों के लिए सटीक वैदिक पंचांग, निःशुल्क।">
<meta name="keywords" content="आज का पंचांग, पंचांग, तिथि, नक्षत्र, राहु काल, चौघड़िया, शुभ मुहूर्त, हिंदू पंचांग, आज की तिथि">
<link rel="canonical" href="https://astromool.com/hi/panchang">
<link rel="alternate" hreflang="hi-IN" href="https://astromool.com/hi/panchang">
<link rel="alternate" hreflang="en" href="https://astromool.com/panchang">
<style>
:root{--gold:#C9A84C;--gold2:#E8C97A;--cream:#EEE8D5;--mute:#9D94B8;--cosmic:#0D0A1A;--deep:#13102A}
*{box-sizing:border-box}
body{margin:0;font-family:'Noto Sans Devanagari',Georgia,serif;background:radial-gradient(1200px 700px at 50% -10%,#1a1330,#0D0A1A 60%);color:var(--cream);min-height:100vh;line-height:1.7}
.pw{max-width:880px;margin:0 auto;padding:26px 18px 60px}
.bc{font-size:13px;color:var(--mute);margin-bottom:14px}.bc a{color:var(--mute);text-decoration:none}
.langbar{text-align:right;font-size:13px;margin-bottom:10px}
.langbar a{color:var(--gold2);text-decoration:none;border:1px solid rgba(201,168,76,.3);padding:4px 11px;border-radius:14px}
h1{font-size:28px;color:#fff;margin:0 0 4px;text-align:center}h1 em{color:var(--gold);font-style:normal}
.sub{text-align:center;color:var(--mute);font-size:14px;margin-bottom:20px}
.card{background:var(--deep);border:1px solid rgba(201,168,76,.25);border-radius:14px;padding:20px;margin-bottom:18px}
label{display:block;color:var(--mute);font-size:13px;margin:6px 0 5px}
input,select{width:100%;padding:12px 14px;border-radius:10px;border:1px solid rgba(201,168,76,.3);background:var(--cosmic);color:var(--cream);font-size:15px;font-family:inherit}
.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.btn{margin-top:12px;width:100%;padding:13px;border:none;border-radius:10px;background:linear-gradient(90deg,var(--gold),var(--gold2));color:var(--cosmic);font-size:16px;font-weight:bold;cursor:pointer;font-family:inherit}
.err{background:rgba(255,120,120,.12);border:1px solid rgba(255,120,120,.3);color:#ff9b9b;border-radius:10px;padding:12px;text-align:center;margin-bottom:14px}
.head{text-align:center;background:linear-gradient(150deg,#1a1330,#13102A);border:1px solid rgba(201,168,76,.4);border-radius:14px;padding:22px;margin-bottom:16px}
.head .d{color:var(--gold);font-size:22px;font-weight:bold}
.head .w{color:var(--gold2);font-size:15px;margin-top:3px}
.head .c{color:var(--mute);font-size:13px;margin-top:3px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:12px}
.box{background:var(--deep);border:1px solid rgba(201,168,76,.2);border-radius:11px;padding:14px}
.box .l{color:var(--gold);font-size:11.5px;letter-spacing:.5px}
.box .v{color:var(--cream);font-size:17px;font-weight:bold;margin-top:3px}
.sec-t{color:var(--gold);font-size:18px;margin:24px 0 10px}
.warn{background:rgba(255,120,120,.1);border:1px solid rgba(255,120,120,.28);border-radius:11px;padding:14px}
.warn .l{color:#ff9b9b;font-size:12px}.warn .v{color:var(--cream);font-size:16px;font-weight:bold;margin-top:3px}
.chtable{width:100%;border-collapse:collapse}
.chtable th{color:var(--gold);font-size:11.5px;text-align:right;padding:7px 8px;border-bottom:1px solid rgba(201,168,76,.2)}
.chtable td{font-size:14px;padding:8px;border-bottom:1px solid rgba(201,168,76,.08);text-align:right}
.chtable td:first-child,.chtable th:first-child{text-align:right}
.q-good{color:#4fe0b0}.q-bad{color:#ff9b9b}.q-neu{color:var(--gold2)}
.info{background:var(--deep);border:1px solid rgba(201,168,76,.2);border-radius:14px;padding:22px;margin-top:22px}
.info h2{color:var(--gold);font-size:19px;margin:0 0 8px}
.info h3{color:var(--gold2);font-size:15.5px;margin:16px 0 5px}
.info p{color:var(--cream);font-size:14.5px;margin:0 0 9px}
.cta{display:inline-block;background:linear-gradient(90deg,var(--gold),var(--gold2));color:var(--cosmic);font-weight:bold;padding:12px 26px;border-radius:10px;text-decoration:none;margin:5px}
.cta.alt{background:transparent;border:1px solid var(--gold);color:var(--gold2)}
@media(max-width:600px){h1{font-size:22px}.row{grid-template-columns:1fr}}
</style></head><body>
<?php @include __DIR__.'/../header.php'; ?>
<div class="pw">
<div class="langbar"><a href="/panchang-calculator">English</a></div>
<nav class="bc"><a href="/hi/">होम</a> &rsaquo; <span style="color:var(--gold)">आज का पंचांग</span></nav>
<h1>&#128220; <em>आज का पंचांग</em></h1>
<div class="sub">तिथि, नक्षत्र, योग, करण, राहु काल और चौघड़िया — सटीक वैदिक गणना</div>

<?php if($err): ?><div class="err"><?= htmlspecialchars($err) ?></div><?php endif; ?>

<?php if($data): ?>
  <div class="head">
    <div class="d"><?= htmlspecialchars($dateNice) ?></div>
    <div class="w"><?= hi($WD,$data['weekday']??'') ?> &bull; <?= hi($PAK,$data['paksha']??'') ?></div>
    <div class="c"><?= htmlspecialchars($city) ?> &bull; दिनमान <?= htmlspecialchars($data['day_length']??'') ?></div>
  </div>

  <div class="grid">
    <div class="box"><div class="l">तिथि</div><div class="v"><?= hi($TI,$data['tithi']??'') ?></div></div>
    <div class="box"><div class="l">नक्षत्र</div><div class="v"><?= hi($NAK,$data['nakshatra']??'') ?></div></div>
    <div class="box"><div class="l">योग</div><div class="v"><?= hi($YOG,$data['yoga']??'') ?></div></div>
    <div class="box"><div class="l">करण</div><div class="v"><?= hi($KAR,$data['karana']??'') ?></div></div>
    <div class="box"><div class="l">वार</div><div class="v"><?= hi($WD,$data['weekday']??'') ?></div></div>
    <div class="box"><div class="l">वार स्वामी</div><div class="v"><?= hi($LORD,$data['weekday_lord']??'') ?></div></div>
    <div class="box"><div class="l">सूर्योदय</div><div class="v"><?= htmlspecialchars($data['sunrise']??'') ?></div></div>
    <div class="box"><div class="l">सूर्यास्त</div><div class="v"><?= htmlspecialchars($data['sunset']??'') ?></div></div>
  </div>

  <h2 class="sec-t">अशुभ काल — इनसे बचें</h2>
  <div class="grid">
    <div class="warn"><div class="l">राहु काल</div><div class="v"><?= htmlspecialchars($data['rahu_kaal']??'-') ?></div></div>
    <div class="warn"><div class="l">यमगण्ड</div><div class="v"><?= htmlspecialchars($data['yamaganda']??'-') ?></div></div>
    <div class="warn"><div class="l">गुलिक काल</div><div class="v"><?= htmlspecialchars($data['gulika']??'-') ?></div></div>
  </div>

  <?php if(!empty($data['day_choghadiya'])): ?>
    <h2 class="sec-t">दिन का चौघड़िया</h2>
    <div class="card" style="padding:14px 18px">
      <table class="chtable">
        <tr><th>चौघड़िया</th><th>प्रकार</th><th>समय</th></tr>
        <?php foreach($data['day_choghadiya'] as $c):
          $q=$c['quality']??''; $cls=$q==='Good'?'q-good':($q==='Bad'?'q-bad':'q-neu'); ?>
          <tr>
            <td style="color:var(--gold2);font-weight:bold"><?= hi($CHO,$c['name']??'') ?></td>
            <td class="<?= $cls ?>"><?= hi($QUAL,$q) ?></td>
            <td><?= htmlspecialchars($c['time']??'') ?></td>
          </tr>
        <?php endforeach; ?>
      </table>
    </div>
  <?php endif; ?>

  <?php if(!empty($data['night_choghadiya'])): ?>
    <h2 class="sec-t">रात्रि का चौघड़िया</h2>
    <div class="card" style="padding:14px 18px">
      <table class="chtable">
        <tr><th>चौघड़िया</th><th>प्रकार</th><th>समय</th></tr>
        <?php foreach($data['night_choghadiya'] as $c):
          $q=$c['quality']??''; $cls=$q==='Good'?'q-good':($q==='Bad'?'q-bad':'q-neu'); ?>
          <tr>
            <td style="color:var(--gold2);font-weight:bold"><?= hi($CHO,$c['name']??'') ?></td>
            <td class="<?= $cls ?>"><?= hi($QUAL,$q) ?></td>
            <td><?= htmlspecialchars($c['time']??'') ?></td>
          </tr>
        <?php endforeach; ?>
      </table>
    </div>
  <?php endif; ?>
<?php endif; ?>

<div class="card">
  <h2 style="color:var(--gold);font-size:17px;margin:0 0 10px">दूसरी तिथि या शहर चुनें</h2>
  <form method="get" action="/hi/panchang">
    <div class="row">
      <div><label>तिथि</label><input type="date" name="date" value="<?= htmlspecialchars($date) ?>"></div>
      <div><label>शहर</label>
        <select name="city">
          <?php foreach($CITIES as $cn=>$v): ?>
            <option value="<?= htmlspecialchars($cn) ?>" <?= $cn===$city?'selected':'' ?>><?= htmlspecialchars($cn) ?></option>
          <?php endforeach; ?>
        </select>
      </div>
    </div>
    <button class="btn" type="submit">पंचांग देखें</button>
  </form>
</div>

<div class="info">
  <h2>पंचांग क्या है?</h2>
  <p><b>पंचांग</b> संस्कृत के दो शब्दों से बना है — "पंच" यानी पाँच और "अंग" यानी भाग। हिंदू कालगणना में हर दिन को पाँच अंगों से मापा जाता है: <b>तिथि, वार, नक्षत्र, योग और करण</b>। इन्हीं पाँचों से किसी दिन की शुभता तय होती है और मुहूर्त निकाला जाता है।</p>

  <h3>तिथि</h3>
  <p>चंद्रमा और सूर्य के बीच के 12 अंश के अंतर को एक तिथि कहते हैं। एक महीने में 30 तिथियाँ होती हैं — 15 शुक्ल पक्ष की (अमावस्या से पूर्णिमा तक) और 15 कृष्ण पक्ष की (पूर्णिमा से अमावस्या तक)।</p>

  <h3>नक्षत्र</h3>
  <p>आकाश को 27 भागों में बाँटा गया है, हर भाग एक नक्षत्र है। जन्म के समय चंद्रमा जिस नक्षत्र में हो, वही जन्म नक्षत्र कहलाता है और नामकरण, विवाह मिलान तथा मुहूर्त में इसका बड़ा महत्व है।</p>

  <h3>राहु काल क्यों देखा जाता है?</h3>
  <p>सूर्योदय से सूर्यास्त तक के समय को आठ बराबर भागों में बाँटा जाता है, और वार के अनुसार एक भाग <b>राहु काल</b> होता है। इस अवधि में नया कार्य, यात्रा या शुभ कार्य आरंभ करने से बचा जाता है। इसी तरह <b>यमगण्ड</b> और <b>गुलिक काल</b> भी अशुभ माने जाते हैं। रोज़मर्रा के काम इनमें चलते रहते हैं — केवल नई शुरुआत टाली जाती है।</p>

  <h3>चौघड़िया कैसे काम करता है?</h3>
  <p>दिन और रात को चार-चार घड़ी के आठ भागों में बाँटकर चौघड़िया बनता है। <b>अमृत, शुभ और लाभ</b> शुभ माने जाते हैं, <b>चर</b> सामान्य, जबकि <b>रोग, काल और उद्वेग</b> से बचा जाता है। यात्रा या नया काम शुरू करने के लिए यह सबसे आसान तरीका है।</p>

  <p style="color:var(--mute);font-size:13px;margin-top:14px">यह पंचांग <b>स्विस एफेमेरिस</b> से गणना किया जाता है और चुने हुए शहर के वास्तविक सूर्योदय-सूर्यास्त पर आधारित है।</p>
</div>

<div style="text-align:center;margin-top:24px">
  <a class="cta" href="/hi/">सभी हिंदी टूल</a>
  <a class="cta alt" href="/">मुफ्त कुंडली बनाएं</a>
</div>

</div>
<?php @include __DIR__.'/../footer.php'; ?>
</body></html>
