/* BharatData — Shared Styles */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600&display=swap');

:root{--font:'Montserrat',sans-serif;--mono:'JetBrains Mono',monospace;--purple:#2D1B69;--purple-m:#6B3FA0;--blue:#2E7BD6;--cyan:#00C4CC;--cyan-d:#00A8B0;--green:#10B981;--red:#EF4444;--amber:#F59E0B;--grad:linear-gradient(135deg,#2D1B69,#2E7BD6,#00C4CC);--R:18px;--Rs:12px;--W:1220px}
[data-theme="light"]{--bg:#F0F2F8;--bg2:linear-gradient(165deg,#F7F5FC 0%,#EEF1FA 35%,#E8F4F8 70%,#F0F2F8 100%);--sf:#FFF;--cd:#FFF;--cdh:#F8F9FC;--bd:#DDE0EB;--bdl:rgba(221,224,235,.5);--t1:#111827;--t2:#4B5068;--t3:#8B90A8;--nb:rgba(240,242,248,.75);--ns:rgba(240,242,248,.92);--th:#F5F6FA;--ts:#FAFBFE;--o1:rgba(0,196,204,.08);--o2:rgba(45,27,105,.06);--o3:rgba(46,123,214,.05);--sh:0 4px 24px rgba(0,0,0,.04);--shh:0 12px 40px rgba(0,0,0,.08);--gc:rgba(45,27,105,.06);--lp:#2D1B69;--cb:#F5F6FA;--ct:#2D1B69}
[data-theme="dark"]{--bg:#0B0F1A;--bg2:linear-gradient(165deg,#0B0F1A 0%,#111827 35%,#0F1729 70%,#0B0F1A 100%);--sf:#151B2D;--cd:#1A2236;--cdh:#1F2942;--bd:#2A3550;--bdl:rgba(42,53,80,.5);--t1:#E8ECF4;--t2:#A0A8C0;--t3:#5E6888;--nb:rgba(11,15,26,.75);--ns:rgba(11,15,26,.92);--th:#151B2D;--ts:#131929;--o1:rgba(0,196,204,.06);--o2:rgba(45,27,105,.08);--o3:rgba(46,123,214,.04);--sh:0 4px 24px rgba(0,0,0,.2);--shh:0 12px 40px rgba(0,0,0,.3);--gc:rgba(255,255,255,.05);--lp:#A78BFA;--cb:#111827;--ct:#79C0FF}

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--font);background:var(--bg);color:var(--t1);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6;transition:background .4s,color .4s}
a{color:var(--cyan);text-decoration:none;transition:color .2s}
a:hover{color:var(--cyan-d)}
.ctr{max-width:var(--W);margin:0 auto;padding:0 28px}

/* ═══ NAV ═══ */
.nav{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--nb);backdrop-filter:blur(24px) saturate(1.5);-webkit-backdrop-filter:blur(24px) saturate(1.5);border-bottom:1px solid var(--bdl);transition:all .4s}
.nav.scrolled{background:var(--ns);box-shadow:0 4px 30px rgba(0,0,0,.05)}
.nav-in{max-width:var(--W);margin:0 auto;padding:0 28px;height:68px;display:flex;align-items:center;justify-content:space-between}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-i{width:34px;height:34px;border-radius:9px;background:var(--grad);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-weight:800;font-size:17px;color:#fff;box-shadow:0 4px 12px rgba(45,27,105,.2)}
.logo-t{font-weight:800;font-size:1.25rem;letter-spacing:-.5px}
.logo-t .b{color:var(--lp)}.logo-t .d{color:var(--cyan)}
.nav-c{display:flex;align-items:center;gap:6px}
.nav-c a{color:var(--t2);text-decoration:none;font-size:.82rem;font-weight:600;padding:8px 14px;border-radius:8px;transition:all .2s}
.nav-c a:hover,.nav-c a.active{color:var(--t1);background:var(--cdh)}
.tog{width:44px;height:26px;border-radius:13px;border:1.5px solid var(--bd);cursor:pointer;background:var(--cd);position:relative;transition:all .3s;display:flex;align-items:center;padding:2px;flex-shrink:0}
[data-theme="dark"] .tog{background:var(--purple);border-color:var(--purple-m)}
.tog .knob{width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .3s;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(0,0,0,.15);font-size:11px}
[data-theme="dark"] .tog .knob{transform:translateX(18px)}
.btn-cta{padding:8px 20px;background:var(--purple);border:none;border-radius:9px;color:#fff;font-family:var(--font);font-weight:700;font-size:.8rem;cursor:pointer;text-decoration:none;transition:all .3s;white-space:nowrap}
.btn-cta:hover{background:var(--purple-m);transform:translateY(-1px);box-shadow:0 6px 20px rgba(45,27,105,.25);color:#fff}

/* ═══ HERO DECO ═══ */
.hero-bg{position:relative;overflow:hidden;background:var(--bg2);transition:background .4s}
.deco{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.deco .orb{position:absolute;border-radius:50%;filter:blur(100px)}
.orb-1{width:500px;height:500px;background:var(--o1);top:-150px;right:-60px;animation:drift 14s ease-in-out infinite}
.orb-2{width:400px;height:400px;background:var(--o2);bottom:-100px;left:-40px;animation:drift 11s ease-in-out infinite reverse}
.orb-3{width:280px;height:280px;background:var(--o3);top:50%;left:50%;transform:translate(-50%,-50%);animation:drift 16s ease-in-out infinite;animation-delay:-5s}
.dots{position:absolute;inset:0;background-image:radial-gradient(var(--gc) 1px,transparent 1px);background-size:28px 28px;mask-image:radial-gradient(ellipse 70% 60% at 50% 45%,black 20%,transparent 70%);pointer-events:none}
@keyframes drift{0%,100%{transform:translate(0,0) scale(1)}33%{transform:translate(25px,-18px) scale(1.04)}66%{transform:translate(-18px,12px) scale(.96)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ═══ CARDS ═══ */
.card{background:var(--cd);border:1px solid var(--bd);border-radius:var(--R);box-shadow:var(--sh);transition:all .35s}
.card:hover{box-shadow:var(--shh);transform:translateY(-3px)}
.card-s{background:var(--cd);border:1px solid var(--bd);border-radius:var(--Rs);box-shadow:var(--sh);transition:all .3s}

/* ═══ CODE BLOCKS ═══ */
.code-box{background:var(--cb);border:1px solid var(--bd);border-radius:var(--Rs);padding:20px 24px;overflow-x:auto;font-family:var(--mono);font-size:.82rem;line-height:1.7;color:var(--ct)}
.code-box .cm{color:var(--t3)}
.code-box .str{color:var(--green)}
.code-box .key{color:var(--cyan)}
.code-box .num{color:var(--amber)}

/* ═══ TABLES ═══ */
.tbl-wrap{overflow-x:auto;background:var(--cd);border:1px solid var(--bd);border-radius:var(--R);box-shadow:var(--sh)}
.tbl{width:100%;border-collapse:collapse}
.tbl th{background:var(--th);padding:12px 16px;text-align:left;font-weight:700;color:var(--t3);font-size:.68rem;text-transform:uppercase;letter-spacing:1px;position:sticky;top:0;border-bottom:1px solid var(--bd)}
.tbl td{padding:11px 16px;border-top:1px solid var(--bd);font-size:.85rem;color:var(--t2)}
.tbl tr:hover td{background:var(--cdh)}
.tbl td.mono{font-family:var(--mono);font-size:.82rem}
.pos{color:var(--green);font-weight:700}
.neg{color:var(--red);font-weight:700}

/* ═══ TAGS ═══ */
.tag{display:inline-flex;align-items:center;gap:6px;padding:5px 14px;border-radius:8px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:1px}
.tag-purple{background:rgba(45,27,105,.06);color:var(--purple);border:1px solid rgba(45,27,105,.1)}
[data-theme="dark"] .tag-purple{background:rgba(167,139,250,.1);color:#A78BFA;border-color:rgba(167,139,250,.2)}
.tag-cyan{background:rgba(0,196,204,.06);color:var(--cyan-d);border:1px solid rgba(0,196,204,.1)}

/* ═══ BUTTONS ═══ */
.btn-primary{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;background:linear-gradient(135deg,#2D1B69 0%,#4A2D8A 50%,#2E7BD6 100%);background-size:150% 100%;border:none;border-radius:14px;color:#fff;font-family:var(--font);font-weight:700;font-size:.92rem;cursor:pointer;text-decoration:none;transition:all .4s;position:relative;overflow:hidden}
.btn-primary:hover{background-position:100% 0%;transform:translateY(-3px);box-shadow:0 12px 36px rgba(45,27,105,.3);color:#fff}
.btn-secondary{display:inline-flex;align-items:center;gap:10px;padding:15px 32px;background:var(--cd);border:1.5px solid var(--bd);border-radius:14px;color:var(--t1);font-family:var(--font);font-weight:700;font-size:.92rem;cursor:pointer;text-decoration:none;transition:all .35s}
.btn-secondary:hover{border-color:var(--cyan);transform:translateY(-3px);box-shadow:0 12px 32px rgba(0,196,204,.12);color:var(--t1)}

/* ═══ FOOTER ═══ */
.footer{padding:48px 0;border-top:1px solid var(--bd);margin-top:60px}
.footer-in{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:40px}
.footer-brand .logo-t{margin-bottom:12px}
.footer-brand p{font-size:.85rem;color:var(--t3);line-height:1.7;max-width:280px}
.footer-col h4{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;color:var(--t3);margin-bottom:16px}
.footer-col a{display:block;font-size:.88rem;color:var(--t2);margin-bottom:10px;font-weight:500;text-decoration:none;transition:color .2s}
.footer-col a:hover{color:var(--cyan)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:32px;margin-top:32px;border-top:1px solid var(--bd);font-size:.8rem;color:var(--t3)}

/* ═══ RESPONSIVE ═══ */
@media(max-width:900px){.footer-in{grid-template-columns:1fr 1fr}}
@media(max-width:640px){
  .nav-c a.hm{display:none}
  .footer-in{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column;gap:8px;text-align:center}
}
