PageSourceSearch

https://astrologyapi.com/

html astrologyapi.com collected 2026-09-25 22:12:05 UTC 696,489 bytes, 1,059 lines download raw bytes

1<!DOCTYPE html><html class="scroll-smooth" lang="en"><head>
1<script>(function(w,i,g){w[g]=w[g]||[];if(typeof w[g].push=='function')w[g].push(i)})
2(window,'G-16GWQJDGKK','google_tags_first_party');</script>
2<script async src="/jlrk/"></script>
2
3			
3<script>
4				window.dataLayer = window.dataLayer || [];
5				function gtag(){dataLayer.push(arguments);}
6				gtag('js', new Date());
7				gtag('set', 'developer_id.dY2E1Nz', true);
8				
9			</script>
9
10			<meta charSet="utf-8"/><meta name="viewport" content="width=device-width"/><title>Astrology API — Birth Charts, Horoscopes &amp; AI Readings</title><meta name="description" content="Ship astrology features fast with one API: birth charts, Kundli, horoscopes, tarot, PDF reports, and AI readings. 300+ endpoints, 99.99% uptime. Start free."/><link rel="canonical" href="https://astrologyapi.com/"/><meta property="og:type" content="website"/><meta property="og:url" content="https://astrologyapi.com/"/><meta property="og:title" content="Astrology API — Birth Charts, Horoscopes &amp; AI Readings"/><meta property="og:description" content="Ship astrology features fast with one API: birth charts, Kundli, horoscopes, tarot, PDF reports, and AI readings. 300+ endpoints, 99.99% uptime. Start free."/><meta property="og:image" content="https://astrologyapi.com/imgs/astrologyAPI.png"/><meta name="twitter:card" content="summary_large_image"/><meta name="twitter:title" content="Astrology API — Birth Charts, Horoscopes &amp; AI Readings"/><meta name="twitter:description" content="Ship astrology features fast with one API: birth charts, Kundli, horoscopes, tarot, PDF reports, and AI readings. 300+ endpoints, 99.99% uptime. Start free."/><meta name="twitter:image" content="https://astrologyapi.com/imgs/astrologyAPI.png"/>
10<script type="application/ld+json">{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://astrologyapi.com/#organization","name":"AstrologyAPI","url":"https://astrologyapi.com/","logo":"https://astrologyapi.com/imgs/logo2.svg","description":"Developer-first astrology platform: 300+ REST API endpoints for birth charts, Kundli, horoscopes, transits, tarot, PDF reports, and AI readings."},{"@type":"WebSite","@id":"https://astrologyapi.com/#website","name":"AstrologyAPI","url":"https://astrologyapi.com/","publisher":{"@id":"https://astrologyapi.com/#organization"}},{"@type":"SoftwareApplication","name":"AstrologyAPI","applicationCategory":"DeveloperApplication","operatingSystem":"Any","url":"https://astrologyapi.com/","description":"REST API platform for astrology products. Vedic and Western calculations, AI chat grounded in birth charts, MCP server for LLMs, and white-label PDF reports.","offers":{"@type":"Offer","price":"0","priceCurrency":"USD","description":"Free credits on signup, no credit card required."},"provider":{"@id":"https://astrologyapi.com/#organization"}}]}</script>
10<link rel="preconnect" href="https://player.mediadelivery.net" class="jsx-6c2b34c4e941dc22"/><link rel="dns-prefetch" href="https://player.mediadelivery.net" class="jsx-6c2b34c4e941dc22"/><meta name="next-head-count" content="17"/><link rel="apple-touch-icon" sizes="57x57" href="/favicon/apple-icon-57x57.png"/><link rel="apple-touch-icon" sizes="60x60" href="/favicon/apple-icon-60x60.png"/><link rel="apple-touch-icon" sizes="72x72" href="/favicon/apple-icon-72x72.png"/><link rel="apple-touch-icon" sizes="76x76" href="/favicon/apple-icon-76x76.png"/><link rel="apple-touch-icon" sizes="114x114" href="/favicon/apple-icon-114x114.png"/><link rel="apple-touch-icon" sizes="120x120" href="/favicon/apple-icon-120x120.png"/><link rel="apple-touch-icon" sizes="144x144" href="/favicon/apple-icon-144x144.png"/><link rel="apple-touch-icon" sizes="152x152" href="/favicon/apple-icon-152x152.png"/><link rel="apple-touch-icon" sizes="180x180" href="/favicon/apple-icon-180x180.png"/><link rel="icon" type="image/png" sizes="192x192" href="/favicon/android-chrome-192x192.png"/><link rel="icon" type="image/png" sizes="32x32" href="/favicon/favicon-32x32.png"/><link rel="icon" type="image/png" sizes="96x96" href="/favicon/favicon-96x96.png"/><link rel="icon" type="image/png" sizes="16x16" href="/favicon/favicon-16x16.png"/><meta name="msapplication-TileColor" content="#ffffff"/><meta name="msapplication-TileImage" content="/favicon/ms-icon-144x144.png"/><meta name="theme-color" content="#ffffff"/><link rel="preconnect" href="https://fonts.googleapis.com"/><link rel="preconnect" href="https://fonts.gstatic.com" crossorigin="anonymous"/><link href="https://api.fontshare.com/v2/css?f[]=clash-display@400,500,600,700&amp;display=swap" rel="stylesheet"/>
10<script src="https://demo-worker.sheetal-rathi.workers.dev/birth-chart-widget.js" strategy="lazyOnload"></script>
10<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /><link data-next-font="" rel="preconnect" href="/" crossorigin="anonymous"/><link rel="preload" href="/_next/static/css/d19b82f40990339a.css" as="style" crossorigin=""/><link rel="stylesheet" href="/_next/static/css/d19b82f40990339a.css" crossorigin="" data-n-g=""/><noscript data-n-css=""></noscript>
10<script defer="" crossorigin="" nomodule="" src="/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script>
10<script src="/_next/static/chunks/webpack-e0c9ac4b85bd5186.js" defer="" crossorigin=""></script>
10<script src="/_next/static/chunks/framework-18d294c404ec4fd7.js" defer="" crossorigin=""></script>
10<script src="/_next/static/chunks/main-d9b797f05a76f928.js" defer="" crossorigin=""></script>
10<script src="/_next/static/chunks/pages/_app-0f017b82098448e9.js" defer="" crossorigin=""></script>
10<script src="/_next/static/chunks/pages/index-41db47e867cf9f23.js" defer="" crossorigin=""></script>
10<script src="/_next/static/2Oepl0nkC7Q7h24JTgxpP/_buildManifest.js" defer="" crossorigin=""></script>
10<script src="/_next/static/2Oepl0nkC7Q7h24JTgxpP/_ssgManifest.js" defer="" crossorigin=""></script>
10<style id="__jsx-15aa96cfb3f8b3a7">.perspective-container.jsx-15aa96cfb3f8b3a7{-webkit-perspective:1e3px;-moz-perspective:1e3px;perspective:1e3px;-webkit-perspective-origin:50%50%;-moz-perspective-origin:50%50%;perspective-origin:50%50%}.flowing-grid.jsx-15aa96cfb3f8b3a7{background-image:-webkit-linear-gradient(left,var(--border-color)1.5px,transparent 1.5px),-webkit-linear-gradient(top,var(--border-color)1.5px,transparent 1.5px);background-image:-moz-linear-gradient(left,var(--border-color)1.5px,transparent 1.5px),-moz-linear-gradient(top,var(--border-color)1.5px,transparent 1.5px);background-image:-o-linear-gradient(left,var(--border-color)1.5px,transparent 1.5px),-o-linear-gradient(top,var(--border-color)1.5px,transparent 1.5px);background-image:linear-gradient(to right,var(--border-color)1.5px,transparent 1.5px),linear-gradient(to bottom,var(--border-color)1.5px,transparent 1.5px);-webkit-background-size:60px 60px;-moz-background-size:60px 60px;-o-background-size:60px 60px;background-size:60px 60px;height:350%;width:350%;left:-125%;top:-125%;-webkit-transform:rotatex(55deg)translatey(0)translatez(0);-moz-transform:rotatex(55deg)translatey(0)translatez(0);transform:rotatex(55deg)translatey(0)translatez(0);-webkit-transform-origin:50%50%;-moz-transform-origin:50%50%;-ms-transform-origin:50%50%;-o-transform-origin:50%50%;transform-origin:50%50%;-webkit-animation:flow 5s linear infinite;-moz-animation:flow 5s linear infinite;-o-animation:flow 5s linear infinite;animation:flow 5s linear infinite;opacity:.6;will-change:transform,filter}.dark .flowing-grid.jsx-15aa96cfb3f8b3a7{opacity:.6;-webkit-filter:url(#wave-distortion)drop-shadow(0 0 2px var(--accent-primary));filter:url(#wave-distortion)drop-shadow(0 0 2px var(--accent-primary))}@-webkit-keyframes flow{from{-webkit-transform:rotatex(55deg)translatey(0);transform:rotatex(55deg)translatey(0)}to{-webkit-transform:rotatex(55deg)translatey(120px);transform:rotatex(55deg)translatey(120px)}}@-moz-keyframes flow{from{-moz-transform:rotatex(55deg)translatey(0);transform:rotatex(55deg)translatey(0)}to{-moz-transform:rotatex(55deg)translatey(120px);transform:rotatex(55deg)translatey(120px)}}@-o-keyframes flow{from{transform:rotatex(55deg)translatey(0)}to{transform:rotatex(55deg)translatey(120px)}}@keyframes flow{from{-webkit-transform:rotatex(55deg)translatey(0);-moz-transform:rotatex(55deg)translatey(0);transform:rotatex(55deg)translatey(0)}to{-webkit-transform:rotatex(55deg)translatey(120px);-moz-transform:rotatex(55deg)translatey(120px);transform:rotatex(55deg)translatey(120px)}}@media(max-width:768px){.flowing-grid.jsx-15aa96cfb3f8b3a7{-webkit-background-size:30px 30px;-moz-background-size:30px 30px;-o-background-size:30px 30px;background-size:30px 30px}}</style><style id="__jsx-6c2b34c4e941dc22">.video-teaser-shell.jsx-6c2b34c4e941dc22{background:-webkit-radial-gradient(50%18%,circle,rgba(255,205,120,.16),transparent 38%),-webkit-linear-gradient(top,rgba(255,255,255,.52),rgba(255,255,255,.04));background:-moz-radial-gradient(50%18%,circle,rgba(255,205,120,.16),transparent 38%),-moz-linear-gradient(top,rgba(255,255,255,.52),rgba(255,255,255,.04));background:-o-radial-gradient(50%18%,circle,rgba(255,205,120,.16),transparent 38%),-o-linear-gradient(top,rgba(255,255,255,.52),rgba(255,255,255,.04));background:radial-gradient(circle at 50%18%,rgba(255,205,120,.16),transparent 38%),linear-gradient(180deg,rgba(255,255,255,.52),rgba(255,255,255,.04));-webkit-box-shadow:0 24px 80px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.05);-moz-box-shadow:0 24px 80px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.05);box-shadow:0 24px 80px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.05)}.dark .video-teaser-shell.jsx-6c2b34c4e941dc22{background:-webkit-radial-gradient(50%18%,circle,rgba(255,196,107,.18),transparent 34%),-webkit-linear-gradient(top,rgba(12,16,24,.32),rgba(12,16,24,.08));background:-moz-radial-gradient(50%18%,circle,rgba(255,196,107,.18),transparent 34%),-moz-linear-gradient(top,rgba(12,16,24,.32),rgba(12,16,24,.08));background:-o-radial-gradient(50%18%,circle,rgba(255,196,107,.18),transparent 34%),-o-linear-gradient(top,rgba(12,16,24,.32),rgba(12,16,24,.08));background:radial-gradient(circle at 50%18%,rgba(255,196,107,.18),transparent 34%),linear-gradient(180deg,rgba(12,16,24,.32),rgba(12,16,24,.08));-webkit-box-shadow:0 24px 80px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.12);-moz-box-shadow:0 24px 80px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.12);box-shadow:0 24px 80px rgba(0,0,0,.2),0 8px 24px rgba(0,0,0,.12)}.video-teaser-shell.jsx-6c2b34c4e941dc22 video.jsx-6c2b34c4e941dc22,.video-teaser-shell.jsx-6c2b34c4e941dc22 iframe.jsx-6c2b34c4e941dc22{aspect-ratio:16/9}.video-teaser-overlay.jsx-6c2b34c4e941dc22{background:-webkit-linear-gradient(top,rgba(255,255,255,.24),rgba(255,255,255,.02)),-webkit-linear-gradient(top,rgba(0,0,0,.06),transparent 32%,rgba(0,0,0,.12));background:-moz-linear-gradient(top,rgba(255,255,255,.24),rgba(255,255,255,.02)),-moz-linear-gradient(top,rgba(0,0,0,.06),transparent 32%,rgba(0,0,0,.12));background:-o-linear-gradient(top,rgba(255,255,255,.24),rgba(255,255,255,.02)),-o-linear-gradient(top,rgba(0,0,0,.06),transparent 32%,rgba(0,0,0,.12));background:linear-gradient(180deg,rgba(255,255,255,.24),rgba(255,255,255,.02)),linear-gradient(180deg,rgba(0,0,0,.06),transparent 32%,rgba(0,0,0,.12))}.dark .video-teaser-overlay.jsx-6c2b34c4e941dc22{background:-webkit-linear-gradient(top,rgba(0,0,0,.18),transparent 34%,rgba(0,0,0,.2)),-webkit-linear-gradient(top,rgba(255,255,255,.05),rgba(255,255,255,0));background:-moz-linear-gradient(top,rgba(0,0,0,.18),transparent 34%,rgba(0,0,0,.2)),-moz-linear-gradient(top,rgba(255,255,255,.05),rgba(255,255,255,0));background:-o-linear-gradient(top,rgba(0,0,0,.18),transparent 34%,rgba(0,0,0,.2)),-o-l
10inear-gradient(top,rgba(255,255,255,.05),rgba(255,255,255,0));background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 34%,rgba(0,0,0,.2)),linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,0))}.video-kicker.jsx-6c2b34c4e941dc22{color:rgba(71,85,105,.9)}.dark .video-kicker.jsx-6c2b34c4e941dc22{color:rgba(226,232,240,.76)}.video-heading.jsx-6c2b34c4e941dc22{color:rgba(15,23,42,.95);text-shadow:0 4px 12px rgba(255,255,255,.18)}.dark .video-heading.jsx-6c2b34c4e941dc22{color:rgba(248,250,252,.96);text-shadow:0 8px 24px rgba(0,0,0,.28)}.video-play-trigger.jsx-6c2b34c4e941dc22{color:#fff6e8;-webkit-transform:translatez(0);-moz-transform:translatez(0);transform:translatez(0)}.video-play-aura.jsx-6c2b34c4e941dc22{background:-webkit-radial-gradient(circle,rgba(255,196,107,.36),rgba(255,196,107,.04)68%,transparent 72%);background:-moz-radial-gradient(circle,rgba(255,196,107,.36),rgba(255,196,107,.04)68%,transparent 72%);background:-o-radial-gradient(circle,rgba(255,196,107,.36),rgba(255,196,107,.04)68%,transparent 72%);background:radial-gradient(circle,rgba(255,196,107,.36),rgba(255,196,107,.04)68%,transparent 72%);-webkit-animation:videoAuraPulse 2.4s ease-in-out infinite;-moz-animation:videoAuraPulse 2.4s ease-in-out infinite;-o-animation:videoAuraPulse 2.4s ease-in-out infinite;animation:videoAuraPulse 2.4s ease-in-out infinite;-webkit-filter:blur(2px);filter:blur(2px)}.video-play-ring.jsx-6c2b34c4e941dc22{border:1px solid rgba(255,196,107,.42);-webkit-animation:videoRingPulse 2.4s ease-in-out infinite;-moz-animation:videoRingPulse 2.4s ease-in-out infinite;-o-animation:videoRingPulse 2.4s ease-in-out infinite;animation:videoRingPulse 2.4s ease-in-out infinite}.video-play-core.jsx-6c2b34c4e941dc22{background:-webkit-linear-gradient(top,rgba(255,200,118,.96),rgba(224,122,95,.94));background:-moz-linear-gradient(top,rgba(255,200,118,.96),rgba(224,122,95,.94));background:-o-linear-gradient(top,rgba(255,200,118,.96),rgba(224,122,95,.94));background:linear-gradient(180deg,rgba(255,200,118,.96),rgba(224,122,95,.94));-webkit-box-shadow:0 18px 40px rgba(224,122,95,.24),0 8px 18px rgba(255,196,107,.3);-moz-box-shadow:0 18px 40px rgba(224,122,95,.24),0 8px 18px rgba(255,196,107,.3);box-shadow:0 18px 40px rgba(224,122,95,.24),0 8px 18px rgba(255,196,107,.3);-webkit-transition:-webkit-transform 220ms ease,box-shadow 220ms ease;-moz-transition:-moz-transform 220ms ease,box-shadow 220ms ease;-o-transition:-o-transform 220ms ease,box-shadow 220ms ease;transition:-webkit-transform 220ms ease,box-shadow 220ms ease;transition:-moz-transform 220ms ease,box-shadow 220ms ease;transition:-o-transform 220ms ease,box-shadow 220ms ease;transition:transform 220ms ease,box-shadow 220ms ease}.video-play-icon.jsx-6c2b34c4e941dc22{-webkit-transform:translatex(2px);-moz-transform:translatex(2px);-ms-transform:translatex(2px);-o-transform:translatex(2px);transform:translatex(2px);-webkit-animation:videoPlayNudge 1.8s ease-in-out infinite;-moz-animation:videoPlayNudge 1.8s ease-in-out infinite;-o-animation:videoPlayNudge 1.8s ease-in-out infinite;animation:videoPlayNudge 1.8s ease-in-out infinite;-webkit-filter:drop-shadow(0 2px 4px rgba(0,0,0,.12));filter:drop-shadow(0 2px 4px rgba(0,0,0,.12))}.group.jsx-6c2b34c4e941dc22:hover .video-play-aura.jsx-6c2b34c4e941dc22,.video-play-trigger.jsx-6c2b34c4e941dc22:hover .video-play-aura.jsx-6c2b34c4e941dc22{-webkit-animation-duration:1.6s;-moz-animation-duration:1.6s;-o-animation-duration:1.6s;animation-duration:1.6s;opacity:1}.group.jsx-6c2b34c4e941dc22:hover .video-play-ring.jsx-6c2b34c4e941dc22,.video-play-trigger.jsx-6c2b34c4e941dc22:hover .video-play-ring.jsx-6c2b34c4e941dc22{-webkit-animation-duration:1.5s;-moz-animation-duration:1.5s;-o-animation-duration:1.5s;animation-duration:1.5s}.group.jsx-6c2b34c4e941dc22:hover .video-play-core.jsx-6c2b34c4e941dc22,.video-play-trigger.jsx-6c2b34c4e941dc22:hover .video-play-core.jsx-6c2b34c4e941dc22{-webkit-transform:scale(1.08);-moz-transform:scale(1.08);-ms-transform:scale(1.08);-o-transform:scale(1.08);transform:scale(1.08);-webkit-box-shadow:0 22px 50px rgba(224,122,95,.28),0 10px 24px rgba(255,196,107,.34);-moz-box-shadow:0 22px 50px rgba(224,122,95,.28),0 10px 24px rgba(255,196,107,.34);box-shadow:0 22px 50px rgba(224,122,95,.28),0 10px 24px rgba(255,196,107,.34)}.group.jsx-6c2b34c4e941dc22:hover .video-play-icon.jsx-6c2b34c4e941dc22,.video-play-trigger.jsx-6c2b34c4e941dc22:hover .video-play-icon.jsx-6c2b34c4e941dc22{-webkit-animation-duration:.9s;-moz-animation-duration:.9s;-o-animation-duration:.9s;animation-duration:.9s}.video-modal-backdrop.jsx-6c2b34c4e941dc22{background:rgba(0,0,0,.1)}.video-modal-panel.jsx-6c2b34c4e941dc22{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);-webkit-box-shadow:0 30px 100px rgba(15,23,42,.16),0 16px 32px rgba(15,23,42,.08);-moz-box-shadow:0 30px 100px rgba(15,23,42,.16),0 16px 32px rgba(15,23,42,.08);box-shadow:0 30px 100px rgba(15,23,42,.16),0 16px 32px rgba(15,23,42,.08)}.dark .video-modal-panel.jsx-6c2b34c4e941dc22{background:rgba(10,14,24,.88);-webkit-box-shadow:0 30px 100px rgba(0,0,0,.28),0 16px 32px rgba(0,0,0,.14);-moz-box-shadow:0 30px 100px rgba(0,0,0,.28),0 16px 32px rgba(0,0,0,.14);box-shadow:0 30px 100px rgba(0,0,0,.28),0 16px 32px rgba(0,0,0,.14)}.video-modal-close.jsx-6c2b34c4e941dc22{color:rgba(15,23,42,.84);background:rgba(255,255,255,.74);border:1px solid rgba(148,163,184,.2);-webkit-transition:-webkit-transform 180ms ease,background 180ms ease,color 180ms ease;-moz-transition:-moz-transform 180ms ease,background 180ms ease,color 180ms ease;-o-transition:-o-transform 180ms ease,background 180ms ease,color 180ms ease;transition:-webkit-transform 180ms ease,background 180ms ease,color 180ms ease;transition:-moz-transform 180ms ease,background 180ms ease,color 180ms ease;transition:-o-transform 180ms ease,background 180ms ease,color 180ms ease;transition:transform 180ms ease,background 180ms ease,color 180ms ease}.dark .video-modal-close.jsx-6c2b34c4e941dc22{color:rgba(248,250,252,.94);background:rgba(15,23,42,.62);border-color:rgba(148,163,184,.18)}.video-modal-close.jsx-6c2b34c4e941dc22:hover{-webkit-transform:scale(1.05);-moz-transform:scale(1.05);-ms-transform:scale(1.05);-o-transform:scale(1.05);transform:scale(1.05);background:rgba(255,255,255,.94)}.dark .video-modal-close.jsx-6c2b34c4e941dc22:hover{background:rgba(30,41,59,.92)}.video-modal-player.jsx-6c2b34c4e941dc22{max-height:min(78vh,860px);aspect-ratio:16/9;background:#000}@-webkit-keyframes videoAuraPulse{0%,100%{-webkit-transform:scale(.94);transform:scale(.94);opacity:.75}50%{-webkit-transform:scale(1.08);transform:scale(1.08);opacity:1}}@-moz-keyframes videoAuraPulse{0%,100%{-moz-transform:scale(.94);transform:scale(.94);opacity:.75}50%{-moz-transform:scale(1.08);transform:scale(1.08);opacity:1}}@-o-keyframes videoAuraPulse{0%,100%{-o-transform:scale(.94);transform:scale(.94);opacity:.75}50%{-o-transform:scale(1.08);transform:scale(1.08);opacity:1}}@keyframes videoAuraPulse{0%,100%{-webkit-transform:scale(.94);-moz-transform:scale(.94);-o-transform:scale(.94);transform:scale(.94);opacity:.75}50%{-webkit-transform:scale(1.08);-moz-transform:scale(1.08);-o-transform:scale(1.08);transform:scale(1.08);opacity:1}}@-webkit-keyframes videoRingPulse{0%,100%{-webkit-transform:scale(.98);transform:scale(.98);opacity:.42}50%{-webkit-transform:scale(1.12);transform:scale(1.12);opacity:.88}}@-moz-keyframes videoRingPulse{0%,100%{-moz-transform:scale(.98);transform:scale(.98);opacity:.42}50%{-moz-transform:scale(1.12);transform:scale(1.12);opacity:.88}}@-o-keyframes videoRingPulse{0%,100%{-o-transform:scale(.98);transform:scale(.98);opacity:.42}50%{-o-transform:scale(1.12);transform:scale(1.12);opacity:.88}}@keyframes videoRingPulse{0%,100%{-webkit-transform:scale(.98);-moz-transform:scale(.98);-o-transform:scale(.98);transform:scale(.98);opacity:.42}50%{-webkit-transform:scale(1.12);-moz-transform:scale(1.12);-o-transform:scale(1.12);transform:scale(1.12);opacity:.88}}
10@-webkit-keyframes videoPlayNudge{0%,100%{-webkit-transform:translatex(2px)scale(1);transform:translatex(2px)scale(1)}50%{-webkit-transform:translatex(5px)scale(1.06);transform:translatex(5px)scale(1.06)}}@-moz-keyframes videoPlayNudge{0%,100%{-moz-transform:translatex(2px)scale(1);transform:translatex(2px)scale(1)}50%{-moz-transform:translatex(5px)scale(1.06);transform:translatex(5px)scale(1.06)}}@-o-keyframes videoPlayNudge{0%,100%{-o-transform:translatex(2px)scale(1);transform:translatex(2px)scale(1)}50%{-o-transform:translatex(5px)scale(1.06);transform:translatex(5px)scale(1.06)}}@keyframes videoPlayNudge{0%,100%{-webkit-transform:translatex(2px)scale(1);-moz-transform:translatex(2px)scale(1);-o-transform:translatex(2px)scale(1);transform:translatex(2px)scale(1)}50%{-webkit-transform:translatex(5px)scale(1.06);-moz-transform:translatex(5px)scale(1.06);-o-transform:translatex(5px)scale(1.06);transform:translatex(5px)scale(1.06)}}@media(max-width:767px){.video-play-trigger.jsx-6c2b34c4e941dc22{height:5.5rem;width:5.5rem}.video-play-core.jsx-6c2b34c4e941dc22{height:4.5rem;width:4.5rem}}@media(prefers-reduced-motion:reduce){.video-play-aura.jsx-6c2b34c4e941dc22,.video-play-ring.jsx-6c2b34c4e941dc22,.video-play-icon.jsx-6c2b34c4e941dc22{-webkit-animation:none!important;-moz-animation:none!important;-o-animation:none!important;animation:none!important}.video-play-core.jsx-6c2b34c4e941dc22,.video-play-trigger.jsx-6c2b34c4e941dc22,.video-modal-close.jsx-6c2b34c4e941dc22{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}}</style><style id="__jsx-b217c39370714247">@-webkit-keyframes marquee{0%{-webkit-transform:translatex(0);transform:translatex(0)}100%{-webkit-transform:translatex(-50%);transform:translatex(-50%)}}@-moz-keyframes marquee{0%{-moz-transform:translatex(0);transform:translatex(0)}100%{-moz-transform:translatex(-50%);transform:translatex(-50%)}}@-o-keyframes marquee{0%{-o-transform:translatex(0);transform:translatex(0)}100%{-o-transform:translatex(-50%);transform:translatex(-50%)}}@keyframes marquee{0%{-webkit-transform:translatex(0);-moz-transform:translatex(0);-o-transform:translatex(0);transform:translatex(0)}100%{-webkit-transform:translatex(-50%);-moz-transform:translatex(-50%);-o-transform:translatex(-50%);transform:translatex(-50%)}}@-webkit-keyframes marquee-reverse{0%{-webkit-transform:translatex(-50%);transform:translatex(-50%)}100%{-webkit-transform:translatex(0);transform:translatex(0)}}@-moz-keyframes marquee-reverse{0%{-moz-transform:translatex(-50%);transform:translatex(-50%)}100%{-moz-transform:translatex(0);transform:translatex(0)}}@-o-keyframes marquee-reverse{0%{-o-transform:translatex(-50%);transform:translatex(-50%)}100%{-o-transform:translatex(0);transform:translatex(0)}}@keyframes marquee-reverse{0%{-webkit-transform:translatex(-50%);-moz-transform:translatex(-50%);-o-transform:translatex(-50%);transform:translatex(-50%)}100%{-webkit-transform:translatex(0);-moz-transform:translatex(0);-o-transform:translatex(0);transform:translatex(0)}}.animate-marquee{-webkit-animation:marquee 40s linear infinite;-moz-animation:marquee 40s linear infinite;-o-animation:marquee 40s linear infinite;animation:marquee 40s linear infinite}.animate-marquee-reverse{-webkit-animation:marquee-reverse 40s linear infinite;-moz-animation:marquee-reverse 40s linear infinite;-o-animation:marquee-reverse 40s linear infinite;animation:marquee-reverse 40s linear infinite}</style><style id="__jsx-2274f9b712eba5da">.bento-card-animation{-webkit-animation:bentoReveal.55s cubic-bezier(.22,1,.36,1)both;-moz-animation:bentoReveal.55s cubic-bezier(.22,1,.36,1)both;-o-animation:bentoReveal.55s cubic-bezier(.22,1,.36,1)both;animation:bentoReveal.55s cubic-bezier(.22,1,.36,1)both;opacity:0}
10@-webkit-keyframes bentoReveal{from{opacity:0;-webkit-transform:translatey(24px)scale(.97);transform:translatey(24px)scale(.97)}to{opacity:1;-webkit-transform:translatey(0)scale(1);transform:translatey(0)scale(1)}}@-moz-keyframes bentoReveal{from{opacity:0;-moz-transform:translatey(24px)scale(.97);transform:translatey(24px)scale(.97)}to{opacity:1;-moz-transform:translatey(0)scale(1);transform:translatey(0)scale(1)}}@-o-keyframes bentoReveal{from{opacity:0;-o-transform:translatey(24px)scale(.97);transform:translatey(24px)scale(.97)}to{opacity:1;-o-transform:translatey(0)scale(1);transform:translatey(0)scale(1)}}@keyframes bentoReveal{from{opacity:0;-webkit-transform:translatey(24px)scale(.97);-moz-transform:translatey(24px)scale(.97);-o-transform:translatey(24px)scale(.97);transform:translatey(24px)scale(.97)}to{opacity:1;-webkit-transform:translatey(0)scale(1);-moz-transform:translatey(0)scale(1);-o-transform:translatey(0)scale(1);transform:translatey(0)scale(1)}}.bento-expand-icon{-webkit-transition:-webkit-transform.35s ease,border-color.35s ease,color.35s ease;-moz-transition:-moz-transform.35s ease,border-color.35s ease,color.35s ease;-o-transition:-o-transform.35s ease,border-color.35s ease,color.35s ease;transition:-webkit-transform.35s ease,border-color.35s ease,color.35s ease;transition:-moz-transform.35s ease,border-color.35s ease,color.35s ease;transition:-o-transform.35s ease,border-color.35s ease,color.35s ease;transition:transform.35s ease,border-color.35s ease,color.35s ease}.group\/card:hover .bento-expand-icon{-webkit-transform:scale(1.12)rotate(12deg);-moz-transform:scale(1.12)rotate(12deg);-ms-transform:scale(1.12)rotate(12deg);-o-transform:scale(1.12)rotate(12deg);transform:scale(1.12)rotate(12deg);border-color:rgba(255,196,107,.55);color:#ffc46b}.xv-frame{--xv-ink:#1b1d38;--xv-ink-soft:#5a5f78;--xv-surface:#ffffff;--xv-wash:#f5f4fa;--xv-line:rgba(27, 29, 56, 0.12);--xv-line-strong:rgba(27, 29, 56, 0.26);--xv-accent:var(--accent-primary);--xv-accent-soft:rgba(var(--accent-primary-rgb), 0.12);--xv-on-accent:var(--accent-contrast-text);--xv-gold:#b7791f;--xv-gold-soft:rgba(215, 150, 40, 0.16);--xv-cool:#0e7fa6;--xv-rose:#d0417f;--xv-good:#23875a;--xv-good-soft:rgba(35, 135, 90, 0.12);--xv-bad:#cc4639;--xv-bad-soft:rgba(204, 70, 57, 0.12);--xv-glow:rgba(var(--accent-primary-rgb), 0.35);position:relative;width:100%;height:100%;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;overflow:hidden;isolation:isolate;color:var(--xv-ink);background:var(--xv-wash);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px}.dark .xv-frame{--xv-ink:#eeeaf7;--xv-ink-soft:#a29fb4;--xv-surface:#15151b;--xv-wash:#0b0b10;--xv-line:rgba(255, 255, 255, 0.11);--xv-line-strong:rgba(255, 255, 255, 0.24);--xv-gold:#f2b44f;--xv-gold-soft:rgba(242, 180, 79, 0.16);--xv-cool:#5ec4e6;--xv-rose:#ff80b5;--xv-good:#5dd08f;--xv-good-soft:rgba(93, 208, 143, 0.14);--xv-bad:#ff7b6b;--xv-bad-soft:rgba(255, 123, 107, 0.14);--xv-glow:rgba(var(--accent-primary-rgb), 0.32)}.xv-stage{display:block;width:100%;height:100%;overflow:visible}.xv-mono{font-family:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-variant-numeric:tabular-nums}.xv-glyph{font-family:"Apple Symbols","Segoe UI Symbol","Noto Sans Symbols","Noto Sans Symbols 2","DejaVu Sans",sans-serif;font-style:normal;font-weight:400;font-variant-emoji:text}.xv-panel{background:var(--xv-surface);border:1px solid var(--xv-line);-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;color:var(--xv-ink)}.xv-panel-head{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:8px;padding:6px 9px;border-bottom:1px solid var(--xv-line);font-size:9px;line-height:12px}.xv-panel-title{font-weight:700;letter-spacing:.04em;color:var(--xv-ink)}.xv-panel-meta{color:var(--xv-ink-soft)}.xv-chip{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;
10height:16px;padding:0 7px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;border:1px solid var(--xv-line-strong);background:var(--xv-surface);color:var(--xv-ink);font-size:9.5px;font-weight:600;line-height:1;white-space:nowrap}.xv-chip-accent{color:var(--xv-accent);background:var(--xv-accent-soft);border-color:var(--xv-accent)}.xv-chip-gold{color:var(--xv-gold);background:var(--xv-gold-soft);border-color:var(--xv-gold)}.xv-chip-good{color:var(--xv-good);background:var(--xv-good-soft);border-color:var(--xv-good)}.xv-chip-bad{color:var(--xv-bad);background:var(--xv-bad-soft);border-color:var(--xv-bad)}.xv-chip-lead{font-weight:800}.xv-frame:not(.xv-live),.xv-frame:not(.xv-live) *{-webkit-animation-play-state:paused!important;-moz-animation-play-state:paused!important;-o-animation-play-state:paused!important;animation-play-state:paused!important}@media(prefers-reduced-motion:reduce){.xv-frame,.xv-frame *{-webkit-animation:none!important;-moz-animation:none!important;-o-animation:none!important;animation:none!important;-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.bento-card-animation{-webkit-animation:none;-moz-animation:none;-o-animation:none;animation:none;opacity:1}}</style><style id="__jsx-4694bff8ed215a33">.ga-root{--ga-ink:#0f172a;--ga-ink-soft:#475569;--ga-ink-faint:#5b6679;--ga-surface:#ffffff;--ga-wash:#f6f7fb;--ga-line:#e2e8f0;--ga-line-strong:#cbd5e1;--ga-accent:var(--accent-primary);--ga-accent-ink:#4f4ae6;--ga-accent-soft:rgba(var(--accent-primary-rgb), 0.1);--ga-accent-mid:rgba(var(--accent-primary-rgb), 0.22);--ga-on-accent:var(--accent-contrast-text);--ga-good:#15803d;--ga-good-soft:rgba(21, 128, 61, 0.1);--ga-warn:#b45309;--ga-warn-soft:rgba(180, 83, 9, 0.08);--ga-shadow:0 1px 2px rgba(15, 23, 42, 0.04),
11        0 18px 40px -22px rgba(15, 23, 42, 0.22);--ga-code-bg:#11181f;--ga-code-head:#1a222c;--ga-code-line:#32404f;--ga-code-ink:#c9d5e0;--ga-code-soft:#8a9bac;--ga-code-active:#22303e;--ga-code-key:#7dd3fc;--ga-code-str:#9df5a8;--ga-code-num:#f0b866;--ga-code-punct:#7b8a9c;--ga-code-cmd:#c4b5fd;--ga-code-focus:#7dd3fc;--ga-band-bg:#0b0c1d;--ga-band-card:rgba(255, 255, 255, 0.035);--ga-band-ink:#eef0fb;--ga-band-soft:#a9aec8;--ga-band-line:rgba(255, 255, 255, 0.1);--ga-band-accent:#a9a6ff;--ga-band-accent-rgb:169, 166, 255;color:var(--ga-ink);overflow-x:clip}.dark .ga-root{--ga-ink:#f0f0f0;--ga-ink-soft:#a8a8a8;--ga-ink-faint:#8f8f8f;--ga-surface:#111111;--ga-wash:#0a0a0a;--ga-line:#293034;--ga-line-strong:#3b464c;--ga-accent-ink:var(--accent-primary);--ga-accent-soft:rgba(var(--accent-primary-rgb), 0.1);--ga-accent-mid:rgba(var(--accent-primary-rgb), 0.24);--ga-good:#5dd08f;--ga-good-soft:rgba(93, 208, 143, 0.12);--ga-warn:#f2b44f;--ga-warn-soft:rgba(242, 180, 79, 0.08);--ga-shadow:0 18px 40px -24px rgba(0, 0, 0, 0.8);--ga-code-bg:#0c1116;--ga-code-head:#131a21;--ga-code-line:#26313c;--ga-band-bg:#0a0b17;--ga-band-line:rgba(255, 255, 255, 0.09);--ga-band-accent:var(--accent-primary);--ga-band-accent-rgb:var(--accent-primary-rgb)}.ga-mono{font-family:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-variant-numeric:tabular-nums}.ga-link{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:14px;font-weight:700;color:var(--ga-accent-ink);-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:gap.2s ease;-moz-transition:gap.2s ease;-o-transition:gap.2s ease;transition:gap.2s ease}.ga-link:hover{gap:10px}.ga-root a:focus-visible,.ga-root button:focus-visible,.ga-root [tabindex="0"]:focus-visible{outline:2px solid var(--ga-accent);outline-offset:2px}.ga-panel{background:var(--ga-surface);border:1px solid var(--ga-line);-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;-webkit-box-shadow:var(--ga-shadow);-moz-box-shadow:var(--ga-shadow);box-shadow:var(--ga-shadow);min-width:0}.ga-panel-head{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;
11-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:12px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--ga-line);font-size:12px;line-height:18px}.ga-panel-title{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-weight:800;color:var(--ga-ink)}.ga-panel-meta{color:var(--ga-ink-faint);font-size:12px}.ga-live-dot{width:8px;height:8px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:var(--ga-good);-webkit-box-shadow:0 0 0 3px var(--ga-good-soft);-moz-box-shadow:0 0 0 3px var(--ga-good-soft);box-shadow:0 0 0 3px var(--ga-good-soft)}.ga-reserve{display:grid}.ga-reserve>*{grid-area:1/1;min-width:0}.ga-ghost{visibility:hidden;pointer-events:none}.ga-tabs{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px}.ga-tab{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-webkit-align-items:baseline;-moz-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:6px;padding:8px 14px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;border:1px solid var(--ga-line);background:var(--ga-wash);color:var(--ga-ink-soft);font-size:13px;line-height:18px;font-weight:700;-webkit-transition:border-color.2s,background.2s,color.2s;-moz-transition:border-color.2s,background.2s,color.2s;-o-transition:border-color.2s,background.2s,color.2s;transition:border-color.2s,background.2s,color.2s}.ga-tab:hover{border-color:var(--ga-accent)}.ga-tab[aria-selected="true"]{background:var(--ga-accent);border-color:var(--ga-accent);color:var(--ga-on-accent)}.ga-tab-sub{font-size:11px;font-weight:600;opacity:.8}.ga-switch{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:6px 8px 6px 12px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;border:1px solid var(--ga-line);background:var(--ga-surface);font-size:13px;font-weight:700;color:var(--ga-ink)}.ga-switch-state{min-width:24px;font-size:12px;color:var(--ga-ink-soft)}.ga-switch-track{position:relative;width:38px;height:22px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;background:var(--ga-line-strong);-webkit-transition:background.2s;-moz-transition:background.2s;-o-transition:background.2s;transition:background.2s;-webkit-box-flex:0;-webkit-flex:none;-moz-box-flex:0;-ms-flex:none;flex:none}.ga-switch-track::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:#fff;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.25);-moz-box-shadow:0 1px 2px rgba(0,0,0,.25);box-shadow:0 1px 2px rgba(0,0,0,.25);-webkit-transition:-webkit-transform.2s;-moz-transition:-moz-transform.2s;-o-transition:-o-transform.2s;transition:-webkit-transform.2s;transition:-moz-transform.2s;transition:-o-transform.2s;transition:transform.2s}.ga-switch[aria-checked="true"] .ga-switch-track{background:var(--ga-accent)}.ga-switch[aria-checked="true"] .ga-switch-track::after{-webkit-transform:translatex(16px);-moz-transform:translatex(16px);-ms-transform:translatex(16px);-o-transform:translatex(16px);transform:translatex(16px)}.ga-chip{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:3px 9px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;border:1px solid var(--ga-line);background:var(--ga-wash);color:var(--ga-ink-soft);font-size:11px;line-height:16px;font-weight:600;max-width:100%}
11.ga-chat-body{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:16px;padding:18px 16px 16px}.ga-msg-user{-webkit-align-self:flex-end;-ms-flex-item-align:end;align-self:flex-end;max-width:88%;padding:10px 14px;-webkit-border-radius:14px 14px 4px 14px;-moz-border-radius:14px 14px 4px 14px;border-radius:14px 14px 4px 14px;background:var(--ga-accent);color:var(--ga-on-accent);font-size:14px;line-height:21px;font-weight:600}.ga-msg-ai{-webkit-align-self:stretch;-ms-flex-item-align:stretch;align-self:stretch;-webkit-border-radius:4px 14px 14px 14px;-moz-border-radius:4px 14px 14px 14px;border-radius:4px 14px 14px 14px;border:1px solid var(--ga-line);background:var(--ga-wash);padding:12px 14px 12px}.ga-msg-meta{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;line-height:16px;color:var(--ga-ink-faint)}.ga-msg-meta b{color:var(--ga-ink);font-weight:800}.ga-pulse{width:6px;height:6px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:var(--ga-accent);-webkit-animation:gaPulse 1s ease-in-out infinite;-moz-animation:gaPulse 1s ease-in-out infinite;-o-animation:gaPulse 1s ease-in-out infinite;animation:gaPulse 1s ease-in-out infinite}.ga-answer{font-size:15px;line-height:25px;color:var(--ga-ink);margin:0}.ga-claim{color:inherit;text-decoration:none;background:var(--ga-accent-soft);border-bottom:1.5px solid var(--ga-accent);-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;padding:1px 2px;box-decoration-break:clone;-webkit-box-decoration-break:clone;cursor:pointer;-webkit-transition:background.15s;-moz-transition:background.15s;-o-transition:background.15s;transition:background.15s}.ga-claim.is-active{background:var(--ga-accent-mid)}.ga-cite{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;min-width:17px;height:17px;margin-left:4px;padding:0 4px;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px;background:var(--ga-accent);color:var(--ga-on-accent);font-size:11px;line-height:1;font-weight:800;vertical-align:2px}.ga-caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-2px;background:var(--ga-accent);-webkit-animation:gaBlink.9s steps(1)infinite;-moz-animation:gaBlink.9s steps(1)infinite;-o-animation:gaBlink.9s steps(1)infinite;animation:gaBlink.9s steps(1)infinite}.ga-typing{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:4px;padding:8px 0}.ga-typing i{width:6px;height:6px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:var(--ga-ink-faint);-webkit-animation:gaBounce 1s ease-in-out infinite;-moz-animation:gaBounce 1s ease-in-out infinite;-o-animation:gaBounce 1s ease-in-out infinite;animation:gaBounce 1s ease-in-out infinite}.ga-typing i:nth-child(2){-webkit-animation-delay:.15s;-moz-animation-delay:.15s;-o-animation-delay:.15s;animation-delay:.15s}.ga-typing i:nth-child(3){-webkit-animation-delay:.3s;-moz-animation-delay:.3s;-o-animation-delay:.3s;animation-delay:.3s}.ga-verdict{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;margin-top:12px;padding:3px 10px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;font-size:12px;line-height:18px;font-weight:700;-webkit-transition:opacity.3s;-moz-transition:opacity.3s;-o-transition:opacity.3s;transition:opacity.3s}.ga-verdict.is-good{color:var(--ga-good);background:var(--ga-good-soft)}.ga-verdict.is-warn{color:var(--ga-warn);background:var(--ga-warn-soft)}.ga-verdict.is-hidden{opacity:0}
11.ga-ev-list{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px;padding:14px;margin:0;list-style:none}.ga-ev-row{display:grid;grid-template-columns:24px minmax(0,1fr);gap:10px;padding:10px 12px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;border:1px solid var(--ga-line);background:var(--ga-surface);cursor:default;-webkit-transition:border-color.15s,background.15s,box-shadow.15s,opacity.3s,-webkit-transform.3s;-moz-transition:border-color.15s,background.15s,box-shadow.15s,opacity.3s,-moz-transform.3s;-o-transition:border-color.15s,background.15s,box-shadow.15s,opacity.3s,-o-transform.3s;transition:border-color.15s,background.15s,box-shadow.15s,opacity.3s,-webkit-transform.3s;transition:border-color.15s,background.15s,box-shadow.15s,opacity.3s,-moz-transform.3s;transition:border-color.15s,background.15s,box-shadow.15s,opacity.3s,-o-transform.3s;transition:border-color.15s,background.15s,box-shadow.15s,opacity.3s,transform.3s}.ga-ev-row.is-pending{opacity:.38;-webkit-transform:translatey(4px);-moz-transform:translatey(4px);-ms-transform:translatey(4px);-o-transform:translatey(4px);transform:translatey(4px)}.ga-ev-row.is-active{border-color:var(--ga-accent);background:var(--ga-accent-soft);-webkit-box-shadow:0 0 0 3px var(--ga-accent-soft);-moz-box-shadow:0 0 0 3px var(--ga-accent-soft);box-shadow:0 0 0 3px var(--ga-accent-soft)}.ga-ev-num{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;width:24px;height:24px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;background:var(--ga-accent);color:var(--ga-on-accent);font-size:12px;font-weight:800}.ga-ev-row.is-pending .ga-ev-num{background:var(--ga-line-strong);color:var(--ga-ink-soft)}.ga-ev-top{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-webkit-align-items:baseline;-moz-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;-webkit-box-pack:justify;-webkit-justify-content:space-between;-moz-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;gap:8px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap}.ga-ev-src{font-size:12px;line-height:18px;font-weight:700;color:var(--ga-accent-ink);word-wrap:anywhere;overflow-wrap:anywhere}.ga-ev-label{font-size:11px;line-height:16px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ga-ink-faint)}.ga-ev-value{margin-top:2px;font-size:14px;line-height:20px;font-weight:700;color:var(--ga-ink)}.ga-empty{margin:14px;padding:18px 16px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;border:1.5px dashed var(--ga-warn);background:var(--ga-warn-soft);-webkit-align-self:start;-ms-flex-item-align:start;align-self:start}.ga-empty-title{font-size:15px;line-height:22px;font-weight:800;color:var(--ga-ink)}.ga-empty p{margin-top:6px;font-size:13px;line-height:20px;color:var(--ga-ink-soft)}.ga-strip{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:8px 10px;font-size:13px;line-height:20px;color:var(--ga-ink-soft)}.ga-strip-item{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:baseline;-webkit-align-items:baseline;-moz-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:6px;padding:6px 12px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;border:1px solid var(--ga-line);background:var(--ga-surface);color:var(--ga-ink-soft);-webkit-transition:border-color.2s;-moz-transition:border-color.2s;-o-transition:border-color.2s;transition:border-color.2s}.ga-strip-item:hover{border-color:var(--ga-accent)}.ga-strip-item b{color:var(--ga-ink);font-weight:800}.ga-code{background:var(--ga-code-bg);border:1px solid var(--ga-code-line);-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;overflow:hidden;min-width:0;color:var(--ga-code-ink)}.ga-code-head{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:8px 10px;background:var(--ga-code-head);border-bottom:1px solid var(--ga-code-line)}.ga-code-tabs{-webkit-box-flex:1;-webkit-flex:1 1 auto;-moz-box-flex:1;-ms-flex:1 1 auto;flex:1 1 auto;min-width:0;overflow-x:auto;scrollbar-width:none;padding:2px;margin:-2px}@media(max-width:639px){.ga-code-tabs{-webkit-mask-image:-webkit-linear-gradient(left,#000 82%,transparent);-webkit-mask-image:-moz-linear-gradient(left,#000 82%,transparent);-webkit-mask-image:-o-linear-gradient(left,#000 82%,transparent);-webkit-mask-image:linear-gradient(to right,#000 82%,transparent);mask-image:-webkit-linear-gradient(left,#000 82%,transparent);mask-image:-moz-linear-gradient(left,#000 82%,transparent);mask-image:-o-linear-gradient(left,#000 82%,transparent);mask-image:linear-gradient(to right,#000 82%,transparent)}}.ga-code-tab{-webkit-box-flex:0;-webkit-flex:none;-moz-box-flex:0;-ms-flex:none;flex:none;padding:5px 10px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;border:1px solid transparent;color:var(--ga-code-soft);font-size:12px;line-height:16px;font-weight:700;white-space:nowrap}.ga-code-tab[aria-selected="true"]{color:#e3edf5;background:var(--ga-code-active);border-color:var(--ga-code-line)}.ga-code-tab:focus-visible,.ga-copy:focus-visible{outline-color:var(--ga-code-focus)!important}.ga-code-title{padding:5px 4px;font-size:12px;line-height:16px;font-weight:700;color:#e3edf5;white-space:nowrap}.ga-copy{-webkit-box-flex:0;-webkit-flex:none;-moz-box-flex:0;-ms-flex:none;flex:none;margin-left:auto;padding:5px 10px;-webkit-border-radius:7px;-moz-border-radius:7px;border-radius:7px;border:1px solid var(--ga-code-line);background:var(--ga-code-bg);color:#e3edf5;font-size:12px;line-height:16px;font-weight:700;min-width:64px}.ga-copy.is-copied{color:#9df5a8}.ga-copy.is-failed{color:#fca5a5}.ga-pre{margin:0;padding:14px 16px;overflow-x:auto;font-size:12.5px;line-height:1.7;white-space:pre;color:var(--ga-code-ink)}.ga-code-note{padding:10px 16px 12px;border-top:1px solid var(--ga-code-line);font-size:12px;line-height:18px;color:var(--ga-code-soft)}.ga-tok-k{color:var(--ga-code-key)}.ga-tok-s{color:var(--ga-code-str)}.ga-tok-n{color:var(--ga-code-num)}.ga-tok-p{color:var(--ga-code-punct)}.ga-tok-f{color:var(--ga-code-key)}.ga-tok-cmd{color:var(--ga-code-cmd)}.ga-trace{position:relative;list-style:none;margin:0;padding:18px 16px 18px 16px}.ga-step{position:relative;padding-left:30px;padding-bottom:18px;-webkit-transition:opacity.45s ease,-webkit-transform.45s ease;-moz-transition:opacity.45s ease,-moz-transform.45s ease;-o-transition:opacity.45s ease,-o-transform.45s ease;transition:opacity.45s ease,-webkit-transform.45s ease;transition:opacity.45s ease,-moz-transform.45s ease;transition:opacity.45s ease,-o-transform.45s ease;transition:opacity.45s ease,transform.45s ease}.ga-step:last-child{padding-bottom:0}.ga-step::before{content:"";position:absolute;
11left:7px;top:18px;bottom:0;width:2px;background:var(--ga-line)}.ga-step:last-child::before{display:none}.ga-step.is-in::before{background:-webkit-linear-gradient(var(--ga-accent),var(--ga-line));background:-moz-linear-gradient(var(--ga-accent),var(--ga-line));background:-o-linear-gradient(var(--ga-accent),var(--ga-line));background:linear-gradient(var(--ga-accent),var(--ga-line))}.ga-step.is-out{opacity:.22;-webkit-transform:translatey(6px);-moz-transform:translatey(6px);-ms-transform:translatey(6px);-o-transform:translatey(6px);transform:translatey(6px)}.ga-node{position:absolute;left:0;top:2px;width:16px;height:16px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;border:2px solid var(--ga-line-strong);background:var(--ga-surface)}.ga-step.is-in .ga-node{border-color:var(--ga-accent);background:var(--ga-accent);-webkit-box-shadow:0 0 0 4px var(--ga-accent-soft);-moz-box-shadow:0 0 0 4px var(--ga-accent-soft);box-shadow:0 0 0 4px var(--ga-accent-soft)}.ga-step-label{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;font-size:11px;line-height:18px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--ga-ink-faint);margin-bottom:6px}.ga-step-text{font-size:14px;line-height:22px;color:var(--ga-ink)}.ga-mini{background:var(--ga-code-bg);border:1px solid var(--ga-code-line);-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;padding:10px 12px;margin:0;font-size:12px;line-height:1.65;color:var(--ga-code-ink);overflow-x:auto;white-space:pre}.ga-val{font-weight:800;color:var(--ga-accent-ink);background:var(--ga-accent-soft);-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;padding:0 1px}.ga-badge-good{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:2px 9px;-webkit-border-radius:999px;-moz-border-radius:999px;border-radius:999px;background:var(--ga-good-soft);color:var(--ga-good);font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:none}.ga-ghost-btn{padding:4px 10px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;border:1px solid var(--ga-line);font-size:12px;font-weight:700;color:var(--ga-ink-soft);background:var(--ga-surface)}.ga-ghost-btn:hover{border-color:var(--ga-accent);color:var(--ga-ink)}.ga-compat{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px 14px;font-size:13px;line-height:20px;font-weight:700;color:var(--ga-ink-soft)}.ga-band{position:relative;overflow:hidden;isolation:isolate;-webkit-border-radius:24px;-moz-border-radius:24px;border-radius:24px;background:var(--ga-band-bg);border:1px solid var(--ga-band-line);color:var(--ga-band-ink)}.ga-band::before{content:"";position:absolute;inset:0;z-index:-1;background:-webkit-radial-gradient(15%0%,60%50%,rgba(var(--ga-band-accent-rgb),.16),transparent 70%),-webkit-radial-gradient(100%100%,40%40%,rgba(125,211,252,.08),transparent 70%),-webkit-radial-gradient(12%22%,1px 1px,rgba(255,255,255,.5),transparent),-webkit-radial-gradient(72%12%,1px 1px,rgba(255,255,255,.45),transparent),-webkit-radial-gradient(88%38%,1px 1px,rgba(255,255,255,.35),transparent),-webkit-radial-gradient(34%64%,1px 1px,rgba(255,255,255,.3),transparent),-webkit-radial-gradient(58%86%,1px 1px,rgba(255,255,255,.35),transparent);background:-moz-radial-gradient(15%0%,60%50%,rgba(var(--ga-band-accent-rgb),.16),transparent 70%),-moz-radial-gradient(100%100%,40%40%,rgba(125,211,252,.08),transparent 70%),-moz-radial-gradient(12%22%,1px 1px,rgba(255,255,255,.5),transparent),-moz-radial-gradient(72%12%,1px 1px,rgba(255,255,255,.45),transparent),-moz-radial-gradient(88%38%,1px 1px,rgba(255,255,255,.35),transparent),-moz-radial-gradient(34%64%,1px 1px,rgba(255,255,255,.3),transparent),-moz-radial-gradient(58%86%,1px 1px,rgba(255,255,255,.35),transparent);background:-o-radial-gradient(15%0%,60%50%,rgba(var(--ga-band-accent-rgb),.16),transparent 70%),-o-radial-gradient(100%100%,40%40%,rgba(125,211,252,.08),transparent 70%),-o-radial-gradient(12%22%,1px 1px,rgba(255,255,255,.5),transparent),-o-radial-gradient(72%12%,1px 1px,rgba(255,255,255,.45),transparent),-o-radial-gradient(88%38%,1px 1px,rgba(255,255,255,.35),transparent),-o-radial-gradient(34%64%,1px 1px,rgba(255,255,255,.3),transparent),-o-radial-gradient(58%86%,1px 1px,rgba(255,255,255,.35),transparent);background:radial-gradient(60%50%at 15%0%,rgba(var(--ga-band-accent-rgb),.16),transparent 70%),radial-gradient(40%40%at 100%100%,rgba(125,211,252,.08),transparent 70%),radial-gradient(1px 1px at 12%22%,rgba(255,255,255,.5),transparent),radial-gradient(1px 1px at 72%12%,rgba(255,255,255,.45),transparent),radial-gradient(1px 1px at 88%38%,rgba(255,255,255,.35),transparent),radial-gradient(1px 1px at 34%64%,rgba(255,255,255,.3),transparent),radial-gradient(1px 1px at 58%86%,rgba(255,255,255,.35),transparent)}.ga-band-soft{color:var(--ga-band-soft)}.ga-rail{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}.ga-rail i{display:block;height:3px;-webkit-border-radius:3px;-moz-border-radius:3px;border-radius:3px;background:var(--ga-band-line);overflow:hidden;position:relative}.ga-rail i::after{content:"";position:absolute;inset:0;background:var(--ga-band-accent);-webkit-transform:scalex(0);-moz-transform:scalex(0);-ms-transform:scalex(0);-o-transform:scalex(0);transform:scalex(0);-webkit-transform-origin:left;-moz-transform-origin:left;-ms-transform-origin:left;-o-transform-origin:left;transform-origin:left;-webkit-transition:-webkit-transform.6s ease;-moz-transition:-moz-transform.6s ease;-o-transition:-o-transform.6s ease;transition:-webkit-transform.6s ease;transition:-moz-transform.6s ease;transition:-o-transform.6s ease;transition:transform.6s ease}.ga-rail i.is-on::after{-webkit-transform:scalex(1);-moz-transform:scalex(1);-ms-transform:scalex(1);-o-transform:scalex(1);transform:scalex(1)}.ga-stages{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:minmax(0,1fr);gap:14px}@media(min-width:768px){.ga-stages{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.ga-stages{grid-template-columns:repeat(3,minmax(0,1fr))}}.ga-stage{position:relative;display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;min-width:0;padding:16px;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;background:var(--ga-band-card);border:1px solid var(--ga-band-line);-webkit-transition:opacity.5s ease,border-color.4s ease,box-shadow.4s ease,background.4s ease;-moz-transition:opacity.5s ease,border-color.4s ease,box-shadow.4s ease,background.4s ease;-o-transition:opacity.5s ease,border-color.4s ease,box-shadow.4s ease,background.4s ease;transition:opacity.5s ease,border-color.4s ease,box-shadow.4s ease,background.4s ease}.ga-stage.is-idle{opacity:.42}.ga-stage.is-active{border-color:rgba(var(--ga-band-accent-rgb),.7);background:rgba(var(--ga-band-accent-rgb),.07);-webkit-box-shadow:0 0 0 4px rgba(var(--ga-band-accent-rgb),.1),0 20px 50px -30px rgba(var(--ga-band-accent-rgb),.8);-moz-box-shadow:0 0 0 4px rgba(var(--ga-band-accent-rgb),.1),0 20px 50px -30px rgba(var(--ga-band-accent-rgb),.8);box-shadow:0 0 0 4px rgba(var(--ga-band-accent-rgb),.1),0 20px 50px -30px rgba(var(--ga-band-accent-rgb),.8)}.ga-stage-head{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.ga-stage-num{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;
11-webkit-justify-content:center;-moz-box-pack:center;-ms-flex-pack:center;justify-content:center;width:26px;height:26px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;border:1px solid var(--ga-band-line);font-size:12px;font-weight:800;color:var(--ga-band-soft);-webkit-box-flex:0;-webkit-flex:none;-moz-box-flex:0;-ms-flex:none;flex:none}.ga-stage.is-active .ga-stage-num,.ga-stage.is-done .ga-stage-num{background:var(--ga-band-accent);border-color:var(--ga-band-accent);color:#0b0c1d}.ga-stage-title{font-size:15px;line-height:20px;font-weight:800;color:var(--ga-band-ink)}.ga-stage-text{font-size:14px;line-height:21px;color:var(--ga-band-ink)}.ga-stage-meta{font-size:11.5px;line-height:17px;color:var(--ga-band-soft);word-wrap:anywhere;overflow-wrap:anywhere}.ga-stage-code{margin:0;padding:10px 12px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;background:rgba(0,0,0,.35);border:1px solid var(--ga-band-line);font-size:12px;line-height:1.65;color:var(--ga-code-ink);white-space:pre;overflow-x:auto}.ga-call{display:grid;grid-template-columns:minmax(0,auto)minmax(40px,1fr)auto;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;font-size:12px;line-height:18px}.ga-call-name{color:var(--ga-code-key);white-space:nowrap;overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis}.ga-call-bar{height:4px;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;background:var(--ga-band-line);overflow:hidden}.ga-call-bar i{display:block;height:100%;background:var(--ga-code-key);-webkit-transform-origin:left;-moz-transform-origin:left;-ms-transform-origin:left;-o-transform-origin:left;transform-origin:left}.ga-stage.is-active .ga-call-bar i{-webkit-animation:gaFill.9s cubic-bezier(.3,.7,.3,1)both;-moz-animation:gaFill.9s cubic-bezier(.3,.7,.3,1)both;-o-animation:gaFill.9s cubic-bezier(.3,.7,.3,1)both;animation:gaFill.9s cubic-bezier(.3,.7,.3,1)both}.ga-stage.is-active .ga-call:nth-child(2) .ga-call-bar i{-webkit-animation-duration:1.15s;-moz-animation-duration:1.15s;-o-animation-duration:1.15s;animation-duration:1.15s}.ga-stage.is-active .ga-call:nth-child(3) .ga-call-bar i{-webkit-animation-duration:.75s;-moz-animation-duration:.75s;-o-animation-duration:.75s;animation-duration:.75s}.ga-stage.is-idle .ga-call-bar i{-webkit-transform:scalex(0);-moz-transform:scalex(0);-ms-transform:scalex(0);-o-transform:scalex(0);transform:scalex(0)}.ga-call-ok{color:#9df5a8;font-weight:700}.ga-write-line{display:block;height:8px;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;background:rgba(255,255,255,.14);-webkit-transform-origin:left;-moz-transform-origin:left;-ms-transform-origin:left;-o-transform-origin:left;transform-origin:left}.ga-stage.is-active .ga-write-line{-webkit-animation:gaFill 1.2s ease-out both;-moz-animation:gaFill 1.2s ease-out both;-o-animation:gaFill 1.2s ease-out both;animation:gaFill 1.2s ease-out both}.ga-stage.is-active .ga-write-line:nth-child(2){-webkit-animation-delay:.25s;-moz-animation-delay:.25s;-o-animation-delay:.25s;animation-delay:.25s}.ga-stage.is-active .ga-write-line:nth-child(3){-webkit-animation-delay:.5s;-moz-animation-delay:.5s;-o-animation-delay:.5s;animation-delay:.5s}.ga-stage.is-idle .ga-write-line{-webkit-transform:scalex(0);-moz-transform:scalex(0);-ms-transform:scalex(0);-o-transform:scalex(0);transform:scalex(0)}.ga-cite-row{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-webkit-align-items:baseline;-moz-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:8px;font-size:13px;line-height:19px;color:var(--ga-band-ink)}.ga-cite-row .ga-cite{background:var(--ga-band-accent);color:#0b0c1d;margin-left:0;-webkit-box-flex:0;-webkit-flex:none;-moz-box-flex:0;-ms-flex:none;flex:none;vertical-align:0}.ga-cite-src{margin-left:auto;padding-left:6px;font-size:11px;color:var(--ga-code-key);white-space:nowrap}.ga-ship{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}@media(min-width:1024px){.ga-ship{grid-template-columns:repeat(3,minmax(0,1fr))}}.ga-ship-tile{display:-webkit-box;display:-webkit-flex;display:-moz-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;-moz-box-orient:vertical;-moz-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;min-width:0;padding:18px;-webkit-border-radius:16px;-moz-border-radius:16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid var(--ga-band-line)}.ga-ship-title{font-size:17px;line-height:22px;font-weight:800;color:var(--ga-band-ink)}.ga-ship-body{font-size:14px;line-height:21px;color:var(--ga-band-soft)}.ga-ship-line{margin:0;padding:9px 11px;-webkit-border-radius:10px;-moz-border-radius:10px;border-radius:10px;background:rgba(0,0,0,.4);border:1px solid var(--ga-band-line);font-size:12px;line-height:18px;color:var(--ga-code-ink);white-space:pre-wrap;word-wrap:anywhere;overflow-wrap:anywhere}.ga-band .ga-link{color:var(--ga-band-accent)}.ga-band-cta-secondary{display:-webkit-inline-box;display:-webkit-inline-flex;display:-moz-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-webkit-align-items:center;-moz-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;height:40px;padding:0 16px;-webkit-border-radius:8px;-moz-border-radius:8px;border-radius:8px;border:1px solid rgba(255,255,255,.22);font-weight:700;font-size:15px;color:var(--ga-band-ink);-webkit-transition:border-color.2s,background.2s;-moz-transition:border-color.2s,background.2s;-o-transition:border-color.2s,background.2s;transition:border-color.2s,background.2s}.ga-band-cta-secondary:hover{border-color:rgba(255,255,255,.45);background:rgba(255,255,255,.05)}.ga-band a:focus-visible,.ga-band button:focus-visible{outline-color:var(--ga-band-accent)}@-webkit-keyframes gaPulse{0%,100%{opacity:.35}50%{opacity:1}}@-moz-keyframes gaPulse{0%,100%{opacity:.35}50%{opacity:1}}@-o-keyframes gaPulse{0%,100%{opacity:.35}50%{opacity:1}}@keyframes gaPulse{0%,100%{opacity:.35}50%{opacity:1}}@-webkit-keyframes gaBlink{0%,50%{opacity:1}51%,100%{opacity:0}
11}@-moz-keyframes gaBlink{0%,50%{opacity:1}51%,100%{opacity:0}}@-o-keyframes gaBlink{0%,50%{opacity:1}51%,100%{opacity:0}}@keyframes gaBlink{0%,50%{opacity:1}51%,100%{opacity:0}}@-webkit-keyframes gaBounce{0%,100%{-webkit-transform:translatey(0);transform:translatey(0);opacity:.5}50%{-webkit-transform:translatey(-3px);transform:translatey(-3px);opacity:1}}@-moz-keyframes gaBounce{0%,100%{-moz-transform:translatey(0);transform:translatey(0);opacity:.5}50%{-moz-transform:translatey(-3px);transform:translatey(-3px);opacity:1}}@-o-keyframes gaBounce{0%,100%{-o-transform:translatey(0);transform:translatey(0);opacity:.5}50%{-o-transform:translatey(-3px);transform:translatey(-3px);opacity:1}}@keyframes gaBounce{0%,100%{-webkit-transform:translatey(0);-moz-transform:translatey(0);-o-transform:translatey(0);transform:translatey(0);opacity:.5}50%{-webkit-transform:translatey(-3px);-moz-transform:translatey(-3px);-o-transform:translatey(-3px);transform:translatey(-3px);opacity:1}}@-webkit-keyframes gaFill{from{-webkit-transform:scalex(0);transform:scalex(0)}to{-webkit-transform:scalex(1);transform:scalex(1)}}@-moz-keyframes gaFill{from{-moz-transform:scalex(0);transform:scalex(0)}to{-moz-transform:scalex(1);transform:scalex(1)}}@-o-keyframes gaFill{from{-o-transform:scalex(0);transform:scalex(0)}to{-o-transform:scalex(1);transform:scalex(1)}}@keyframes gaFill{from{-webkit-transform:scalex(0);-moz-transform:scalex(0);-o-transform:scalex(0);transform:scalex(0)}to{-webkit-transform:scalex(1);-moz-transform:scalex(1);-o-transform:scalex(1);transform:scalex(1)}}@media(prefers-reduced-motion:reduce){.ga-root,.ga-root *{-webkit-animation:none!important;-moz-animation:none!important;-o-animation:none!important;animation:none!important;-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}}</style><style id="__jsx-e3256b72c2403e32">.pg-pipe{display:grid;grid-template-columns:1.06fr 34px 1.1fr 34px .98fr;-webkit-box-align:stretch;-webkit-align-items:stretch;-moz-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}@media(max-width:1023px){.pg-pipe{grid-template-columns:1fr}.pg-conn{-webkit-transform:rotate(90deg);-moz-transform:rotate(90deg);-ms-transform:rotate(90deg);-o-transform:rotate(90deg);transform:rotate(90deg);margin:2px auto}}.pg-conn{-webkit-align-self:center;-ms-flex-item-align:center;align-self:center;width:34px;height:34px;position:relative;margin-top:18px}.pg-conn .pg-dot{position:absolute;top:50%;left:0;width:8px;height:8px;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;background:var(--accent-primary);-webkit-transform:translate(-2px,-50%);-moz-transform:translate(-2px,-50%);-ms-transform:translate(-2px,-50%);-o-transform:translate(-2px,-50%);transform:translate(-2px,-50%);opacity:0}.pg-conn.pg-go .pg-dot{-webkit-animation:pgDash.5s ease-in forwards;-moz-animation:pgDash.5s ease-in forwards;-o-animation:pgDash.5s ease-in forwards;animation:pgDash.5s ease-in forwards}@-webkit-keyframes pgDash{0%{opacity:0;left:0}15%{opacity:1}85%{opacity:1}100%{opacity:0;left:30px}}@-moz-keyframes pgDash{0%{opacity:0;left:0}15%{opacity:1}85%{opacity:1}100%{opacity:0;left:30px}}@-o-keyframes pgDash{0%{opacity:0;left:0}15%{opacity:1}85%{opacity:1}100%{opacity:0;left:30px}}@keyframes pgDash{0%{opacity:0;left:0}15%{opacity:1}85%{opacity:1}100%{opacity:0;left:30px}}.pg-jrow{color:#64748b;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;padding:0 8px;white-space:pre-wrap;word-break:break-word;opacity:0;-webkit-transform:translatey(4px);-moz-transform:translatey(4px);-ms-transform:translatey(4px);-o-transform:translatey(4px);transform:translatey(4px);-webkit-transition:opacity.25s,-webkit-transform.25s,background.2s,box-shadow.2s;-moz-transition:opacity.25s,-moz-transform.25s,background.2s,box-shadow.2s;-o-transition:opacity.25s,-o-transform.25s,background.2s,box-shadow.2s;transition:opacity.25s,-webkit-transform.25s,background.2s,box-shadow.2s;transition:opacity.25s,-moz-transform.25s,background.2s,box-shadow.2s;transition:opacity.25s,-o-transform.25s,background.2s,box-shadow.2s;transition:opacity.25s,transform.25s,background.2s,box-shadow.2s}.pg-jrow.pg-in{opacity:1;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.pg-jrow[data-field]{cursor:pointer}.pg-jrow.pg-hl{background:rgba(125,211,252,.12);-webkit-box-shadow:inset 2px 0 0#7dd3fc;-moz-box-shadow:inset 2px 0 0#7dd3fc;box-shadow:inset 2px 0 0#7dd3fc}.pg-part{opacity:0;-webkit-transform:translatey(10px)scale(.98);-moz-transform:translatey(10px)scale(.98);-ms-transform:translatey(10px)scale(.98);-o-transform:translatey(10px)scale(.98);transform:translatey(10px)scale(.98);-webkit-transition:opacity.35s,-webkit-transform.35s,box-shadow.2s,outline-color.2s;-moz-transition:opacity.35s,-moz-transform.35s,box-shadow.2s,outline-color.2s;-o-transition:opacity.35s,-o-transform.35s,box-shadow.2s,outline-color.2s;transition:opacity.35s,-webkit-transform.35s,box-shadow.2s,outline-color.2s;transition:opacity.35s,-moz-transform.35s,box-shadow.2s,outline-color.2s;transition:opacity.35s,-o-transform.35s,box-shadow.2s,outline-color.2s;transition:opacity.35s,transform.35s,box-shadow.2s,outline-color.2s;outline:2px solid transparent;outline-offset:2px;cursor:pointer}.pg-part.pg-in{opacity:1;-webkit-transform:none;-moz-transform:none;-ms-transform:none;-o-transform:none;transform:none}.pg-part.pg-hl{outline-color:#7dd3fc;-webkit-box-shadow:0 0 0 4px rgba(125,211,252,.18);-moz-box-shadow:0 0 0 4px rgba(125,211,252,.18);box-shadow:0 0 0 4px rgba(125,211,252,.18)}.pg-part-svg{opacity:0;-webkit-transition:opacity.35s;-moz-transition:opacity.35s;-o-transition:opacity.35s;transition:opacity.35s;cursor:pointer}.pg-part-svg.pg-in{opacity:1}.pg-status{opacity:0;-webkit-transition:opacity.3s;-moz-transition:opacity.3s;-o-transition:opacity.3s;transition:opacity.3s}.pg-status.pg-on{opacity:1}.pg-hint{opacity:0;-webkit-transition:opacity.4s;-moz-transition:opacity.4s;-o-transition:opacity.4s;transition:opacity.4s}.pg-hint.pg-on{opacity:1}@media(prefers-reduced-motion:reduce){.pg-jrow,.pg-part,.pg-part-svg{-webkit-transition:none;-moz-transition:none;-o-transition:none;transition:none}.pg-conn.pg-go .pg-dot{-webkit-animation:none;-moz-animation:none;-o-animation:none;animation:none}}</style><style id="__jsx-1fa9972e203a246c">@-webkit-keyframes ctaPulse{0%{-webkit-transform:scale(1);transform:scale(1);opacity:.5}70%{-webkit-transform:scale(1.22);transform:scale(1.22);opacity:0}
11100%{-webkit-transform:scale(1.22);transform:scale(1.22);opacity:0}}@-moz-keyframes ctaPulse{0%{-moz-transform:scale(1);transform:scale(1);opacity:.5}70%{-moz-transform:scale(1.22);transform:scale(1.22);opacity:0}100%{-moz-transform:scale(1.22);transform:scale(1.22);opacity:0}}@-o-keyframes ctaPulse{0%{-o-transform:scale(1);transform:scale(1);opacity:.5}70%{-o-transform:scale(1.22);transform:scale(1.22);opacity:0}100%{-o-transform:scale(1.22);transform:scale(1.22);opacity:0}}@keyframes ctaPulse{0%{-webkit-transform:scale(1);-moz-transform:scale(1);-o-transform:scale(1);transform:scale(1);opacity:.5}70%{-webkit-transform:scale(1.22);-moz-transform:scale(1.22);-o-transform:scale(1.22);transform:scale(1.22);opacity:0}100%{-webkit-transform:scale(1.22);-moz-transform:scale(1.22);-o-transform:scale(1.22);transform:scale(1.22);opacity:0}}.cta-pulse-wrap{position:relative;display:inline-block}.cta-pulse-wrap::before{content:"";position:absolute;inset:-4px;-webkit-border-radius:12px;-moz-border-radius:12px;border-radius:12px;border:2px solid var(--accent-primary,#f59e0b);-webkit-animation:ctaPulse 2.2s ease-out infinite;-moz-animation:ctaPulse 2.2s ease-out infinite;-o-animation:ctaPulse 2.2s ease-out infinite;animation:ctaPulse 2.2s ease-out infinite;pointer-events:none}@media(prefers-reduced-motion:reduce){.cta-pulse-wrap::before{-webkit-animation:none;-moz-animation:none;-o-animation:none;animation:none;opacity:0}}</style><style data-href="https://fonts.googleapis.com/css2?family=Source+Sans+Pro:wght@300;400;600;700;900&display=swap">@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zAkw.woff) format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xK3dSBYKcSV-LCoeQqfX1RYOo3aPA.woff) format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rAkw.woff) format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vAkw.woff) format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nAkw.woff) format('woff')}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmhdu3cOWxy40.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwkxdu3cOWxy40.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmxdu3cOWxy40.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;
11src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwmRdu3cOWxy40.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ik4zwlxdu3cOWxw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNa7lujVj9_mf.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xK3dSBYKcSV-LCoeQqfX1RYOo3qPK7lujVj9_mf.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNK7lujVj9_mf.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xK3dSBYKcSV-LCoeQqfX1RYOo3qO67lujVj9_mf.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xK3dSBYKcSV-LCoeQqfX1RYOo3qN67lujVj9_mf.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xK3dSBYKcSV-LCoeQqfX1RYOo3qNq7lujVj9_mf.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xK3dSBYKcSV-LCoeQqfX1RYOo3qOK7lujVj9w.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmhdu3cOWxy40.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwkxdu3cOWxy40.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmxdu3cOWxy40.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;
11src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwmRdu3cOWxy40.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3i54rwlxdu3cOWxw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmhdu3cOWxy40.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwkxdu3cOWxy40.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmxdu3cOWxy40.woff2) format('woff2');unicode-range:U+1F00-1FFF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwmRdu3cOWxy40.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3ig4vwlxdu3cOWxw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwmhdu3cOWxy40.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwkxdu3cOWxy40.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwmxdu3cOWxy40.woff2) format('woff2');
11unicode-range:U+1F00-1FFF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwlBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwmBdu3cOWxy40.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwmRdu3cOWxy40.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Source Sans Pro';font-style:normal;font-weight:900;font-display:swap;src:url(https://fonts.gstatic.com/s/sourcesanspro/v23/6xKydSBYKcSV-LCoeQqfX1RYOo3iu4nwlxdu3cOWxw.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style><style data-href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap">@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:200;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ2lCR_T.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ17CR_T.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ0lCR_T.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ0XCR_T.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:600;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ37Dh_T.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ3CDh_T.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIZaomQNQcsA88c7O9yZ4KMCoOg4KozySKCdSNG9OcqYQ2lDh_T.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KU7NSQ.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:300;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_907NSQ.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_qU7NSQ.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_m07NSQ.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;
11src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_d0nNSQ.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_TknNSQ.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIbaomQNQcsA88c7O9yZ4KMCoOg4IA6-91aHEjcWuA_KUnNSQ.woff) format('woff')}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIuaomQNQcsA88c7O9yZ4KMCoOg4Koz4yOqhNnZR-AHYA.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIuaomQNQcsA88c7O9yZ4KMCoOg4Koz4yGqhNnZR-AHYA.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIuaomQNQcsA88c7O9yZ4KMCoOg4Koz4yCqhNnZR-AHYA.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Plus Jakarta Sans';font-style:italic;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIuaomQNQcsA88c7O9yZ4KMCoOg4Koz4y6qhNnZR-A.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko70yygg_vbd-E.woff2) format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko50yygg_vbd-E.woff2) format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko40yygg_vbd-E.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:200 800;font-display:swap;src:url(https://fonts.gstatic.com/s/plusjakartasans/v12/LDIoaomQNQcsA88c7O9yZ4KMCoOg4Ko20yygg_vb.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}</style></head><body>
vendor: 67 bytes, line 11
11<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=
11GTM-MN5C2S8K
vendor: 82 bytes, line 11
11" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
11<div id="__next"><div class="relative bg-[#0C0C2B] w-full min-h-screen font-plus_jakarta_sans"><div class="absolute overflow-hidden h-full w-full"><div class="w-full hero-mesh-backdrop overflow-x-hidden absolute top-0 left-0 "><div class="mesh-orb mesh-orb--one"></div><div class="mesh-orb mesh-orb--two"></div><div class="mesh-orb mesh-orb--three"></div><div class="mesh-orb mesh-orb--four"></div></div></div><div class="relative z-[60] flex min-h-11 w-full items-center overflow-hidden py-2" style="--announcement-link-color:#4f46e5;--announcement-link-hover-color:#312e81;background:var(--tertiary-bg);color:#101135"><div class="mx-auto flex h-full w-full max-w-8xl flex-wrap md:flex-nowrap items-center justify-center gap-2 px-4 text-center font-plus_jakarta_sans text-[11px] font-semibold leading-[1.35] tracking-normal sm:text-[12px] md:px-6 md:text-[14px] md:leading-[1.45]"><span class="min-w-0 opacity-90 break-words md:break-normal">🏠 <a class="text-[var(--announcement-link-color)] transition-colors hover:text-[var(--announcement-link-hover-color)]" href="/astro-ai/vastu-api">Vastu API</a> and ✋ <a class="text-[var(--announcement-link-color)] transition-colors hover:text-[var(--announcement-link-hover-color)]" href="/palm-reading-api">Palmistry API</a> are now live. Ship them in your app today.</span><a class="group relative hidden md:inline-flex flex-shrink-0 whitespace-nowrap text-[var(--announcement-link-color)] transition-colors hover:text-[var(--announcement-link-hover-color)]" href="/signup">Get Started<span aria-hidden="true"> →</span><span class="absolute -bottom-1 left-0 h-px w-full origin-left scale-x-0 bg-[var(--announcement-link-color)] transition-transform duration-200 group-hover:scale-x-100"></span></a></div></div><nav class="absolute bg-transparent border-transparent left-0 z-[50] w-full transition-all duration-500 py-4" style="top:44px"><div class="mx-0 md:mx-auto flex w-full max-w-8xl items-center gap-4 px-4 md:px-6 lg:gap-8 justify-between"><div class="w-fit bg-primary-bg z-[20] flex items-center gap-2 md:gap-4 lg:max-w-[220px]"><button class="text-primary-text lg:hidden p-2 hover:bg-secondary-bg/50 rounded-lg transition-colors" aria-label="Open navigation menu"><svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="4" x2="20" y1="12" y2="12"></line><line x1="4" x2="20" y1="6" y2="6"></line><line x1="4" x2="20" y1="18" y2="18"></line></svg></button><a class="flex items-center group pl-auto" href="/"><img src="/imgs/logo2.svg" alt="AstrologyAPI" class="w-[160px] lg:w-[180px] transition-transform group-hover:scale-105"/></a></div><div class="relative hidden items-center justify-center gap-8 lg:flex"><button type="button" class="group relative flex items-center gap-2 py-2 text-sm font-black transition-all text-primary-text hover:text-primary-text" aria-expanded="false"><span>Products</span><svg xmlns="http://www.w3.org/2000/svg" class="h-3 w-3 fill-current transition-transform duration-300 text-inherit opacity-40 group-hover:rotate-180" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></button><button type="button" class="group relative flex items-center gap-2 py-2 text-sm font-black transition-all text-primary-text hover:text-primary-text" aria-expanded="false"><span>Astro AI</span><svg xmlns="http://www.w3.org/2000/svg" class="h-3 w-3 fill-current transition-transform duration-300 text-inherit opacity-40 group-hover:rotate-180" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></button><button type="button" class="group relative flex items-center gap-2 py-2 text-sm font-black transition-all text-primary-text hover:text-primary-text" aria-expanded="false"><span>Developers</span><svg xmlns="http://www.w3.org/2000/svg" class="h-3 w-3 fill-current transition-transform duration-300 text-inherit opacity-40 group-hover:rotate-180" viewBox="0 0 20 20"><path fill-rule="evenodd" d="M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg></button><a class="py-2 text-sm font-black text-primary-text transition-all hover:text-accent-primary flex items-center gap-2" href="/pricing">Pricing</a><a class="py-2 text-sm font-black text-primary-text transition-all hover:text-accent-primary flex items-center gap-2" href="/blog">Blog</a></div><div class="ml-auto hidden items-center gap-4 lg:flex lg:flex-nowrap"><button class="h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl border border-border-color text-primary-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 rounded-lg h-10 text-sm font-semibold flex justify-between"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="h-4 w-4"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg><span class="text-xs font-bold opacity-60 px-2">Search docs</span></button><a class="h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl border border-border-color text-primary-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 h-10 text-xs font-black" href="/login">Sign in</a><a class="h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl border border-border-color text-primary-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 h-10 text-xs font-black" href="/contact-sales">Contact sales</a><a class="h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl bg-
11accent-primary text-accent-contrast-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 h-10 text-xs font-black min-w-20" href="/signup">Get API Key</a></div><div class="flex items-center gap-4 lg:hidden"><button class="text-primary-text p-2 hover:bg-secondary-bg rounded-lg transition-colors" aria-label="Open search"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="w-6 h-6"><circle cx="11" cy="11" r="8"></circle><path d="m21 21-4.3-4.3"></path></svg></button><a class="text-xs font-black text-primary-text" href="/login">Sign in</a></div></div></nav><div class="max-w-[100vw] mx-auto relative flex flex-col overflow-hidden bg-primary-bg"><div class="flex flex-col w-full gap-24 py-24 relative"><div class="jsx-15aa96cfb3f8b3a7 fixed inset-0 w-full h-full pointer-events-none z-1 bg-primary-bg overflow-hidden"><div class="jsx-15aa96cfb3f8b3a7 absolute inset-0 perspective-container"><div style="filter:url(#wave-distortion)" class="jsx-15aa96cfb3f8b3a7 absolute inset-0 flowing-grid"></div><div class="jsx-15aa96cfb3f8b3a7 absolute inset-0 bg-gradient-to-t from-primary-bg via-transparent to-primary-bg opacity-100"></div><div class="jsx-15aa96cfb3f8b3a7 absolute inset-0 bg-gradient-to-r from-primary-bg via-transparent to-primary-bg opacity-40 ml-[-10%]"></div></div></div><div class="min-h-[70vh] flex items-center overflow-hidden bg-primary-bg pt-10 md:pt-20 pb-20"><div class="max-w-7xl mx-auto px-4 sm:px-6 md:px-10 lg:px-20 xl:px-32 "><div class="max-w-4xl mx-auto text-center flex flex-col items-center space-y-10"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:20ms;opacity:0;transform:scale(0.8)" class="inline-flex items-center gap-2 px-4 py-1.5 rounded-lg bg-accent-surface border border-accent-primary/20"><span class="text-xs font-bold text-accent-primary uppercase tracking-[0.2em]">Developer-First Astrology Platform</span></div><div class="flex flex-col items-center space-y-8"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:40ms;opacity:0;transform:translateY(30px)" class=""><h1 class="text-4xl sm:text-5xl md:text-6xl font-black font-heading tracking-tight leading-[1.1] text-primary-text text-primary-text leading-[1.1]">Build Smarter Astrology <br/><span class="text-transparent bg-clip-text bg-gradient-to-r from-accent-primary via-indigo-400 to-primary-text">Products, Faster.</span></h1></div><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:60ms;opacity:0;transform:translateY(30px)" class=""><p class="text-base leading-relaxed text-secondary-text text-secondary-text max-w-2xl text-xl leading-relaxed">Birth charts, Kundli, transits, horoscopes, and AI readings — all under one API key. <!-- -->3,000+<!-- --> products across<!-- --> <!-- -->50<!-- --> countries already ship on AstrologyAPI.</p></div><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:80ms;opacity:0;transform:translateY(30px)" class=""><div class="flex flex-wrap items-center justify-center gap-6 pt-4"><button type="button" class="h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl bg-
11accent-primary text-accent-contrast-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95   h-12 px-8 text-lg font-black shadow-lg shadow-accent-primary/20 hover:shadow-xl hover:shadow-accent-primary/40 transition-all duration-300">Get API Key — Free</button><button type="button" class="h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl border border-border-color text-primary-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95   h-12 px-8 text-primary-text bg-white/5 backdrop-blur-md border border-white/10 hover:bg-white/10 shadow-xl transition-all duration-300">View Documentation</button></div></div><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:100ms;opacity:0;transform:translateY(30px)" class=""><div class="flex flex-col md:flex-row items-center gap-4 md:gap-8 pt-8"><div class="flex items-center gap-6"><img src="/v1/client-logos/shaadi.svg" alt="Shaadi.com" class="h-6 w-auto max-w-[96px] object-contain grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all duration-300"/><img src="/v1/client-logos/aaj-tak.png" alt="Aaj Tak" class="h-6 w-auto max-w-[96px] object-contain grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all duration-300"/><img src="/v1/client-logos/snap.svg" alt="Snap" class="h-6 w-auto max-w-[96px] object-contain grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all duration-300"/><img src="/v1/client-logos/happn.png" alt="happn" class="h-6 w-auto max-w-[96px] object-contain grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all duration-300"/></div><p class="text-base leading-relaxed text-secondary-text text-tertiary-text font-medium"><span class="text-primary-text font-black">3,000+</span> <!-- -->businesses shipping with AstrologyAPI</p></div></div></div></div></div></div><section id="" class="relative z-10 -mt-8"><div class="max-w-7xl mx-auto px-4 sm:px-6 md:px-10 lg:px-20 xl:px-32 "><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:0ms;opacity:0;transform:scale(0.8)" class="mx-auto max-w-5xl"><div class="jsx-6c2b34c4e941dc22 video-teaser-shell group relative overflow-hidden rounded-[32px] border border-divider-color"><iframe src="https://player.mediadelivery.net/embed/620688/fbbca14d-477c-4f1d-a580-69f748487968?autoplay=true&amp;muted=true&amp;controls=false&amp;loop=true&amp;preload=true" allow="autoplay" loading="lazy" title="AstrologyAPI Video Teaser" class="jsx-6c2b34c4e941dc22 h-full w-full object-cover pointer-events-none border-none opacity-60"></iframe><div class="jsx-6c2b34c4e941dc22 video-teaser-overlay absolute inset-0"></div><div class="jsx-6c2b34c4e941dc22 pointer-events-none absolute inset-x-0 top-0 flex justify-center pt-8 px-6 text-center"><div class="jsx-6c2b34c4e941dc22 max-w-2xl"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text video-heading text-balance">See what is AstrologyAPI?</h3></div></div><div class="jsx-6c2b34c4e941dc22 absolute inset-0 flex items-center justify-center"><button type="button" aria-label="Play AstrologyAPI video" class="jsx-6c2b34c4e941dc22 video-play-trigger relative flex h-28 w-28 items-center justify-center rounded-full focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-primary/70 focus-visible:ring-offset-2 focus-visible:ring-offset-transparent"><span class="jsx-6c2b34c4e941dc22 video-play-aura absolute inset-0 rounded-full"></span><span class="jsx-6c2b34c4e941dc22 video-play-ring absolute inset-[-10px] rounded-full"></span><span class="jsx-6c2b34c4e941dc22 video-play-core relative z-10 flex h-[88px] w-[88px] items-center justify-center rounded-full"><svg width="28" height="32" viewBox="0 0 28 32" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="jsx-6c2b34c4e941dc22 video-play-icon"><path d="M6 4.5C6 2.95 7.68 1.99 9.02 2.79L24.42 12.29C25.7 13.07 25.7 14.93 24.42 15.71L9.02 25.21C7.68 26.01 6 25.05 6 23.5V4.5Z" fill="currentColor" class="jsx-6c2b34c4e941dc22"></path></svg></span></button></div></div></div></div></section><div class="w-full border-y border-divider-color py-8 relative z-10"><div class="max-w-5xl mx-auto px-6 grid grid-cols-2 md:grid-cols-4 gap-6 md:gap-0 md:divide-x md:divide-divider-color"><div class="flex flex-col items-center justify-center text-center px-4 py-2"><span class="text-3xl md:text-4xl font-black text-primary-text tracking-tight">300+</span><span class="text-xs font-bold text-tertiary-text uppercase tracking-widest mt-1">API Endpoints</span></div><div class="flex flex-col items-center justify-center text-center px-4 py-2"><span class="text-3xl md:text-4xl font-black text-primary-text tracking-tight">100M+</span><span class="text-xs font-bold text-tertiary-text uppercase tracking-widest mt-1">Daily API Calls</span></div><div class="flex flex-col items-center justify-center text-center px-4 py-2"><span class="text-3xl md:text-4xl font-black text-primary-text tracking-tight">3,000+</span><span class="text-xs font-bold text-tertiary-text uppercase tracking-widest mt-1">Active Businesses</span></div><div class="flex flex-col items-center justify-center text-center px-4 py-2"><span class="text-3xl md:text-4xl font-black text-primary-text tracking-tight">99.99%</span><span class="text-xs font-bold text-tertiary-text uppercase tracking-widest mt-1">Uptime SLA</span></div></div></div><section id="" class="bg-primary-bg py-12 md:py-16 border-y border-divider-color z-2 relative"><div class="jsx-b217c39370714247 flex flex-col space-y-12"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:0ms;opacity:0;transform:translateY(30px)" class="text-center max-w-3xl mx-auto px-2 md:px-0"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text mb-4 text-2xl md:text-3xl font-black">Trusted by global brands and astrology-native platforms</h3><p class="text-base leading-relaxed text-secondary-text max-w-2xl mx-auto opacity-70 leading-relaxed font-medium">From Snap and Bumble to Shaadi.com and AstroTalk — global tech companies, media, matrimonial platforms, and astrology-native products rely on AstrologyAPI.</p></div><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:20ms;opacity:0;transform:translateY(30px)" class="flex flex-col space-y-6"><p class="text-xs leading-normal font-semibold text-secondary-text text-center font-bold tracking-widest text-tertiary-text uppercase">Trusted globally by</p><div class="relative overflow-hidden w-full" style="mask-image:linear-gradient(to right, transparent, white 10%, white 90%, transparent)"><div class="flex whitespace-nowrap animate-marquee hover:[animation-play-state:paused]" style="animation-duration:50s"><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/snap.svg" alt="Snap" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/msn.svg" alt="MSN" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/shaadi.svg" alt="Shaadi.com" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/bumble.svg" alt="Bumble" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/happn.png" alt="happn" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/aaj-tak.png" alt="Aaj Tak" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/itc.svg" alt="ITC" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/cycle-agarbatties.svg" alt="Cycle Pure Agarbatties" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/vedicrishii.svg" alt="VedicRishi" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/upastrology.svg" alt="upastrology" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/astrotalk.svg" alt="AstroTalk" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/snap.svg" alt="Snap" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/msn.svg" alt="MSN" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/shaadi.svg" alt="Shaadi.com" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/bumble.svg" alt="Bumble" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/happn.png" alt="happn" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/aaj-tak.png" alt="Aaj Tak" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/itc.svg" alt="ITC" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/cycle-agarbatties.svg" alt="Cycle Pure Agarbatties" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/vedicrishii.svg" alt="VedicRishi" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/upastrology.svg" alt="upastrology" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/astrotalk.svg" alt="AstroTalk" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/snap.svg" alt="Snap" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/msn.svg" alt="MSN" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/shaadi.svg" alt="Shaadi.com" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/bumble.svg" alt="Bumble" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/happn.png" alt="happn" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/aaj-tak.png" alt="Aaj Tak" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/itc.svg" alt="ITC" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/cycle-agarbatties.svg" alt="Cycle Pure Agarbatties" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/vedicrishii.svg" alt="VedicRishi" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/upastrology.svg" alt="upastrology" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div><div class="flex-shrink-0 mx-10 h-7 flex items-center justify-center"><img src="/v1/client-logos/astrotalk.svg" alt="AstroTalk" class="h-full w-auto object-contain opacity-50 grayscale hover:opacity-80 hover:grayscale-0 transition-all duration-300"/></div></div></div></div></div></section><section class="w-full overflow-hidden"><div class="pt-6 md:pt-10 px-4 md:px-0 relative z-10"><div class="max-w-7xl mx-auto"><div class="text-center max-w-4xl mx-auto mb-16 px-4"><div class="inline-block px-4 py-1.5 rounded-full bg-accent-primary/10 border border-accent-primary/20 mb-6"><span class="text-[10px] font-black text-accent-primary uppercase tracking-[0.2em]">WHAT YOU CAN BUILD</span></div><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text mb-8 text-4xl md:text-6xl font-black leading-tight">One API Platform. Every Astrology Product.</h2><p class="text-lg sm:text-xl leading-relaxed text-secondary-text opacity-80 leading-relaxed font-medium">Birth charts, AI readings, PDF reports, compatibility scores, and more — all from one integration.</p></div></div></div><div class="h-20 bg-gradient-to-b from-transparent to-primary-bg relative z-10 pointer-events-none -mb-1"></div><div class="bg-primary-bg pb-6 md:pb-10 px-4 md:px-0 relative z-10"><div class="max-w-7xl
11 mx-auto"><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6 auto-rows-auto md:auto-rows-[200px] grid-flow-row-dense"><div class="lg:col-span-2 lg:row-span-2 sm:col-span-2 md:row-span-2 group bento-card-animation" style="animation-delay:0ms"><div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
12          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
13          transition-all duration-500 p-3 flex
14          flex-col
15          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
16              transition-transform duration-700 group-hover:scale-[1.03]
17              w-full flex-1 min-h-[300px]"><div aria-hidden="true" data-xv="birth-chart" class="xv-frame  "><style>[data-xv="birth-chart"] .bc-layout{display:flex;flex-direction:column-reverse;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px 10px}
18[data-xv="birth-chart"] .bc-wheel{width:100%;max-width:300px;aspect-ratio:1/1;flex-shrink:0}
19[data-xv="birth-chart"] .bc-json{width:100%;max-width:300px;flex-shrink:0;overflow:hidden}
20@media (min-width:768px){[data-xv="birth-chart"] .bc-layout{flex-direction:row;height:100%;padding:10px;gap:10px}[data-xv="birth-chart"] .bc-wheel{width:auto;height:100%;max-height:330px;max-width:calc(100% - 292px)}[data-xv="birth-chart"] .bc-json{width:282px}}
21[data-xv="birth-chart"] .bc-code{margin:0;padding:6px 0 7px;font-size:9px;line-height:13px;letter-spacing:-0.3px;white-space:pre;color:var(--xv-ink-soft)}
22[data-xv="birth-chart"] .bc-code > div{padding:0 8px}
23[data-xv="birth-chart"] .bc-key{color:var(--xv-ink-soft)}
24[data-xv="birth-chart"] .bc-str{color:var(--xv-ink);font-weight:600}
25[data-xv="birth-chart"] .bc-num{color:var(--xv-accent);font-weight:600}
26[data-xv="birth-chart"] .bc-status{display:inline-flex;align-items:center;gap:4px;color:var(--xv-good);font-weight:700}
27[data-xv="birth-chart"] .bc-status::before{content:"";width:5px;height:5px;border-radius:999px;background:var(--xv-good)}
28[data-xv="birth-chart"] .bc-input{padding:5px 9px;border-bottom:1px solid var(--xv-line);font-size:9px;line-height:12px;color:var(--xv-ink-soft)}
29[data-xv="birth-chart"] .bc-input b{color:var(--xv-ink);font-weight:600}
30[data-xv="birth-chart"] .bc-planet{transform-box:fill-box;transform-origin:center}
31[data-xv="birth-chart"] .bc-aspect{transition:stroke-width .35s ease}
32.group\/card:hover [data-xv="birth-chart"] .bc-aspect{stroke-width:2}
33[data-xv="birth-chart"] .bc-hnum{transition:fill .35s ease}
34.group\/card:hover [data-xv="birth-chart"] .bc-hnum{fill:var(--xv-ink)}
35@keyframes xv-bc-p0{0%{opacity:0;transform:translate(10.48px,43.87px) scale(0.5)}5%{opacity:0;transform:translate(10.48px,43.87px) scale(0.5)}6.5%{opacity:1;transform:translate(10.48px,43.87px) scale(0.7)}12.5%{opacity:1;transform:translate(0px,0px) scale(1)}91%{opacity:1;transform:translate(0px,0px) scale(1)}95%{opacity:0;transform:translate(0px,0px) scale(1)}100%{opacity:0;transform:translate(0px,0px) scale(1)}}
36@keyframes xv-bc-m0{0%{opacity:0;stroke-width:1.4}10%{opacity:0;stroke-width:1.4}12.5%{opacity:1;stroke-width:3}18%{opacity:1;stroke-width:1.4}91%{opacity:1;stroke-width:1.4}95%{opacity:0;stroke-width:1.4}100%{opacity:0;stroke-width:1.4}}
37@keyframes xv-bc-p1{0%{opacity:0;transform:translate(31.54px,-32.24px) scale(0.5)}9.2%{opacity:0;transform:translate(31.54px,-32.24px) scale(0.5)}10.7%{opacity:1;transform:translate(31.54px,-32.24px) scale(0.7)}16.7%{opacity:1;transform:translate(0px,0px) scale(1)}91%{opacity:1;transform:translate(0px,0px) scale(1)}95%{opacity:0;transform:translate(0px,0px) scale(1)}100%{opacity:0;transform:translate(0px,0px) scale(1)}}
38@keyframes xv-bc-m1{0%{opacity:0;stroke-width:1.4}14.2%{opacity:0;stroke-width:1.4}16.7%{opacity:1;stroke-width:3}22.2%{opacity:1;stroke-width:1.4}91%{opacity:1;stroke-width:1.4}95%{opacity:0;stroke-width:1.4}100%{opacity:0;stroke-width:1.4}}
39@keyframes xv-bc-p2{0%{opacity:0;transform:translate(28.83px,34.68px) scale(0.5)}13.4%{opacity:0;transform:translate(28.83px,34.68px) scale(0.5)}14.9%{opacity:1;transform:translate(28.83px,34.68px) scale(0.7)}20.9%{opacity:1;transform:translate(0px,0px) scale(1)}91%{opacity:1;transform:translate(0px,0px) scale(1)}95%{opacity:0;transform:translate(0px,0px) scale(1)}100%{opacity:0;transform:translate(0px,0px) scale(1)}}
40@keyframes xv-bc-m2{0%{opacity:0;stroke-width:1.4}18.4%{opacity:0;stroke-width:1.4}20.9%{opacity:1;stroke-width:3}26.4%{opacity:1;stroke-width:1.4}91%{opacity:1;stroke-width:1.4}95%{opacity:0;stroke-width:1.4}100%{opacity:0;stroke-width:1.4}}
41@keyframes xv-bc-p3{0%{opacity:0;transform:translate(20.94px,39.94px) scale(0.5)}17.6%{opacity:0;transform:translate(20.94px,39.94px) scale(0.5)}19.1%{opacity:1;transform:translate(20.94px,39.94px) scale(0.7)}25.1%{opacity:1;transform:translate(0px,0px) scale(1)}91%{opacity:1;transform:translate(0px,0px) scale(1)}95%{opacity:0;transform:translate(0px,0px) scale(1)}100%{opacity:0;transform:translate(0px,0px) scale(1)}}
42@keyframes xv-bc-m3{0%{opacity:0;stroke-width:1.4}22.6%{opacity:0;stroke-width:1.4}25.1%{opacity:1;stroke-width:3}30.6%{opacity:1;stroke-width:1.4}91%{opacity:1;stroke-width:1.4}95%{opacity:0;stroke-width:1.4}100%{opacity:0;stroke-width:1.4}}
43@keyframes xv-bc-p4{0%{opacity:0;transform:translate(41.36px,-17.98px) scale(0.5)}21.8%{opacity:0;transform:translate(41.36px,-17.98px) scale(0.5)}23.3%{opacity:1;transform:translate(41.36px,-17.98px) scale(0.7)}29.3%{opacity:1;transform:translate(0px,0px) scale(1)}91%{opacity:1;transform:translate(0px,0px) scale(1)}95%{opacity:0;transform:translate(0px,0px) scale(1)}100%{opacity:0;transform:translate(0px,0px) scale(1)}}
44@keyframes xv-bc-m4{0%{opacity:0;stroke-width:1.4}26.8%{opacity:0;stroke-width:1.4}29.3%{opacity:1;stroke-width:3}34.8%{opacity:1;stroke-width:1.4}91%{opacity:1;stroke-width:1.4}95%{opacity:0;stroke-width:1.4}100%{opacity:0;stroke-width:1.4}}
45@keyframes xv-bc-p5{0%{opacity:0;transform:translate(20.46px,-40.19px) scale(0.5)}26%{opacity:0;transform:translate(20.46px,-40.19px) scale(0.5)}27.5%{opacity:1;transform:translate(20.46px,-40.19px) scale(0.7)}33.5%{opacity:1;transform:translate(0px,0px) scale(1)}91%{opacity:1;transform:translate(0px,0px) scale(1)}95%{opacity:0;transform:translate(0px,0px) scale(1)}100%{opacity:0;transform:translate(0px,0px) scale(1)}}
46@keyframes xv-bc-m5{0%{opacity:0;stroke-width:1.4}31%{opacity:0;stroke-width:1.4}33.5%{opacity:1;stroke-width:3}39%{opacity:1;stroke-width:1.4}91%{opacity:1;stroke-width:1.4}95%{opacity:0;stroke-width:1.4}100%{opacity:0;stroke-width:1.4}}
47@keyframes xv-bc-p6{0%{opacity:0;transform:translate(44.52px,-7.24px) scale(0.5)}30.2%{opacity:0;transform:translate(44.52px,-7.24px) scale(0.5)}31.7%{opacity:1;transform:translate(44.52px,-7.24px) scale(0.7)}37.7%{opacity:1;transform:translate(0px,0px) scale(1)}91%{opacity:1;transform:translate(0px,0px) scale(1)}95%{opacity:0;transform:translate(0px,0px) scale(1)}100%{opacity:0;transform:translate(0px,0px) scale(1)}}
48@keyframes xv-bc-m6{0%{opacity:0;stroke-width:1.4}35.2%{opacity:0;stroke-width:1.4}37.7%{opacity:1;stroke-width:3}43.2%{opacity:1;stroke-width:1.4}91%{opacity:1;stroke-width:1.4}95%{opacity:0;stroke-width:1.4}100%{opacity:0;stroke-width:1.4}}
49
50@keyframes xv-bc-l1{0%{opacity:0;transform:translateX(-6px);background-color:transparent}5%{opacity:0;transform:translateX(-6px);background-color:transparent}7.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}16%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
51@keyframes xv-bc-l2{0%{opacity:0;transform:translateX(-6px);background-color:transparent}9.2%{opacity:0;transform:translateX(-6px);background-color:transparent}11.7%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}20.2%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
52@keyframes xv-bc-l3{0%{opacity:0;transform:translateX(-6px);background-color:transparent}13.4%{opacity:0;transform:translateX(-6px);background-color:transparent}15.9%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}24.4%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
53@keyframes xv-bc-l4{0%{opacity:0;transform:translateX(-6px);background-color:transparent}17.6%{opacity:0;transform:translateX(-6px);background-color:transparent}20.1%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}28.6%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
54@keyframes xv-bc-l5{0%{opacity:0;transform:translateX(-6px);background-color:transparent}21.8%{opacity:0;transform:translateX(-6px);background-color:transparent}24.3%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}32.8%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
55@keyframes xv-bc-l6{0%{opacity:0;transform:translateX(-6px);background-color:transparent}26%{opacity:0;transform:translateX(-6px);background-color:transparent}28.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}37%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
56@keyframes xv-bc-l7{0%{opacity:0;transform:translateX(-6px);background-color:transparent}30.2%{opacity:0;transform:translateX(-6px);background-color:transparent}32.7%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}41.2%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
57@keyframes xv-bc-l8{0%{opacity:0;transform:translateX(-6px);background-color:transparent}35%{opacity:0;transform:translateX(-6px);background-color:transparent}37.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}46%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
58@keyframes xv-bc-l9{0%{opacity:0;transform:translateX(-6px);background-color:transparent}38%{opacity:0;transform:translateX(-6px);background-color:transparent}40.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}49%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
59@keyframes xv-bc-l10{0%{opacity:0;transform:translateX(-6px);background-color:transparent}44%{opacity:0;transform:translateX(-6px);background-color:transparent}46.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}55%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
60@keyframes xv-bc-l11{0%{opacity:0;transform:translateX(-6px);background-color:transparent}44%{opacity:0;transform:translateX(-6px);background-color:transparent}46.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}55%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
61@keyframes xv-bc-l12{0%{opacity:0;transform:translateX(-6px);background-color:transparent}50%{opacity:0;transform:translateX(-6px);background-color:transparent}52.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}61%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
62@keyframes xv-bc-l13{0%{opacity:0;transform:translateX(-6px);background-color:transparent}56%{opacity:0;transform:translateX(-6px);background-color:transparent}58.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}67%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
63@keyframes xv-bc-l14{0%{opacity:0;transform:translateX(-6px);background-color:transparent}44%{opacity:0;transform:translateX(-6px);background-color:transparent}46.5%{opacity:1;transform:none;background-color:var(--xv-accent-soft)}55%{opacity:1;transform:none;background-color:transparent}91%{opacity:1;transform:none;background-color:transparent}95%{opacity:0;transform:none;background-color:transparent}100%{opacity:0;transform:none;background-color:transparent}}
64
65@keyframes xv-bc-x-asc{0%{stroke:var(--xv-line-strong);stroke-width:1}35%{stroke:var(--xv-line-strong);stroke-width:1}39%{stroke:var(--xv-accent);stroke-width:2.2}47%{stroke:var(--xv-ink);stroke-width:1.6}91%{stroke:var(--xv-ink);stroke-width:1.6}95%{stroke:var(--xv-line-strong);stroke-width:1}100%{stroke:var(--xv-line-strong);stroke-width:1}}
66@keyframes xv-bc-x-dsc{0%{stroke:var(--xv-line-strong);stroke-width:1}35%{stroke:var(--xv-line-strong);stroke-width:1}39%{stroke:var(--xv-accent);stroke-width:2.2}47%{stroke:var(--xv-ink);stroke-width:1.6}91%{stroke:var(--xv-ink);stroke-width:1.6}95%{stroke:var(--xv-line-strong);stroke-width:1}100%{stroke:var(--xv-line-strong);stroke-width:1}}
67@keyframes xv-bc-x-mc{0%{stroke:var(--xv-line-strong);stroke-width:1}38%{stroke:var(--xv-line-strong);stroke-width:1}42%{stroke:var(--xv-accent);stroke-width:2.2}50%{stroke:var(--xv-ink);stroke-width:1.6}91%{stroke:var(--xv-ink);stroke-width:1.6}95%{stroke:var(--xv-line-strong);stroke-width:1}100%{stroke:var(--xv-line-strong);stroke-width:1}}
68@keyframes xv-bc-x-ic{0%{stroke:var(--xv-line-strong);stroke-width:1}38%{stroke:var(--xv-line-strong);stroke-width:1}42%{stroke:var(--xv-accent);stroke-width:2.2}50%{stroke:var(--xv-ink);stroke-width:1.6}91%{stroke:var(--xv-ink);stroke-width:1.6}95%{stroke:var(--xv-line-strong);stroke-width:1}100%{stroke:var(--xv-line-strong);stroke-width:1}}
69@keyframes xv-bc-asc-label{0%{opacity:0}
6937%{opacity:0}41%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
70@keyframes xv-bc-mc-label{0%{opacity:0}40%{opacity:0}44%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
71@keyframes xv-bc-a0{0%{stroke-dashoffset:108;opacity:0}44%{stroke-dashoffset:108;opacity:0}44.8%{stroke-dashoffset:108;opacity:1}51%{stroke-dashoffset:0;opacity:1}91%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:0;opacity:0}}
72@keyframes xv-bc-a1{0%{stroke-dashoffset:84;opacity:0}50%{stroke-dashoffset:84;opacity:0}50.8%{stroke-dashoffset:84;opacity:1}57%{stroke-dashoffset:0;opacity:1}91%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:0;opacity:0}}
73@keyframes xv-bc-a2{0%{stroke-dashoffset:62;opacity:0}56%{stroke-dashoffset:62;opacity:0}56.8%{stroke-dashoffset:62;opacity:1}63%{stroke-dashoffset:0;opacity:1}91%{stroke-dashoffset:0;opacity:1}95%{stroke-dashoffset:0;opacity:0}100%{stroke-dashoffset:0;opacity:0}}</style><div class="bc-layout"><div class="xv-panel bc-json"><div class="xv-panel-head"><span class="xv-panel-title"><span class="xv-mono">POST /western_horoscope</span></span><span class="xv-panel-meta"><span class="bc-status">200 OK</span></span></div><div class="bc-input"><b>6 Aug 1984 · 12:31 EDT</b> · New York · Placidus</div><div class="bc-code xv-mono"><div><span>{</span></div><div style="animation:xv-bc-l1 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;sun&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Leo&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">14.37</span><span>,</span><span class="bc-key">&quot;house&quot;</span><span>:</span><span class="bc-num">10</span><span>},</span></div><div style="animation:xv-bc-l2 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;moon&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Sagittarius&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">16.56</span><span>,</span><span class="bc-key">&quot;house&quot;</span><span>:</span><span class="bc-num">2</span><span>},</span></div><div style="animation:xv-bc-l3 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;mercury&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Virgo&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">10.68</span><span>,</span><span class="bc-key">&quot;house&quot;</span><span>:</span><span class="bc-num">11</span><span>},</span></div><div style="animation:xv-bc-l4 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;venus&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Leo&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">28.61</span><span>,</span><span class="bc-key">&quot;house&quot;</span><span>:</span><span class="bc-num">10</span><span>},</span></div><div style="animation:xv-bc-l5 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;mars&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Scorpio&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">24.44</span><span>,</span><span class="bc-key">&quot;house&quot;</span><span>:</span><span class="bc-num">1</span><span>},</span></div><div style="animation:xv-bc-l6 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;jupiter&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Capricorn&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">3.96</span><span>,</span><span class="bc-key">&quot;house&quot;</span><span>:</span><span class="bc-num">3</span><span>},</span></div><div style="animation:xv-bc-l7 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;saturn&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Scorpio&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">10.18</span><span>,</span><span class="bc-key">&quot;house&quot;</span><span>:</span><span class="bc-num">1</span><span>},</span></div><div style="animation:xv-bc-l8 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;ascendant&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Scorpio&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">0.94</span><span>},</span></div><div style="animation:xv-bc-l9 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;midheaven&quot;</span><span>:</span><span>{</span><span class="bc-key">&quot;sign&quot;</span><span>:</span><span class="bc-str">&quot;Leo&quot;</span><span>,</span><span class="bc-key">&quot;deg&quot;</span><span>:</span><span class="bc-num">6.78</span><span>},</span></div><div style="animation:xv-bc-l10 10s ease-out infinite both"><span> </span><span class="bc-key">&quot;aspects&quot;</span><span>:</span><span>
73[</span></div><div style="animation:xv-bc-l11 10s ease-out infinite both"><span>  {</span><span class="bc-key">&quot;p1&quot;</span><span>:</span><span class="bc-str">&quot;Sun&quot;</span><span>,</span><span class="bc-key">&quot;type&quot;</span><span>:</span><span class="bc-str">&quot;trine&quot;</span><span>,</span><span class="bc-key">&quot;p2&quot;</span><span>:</span><span class="bc-str">&quot;Moon&quot;</span><span>},</span></div><div style="animation:xv-bc-l12 10s ease-out infinite both"><span>  {</span><span class="bc-key">&quot;p1&quot;</span><span>:</span><span class="bc-str">&quot;Sun&quot;</span><span>,</span><span class="bc-key">&quot;type&quot;</span><span>:</span><span class="bc-str">&quot;square&quot;</span><span>,</span><span class="bc-key">&quot;p2&quot;</span><span>:</span><span class="bc-str">&quot;Saturn&quot;</span><span>},</span></div><div style="animation:xv-bc-l13 10s ease-out infinite both"><span>  {</span><span class="bc-key">&quot;p1&quot;</span><span>:</span><span class="bc-str">&quot;Mercury&quot;</span><span>,</span><span class="bc-key">&quot;type&quot;</span><span>:</span><span class="bc-str">&quot;sextile&quot;</span><span>,</span><span class="bc-key">&quot;p2&quot;</span><span>:</span><span class="bc-str">&quot;Saturn&quot;</span><span>}</span></div><div style="animation:xv-bc-l14 10s ease-out infinite both"><span> ]</span></div><div><span>}</span></div></div></div><div class="bc-wheel"><svg viewBox="0 0 300 300" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><circle cx="150" cy="150" r="138" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1"></circle><circle cx="150" cy="150" r="114" fill="none" stroke="var(--xv-line-strong)" stroke-width="1"></circle><circle cx="150" cy="150" r="98" fill="none" stroke="var(--xv-line)" stroke-width="1"></circle><circle cx="150" cy="150" r="60" fill="var(--xv-wash)" stroke="var(--xv-line-strong)" stroke-width="1"></circle><line x1="247.78" y1="208.61" x2="268.36" y2="220.95" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="263.98" y1="151.87" x2="287.98" y2="152.26" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="249.65" y1="94.63" x2="270.63" y2="82.97" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="208.61" y1="52.22" x2="220.95" y2="31.64" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="151.87" y1="36.02" x2="152.26" y2="12.02" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="94.63" y1="50.35" x2="82.97" y2="29.37" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="52.22" y1="91.39" x2="31.64" y2="79.05" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="36.02" y1="148.13" x2="12.02" y2="147.74" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="50.35" y1="205.37" x2="29.37" y2="217.03" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="91.39" y1="247.78" x2="79.05" y2="268.36" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="148.13" y1="263.98" x2="147.74" y2="287.98" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="205.37" y1="249.65" x2="217.03" y2="270.63" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="247.78" y1="208.61" x2="252.07" y2="211.18" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="252.51" y1="199.87" x2="255.21" y2="201.18" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="256.47" y1="190.74" x2="261.14" y2="192.53" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="259.62" y1="181.31" x2="262.5" y2="182.13" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="261.93" y1="171.64" x2="266.84" y2="172.58" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="263.39" y1="161.8" x2="266.37" y2="162.11" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="263.98" y1="151.87" x2="268.98" y2="151.95" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="263.71" y1="141.93" x2="266.71" y2="141.72" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="262.58" y1="132.05" x2="267.52" y2="131.26" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="260.58" y1="122.31" x2="263.49" y2="121.58" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="257.75" y1="112.77" x2="262.48" y2="111.14" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="254.1" y1="103.52" x2="256.83" y2="102.3" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="249.65" y1="94.63" x2="254.02" y2="92.2" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="244.44" y1="86.15" x2="246.93" y2="84.47" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="238.52" y1="78.16" x2="242.4" y2="75.01" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="231.92" y1="70.72" x2="234.08" y2="68.64" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="224.7" y1="63.88" x2="227.98" y2="60.11" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="216.91" y1="57.7" x2="218.67" y2="55.27" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="208.61" y1="52.22" x2="211.18" y2="47.93" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="199.87" y1="47.49" x2="201.18" y2="44.79" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="190.74" y1="43.53" x2="192.53" y2="38.86" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="181.31" y1="40.38" x2="182.13" y2="37.5" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="171.64" y1="38.07" x2="172.58" y2="33.16" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="161.8" y1="36.61" x2="162.11" y2="33.63" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="151.87" y1="36.02" x2="151.95" y2="31.02" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="141.93" y1="36.29" x2="141.72" y2="33.29" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="132.05" y1="37.42" x2="131.26" y2="32.48" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="122.31" y1="39.42" x2="121.58" y2="36.51" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="112.77" y1="42.25" x2="111.14" y2="37.52" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="103.52" y1="45.9" x2="102.3" y2="43.17" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="94.63" y1="50.35" x2="92.2" y2="45.98" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="86.15" y1="55.56" x2="84.47" y2="53.07" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="78.16" y1="61.48" x2="75.01" y2="57.6" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="70.72" y1="68.08" x2="68.64" y2="65.92" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="63.88" y1="75.3" x2="60.11" y2="72.02" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="57.7" y1="83.09" x2="55.27" y2="81.33" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="52.22" y1="91.39" x2="47.93" y2="88.82" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="47.49" y1="100.13" x2="44.79" y2="98.82" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="43.53" y1="109.26" x2="38.86" y2="107.47" stroke="var(--xv-line)" stroke-width="0.8"></line>
73<line x1="40.38" y1="118.69" x2="37.5" y2="117.87" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="38.07" y1="128.36" x2="33.16" y2="127.42" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="36.61" y1="138.2" x2="33.63" y2="137.89" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="36.02" y1="148.13" x2="31.02" y2="148.05" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="36.29" y1="158.07" x2="33.29" y2="158.28" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="37.42" y1="167.95" x2="32.48" y2="168.74" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="39.42" y1="177.69" x2="36.51" y2="178.42" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="42.25" y1="187.23" x2="37.52" y2="188.86" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="45.9" y1="196.48" x2="43.17" y2="197.7" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="50.35" y1="205.37" x2="45.98" y2="207.8" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="55.56" y1="213.85" x2="53.07" y2="215.53" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="61.48" y1="221.84" x2="57.6" y2="224.99" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="68.08" y1="229.28" x2="65.92" y2="231.36" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="75.3" y1="236.12" x2="72.02" y2="239.89" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="83.09" y1="242.3" x2="81.33" y2="244.73" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="91.39" y1="247.78" x2="88.82" y2="252.07" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="100.13" y1="252.51" x2="98.82" y2="255.21" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="109.26" y1="256.47" x2="107.47" y2="261.14" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="118.69" y1="259.62" x2="117.87" y2="262.5" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="128.36" y1="261.93" x2="127.42" y2="266.84" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="138.2" y1="263.39" x2="137.89" y2="266.37" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="148.13" y1="263.98" x2="148.05" y2="268.98" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="158.07" y1="263.71" x2="158.28" y2="266.71" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="167.95" y1="262.58" x2="168.74" y2="267.52" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="177.69" y1="260.58" x2="178.42" y2="263.49" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="187.23" y1="257.75" x2="188.86" y2="262.48" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="196.48" y1="254.1" x2="197.7" y2="256.83" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="205.37" y1="249.65" x2="207.8" y2="254.02" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="213.85" y1="244.44" x2="215.53" y2="246.93" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="221.84" y1="238.52" x2="224.99" y2="242.4" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="229.28" y1="231.92" x2="231.36" y2="234.08" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="236.12" y1="224.7" x2="239.89" y2="227.98" stroke="var(--xv-line)" stroke-width="0.8"></line><line x1="242.3" y1="216.91" x2="244.73" y2="218.67" stroke="var(--xv-line)" stroke-width="0.8"></line><text x="271.16" y="184.6" font-size="14" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♈︎</text><text x="272.23" y="119.39" font-size="14" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♉︎</text><text x="240.55" y="62.38" font-size="14" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♊︎</text><text x="184.6" y="28.84" font-size="14" fill="var(--xv-cool)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♋︎</text><text x="119.39" y="27.77" font-size="14" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♌︎</text><text x="62.38" y="59.45" font-size="14" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♍︎</text><text x="28.84" y="115.4" font-size="14" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♎︎</text><text x="27.77" y="180.61" font-size="14" fill="var(--xv-cool)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♏︎</text><text x="59.45" y="237.62" font-size="14" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♐︎</text><text x="115.4" y="271.16" font-size="14" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♑︎</text><text x="180.61" y="272.23" font-size="14" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♒︎</text><text x="237.62" y="240.55" font-size="14" fill="var(--xv-cool)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♓︎</text><line x1="97.17" y1="178.44" x2="49.62" y2="204.03" stroke="var(--xv-line)" stroke-width="1"></line><line x1="120.71" y1="202.37" x2="94.35" y2="249.49" stroke="var(--xv-line)" stroke-width="1"></line><line x1="187.73" y1="196.66" x2="221.68" y2="238.64" stroke="var(--xv-line)" stroke-width="1"></line><line x1="205.25" y1="173.39" x2="254.98" y2="194.43" stroke="var(--xv-line)" stroke-width="1"></line><line x1="202.83" y1="121.56" x2="250.38" y2="95.97" stroke="var(--xv-line)" stroke-width="1"></line><line x1="179.29" y1="97.63" x2="205.65" y2="50.51" stroke="var(--xv-line)" stroke-width="1"></line><line x1="112.27" y1="103.34" x2="78.32" y2="61.36" stroke="var(--xv-line)" stroke-width="1"></line><line x1="94.75" y1="126.61" x2="45.02" y2="105.57" stroke="var(--xv-line)" stroke-width="1"></line><text x="47.21" y="175.9" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">1</text><text x="74.44" y="224.34" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">2</text><text x="128.52" y="253.8" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">3</text><text x="190.39" y="248" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">4</text><text x="234.67" y="213.78" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">5</text><text x="253.88" y="171.08" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">6</text><text x="252.79" y="124.1" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">7</text><text x="225.56" y="75.66" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">8</text><text x="171.48" y="46.2" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">9</text><text x="109.61" y="52" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">10</text><text x="65.33" y="86.22" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">11</text><text x="46.12" y="128.92" font-size="9.6" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="bc-hnum xv-mono">12</text><line x1="90" y1="150" x2="6" y2="150" stroke="var(--xv-ink)" stroke-width="1.6" stroke-linecap="round" style="animation:xv-bc-x-asc 10s ease-out infinite both"></line><line x1="210" y1="150" x2="290" y2="150" stroke="var(--xv-ink)" stroke-width="1.6" stroke-linecap="round" style="animation:xv-bc-x-dsc 10s ease-out infinite both"></line><line x1="143.89" y1="90.31" x2="135.35" y2="6.75" stroke="var(--xv-ink)" stroke-width="1.6" stroke-linecap="round" style="animation:xv-bc-x-mc 10s ease-out infinite both"></line><line x1="156.11" y1="209.69" x2="164.25" y2="289.27" stroke="var(--xv-ink)" stroke-width="1.6" stroke-linecap="round" style="animation:xv-bc-x-ic 10s ease-out infinite both"></line><text x="24.48" y="160.98" font-size="9.6" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" style="animation:xv-bc-asc-label 10s ease-out infinite both">ASC</text><text x="150.35" y="24" font-size="9.6" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" style="animation:xv-bc-mc-label 10s ease-out infinite both">MC</text><line x1="136.06" y1="91.64" x2="108.04" y2="192.88" stroke="var(--xv-cool)" stroke-width="1.4" stroke-linecap="round" stroke-dasharray="108 108" class="bc-aspect" style="animation:xv-bc-a0 10s ease-out infinite both;stroke-dashoffset:0"></line><line x1="136.06" y1="91.64" x2="90.78" y2="159.63" stroke="var(--xv-bad)" stroke-width="1.4" stroke-linecap="round" stroke-dasharray="84 84" class="bc-aspect" style="animation:xv-bc-a1 10s ease-out infinite both;stroke-dashoffset:0"></line><line x1="111.64" y1="103.86" x2="90.78" y2="159.63" stroke="var(--xv-cool)" stroke-width="1.4" stroke-linecap="round" stroke-dasharray="3 3" class="bc-aspect" style="animation:xv-bc-a2 10s ease-out infinite both"></line><g><line x1="123.52" y1="39.12" x2="125.61" y2="47.87" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round" style="animation:xv-bc-m0 10s ease-out infinite both"></line><g class="bc-planet" style="animation:xv-bc-p0 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="136.06" cy="91.64" r="2" fill="var(--xv-ink)"></circle><circle cx="130.95" cy="70.24" r="10" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></circle><text x="130.95" y="70.24" font-size="15" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">☉︎</text></g></g><g><line x1="70.27" y1="231.48" x2="76.56" y2="225.05" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round" style="animation:xv-bc-m1 10s ease-out infinite both"></line><g class="bc-planet" style="animation:xv-bc-p1 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="108.04" cy="192.88" r="2" fill="var(--xv-ink)"></circle><circle cx="92.65" cy="208.61" r="10" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></circle><text x="92.65" y="208.61" font-size="15" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">☽︎</text></g></g><g><line x1="77.12" y1="62.34" x2="82.87" y2="69.26" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round" style="animation:xv-bc-m2 10s ease-out infinite both"></line><g class="bc-planet" style="animation:xv-bc-p2 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="111.64" cy="103.86" r="2" fill="var(--xv-ink)"></circle><circle cx="97.58" cy="86.95" r="10" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></circle><text x="97.58" y="86.95" font-size="15" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">☿︎</text></g></g><g><line x1="97.06" y1="49.04" x2="101.24" y2="57.01" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round" style="animation:xv-bc-m3 10s ease-out infinite both"></line>
73<g class="bc-planet" style="animation:xv-bc-p3 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="122.14" cy="96.86" r="2" fill="var(--xv-ink)"></circle><circle cx="111.92" cy="77.38" r="10" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></circle><text x="111.92" y="77.38" font-size="15" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♀︎</text></g></g><g><line x1="45.46" y1="195.46" x2="53.71" y2="191.87" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round" style="animation:xv-bc-m4 10s ease-out infinite both"></line><g class="bc-planet" style="animation:xv-bc-p4 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="94.98" cy="173.92" r="2" fill="var(--xv-ink)"></circle><circle cx="74.8" cy="182.7" r="10" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></circle><text x="74.8" y="182.7" font-size="15" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♂︎</text></g></g><g><line x1="98.28" y1="251.59" x2="102.36" y2="243.57" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round" style="animation:xv-bc-m5 10s ease-out infinite both"></line><g class="bc-planet" style="animation:xv-bc-p5 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="122.78" cy="203.47" r="2" fill="var(--xv-ink)"></circle><circle cx="112.8" cy="223.08" r="10" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></circle><text x="112.8" y="223.08" font-size="15" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♃︎</text></g></g><g><line x1="37.48" y1="168.31" x2="46.36" y2="166.86" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round" style="animation:xv-bc-m6 10s ease-out infinite both"></line><g class="bc-planet" style="animation:xv-bc-p6 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="90.78" cy="159.63" r="2" fill="var(--xv-ink)"></circle><circle cx="69.06" cy="163.17" r="10" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></circle><text x="69.06" y="163.17" font-size="15" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♄︎</text></g></g><circle cx="150" cy="150" r="1.6" fill="var(--xv-ink-soft)"></circle></svg></div></div></div></div><div class="relative z-10 flex flex-col justify-end px-3 pt-3 pb-1"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
74              text-lg md:text-xl">Birth Chart API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
75              line-clamp-2">Planet positions, house cusps, aspects, and elements — everything in a natal chart, clean JSON ready to render.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-1 lg:row-span-2  md:row-span-2 group bento-card-animation" style="animation-delay:55ms"><div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
76          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
77          transition-all duration-500 p-3 flex
78          flex-col
79          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
80              transition-transform duration-700 group-hover:scale-[1.03]
81              w-full flex-1 min-h-[160px]"><div aria-hidden="true" data-xv="kundli" class="xv-frame  "><style>[data-xv="kundli"] .ku-line{stroke-dasharray:100 100}
82[data-xv="kundli"] .ku-seg{transform-box:fill-box;transform-origin:left center}
83[data-xv="kundli"] .ku-pop{transform-box:fill-box;transform-origin:center}
84[data-xv="kundli"] .ku-pl{transition:fill .3s ease}
85.group\/card:hover [data-xv="kundli"] .ku-pl{fill:var(--xv-accent)}
86@keyframes xv-ku-frame{0%{stroke-dashoffset:100}1%{stroke-dashoffset:100}10%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
87@keyframes xv-ku-n0{0%{opacity:0}8%{opacity:0}11%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
88@keyframes xv-ku-n1{0%{opacity:0}8.5%{opacity:0}11.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
89@keyframes xv-ku-n2{0%{opacity:0}9%{opacity:0}12%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
90@keyframes xv-ku-n3{0%{opacity:0}9.5%{opacity:0}12.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
91@keyframes xv-ku-n4{0%{opacity:0}10%{opacity:0}13%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
92@keyframes xv-ku-n5{0%{opacity:0}10.5%{opacity:0}13.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
93@keyframes xv-ku-n6{0%{opacity:0}11%{opacity:0}14%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
94@keyframes xv-ku-n7{0%{opacity:0}11.5%{opacity:0}14.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
95@keyframes xv-ku-n8{0%{opacity:0}12%{opacity:0}
9515%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
96@keyframes xv-ku-n9{0%{opacity:0}12.5%{opacity:0}15.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
97@keyframes xv-ku-n10{0%{opacity:0}13%{opacity:0}16%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
98@keyframes xv-ku-n11{0%{opacity:0}13.5%{opacity:0}16.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
99@keyframes xv-ku-lagna{0%{opacity:0;transform:translateY(4px)}10%{opacity:0;transform:translateY(4px)}14%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(4px)}100%{opacity:0;transform:translateY(4px)}}
100@keyframes xv-ku-moon{0%{opacity:0;transform:translateY(4px)}19.5%{opacity:0;transform:translateY(4px)}23.5%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(4px)}100%{opacity:0;transform:translateY(4px)}}
101@keyframes xv-ku-bal{0%{opacity:0;transform:translateY(4px)}23%{opacity:0;transform:translateY(4px)}27%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(4px)}100%{opacity:0;transform:translateY(4px)}}
102@keyframes xv-ku-p0{0%{opacity:0;transform:translateY(-10px)}16%{opacity:0;transform:translateY(-10px)}19%{opacity:1;transform:translateY(1px)}20.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
103@keyframes xv-ku-p1{0%{opacity:0;transform:translateY(-10px)}18%{opacity:0;transform:translateY(-10px)}21%{opacity:1;transform:translateY(1px)}22.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
104@keyframes xv-ku-p2{0%{opacity:0;transform:translateY(-10px)}20%{opacity:0;transform:translateY(-10px)}23%{opacity:1;transform:translateY(1px)}24.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
105@keyframes xv-ku-p3{0%{opacity:0;transform:translateY(-10px)}22%{opacity:0;transform:translateY(-10px)}25%{opacity:1;transform:translateY(1px)}26.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
106@keyframes xv-ku-p4{0%{opacity:0;transform:translateY(-10px)}24%{opacity:0;transform:translateY(-10px)}27%{opacity:1;transform:translateY(1px)}28.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
107@keyframes xv-ku-p5{0%{opacity:0;transform:translateY(-10px)}26%{opacity:0;transform:translateY(-10px)}29%{opacity:1;transform:translateY(1px)}30.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
108@keyframes xv-ku-p6{0%{opacity:0;transform:translateY(-10px)}28%{opacity:0;transform:translateY(-10px)}31%{opacity:1;transform:translateY(1px)}32.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
109@keyframes xv-ku-p7{0%{opacity:0;transform:translateY(-10px)}30%{opacity:0;transform:translateY(-10px)}33%{opacity:1;transform:translateY(1px)}34.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
110@keyframes xv-ku-p8{0%{opacity:0;transform:translateY(-10px)}32%{opacity:0;transform:translateY(-10px)}35%{opacity:1;transform:translateY(1px)}36.2%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
111@keyframes xv-ku-axis{0%{opacity:0}34%{opacity:0}36.5%{opacity:1}45%{opacity:1}49%{opacity:0}
111100%{opacity:0}}
112@keyframes xv-ku-s0{0%{transform:scaleX(0)}37%{transform:scaleX(0)}40%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
113@keyframes xv-ku-s1{0%{transform:scaleX(0)}37.7%{transform:scaleX(0)}40.7%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
114@keyframes xv-ku-s2{0%{transform:scaleX(0)}38.4%{transform:scaleX(0)}41.4%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
115@keyframes xv-ku-s3{0%{transform:scaleX(0)}39.1%{transform:scaleX(0)}42.1%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
116@keyframes xv-ku-s4{0%{transform:scaleX(0)}39.8%{transform:scaleX(0)}42.8%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
117@keyframes xv-ku-s5{0%{transform:scaleX(0)}40.5%{transform:scaleX(0)}43.5%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
118@keyframes xv-ku-s6{0%{transform:scaleX(0)}41.2%{transform:scaleX(0)}44.2%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
119@keyframes xv-ku-s7{0%{transform:scaleX(0)}41.9%{transform:scaleX(0)}44.9%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
120@keyframes xv-ku-s8{0%{transform:scaleX(0)}42.6%{transform:scaleX(0)}45.6%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
121@keyframes xv-ku-labels{0%{opacity:0}44%{opacity:0}47.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
122@keyframes xv-ku-now{0%{opacity:0;transform:translateX(-71.98px)}44%{opacity:0;transform:translateX(-71.98px)}47%{opacity:1;transform:translateX(-71.98px)}64%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(0px)}100%{opacity:0;transform:translateX(0px)}}
123@keyframes xv-ku-cur{0%{fill:var(--xv-surface)}63%{fill:var(--xv-surface)}
12366.5%{fill:var(--xv-accent)}91%{fill:var(--xv-accent)}95%{fill:var(--xv-surface)}100%{fill:var(--xv-surface)}}
124@keyframes xv-ku-chip{0%{opacity:0;transform:translateY(5px)}65%{opacity:0;transform:translateY(5px)}69%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(5px)}100%{opacity:0;transform:translateY(5px)}}</style><svg viewBox="0 0 276 268" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><text x="8" y="12" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central"><tspan font-weight="700" fill="var(--xv-ink)">6 Jul 1993 · 08:00 IST</tspan><tspan> · New Delhi</tspan></text><g><rect x="8" y="24" width="168" height="168" fill="var(--xv-surface)"></rect><path d="M 8 24 H 176 V 192 H 8 Z" fill="none" stroke="var(--xv-ink)" stroke-width="1.3" stroke-linejoin="round" pathLength="100" class="ku-line" style="animation:xv-ku-frame 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 8 24 L 176 192" fill="none" stroke="var(--xv-line-strong)" stroke-width="1" stroke-linejoin="round" pathLength="100" class="ku-line" style="animation:xv-ku-frame 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 176 24 L 8 192" fill="none" stroke="var(--xv-line-strong)" stroke-width="1" stroke-linejoin="round" pathLength="100" class="ku-line" style="animation:xv-ku-frame 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 92 24 L 176 108 L 92 192 L 8 108 Z" fill="none" stroke="var(--xv-line-strong)" stroke-width="1" stroke-linejoin="round" pathLength="100" class="ku-line" style="animation:xv-ku-frame 10s ease-in-out infinite both;stroke-dashoffset:0"></path><text x="92" y="94.14" font-size="9" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n0 10s ease-out infinite both">4</text><text x="50" y="55.92" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n1 10s ease-out infinite both">5</text><text x="39.92" y="66" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n2 10s ease-out infinite both">6</text><text x="78.14" y="108" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n3 10s ease-out infinite both">7</text><text x="39.92" y="150" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n4 10s ease-out infinite both">8</text><text x="50" y="160.08" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n5 10s ease-out infinite both">9</text><text x="92" y="121.86" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n6 10s ease-out infinite both">10</text><text x="134" y="160.08" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n7 10s ease-out infinite both">11</text><text x="144.08" y="150" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n8 10s ease-out infinite both">12</text><text x="105.86" y="108" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n9 10s ease-out infinite both">1</text><text x="144.08" y="66" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n10 10s ease-out infinite both">2</text><text x="134" y="55.92" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-ku-n11 10s ease-out infinite both">3</text><text x="92" y="46.24" font-size="9" font-weight="800" letter-spacing="0.04em" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" style="animation:xv-ku-lagna 10s ease-out infinite both">Asc</text><line x1="21.44" y1="150" x2="160.04" y2="73" stroke="var(--xv-gold)" stroke-width="1" stroke-dasharray="2 3" style="animation:xv-ku-axis 10s ease-out infinite both;opacity:0"></line><g class="ku-pop" style="animation:xv-ku-p0 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="134" y="39.12" font-size="10.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="ku-pl">Su</text></g><g class="ku-pop" style="animation:xv-ku-p1 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="92" y="154.2" font-size="10.5" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central">Mo</text></g><g class="ku-pop" style="animation:xv-ku-p2 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="50" y="39.12" font-size="10.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="ku-pl">Ma</text></g><g class="ku-pop" style="animation:xv-ku-p3 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="92" y="61.24" font-size="10.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="ku-pl">Me</text></g><g class="ku-pop" style="animation:xv-ku-p4 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="21.44" y="66" font-size="10.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="ku-pl">Ju</text></g><g class="ku-pop" style="animation:xv-ku-p5 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="160.04" y="59" font-size="10.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="ku-pl">Ve</text></g><g class="ku-pop" style="animation:xv-ku-p6 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="134" y="177.72" font-size="10.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="ku-pl">Sa</text></g><g class="ku-pop" style="animation:xv-ku-p7 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="21.44" y="150" font-size="10.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="ku-pl">Ra</text></g><g class="ku-pop" style="animation:xv-ku-p8 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="160.04" y="73" font-size="10.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="ku-pl">Ke</text></g></g><g><g style="animation:xv-ku-lagna 10s ease-out infinite both"><text x="185" y="62" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">LAGNA</text><text x="185" y="76" font-size="12" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Karka</text><text x="185" y="89" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">21°42′</text></g><g style="animation:xv-ku-moon 10s ease-out infinite both"><text x="185" y="110" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">MOON</text><text x="185" y="124" font-size="12" font-weight="800" fill="var(--xv-accent)" dominant-baseline="central">Shravana</text><text x="185" y="137" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central">Makara · pada 2</text></g><g style="animation:xv-ku-bal 10s ease-out infinite both"><text x="185" y="158" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">BALANCE</text><text x="185" y="172" font-size="11" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Moon 6y 0m</text><text x="185" y="185" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central">at birth</text></g></g><g><text x="268" y="203" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" text-anchor="end" dominant-baseline="central">VIMSHOTTARI DASHA</text><rect x="8" y="211" width="260" height="12" rx="3" fill="var(--xv-wash)" stroke="var(--xv-line)" stroke-width="1"></rect><rect x="8" y="211" width="21.67" height="12" fill="var(--xv-accent-soft)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s0 10s ease-out infinite both"></rect><rect x="29.67" y="211" width="15.17" height="12" fill="var(--xv-accent-soft)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s1 10s ease-out infinite both"></rect><rect x="44.83" y="211" width="39" height="12" fill="var(--xv-accent-soft)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s2 10s ease-out infinite both"></rect><rect x="83.83" y="211" width="34.67" height="12" fill="var(--xv-accent)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s3 10s ease-out infinite both, xv-ku-cur 10s ease-out infinite both"></rect><rect x="118.5" y="211" width="41.17" height="12" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s4 10s ease-out infinite both"></rect><rect x="159.67" y="211" width="36.83" height="12" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s5 10s ease-out infinite both"></rect><rect x="196.5" y="211" width="15.17" height="12" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s6 10s ease-out infinite both"></rect><rect x="211.67" y="211" width="43.33" height="12" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s7 10s ease-out infinite both"></rect><rect x="255" y="211" width="13" height="12" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8" class="ku-seg" style="animation:xv-ku-s8 10s ease-out infinite both"></rect><rect x="8" y="211" width="8.64" height="12" fill="var(--xv-ink-soft)" fill-opacity="0.28"></rect><g style="animation:xv-ku-labels 10s ease-out infinite both"><g><text x="18.83" y="231" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">Mo</text><text x="18.83" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">10</text></g><g>
124<text x="37.25" y="231" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">Ma</text><text x="37.25" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">7</text></g><g><text x="64.33" y="231" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">Ra</text><text x="64.33" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">18</text></g><g><text x="101.17" y="231" font-size="9" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central">Ju</text><text x="101.17" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">16</text></g><g><text x="139.08" y="231" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">Sa</text><text x="139.08" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">19</text></g><g><text x="178.08" y="231" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">Me</text><text x="178.08" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">17</text></g><g><text x="204.08" y="231" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">Ke</text><text x="204.08" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">7</text></g><g><text x="233.33" y="231" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">Ve</text><text x="233.33" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">20</text></g><g><text x="261.5" y="231" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">Su</text><text x="261.5" y="242" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">6</text></g></g><g style="animation:xv-ku-now 10s cubic-bezier(0.45, 0, 0.25, 1) infinite both"><line x1="88.62" y1="207" x2="88.62" y2="226" stroke="var(--xv-ink)" stroke-width="1.4" stroke-linecap="round"></line><path d="M 85.12 203 H 92.12 L 88.62 207.5 Z" fill="var(--xv-ink)"></path><text x="94.62" y="203" font-size="9" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">now</text></g><g class="ku-pop" style="animation:xv-ku-chip 10s ease-out infinite both"><rect x="8" y="251" width="226.89" height="15" rx="7.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="14" y="258.5" font-size="9.5" font-weight="600" fill="var(--xv-accent)" dominant-baseline="central" class="">Mahadasha: Jupiter · Antardasha: Saturn</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end p-3 pt-2 pb-3"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
125              text-lg md:text-xl">Kundali API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
126              line-clamp-4">Comprehensive Vedic charts — all divisional charts, Vimshottari dasha, Shadbala, Ashtakvarga, Bhavbala, and Gochara.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-1 lg:row-span-2  md:row-span-2 group bento-card-animation" style="animation-delay:110ms">
126<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
127          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
128          transition-all duration-500 p-3 flex
129          flex-col
130          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
131              transition-transform duration-700 group-hover:scale-[1.03]
132              w-full flex-1 min-h-[160px]"><div aria-hidden="true" data-xv="compatibility" class="xv-frame  "><style>[data-xv="compatibility"] .co-fill{transform-box:fill-box;transform-origin:left center}
133[data-xv="compatibility"] .co-pop{transform-box:fill-box;transform-origin:center}
134[data-xv="compatibility"] .co-track{transition:fill .3s ease}
135.group\/card:hover [data-xv="compatibility"] .co-track{fill:var(--xv-line-strong)}
136@keyframes xv-co-p0{0%{opacity:0;transform:translateX(-8px)}2%{opacity:0;transform:translateX(-8px)}6%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(-8px)}100%{opacity:0;transform:translateX(-8px)}}
137@keyframes xv-co-p1{0%{opacity:0;transform:translateX(8px)}4.5%{opacity:0;transform:translateX(8px)}8.5%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(8px)}100%{opacity:0;transform:translateX(8px)}}
138@keyframes xv-co-moon{0%{opacity:0}8%{opacity:0}11.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
139@keyframes xv-co-f0{0%{transform:scaleX(0)}13%{transform:scaleX(0)}16.5%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
140@keyframes xv-co-s0{0%{opacity:0}14.5%{opacity:0}17%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
141@keyframes xv-co-c0{0%{opacity:0}14.75%{opacity:0}15.75%{opacity:1}18.95%{opacity:1}19.45%{opacity:0}100%{opacity:0}}
142@keyframes xv-co-f1{0%{transform:scaleX(0)}17.2%{transform:scaleX(0)}20.7%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
143@keyframes xv-co-s1{0%{opacity:0}18.7%{opacity:0}21.2%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
144@keyframes xv-co-c1{0%{opacity:0}18.95%{opacity:0}19.95%{opacity:1}23.15%{opacity:1}23.65%{opacity:0}100%{opacity:0}}
145@keyframes xv-co-f2{0%{transform:scaleX(0)}21.4%{transform:scaleX(0)}24.9%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
146@keyframes xv-co-s2{0%{opacity:0}22.9%{opacity:0}
14625.4%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
147@keyframes xv-co-c2{0%{opacity:0}23.15%{opacity:0}24.15%{opacity:1}27.35%{opacity:1}27.85%{opacity:0}100%{opacity:0}}
148@keyframes xv-co-f3{0%{transform:scaleX(0)}25.6%{transform:scaleX(0)}29.1%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
149@keyframes xv-co-s3{0%{opacity:0}27.1%{opacity:0}29.6%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
150@keyframes xv-co-c3{0%{opacity:0}27.35%{opacity:0}28.35%{opacity:1}31.55%{opacity:1}32.05%{opacity:0}100%{opacity:0}}
151@keyframes xv-co-f4{0%{transform:scaleX(0)}29.8%{transform:scaleX(0)}33.3%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
152@keyframes xv-co-s4{0%{opacity:0}31.3%{opacity:0}33.8%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
153@keyframes xv-co-c4{0%{opacity:0}31.55%{opacity:0}32.55%{opacity:1}35.75%{opacity:1}36.25%{opacity:0}100%{opacity:0}}
154@keyframes xv-co-f5{0%{transform:scaleX(0)}34%{transform:scaleX(0)}37.5%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
155@keyframes xv-co-s5{0%{opacity:0}35.5%{opacity:0}38%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
156@keyframes xv-co-c5{0%{opacity:0}35.75%{opacity:0}36.75%{opacity:1}39.95%{opacity:1}40.45%{opacity:0}100%{opacity:0}}
157@keyframes xv-co-f6{0%{transform:scaleX(0)}38.2%{transform:scaleX(0)}41.7%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
158@keyframes xv-co-s6{0%{opacity:0}39.7%{opacity:0}42.2%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
159@keyframes xv-co-c6{0%{opacity:0}39.95%{opacity:0}40.95%{opacity:1}44.15%{opacity:1}44.65%{opacity:0}100%{opacity:0}}
160@keyframes xv-co-f7{0%{transform:scaleX(0)}42.4%{transform:scaleX(0)}45.9%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
161@keyframes xv-co-s7{0%{opacity:0}43.9%{opacity:0}
16146.4%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
162@keyframes xv-co-c7{0%{opacity:0}44.15%{opacity:0}45.65%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
163@keyframes xv-co-ring{0%{stroke-dashoffset:138.23}13%{stroke-dashoffset:138.23}16.5%{stroke-dashoffset:134.39}17.2%{stroke-dashoffset:134.39}20.7%{stroke-dashoffset:126.71}21.4%{stroke-dashoffset:126.71}24.9%{stroke-dashoffset:120.95}25.6%{stroke-dashoffset:120.95}29.1%{stroke-dashoffset:105.59}29.8%{stroke-dashoffset:105.59}33.3%{stroke-dashoffset:86.39}34%{stroke-dashoffset:86.39}37.5%{stroke-dashoffset:63.36}38.2%{stroke-dashoffset:63.36}41.7%{stroke-dashoffset:63.36}42.4%{stroke-dashoffset:63.36}45.9%{stroke-dashoffset:32.64}91%{stroke-dashoffset:32.64}95%{stroke-dashoffset:138.23}100%{stroke-dashoffset:138.23}}
164@keyframes xv-co-verdict{0%{opacity:0;transform:scale(0.9)}50%{opacity:0;transform:scale(0.9)}53.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.9)}100%{opacity:0;transform:scale(0.9)}}
165@keyframes xv-co-manglik{0%{opacity:0;transform:scale(0.9)}54%{opacity:0;transform:scale(0.9)}57.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.9)}100%{opacity:0;transform:scale(0.9)}}
166@keyframes xv-co-note{0%{opacity:0}58%{opacity:0}61.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}</style><svg viewBox="0 0 276 268" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><g style="animation:xv-co-p0 10s ease-out infinite both"><g class=""><rect x="8" y="6" width="83.63" height="15" rx="7.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="14" y="13.5" font-size="9.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="">Aarav · Hasta</text></g><text x="14" y="31" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" style="animation:xv-co-moon 10s ease-out infinite both">Kanya Moon</text></g><g style="animation:xv-co-p1 10s ease-out infinite both"><g class=""><rect x="122" y="6" width="78.12" height="15" rx="7.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="128" y="13.5" font-size="9.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="">Diya · Swati</text></g><text x="128" y="31" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" style="animation:xv-co-moon 10s ease-out infinite both">Tula Moon</text></g><g fill="none" stroke="var(--xv-rose)" stroke-width="1.2"><circle cx="101.63" cy="13.5" r="3.4"></circle><circle cx="106.63" cy="13.5" r="3.4"></circle></g></g><g><text x="8" y="55" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">ASHTAKOOT</text><text x="211" y="55" font-size="9" fill="var(--xv-ink-soft)" text-anchor="end" dominant-baseline="central">score / max</text><g><text x="8" y="71" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Varna</text><rect x="80" y="68" width="12" height="6" rx="3" fill="var(--xv-line)" class="co-track"></rect><rect x="80" y="68" width="12" height="6" rx="3" fill="var(--xv-good)" class="co-fill" style="animation:xv-co-f0 10s ease-out infinite both"></rect><text x="211" y="71" font-size="9.5" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono" style="animation:xv-co-s0 10s ease-out infinite both">1/1</text></g><g><text x="8" y="87" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Vashya</text><rect x="80" y="84" width="24" height="6" rx="3" fill="var(--xv-line)" class="co-track"></rect><rect x="80" y="84" width="24" height="6" rx="3" fill="var(--xv-good)" class="co-fill" style="animation:xv-co-f1 10s ease-out infinite both"></rect><text x="211" y="87" font-size="9.5" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono" style="animation:xv-co-s1 10s ease-out infinite both">2/2</text></g><g><text x="8" y="103" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Tara</text><rect x="80" y="100" width="36" height="6" rx="3" fill="var(--xv-line)" class="co-track"></rect><rect x="80" y="100" width="18" height="6" rx="3" fill="var(--xv-gold)" class="co-fill" style="animation:xv-co-f2 10s ease-out infinite both"></rect><text x="211" y="103" font-size="9.5" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono" style="animation:xv-co-s2 10s ease-out infinite both">1.5/3</text></g><g><text x="8" y="119" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Yoni</text><rect x="80" y="116" width="48" height="6" rx="3" fill="var(--xv-line)" class="co-track"></rect><rect x="80" y="116" width="48" height="6" rx="3" fill="var(--xv-good)" class="co-fill" style="animation:xv-co-f3 10s ease-out infinite both"></rect><text x="211" y="119" font-size="9.5" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono" style="animation:xv-co-s3 10s ease-out infinite both">4/4</text></g><g><text x="8" y="135" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Graha Maitri</text><rect x="80" y="132" width="60" height="6" rx="3" fill="var(--xv-line)" class="co-track"></rect><rect x="80" y="132" width="60" height="6" rx="3" fill="var(--xv-good)" class="co-fill" style="animation:xv-co-f4 10s ease-out infinite both"></rect><text x="211" y="135" font-size="9.5" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono" style="animation:xv-co-s4 10s ease-out infinite both">5/5</text></g><g><text x="8" y="151" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Gana</text><rect x="80" y="148" width="72" height="6" rx="3" fill="var(--xv-line)" class="co-track"></rect><rect x="80" y="148" width="72" height="6" rx="3" fill="var(--xv-good)" class="co-fill" style="animation:xv-co-f5 10s ease-out infinite both"></rect><text x="211" y="151" font-size="9.5" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono" style="animation:xv-co-s5 10s ease-out infinite both">6/6</text></g><g><text x="8" y="167" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Bhakoot</text><rect x="80" y="164" width="84" height="6" rx="3" fill="var(--xv-line)" class="co-track"></rect>
166<circle cx="83" cy="167" r="3" fill="var(--xv-bad)" class="co-pop" style="animation:xv-co-f6 10s ease-out infinite both"></circle><text x="211" y="167" font-size="9.5" font-weight="700" fill="var(--xv-bad)" text-anchor="end" dominant-baseline="central" class="xv-mono" style="animation:xv-co-s6 10s ease-out infinite both">0/7</text></g><g><text x="8" y="183" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Nadi</text><rect x="80" y="180" width="96" height="6" rx="3" fill="var(--xv-line)" class="co-track"></rect><rect x="80" y="180" width="96" height="6" rx="3" fill="var(--xv-good)" class="co-fill" style="animation:xv-co-f7 10s ease-out infinite both"></rect><text x="211" y="183" font-size="9.5" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono" style="animation:xv-co-s7 10s ease-out infinite both">8/8</text></g></g><g><text x="243" y="76" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">GUNAS</text><circle cx="243" cy="112" r="22" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="5"></circle><circle cx="243" cy="112" r="22" fill="none" stroke="var(--xv-accent)" stroke-width="5" stroke-linecap="round" stroke-dasharray="138.23 138.23" transform="rotate(-90 243 112)" style="animation:xv-co-ring 10s ease-out infinite both;stroke-dashoffset:32.64"></circle><text x="243" y="109" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-co-c0 10s linear infinite both;opacity:0">1</text><text x="243" y="109" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-co-c1 10s linear infinite both;opacity:0">3</text><text x="243" y="109" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-co-c2 10s linear infinite both;opacity:0">4.5</text><text x="243" y="109" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-co-c3 10s linear infinite both;opacity:0">8.5</text><text x="243" y="109" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-co-c4 10s linear infinite both;opacity:0">13.5</text><text x="243" y="109" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-co-c5 10s linear infinite both;opacity:0">19.5</text><text x="243" y="109" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-co-c6 10s linear infinite both;opacity:0">19.5</text><text x="243" y="109" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-co-c7 10s linear infinite both;opacity:1">27.5</text><text x="243" y="122" font-size="9" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">/36</text></g><g><g class="co-pop" style="animation:xv-co-verdict 10s ease-out infinite both"><rect x="8" y="206" width="178.78" height="15" rx="7.5" fill="var(--xv-good-soft)" stroke="var(--xv-good)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="18.75" y="213.5" font-size="9.5" font-weight="800" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central">✓</text><text x="26.5" y="213.5" font-size="9.5" font-weight="700" fill="var(--xv-good)" dominant-baseline="central" class="">Very good match · 27.5 of 36</text></g><g class="co-pop" style="animation:xv-co-manglik 10s ease-out infinite both"><rect x="8" y="226" width="156.74" height="15" rx="7.5" fill="var(--xv-good-soft)" stroke="var(--xv-good)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="18.75" y="233.5" font-size="9.5" font-weight="800" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central">✓</text><text x="26.5" y="233.5" font-size="9.5" font-weight="600" fill="var(--xv-good)" dominant-baseline="central" class="">Manglik: neither partner</text></g><text x="8" y="256" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" style="animation:xv-co-note 10s ease-out infinite both">Bhakoot 2/12 dosha cancelled: lords are friends</text></g></svg></div></div><div class="relative z-10 flex flex-col justify-end p-3 pt-2 pb-3"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
167              text-lg md:text-xl">Compatibility API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
168              line-clamp-4">Ashtakoot Guna Milan and Dashkoot for Vedic. Full synastry and composite charts for Western. Both traditions, one integration.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:165ms">
168<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
169          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
170          transition-all duration-500 p-3 flex
171          flex-col md:flex-row
172          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
173              transition-transform duration-700 group-hover:scale-[1.03]
174              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="horoscope" class="xv-frame  "><style>[data-xv="horoscope"] .hs-deva{font-family:'Plus Jakarta Sans','Kohinoor Devanagari','Devanagari Sangam MN','Nirmala UI','Noto Sans Devanagari','Mangal',sans-serif}
175[data-xv="horoscope"] .hs-taml{font-family:'Plus Jakarta Sans','Tamil Sangam MN','Nirmala UI','Noto Sans Tamil','Latha',sans-serif}
176[data-xv="horoscope"] .hs-tab{transition:fill .35s ease}
177.group\/card:hover [data-xv="horoscope"] .hs-tab{fill:var(--xv-ink)}
178@keyframes xv-hs-card{0%{opacity:0;transform:translateY(-12px)}1.5%{opacity:0;transform:translateY(-12px)}6%{opacity:1;transform:translateY(0px)}95.5%{opacity:1;transform:translateY(0px)}98.5%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
179@keyframes xv-hs-flash{24.5%{opacity:0}26.5%{opacity:1}32.5%{opacity:0}49.5%{opacity:0}51.5%{opacity:1}57.5%{opacity:0}74.5%{opacity:0}76.5%{opacity:1}82.5%{opacity:0}}
180@keyframes xv-hs-t0{0%{opacity:0;transform:translateY(3px)}5.5%{opacity:0;transform:translateY(3px)}8.5%{opacity:1;transform:translateY(0px)}22%{opacity:1;transform:translateY(0px)}25%{opacity:0;transform:translateY(3px)}100%{opacity:0;transform:translateY(3px)}}
181@keyframes xv-hs-c0{0%{opacity:0}3.5%{opacity:0}6%{opacity:1}22.5%{opacity:1}25%{opacity:0}100%{opacity:0}}
182@keyframes xv-hs-t1{0%{opacity:0;transform:translateY(3px)}25%{opacity:0;transform:translateY(3px)}28%{opacity:1;transform:translateY(0px)}47%{opacity:1;transform:translateY(0px)}50%{opacity:0;transform:translateY(3px)}100%{opacity:0;transform:translateY(3px)}}
183@keyframes xv-hs-c1{0%{opacity:0}25%{opacity:0}27.5%{opacity:1}47.5%{opacity:1}50%{opacity:0}100%{opacity:0}}
184@keyframes xv-hs-t2{0%{opacity:0;transform:translateY(3px)}50%{opacity:0;transform:translateY(3px)}53%{opacity:1;transform:translateY(0px)}72%{opacity:1;transform:translateY(0px)}75%{opacity:0;transform:translateY(3px)}100%{opacity:0;transform:translateY(3px)}}
185@keyframes xv-hs-c2{0%{opacity:0}50%{opacity:0}52.5%{opacity:1}72.5%{opacity:1}75%{opacity:0}100%{opacity:0}}
186@keyframes xv-hs-t3{0%{opacity:0;transform:translateY(3px)}75%{opacity:0;transform:translateY(3px)}78%{opacity:1;transform:translateY(0px)}92.5%{opacity:1;transform:translateY(0px)}95.5%{opacity:0;transform:translateY(3px)}100%{opacity:0;transform:translateY(3px)}}
187@keyframes xv-hs-c3{0%{opacity:0}75%{opacity:0}77.5%{opacity:1}93%{opacity:1}95.5%{opacity:0}100%{opacity:0}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><defs><linearGradient id="xv-hs-wall" x1="0" y1="0" x2="0.4" y2="1"><stop offset="0" style="stop-color:var(--xv-accent);stop-opacity:0.14"></stop><stop offset="1" style="stop-color:var(--xv-accent);stop-opacity:0.02"></stop></linearGradient></defs><path d="M 10 174 V 23 Q 10 7 26 7 H 168 Q 184 7 184 23 V 174" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></path><path d="M 14 174 V 23 Q 14 11 26 11 H 168 Q 180 11 180 23 V 174 Z" fill="url(#xv-hs-wall)"></path><rect x="80" y="16" width="34" height="7" rx="3.5" fill="var(--xv-line-strong)"></rect><text x="97" y="33" font-size="9.2" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">Thursday, 24 September</text><text x="97" y="50" font-size="24" font-weight="700" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" letter-spacing="-0.5">7:30</text><rect x="23" y="135" width="148" height="12" rx="6" fill="var(--xv-surface)" fill-opacity="0.7" stroke="var(--xv-line)"></rect><rect x="31" y="150" width="132" height="9" rx="4.5" fill="var(--xv-surface)" fill-opacity="0.45" stroke="var(--xv-line)"></rect></g><g style="animation:xv-hs-card 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><rect x="17" y="64" width="160" height="66" rx="10" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></rect><rect x="17" y="64" width="160" height="66" rx="10" fill="none" stroke="var(--xv-accent)" stroke-width="1.4" style="animation:xv-hs-flash 10s ease-out infinite both;opacity:0"></rect><rect x="26" y="71" width="14" height="14" rx="4" fill="var(--xv-accent)"></rect><text x="33" y="78.2" font-size="10" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♌︎</text><text x="45" y="78" font-size="9.2" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">HOROSCOPE</text><text x="168" y="78" font-size="9.2" fill="var(--xv-ink-soft)" text-anchor="end" dominant-baseline="central">now</text><g class="" style="animation:xv-hs-t0 10s ease-out infinite both;opacity:0"><text x="26" y="94" font-size="10.5" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Leo · Today</text><text x="26" y="108" font-size="9.5" fill="var(--xv-ink)" dominant-baseline="central">Speak up at work — your ideas</text><text x="26" y="120.5" font-size="9.5" fill="var(--xv-ink)" dominant-baseline="central">land well. Evening is for friends.</text></g><g class="hs-deva" style="animation:xv-hs-t1 10s ease-out infinite both;opacity:1"><text x="26" y="94" font-size="11.5" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">सिंह · आज</text><text x="26" y="108" font-size="10.5" fill="var(--xv-ink)" dominant-baseline="central">काम पर खुलकर बोलें — आपके विचार</text><text x="26" y="120.5" font-size="10.5" fill="var(--xv-ink)" dominant-baseline="central">
187सराहे जाएंगे। शाम दोस्तों के नाम।</text></g><g class="" style="animation:xv-hs-t2 10s ease-out infinite both;opacity:0"><text x="26" y="94" font-size="10.5" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Leo · Hoy</text><text x="26" y="108" font-size="9.5" fill="var(--xv-ink)" dominant-baseline="central">Habla claro en el trabajo: tus</text><text x="26" y="120.5" font-size="9.5" fill="var(--xv-ink)" dominant-baseline="central">ideas brillan. Tarde con amigos.</text></g><g class="hs-taml" style="animation:xv-hs-t3 10s ease-out infinite both;opacity:0"><text x="26" y="94" font-size="10.6" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">சிம்மம் · இன்று</text><text x="26" y="108" font-size="9.6" fill="var(--xv-ink)" dominant-baseline="central">வேலையில் தயங்காமல் பேசுங்கள்</text><text x="26" y="120.5" font-size="9.6" fill="var(--xv-ink)" dominant-baseline="central">மாலை நண்பர்களுடன் மகிழுங்கள்.</text></g></g><g><text x="194" y="15" font-size="9.2" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">SIGN</text><rect x="194" y="24" width="48" height="17" rx="8.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="205" y="32.8" font-size="11" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♌︎</text><text x="214" y="32.5" font-size="9.6" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Leo</text><text x="194" y="56" font-size="9.2" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">PERIOD</text><rect x="194" y="64" width="132" height="18" rx="9" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></rect><rect x="196" y="66" width="40" height="14" rx="7" fill="var(--xv-accent)"></rect><text x="216" y="73" font-size="9.2" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central">Daily</text><text x="260" y="73" font-size="9.2" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="hs-tab">Weekly</text><text x="304" y="73" font-size="9.2" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="hs-tab">Monthly</text><text x="194" y="100" font-size="9.2" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">LANGUAGE</text><g><rect x="194" y="110" width="63" height="17" rx="8.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="225.5" y="118.5" font-size="9.4" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="">English</text><g style="animation:xv-hs-c0 10s ease-out infinite both;opacity:0"><rect x="194" y="110" width="63" height="17" rx="8.5" fill="var(--xv-accent)"></rect><text x="225.5" y="118.5" font-size="9.4" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="">English</text></g></g><g><rect x="263" y="110" width="63" height="17" rx="8.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="294.5" y="118.5" font-size="10" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="hs-deva">हिंदी</text><g style="animation:xv-hs-c1 10s ease-out infinite both;opacity:1"><rect x="263" y="110" width="63" height="17" rx="8.5" fill="var(--xv-accent)"></rect><text x="294.5" y="118.5" font-size="10" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="hs-deva">हिंदी</text></g></g><g><rect x="194" y="131" width="63" height="17" rx="8.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="225.5" y="139.5" font-size="9.4" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="">Español</text><g style="animation:xv-hs-c2 10s ease-out infinite both;opacity:0"><rect x="194" y="131" width="63" height="17" rx="8.5" fill="var(--xv-accent)"></rect><text x="225.5" y="139.5" font-size="9.4" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="">Español</text></g></g><g><rect x="263" y="131" width="63" height="17" rx="8.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="294.5" y="139.5" font-size="10" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="hs-taml">தமிழ்</text><g style="animation:xv-hs-c3 10s ease-out infinite both;opacity:0"><rect x="263" y="131" width="63" height="17" rx="8.5" fill="var(--xv-accent)"></rect><text x="294.5" y="139.5" font-size="10" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="hs-taml">தமிழ்</text></g></g><text x="194" y="160" font-size="9.2" fill="var(--xv-ink-soft)" dominant-baseline="central">+18 more languages</text></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
188              text-base md:text-lg">Horoscopes API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
189              line-clamp-2">Daily, weekly, and monthly horoscopes from sun sign and ascendant — in 22+ languages.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-1 lg:row-span-1   group bento-card-animation" style="animation-delay:220ms">
189<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
190          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
191          transition-all duration-500 p-3 flex
192          flex-col
193          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
194              transition-transform duration-700 group-hover:scale-[1.03]
195              w-full h-[100px] flex-shrink-0"><div aria-hidden="true" data-xv="transits" class="xv-frame  "><style>[data-xv="transits"] .tr-pop{transform-box:fill-box;transform-origin:center}
196[data-xv="transits"] .tr-trail{stroke-dasharray:100 100}
197[data-xv="transits"] .tr-tick{transition:stroke .35s ease}
198.group\/card:hover [data-xv="transits"] .tr-tick{stroke:var(--xv-ink-soft)}
199@keyframes xv-tr-sat{0%{opacity:0;transform:translateX(-108.56px)}2.5%{opacity:0;transform:translateX(-108.56px)}6.25%{opacity:1;transform:translateX(-108.56px)}8.75%{opacity:1;transform:translateX(-108.56px);animation-timing-function:cubic-bezier(0.45,0,0.3,1)}27.5%{opacity:1;transform:translateX(-178.52px)}31.25%{opacity:1;transform:translateX(-178.52px);animation-timing-function:cubic-bezier(0.45,0,0.3,1)}53.75%{opacity:1;transform:translateX(0px)}88.75%{opacity:1;transform:translateX(0px)}93.75%{opacity:0;transform:translateX(0px)}100%{opacity:0;transform:translateX(0px)}}
200@keyframes xv-tr-rx{0%{opacity:0}5%{opacity:0}8.125%{opacity:1}27.5%{opacity:1}30.625%{opacity:0}100%{opacity:0}}
201@keyframes xv-tr-trail{0%{stroke-dashoffset:100}31.25%{stroke-dashoffset:100;animation-timing-function:cubic-bezier(0.45,0,0.3,1)}53.75%{stroke-dashoffset:0}88.75%{stroke-dashoffset:0;opacity:1}93.75%{stroke-dashoffset:0;opacity:0}
201100%{stroke-dashoffset:100;opacity:0}}
202@keyframes xv-tr-pulse{0%{opacity:0;transform:scale(1)}53.125%{opacity:0;transform:scale(1)}54.375%{opacity:0.9;transform:scale(1)}65%{opacity:0;transform:scale(2.6)}100%{opacity:0;transform:scale(2.6)}}
203@keyframes xv-tr-now{0%{opacity:0}3.75%{opacity:0}8.125%{opacity:1}88.75%{opacity:1}93.75%{opacity:0}100%{opacity:0}}
204@keyframes xv-tr-sd{0%{opacity:0;transform:translateY(-3px)}26.25%{opacity:0;transform:translateY(-3px)}30.625%{opacity:1;transform:translateY(0px)}88.75%{opacity:1;transform:translateY(0px)}93.75%{opacity:0;transform:translateY(-3px)}100%{opacity:0;transform:translateY(-3px)}}
205@keyframes xv-tr-exact{0%{opacity:0;transform:translateY(-3px)}53.75%{opacity:0;transform:translateY(-3px)}58.125%{opacity:1;transform:translateY(0px)}88.75%{opacity:1;transform:translateY(0px)}93.75%{opacity:0;transform:translateY(-3px)}100%{opacity:0;transform:translateY(-3px)}}
206@keyframes xv-tr-status{0%{opacity:0}2.5%{opacity:0}6.25%{opacity:1}53.125%{opacity:1}55.625%{opacity:0}100%{opacity:0}}
207@keyframes xv-tr-alert{0%{opacity:0;transform:scale(0.85)}54.375%{opacity:0;transform:scale(0.85)}57.5%{opacity:1;transform:scale(1.04)}60%{opacity:1;transform:scale(1)}88.75%{opacity:1;transform:scale(1)}93.75%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
208@keyframes xv-tr-natal{0%{stroke-width:1.2}53.75%{stroke-width:1.2}56.25%{stroke-width:2.6}
20863.75%{stroke-width:1.6}88.75%{stroke-width:1.6}93.75%{stroke-width:1.2}100%{stroke-width:1.2}}</style><svg viewBox="0 0 276 100" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><text x="10" y="11" font-size="9.2" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">TRANSIT ALERTS</text><g style="animation:xv-tr-status 8s ease-out infinite both;opacity:0"><rect x="10" y="21" width="112" height="17" rx="8.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="18" y="29.5" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" dominant-baseline="central">Watching <tspan class="xv-glyph" font-size="12">♄︎</tspan> <!-- -->→<!-- --> natal <tspan class="xv-glyph" font-size="12">☽︎</tspan></text></g><g class="tr-pop" style="animation:xv-tr-alert 8s ease-out infinite both"><rect x="10" y="21" width="150" height="17" rx="8.5" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="0.8"></rect><text x="18" y="29.5" font-size="9.5" font-weight="700" fill="var(--xv-on-accent)" dominant-baseline="central"><tspan class="xv-glyph" font-size="12">♄︎</tspan> <tspan class="xv-glyph" font-size="12">☌︎</tspan> natal <tspan class="xv-glyph" font-size="12">☽︎</tspan> <!-- -->·<!-- --> exact 14 Apr 2027</text></g><text x="259.05" y="58" font-size="9.4" font-weight="600" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central">natal <tspan class="xv-glyph" font-size="12">☽︎</tspan> <tspan class="xv-mono">18°31′</tspan></text><text x="13" y="76" font-size="12" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♈︎</text><line x1="26" y1="76" x2="262" y2="76" stroke="var(--xv-line-strong)" stroke-width="1"></line><line x1="26" y1="73" x2="26" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="42.86" y1="73" x2="42.86" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="59.71" y1="73" x2="59.71" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="76.57" y1="73" x2="76.57" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="93.43" y1="70" x2="93.43" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="110.29" y1="73" x2="110.29" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="127.14" y1="73" x2="127.14" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="144" y1="73" x2="144" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="160.86" y1="73" x2="160.86" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="177.71" y1="70" x2="177.71" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="194.57" y1="73" x2="194.57" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="211.43" y1="73" x2="211.43" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="228.29" y1="73" x2="228.29" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="245.14" y1="73" x2="245.14" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><line x1="262" y1="70" x2="262" y2="76" stroke="var(--xv-line-strong)" stroke-width="1" class="tr-tick"></line><text x="93.43" y="63" font-size="9.2" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">10°</text><text x="177.71" y="63" font-size="9.2" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">15°</text><line x1="58.53" y1="76" x2="237.05" y2="76" stroke="var(--xv-accent)" stroke-width="2" stroke-linecap="round" pathLength="100" class="tr-trail" style="animation:xv-tr-trail 8s linear infinite both;stroke-dashoffset:0"></line><line x1="237.05" y1="63" x2="237.05" y2="85" stroke="var(--xv-ink)" stroke-width="1.6" stroke-linecap="round" style="animation:xv-tr-natal 8s ease-out infinite both"></line><line x1="58.53" y1="79" x2="58.53" y2="83" stroke="var(--xv-ink-soft)" stroke-width="1" style="animation:xv-tr-sd 8s ease-out infinite both"></line><text x="128.49" y="92" font-size="9.2" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-tr-now 8s ease-out infinite both">24 Sep</text><text x="58.53" y="92" font-size="9.2" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-tr-sd 8s ease-out infinite both">SD 11 Dec</text><text x="237.05" y="92" font-size="9.2" font-weight="700" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-tr-exact 8s ease-out infinite both">14 Apr</text><circle cx="237.05" cy="76" r="8.5" fill="none" stroke="var(--xv-accent)" stroke-width="1.4" class="tr-pop" style="animation:xv-tr-pulse 8s ease-out infinite both;opacity:0"></circle><g style="animation:xv-tr-sat 8s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="237.05" cy="76" r="8.5" fill="var(--xv-surface)" stroke="var(--xv-accent)" stroke-width="1.3"></circle><text x="237.05" y="76.5" font-size="11.5" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♄︎</text><text x="247.05" y="66" font-size="11" font-weight="400" fill="var(--xv-accent)" dominant-baseline="central" class="xv-glyph" style="animation:xv-tr-rx 8s ease-out infinite both;opacity:0">℞</text></g></svg></div></div><div class="relative z-10 flex flex-col justify-end px-2 pt-2 pb-0"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
209              text-sm md:text-base">Powerful Transits API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
210              line-clamp-2">Personal, global, and progression transits, plus HD gates.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-1 lg:row-span-1   group bento-card-animation" style="animation-delay:275ms">
210<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
211          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
212          transition-all duration-500 p-3 flex
213          flex-col
214          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
215              transition-transform duration-700 group-hover:scale-[1.03]
216              w-full h-[100px] flex-shrink-0"><div aria-hidden="true" data-xv="progressions" class="xv-frame  "><style>[data-xv="progressions"] .pg-orbit{transform-origin:50px 50px}
217[data-xv="progressions"] .pg-self{transform-box:fill-box;transform-origin:center}
218[data-xv="progressions"] .pg-track{transition:stroke .35s ease}
219.group\/card:hover [data-xv="progressions"] .pg-track{stroke:var(--xv-accent)}
220@keyframes xv-pg-orbit{0%{opacity:0;transform:rotate(553.58deg)}3.333%{opacity:0;transform:rotate(553.58deg)}6.667%{opacity:1;transform:rotate(553.58deg)}8.889%{opacity:1;transform:rotate(553.58deg);animation-timing-function:cubic-bezier(0.5,0,1,1)}15%{opacity:1;transform:rotate(466.49deg);animation-timing-function:linear}21.111%{opacity:1;transform:rotate(382.3deg);animation-timing-function:linear}27.222%{opacity:1;transform:rotate(283.07deg);animation-timing-function:linear}33.333%{opacity:1;transform:rotate(183.56deg);animation-timing-function:linear}39.444%{opacity:1;transform:rotate(97.69deg);animation-timing-function:cubic-bezier(0,0,0.3,1)}45.556%{opacity:1;transform:rotate(0deg);animation-timing-function:linear}90%{opacity:1;transform:rotate(0deg)}94.444%{opacity:0;transform:rotate(0deg)}100%{opacity:0;transform:rotate(0deg)}}
221@keyframes xv-pg-upright{0%{opacity:0;transform:rotate(-553.58deg)}3.333%{opacity:0;transform:rotate(-553.58deg)}6.667%{opacity:1;transform:rotate(-553.58deg)}8.889%{opacity:1;transform:rotate(-553.58deg);animation-timing-function:cubic-bezier(0.5,0,1,1)}15%{opacity:1;transform:rotate(-466.49deg);animation-timing-function:linear}21.111%{opacity:1;transform:rotate(-382.3deg);animation-timing-function:linear}27.222%{opacity:1;transform:rotate(-283.07deg);animation-timing-function:linear}33.333%{opacity:1;transform:rotate(-183.56deg);animation-timing-function:linear}39.444%{opacity:1;transform:rotate(-97.69deg);animation-timing-function:cubic-bezier(0,0,0.3,1)}45.556%{opacity:1;transform:rotate(0deg);animation-timing-function:linear}90%{opacity:1;transform:rotate(0deg)}94.444%{opacity:0;transform:rotate(0deg)}100%{opacity:0;transform:rotate(0deg)}}
222@keyframes xv-pg-odo{0%{opacity:0;transform:translateY(144px)}3.333%{opacity:0;transform:translateY(144px)}6.667%{opacity:1;transform:translateY(144px)}8.889%{opacity:1;transform:translateY(144px);animation-timing-function:cubic-bezier(0.5,0,1,1)}15%{opacity:1;transform:translateY(120px);animation-timing-function:linear}21.111%{opacity:1;transform:translateY(96px);animation-timing-function:linear}27.222%{opacity:1;transform:translateY(72px);animation-timing-function:linear}33.333%{opacity:1;transform:translateY(48px);animation-timing-function:linear}39.444%{opacity:1;transform:translateY(24px);animation-timing-function:cubic-bezier(0,0,0.3,1)}45.556%{opacity:1;transform:translateY(0px);animation-timing-function:linear}90%{opacity:1;transform:translateY(0px)}94.444%{opacity:0;transform:translateY(0px)}100%{opacity:0;transform:translateY(0px)}}
223@keyframes xv-pg-wedge{0%{opacity:0}45.556%{opacity:0}50%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
224@keyframes xv-pg-pulse{0%{opacity:0;transform:scale(1)}45%{opacity:0;transform:scale(1)}46.111%{opacity:0.9;transform:scale(1)}55.556%{opacity:0;transform:scale(2.4)}100%{opacity:0;transform:scale(2.4)}}
225@keyframes xv-pg-chip{0%{opacity:0;transform:scale(0.85)}47.778%{opacity:0;transform:scale(0.85)}50.556%{opacity:1;transform:scale(1.04)}52.778%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}</style><svg viewBox="0 0 276 100" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><circle cx="50" cy="50" r="45" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1"></circle><circle cx="50" cy="50" r="31" fill="var(--xv-wash)" stroke="var(--xv-line-strong)" stroke-width="1"></circle>
225<path d="M 50 95 A 45 45 0 0 0 72.5 88.97 L 65.5 76.85 A 31 31 0 0 1 50 81 Z" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1" style="animation:xv-pg-wedge 9s ease-out infinite both"></path><line x1="19" y1="50" x2="5" y2="50" stroke="var(--xv-line)" stroke-width="1"></line><line x1="23.15" y1="65.5" x2="11.03" y2="72.5" stroke="var(--xv-line)" stroke-width="1"></line><line x1="34.5" y1="76.85" x2="27.5" y2="88.97" stroke="var(--xv-line)" stroke-width="1"></line><line x1="50" y1="81" x2="50" y2="95" stroke="var(--xv-line)" stroke-width="1"></line><line x1="65.5" y1="76.85" x2="72.5" y2="88.97" stroke="var(--xv-line)" stroke-width="1"></line><line x1="76.85" y1="65.5" x2="88.97" y2="72.5" stroke="var(--xv-line)" stroke-width="1"></line><line x1="81" y1="50" x2="95" y2="50" stroke="var(--xv-line)" stroke-width="1"></line><line x1="76.85" y1="34.5" x2="88.97" y2="27.5" stroke="var(--xv-line)" stroke-width="1"></line><line x1="65.5" y1="23.15" x2="72.5" y2="11.03" stroke="var(--xv-line)" stroke-width="1"></line><line x1="50" y1="19" x2="50" y2="5" stroke="var(--xv-line)" stroke-width="1"></line><line x1="34.5" y1="23.15" x2="27.5" y2="11.03" stroke="var(--xv-line)" stroke-width="1"></line><line x1="23.15" y1="34.5" x2="11.03" y2="27.5" stroke="var(--xv-line)" stroke-width="1"></line><text x="13.29" y="59.84" font-size="10" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♈︎</text><text x="23.13" y="76.87" font-size="10" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♉︎</text><text x="40.16" y="86.71" font-size="10" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♊︎</text><text x="59.84" y="86.71" font-size="10" fill="var(--xv-cool)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♋︎</text><text x="76.87" y="76.87" font-size="10" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♌︎</text><text x="86.71" y="59.84" font-size="10" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♍︎</text><text x="86.71" y="40.16" font-size="10" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♎︎</text><text x="76.87" y="23.13" font-size="10" fill="var(--xv-cool)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♏︎</text><text x="59.84" y="13.29" font-size="10" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♐︎</text><text x="40.16" y="13.29" font-size="10" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♑︎</text><text x="23.13" y="23.13" font-size="10" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♒︎</text><text x="13.29" y="40.16" font-size="10" fill="var(--xv-cool)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♓︎</text><text x="59.84" y="86.71" font-size="10" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-glyph " style="animation:xv-pg-wedge 9s ease-out infinite both">♋︎</text><circle cx="50" cy="50" r="21" fill="none" stroke="var(--xv-line-strong)" stroke-width="1" stroke-dasharray="2 3" class="pg-track"></circle><line x1="56.99" y1="20.83" x2="56.06" y2="24.72" stroke="var(--xv-ink)" stroke-width="1.4" stroke-linecap="round"></line><circle cx="54.89" cy="29.58" r="2.2" fill="none" stroke="var(--xv-ink)" stroke-width="1"></circle><circle cx="50" cy="50" r="1.4" fill="var(--xv-ink-soft)"></circle><circle cx="50.04" cy="71" r="7.5" fill="none" stroke="var(--xv-accent)" stroke-width="1.3" class="pg-self" style="animation:xv-pg-pulse 9s ease-out infinite both;opacity:0"></circle><g class="pg-orbit" style="animation:xv-pg-orbit 9s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><g class="pg-self" style="animation:xv-pg-upright 9s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><circle cx="50.04" cy="71" r="7.5" fill="var(--xv-accent)"></circle><text x="50.04" y="71.3" font-size="10.5" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">☽︎</text></g></g></g><text x="106" y="11" font-size="9.2" font-weight="700" letter-spacing="0.04em" fill="var(--xv-ink-soft)" dominant-baseline="central">PROGRESSED MOON</text><text x="106" y="23" font-size="9.2" fill="var(--xv-ink-soft)" dominant-baseline="central">b. 6 Aug 1984 <!-- -->·<!-- --> New York</text><g><defs><clipPath id="xv-pg-odo-clip"><rect x="104" y="31" width="70" height="24"></rect></clipPath></defs><g clip-path="url(#xv-pg-odo-clip)"><g style="animation:xv-pg-odo 9s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><text x="106" y="-101" font-size="22" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" letter-spacing="-0.5">1984</text><text x="106" y="-77" font-size="22" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" letter-spacing="-0.5">1991</text><text x="106" y="-53" font-size="22" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" letter-spacing="-0.5">1998</text><text x="106" y="-29" font-size="22" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" letter-spacing="-0.5">2005</text><text x="106" y="-5" font-size="22" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" letter-spacing="-0.5">2012</text><text x="106" y="19" font-size="22" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" letter-spacing="-0.5">2019</text><text x="106" y="43" font-size="22" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" letter-spacing="-0.5">2027</text></g></g></g><g class="pg-self" style="animation:xv-pg-chip 9s ease-out infinite both"><rect x="106" y="63" width="152" height="18" rx="9" fill="var(--xv-accent)"></rect><text x="114" y="72" font-size="9.6" font-weight="700" fill="var(--xv-on-accent)" dominant-baseline="central"><tspan class="xv-glyph" font-size="12">☽︎</tspan> enters <tspan class="xv-glyph" font-size="12">♋︎</tspan> Cancer <!-- -->·<!-- --> Aug 2027</text></g><text x="106" y="91" font-size="9.2" fill="var(--xv-ink-soft)" dominant-baseline="central">Secondary <!-- -->·<!-- --> 1 day = 1 year</text></svg></div></div><div class="relative z-10 flex flex-col justify-end px-2 pt-2 pb-0"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
226              text-sm md:text-base">Progressions / Arc API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
227              line-clamp-2">Secondary progressions and solar arc directions, with interpretations.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:330ms">
227<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
228          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
229          transition-all duration-500 p-3 flex
230          flex-col md:flex-row
231          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
232              transition-transform duration-700 group-hover:scale-[1.03]
233              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="astrocartography" class="xv-frame  "><style>[data-xv="astrocartography"] .ac-line{stroke-dasharray:100 100}
234[data-xv="astrocartography"] .ac-pop{transform-box:fill-box;transform-origin:center}
235[data-xv="astrocartography"] .ac-bar{transform-box:fill-box;transform-origin:left center}
236[data-xv="astrocartography"] .ac-line{transition:stroke-width .35s ease}
237.group\/card:hover [data-xv="astrocartography"] .ac-line{stroke-width:1.9}
238@keyframes xv-ac-l0{0%{stroke-dashoffset:100}3%{stroke-dashoffset:100}12%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
239@keyframes xv-ac-t0{0%{opacity:0}6%{opacity:0}9%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
240@keyframes xv-ac-l1{0%{stroke-dashoffset:100}6%{stroke-dashoffset:100}15%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
241@keyframes xv-ac-t1{0%{opacity:0}9%{opacity:0}12%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
242@keyframes xv-ac-l2{0%{stroke-dashoffset:100}9%{stroke-dashoffset:100}18%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
243@keyframes xv-ac-t2{0%{opacity:0}12%{opacity:0}
24315%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
244@keyframes xv-ac-l3{0%{stroke-dashoffset:100}12%{stroke-dashoffset:100}21%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
245@keyframes xv-ac-t3{0%{opacity:0}15%{opacity:0}18%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
246@keyframes xv-ac-l4{0%{stroke-dashoffset:100}15%{stroke-dashoffset:100}24%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
247@keyframes xv-ac-t4{0%{opacity:0}18%{opacity:0}21%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
248@keyframes xv-ac-l5{0%{stroke-dashoffset:100}18%{stroke-dashoffset:100}27%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
249@keyframes xv-ac-t5{0%{opacity:0}21%{opacity:0}24%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
250@keyframes xv-ac-l6{0%{stroke-dashoffset:100}21%{stroke-dashoffset:100}30%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
251@keyframes xv-ac-t6{0%{opacity:0}24%{opacity:0}27%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
252@keyframes xv-ac-l7{0%{stroke-dashoffset:100}24%{stroke-dashoffset:100}33%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
253@keyframes xv-ac-t7{0%{opacity:0}27%{opacity:0}30%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
254@keyframes xv-ac-pin0{0%{opacity:0;transform:translateY(-6px) scale(0.6)}35%{opacity:0;transform:translateY(-6px) scale(0.6)}37.5%{opacity:1;transform:translateY(0px) scale(1.15)}39%{opacity:1;transform:translateY(0px) scale(1)}91%{opacity:1;transform:translateY(0px) scale(1)}95%{opacity:0;transform:translateY(0px) scale(1)}100%{opacity:0;transform:translateY(0px) scale(1)}}
255@keyframes xv-ac-pin1{0%{opacity:0;transform:translateY(-6px) scale(0.6)}33%{opacity:0;transform:translateY(-6px) scale(0.6)}35.5%{opacity:1;transform:translateY(0px) scale(1.15)}37%{opacity:1;transform:translateY(0px) scale(1)}91%{opacity:1;transform:translateY(0px) scale(1)}95%{opacity:0;transform:translateY(0px) scale(1)}100%{opacity:0;transform:translateY(0px) scale(1)}}
256@keyframes xv-ac-pin2{0%{opacity:0;transform:translateY(-6px) scale(0.6)}34%{opacity:0;transform:translateY(-6px) scale(0.6)}36.5%{opacity:1;transform:translateY(0px) scale(1.15)}38%{opacity:1;transform:translateY(0px) scale(1)}91%{opacity:1;transform:translateY(0px) scale(1)}95%{opacity:0;transform:translateY(0px) scale(1)}100%{opacity:0;transform:translateY(0px) scale(1)}}
257@keyframes xv-ac-pulse{0%{opacity:0;transform:scale(1)}38%{opacity:0;transform:scale(1)}39%{opacity:0.9;transform:scale(1)}47%{opacity:0;transform:scale(3)}100%{opacity:0;transform:scale(3)}}
258@keyframes xv-ac-card{0%{opacity:0;transform:translateY(6px)}39%{opacity:0;transform:translateY(6px)}43%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(6px)}100%{opacity:0;transform:translateY(6px)}}
259@keyframes xv-ac-bar{0%{transform:scaleX(0)}42%{transform:scaleX(0)}49%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
260@keyframes xv-ac-r0{0%{opacity:0;transform:translateX(6px)}42%{opacity:0;transform:translateX(6px)}45%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
261@keyframes xv-ac-r1{0%{opacity:0;transform:translateX(6px)}43.5%{opacity:0;transform:translateX(6px)}46.5%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
262@keyframes xv-ac-r2{0%{opacity:0;transform:translateX(6px)}45%{opacity:0;transform:translateX(6px)}48%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><defs><clipPath id="xv-ac-map"><rect x="4" y="13" width="258" height="94.6" rx="6"></rect></clipPath></defs><rect x="4" y="13" width="258" height="94.6" rx="6" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></rect><g clip-path="url(#xv-ac-map)"><path d="M 25.5 13 V 107.6 M 47 13 V 107.6 M 68.5 13 V 107.6 M 90 13 V 107.6 M 111.5 13 V 107.6 M 133 13 V 107.6 M 154.5 13 V 107.6 M 176 13 V 107.6 M 197.5 13 V 107.6 M 219 13 V 107.6 M 240.5 13 V 107.6 M 4 24.47 H 262 M 4 45.97 H 262 M 4 88.97 H 262" fill="none" stroke="var(--xv-line)" stroke-width="0.6"></path><path d="M 4 67.47 H 262" stroke="var(--xv-line-strong)" stroke-width="0.6" stroke-dasharray="2 2"></path>
262<path d="M 14.03 18.38 L 16.18 17.3 L 20.84 16.37 L 24.07 16.73 L 29.08 17.23 L 32.67 17.59 L 36.25 17.73 L 40.55 17.3 L 44.13 17.73 L 49.15 18.16 L 54.17 18.73 L 58.47 18.73 L 62.77 18.88 L 64.92 18.38 L 68.5 18.02 L 70.65 19.09 L 72.08 17.66 L 74.23 18.38 L 74.59 19.81 L 71.37 21.24 L 68.5 21.96 L 65.63 23.75 L 65.28 25.18 L 66.71 26.62 L 69.93 27.19 L 72.08 27.91 L 74.02 28.05 L 74.23 29.63 L 76.03 30.56 L 76.38 28.41 L 77.82 27.33 L 77.46 25.18 L 77.1 22.82 L 79.97 22.82 L 82.83 23.75 L 83.19 25.18 L 85.7 25.54 L 86.78 24.32 L 88.57 25.9 L 89.28 27.33 L 91.79 28.77 L 93.01 30.06 L 92.51 30.63 L 90 31.49 L 87.13 31.49 L 85.34 32.14 L 86.78 32.35 L 86.56 33.78 L 89.28 34.5 L 87.49 34.86 L 85.7 35.58 L 84.63 35.58 L 82.48 36.29 L 82.48 37.51 L 81.4 37.94 L 79.97 38.37 L 79.82 39.16 L 78.89 39.88 L 78.32 40.95 L 78.68 42.03 L 77.82 42.74 L 76.38 43.6 L 74.95 44.68 L 74.74 45.97 L 75.6 48.26 L 75.45 49.34 L 74.81 49.41 L 74.23 48.48 L 73.66 47.4 L 73.45 46.33 L 72.44 45.97 L 71.01 45.68 L 69.22 45.75 L 68.86 46.54 L 67.78 46.47 L 65.99 46.18 L 64.92 46.54 L 63.48 47.54 L 63.13 48.91 L 62.91 51.34 L 64.06 53.64 L 65.28 54.42 L 67.07 54.14 L 67.78 53.71 L 68.21 52.42 L 69.93 52.06 L 70.79 52.27 L 70.29 53.85 L 69.79 55.28 L 69.58 56.07 L 71.37 56.07 L 72.8 56.57 L 73.3 57.08 L 73.09 59.58 L 73.88 60.59 L 74.95 61.16 L 76.03 60.66 L 77.1 60.8 L 77.6 61.38 L 77.24 62.31 L 76.74 62.09 L 75.81 62.24 L 75.31 61.59 L 73.66 61.59 L 72.44 60.59 L 71.58 59.58 L 70.44 58.22 L 69.22 57.86 L 67.43 57.43 L 65.99 56.14 L 64.56 56.22 L 63.13 56 L 61.33 55.28 L 59.18 54.42 L 57.39 53.13 L 57.54 51.84 L 57.03 50.77 L 55.24 49.34 L 54.6 48.33 L 53.45 47.47 L 52.59 46.68 L 52.02 45.32 L 50.73 44.68 L 50.94 45.97 L 51.66 46.68 L 52.59 47.76 L 53.02 48.83 L 53.95 50.12 L 54.53 50.91 L 54.02 50.77 L 52.73 49.69 L 52.52 48.48 L 51.16 47.26 L 50.08 46.11 L 49.29 44.68 L 49.01 44.03 L 48.08 43.1 L 46.57 42.67 L 45.71 41.31 L 45.21 40.38 L 44.28 39.16 L 43.92 38.08 L 44.06 36.29 L 44.13 34.36 L 43.7 32.85 L 44.85 32.42 L 43.49 31.71 L 41.98 31.06 L 40.91 30.2 L 39.62 28.41 L 38.4 26.98 L 36.61 25.69 L 34.82 25.18 L 32.67 24.61 L 29.8 24.32 L 27.65 23.75 L 25.5 23.61 L 24.21 24.97 L 22.63 25.76 L 20.84 26.76 L 19.05 27.48 L 16.9 28.05 L 15.11 28.41 L 17.62 27.33 L 19.41 25.54 L 17.76 25.26 L 16.9 24.61 L 14.89 24.04 L 14.53 22.82 L 15.11 22.1 L 17.62 21.24 L 16.18 21.17 L 13.89 20.53 L 15.11 19.81 Z M 80.68 11.57 L 85.7 10.13 L 93.58 8.7 L 104.33 7.63 L 115.08 7.98 L 120.1 9.06 L 118.67 11.57 L 119.38 13.72 L 117.23 15.87 L 117.23 17.09 L 115.08 18.38 L 110.07 18.88 L 106.48 20.31 L 104.33 20.88 L 102.9 22.82 L 101.47 24.47 L 98.96 23.89 L 97.17 22.89 L 96.09 21.6 L 95.02 19.95 L 94.66 18.38 L 96.45 17.3 L 93.94 16.58 L 92.87 15.15 L 90 13.14 L 85.7 12.79 Z M 75.31 14.65 L 78.53 15.29 L 82.12 16.8 L 84.27 17.16 L 84.98 18.38 L 87.85 19.59 L 88.93 19.95 L 87.13 20.74 L 86.06 21.24 L 86.78 22.17 L 85.34 22.53 L 83.91 21.89 L 81.76 21.96 L 80.33 21.24 L 77.1 21.24 L 78.89 20.6 L 80.33 19.59 L 80.68 18.59 L 78.53 17.87 L 76.74 17.3 L 74.23 17.44 L 69.58 16.94 L 68.86 16.08 L 72.08 14.94 Z M 48.08 16.23 L 48.79 17.66 L 52.73 18.16 L 57.39 18.02 L 60.26 17.8 L 60.04 16.87 L 58.11 16.58 L 56.32 15.01 L 52.02 15.15 Z M 43.42 14.43 L 42.7 16.01 L 44.85 16.58 L 47.72 16.01 L 48.43 14.79 L 46.28 14.08 Z M 90.5 33.35 L 91.15 32.28 L 91.86 31.13 L 93.15 30.49 L 92.94 31.42 L 94.59 32.14 L 95.23 33.42 L 94.44 34 L 93.01 33.86 Z M 40.98 31.06 L 43.06 31.35 L 44.64 32.78 L 43.42 32.49 Z M 72.16 51.77 L 73.37 51.49 L 74.59 50.91 L 75.95 51.13 L 77.6 51.92 L 78.82 52.42 L 79.82 52.99 L 78.82 53.21 L 77.32 53.21 L 77.6 52.63 L 76.74 52.06 L 75.31 51.7 L 74.09 51.41 L 73.16 51.84 Z M 79.68 54.28 L 80.83 53.21 L 82.19 53.21 L 83.41 53.78 L 83.98 54.14 L 82.76 54.42 L 81.83 54.85 L 80.4 54.35 Z M 77.6 61.38 L 78.18 61.16 L 78.89 59.94 L 79.61 59.44 L 81.19 59.01 L 81.9 58.65 L 81.76 59.73 L 82.83 59.23 L 84.05 59.94 L 86.42 60.23 L 88.21 59.87 L 89.28 60.66 L 90.36 61.52 L 91.79 63.17 L 93.58 63.17 L 95.38 63.88 L 96.31 64.6 L 97.17 66.18 L 96.95 67.47 L 98.24 68.33 L 100.75 68.47 L 102.9 69.47 L 104.69 69.62 L 106.48 70.91 L 107.77 71.41 L 108.06 72.84 L 107.77 73.92 L 106.48 75.35 L 105.41 76.78 L 105.05 78.58 L 104.91 80.22 L 104.12 82.02 L 103.62 83.23 L 102.9 83.95 L 101.11 84.17 L 99.68 84.67 L 98.24 86.1 L 98.17 87.89 L 97.17 89.33 L 96.31 90.26 L 94.8 91.69 L 93.66 92.48 L 92.15 92.55 L 91.94 93.48 L 91.65 94.84 L 90 95.27 L 88.42 95.27 L 88.28 96.49 L 86.42 96.85 L 86.92 97.93 L 86.2 99.57 L 84.63 100.65 L 85.7 101.87 L 84.05 103.44 L 83.55 104.45 L 83.91 105.09 L 83.19 104.95 L 82.48 106.02 L 81.4 106.17 L 79.61 104.88 L 78.89 102.58 L 79.82 100.43 L 80.33 98.28 L 80.18 97.21 L 80.33 95.78 L 80.4 94.13 L 81.26 92.55 L 81.69 90.76 L 81.83 88.61 L 82.26 86.82 L 82.55 84.31 L 82.69 82.16 L 82.62 80.51 L 81.76 79.86 L 79.61 78.79 L 78.32 77.36 L 77.24 75.71 L 76.17 73.56 L 74.95 71.77 L 74.81 70.69 L 75.67 69.62 L 75.02 68.54 L 7
2625.67 67.11 L 76.24 66.18 L 76.53 65.32 L 77.53 64.46 L 77.6 63.17 L 77.24 62.31 Z M 126.55 41.02 L 126.69 39.88 L 126.19 39.52 L 126.62 38.08 L 126.69 37.01 L 126.41 36.51 L 127.63 36.08 L 130.13 36.36 L 131.71 36.36 L 132.07 35.58 L 132.14 34.5 L 131.42 33.71 L 129.78 33.21 L 129.63 32.64 L 130.85 32.49 L 131.85 32.64 L 132.07 31.92 L 133.14 31.99 L 134.07 31.49 L 134.15 30.99 L 135.29 30.7 L 136.08 30.27 L 136.44 29.48 L 137.66 29.13 L 139.09 28.98 L 139.31 28.41 L 138.95 27.69 L 138.81 26.76 L 140.38 26.19 L 140.53 27.19 L 140.81 27.41 L 140.02 28.05 L 140.88 28.77 L 141.96 28.48 L 143.18 28.84 L 144.82 28.41 L 146.26 28.19 L 147.19 28.48 L 148.19 27.91 L 148.12 26.76 L 148.7 26.19 L 149.84 26.47 L 150.49 25.69 L 149.84 25.04 L 151.63 24.75 L 153.43 24.68 L 154.5 24.54 L 153.43 24.11 L 151.99 24.18 L 149.48 24.54 L 148.98 24.11 L 148.27 23.54 L 148.41 22.46 L 149.13 21.74 L 150.56 21.03 L 151.13 20.6 L 150.34 20.31 L 148.91 20.45 L 148.19 21.17 L 147.19 21.89 L 145.76 22.75 L 145.33 23.75 L 146.26 24.32 L 146.47 24.9 L 145.54 25.33 L 144.9 26.26 L 144.68 26.9 L 143.39 27.26 L 142.32 27.76 L 141.96 27.12 L 141.46 26.19 L 141.03 25.33 L 140.53 24.83 L 139.81 25.18 L 138.73 25.83 L 137.66 25.76 L 137.01 25.26 L 136.73 24.11 L 136.58 23.18 L 137.16 22.46 L 138.73 21.96 L 140.53 21.24 L 141.82 20.31 L 142.68 19.09 L 144.11 18.38 L 145.9 17.59 L 147.69 17.23 L 149.84 16.73 L 151.63 16.58 L 153.43 16.65 L 155.22 17.09 L 156.65 17.66 L 158.8 17.95 L 161.67 18.88 L 162.74 19.81 L 164.18 20.02 L 164.68 18.73 L 165.97 18.59 L 167.4 18.88 L 170.98 18.3 L 172.42 18.52 L 175.28 18.16 L 176.72 17.44 L 179.23 17.87 L 181.02 18.38 L 182.45 18.16 L 182.09 16.94 L 181.02 16.3 L 182.09 15.29 L 183.88 15.08 L 185.32 15.29 L 184.96 16.58 L 185.68 18.38 L 186.75 18.02 L 186.03 16.73 L 187.47 16.01 L 188.9 15.65 L 191.05 16.01 L 192.48 16.94 L 193.56 15.87 L 191.05 14.79 L 194.63 14.43 L 196.07 13.72 L 199.65 13.07 L 203.23 12.64 L 207.53 12.28 L 210.4 12.71 L 213.27 13.29 L 214.34 14.65 L 217.57 14.79 L 221.15 15.15 L 224.02 14.79 L 225.45 15.51 L 227.6 16.23 L 232.62 16.23 L 234.77 15.36 L 237.63 15.65 L 240.5 16.15 L 242.65 16.65 L 245.52 16.58 L 247.67 17.16 L 249.1 17.59 L 252.68 17.59 L 254.83 17.23 L 258.42 17.37 L 260.57 17.73 L 262 18.09 L 262 20.88 L 260.93 21.17 L 260.21 22.6 L 258.06 23.18 L 255.19 24.47 L 251.97 24.25 L 250.53 24.61 L 249.96 25.9 L 249.1 26.04 L 249.96 27.19 L 249.1 28.19 L 247.67 29.34 L 246.59 29.84 L 245.3 30.92 L 244.8 29.48 L 244.66 27.69 L 245.37 26.04 L 246.23 25.9 L 248.03 24.83 L 249.1 23.89 L 250.18 23.03 L 247.67 23.32 L 246.23 23.18 L 244.08 24.83 L 241.58 25.04 L 239.07 24.97 L 236.2 24.9 L 234.05 25.54 L 232.26 26.98 L 231.18 28.62 L 232.62 28.7 L 233.69 29.48 L 234.34 30.06 L 233.69 31.49 L 233.55 32.71 L 232.26 33.93 L 231.18 35.07 L 229.89 36.29 L 228.32 36.79 L 227.24 36.79 L 226.67 37.15 L 225.95 38.08 L 226.02 38.66 L 224.73 39.52 L 225.74 41.09 L 225.74 42.03 L 225.09 42.38 L 224.02 42.67 L 223.52 42.53 L 223.66 41.31 L 223.52 40.38 L 222.58 40.38 L 222.44 39.16 L 220.79 39.02 L 219.93 39.45 L 220.08 38.23 L 218.64 38.94 L 217.57 39.45 L 217.42 40.02 L 218.14 40.59 L 218.64 40.88 L 219.72 40.45 L 220.79 40.81 L 219.57 41.45 L 218.57 42.38 L 219.22 43.1 L 219.72 44.18 L 220.36 44.75 L 219.93 45.68 L 220.43 46.11 L 220.08 47.04 L 219.29 48.05 L 218.64 49.05 L 217.93 49.84 L 216.85 50.55 L 215.78 51.13 L 214.84 51.49 L 214.34 51.56 L 213.12 51.99 L 212.05 52.49 L 211.62 52.06 L 210.62 51.99 L 209.47 52.78 L 208.82 53.85 L 209.33 54.71 L 210.26 55.86 L 210.97 56.65 L 211.33 58.01 L 211.12 59.23 L 210.04 59.94 L 209.33 60.66 L 208.11 61.3 L 208.11 60.09 L 207.18 59.87 L 206.32 58.72 L 205.31 58.36 L 204.67 57.86 L 204.09 58.87 L 204.09 60.09 L 204.6 60.87 L 204.95 62.24 L 205.6 62.52 L 206.46 63.17 L 207.1 64.03 L 207.1 65.03 L 207.68 66.46 L 207.18 66.54 L 205.6 65.46 L 204.95 64.24 L 204.88 62.81 L 203.74 61.73 L 203.45 60.66 L 203.74 59.01 L 203.38 57.79 L 203.02 55.64 L 202.66 55.36 L 201.8 55.71 L 200.65 56 L 200.51 54.35 L 199.87 53.13 L 199.15 52.63 L 198.93 51.84 L 198.36 51.34 L 197.64 51.77 L 196.78 51.84 L 195.35 52.06 L 194.99 52.99 L 193.92 53.56 L 192.77 54.71 L 191.91 55.57 L 191.05 56.22 L 190.48 56.57 L 190.41 57.94 L 190.19 59.23 L 190.19 60.09 L 189.55 60.8 L 188.97 61.38 L 188.4 61.73 L 187.83 61.
26202 L 187.32 59.44 L 186.68 58.29 L 186.25 57.08 L 185.6 55.64 L 185.17 53.85 L 185.17 52.78 L 185.03 52.2 L 184.74 52.35 L 183.74 52.63 L 182.59 51.49 L 183.31 51.27 L 182.38 50.77 L 181.38 50.34 L 180.87 49.55 L 179.23 49.34 L 177.15 49.41 L 174.93 49.12 L 174.07 48.98 L 173.42 48.05 L 172.27 48.4 L 171.34 48.19 L 169.91 47.47 L 168.98 46.33 L 167.9 45.97 L 167.62 46.54 L 167.76 47.26 L 168.62 48.26 L 168.98 48.98 L 169.26 49.69 L 169.77 49.91 L 169.98 49.12 L 170.48 50.12 L 171.77 50.12 L 172.85 49.26 L 173.35 48.62 L 173.42 49.62 L 173.99 50.34 L 175.14 50.7 L 175.86 51.34 L 174.93 52.85 L 174.35 53.85 L 173.35 54.64 L 172.42 55.28 L 170.41 56.14 L 168.26 57 L 166.54 57.86 L 165.25 58.29 L 164.18 58.36 L 163.67 56.86 L 163.6 55.71 L 162.67 54.21 L 161.81 52.92 L 161.02 51.92 L 160.52 50.41 L 159.66 49.55 L 158.73 48.05 L 158.08 47.33 L 157.8 47.33 L 157.58 47.54 L 156.79 47.04 L 156.36 46.04 L 156.15 45.11 L 157.51 45.04 L 158.01 44.18 L 158.44 43.17 L 158.73 42.03 L 158.94 41.24 L 157.94 41.09 L 156.51 41.6 L 154.86 41.38 L 153.78 41.24 L 152.64 40.88 L 151.92 40.02 L 152.14 39.23 L 151.78 38.73 L 152.57 38.51 L 153.71 38.16 L 153.85 37.94 L 155.43 38.01 L 157.01 37.37 L 158.23 37.58 L 160.52 38.16 L 162.03 38.08 L 162.81 37.65 L 162.74 36.94 L 161.67 36.29 L 160.23 35.5 L 159.88 35 L 159.16 35 L 158.08 35.22 L 157.01 35.58 L 156.29 34.93 L 157.08 34.43 L 155.57 34.07 L 154.64 34.64 L 154.21 35.22 L 153.57 35.72 L 153.43 36.36 L 153 36.94 L 153.07 37.44 L 153.71 37.87 L 153.07 38.08 L 151.92 38.37 L 151.06 38.16 L 150.06 38.3 L 149.7 38.66 L 149.2 38.51 L 149.41 39.23 L 149.84 39.88 L 150.2 40.45 L 149.56 40.66 L 149.34 41.31 L 148.84 40.95 L 148.55 41.02 L 148.12 40.38 L 148.27 39.95 L 147.83 39.37 L 147.26 39.02 L 146.9 38.51 L 146.9 37.51 L 146.26 37.01 L 145.4 36.51 L 144.47 36.29 L 143.89 35.79 L 143.39 35.07 L 142.82 34.79 L 141.89 34.93 L 141.82 35.5 L 141.89 35.86 L 142.75 36.29 L 143.03 37.01 L 143.82 37.44 L 144.47 37.8 L 145.26 38.08 L 146.26 38.66 L 146.19 38.94 L 145.33 38.51 L 144.9 39.02 L 145.26 39.59 L 144.54 40.31 L 144.25 40.09 L 144.4 39.3 L 144.04 38.8 L 143.68 38.59 L 143.1 38.23 L 142.32 37.87 L 141.74 37.51 L 140.95 37.08 L 140.53 36.65 L 140.31 36.01 L 139.31 35.65 L 138.38 36.08 L 137.66 36.58 L 136.58 36.36 L 136.01 36.29 L 135.29 36.65 L 135.22 37.44 L 134.43 37.94 L 133.65 38.08 L 133.07 38.73 L 132.79 39.23 L 133.07 39.66 L 132.57 40.09 L 132.43 40.52 L 131.78 40.88 L 131.35 41.09 L 129.85 41.17 L 129.2 41.6 L 128.56 41.31 L 128.41 40.88 L 127.7 40.81 L 127.27 40.95 Z M 141.89 40.31 L 144.18 40.02 L 143.82 41.17 Z M 138.88 39.52 L 139.88 39.37 L 140.02 38.08 L 139.81 36.65 L 139.16 37.15 L 139.02 38.37 Z M 120.75 52.42 L 121.39 50.41 L 122.39 49.26 L 123.54 47.69 L 124.83 47.33 L 125.98 46.11 L 126.12 44.82 L 126.84 43.67 L 128.06 43.03 L 128.77 41.81 L 129.2 41.74 L 129.85 42.24 L 131.42 42.31 L 132.28 41.88 L 133.86 41.31 L 135.29 41.09 L 136.8 41.17 L 138.38 40.95 L 139.95 40.74 L 140.81 41.02 L 140.95 41.38 L 140.53 41.6 L 140.95 42.24 L 140.24 42.89 L 140.81 43.24 L 141.24 43.75 L 142.17 43.96 L 143.97 44.32 L 144.32 44.96 L 146.55 45.75 L 147.33 45.25 L 147.41 44.39 L 148.48 43.89 L 149.63 44.1 L 150.85 44.61 L 151.56 44.82 L 153.71 45.32 L 154.57 44.89 L 155.86 44.89 L 156.15 45.11 L 156.36 46.04 L 156.22 46.4 L 156.79 47.26 L 157.3 48.05 L 157.73 48.91 L 158.51 50.27 L 158.44 50.91 L 159.3 51.7 L 159.8 53.35 L 160.66 54.57 L 161.09 55.93 L 161.52 56.43 L 162.53 57.15 L 163.32 58.08 L 164.03 58.51 L 163.89 59.15 L 164.96 60.01 L 166.4 59.73 L 168.05 59.37 L 169.62 58.94 L 169.69 59.94 L 169.41 60.87 L 168.69 61.95 L 167.83 63.6 L 167.11 64.46 L 165.97 65.89 L 163.96 67.68 L 162.96 68.76 L 161.88 69.33 L 161.24 70.76 L 160.81 72.05 L 161.24 73.2 L 161.45 74.71 L 162.03 75.49 L 162.1 77.64 L 161.81 78.65 L 159.8 80.08 L 159.02 80.94 L 157.94 81.66 L 158.23 82.88 L 158.44 84.24 L 156.72 85.6 L 156.36 86.24 L 156.51 87.68 L 155.43 88.54 L 154.57 89.76 L 153.21 90.97 L 151.92 91.69 L 150.7 91.83 L 149.2 91.76 L 147.41 92.41 L 146.47 92.12 L 146.19 91.83 L 146.12 90.76 L 145.83 89.9 L 145.11 88.32 L 144.18 86.89 L 143.68 85.53 L 143.39 83.88 L 142.6 82.37 L 141.46 80.22 L 141.39 79.15 L 141.82 77.43 L 142.75 76.21 L 142.89 75.28 L 142.25 73.85 L 141.82 71.84 L 141.74 71.62 L 140.95 70.26 L 139.88 69.19 L 139.45 67.97 L 139.67 66.61 L 139.95 65.25 L 139.38 64.53 L 139.09 64.03 L 138.09 64.24 L 137.23 64.39 L 136.15 62.88 L 134.94 62.95 L 133.79 63.17 L 132.64 63.67 L 130.92 63.88 L 129.7 63.74 L 127.63 64.31 L 126.34 63.53 L 124.83 62.59 L 124.04 61.81 L 123.54 61.09 L 122.47 59.8 L 121.96 59.23 L 121.03 58.58 L 120.82 57.43 L 120.46 56.93 L 121.03 56.29 L 121.32 55.14 L 121.46 54.21 L 121.25 53.42 Z M 168.33 76.07 L 169.12 78.5 L 168.76 78.5 L 168.48 80.01 L 167.69 81.8 L 166.76 85.24 L 165.39 85.81 L 164.32 84.81 L 164.03 83.31 L 164.82 81.87 L 164.53 79.94 L 164.82 79.08 L 166.18 78.65 L 167.26 77.21 Z M 128.92 31.56 L 129.99 31.35 L 131.28 31.2 L 133.65 3
2620.99 L 134 30.63 L 133.43 30.34 L 134.22 29.77 L 133.22 29.41 L 133.07 29.05 L 132.57 28.41 L 131.85 27.62 L 131.14 27.33 L 131.71 26.26 L 130.64 26.12 L 130.85 25.47 L 129.42 25.47 L 128.92 26.4 L 128.99 27.12 L 128.56 27.05 L 129.13 27.91 L 129.56 28.19 L 130.56 28.12 L 130.71 28.84 L 130.85 29.27 L 129.7 29.34 L 130.06 29.99 L 129.35 30.34 L 129.99 30.56 L 130.85 30.63 L 130.56 30.85 L 129.78 30.92 Z M 128.56 30.06 L 128.7 29.27 L 128.56 28.77 L 129.06 28.48 L 128.56 27.91 L 127.63 27.84 L 126.98 28.27 L 126.91 28.62 L 125.83 28.62 L 125.98 29.27 L 126.41 29.56 L 125.91 30.13 L 125.69 30.49 L 126.91 30.49 L 128.06 30.13 Z M 117.02 20.88 L 115.8 20.53 L 117.23 19.88 L 120.1 20.02 L 121.89 19.81 L 122.61 20.31 L 123.25 20.81 L 122.25 21.39 L 119.6 22.03 L 117.95 21.74 L 116.73 21.67 Z M 170.27 16.23 L 172.78 16.87 L 174.21 16.8 L 173.13 15.51 L 174.57 14.08 L 177.43 13.14 L 181.73 12.43 L 178.87 12.64 L 174.57 13.14 L 172.42 14.08 L 170.98 15.15 Z M 225.95 43.67 L 226.31 45.04 L 227.17 44.96 L 227.6 43.67 L 227.24 43.1 L 228.32 42.89 L 229.54 42.67 L 229.89 43.24 L 230.47 43.1 L 231.04 42.89 L 231.54 42.6 L 232.62 42.46 L 233.26 42.31 L 233.98 41.88 L 233.76 41.09 L 234.05 40.02 L 234.62 39.3 L 234.7 38.59 L 234.34 37.8 L 233.55 37.94 L 233.33 38.59 L 233.19 39.23 L 233.05 40.02 L 232.26 40.66 L 231.4 41.09 L 231.04 40.74 L 230.54 41.52 L 230.11 41.95 L 228.39 41.95 L 227.6 42.24 L 226.81 42.89 Z M 233.33 37.8 L 234.19 37.51 L 235.7 37.37 L 237.28 36.51 L 237.13 35.72 L 235.48 35.58 L 234.55 34.93 L 234.34 36.22 L 233.55 36.44 L 233.26 36.94 Z M 234.84 34.5 L 235.77 33.93 L 235.63 32.21 L 236.49 32.35 L 235.84 30.77 L 235.63 29.27 L 235.2 28.55 L 234.91 29.13 L 234.7 30.34 L 234.84 32.35 L 234.7 33.42 Z M 219.07 50.91 L 219.72 51.77 L 220.36 49.84 L 220.08 49.34 L 219.5 49.84 Z M 210.83 53.71 L 212.19 53.06 L 212.55 53.42 L 211.83 54.35 L 210.9 54.21 Z M 190.19 62.95 L 190.26 61.45 L 190.41 60.44 L 191.05 61.23 L 191.7 62.24 L 191.27 63.02 L 190.55 63.24 Z M 201.23 63.45 L 202.88 63.74 L 203.88 64.89 L 204.95 65.89 L 205.81 66.1 L 207.25 67.11 L 207.96 68.83 L 208.97 69.76 L 208.82 71.62 L 207.96 71.7 L 206.32 70.33 L 205.31 69.04 L 204.38 67.47 L 203.74 66.25 L 202.66 65.1 L 201.3 63.96 Z M 208.39 72.34 L 209.25 71.77 L 210.62 71.98 L 212.19 72.41 L 213.7 72.41 L 215.06 72.99 L 214.99 73.7 L 213.48 73.41 L 211.98 73.27 L 210.4 73.06 L 209.25 72.77 Z M 211.12 66.32 L 211.55 66.03 L 212.69 65.68 L 213.98 65.17 L 214.84 64.17 L 215.7 63.6 L 216.64 62.52 L 217.35 63.17 L 218.43 63.67 L 217.85 64.24 L 217.49 64.6 L 217.49 66.18 L 218.28 66.75 L 217.28 67.47 L 217.21 68.18 L 216.49 69.19 L 216.21 70.33 L 215.35 70.41 L 214.49 69.9 L 213.05 69.69 L 211.98 69.55 L 211.91 68.69 L 211.19 67.83 Z M 218.57 71.41 L 219.29 71.41 L 219.29 69.47 L 219.93 70.91 L 220.94 70.69 L 219.86 68.9 L 221.37 68.04 L 219.57 68.26 L 219.07 67.04 L 220.94 66.82 L 222.66 66.32 L 221.87 67.04 L 219.65 66.54 L 218.86 67.47 L 218.5 68.76 L 218.14 69.47 Z M 219.43 54.21 L 220.36 54.35 L 220.65 55.21 L 220.08 56.07 L 220.36 56.79 L 221.15 57.58 L 221.94 58.15 L 221.8 58.72 L 220.86 57.94 L 220.22 57.51 L 219.43 57.22 L 219 56.29 L 218.86 55.71 L 219.29 55.43 Z M 220.43 62.45 L 221.51 61.88 L 222.94 60.44 L 223.59 61.52 L 223.44 62.95 L 222.87 63.45 L 222.01 63.02 L 221.44 62.09 Z M 222.08 58.44 L 223.01 59.44 L 222.58 60.3 L 222.08 59.58 Z M 226.88 68.4 L 227.89 67.75 L 229.11 68.11 L 229.25 69.47 L 230.11 69.9 L 231.47 68.54 L 232.76 68.97 L 234.05 69.33 L 235.84 69.9 L 236.99 70.62 L 237.56 71.41 L 238.78 71.84 L 238.49 72.77 L 239.14 73.27 L 240 73.99 L 241.07 74.85 L 240.57 75.14 L 238.99 74.71 L 237.71 73.27 L 236.7 72.91 L 235.7 73.49 L 235.77 73.92 L 234.84 74.06 L 234.05 73.99 L 232.76 73.27 L 231.83 73.49 L 232.26 72.48 L 231.83 71.34 L 229.89 70.69 L 228.82 70.05 L 228.17 70.41 L 227.53 69.55 L 228.32 69.19 L 227.46 68.61 Z M 214.27 83.16 L 214.63 86.1 L 214.84 86.32 L 215.42 88.61 L 215.92 90.11 L 215.49 91.55 L 216.64 92.55 L 217.93 92.48 L 219 91.76 L 221.58 91.76 L 222.66 90.9 L 224.09 90.62 L 225.45 90.19 L 227.1 90.04 L 228.03 90.4 L 229.25 90.9 L 229.89 92.19 L 230.4 92.48 L 231.54 91.76 L 231.83 92.48 L 231.18 92.98 L 232.62 93.05 L 233.05 93.41 L 233.76 94.7 L 235.91 95.27 L 236.85 94.63 L 237.85 95.42 L 238.64 94.84 L 240.43 94.34 L 240.57 93.05 L 241.29 91.83 L 242.29 90.62 L 242.72 89.11 L 243.08 87.68 L 242.72 86.24 L 242.58 85.6 L 241.15 83.81 L 240.14 83.45 L 239.5 82.09 L 237.92 81.08 L 237.63 80.08 L 237.2 79.15 L 237.13 78.15 L 236.49 77.64 L 235.84 76.64 L 235.2 75.14 L 234.77 76 L 234.48 77.14 L 234.41 79.08 L 233.76 80.01 L 232.83 79.94 L 231.76 79.01 L 230.4 78.36 L 230.11 78 L 230.97 76.28 L 230.4 76 L 229.75 76.21 L 228.53 75.71 L 227.89 75.64 L 227.1 76.14 L 226.31 76.71 L 225.74 78.15 L 224.59 77.72 L 223.37 77.64 L 222.66 78.29 L 222.15 79.15 L 221.58 79.86 L 220.65 80.01 L 220.15 80.87 L 219.65 81.59 L 218.36 81.8 L 217.14 82.3 L 216.28 82.45 L 215.13 83.09 Z M 236.63 96.64 L 239.28 96.78 L 239.21 98 L 238.28 98.71 L 237.13 97.93 Z M 256.77 92.12 L 257.99 93.05 L 258.63 94.13 L 259.13 94.41 L 260.5 94.63 L 260.93 94.49 L 259.99 95.63 L 259.13 97.07 L 258.56 97.28 L 258.13 97.07 L 258.56 96.35 L 257.84 95.56 L 258.27 94.7 L 258.06 93.84 L 257.06 92.77 Z M 256.77 96.49 L 257.92 97.07 L 257.56 97.78 L 256.77 98.57 L 255.69 99.29 L 255.26 100.36 L 254.33 100.86 L 252.33 100.43 L 252.61 99.86 L 253.69 99 L 255.26 98.14 L 255.91 97.35 Z" fill="var(--xv-ink)" fill-opacity="0.13" stroke="var(--xv-ink)" stroke-opacity="0.16" stroke-width="0.5" stroke-linejoin="round"></path><path d="M 166.68 35.58 L 168.48 34.14 L 169.91 33.78 L 170.98 33.93 L 170.98 35.07 L 169.77 35.58 L 169.05 35.72 L 169.77 36.51 L 170.77 37.51 L 170.84 38.59 L 171.63 39.37 L 171.34 40.74 L 169.55 41.17 L 168.12 40.52 L 167.97 39.66 L 168.4 38.66 L 167.83 37.51 L 167.04 36.65 Z" fill="var(--xv-surface)"></path><path d="M 95.83 13 V 107.6" fill="none" stroke="var(--xv-rose)" stroke-width="1.4" stroke-opacity="1" stroke-linecap="round" stroke-linejoin="round" pathLength="100" class="ac-line" style="animation:xv-ac-l0 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 55.01 13 V 107.6" fill="none" stroke="var(--xv-cool)" stroke-width="1" stroke-opacity="0.6" stroke-linecap="round" stroke-linejoin="round" pathLength="100" class="ac-line" style="animation:xv-ac-l1 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 184.01 13 V 107.6" fill="none" stroke="var(--xv-cool)" stroke-width="1.4" stroke-opacity="1" stroke-linecap="round" stroke-linejoin="round" pathLength="100" class="ac-line" style="animation:xv-ac-l2 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 224.83 13 V 107.6" fill="none" stroke="var(--xv-rose)" stroke-width="1" stroke-opacity="0.6" stroke-linecap="round" stroke-linejoin="round" pathLength="100" class="ac-line" style="animation:xv-ac-l3 10s ease-in-out infinite both;stroke-dashoffset:0"></path>
262<path d="M 90.9 107.6 L 93.3 106.17 L 95.4 104.73 L 97.26 103.3 L 98.92 101.87 L 100.43 100.43 L 101.8 99 L 103.07 97.57 L 104.25 96.13 L 105.35 94.7 L 106.38 93.27 L 107.35 91.83 L 108.27 90.4 L 109.14 88.97 L 109.98 87.53 L 110.78 86.1 L 111.55 84.67 L 112.29 83.23 L 113.02 81.8 L 113.72 80.37 L 114.4 78.93 L 115.07 77.5 L 115.73 76.07 L 116.38 74.63 L 117.01 73.2 L 117.64 71.77 L 118.27 70.33 L 118.89 68.9 L 119.51 67.47 L 120.13 66.03 L 120.76 64.6 L 121.38 63.17 L 122.01 61.73 L 122.65 60.3 L 123.3 58.87 L 123.95 57.43 L 124.62 56 L 125.31 54.57 L 126.01 53.13 L 126.73 51.7 L 127.48 50.27 L 128.25 48.83 L 129.05 47.4 L 129.89 45.97 L 130.76 44.53 L 131.68 43.1 L 132.65 41.67 L 133.68 40.23 L 134.78 38.8 L 135.95 37.37 L 137.22 35.93 L 138.6 34.5 L 140.11 33.07 L 141.77 31.63 L 143.63 30.2 L 145.72 28.77 L 148.13 27.33 L 150.94 25.9 L 154.32 24.47 L 158.57 23.03 L 164.35 21.6 L 174.32 20.17 L 183.89 19.74" fill="none" stroke="var(--xv-cool)" stroke-width="1.4" stroke-opacity="1" stroke-linecap="round" stroke-linejoin="round" pathLength="100" class="ac-line" style="animation:xv-ac-l4 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 145.58 107.6 L 146.68 106.17 L 147.67 104.73 L 148.57 103.3 L 149.39 101.87 L 150.15 100.43 L 150.85 99 L 151.5 97.57 L 152.11 96.13 L 152.68 94.7 L 153.22 93.27 L 153.74 91.83 L 154.23 90.4 L 154.7 88.97 L 155.14 87.53 L 155.57 86.1 L 155.99 84.67 L 156.39 83.23 L 156.79 81.8 L 157.17 80.37 L 157.54 78.93 L 157.91 77.5 L 158.26 76.07 L 158.62 74.63 L 158.97 73.2 L 159.31 71.77 L 159.65 70.33 L 159.99 68.9 L 160.33 67.47 L 160.67 66.03 L 161.02 64.6 L 161.36 63.17 L 161.7 61.73 L 162.05 60.3 L 162.4 58.87 L 162.76 57.43 L 163.13 56 L 163.5 54.57 L 163.88 53.13 L 164.27 51.7 L 164.68 50.27 L 165.09 48.83 L 165.53 47.4 L 165.97 45.97 L 166.44 44.53 L 166.93 43.1 L 167.44 41.67 L 167.99 40.23 L 168.56 38.8 L 169.17 37.37 L 169.82 35.93 L 170.52 34.5 L 171.28 33.07 L 172.1 31.63 L 173 30.2 L 173.99 28.77 L 175.09 27.33 L 176.32 25.9 L 177.71 24.47 L 179.32 23.03 L 181.18 21.6 L 183.4 20.17 L 186.09 18.73 L 189.47 17.3 L 193.92 15.87 L 200.32 14.43 L 211.93 13" fill="none" stroke="var(--xv-rose)" stroke-width="1" stroke-opacity="0.6" stroke-linecap="round" stroke-linejoin="round" pathLength="100" class="ac-line" style="animation:xv-ac-l5 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 46.09 107.6 L 44.99 106.17 L 44 104.73 L 43.1 103.3 L 42.28 101.87 L 41.52 100.43 L 40.82 99 L 40.17 97.57 L 39.56 96.13 L 38.99 94.7 L 38.44 93.27 L 37.93 91.83 L 37.44 90.4 L 36.97 88.97 L 36.53 87.53 L 36.09 86.1 L 35.68 84.67 L 35.27 83.23 L 34.88 81.8 L 34.5 80.37 L 34.13 78.93 L 33.76 77.5 L 33.4 76.07 L 33.05 74.63 L 32.7 73.2 L 32.36 71.77 L 32.02 70.33 L 31.67 68.9 L 31.33 67.47 L 30.99 66.03 L 30.65 64.6 L 30.31 63.17 L 29.97 61.73 L 29.62 60.3 L 29.26 58.87 L 28.91 57.43 L 28.54 56 L 28.17 54.57 L 27.79 53.13 L 27.39 51.7 L 26.99 50.27 L 26.57 48.83 L 26.14 47.4 L 25.7 45.97 L 25.23 44.53 L 24.74 43.1 L 24.22 41.67 L 23.68 40.23 L 23.11 38.8 L 22.5 37.37 L 21.85 35.93 L 21.15 34.5 L 20.39 33.07 L 19.57 31.63 L 18.67 30.2 L 17.68 28.77 L 16.58 27.33 L 15.35 25.9 L 13.96 24.47 L 12.35 23.03 L 10.49 21.6 L 8.27 20.17 L 5.58 18.73 M 260.2 17.3 L 255.74 15.87 L 249.35 14.43 L 237.73 13" fill="none" stroke="var(--xv-rose)" stroke-width="1.4" stroke-opacity="1" stroke-linecap="round" stroke-linejoin="round" pathLength="100" class="ac-line" style="animation:xv-ac-l6 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 19.13 107.6 L 16.72 106.17 L 14.63 104.73 L 12.77 103.3 L 11.11 101.87 L 9.6 100.43 L 8.22 99 L 6.95 97.57 L 5.78 96.13 L 4.68 94.7 M 261.65 93.27 L 260.68 91.83 L 259.76 90.4 L 258.89 88.97 L 258.05 87.53 L 257.25 86.1 L 256.48 84.67 L 255.73 83.23 L 255.01 81.8 L 254.31 80.37 L 253.62 78.93 L 252.95 77.5 L 252.3 76.07 L 251.65 74.63 L 251.01 73.2 L 250.38 71.77 L 249.76 70.33 L 249.13 68.9 L 248.51 67.47 L 247.89 66.03 L 247.27 64.6 L 246.64 63.17 L 246.01 61.73 L 245.38 60.3 L 244.73 58.87 L 244.07 57.43 L 243.4 56 L 242.72 54.57 L 242.02 53.13 L 241.29 51.7 L 240.55 50.27 L 239.78 48.83 L 238.98 47.4 L 238.14 45.97 L 237.27 44.53 L 236.35 43.1 L 235.38 41.67 L 234.35 40.23 L 233.25 38.8 L 232.07 37.37 L 230.8 35.93 L 229.43 34.5 L 227.92 33.07 L 226.26 31.63 L 224.4 30.2 L 222.3 28.77 L 219.9 27.33 L 217.09 25.9 L 213.7 24.47 L 209.45 23.03 L 203.67 21.6 L 193.71 20.17 L 184.14 19.74" fill="none" stroke="var(--xv-cool)" stroke-width="1" stroke-opacity="0.6" stroke-linecap="round" stroke-linejoin="round" pathLength="100" class="ac-line" style="animation:xv-ac-l7 10s ease-in-out infinite both;stroke-dashoffset:0"></path></g><text x="95.83" y="7" font-size="9.2" font-weight="700" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" style="animation:xv-ac-t0 10s ease-out infinite both"><tspan class="xv-glyph" font-size="10.5">♀︎</tspan>MC</text><text x="55.01" y="7" font-size="9.2" font-weight="700" fill="var(--xv-cool)" text-anchor="middle" dominant-baseline="central" style="animation:xv-ac-t1 10s ease-out infinite both"><tspan class="xv-glyph" font-size="10.5">♃︎</tspan>IC</text><text x="184.01" y="7" font-size="9.2" font-weight="700" fill="var(--xv-cool)" text-anchor="middle" dominant-baseline="central" style="animation:xv-ac-t2 10s ease-out infinite both"><tspan class="xv-glyph" font-size="10.5">♃︎</tspan>MC</text><text x="224.83" y="7" font-size="9.2" font-weight="700" fill="var(--xv-rose)" text-anchor="middle" dominant-baseline="central" style="animation:xv-ac-t3 10s ease-out infinite both"><tspan class="xv-glyph" font-size="10.5">♀︎</tspan>IC</text><circle cx="139.12" cy="33.52" r="3.2" fill="none" stroke="var(--xv-accent)" stroke-width="1.2" class="ac-pop" style="animation:xv-ac-pulse 10s ease-out infinite both;opacity:0"></circle><g class="ac-pop" style="animation:xv-ac-pin0 10s ease-out infinite both"><circle cx="139.12" cy="33.52" r="3.4" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="1.2"></circle></g><g class="ac-pop" style="animation:xv-ac-pin1 10s ease-out infinite both"><circle cx="224" cy="40.54" r="2.6" fill="var(--xv-ink)" stroke="var(--xv-surface)" stroke-width="1.2"></circle></g><g class="ac-pop" style="animation:xv-ac-pin2 10s ease-out infinite both"><circle cx="159.39" cy="68.39" r="2.6" fill="var(--xv-ink)" stroke="var(--xv-surface)" stroke-width="1.2"></circle></g></g><g><g><line x1="269" y1="60" x2="279" y2="60" stroke="var(--xv-rose)" stroke-width="1.6" stroke-opacity="1" stroke-linecap="round"></line><text x="283" y="60" font-size="9.2" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central"><tspan class="xv-glyph" font-size="11">♀︎</tspan> Venus</text></g><g><line x1="269" y1="74" x2="279" y2="74" stroke="var(--xv-cool)" stroke-width="1.6" stroke-opacity="1" stroke-linecap="round"></line><text x="283" y="74" font-size="9.2" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central"><tspan class="xv-glyph" font-size="11">♃︎</tspan> Jupiter</text></g><g>
262<line x1="269" y1="90" x2="279" y2="90" stroke="var(--xv-ink-soft)" stroke-width="1.6" stroke-opacity="1" stroke-linecap="round"></line><text x="283" y="90" font-size="9.2" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">MC ASC</text></g><g><line x1="269" y1="103" x2="279" y2="103" stroke="var(--xv-ink-soft)" stroke-width="1" stroke-opacity="0.6" stroke-linecap="round"></line><text x="283" y="103" font-size="9.2" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">IC DSC</text></g></g><g style="animation:xv-ac-card 10s ease-out infinite both"><rect x="4" y="115" width="156" height="56" rx="8" fill="var(--xv-surface)" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="1"></rect><text x="13" y="127" font-size="11.5" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Zurich<tspan font-size="9.4" font-weight="600" fill="var(--xv-ink-soft)">, CH</tspan></text><text x="13" y="141" font-size="9.4" font-weight="600" fill="var(--xv-cool)" dominant-baseline="central"><tspan class="xv-glyph" font-size="11">♃︎</tspan> Jupiter ASC <tspan fill="var(--xv-ink-soft)">· 42 km</tspan></text><text x="13" y="155" font-size="9.4" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Growth &amp; luck</text><text x="151" y="133" font-size="21" font-weight="800" fill="var(--xv-accent)" text-anchor="end" dominant-baseline="central" class="xv-mono">98</text><text x="151" y="150" font-size="9.2" fill="var(--xv-ink-soft)" text-anchor="end" dominant-baseline="central">/100</text><rect x="13" y="163" width="138" height="3" rx="1.5" fill="var(--xv-line)"></rect><rect x="13" y="163" width="135.24" height="3" rx="1.5" fill="var(--xv-accent)" class="ac-bar" style="animation:xv-ac-bar 10s ease-out infinite both"></rect></g><g><text x="170" y="121" font-size="9.2" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">BEST CITY PER LINE</text><g style="animation:xv-ac-r0 10s ease-out infinite both"><rect x="166" y="128.5" width="164" height="15" rx="7.5" fill="var(--xv-accent-soft)"></rect><text x="172" y="136" font-size="9.2" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">1</text><text x="183" y="136" font-size="9.6" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Zurich</text><text x="240" y="136" font-size="9.2" font-weight="600" fill="var(--xv-cool)" dominant-baseline="central"><tspan class="xv-glyph" font-size="10.5">♃︎</tspan> <!-- -->ASC</text><text x="324" y="136" font-size="9.6" font-weight="800" fill="var(--xv-accent)" text-anchor="end" dominant-baseline="central" class="xv-mono">98</text></g><g style="animation:xv-ac-r1 10s ease-out infinite both"><text x="172" y="151" font-size="9.2" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">2</text><text x="183" y="151" font-size="9.6" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Seoul</text><text x="240" y="151" font-size="9.2" font-weight="600" fill="var(--xv-rose)" dominant-baseline="central"><tspan class="xv-glyph" font-size="10.5">♀︎</tspan> <!-- -->IC</text><text x="324" y="151" font-size="9.6" font-weight="800" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono">94</text></g><g style="animation:xv-ac-r2 10s ease-out infinite both"><text x="172" y="166" font-size="9.2" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">3</text><text x="183" y="166" font-size="9.6" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Nairobi</text><text x="240" y="166" font-size="9.2" font-weight="600" fill="var(--xv-rose)" dominant-baseline="central"><tspan class="xv-glyph" font-size="10.5">♀︎</tspan> <!-- -->DSC</text><text x="324" y="166" font-size="9.6" font-weight="800" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono">94</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
263              text-base md:text-lg">AstroCartoGraphy API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
264              line-clamp-2">Planetary lines for every coordinate — the four angles, parans, and city scoring.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:385ms">
264<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
265          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
266          transition-all duration-500 p-3 flex
267          flex-col md:flex-row
268          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
269              transition-transform duration-700 group-hover:scale-[1.03]
270              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="human-design" class="xv-frame  "><style>[data-xv="human-design"] .hd-ch{stroke-dasharray:100 100;transition:stroke-width .3s ease}
271[data-xv="human-design"] .hd-pop{transform-box:fill-box;transform-origin:center}
272.group\/card:hover [data-xv="human-design"] .hd-ch{stroke-width:2.4}
273@keyframes xv-hd-o0{0%{opacity:0;transform:scale(0.7)}2%{opacity:0;transform:scale(0.7)}5.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
274@keyframes xv-hd-o1{0%{opacity:0;transform:scale(0.7)}2.5%{opacity:0;transform:scale(0.7)}6%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
275@keyframes xv-hd-o2{0%{opacity:0;transform:scale(0.7)}3%{opacity:0;transform:scale(0.7)}6.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
276@keyframes xv-hd-o3{0%{opacity:0;transform:scale(0.7)}3.5%{opacity:0;transform:scale(0.7)}7%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
277@keyframes xv-hd-o4{0%{opacity:0;transform:scale(0.7)}4%{opacity:0;transform:scale(0.7)}7.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
278@keyframes xv-hd-o5{0%{opacity:0;transform:scale(0.7)}4.5%{opacity:0;transform:scale(0.7)}8%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
279@keyframes xv-hd-o6{0%{opacity:0;transform:scale(0.7)}5%{opacity:0;transform:scale(0.7)}8.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
280@keyframes xv-hd-o7{0%{opacity:0;transform:scale(0.7)}5.5%{opacity:0;transform:scale(0.7)}9%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
281@keyframes xv-hd-o8{0%{opacity:0;transform:scale(0.7)}6%{opacity:0;transform:scale(0.7)}9.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(0.7)}100%{opacity:0;transform:scale(0.7)}}
282@keyframes xv-hd-skel{0%{opacity:0}7%{opacity:0}12%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
283@keyframes xv-hd-c0{0%{stroke-dashoffset:100}12%{stroke-dashoffset:100}16%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
284@keyframes xv-hd-c1{0%{stroke-dashoffset:100}17%{stroke-dashoffset:100}21%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
285@keyframes xv-hd-c2{0%{stroke-dashoffset:100}22%{stroke-dashoffset:100}26%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
286@keyframes xv-hd-c3{0%{stroke-dashoffset:100}27%{stroke-dashoffset:100}31%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
287@keyframes xv-hd-f-head{0%{opacity:0}15.5%{opacity:0}18.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
288@keyframes xv-hd-f-ajna{0%{opacity:0}15.5%{opacity:0}18.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
289@keyframes xv-hd-f-throat{0%{opacity:0}20.5%{opacity:0}23.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
290@keyframes xv-hd-f-g{0%{opacity:0}
29025.5%{opacity:0}28.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
291@keyframes xv-hd-f-sacral{0%{opacity:0}25.5%{opacity:0}28.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
292@keyframes xv-hd-f-root{0%{opacity:0}30.5%{opacity:0}33.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
293@keyframes xv-hd-pulse{0%{opacity:0;transform:scale(1)}43.5%{opacity:0;transform:scale(1)}44.5%{opacity:1;transform:scale(1)}52.5%{opacity:0;transform:scale(1.6)}100%{opacity:0;transform:scale(1.6)}}
294@keyframes xv-hd-type{0%{opacity:0;transform:translateY(5px)}34%{opacity:0;transform:translateY(5px)}38%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(5px)}100%{opacity:0;transform:translateY(5px)}}
295@keyframes xv-hd-r0{0%{opacity:0;transform:translateX(6px)}38%{opacity:0;transform:translateX(6px)}41%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
296@keyframes xv-hd-r1{0%{opacity:0;transform:translateX(6px)}40.5%{opacity:0;transform:translateX(6px)}43.5%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
297@keyframes xv-hd-r2{0%{opacity:0;transform:translateX(6px)}43%{opacity:0;transform:translateX(6px)}46%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
298@keyframes xv-hd-r3{0%{opacity:0;transform:translateX(6px)}45.5%{opacity:0;transform:translateX(6px)}48.5%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
299@keyframes xv-hd-list{0%{opacity:0}49%{opacity:0}
29952.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><g fill="none" stroke="var(--xv-line-strong)" stroke-width="0.7" stroke-linecap="round" stroke-linejoin="round" style="animation:xv-hd-skel 10s ease-out infinite both"><path d="M 75 15 L 75 29"></path><path d="M 82 15 L 82 29"></path><path d="M 89 15 L 89 29"></path><path d="M 75 34.42 L 75 56"></path><path d="M 82 42 L 82 56"></path><path d="M 89 34.42 L 89 56"></path><path d="M 75 72 L 75 89.69"></path><path d="M 82 72 L 82 84"></path><path d="M 89 72 L 89 89.69"></path><path d="M 66 97 L 70 67"></path><path d="M 70 60 L 10.6 117.2"></path><path d="M 70 67 L 16.1 120.7"></path><path d="M 94 60 L 153.4 117.2"></path><path d="M 94 64 L 147.9 120.7"></path><path d="M 94 68 L 111 103"></path><path d="M 98 97 L 108.2 107.2"></path><path d="M 107 112 L 21.6 124.2"></path><path d="M 142.4 124.2 L 117 112"></path><path d="M 66 97 L 16.1 120.7"></path><path d="M 75 104.31 L 75 123"></path><path d="M 82 110 L 82 123"></path><path d="M 89 104.31 L 89 123"></path><path d="M 66 97 L 70 127"></path><path d="M 70 127 L 16.1 120.7"></path><path d="M 70 135 L 23.8 128.4"></path><path d="M 94 133 L 140.2 128.4"></path><path d="M 75 140 L 75 155"></path><path d="M 82 140 L 82 155"></path><path d="M 89 140 L 89 155"></path><path d="M 8.4 138.2 L 70 168"></path><path d="M 13.9 134.7 L 70 163"></path><path d="M 19.4 131.2 L 70 158"></path><path d="M 94 158 L 144.6 131.2"></path><path d="M 94 163 L 150.1 134.7"></path><path d="M 94 168 L 155.6 138.2"></path><path d="M 70 127 L 63 97 L 70 67"></path></g><path d="M 75 15 L 75 29" fill="none" stroke="var(--xv-ink)" stroke-width="1.5" stroke-linecap="round" pathLength="100" class="hd-ch" style="animation:xv-hd-c0 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 75 34.42 L 75 56" fill="none" stroke="var(--xv-ink)" stroke-width="1.5" stroke-linecap="round" pathLength="100" class="hd-ch" style="animation:xv-hd-c1 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 82 110 L 82 123" fill="none" stroke="var(--xv-ink)" stroke-width="1.5" stroke-linecap="round" pathLength="100" class="hd-ch" style="animation:xv-hd-c2 10s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 82 140 L 82 155" fill="none" stroke="var(--xv-ink)" stroke-width="1.5" stroke-linecap="round" pathLength="100" class="hd-ch" style="animation:xv-hd-c3 10s ease-in-out infinite both;stroke-dashoffset:0"></path><g class="hd-pop" style="animation:xv-hd-o0 10s ease-out infinite both"><polygon points="82,2 94,15 70,15" stroke-linejoin="round" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></polygon><polygon points="82,2 94,15 70,15" stroke-linejoin="round" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-hd-f-head 10s ease-out infinite both"></polygon></g><g class="hd-pop" style="animation:xv-hd-o1 10s ease-out infinite both"><polygon points="70,29 94,29 82,42" stroke-linejoin="round" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></polygon><polygon points="70,29 94,29 82,42" stroke-linejoin="round" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-hd-f-ajna 10s ease-out infinite both"></polygon></g><g class="hd-pop" style="animation:xv-hd-o2 10s ease-out infinite both"><rect x="70" y="56" width="24" height="16" rx="2" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></rect><rect x="70" y="56" width="24" height="16" rx="2" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-hd-f-throat 10s ease-out infinite both"></rect></g><g class="hd-pop" style="animation:xv-hd-o3 10s ease-out infinite both"><polygon points="82,84 98,97 82,110 66,97" stroke-linejoin="round" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></polygon><polygon points="82,84 98,97 82,110 66,97" stroke-linejoin="round" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-hd-f-g 10s ease-out infinite both"></polygon></g><g class="hd-pop" style="animation:xv-hd-o4 10s ease-out infinite both"><polygon points="113,100 121,112 105,112" stroke-linejoin="round" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></polygon></g><g class="hd-pop" style="animation:xv-hd-o5 10s ease-out infinite both"><rect x="70" y="123" width="24" height="17" rx="2" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></rect><rect x="70" y="123" width="24" height="17" rx="2" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-hd-f-sacral 10s ease-out infinite both"></rect></g><g class="hd-pop" style="animation:xv-hd-o6 10s ease-out infinite both"><polygon points="4,113 26,127 4,141" stroke-linejoin="round" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></polygon></g><g class="hd-pop" style="animation:xv-hd-o7 10s ease-out infinite both"><polygon points="160,113 138,127 160,141" stroke-linejoin="round" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></polygon></g><g class="hd-pop" style="animation:xv-hd-o8 10s ease-out infinite both"><rect x="70" y="155" width="24" height="16" rx="2" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="1.2"></rect><rect x="70" y="155" width="24" height="16" rx="2" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-hd-f-root 10s ease-out infinite both"></rect></g><rect x="70" y="123" width="24" height="17" rx="2" fill="none" stroke="var(--xv-accent)" stroke-width="1.4" class="hd-pop" style="animation:xv-hd-pulse 10s ease-out infinite both;opacity:0"></rect></g><g><g style="animation:xv-hd-type 10s ease-out infinite both"><text x="174" y="14" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">TYPE</text><text x="174" y="32" font-size="15" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Generator</text><line x1="174" y1="50" x2="322" y2="50" stroke="var(--xv-line)" stroke-width="1"></line></g><g style="animation:xv-hd-r0 10s ease-out infinite both"><text x="174" y="63" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">STRATEGY</text><text x="240" y="63" font-size="10.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">To respond</text></g><g style="animation:xv-hd-r1 10s ease-out infinite both"><text x="174" y="81" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">AUTHORITY</text><text x="240" y="81" font-size="10.5" font-weight="700" fill="var(--xv-accent)" dominant-baseline="central">Sacral</text></g><g style="animation:xv-hd-r2 10s ease-out infinite both"><text x="174" y="99" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">PROFILE</text><text x="240" y="99" font-size="10.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono">2/4</text></g><g style="animation:xv-hd-r3 10s ease-out infinite both"><text x="174" y="117" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">DEFINITION</text><text x="240" y="117" font-size="10.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Split</text></g><g style="animation:xv-hd-list 10s ease-out infinite both"><text x="174" y="142" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">CHANNELS</text><text x="174" y="157" font-size="9" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono">64-47 · 17-62 · 2-14 · 3-60</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
300              text-base md:text-lg">Human Design API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
301              line-clamp-2">Generate complete BodyGraph profiles and compatibility insights from birth data. Use the core, chart, analysis, and interpretation endpoints across a single Human Design workflow.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:440ms">
301<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
302          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
303          transition-all duration-500 p-3 flex
304          flex-col md:flex-row
305          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
306              transition-transform duration-700 group-hover:scale-[1.03]
307              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="palmistry" class="xv-frame  "><style>[data-xv="palmistry"] .pa-line{stroke-dasharray:100 100;transition:stroke-width .35s ease}
308[data-xv="palmistry"] .pa-bar{transform-box:fill-box;transform-origin:left center}
309[data-xv="palmistry"] .pa-pop{transform-box:fill-box;transform-origin:center}
310.group\/card:hover [data-xv="palmistry"] .pa-line{stroke-width:1.81}
311@keyframes xv-pa-scan{0%{opacity:0;transform:translateY(0px)}2.5%{opacity:0;transform:translateY(0px)}4.375%{opacity:1;transform:translateY(10px)}15.625%{opacity:1;transform:translateY(150px)}17.5%{opacity:0;transform:translateY(160px)}100%{opacity:0;transform:translateY(160px)}}
312@keyframes xv-pa-l0{0%{stroke-dashoffset:100}17.5%{stroke-dashoffset:100}26.25%{stroke-dashoffset:0}88.75%{stroke-dashoffset:0}93.75%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
313@keyframes xv-pa-r0{0%{opacity:0;transform:translateX(6px)}23.125%{opacity:0;transform:translateX(6px)}26.875%{opacity:1;transform:translateX(0px)}88.75%{opacity:1;transform:translateX(0px)}93.75%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
314@keyframes xv-pa-b0{0%{transform:scaleX(0)}24.375%{transform:scaleX(0)}31.875%{transform:scaleX(1)}88.75%{transform:scaleX(1)}93.75%{transform:scaleX(0)}100%{transform:scaleX(0)}}
315@keyframes xv-pa-l1{0%{stroke-dashoffset:100}25%{stroke-dashoffset:100}33.75%{stroke-dashoffset:0}88.75%{stroke-dashoffset:0}93.75%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
316@keyframes xv-pa-r1{0%{opacity:0;transform:translateX(6px)}30.625%{opacity:0;transform:translateX(6px)}34.375%{opacity:1;transform:translateX(0px)}88.75%{opacity:1;transform:translateX(0px)}93.75%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
317@keyframes xv-pa-b1{0%{transform:scaleX(0)}31.875%{transform:scaleX(0)}39.375%{transform:scaleX(1)}88.75%{transform:scaleX(1)}93.75%{transform:scaleX(0)}100%{transform:scaleX(0)}}
318@keyframes xv-pa-l2{0%{stroke-dashoffset:100}32.5%{stroke-dashoffset:100}41.25%{stroke-dashoffset:0}88.75%{stroke-dashoffset:0}93.75%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
319@keyframes xv-pa-r2{0%{opacity:0;transform:translateX(6px)}38.125%{opacity:0;transform:translateX(6px)}41.875%{opacity:1;transform:translateX(0px)}88.75%{opacity:1;transform:translateX(0px)}93.75%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
320@keyframes xv-pa-b2{0%{transform:scaleX(0)}39.375%{transform:scaleX(0)}46.875%{transform:scaleX(1)}88.75%{transform:scaleX(1)}93.75%{transform:scaleX(0)}100%{transform:scaleX(0)}}
321@keyframes xv-pa-l3{0%{stroke-dashoffset:100}40%{stroke-dashoffset:100}48.75%{stroke-dashoffset:0}88.75%{stroke-dashoffset:0}93.75%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
322@keyframes xv-pa-r3{0%{opacity:0;transform:translateX(6px)}45.625%{opacity:0;transform:translateX(6px)}49.375%{opacity:1;transform:translateX(0px)}88.75%{opacity:1;transform:translateX(0px)}93.75%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
323@keyframes xv-pa-b3{0%{transform:scaleX(0)}46.875%{transform:scaleX(0)}54.375%{transform:scaleX(1)}88.75%{transform:scaleX(1)}93.75%{transform:scaleX(0)}100%{transform:scaleX(0)}}
324@keyframes xv-pa-done{0%{opacity:0}50%{opacity:0}53.75%{opacity:1}88.75%{opacity:1}93.75%{opacity:0}100%{opacity:0}}
325@keyframes xv-pa-type{0%{opacity:0;transform:scale(0.85)}53.75%{opacity:0;transform:scale(0.85)}58.125%{opacity:1;transform:scale(1)}88.75%{opacity:1;transform:scale(1)}93.75%{opacity:0;transform:scale(0.85)}100%{opacity:0;transform:scale(0.85)}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="xv-pa-scan-grad" x1="0" y1="0" x2="0" y2="1"><stop offset="0" style="stop-color:var(--xv-accent);stop-opacity:0"></stop><stop offset="1" style="stop-color:var(--xv-accent);stop-opacity:0.35"></stop></linearGradient></defs><rect x="6" y="6" width="118" height="162" rx="6" fill="var(--xv-surface)"></rect><g transform="translate(17.11 12) scale(1.55)"><path d="M 23 97 L 21.6 90 C 13.6 87.6 11.56 79.09 8.94 71.25 Q 3.84 58.48 0.21 45.11 A 4.3 4.3 0 0 1 8.19 41.89 L 13.6 55.4 Q 15.3 59.6 17.2 59.4 Q 18.5 56 18.6 49 L 17.8 18 A 4.5 4.5 0 0 1 26.8 18 L 28.4 49 Q 28.75 50.6 29.1 47.5 L 29.4 12.1 A 4.6 4.6 0 0 1 38.6 12.1 L 38.9 47.5 Q 39.25 50.1 39.6 48.5 L 40.85 15.8 A 4.3 4.3 0 0 1 49.45 15.8 L 48.9 48.5 Q 49.25 53.6 49.6 52 L 51.9 29.1 A 3.6 3.6 0 0 1 59.1 29.1 L 57.4 52 C 59.6 62 60.2 76 56.6 89.6 L 55 97" fill="var(--xv-wash)" stroke="var(--xv-ink)" stroke-width="0.77" stroke-linejoin="round" stroke-linecap="round"></path><path d="M 20.33 36.22 Q 23.07 37.22 25.81 36.22" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 19.97 25.57 Q 22.71 26.57 25.45 25.57" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 31.26 33.1 Q 34 34.1 36.74 33.1" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 31.26 21.1 Q 34 22.1 36.74 21.1" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 41.97 35.18 Q 44.57 36.18 47.17 35.18" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 42.24 24.08 Q 44.84 25.08 47.44 24.08" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 52.04 42.46 Q 54.22 43.46 56.4 42.46" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 52.64 34.51 Q 54.82 35.51 57 34.51" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 3.4 55.6 Q 7 56.2 10.6 53.6" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 23.4 88.2 Q 38.6 91 55.6 88.2" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.52" stroke-linecap="round"></path><path d="M 58.9 60.4 C 50 60 40.5 59.4 33.8 55.6 Q 30.6 53.6 29.4 50.8" fill="none" stroke="var(--xv-rose)" stroke-width="1.48" stroke-linecap="round" pathLength="100" class="pa-line" style="animation:xv-pa-l0 8s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 18.4 57.8 C 28 60 39 63.2 51.6 69.6" fill="none" stroke="var(--xv-cool)" stroke-width="1.48" stroke-linecap="round" pathLength="100" class="pa-line" style="animation:xv-pa-l1 8s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 18.4 58.4 C 26 63 29.6 73 28.6 82 Q 28.1 86 26.9 89.6" fill="none" stroke="var(--xv-good)" stroke-width="1.48" stroke-linecap="round" pathLength="100" class="pa-line" style="animation:xv-pa-l2 8s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 39.2 88 C 38 77 36 65.4 34.3 56.4" fill="none" stroke="var(--xv-gold)" stroke-width="1.48" stroke-linecap="round" pathLength="100" class="pa-line" style="animation:xv-pa-l3 8s ease-in-out infinite both;stroke-dashoffset:0"></path></g><g style="animation:xv-pa-scan 8s linear infinite both;opacity:0"><rect x="7" y="-4" width="116" height="10" fill="url(#xv-pa-scan-grad)"></rect><line x1="7" y1="6" x2="123" y2="6" stroke="var(--xv-accent)" stroke-width="1.2"></line></g><path d="M 6 16 V 6 H 16 M 114 6 H 124 V 16 M 124 158 V 168 H 114 M 16 168 H 6 V 158" fill="none" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round"></path><rect x="134" y="8" width="9" height="11" rx="1.5" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.9"></rect><path d="M 136 16 l 2 -2.5 l 1.5 1.5 l 1.5 -2" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.8"></path><text x="148" y="13.5" font-size="9" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono">
325palm.jpg</text><text x="262" y="13.5" font-size="9" font-weight="700" fill="var(--xv-good)" text-anchor="end" dominant-baseline="central" style="animation:xv-pa-done 8s ease-out infinite both">4 lines found</text><line x1="134" y1="24" x2="262" y2="24" stroke="var(--xv-line)" stroke-width="1"></line><text x="134" y="40" font-size="9" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">LINE</text><text x="184" y="40" font-size="9" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">CONFIDENCE</text><g style="animation:xv-pa-r0 8s ease-out infinite both"><line x1="134" y1="58" x2="144" y2="58" stroke="var(--xv-rose)" stroke-width="2.6" stroke-linecap="round"></line><text x="150" y="58" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Heart</text><rect x="184" y="56" width="104" height="4" rx="2" fill="var(--xv-line)"></rect><rect x="184" y="56" width="85.28" height="4" rx="2" fill="var(--xv-rose)" class="pa-bar" style="animation:xv-pa-b0 8s ease-out infinite both"></rect><text x="322" y="58" font-size="10" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono">82%</text></g><g style="animation:xv-pa-r1 8s ease-out infinite both"><line x1="134" y1="75" x2="144" y2="75" stroke="var(--xv-cool)" stroke-width="2.6" stroke-linecap="round"></line><text x="150" y="75" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Head</text><rect x="184" y="73" width="104" height="4" rx="2" fill="var(--xv-line)"></rect><rect x="184" y="73" width="79.04" height="4" rx="2" fill="var(--xv-cool)" class="pa-bar" style="animation:xv-pa-b1 8s ease-out infinite both"></rect><text x="322" y="75" font-size="10" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono">76%</text></g><g style="animation:xv-pa-r2 8s ease-out infinite both"><line x1="134" y1="92" x2="144" y2="92" stroke="var(--xv-good)" stroke-width="2.6" stroke-linecap="round"></line><text x="150" y="92" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Life</text><rect x="184" y="90" width="104" height="4" rx="2" fill="var(--xv-line)"></rect><rect x="184" y="90" width="94.64" height="4" rx="2" fill="var(--xv-good)" class="pa-bar" style="animation:xv-pa-b2 8s ease-out infinite both"></rect><text x="322" y="92" font-size="10" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono">91%</text></g><g style="animation:xv-pa-r3 8s ease-out infinite both"><line x1="134" y1="109" x2="144" y2="109" stroke="var(--xv-gold)" stroke-width="2.6" stroke-linecap="round"></line><text x="150" y="109" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Fate</text><rect x="184" y="107" width="104" height="4" rx="2" fill="var(--xv-line)"></rect><rect x="184" y="107" width="66.56" height="4" rx="2" fill="var(--xv-gold)" class="pa-bar" style="animation:xv-pa-b3 8s ease-out infinite both"></rect><text x="322" y="109" font-size="10" font-weight="700" fill="var(--xv-ink)" text-anchor="end" dominant-baseline="central" class="xv-mono">64%</text></g><g class="pa-pop" style="animation:xv-pa-type 8s ease-out infinite both"><rect x="134" y="124" width="188" height="42" rx="8" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="145" y="136" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">ELEMENT</text><text x="145" y="153" font-size="16" font-weight="800" fill="var(--xv-accent)" dominant-baseline="central">Air</text>
325<line x1="200" y1="133" x2="200" y2="157" stroke="var(--xv-accent)" stroke-opacity="0.35" stroke-width="0.8"></line><text x="210" y="138" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Square palm</text><text x="210" y="152" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Long fingers</text></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
326              text-base md:text-lg">Palmistry API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
327              line-clamp-2">AI palm reading from a photo — lines, hand shape, mounts, and meanings.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:495ms"><div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
328          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
329          transition-all duration-500 p-3 flex
330          flex-col md:flex-row
331          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
332              transition-transform duration-700 group-hover:scale-[1.03]
333              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="face-reading" class="xv-frame  "><style>[data-xv="face-reading"] .fr-draw{stroke-dasharray:100 100}
334[data-xv="face-reading"] .fr-pop{transform-box:fill-box;transform-origin:center}
335[data-xv="face-reading"] .fr-bar{transform-box:fill-box;transform-origin:left center}
336[data-xv="face-reading"] .fr-mesh{transition:stroke-opacity .35s ease}
337.group\/card:hover [data-xv="face-reading"] .fr-mesh{stroke-opacity:.75}
338@keyframes xv-fr-scan{0%{opacity:0;transform:translateY(0px)}2.222%{opacity:0;transform:translateY(0px)}3.889%{opacity:1;transform:translateY(10px)}15%{opacity:1;transform:translateY(150px)}16.667%{opacity:0;transform:translateY(160px)}100%{opacity:0;transform:translateY(160px)}}
339@keyframes xv-fr-bar{0%{transform:scaleX(0)}2.222%{transform:scaleX(0)}16.667%{transform:scaleX(1)}90%{transform:scaleX(1)}94.444%{transform:scaleX(0)}100%{transform:scaleX(0)}}
340@keyframes xv-fr-id{0%{opacity:0}16.667%{opacity:0}20%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
341@keyframes xv-fr-lm0{0%{opacity:0;transform:scale(0.6)}17.778%{opacity:0;transform:scale(0.6)}20.222%{opacity:1;transform:scale(1.1)}22.222%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
342@keyframes xv-fr-lm1{0%{opacity:0;transform:scale(0.6)}20.556%{opacity:0;transform:scale(0.6)}23%{opacity:1;transform:scale(1.1)}25%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
343@keyframes xv-fr-lm2{0%{opacity:0;transform:scale(0.6)}23.333%{opacity:0;transform:scale(0.6)}25.778%{opacity:1;transform:scale(1.1)}27.778%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
344@keyframes xv-fr-lm3{0%{opacity:0;transform:scale(0.6)}26.111%{opacity:0;transform:scale(0.6)}28.556%{opacity:1;transform:scale(1.1)}30.556%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
345@keyframes xv-fr-mesh{0%{opacity:0}
34526.667%{opacity:0}32.222%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
346@keyframes xv-fr-f0{0%{opacity:0;transform:translateY(-5px)}31.111%{opacity:0;transform:translateY(-5px)}34.444%{opacity:1;transform:translateY(0px)}90%{opacity:1;transform:translateY(0px)}94.444%{opacity:0;transform:translateY(-5px)}100%{opacity:0;transform:translateY(-5px)}}
347@keyframes xv-fr-f1{0%{opacity:0;transform:translateY(-5px)}34.444%{opacity:0;transform:translateY(-5px)}37.778%{opacity:1;transform:translateY(0px)}90%{opacity:1;transform:translateY(0px)}94.444%{opacity:0;transform:translateY(-5px)}100%{opacity:0;transform:translateY(-5px)}}
348@keyframes xv-fr-f2{0%{opacity:0;transform:translateY(-5px)}37.778%{opacity:0;transform:translateY(-5px)}41.111%{opacity:1;transform:translateY(0px)}90%{opacity:1;transform:translateY(0px)}94.444%{opacity:0;transform:translateY(-5px)}100%{opacity:0;transform:translateY(-5px)}}
349@keyframes xv-fr-f3{0%{opacity:0;transform:translateY(-5px)}41.111%{opacity:0;transform:translateY(-5px)}44.444%{opacity:1;transform:translateY(0px)}90%{opacity:1;transform:translateY(0px)}94.444%{opacity:0;transform:translateY(-5px)}100%{opacity:0;transform:translateY(-5px)}}
350@keyframes xv-fr-oval{0%{stroke-dashoffset:100}31.111%{stroke-dashoffset:100}37.778%{stroke-dashoffset:0}90%{stroke-dashoffset:0}94.444%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
351@keyframes xv-fr-mid{0%{stroke-dashoffset:100}37.778%{stroke-dashoffset:100}43.333%{stroke-dashoffset:0}90%{stroke-dashoffset:0}94.444%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
352@keyframes xv-fr-rl{0%{opacity:0}44.444%{opacity:0}47.778%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
353@keyframes xv-fr-r0{0%{opacity:0;transform:scale(0.6)}46.111%{opacity:0;transform:scale(0.6)}48.556%{opacity:1;transform:scale(1.1)}50.556%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
354@keyframes xv-fr-r1{0%{opacity:0;transform:scale(0.6)}48.889%{opacity:0;transform:scale(0.6)}51.333%{opacity:1;transform:scale(1.1)}53.333%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
355@keyframes xv-fr-r2{0%{opacity:0;transform:scale(0.6)}51.667%{opacity:0;transform:scale(0.6)}54.111%{opacity:1;transform:scale(1.1)}56.111%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
356@keyframes xv-fr-u0{0%{opacity:0}44.444%{opacity:0}47.778%{opacity:1}46.667%{opacity:1}48.889%{opacity:0}
356100%{opacity:0}}
357@keyframes xv-fr-u1{0%{opacity:0}44.444%{opacity:0}47.778%{opacity:1}49.444%{opacity:1}51.667%{opacity:0}100%{opacity:0}}
358@keyframes xv-fr-u2{0%{opacity:0}44.444%{opacity:0}47.778%{opacity:1}52.222%{opacity:1}54.444%{opacity:0}100%{opacity:0}}
359@keyframes xv-fr-ex{0%{opacity:0;transform:translateX(-6px)}55%{opacity:0;transform:translateX(-6px)}58.889%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-6px)}100%{opacity:0;transform:translateX(-6px)}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><defs><linearGradient id="xv-fr-scan-grad" x1="0" y1="0" x2="0" y2="1"><stop offset="0" style="stop-color:var(--xv-accent);stop-opacity:0"></stop><stop offset="1" style="stop-color:var(--xv-accent);stop-opacity:0.35"></stop></linearGradient></defs><rect x="6" y="6" width="118" height="162" rx="6" fill="var(--xv-surface)"></rect><g fill="none" stroke="var(--xv-ink)" stroke-width="1.1" stroke-linecap="round" stroke-linejoin="round"><path d="M 53 129 C 53 137 52.5 143 51.5 148 C 49 155 36 157 20 163"></path><path d="M 77 129 C 77 137 77.5 143 78.5 148 C 81 155 94 157 110 163"></path><path d="M 35.4 79 C 30.5 77 29 84 30.2 89.5 C 31.2 94 33.4 96.5 36.4 96" fill="var(--xv-wash)"></path><path d="M 94.6 79 C 99.5 77 101 84 99.8 89.5 C 98.8 94 96.6 96.5 93.6 96" fill="var(--xv-wash)"></path><path d="M 36 66 C 34.5 76 34.5 88 37 100 C 40 117 51 133 65 133 C 79 133 90 117 93 100 C 95.5 88 95.5 76 94 66 C 88 52 76 47.5 65 47.5 C 54 47.5 42 52 36 66 Z" fill="var(--xv-wash)"></path><path d="M 36 70 C 29.5 56 33 30 65 27 C 97 30 100.5 56 94 70"></path><path d="M 58 28.2 C 50 33 43 42 39.5 55" stroke="var(--xv-ink-soft)" stroke-opacity="0.55" stroke-width="0.8"></path><path d="M 44 75 Q 51 70.5 59 73.5" stroke-width="1.3"></path><path d="M 86 75 Q 79 70.5 71 73.5" stroke-width="1.3"></path><g><path d="M 45.5 82 Q 52 76.4 58.5 82 Q 52 85.6 45.5 82 Z"></path><circle cx="52" cy="81.3" r="2.1" fill="var(--xv-ink)" stroke="none"></circle></g><g><path d="M 71.5 82 Q 78 76.4 84.5 82 Q 78 85.6 71.5 82 Z"></path><circle cx="78" cy="81.3" r="2.1" fill="var(--xv-ink)" stroke="none"></circle></g><path d="M 61.6 79 L 60.2 98.5" stroke="var(--xv-ink-soft)" stroke-opacity="0.7" stroke-width="0.9"></path><path d="M 58 101 Q 61 104.2 65 103.5 Q 69 104.2 72 101"></path><path d="M 56 114 Q 60.5 111.8 65 113.3 Q 69.5 111.8 74 114" stroke="var(--xv-ink)" stroke-opacity="1" stroke-width="1.1"></path><path d="M 56 114.3 Q 65 116.6 74 114.3" stroke="var(--xv-ink)" stroke-opacity="1" stroke-width="1.1"></path><path d="M 59.5 117.8 Q 65 120.6 70.5 117.8" stroke="var(--xv-ink-soft)" stroke-opacity="0.7" stroke-width="0.9"></path></g><g><path d="M 35.2 84 L 37 100 M 37 100 L 46.9 122.9 M 46.9 122.9 L 65 133 M 65 133 L 83.1 122.9 M 83.1 122.9 L 93 100 M 93 100 L 94.8 84 M 65 47.5 L 59 73.5 M 65 47.5 L 71 73.5 M 59 73.5 L 65 78 M 71 73.5 L 65 78 M 44 75 L 45.5 82 M 86 75 L 84.5 82 M 45.5 82 L 35.2 84 M 84.5 82 L 94.8 84 M 58.5 82 L 65 78 M 71.5 82 L 65 78 M 58.5 82 L 58 101 M 71.5 82 L 72 101 M 65 78 L 65 103.5 M 58 101 L 65 103.5 M 65 103.5 L 72 101 M 35.2 84 L 58 101 M 94.8 84 L 72 101 M 58 101 L 56 114 M 72 101 L 74 114 M 65 103.5 L 65 113.3 M 56 114 L 46.9 122.9 M 74 114 L 83.1 122.9 M 56 114 L 37 100 M 74 114 L 93 100 M 65 119.3 L 65 133" fill="none" stroke="var(--xv-accent)" stroke-opacity="0.4" stroke-width="0.6" class="fr-mesh" style="animation:xv-fr-mesh 9s ease-out infinite both"></path><ellipse cx="65" cy="90.25" rx="43.25" ry="30.5" fill="none" stroke="var(--xv-cool)" stroke-width="1" pathLength="100" class="fr-draw" transform="rotate(-90 65 90.25)" style="animation:xv-fr-oval 9s ease-in-out infinite both;stroke-dashoffset:0"></ellipse><line x1="65" y1="36" x2="65" y2="143" stroke="var(--xv-cool)" stroke-width="0.9" pathLength="100" class="fr-draw" style="animation:xv-fr-mid 9s ease-in-out infinite both;stroke-dashoffset:0"></line><g style="animation:xv-fr-lm0 9s ease-out infinite both" class="fr-pop"><circle cx="44" cy="75" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="59" cy="73.5" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="71" cy="73.5" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="86" cy="75" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="45.5" cy="82" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="58.5" cy="82" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="71.5" cy="82" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="84.5" cy="82" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle></g><g style="animation:xv-fr-lm1 9s ease-out infinite both" class="fr-pop"><circle cx="65" cy="78" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="65" cy="103.5" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="58" cy="101" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="72" cy="101" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle></g><g style="animation:xv-fr-lm2 9s ease-out infinite both" class="fr-pop"><circle cx="56" cy="114" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="74" cy="114" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="65" cy="113.3" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="65" cy="119.3" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle></g><g style="animation:xv-fr-lm3 9s ease-out infinite both" class="fr-pop"><circle cx="65" cy="47.5" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="35.2" cy="84" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="94.8" cy="84" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="37" cy="100" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="93" cy="100" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="46.9" cy="122.9" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="83.1" cy="122.9" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle><circle cx="65" cy="133" r="1.35" fill="var(--xv-accent)" stroke="var(--xv-surface)" stroke-width="0.5"></circle></g></g><g style="animation:xv-fr-scan 9s linear infinite both;opacity:0"><rect x="7" y="-4" width="116" height="10" fill="url(#xv-fr-scan-grad)"></rect><line x1="7" y1="6" x2="123" y2="6" stroke="var(--xv-accent)" stroke-width="1.2"></line></g><path d="M 6 16 V 6 H 16 M 114 6 H 124 V 16 M 124 158 V 168 H 114 M 16 168 H 6 V 158" fill="none" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round"></path><g><rect x="134" y="8" width="9" height="11" rx="1.5" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.9"></rect><circle cx="138.5" cy="12" r="1.6" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.8"></circle><path d="M 135.6 17.6 Q 138.5 14.2 141.4 17.6" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.8"></path><text x="148" y="13.5" font-size="9" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono">face.jpg</text><rect x="134" y="24" width="128" height="2" rx="1" fill="var(--xv-line)"></rect><rect x="134" y="24" width="128" height="2" rx="1" fill="var(--xv-accent)" class="fr-bar" style="animation:xv-fr-bar 9s linear infinite both"></rect><text x="134" y="37" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono" style="animation:xv-fr-id 9s ease-out infinite both">face_id: a1b2c3d4e5f6</text><text x="134" y="54" font-size="9" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">FEATURES</text><g style="animation:xv-fr-f0 9s ease-out infinite both">
359<rect x="134" y="61" width="77" height="16" rx="8" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="142" y="69" font-size="9.5" dominant-baseline="central"><tspan fill="var(--xv-ink-soft)" font-weight="600">Shape · </tspan><tspan fill="var(--xv-ink)" font-weight="800" class="">Oval</tspan></text></g><g style="animation:xv-fr-f1 9s ease-out infinite both"><rect x="216" y="61" width="84" height="16" rx="8" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="224" y="69" font-size="9.5" dominant-baseline="central"><tspan fill="var(--xv-ink-soft)" font-weight="600">Eyes · </tspan><tspan fill="var(--xv-ink)" font-weight="800" class="">Almond</tspan></text></g><g style="animation:xv-fr-f2 9s ease-out infinite both"><rect x="134" y="81" width="91" height="16" rx="8" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="142" y="89" font-size="9.5" dominant-baseline="central"><tspan fill="var(--xv-ink-soft)" font-weight="600">Symmetry · </tspan><tspan fill="var(--xv-ink)" font-weight="800" class="xv-mono">92%</tspan></text></g><g style="animation:xv-fr-f3 9s ease-out infinite both"><rect x="230" y="81" width="88" height="16" rx="8" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="238" y="89" font-size="9.5" dominant-baseline="central"><tspan fill="var(--xv-ink-soft)" font-weight="600">Nose · </tspan><tspan fill="var(--xv-ink)" font-weight="800" class="">Straight</tspan></text></g><text x="134" y="111" font-size="9" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central" style="animation:xv-fr-rl 9s ease-out infinite both">READINGS</text><g><g style="animation:xv-fr-u0 9s ease-out infinite both;opacity:0"><rect x="134" y="118" width="51.06" height="17" rx="8.5" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2 2"></rect><text x="159.53" y="126.5" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">Career</text></g><g class="fr-pop" style="animation:xv-fr-r0 9s ease-out infinite both"><rect x="134" y="118" width="51.06" height="17" rx="8.5" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="0.8"></rect><text x="159.53" y="126.5" font-size="9.5" font-weight="700" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central">Career</text></g></g><g><g style="animation:xv-fr-u1 9s ease-out infinite both;opacity:0"><rect x="190.06" y="118" width="40.04" height="17" rx="8.5" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2 2"></rect><text x="210.08" y="126.5" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">Love</text></g><g class="fr-pop" style="animation:xv-fr-r1 9s ease-out infinite both"><rect x="190.06" y="118" width="40.04" height="17" rx="8.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="0.8"></rect><text x="210.08" y="126.5" font-size="9.5" font-weight="700" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central">Love</text></g></g><g><g style="animation:xv-fr-u2 9s ease-out infinite both;opacity:0"><rect x="235.1" y="118" width="51.06" height="17" rx="8.5" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2 2"></rect><text x="260.63" y="126.5" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">Wisdom</text></g><g class="fr-pop" style="animation:xv-fr-r2 9s ease-out infinite both"><rect x="235.1" y="118" width="51.06" height="17" rx="8.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="0.8"></rect><text x="260.63" y="126.5" font-size="9.5" font-weight="700" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central">Wisdom</text></g></g><text x="291.16" y="126.5" font-size="9" font-weight="600" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono" style="animation:xv-fr-rl 9s ease-out infinite both">+7</text><g style="animation:xv-fr-ex 9s ease-out infinite both"><rect x="134" y="143" width="2" height="24" rx="1" fill="var(--xv-accent)"></rect><text x="142" y="149" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">/face-reading/career</text><text x="142" y="161" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Leads by steady competence.</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
360              text-base md:text-lg">Face Reading API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
361              line-clamp-2">AI face reading from a photo — face shape, features, symmetry, and life-area readings.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-1 lg:row-span-1   group bento-card-animation" style="animation-delay:550ms">
361<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
362          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
363          transition-all duration-500 p-3 flex
364          flex-col
365          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
366              transition-transform duration-700 group-hover:scale-[1.03]
367              w-full h-[100px] flex-shrink-0"><div aria-hidden="true" data-xv="numerology" class="xv-frame  "><style>[data-xv="numerology"] .nu-pop{transform-box:fill-box;transform-origin:center}
368[data-xv="numerology"] .nu-ring{transition:stroke-width .35s ease}
369.group\/card:hover [data-xv="numerology"] .nu-ring{stroke-width:2.4}
370@keyframes xv-nu-seg0{3%{opacity:1}47%{opacity:1}50%{opacity:0}100%{opacity:0}}
371@keyframes xv-nu-d0-0{0%{opacity:0;transform:translateY(-7px)}3.5%{opacity:0;transform:translateY(-7px)}5.5%{opacity:1;transform:translateY(0px)}45.5%{opacity:1;transform:translateY(0px)}47.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
372@keyframes xv-nu-f0-0{0%{opacity:0}3.5%{opacity:0}4.3%{opacity:1}8%{opacity:0}100%{opacity:0}}
373@keyframes xv-nu-d0-1{0%{opacity:0;transform:translateY(-7px)}4.8%{opacity:0;transform:translateY(-7px)}6.8%{opacity:1;transform:translateY(0px)}45.5%{opacity:1;transform:translateY(0px)}47.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
374@keyframes xv-nu-f0-1{0%{opacity:0}4.8%{opacity:0}
3745.6%{opacity:1}9.3%{opacity:0}100%{opacity:0}}
375@keyframes xv-nu-d0-2{0%{opacity:0;transform:translateY(-7px)}6.1%{opacity:0;transform:translateY(-7px)}8.1%{opacity:1;transform:translateY(0px)}45.5%{opacity:1;transform:translateY(0px)}47.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
376@keyframes xv-nu-f0-2{0%{opacity:0}6.1%{opacity:0}6.9%{opacity:1}10.6%{opacity:0}100%{opacity:0}}
377@keyframes xv-nu-d0-3{0%{opacity:0;transform:translateY(-7px)}7.4%{opacity:0;transform:translateY(-7px)}9.4%{opacity:1;transform:translateY(0px)}45.5%{opacity:1;transform:translateY(0px)}47.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
378@keyframes xv-nu-f0-3{0%{opacity:0}7.4%{opacity:0}8.2%{opacity:1}11.9%{opacity:0}100%{opacity:0}}
379@keyframes xv-nu-d0-4{0%{opacity:0;transform:translateY(-7px)}8.7%{opacity:0;transform:translateY(-7px)}10.7%{opacity:1;transform:translateY(0px)}45.5%{opacity:1;transform:translateY(0px)}47.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
380@keyframes xv-nu-f0-4{0%{opacity:0}8.7%{opacity:0}9.5%{opacity:1}13.2%{opacity:0}100%{opacity:0}}
381@keyframes xv-nu-c0-0{0%{opacity:0;transform:translateX(-3px)}11%{opacity:0;transform:translateX(-3px)}13.5%{opacity:1;transform:translateX(0px)}45%{opacity:1;transform:translateX(0px)}47.5%{opacity:0;transform:translateX(-3px)}100%{opacity:0;transform:translateX(-3px)}}
382@keyframes xv-nu-c0-1{0%{opacity:0;transform:translateX(-3px)}14%{opacity:0;transform:translateX(-3px)}16.5%{opacity:1;transform:translateX(0px)}45%{opacity:1;transform:translateX(0px)}47.5%{opacity:0;transform:translateX(-3px)}100%{opacity:0;transform:translateX(-3px)}}
383@keyframes xv-nu-c0-2{0%{opacity:0;transform:translateX(-3px)}17%{opacity:0;transform:translateX(-3px)}19.5%{opacity:1;transform:translateX(0px)}45%{opacity:1;transform:translateX(0px)}47.5%{opacity:0;transform:translateX(-3px)}100%{opacity:0;transform:translateX(-3px)}}
384@keyframes xv-nu-r0{0%{opacity:0;transform:scale(0.4)}18.5%{opacity:0;transform:scale(0.4)}21.5%{opacity:1;transform:scale(1)}44.5%{opacity:1;transform:scale(1)}47.5%{opacity:0;transform:scale(0.4)}100%{opacity:0;transform:scale(0.4)}}
385@keyframes xv-nu-l0{0%{opacity:0;transform:translateX(6px)}19.5%{opacity:0;transform:translateX(6px)}22.5%{opacity:1;transform:translateX(0px)}44.5%{opacity:1;transform:translateX(0px)}47.5%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
386@keyframes xv-nu-seg1{0%{opacity:0}50%{opacity:0}53%{opacity:1}97%{opacity:1}100%{opacity:0}}
387@keyframes xv-nu-d1-0{0%{opacity:0;transform:translateY(-7px)}53.5%{opacity:0;transform:translateY(-7px)}55.5%{opacity:1;transform:translateY(0px)}95.5%{opacity:1;transform:translateY(0px)}97.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
388@keyframes xv-nu-f1-0{0%{opacity:0}53.5%{opacity:0}54.3%{opacity:1}58%{opacity:0}100%{opacity:0}}
389@keyframes xv-nu-d1-1{0%{opacity:0;transform:translateY(-7px)}54.8%{opacity:0;transform:translateY(-7px)}56.8%{opacity:1;transform:translateY(0px)}95.5%{opacity:1;transform:translateY(0px)}97.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
390@keyframes xv-nu-f1-1{0%{opacity:0}54.8%{opacity:0}
39055.6%{opacity:1}59.3%{opacity:0}100%{opacity:0}}
391@keyframes xv-nu-d1-2{0%{opacity:0;transform:translateY(-7px)}56.1%{opacity:0;transform:translateY(-7px)}58.1%{opacity:1;transform:translateY(0px)}95.5%{opacity:1;transform:translateY(0px)}97.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
392@keyframes xv-nu-f1-2{0%{opacity:0}56.1%{opacity:0}56.9%{opacity:1}60.6%{opacity:0}100%{opacity:0}}
393@keyframes xv-nu-d1-3{0%{opacity:0;transform:translateY(-7px)}57.4%{opacity:0;transform:translateY(-7px)}59.4%{opacity:1;transform:translateY(0px)}95.5%{opacity:1;transform:translateY(0px)}97.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
394@keyframes xv-nu-f1-3{0%{opacity:0}57.4%{opacity:0}58.2%{opacity:1}61.9%{opacity:0}100%{opacity:0}}
395@keyframes xv-nu-d1-4{0%{opacity:0;transform:translateY(-7px)}58.7%{opacity:0;transform:translateY(-7px)}60.7%{opacity:1;transform:translateY(0px)}95.5%{opacity:1;transform:translateY(0px)}97.5%{opacity:0;transform:translateY(-7px)}100%{opacity:0;transform:translateY(-7px)}}
396@keyframes xv-nu-f1-4{0%{opacity:0}58.7%{opacity:0}59.5%{opacity:1}63.2%{opacity:0}100%{opacity:0}}
397@keyframes xv-nu-c1-0{0%{opacity:0;transform:translateX(-3px)}61%{opacity:0;transform:translateX(-3px)}63.5%{opacity:1;transform:translateX(0px)}95%{opacity:1;transform:translateX(0px)}97.5%{opacity:0;transform:translateX(-3px)}100%{opacity:0;transform:translateX(-3px)}}
398@keyframes xv-nu-c1-1{0%{opacity:0;transform:translateX(-3px)}64%{opacity:0;transform:translateX(-3px)}66.5%{opacity:1;transform:translateX(0px)}95%{opacity:1;transform:translateX(0px)}97.5%{opacity:0;transform:translateX(-3px)}100%{opacity:0;transform:translateX(-3px)}}
399@keyframes xv-nu-r1{0%{opacity:0;transform:scale(0.4)}68.5%{opacity:0;transform:scale(0.4)}71.5%{opacity:1;transform:scale(1)}94.5%{opacity:1;transform:scale(1)}97.5%{opacity:0;transform:scale(0.4)}100%{opacity:0;transform:scale(0.4)}}
400@keyframes xv-nu-l1{0%{opacity:0;transform:translateX(6px)}69.5%{opacity:0;transform:translateX(6px)}72.5%{opacity:1;transform:translateX(0px)}94.5%{opacity:1;transform:translateX(0px)}97.5%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}</style><svg viewBox="0 0 276 100" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><rect x="8" y="7" width="136" height="17" rx="8.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><g><text x="46" y="15.5" font-size="9.5" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">Pythagorean</text><g style="animation:xv-nu-seg0 10s ease-in-out infinite both"><rect x="10" y="9" width="72" height="13" rx="6.5" fill="var(--xv-accent)"></rect><text x="46" y="15.5" font-size="9.5" font-weight="700" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central">Pythagorean</text></g></g><g><text x="114" y="15.5" font-size="9.5" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">Chaldean</text><g style="animation:xv-nu-seg1 10s ease-in-out infinite both;opacity:0"><rect x="86" y="9" width="56" height="13" rx="6.5" fill="var(--xv-accent)"></rect><text x="114" y="15.5" font-size="9.5" font-weight="700" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central">Chaldean</text></g></g></g><g><g><rect x="8" y="31" width="21" height="21" rx="4" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><rect x="8" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f0-0 10s ease-out infinite both;opacity:0"></rect><rect x="8" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f1-0 10s ease-out infinite both;opacity:0"></rect><text x="18.5" y="42" font-size="12.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">A</text><line x1="18.5" y1="54" x2="18.5" y2="57" stroke="var(--xv-line-strong)" stroke-width="1" stroke-linecap="round"></line></g><g><rect x="34" y="31" width="21" height="21" rx="4" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><rect x="34" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f0-1 10s ease-out infinite both;opacity:0"></rect><rect x="34" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f1-1 10s ease-out infinite both;opacity:0"></rect><text x="44.5" y="42" font-size="12.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">R</text><line x1="44.5" y1="54" x2="44.5" y2="57" stroke="var(--xv-line-strong)" stroke-width="1" stroke-linecap="round"></line></g><g><rect x="60" y="31" width="21" height="21" rx="4" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><rect x="60" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f0-2 10s ease-out infinite both;opacity:0"></rect><rect x="60" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f1-2 10s ease-out infinite both;opacity:0"></rect><text x="70.5" y="42" font-size="12.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">J</text><line x1="70.5" y1="54" x2="70.5" y2="57" stroke="var(--xv-line-strong)" stroke-width="1" stroke-linecap="round"></line></g><g><rect x="86" y="31" width="21" height="21" rx="4" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><rect x="86" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f0-3 10s ease-out infinite both;opacity:0"></rect><rect x="86" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f1-3 10s ease-out infinite both;opacity:0"></rect><text x="96.5" y="42" font-size="12.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">U</text><line x1="96.5" y1="54" x2="96.5" y2="57" stroke="var(--xv-line-strong)" stroke-width="1" stroke-linecap="round"></line></g><g><rect x="112" y="31" width="21" height="21" rx="4" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><rect x="112" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f0-4 10s ease-out infinite both;opacity:0"></rect><rect x="112" y="31" width="21" height="21" rx="4" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.2" style="animation:xv-nu-f1-4 10s ease-out infinite both;opacity:0"></rect><text x="122.5" y="42" font-size="12.5" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">N</text><line x1="122.5" y1="54" x2="122.5" y2="57" stroke="var(--xv-line-strong)" stroke-width="1" stroke-linecap="round"></line></g></g><text x="8" y="88" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" dominant-baseline="central">sum</text><path d="M 118 88 C 132 88 140 78 149 76" fill="none" stroke="var(--xv-line-strong)" stroke-width="1" stroke-dasharray="2 2.5"></path><circle cx="173" cy="70" r="21" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1.5" class="nu-ring"></circle><g><g><text x="18.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d0-0 10s ease-out infinite both">1</text><text x="44.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d0-1 10s ease-out infinite both">9</text><text x="70.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d0-2 10s ease-out infinite both">1</text><text x="96.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d0-3 10s ease-out infinite both">3</text><text x="122.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d0-4 10s ease-out infinite both">5</text></g><g><text x="32" y="88" font-size="11.5" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-c0-0 10s ease-out infinite both">19</text><text x="52" y="88" font-size="11.5" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-c0-1 10s ease-out infinite both"><tspan fill="var(--xv-ink-soft)" font-weight="600">→ </tspan>10</text><text x="86" y="88" font-size="11.5" font-weight="800" fill="var(--xv-accent)" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-c0-2 10s ease-out infinite both"><tspan fill="var(--xv-ink-soft)" font-weight="600">→ </tspan>1</text></g><g><text x="173" y="71" font-size="23" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono nu-pop" style="animation:xv-nu-r0 10s ease-out infinite both">1</text><g style="animation:xv-nu-l0 10s ease-out infinite both"><text x="202" y="64" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Expression</text><text x="202" y="77" font-size="9.5" fill="var(--xv-ink-soft)" dominant-baseline="central">number</text></g></g></g><g><g><text x="18.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d1-0 10s ease-out infinite both;opacity:0">1</text><text x="44.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d1-1 10s ease-out infinite both;opacity:0">2</text><text x="70.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d1-2 10s ease-out infinite both;opacity:0">1</text><text x="96.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d1-3 10s ease-out infinite both;opacity:0">6</text><text x="122.5" y="65" font-size="13" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-d1-4 10s ease-out infinite both;opacity:0">5</text></g><g><text x="32" y="88" font-size="11.5" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-c1-0 10s ease-out infinite both;opacity:0">15</text><text x="52" y="88" font-size="11.5" font-weight="800" fill="var(--xv-accent)" dominant-baseline="central" class="xv-mono" style="animation:xv-nu-c1-1 10s ease-out infinite both;opacity:0"><tspan fill="var(--xv-ink-soft)" font-weight="600">→ </tspan>6</text></g><g><text x="173" y="71" font-size="23" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono nu-pop" style="animation:xv-nu-r1 10s ease-out infinite both;opacity:0">6</text><g style="animation:xv-nu-l1 10s ease-out infinite both;opacity:0"><text x="202" y="64" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Name number</text><text x="202" y="77" font-size="9.5" fill="var(--xv-ink-soft)" dominant-baseline="central">compound 15</text></g></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end px-2 pt-2 pb-0"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
401              text-sm md:text-base">Numerology API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
402              line-clamp-2">Pythagorean, Chaldean, Vedic, and Kabbalah — life path to Lo Shu grid.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-1 lg:row-span-1   group bento-card-animation" style="animation-delay:605ms">
402<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
403          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
404          transition-all duration-500 p-3 flex
405          flex-col
406          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
407              transition-transform duration-700 group-hover:scale-[1.03]
408              w-full h-[100px] flex-shrink-0"><div aria-hidden="true" data-xv="tarot" class="xv-frame  "><style>[data-xv="tarot"] .ta-card,[data-xv="tarot"] .ta-side{transform-box:fill-box;transform-origin:center}
409[data-xv="tarot"] .ta-inner{transition:stroke-width .35s ease,stroke-opacity .35s ease}
410.group\/card:hover [data-xv="tarot"] .ta-inner{stroke-width:1.2;stroke-opacity:1}
411@keyframes xv-ta-deal0{0%{opacity:0;transform:translate(152.5px,-24px) scale(0.53) rotate(6deg)}2.5%{opacity:0;transform:translate(152.5px,-24px) scale(0.53) rotate(6deg)}4%{opacity:1;transform:translate(152.5px,-24px) scale(0.53) rotate(6deg)}9.375%{opacity:1;transform:translate(0px,0px) scale(1) rotate(0deg)}88.75%{opacity:1;transform:translate(0px,0px) scale(1) rotate(0deg)}94.375%{opacity:0;transform:translate(152.5px,-24px) scale(0.53) rotate(6deg)}100%{opacity:0;transform:translate(152.5px,-24px) scale(0.53) rotate(6deg)}}
412@keyframes xv-ta-back0{0%{opacity:1;transform:scaleX(1)}16.25%{opacity:1;transform:scaleX(1)}18.25%{opacity:1;transform:scaleX(0)}18.375%{opacity:0;transform:scaleX(0)}100%{opacity:0;transform:scaleX(0)}}
413@keyframes xv-ta-face0{0%{transform:scaleX(0)}18.25%{transform:scaleX(0)}20.25%{transform:scaleX(1)}100%{transform:scaleX(1)}}
414@keyframes xv-ta-row0{0%{opacity:0;transform:translateX(6px)}19.375%{opacity:0;transform:translateX(6px)}23.125%{opacity:1;transform:translateX(0px)}88.75%{opacity:1;transform:translateX(0px)}94.375%{opacity:0;transform:translateX(0px)}100%{opacity:0;transform:translateX(0px)}}
415@keyframes xv-ta-deal1{0%{opacity:0;transform:translate(105.5px,-24px) scale(0.53) rotate(6deg)}4.75%{opacity:0;transform:translate(105.5px,-24px) scale(0.53) rotate(6deg)}6.25%{opacity:1;transform:translate(105.5px,-24px) scale(0.53) rotate(6deg)}11.625%{opacity:1;transform:translate(0px,0px) scale(1) rotate(0deg)}88.75%{opacity:1;transform:translate(0px,0px) scale(1) rotate(0deg)}94.375%{opacity:0;transform:translate(105.5px,-24px) scale(0.53) rotate(6deg)}100%{opacity:0;transform:translate(105.5px,-24px) scale(0.53) rotate(6deg)}}
416@keyframes xv-ta-back1{0%{opacity:1;transform:scaleX(1)}25%{opacity:1;transform:scaleX(1)}27%{opacity:1;transform:scaleX(0)}27.125%{opacity:0;transform:scaleX(0)}100%{opacity:0;transform:scaleX(0)}}
417@keyframes xv-ta-face1{0%{transform:scaleX(0)}27%{transform:scaleX(0)}29%{transform:scaleX(1)}100%{transform:scaleX(1)}}
418@keyframes xv-ta-row1{0%{opacity:0;transform:translateX(6px)}28.125%{opacity:0;transform:translateX(6px)}31.875%{opacity:1;transform:translateX(0px)}88.75%{opacity:1;transform:translateX(0px)}94.375%{opacity:0;transform:translateX(0px)}100%{opacity:0;transform:translateX(0px)}}
419@keyframes xv-ta-deal2{0%{opacity:0;transform:translate(58.5px,-24px) scale(0.53) rotate(6deg)}7%{opacity:0;transform:translate(58.5px,-24px) scale(0.53) rotate(6deg)}8.5%{opacity:1;transform:translate(58.5px,-24px) scale(0.53) rotate(6deg)}13.875%{opacity:1;transform:translate(0px,0px) scale(1) rotate(0deg)}88.75%{opacity:1;transform:translate(0px,0px) scale(1) rotate(0deg)}94.375%{opacity:0;transform:translate(58.5px,-24px) scale(0.53) rotate(6deg)}100%{opacity:0;transform:translate(58.5px,-24px) scale(0.53) rotate(6deg)}}
420@keyframes xv-ta-back2{0%{opacity:1;transform:scaleX(1)}33.75%{opacity:1;transform:scaleX(1)}35.75%{opacity:1;transform:scaleX(0)}35.875%{opacity:0;transform:scaleX(0)}100%{opacity:0;transform:scaleX(0)}}
421@keyframes xv-ta-face2{0%{transform:scaleX(0)}35.75%{transform:scaleX(0)}37.75%{transform:scaleX(1)}100%{transform:scaleX(1)}}
422@keyframes xv-ta-row2{0%{opacity:0;transform:translateX(6px)}36.875%{opacity:0;transform:translateX(6px)}40.625%{opacity:1;transform:translateX(0px)}88.75%{opacity:1;transform:translateX(0px)}94.375%{opacity:0;transform:translateX(0px)}100%{opacity:0;transform:translateX(0px)}}</style><svg viewBox="0 0 276 100" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><rect x="8" y="16" width="40" height="68" rx="3.5" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2.5 2.5"></rect><rect x="55" y="16" width="40" height="68" rx="3.5" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2.5 2.5"></rect><rect x="102" y="16" width="40" height="68" rx="3.5" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2.5 2.5"></rect><g><g transform="translate(173.2 11.2)"><g><rect x="0" y="0" width="21" height="36" rx="3.5" fill="var(--xv-surface)"></rect><rect x="0" y="0" width="21" height="36" rx="3.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><rect x="3" y="3" width="15" height="30" rx="2" fill="none" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.6"></rect><circle cx="10.5" cy="18" r="4.2" fill="none" stroke="var(--xv-accent)" stroke-width="0.9"></circle><path d="M 10.5 10.44 V 25.56 M 2.94 18 H 18.06" stroke="var(--xv-accent)" stroke-opacity="0.7" stroke-width="0.8"></path></g></g><g transform="translate(171.6 9.6)"><g><rect x="0" y="0" width="21" height="36" rx="3.5" fill="var(--xv-surface)"></rect><rect x="0" y="0" width="21" height="36" rx="3.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><rect x="3" y="3" width="15" height="30" rx="2" fill="none" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.6"></rect><circle cx="10.5" cy="18" r="4.2" fill="none" stroke="var(--xv-accent)" stroke-width="0.9"></circle><path d="M 10.5 10.44 V 25.56 M 2.94 18 H 18.06" stroke="var(--xv-accent)" stroke-opacity="0.7" stroke-width="0.8"></path></g></g><g transform="translate(170 8)"><g><rect x="0" y="0" width="21" height="36" rx="3.5" fill="var(--xv-surface)"></rect><rect x="0" y="0" width="21" height="36" rx="3.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><rect x="3" y="3" width="15" height="30" rx="2" fill="none" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.6"></rect><circle cx="10.5" cy="18" r="4.2" fill="none" stroke="var(--xv-accent)" stroke-width="0.9"></circle><path d="M 10.5 10.44 V 25.56 M 2.94 18 H 18.06" stroke="var(--xv-accent)" stroke-opacity="0.7" stroke-width="0.8"></path></g></g></g><g transform="translate(8 16)"><g class="ta-card" style="animation:xv-ta-deal0 8s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><g class="ta-side" style="animation:xv-ta-face0 8s ease-out infinite both"><g><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-surface)" stroke="var(--xv-ink)" stroke-opacity="0.55" stroke-width="0.9"></rect><rect x="3" y="3" width="34" height="62" rx="2" fill="none" stroke="var(--xv-gold)" stroke-opacity="0.7" stroke-width="0.6" class="ta-inner"></rect><g transform="rotate(180 20 34)"><g fill="none" stroke-linecap="round" stroke-linejoin="round"><text x="20" y="10.5" font-size="9.3" font-weight="700" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central">
422XVII</text><path d="M 20 21 L 18.55 27.49 L 12.93 23.93 L 16.49 29.55 L 10 31 L 16.49 32.45 L 12.93 38.07 L 18.55 34.51 L 20 41 L 21.45 34.51 L 27.07 38.07 L 23.51 32.45 L 30 31 L 23.51 29.55 L 27.07 23.93 L 21.45 27.49 Z" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1"></path><path d="M 9 18.8 V 23.2 M 6.8 21 H 11.2 M 31.5 19.8 V 24.2 M 29.3 22 H 33.7 M 8.5 38.2 V 41.8 M 6.7 40 H 10.3 M 31 39.2 V 42.8 M 29.2 41 H 32.8" stroke="var(--xv-gold)" stroke-width="0.8"></path><path d="M 6 52 q 3.5 -2.4 7 0 t 7 0 t 7 0 t 7 0 t 7 0 M 6 57 q 3.5 -2.4 7 0 t 7 0 t 7 0 t 7 0 t 7 0" stroke="var(--xv-cool)" stroke-width="0.9"></path></g></g></g></g><g class="ta-side" style="animation:xv-ta-back0 8s ease-in infinite both;opacity:0"><g><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-surface)"></rect><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><rect x="3" y="3" width="34" height="62" rx="2" fill="none" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.6"></rect><circle cx="20" cy="34" r="8" fill="none" stroke="var(--xv-accent)" stroke-width="0.9"></circle><path d="M 20 19.6 V 48.4 M 5.6 34 H 34.4" stroke="var(--xv-accent)" stroke-opacity="0.7" stroke-width="0.8"></path></g></g></g></g><g transform="translate(55 16)"><g class="ta-card" style="animation:xv-ta-deal1 8s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><g class="ta-side" style="animation:xv-ta-face1 8s ease-out infinite both"><g><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-surface)" stroke="var(--xv-ink)" stroke-opacity="0.55" stroke-width="0.9"></rect><rect x="3" y="3" width="34" height="62" rx="2" fill="none" stroke="var(--xv-gold)" stroke-opacity="0.7" stroke-width="0.6" class="ta-inner"></rect><g><g fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M 15.8 18 H 24.2 Q 24.2 24.2 20 24.2 Q 15.8 24.2 15.8 18 Z M 20 24.2 V 28.5 M 17 28.5 H 23 M 7.3 31 H 15.7 Q 15.7 37.2 11.5 37.2 Q 7.3 37.2 7.3 31 Z M 11.5 37.2 V 41.5 M 8.5 41.5 H 14.5 M 24.3 31 H 32.7 Q 32.7 37.2 28.5 37.2 Q 24.3 37.2 24.3 31 Z M 28.5 37.2 V 41.5 M 25.5 41.5 H 31.5" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1"></path><path d="M 8 47 Q 14 51 20 47.5 Q 26 51 32 47" stroke="var(--xv-good)" stroke-width="0.8"></path><path d="M 6 58 H 34" stroke="var(--xv-ink-soft)" stroke-width="0.8"></path><circle cx="12" cy="55.5" r="1.4" fill="var(--xv-rose)" stroke="none"></circle><circle cx="20" cy="55.5" r="1.4" fill="var(--xv-good)" stroke="none"></circle><circle cx="28" cy="55.5" r="1.4" fill="var(--xv-rose)" stroke="none"></circle></g></g></g></g><g class="ta-side" style="animation:xv-ta-back1 8s ease-in infinite both;opacity:0"><g><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-surface)"></rect><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><rect x="3" y="3" width="34" height="62" rx="2" fill="none" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.6"></rect><circle cx="20" cy="34" r="8" fill="none" stroke="var(--xv-accent)" stroke-width="0.9"></circle><path d="M 20 19.6 V 48.4 M 5.6 34 H 34.4" stroke="var(--xv-accent)" stroke-opacity="0.7" stroke-width="0.8"></path></g></g></g></g><g transform="translate(102 16)"><g class="ta-card" style="animation:xv-ta-deal2 8s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><g class="ta-side" style="animation:xv-ta-face2 8s ease-out infinite both"><g><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-surface)" stroke="var(--xv-ink)" stroke-opacity="0.55" stroke-width="0.9"></rect><rect x="3" y="3" width="34" height="62" rx="2" fill="none" stroke="var(--xv-gold)" stroke-opacity="0.7" stroke-width="0.6" class="ta-inner"></rect><g><g fill="none" stroke-linecap="round" stroke-linejoin="round"><text x="20" y="10.5" font-size="9.3" font-weight="700" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central">VII</text><path d="M 8 22 Q 20 15 32 22" stroke="var(--xv-gold)" stroke-width="1"></path><circle cx="14" cy="19.2" r="0.8" fill="var(--xv-gold)" stroke="none"></circle><circle cx="20" cy="18" r="0.8" fill="var(--xv-gold)" stroke="none"></circle><circle cx="26" cy="19.2" r="0.8" fill="var(--xv-gold)" stroke="none"></circle><path d="M 10 22 V 40 M 30 22 V 40" stroke="var(--xv-ink-soft)" stroke-width="0.8"></path><circle cx="20" cy="27" r="2.8" stroke="var(--xv-ink)" stroke-width="0.9"></circle><path d="M 16.5 33 H 23.5 L 24.5 40 H 15.5 Z" stroke="var(--xv-ink)" stroke-width="0.9"></path><rect x="8" y="40" width="24" height="8" rx="1" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1"></rect><path d="M 7 58 V 54 Q 7 51.5 10 51.5 H 16 V 58 Z" fill="var(--xv-ink)" stroke="var(--xv-ink)" stroke-width="0.8"></path><path d="M 33 58 V 54 Q 33 51.5 30 51.5 H 24 V 58 Z" fill="var(--xv-surface)" stroke="var(--xv-ink)" stroke-width="0.8"></path></g></g></g></g><g class="ta-side" style="animation:xv-ta-back2 8s ease-in infinite both;opacity:0"><g><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-surface)"></rect><rect x="0" y="0" width="40" height="68" rx="3.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><rect x="3" y="3" width="34" height="62" rx="2" fill="none" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.6"></rect><circle cx="20" cy="34" r="8" fill="none" stroke="var(--xv-accent)" stroke-width="0.9"></circle><path d="M 20 19.6 V 48.4 M 5.6 34 H 34.4" stroke="var(--xv-accent)" stroke-opacity="0.7" stroke-width="0.8"></path></g></g></g></g><g><g style="animation:xv-ta-row0 8s ease-out infinite both"><text x="152" y="57" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" dominant-baseline="central">Past</text><text x="196" y="57" font-size="10.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">The Star</text><g><rect x="241" y="50" width="28" height="14" rx="7" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="255" y="57" font-size="9.3" font-weight="700" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central">Rev.</text></g></g><g style="animation:xv-ta-row1 8s ease-out infinite both"><text x="152" y="73" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" dominant-baseline="central">Present</text><text x="196" y="73" font-size="10.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Three of Cups</text></g><g style="animation:xv-ta-row2 8s ease-out infinite both"><text x="152" y="89" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" dominant-baseline="central">Future</text><text x="196" y="89" font-size="10.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">The Chariot</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end px-2 pt-2 pb-0"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
423              text-sm md:text-base">Tarot API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
424              line-clamp-2">Full 78-card engine — Celtic Cross, 3-card, and Yes/No spreads.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:660ms">
424<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
425          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
426          transition-all duration-500 p-3 flex
427          flex-col md:flex-row
428          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
429              transition-transform duration-700 group-hover:scale-[1.03]
430              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="kp-lalkitab" class="xv-frame  "><style>[data-xv="kp-lalkitab"] .kp-pop{transform-box:fill-box;transform-origin:center}
431[data-xv="kp-lalkitab"] .kp-grid{stroke-dasharray:100 100}
432[data-xv="kp-lalkitab"] .kp-seg{transition:stroke .35s ease}
433.group\/card:hover [data-xv="kp-lalkitab"] .kp-seg{stroke:var(--xv-line-strong)}
434@keyframes xv-kp-pointer{0%{opacity:0;transform:translateX(-44px)}2.222%{opacity:0;transform:translateX(-44px)}8.889%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-44px)}100%{opacity:0;transform:translateX(-44px)}}
435@keyframes xv-kp-lv0{0%{opacity:0}11.111%{opacity:0}14.444%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
436@keyframes xv-kp-lt0{0%{opacity:0;transform:translateX(-4px)}11.111%{opacity:0;transform:translateX(-4px)}14.444%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-4px)}100%{opacity:0;transform:translateX(-4px)}}
437@keyframes xv-kp-c0{0%{opacity:0;transform:scale(0.6)}12.222%{opacity:0;transform:scale(0.6)}14.667%{opacity:1;transform:scale(1.12)}16.667%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
438@keyframes xv-kp-lv1{0%{opacity:0}17.778%{opacity:0}21.111%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
439@keyframes xv-kp-lt1{0%{opacity:0;transform:translateX(-4px)}17.778%{opacity:0;transform:translateX(-4px)}21.111%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-4px)}100%{opacity:0;transform:translateX(-4px)}}
440@keyframes xv-kp-c1{0%{opacity:0;transform:scale(0.6)}18.889%{opacity:0;transform:scale(0.6)}21.333%{opacity:1;transform:scale(1.12)}23.333%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
441@keyframes xv-kp-lv2{0%{opacity:0}24.444%{opacity:0}27.778%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
442@keyframes xv-kp-lt2{0%{opacity:0;transform:translateX(-4px)}24.444%{opacity:0;transform:translateX(-4px)}27.778%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-4px)}100%{opacity:0;transform:translateX(-4px)}}
443@keyframes xv-kp-c2{0%{opacity:0;transform:scale(0.6)}25.556%{opacity:0;transform:scale(0.6)}28%{opacity:1;transform:scale(1.12)}30%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
444@keyframes xv-kp-lv3{0%{opacity:0}31.111%{opacity:0}34.444%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
445@keyframes xv-kp-lt3{0%{opacity:0;transform:translateX(-4px)}31.111%{opacity:0;transform:translateX(-4px)}34.444%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-4px)}100%{opacity:0;transform:translateX(-4px)}}
446@keyframes xv-kp-c3{0%{opacity:0;transform:scale(0.6)}32.222%{opacity:0;transform:scale(0.6)}34.667%{opacity:1;transform:scale(1.12)}36.667%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
447@keyframes xv-kp-grid{0%{stroke-dashoffset:100;opacity:1}40%{stroke-dashoffset:100;opacity:1}47.778%{stroke-dashoffset:0;opacity:1}90%{stroke-dashoffset:0;opacity:1}94.444%{stroke-dashoffset:0;opacity:0}
447100%{stroke-dashoffset:0;opacity:0}}
448@keyframes xv-kp-box{0%{opacity:0}38.889%{opacity:0}42.222%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
449@keyframes xv-kp-h1{0%{opacity:0}46.667%{opacity:0}50.556%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
450@keyframes xv-kp-dots{0%{opacity:0}45.556%{opacity:0}48.889%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
451@keyframes xv-kp-sun{0%{opacity:0;transform:scale(0.6)}48.889%{opacity:0;transform:scale(0.6)}51.333%{opacity:1;transform:scale(1.12)}53.333%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
452@keyframes xv-kp-csl{0%{opacity:0;transform:translateX(-6px)}36.667%{opacity:0;transform:translateX(-6px)}40.556%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-6px)}100%{opacity:0;transform:translateX(-6px)}}
453@keyframes xv-kp-lk{0%{opacity:0;transform:translateX(-6px)}51.111%{opacity:0;transform:translateX(-6px)}55%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-6px)}100%{opacity:0;transform:translateX(-6px)}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><text x="8" y="10" font-size="9.2" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">KP <!-- -->·<!-- --> CUSP 7</text><text x="72" y="10" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central"><tspan class="xv-glyph" font-size="12">♋︎</tspan> <tspan class="xv-mono">8°48′03″</tspan></text><g><rect x="8" y="25" width="150" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="8" y="25" width="150" height="8" rx="1.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="0.8" style="animation:xv-kp-lv0 9s ease-out infinite both"></rect><rect x="8" y="37" width="16.67" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="24.67" y="37" width="66.66" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="91.33" y="37" width="66.67" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="24.67" y="37" width="66.66" height="8" rx="1.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="0.8" style="animation:xv-kp-lv1 9s ease-out infinite both"></rect><rect x="24.67" y="49" width="10.55" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="35.22" y="49" width="9.45" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="44.67" y="49" width="3.89" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="48.56" y="49" width="11.11" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="59.67" y="49" width="3.33" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="63" y="49" width="5.56" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="68.56" y="49" width="3.88" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="72.44" y="49" width="10" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="82.44" y="49" width="8.89" height="8" rx="1.5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="0.8" class="kp-seg"></rect><rect x="48.56" y="49" width="11.11" height="8" rx="1.5" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="0.8" style="animation:xv-kp-lv2 9s ease-out infinite both"></rect><text x="165" y="29" font-size="9.5" font-weight="700" fill="var(--xv-accent)" dominant-baseline="central" style="animation:xv-kp-lt0 9s ease-out infinite both">Cancer</text><text x="165" y="41" font-size="9.5" font-weight="700" fill="var(--xv-accent)" dominant-baseline="central" style="animation:xv-kp-lt1 9s ease-out infinite both">Pushya</text><text x="165" y="53" font-size="9.5" font-weight="700" fill="var(--xv-accent)" dominant-baseline="central" style="animation:xv-kp-lt2 9s ease-out infinite both">Venus sub</text><g style="animation:xv-kp-pointer 9s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><path d="M 48.5 19 L 55.5 19 L 52 24 Z" fill="var(--xv-accent)"></path><line x1="52" y1="24" x2="52" y2="59" stroke="var(--xv-accent)" stroke-width="1.4" stroke-linecap="round"></line></g></g><g><text x="8" y="67" font-size="9" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">LORD CHAIN</text><g><rect x="8" y="78" width="44" height="24" rx="12" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2 2"></rect><g class="kp-pop" style="animation:xv-kp-c0 9s ease-out infinite both"><rect x="8" y="78" width="44" height="24" rx="12" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="0.8"></rect><text x="30" y="90" font-size="11" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central"><tspan class="xv-glyph" font-size="13">☽︎</tspan> <!-- -->Mo</text></g><text x="30" y="111" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">sign</text></g><g><rect x="62" y="78" width="44" height="24" rx="12" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2 2"></rect><g class="kp-pop" style="animation:xv-kp-c1 9s ease-out infinite both"><rect x="62" y="78" width="44" height="24" rx="12" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="0.8"></rect><text x="84" y="90" font-size="11" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central"><tspan class="xv-glyph" font-size="13">♄︎</tspan> <!-- -->Sa</text></g><text x="84" y="111" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">
453star</text><text x="57" y="90" font-size="11" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">›</text></g><g><rect x="116" y="78" width="44" height="24" rx="12" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2 2"></rect><g class="kp-pop" style="animation:xv-kp-c2 9s ease-out infinite both"><rect x="116" y="78" width="44" height="24" rx="12" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="0.8"></rect><text x="138" y="90" font-size="11" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central"><tspan class="xv-glyph" font-size="13">♀︎</tspan> <!-- -->Ve</text></g><text x="138" y="111" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">sub</text><text x="111" y="90" font-size="11" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">›</text></g><g><rect x="170" y="78" width="44" height="24" rx="12" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.8" stroke-dasharray="2 2"></rect><g class="kp-pop" style="animation:xv-kp-c3 9s ease-out infinite both"><rect x="170" y="78" width="44" height="24" rx="12" fill="var(--xv-accent)" stroke="var(--xv-accent)" stroke-width="0.8"></rect><text x="192" y="90" font-size="11" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central"><tspan class="xv-glyph" font-size="13">♂︎</tspan> <!-- -->Ma</text></g><text x="192" y="111" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">sub-sub</text><text x="165" y="90" font-size="11" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">›</text></g></g><g style="animation:xv-kp-csl 9s ease-out infinite both"><rect x="8" y="126" width="2" height="30" rx="1" fill="var(--xv-accent)"></rect><text x="17" y="134" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central">Cuspal sub lord, cusp 7</text><text x="17" y="148" font-size="11" font-weight="800" fill="var(--xv-accent)" dominant-baseline="central"><tspan class="xv-glyph" font-size="13">♀︎</tspan> Venus</text></g><g><g style="animation:xv-kp-box 9s ease-out infinite both"><rect x="222" y="56" width="102" height="114" rx="8" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></rect><text x="231" y="67" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">LAL KITAB</text><rect x="235" y="76" width="76" height="76" rx="2" fill="none" stroke="var(--xv-line-strong)" stroke-width="1"></rect></g><path d="M 273 76 L 292 95 L 273 114 L 254 95 Z" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" style="animation:xv-kp-h1 9s ease-out infinite both"></path><path d="M 235 76 L 311 152 M 311 76 L 235 152 M 273 76 L 311 114 L 273 152 L 235 114 Z" fill="none" stroke="var(--xv-line-strong)" stroke-width="0.9" pathLength="100" class="kp-grid" style="animation:xv-kp-grid 9s ease-in-out infinite both;stroke-dashoffset:0"></path><g style="animation:xv-kp-dots 9s ease-out infinite both"><circle cx="273" cy="137.56" r="1.8" fill="var(--xv-ink-soft)"></circle><circle cx="287.44" cy="82.33" r="1.8" fill="var(--xv-ink-soft)"></circle><circle cx="292" cy="82.33" r="1.8" fill="var(--xv-ink-soft)"></circle><circle cx="296.56" cy="82.33" r="1.8" fill="var(--xv-ink-soft)"></circle><circle cx="304.67" cy="95" r="1.8" fill="var(--xv-ink-soft)"></circle><circle cx="292" cy="145.67" r="1.8" fill="var(--xv-ink-soft)"></circle><circle cx="254" cy="145.67" r="1.8" fill="var(--xv-ink-soft)"></circle></g><g class="kp-pop" style="animation:xv-kp-sun 9s ease-out infinite both"><text x="266.16" y="95" font-size="14" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">☉︎</text><text x="280.6" y="95" font-size="12" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♄︎</text></g><g style="animation:xv-kp-lk 9s ease-out infinite both"><text x="273" y="161" font-size="9.5" font-weight="700" fill="var(--xv-gold)" text-anchor="middle" dominant-baseline="central"><tspan class="xv-glyph" font-size="11">☉︎</tspan> H1 <!-- -->·<!-- --> Pakka Ghar</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
454              text-base md:text-lg">KP &amp; Lalkitab API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
455              line-clamp-2">KP sub-lords and cusps, Lalkitab charts, multiple ayanamshas.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:715ms">
455<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
456          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
457          transition-all duration-500 p-3 flex
458          flex-col md:flex-row
459          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
460              transition-transform duration-700 group-hover:scale-[1.03]
461              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="vastu" class="xv-frame  "><style>[data-xv="vastu"] .va-wall{stroke-dasharray:100 100}
462[data-xv="vastu"] .va-pop{transform-box:fill-box;transform-origin:center}
463[data-xv="vastu"] .va-grid{transform-origin:84px 86px}
464[data-xv="vastu"] .va-needle{transform-origin:84px 86px}
465[data-xv="vastu"] .va-bar{transform-box:fill-box;transform-origin:left center}
466[data-xv="vastu"] .va-gridline{transition:stroke-opacity .35s ease}
467.group\/card:hover [data-xv="vastu"] .va-gridline{stroke-opacity:1}
468@keyframes xv-va-wall{0%{stroke-dashoffset:100}1%{stroke-dashoffset:100}10%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
469@keyframes xv-va-bar{0%{transform:scaleX(0)}1%{transform:scaleX(0)}10%{transform:scaleX(1)}91%{transform:scaleX(1)}95%{transform:scaleX(0)}100%{transform:scaleX(0)}}
470@keyframes xv-va-id{0%{opacity:0}10%{opacity:0}13%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
471@keyframes xv-va-grid{0%{opacity:0;transform:rotate(-18deg) scale(1.08)}11%{opacity:0;transform:rotate(-18deg) scale(1.08)}20%{opacity:1;transform:rotate(0deg) scale(1)}91%{opacity:1;transform:rotate(0deg) scale(1)}95%{opacity:0;transform:rotate(-18deg) scale(1.08)}100%{opacity:0;transform:rotate(-18deg) scale(1.08)}}
472@keyframes xv-va-needle{0%{transform:rotate(-150deg)}11%{transform:rotate(-150deg)}18%{transform:rotate(12deg)}21%{transform:rotate(-4deg)}23%{transform:rotate(0deg)}100%{transform:rotate(0deg)}}
473@keyframes xv-va-tint0{0%{opacity:0}23%{opacity:0}
47326.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
474@keyframes xv-va-badge0{0%{opacity:0;transform:scale(0.2)}23%{opacity:0;transform:scale(0.2)}25.5%{opacity:1;transform:scale(1.25)}27.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
475@keyframes xv-va-row0{0%{opacity:0;transform:translateX(8px)}24%{opacity:0;transform:translateX(8px)}27.5%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(8px)}100%{opacity:0;transform:translateX(8px)}}
476@keyframes xv-va-tint1{0%{opacity:0}28.5%{opacity:0}32%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
477@keyframes xv-va-badge1{0%{opacity:0;transform:scale(0.2)}28.5%{opacity:0;transform:scale(0.2)}31%{opacity:1;transform:scale(1.25)}33%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
478@keyframes xv-va-row1{0%{opacity:0;transform:translateX(8px)}29.5%{opacity:0;transform:translateX(8px)}33%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(8px)}100%{opacity:0;transform:translateX(8px)}}
479@keyframes xv-va-tint2{0%{opacity:0}34%{opacity:0}37.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
480@keyframes xv-va-badge2{0%{opacity:0;transform:scale(0.2)}34%{opacity:0;transform:scale(0.2)}36.5%{opacity:1;transform:scale(1.25)}38.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
481@keyframes xv-va-row2{0%{opacity:0;transform:translateX(8px)}35%{opacity:0;transform:translateX(8px)}38.5%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(8px)}100%{opacity:0;transform:translateX(8px)}}
482@keyframes xv-va-tint3{0%{opacity:0}39.5%{opacity:0}43%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
483@keyframes xv-va-badge3{0%{opacity:0;transform:scale(0.2)}39.5%{opacity:0;transform:scale(0.2)}42%{opacity:1;transform:scale(1.25)}44%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
484@keyframes xv-va-row3{0%{opacity:0;transform:translateX(8px)}40.5%{opacity:0;transform:translateX(8px)}44%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(8px)}100%{opacity:0;transform:translateX(8px)}}
485@keyframes xv-va-tint4{0%{opacity:0}45%{opacity:0}48.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
486@keyframes xv-va-badge4{0%{opacity:0;transform:scale(0.2)}45%{opacity:0;transform:scale(0.2)}47.5%{opacity:1;transform:scale(1.25)}49.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
487@keyframes xv-va-row4{0%{opacity:0;transform:translateX(8px)}46%{opacity:0;transform:translateX(8px)}49.5%{opacity:1;transform:translateX(0px)}91%{opacity:1;transform:translateX(0px)}95%{opacity:0;transform:translateX(8px)}100%{opacity:0;transform:translateX(8px)}}
488@keyframes xv-va-dial{0%{stroke-dashoffset:78.41}52%{stroke-dashoffset:78.41}64%{stroke-dashoffset:0}91%{stroke-dashoffset:0}95%{stroke-dashoffset:78.41}100%{stroke-dashoffset:78.41}}
489@keyframes xv-va-score{0%{opacity:0}61%{opacity:0}64.5%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><rect x="24" y="26" width="120" height="120" fill="var(--xv-surface)"></rect><rect x="104" y="106" width="40" height="40" fill="var(--xv-good-soft)" style="animation:xv-va-tint0 10s ease-out infinite both"></rect><rect x="24" y="106" width="46" height="40" fill="var(--xv-good-soft)" style="animation:xv-va-tint1 10s ease-out infinite both"></rect><rect x="108" y="26" width="36" height="36" fill="var(--xv-good-soft)" style="animation:xv-va-tint2 10s ease-out infinite both"></rect><rect x="64" y="26" width="32" height="30" fill="var(--xv-bad-soft)" style="animation:xv-va-tint3 10s ease-out infinite both"></rect><rect x="64" y="66" width="40" height="40" fill="var(--xv-good-soft)" style="animation:xv-va-tint4 10s ease-out infinite both"></rect><rect x="68" y="70" width="32" height="32" fill="none" stroke="var(--xv-ink-soft)" stroke-opacity="0.5" stroke-width="0.8" stroke-dasharray="1.5 2.5" rx="2"></rect><g stroke="var(--xv-ink-soft)" stroke-width="0.8" fill="none" stroke-opacity="0.7"><rect x="29" y="131" width="20" height="11" rx="2"></rect><line x1="29" y1="134.5" x2="49" y2="134.5"></line><rect x="108" y="138" width="32" height="5" rx="1"></rect><circle cx="116" cy="140.5" r="1.6"></circle><circle cx="123" cy="140.5" r="1.6"></circle><ellipse cx="72" cy="34" rx="3.2" ry="4"></ellipse><rect x="120" y="30" width="12" height="7" rx="1.5"></rect><path d="M 28 99 h 26 M 28 99 v -10 h 26 v 10"></path></g><g fill="none" stroke-linecap="square"><rect x="24" y="26" width="120" height="120" stroke="var(--xv-ink)" stroke-width="1.8" pathLength="100" class="va-wall" style="animation:xv-va-wall 10s ease-in-out infinite both;stroke-dashoffset:0"></rect><path d="M 64 26 V 106 M 64 56 H 96 V 26 M 108 26 V 62 H 144 M 104 70 H 144 M 104 104 H 144 M 70 106 V 146 M 104 106 V 146 M 24 106 H 76 M 94 106 H 144" stroke="var(--xv-ink)" stroke-opacity="0.72" stroke-width="1.1" pathLength="100" class="va-wall" style="animation:xv-va-wall 10s ease-in-out infinite both;stroke-dashoffset:0"></path></g><line x1="144" y1="80" x2="144" y2="94" stroke="var(--xv-surface)" stroke-width="2.6"></line><path d="M 144 80 A 12 12 0 0 0 132 92" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.8"></path><text x="44" y="48" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" letter-spacing="-0.1">Living</text><text x="80" y="47" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" letter-spacing="-0.1">Toilet</text><text x="126" y="50" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" letter-spacing="-0.1">Puja</text><text x="121" y="96" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" letter-spacing="-0.4">Entrance</text><text x="44" y="117" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" letter-spacing="-0.1">Master</text><text x="44" y="127" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" letter-spacing="-0.1">bed</text><text x="124" y="130" font-size="9" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" letter-spacing="-0.4">Kitchen</text></g><g class="va-grid" style="animation:xv-va-grid 10s cubic-bezier(0.22, 1, 0.36, 1) infinite both"><rect x="21" y="23" width="126" height="126" fill="none" stroke="var(--xv-accent)" stroke-width="1" rx="3"></rect><g class="va-gridline" stroke="var(--xv-accent)" stroke-opacity="0.75" stroke-width="1" stroke-dasharray="3 3"><line x1="64" y1="23" x2="64" y2="149"></line><line x1="21" y1="66" x2="147" y2="66"></line></g><g class="va-gridline" stroke="var(--xv-accent)" stroke-opacity="0.75" stroke-width="1" stroke-dasharray="3 3"><line x1="104" y1="23" x2="104" y2="149"></line>
489<line x1="21" y1="106" x2="147" y2="106"></line></g><text x="15" y="16" font-size="9" font-weight="800" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">NW</text><text x="84" y="16" font-size="9" font-weight="800" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono">N</text><text x="153" y="16" font-size="9" font-weight="800" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">NE</text><text x="13" y="86" font-size="9" font-weight="800" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">W</text><text x="155" y="86" font-size="9" font-weight="800" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">E</text><text x="15" y="156" font-size="9" font-weight="800" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">SW</text><text x="84" y="156" font-size="9" font-weight="800" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">S</text><text x="153" y="156" font-size="9" font-weight="800" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central" class="xv-mono">SE</text></g><g><circle cx="84" cy="86" r="10.5" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></circle><g class="va-needle" style="animation:xv-va-needle 10s ease-in-out infinite both"><path d="M 84 77 L 87 86 L 81 86 Z" fill="var(--xv-accent)"></path><path d="M 84 95 L 87 86 L 81 86 Z" fill="var(--xv-ink-soft)" fill-opacity="0.55"></path></g><circle cx="84" cy="86" r="1.2" fill="var(--xv-surface)"></circle></g><g class="va-pop" style="animation:xv-va-badge0 10s ease-out infinite both"><g><circle cx="137" cy="113" r="5.5" fill="var(--xv-good)"></circle><path d="M 134.4 113.2 L 136.3 115.1 L 139.7 111.1" fill="none" stroke="var(--xv-surface)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g></g><g class="va-pop" style="animation:xv-va-badge1 10s ease-out infinite both"><g><circle cx="63" cy="139" r="5.5" fill="var(--xv-good)"></circle><path d="M 60.4 139.2 L 62.3 141.1 L 65.7 137.1" fill="none" stroke="var(--xv-surface)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g></g><g class="va-pop" style="animation:xv-va-badge2 10s ease-out infinite both"><g><circle cx="137" cy="33" r="5.5" fill="var(--xv-good)"></circle><path d="M 134.4 33.2 L 136.3 35.1 L 139.7 31.1" fill="none" stroke="var(--xv-surface)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g></g><g class="va-pop" style="animation:xv-va-badge3 10s ease-out infinite both"><g><circle cx="89" cy="33" r="5.5" fill="var(--xv-bad)"></circle><path d="M 87 31 L 91 35 M 91 31 L 87 35" fill="none" stroke="var(--xv-surface)" stroke-width="1.5" stroke-linecap="round"></path></g></g><g class="va-pop" style="animation:xv-va-badge4 10s ease-out infinite both"><g><circle cx="97" cy="73" r="5.5" fill="var(--xv-good)"></circle><path d="M 94.4 73.2 L 96.3 75.1 L 99.7 71.1" fill="none" stroke="var(--xv-surface)" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"></path></g></g><g><rect x="166" y="9" width="9" height="11" rx="1.5" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.9"></rect><path d="M 168 17 l 2 -2.5 l 1.5 1.5 l 1.5 -2" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.8"></path><text x="180" y="15" font-size="9" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central" class="xv-mono">floorplan.png</text><text x="166" y="38" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono" style="animation:xv-va-id 10s ease-out infinite both">vastu_id: vst_8f92</text><rect x="166" y="24" width="96" height="2" rx="1" fill="var(--xv-line)"></rect><rect x="166" y="24" width="96" height="2" rx="1" fill="var(--xv-accent)" class="va-bar" style="animation:xv-va-bar 10s ease-in-out infinite both"></rect><g class="" style="animation:xv-va-row0 10s ease-out infinite both"><rect x="166" y="50" width="129.19" height="15" rx="7.5" fill="var(--xv-good-soft)" stroke="var(--xv-good)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="176.75" y="57.5" font-size="9.5" font-weight="800" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central">✓</text><text x="184.5" y="57.5" font-size="9.5" font-weight="600" fill="var(--xv-good)" dominant-baseline="central" class="">Kitchen · SE · Agni</text></g><g class="" style="animation:xv-va-row1 10s ease-out infinite both"><rect x="166" y="66.5" width="107.15" height="15" rx="7.5" fill="var(--xv-good-soft)" stroke="var(--xv-good)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="176.75" y="74" font-size="9.5" font-weight="800" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central">✓</text><text x="184.5" y="74" font-size="9.5" font-weight="600" fill="var(--xv-good)" dominant-baseline="central" class="">Master bed · SW</text></g><g class="" style="animation:xv-va-row2 10s ease-out infinite both"><rect x="166" y="83" width="123.68" height="15" rx="7.5" fill="var(--xv-good-soft)" stroke="var(--xv-good)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="176.75" y="90.5" font-size="9.5" font-weight="800" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central">✓</text><text x="184.5" y="90.5" font-size="9.5" font-weight="600" fill="var(--xv-good)" dominant-baseline="central" class="">Puja · NE · Ishana</text></g><g class="" style="animation:xv-va-row3 10s ease-out infinite both"><rect x="166" y="99.5" width="156.74" height="15" rx="7.5" fill="var(--xv-bad-soft)" stroke="var(--xv-bad)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="176.75" y="107" font-size="9.5" font-weight="800" fill="var(--xv-bad)" text-anchor="middle" dominant-baseline="central">✗</text><text x="184.5" y="107" font-size="9.5" font-weight="600" fill="var(--xv-bad)" dominant-baseline="central" class="">Toilet · N · Kubera zone</text></g><g class="" style="animation:xv-va-row4 10s ease-out infinite both"><rect x="166" y="116" width="112.66" height="15" rx="7.5" fill="var(--xv-good-soft)" stroke="var(--xv-good)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="176.75" y="123.5" font-size="9.5" font-weight="800" fill="var(--xv-good)" text-anchor="middle" dominant-baseline="central">✓</text><text x="184.5" y="123.5" font-size="9.5" font-weight="600" fill="var(--xv-good)" dominant-baseline="central" class="">Brahmasthan open</text></g><circle cx="184" cy="151" r="16" fill="none" stroke="var(--xv-line)" stroke-width="4"></circle><circle cx="184" cy="151" r="16" fill="none" stroke="var(--xv-accent)" stroke-width="4" stroke-linecap="round" stroke-dasharray="78.41 100.53" transform="rotate(-90 184 151)" style="animation:xv-va-dial 10s cubic-bezier(0.3, 0.8, 0.3, 1) infinite both;stroke-dashoffset:0"></circle><g style="animation:xv-va-score 10s ease-out infinite both"><text x="184" y="151.5" font-size="13" font-weight="800" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">78</text><text x="208" y="140" font-size="9" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">VASTU SCORE /100</text><text x="208" y="153" font-size="10" font-weight="700" fill="var(--xv-good)" dominant-baseline="central">Good — minor fixes</text><text x="208" y="166" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central">Remedy: move WC to NW</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
490              text-base md:text-lg">Vastu API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
491              line-clamp-2">
491Upload a floor plan and get a room-by-room Vastu reading — directions, scores, and remedies.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:770ms"><div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
492          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
493          transition-all duration-500 p-3 flex
494          flex-col md:flex-row
495          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
496              transition-transform duration-700 group-hover:scale-[1.03]
497              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="muhurta" class="xv-frame  "><style>[data-xv="muhurta"] .mu-pop{transform-box:fill-box;transform-origin:center}
498[data-xv="muhurta"] .mu-cal{transition:stroke .35s ease}
499.group\/card:hover [data-xv="muhurta"] .mu-cal rect:first-child{stroke:var(--xv-accent)}
500@keyframes xv-mu-ev0{2.5%{opacity:1;transform:translateY(0px)}22.5%{opacity:1;transform:translateY(0px)}25%{opacity:0;transform:translateY(5px)}100%{opacity:0;transform:translateY(5px)}}
501@keyframes xv-mu-d0-3{0%{opacity:0;transform:scale(0.6)}3.5%{opacity:0;transform:scale(0.6)}6%{opacity:1;transform:scale(1)}22%{opacity:1;transform:scale(1)}24.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
502@keyframes xv-mu-d0-11{0%{opacity:0;transform:scale(0.6)}4.2%{opacity:0;transform:scale(0.6)}6.7%{opacity:1;transform:scale(1)}22%{opacity:1;transform:scale(1)}24.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
503@keyframes xv-mu-d0-21{0%{opacity:0;transform:scale(0.6)}4.9%{opacity:0;transform:scale(0.6)}7.4%{opacity:1;transform:scale(1)}22%{opacity:1;transform:scale(1)}24.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
504@keyframes xv-mu-d0-22{0%{opacity:0;transform:scale(0.6)}5.6%{opacity:0;transform:scale(0.6)}8.1%{opacity:1;transform:scale(1)}22%{opacity:1;transform:scale(1)}24.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
505@keyframes xv-mu-d0-25{0%{opacity:0;transform:scale(0.6)}6.3%{opacity:0;transform:scale(0.6)}8.8%{opacity:1;transform:scale(1)}22%{opacity:1;transform:scale(1)}24.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
506@keyframes xv-mu-d0-26{0%{opacity:0;transform:scale(0.6)}7%{opacity:0;transform:scale(0.6)}9.5%{opacity:1;transform:scale(1)}22%{opacity:1;transform:scale(1)}24.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
507@keyframes xv-mu-pick0{0%{opacity:0;transform:scale(1.5)}11.5%{opacity:0;transform:scale(1.5)}14.5%{opacity:1;transform:scale(1)}21.5%{opacity:1;transform:scale(1)}24.5%{opacity:0;transform:scale(1.5)}100%{opacity:0;transform:scale(1.5)}}
508@keyframes xv-mu-res0{0%{opacity:0;transform:translateX(6px)}13%{opacity:0;transform:translateX(6px)}16%{opacity:1;transform:translateX(0px)}21.5%{opacity:1;transform:translateX(0px)}24.5%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
509@keyframes xv-mu-ev1{0%{opacity:0;transform:translateY(5px)}25%{opacity:0;transform:translateY(5px)}27.5%{opacity:1;transform:translateY(0px)}47.5%{opacity:1;transform:translateY(0px)}50%{opacity:0;transform:translateY(5px)}100%{opacity:0;transform:translateY(5px)}}
510@keyframes xv-mu-d1-4{0%{opacity:0;transform:scale(0.6)}28.5%{opacity:0;transform:scale(0.6)}31%{opacity:1;transform:scale(1)}47%{opacity:1;transform:scale(1)}49.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
511@keyframes xv-mu-d1-11{0%{opacity:0;transform:scale(0.6)}29.2%{opacity:0;transform:scale(0.6)}31.7%{opacity:1;transform:scale(1)}47%{opacity:1;transform:scale(1)}49.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
512@keyframes xv-mu-d1-22{0%{opacity:0;transform:scale(0.6)}29.9%{opacity:0;transform:scale(0.6)}32.4%{opacity:1;transform:scale(1)}47%{opacity:1;transform:scale(1)}49.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
513@keyframes xv-mu-d1-25{0%{opacity:0;transform:scale(0.6)}30.6%{opacity:0;transform:scale(0.6)}33.1%{opacity:1;transform:scale(1)}47%{opacity:1;transform:scale(1)}49.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
514@keyframes xv-mu-pick1{0%{opacity:0;transform:scale(1.5)}36.5%{opacity:0;transform:scale(1.5)}39.5%{opacity:1;transform:scale(1)}46.5%{opacity:1;transform:scale(1)}49.5%{opacity:0;transform:scale(1.5)}100%{opacity:0;transform:scale(1.5)}}
515@keyframes xv-mu-res1{0%{opacity:0;transform:translateX(6px)}38%{opacity:0;transform:translateX(6px)}41%{opacity:1;transform:translateX(0px)}46.5%{opacity:1;transform:translateX(0px)}49.5%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
516@keyframes xv-mu-ev2{0%{opacity:0;transform:translateY(5px)}50%{opacity:0;transform:translateY(5px)}52.5%{opacity:1;transform:translateY(0px)}72.5%{opacity:1;transform:translateY(0px)}75%{opacity:0;transform:translateY(5px)}100%{opacity:0;transform:translateY(5px)}}
517@keyframes xv-mu-d2-8{0%{opacity:0;transform:scale(0.6)}53.5%{opacity:0;transform:scale(0.6)}56%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}74.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
518@keyframes xv-mu-d2-12{0%{opacity:0;transform:scale(0.6)}54.2%{opacity:0;transform:scale(0.6)}56.7%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}74.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
519@keyframes xv-mu-d2-18{0%{opacity:0;transform:scale(0.6)}54.9%{opacity:0;transform:scale(0.6)}57.4%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}74.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
520@keyframes xv-mu-d2-19{0%{opacity:0;transform:scale(0.6)}55.6%{opacity:0;transform:scale(0.6)}58.1%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}74.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
521@keyframes xv-mu-d2-25{0%{opacity:0;transform:scale(0.6)}56.3%{opacity:0;transform:scale(0.6)}58.8%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}74.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
522@keyframes xv-mu-d2-26{0%{opacity:0;transform:scale(0.6)}57%{opacity:0;transform:scale(0.6)}59.5%{opacity:1;transform:scale(1)}72%{opacity:1;transform:scale(1)}74.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
523@keyframes xv-mu-pick2{0%{opacity:0;transform:scale(1.5)}61.5%{opacity:0;transform:scale(1.5)}64.5%{opacity:1;transform:scale(1)}71.5%{opacity:1;transform:scale(1)}74.5%{opacity:0;transform:scale(1.5)}100%{opacity:0;transform:scale(1.5)}}
524@keyframes xv-mu-res2{0%{opacity:0;transform:translateX(6px)}63%{opacity:0;transform:translateX(6px)}66%{opacity:1;transform:translateX(0px)}71.5%{opacity:1;transform:translateX(0px)}74.5%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
525@keyframes xv-mu-ev3{0%{opacity:0;transform:translateY(5px)}75%{opacity:0;transform:translateY(5px)}77.5%{opacity:1;transform:translateY(0px)}97.5%{opacity:1;transform:translateY(0px)}100%{opacity:0;transform:translateY(5px)}}
526@keyframes xv-mu-d3-11{0%{opacity:0;transform:scale(0.6)}78.5%{opacity:0;transform:scale(0.6)}81%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1)}99.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
527@keyframes xv-mu-d3-12{0%{opacity:0;transform:scale(0.6)}79.2%{opacity:0;transform:scale(0.6)}81.7%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1)}99.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
528@keyframes xv-mu-d3-19{0%{opacity:0;transform:scale(0.6)}79.9%{opacity:0;transform:scale(0.6)}82.4%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1)}99.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
529@keyframes xv-mu-d3-22{0%{opacity:0;transform:scale(0.6)}80.6%{opacity:0;transform:scale(0.6)}83.1%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1)}99.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
530@keyframes xv-mu-d3-25{0%{opacity:0;transform:scale(0.6)}81.3%{opacity:0;transform:scale(0.6)}83.8%{opacity:1;transform:scale(1)}97%{opacity:1;transform:scale(1)}99.5%{opacity:0;transform:scale(0.6)}100%{opacity:0;transform:scale(0.6)}}
531@keyframes xv-mu-pick3{0%{opacity:0;transform:scale(1.5)}86.5%{opacity:0;transform:scale(1.5)}89.5%{opacity:1;transform:scale(1)}96.5%{opacity:1;transform:scale(1)}99.5%{opacity:0;transform:scale(1.5)}100%{opacity:0;transform:scale(1.5)}}
532@keyframes xv-mu-res3{0%{opacity:0;transform:translateX(6px)}88%{opacity:0;transform:translateX(6px)}91%{opacity:1;transform:translateX(0px)}96.5%{opacity:1;transform:translateX(0px)}99.5%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g class="mu-cal"><g class=""><rect x="6" y="6" width="174" height="148" rx="8" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></rect><text x="15" y="18" font-size="9" font-weight="700" letter-spacing="0.06em" fill="var(--xv-ink-soft)" dominant-baseline="central">FEBRUARY 2027</text><text x="171" y="18" font-size="9" fill="var(--xv-ink-soft)" text-anchor="end" dominant-baseline="central" class="xv-mono">New Delhi</text></g><text x="25.3" y="34" font-size="9" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">S</text><text x="47.9" y="34" font-size="9" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">M</text><text x="70.5" y="34" font-size="9" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">T</text><text x="93.1" y="34" font-size="9" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">W</text><text x="115.7" y="34" font-size="9" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">T</text><text x="138.3" y="34" font-size="9" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">F</text><text x="160.9" y="34" font-size="9" font-weight="700" fill="var(--xv-ink-soft)" text-anchor="middle" dominant-baseline="central">S</text><rect x="83.1" y="42.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d0-3 10s ease-out infinite both;opacity:1"></rect><rect x="105.7" y="62.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d0-11 10s ease-out infinite both;opacity:1"></rect><rect x="15.3" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d0-21 10s ease-out infinite both;opacity:1"></rect><rect x="37.9" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d0-22 10s ease-out infinite both;opacity:1"></rect><rect x="105.7" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d0-25 10s ease-out infinite both;opacity:1"></rect><rect x="128.3" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d0-26 10s ease-out infinite both;opacity:1"></rect><rect x="105.7" y="42.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d1-4 10s ease-out infinite both;opacity:0"></rect><rect x="105.7" y="62.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d1-11 10s ease-out infinite both;opacity:0"></rect><rect x="37.9" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d1-22 10s ease-out infinite both;opacity:0"></rect><rect x="105.7" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d1-25 10s ease-out infinite both;opacity:0"></rect><rect x="37.9" y="62.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d2-8 10s ease-out infinite both;opacity:0"></rect><rect x="128.3" y="62.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d2-12 10s ease-out infinite both;opacity:0"></rect><rect x="105.7" y="82.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d2-18 10s ease-out infinite both;opacity:0"></rect><rect x="128.3" y="82.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d2-19 10s ease-out infinite both;opacity:0"></rect><rect x="105.7" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d2-25 10s ease-out infinite both;opacity:0"></rect><rect x="128.3" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d2-26 10s ease-out infinite both;opacity:0"></rect><rect x="105.7" y="62.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d3-11 10s ease-out infinite both;opacity:0"></rect><rect x="128.3" y="62.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d3-12 10s ease-out infinite both;opacity:0"></rect><rect x="128.3" y="82.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d3-19 10s ease-out infinite both;opacity:0"></rect><rect x="37.9" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d3-22 10s ease-out infinite both;opacity:0"></rect><rect x="105.7" y="102.5" width="20" height="17" rx="4" fill="var(--xv-gold-soft)" stroke="var(--xv-gold)" stroke-width="1" class="mu-pop" style="animation:xv-mu-d3-25 10s ease-out infinite both;opacity:0"></rect><text x="47.9" y="51.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">1</text><text x="70.5" y="51.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">2</text><text x="93.1" y="51.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">3</text><text x="115.7" y="51.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">4</text><text x="138.3" y="51.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">5</text><text x="160.9" y="51.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">6</text><text x="25.
5323" y="71.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">7</text><text x="47.9" y="71.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">8</text><text x="70.5" y="71.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">9</text><text x="93.1" y="71.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">10</text><text x="115.7" y="71.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">11</text><text x="138.3" y="71.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">12</text><text x="160.9" y="71.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">13</text><text x="25.3" y="91.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">14</text><text x="47.9" y="91.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">15</text><text x="70.5" y="91.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">16</text><text x="93.1" y="91.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">17</text><text x="115.7" y="91.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">18</text><text x="138.3" y="91.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">19</text><text x="160.9" y="91.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">20</text><text x="25.3" y="111.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">21</text><text x="47.9" y="111.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">22</text><text x="70.5" y="111.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">23</text><text x="93.1" y="111.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">24</text><text x="115.7" y="111.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">25</text><text x="138.3" y="111.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">26</text><text x="160.9" y="111.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">27</text><text x="25.3" y="131.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central" class="xv-mono">28</text><g class="mu-pop" style="animation:xv-mu-pick0 10s ease-out infinite both;opacity:1"><rect x="104.7" y="61.5" width="22" height="19" rx="5" fill="var(--xv-accent)"></rect><text x="115.7" y="71.5" font-size="9.5" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono">11</text></g><g class="mu-pop" style="animation:xv-mu-pick1 10s ease-out infinite both;opacity:0"><rect x="36.9" y="101.5" width="22" height="19" rx="5" fill="var(--xv-accent)"></rect><text x="47.9" y="111.5" font-size="9.5" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono">22</text></g><g class="mu-pop" style="animation:xv-mu-pick2 10s ease-out infinite both;opacity:0"><rect x="127.3" y="81.5" width="22" height="19" rx="5" fill="var(--xv-accent)"></rect><text x="138.3" y="91.5" font-size="9.5" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono">19</text></g><g class="mu-pop" style="animation:xv-mu-pick3 10s ease-out infinite both;opacity:0"><rect x="127.3" y="61.5" width="22" height="19" rx="5" fill="var(--xv-accent)"></rect><text x="138.3" y="71.5" font-size="9.5" font-weight="800" fill="var(--xv-on-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono">12</text></g></g><text x="190" y="38" font-size="9" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">EVENT</text><text x="190" y="83" font-size="9" font-weight="700" letter-spacing="0.08em" fill="var(--xv-ink-soft)" dominant-baseline="central">BEST MUHURTA</text><g><g style="animation:xv-mu-ev0 10s ease-out infinite both;opacity:1"><rect x="190" y="49" width="140" height="20" rx="10" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><g fill="none" stroke="var(--xv-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"><circle cx="200.8" cy="59.5" r="3.4"></circle><circle cx="205.2" cy="59.5" r="3.4"></circle></g><text x="214" y="59" font-size="11" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Marriage</text><text x="8" y="166" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">POST /monthly_muhurta/marriage</text><text x="330" y="166" font-size="9" fill="var(--xv-gold)" font-weight="700" text-anchor="end" dominant-baseline="central">6 auspicious dates</text></g><g style="animation:xv-mu-res0 10s ease-out infinite both;opacity:1"><text x="190" y="98" font-size="12" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Thu, 11 Feb 2027</text><rect x="190" y="106" width="101.8" height="19" rx="9.5" fill="var(--xv-accent)"></rect><text x="198" y="115.5" font-size="11" font-weight="700" fill="var(--xv-on-accent)" dominant-baseline="central" class="xv-mono">11:42 – 13:37</text><text x="190" y="135" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Revati nakshatra</text><text x="190" y="147" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central">Vrishabha lagna · Shukla 5</text></g></g><g><g style="animation:xv-mu-ev1 10s ease-out infinite both;opacity:0"><rect x="190" y="49" width="140" height="20" rx="10" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><path fill="none" stroke="var(--xv-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" d="M 198.5 59 L 203 54.5 L 207.5 59 M 199.8 58 V 63 H 206.2 V 58 M 202 63 V 60.5 H 204 V 63"></path><text x="214" y="59" font-size="11" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Griha Pravesh</text><text x="8" y="166" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">POST /monthly_muhurta/griha_pravesh</text><text x="330" y="166" font-size="9" fill="var(--xv-gold)" font-weight="700" text-anchor="end" dominant-baseline="central">4 auspicious dates</text></g><g style="animation:xv-mu-res1 10s ease-out infinite both;opacity:0"><text x="190" y="98" font-size="12" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Mon, 22 Feb 2027</text><rect x="190" y="106" width="101.8" height="19" rx="9.5" fill="var(--xv-accent)"></rect><text x="198" y="115.5" font-size="11" font-weight="700" fill="var(--xv-on-accent)" dominant-baseline="central" class="xv-mono">11:55 – 12:54</text><text x="190" y="135" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Uttara Phalguni</text><text x="190" y="147" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central">Vrishabha lagna · Krishna 2</text></g></g><g><g style="animation:xv-mu-ev2 10s ease-out infinite both;opacity:0"><rect x="190" y="49" width="140" height="20" rx="10" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><g fill="none" stroke="var(--xv-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"><path d="M 198 61 V 58.5 L 200 55.5 H 205.5 L 208 58.5 V 61 Z"></path><circle cx="200.4" cy="61.6" r="1.2"></circle><circle cx="205.6" cy="61.6" r="1.2"></circle></g><text x="214" y="59" font-size="11" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Vehicle purchase</text><text x="8" y="166" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">POST /monthly_muhurta/vehicle_purchase</text><text x="330" y="166" font-size="9" fill="var(--xv-gold)" font-weight="700" text-anchor="end" dominant-baseline="central">6 auspicious dates</text></g><g style="animation:xv-mu-res2 10s ease-out infinite both;opacity:0"><text x="190" y="98" font-size="12" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Fri, 19 Feb 2027</text><rect x="190" y="106" width="101.8" height="19" rx="9.5" fill="var(--xv-accent)"></rect><text x="198" y="115.5" font-size="11" font-weight="700" fill="var(--xv-on-accent)" dominant-baseline="central" class="xv-mono">09:35 – 11:10</text><text x="190" y="135" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Pushya nakshatra</text><text x="190" y="147" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central">Mesha lagna · Shukla 13</text></g></g><g><g style="animation:xv-mu-ev3 10s ease-out infinite both;opacity:0"><rect x="190" y="49" width="140" height="20" rx="10" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></rect><g fill="none" stroke="var(--xv-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round"><rect x="198" y="57" width="10" height="7" rx="1.2"></rect><path d="M 201 57 V 55 H 205 V 57 M 198 60 H 208"></path></g><text x="214" y="59" font-size="11" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Business start</text><text x="8" y="166" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">POST /monthly_muhurta/business_start</text><text x="330" y="166" font-size="9" fill="var(--xv-gold)" font-weight="700" text-anchor="end" dominant-baseline="central">5 auspicious dates</text></g><g style="animation:xv-mu-res3 10s ease-out infinite both;opacity:0"><text x="190" y="98" font-size="12" font-weight="800" fill="var(--xv-ink)" dominant-baseline="central">Fri, 12 Feb 2027</text><rect x="190" y="106" width="101.8" height="19" rx="9.5" fill="var(--xv-accent)"></rect><text x="198" y="115.5" font-size="11" font-weight="700" fill="var(--xv-on-accent)" dominant-baseline="central" class="xv-mono">11:38 – 13:34</text><text x="190" y="135" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Ashwini nakshatra</text><text x="190" y="147" font-size="9" fill="var(--xv-ink-soft)" dominant-baseline="central">Vrishabha lagna · Shukla 6</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
533              text-base md:text-lg">Muhurta &amp; Panchang API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
534              line-clamp-2">Auspicious dates and time windows for 18 life events, plus daily panchang — tithi, nakshatra, yoga, and more.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:825ms">
534<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
535          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
536          transition-all duration-500 p-3 flex
537          flex-col md:flex-row
538          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
539              transition-transform duration-700 group-hover:scale-[1.03]
540              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="chat" class="xv-frame  "><style>[data-xv="chat"] .ch-cover{transform-box:fill-box;transform-origin:right center}
541[data-xv="chat"] .ch-pop{transform-box:fill-box;transform-origin:center}
542[data-xv="chat"] .ch-chip rect{transition:stroke-opacity .35s ease}
543.group\/card:hover [data-xv="chat"] .ch-chip rect{stroke-opacity:1}
544@keyframes xv-ch-user{0%{opacity:0;transform:translateY(6px)}2%{opacity:0;transform:translateY(6px)}6%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(6px)}100%{opacity:0;transform:translateY(6px)}}
545@keyframes xv-ch-typing{0%{opacity:0}9.5%{opacity:0}11.5%{opacity:1}19%{opacity:1}20.5%{opacity:0}100%{opacity:0}}
546@keyframes xv-ch-dot0{0%{transform:translateY(0px)}10.5%{transform:translateY(0px)}11.9%{transform:translateY(-2.5px)}13.3%{transform:translateY(0px)}14.7%{transform:translateY(0px)}16.1%{transform:translateY(-2.5px)}17.5%{transform:translateY(0px)}100%{transform:translateY(0px)}}
547@keyframes xv-ch-dot1{0%{transform:translateY(0px)}11.7%{transform:translateY(0px)}13.1%{transform:translateY(-2.5px)}14.5%{transform:translateY(0px)}15.9%{transform:translateY(0px)}17.3%{transform:translateY(-2.5px)}18.7%{transform:translateY(0px)}100%{transform:translateY(0px)}}
548@keyframes xv-ch-dot2{0%{transform:translateY(0px)}12.9%{transform:translateY(0px)}14.3%{transform:translateY(-2.5px)}15.7%{transform:translateY(0px)}17.1%{transform:translateY(0px)}18.5%{transform:translateY(-2.5px)}19.9%{transform:translateY(0px)}100%{transform:translateY(0px)}}
549@keyframes xv-ch-answer{0%{opacity:0;transform:translateY(4px)}19.5%{opacity:0;transform:translateY(4px)}22.5%{opacity:1;transform:translateY(0px)}91%{opacity:1;transform:translateY(0px)}95%{opacity:0;transform:translateY(4px)}100%{opacity:0;transform:translateY(4px)}}
550@keyframes xv-ch-line0{0%{transform:scaleX(1)}22%{transform:scaleX(1)}29.5%{transform:scaleX(0)}100%{transform:scaleX(0)}}
551@keyframes xv-ch-line1{0%{transform:scaleX(1)}29.5%{transform:scaleX(1)}36.5%{transform:scaleX(0)}100%{transform:scaleX(0)}}
552@keyframes xv-ch-line2{0%{transform:scaleX(1)}36.5%{transform:scaleX(1)}44.5%{transform:scaleX(0)}100%{transform:scaleX(0)}}
553@keyframes xv-ch-label{0%{opacity:0}46%{opacity:0}49%{opacity:1}91%{opacity:1}95%{opacity:0}100%{opacity:0}}
554@keyframes xv-ch-chip0{0%{opacity:0;transform:scale(0.7)}48%{opacity:0;transform:scale(0.7)}50%{opacity:1;transform:scale(1.06)}51.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
555@keyframes xv-ch-chip1{0%{opacity:0;transform:scale(0.7)}50%{opacity:0;transform:scale(0.7)}52%{opacity:1;transform:scale(1.06)}53.5%{opacity:1;transform:scale(1)}91%{opacity:1;transform:scale(1)}95%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><circle cx="17" cy="18" r="11" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-width="1"></circle><path d="M 17 12 Q 17 18 23 18 Q 17 18 17 24 Q 17 18 11 18 Q 17 18 17 12 Z" fill="var(--xv-accent)"></path><circle cx="25" cy="26" r="2.6" fill="var(--xv-good)" stroke="var(--xv-wash)" stroke-width="1.2"></circle><text x="34" y="13" font-size="10.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">Astrologer</text><text x="34" y="25" font-size="9.5" fill="var(--xv-ink-soft)" dominant-baseline="central">AI · reads your birth chart</text></g><g style="animation:xv-ch-user 10s ease-out infinite both"><path d="M 149 50 H 315 Q 324 50 324 59 V 67 Q 324 70 321 70 H 149 Q 140 70 140 61 V 59 Q 140 50 149 50 Z" fill="var(--xv-accent)"></path><text x="151" y="60" font-size="10" font-weight="500" fill="var(--xv-on-accent)" dominant-baseline="central">Is this a good year to change jobs?</text></g><g style="animation:xv-ch-typing 10s ease-out infinite both;opacity:0"><path d="M 15 78 H 39 Q 48 78 48 87 V 89 Q 48 98 39 98 H 9 Q 6 98 6 95 V 87 Q 6 78 15 78 Z" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></path><circle cx="18" cy="88" r="2.2" fill="var(--xv-ink-soft)" style="animation:xv-ch-dot0 10s ease-in-out infinite both"></circle><circle cx="27" cy="88" r="2.2" fill="var(--xv-ink-soft)" style="animation:xv-ch-dot1 10s ease-in-out infinite both"></circle><circle cx="36" cy="88" r="2.2" fill="var(--xv-ink-soft)" style="animation:xv-ch-dot2 10s ease-in-out infinite both"></circle></g><g style="animation:xv-ch-answer 10s ease-out infinite both"><path d="M 15 78 H 253 Q 262 78 262 87 V 120 Q 262 129 253 129 H 9 Q 6 129 6 126 V 87 Q 6 78 15 78 Z" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></path><text x="16" y="91" font-size="10.5" fill="var(--xv-ink)" dominant-baseline="central"><tspan font-weight="400">
555Yes — a strong window. Jupiter transits your</tspan></text><text x="16" y="104" font-size="10.5" fill="var(--xv-ink)" dominant-baseline="central"><tspan font-weight="700" fill="var(--xv-accent)">10th house of career</tspan><tspan font-weight="400"> from </tspan><tspan font-weight="700" fill="var(--xv-accent)">30 Jun 2026</tspan><tspan font-weight="400"> to</tspan></text><text x="16" y="117" font-size="10.5" fill="var(--xv-ink)" dominant-baseline="central"><tspan font-weight="700" fill="var(--xv-accent)">26 Jul 2027</tspan><tspan font-weight="400"> — a once-in-12-years push to move.</tspan></text><rect x="14" y="84" width="244" height="14" fill="var(--xv-surface)" class="ch-cover" style="animation:xv-ch-line0 10s linear infinite both;transform:scaleX(0)"></rect><rect x="14" y="97" width="244" height="14" fill="var(--xv-surface)" class="ch-cover" style="animation:xv-ch-line1 10s linear infinite both;transform:scaleX(0)"></rect><rect x="14" y="110" width="244" height="14" fill="var(--xv-surface)" class="ch-cover" style="animation:xv-ch-line2 10s linear infinite both;transform:scaleX(0)"></rect></g><g><g style="animation:xv-ch-label 10s ease-out infinite both"><circle cx="11" cy="140" r="4.5" fill="var(--xv-good)"></circle><path d="M 8.9 140.2 L 10.5 141.8 L 13.2 138.6" fill="none" stroke="var(--xv-surface)" stroke-width="1.3" stroke-linecap="round" stroke-linejoin="round"></path><text x="20" y="140" font-size="9.5" font-weight="600" fill="var(--xv-ink-soft)" dominant-baseline="central">Grounded in your chart</text></g><g class="ch-chip ch-pop" style="animation:xv-ch-chip0 10s ease-out infinite both"><rect x="6" y="149" width="110" height="17" rx="8.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="18" y="157.5" font-size="11" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♃︎</text><text x="27" y="157.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">10th house transit</text></g><g class="ch-chip ch-pop" style="animation:xv-ch-chip1 10s ease-out infinite both"><rect x="122" y="149" width="92" height="17" rx="8.5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="134" y="157.5" font-size="11" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-glyph ">♏︎</text><text x="143" y="157.5" font-size="9.5" font-weight="600" fill="var(--xv-ink)" dominant-baseline="central">Scorpio rising</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
556              text-base md:text-lg">Chat API</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
557              line-clamp-2">A personal astrologer in your app — AI chat grounded in the user&#x27;s actual birth chart.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div><div class="lg:col-span-2 lg:row-span-1 sm:col-span-2  group bento-card-animation" style="animation-delay:880ms"><div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-0 h-full relative overflow-hidden backdrop-blur-md bg-transparent
558          border-border-color rounded-xl hover:border-accent-primary/30 cursor-pointer
559          transition-all duration-500 p-3 flex
560          flex-col md:flex-row
561          hover:bg-secondary-bg/5 group/card"><div class="relative z-10 overflow-hidden rounded-lg
562              transition-transform duration-700 group-hover:scale-[1.03]
563              w-full h-[176px] md:h-full md:w-[55%] flex-shrink-0"><div aria-hidden="true" data-xv="mcp" class="xv-frame  "><style>[data-xv="mcp"] .mc-draw{stroke-dasharray:100 100}
564[data-xv="mcp"] .mc-pop{transform-box:fill-box;transform-origin:center}
565[data-xv="mcp"] .mc-server{transition:stroke-width .35s ease}
566.group\/card:hover [data-xv="mcp"] .mc-server{stroke-width:1.8}
567@keyframes xv-mc-q{0%{opacity:0;transform:translateY(5px)}2.222%{opacity:0;transform:translateY(5px)}6.667%{opacity:1;transform:translateY(0px)}90%{opacity:1;transform:translateY(0px)}94.444%{opacity:0;transform:translateY(5px)}100%{opacity:0;transform:translateY(5px)}}
568@keyframes xv-mc-call{0%{opacity:0;transform:translateX(-6px)}9.444%{opacity:0;transform:translateX(-6px)}13.333%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(-6px)}100%{opacity:0;transform:translateX(-6px)}}
569@keyframes xv-mc-req{0%{stroke-dashoffset:100}13.333%{stroke-dashoffset:100}17.222%{stroke-dashoffset:0}90%{stroke-dashoffset:0}94.444%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
570@keyframes xv-mc-reqp{0%{opacity:0;transform:translateX(0px)}13.333%{opacity:0;transform:translateX(0px)}13.889%{opacity:1;transform:translateX(0px)}17.222%{opacity:1;transform:translateX(38px)}18.111%{opacity:0;transform:translateX(38px)}100%{opacity:0;transform:translateX(38px)}}
571@keyframes xv-mc-pulse{0%{opacity:0;transform:scale(1)}17.222%{opacity:0.9;transform:scale(1)}23.889%{opacity:0;transform:scale(1.18)}100%{opacity:0;transform:scale(1.18)}}
572@keyframes xv-mc-busy{0%{opacity:0.35}17.222%{opacity:0.35}18.333%{opacity:1}20%{opacity:0.35}21.111%{opacity:1}22.778%{opacity:0.35}22.778%{opacity:1}100%{opacity:1}}
573@keyframes xv-mc-reqh{0%{opacity:0}
57316.111%{opacity:0}17.222%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
574@keyframes xv-mc-res{0%{stroke-dashoffset:100}22.778%{stroke-dashoffset:100}26.667%{stroke-dashoffset:0}90%{stroke-dashoffset:0}94.444%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}
575@keyframes xv-mc-resh{0%{opacity:0}25.556%{opacity:0}26.667%{opacity:1}90%{opacity:1}94.444%{opacity:0}100%{opacity:0}}
576@keyframes xv-mc-resp{0%{opacity:0;transform:translateX(0px)}22.778%{opacity:0;transform:translateX(0px)}23.333%{opacity:1;transform:translateX(0px)}26.667%{opacity:1;transform:translateX(-21px)}27.556%{opacity:0;transform:translateX(-21px)}100%{opacity:0;transform:translateX(-21px)}}
577@keyframes xv-mc-result{0%{opacity:0;transform:translateX(6px)}26.111%{opacity:0;transform:translateX(6px)}30%{opacity:1;transform:translateX(0px)}90%{opacity:1;transform:translateX(0px)}94.444%{opacity:0;transform:translateX(6px)}100%{opacity:0;transform:translateX(6px)}}
578@keyframes xv-mc-answer{0%{opacity:0;transform:translateY(5px)}32.778%{opacity:0;transform:translateY(5px)}37.222%{opacity:1;transform:translateY(0px)}90%{opacity:1;transform:translateY(0px)}94.444%{opacity:0;transform:translateY(5px)}100%{opacity:0;transform:translateY(5px)}}
579@keyframes xv-mc-chip0{0%{opacity:0;transform:scale(0.7)}37.222%{opacity:0;transform:scale(0.7)}39.444%{opacity:1;transform:scale(1.06)}41.111%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
580@keyframes xv-mc-chip1{0%{opacity:0;transform:scale(0.7)}39.444%{opacity:0;transform:scale(0.7)}41.667%{opacity:1;transform:scale(1.06)}43.333%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(1)}100%{opacity:0;transform:scale(1)}}
581@keyframes xv-mc-node0{0%{opacity:0;transform:scale(0.3)}2.222%{opacity:0;transform:scale(0.3)}5.556%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(0.3)}100%{opacity:0;transform:scale(0.3)}}
582@keyframes xv-mc-node1{0%{opacity:0;transform:scale(0.3)}9.444%{opacity:0;transform:scale(0.3)}12.778%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(0.3)}100%{opacity:0;transform:scale(0.3)}}
583@keyframes xv-mc-node2{0%{opacity:0;transform:scale(0.3)}26.111%{opacity:0;transform:scale(0.3)}29.444%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(0.3)}100%{opacity:0;transform:scale(0.3)}}
584@keyframes xv-mc-node3{0%{opacity:0;transform:scale(0.3)}32.778%{opacity:0;transform:scale(0.3)}36.111%{opacity:1;transform:scale(1)}90%{opacity:1;transform:scale(1)}94.444%{opacity:0;transform:scale(0.3)}100%{opacity:0;transform:scale(0.3)}}
585@keyframes xv-mc-rail{0%{stroke-dashoffset:100}2.222%{stroke-dashoffset:100}32.778%{stroke-dashoffset:0}90%{stroke-dashoffset:0}94.444%{stroke-dashoffset:100}100%{stroke-dashoffset:100}}</style><svg viewBox="0 0 330 174" preserveAspectRatio="xMidYMid meet" class="xv-stage " xmlns="http://www.w3.org/2000/svg"><g><path d="M 12 8.5 Q 12 14 17.5 14 Q 12 14 12 19.5 Q 12 14 6.5 14 Q 12 14 12 8.5 Z" fill="var(--xv-accent)"></path><text x="21" y="14" font-size="10" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central">AI assistant</text><line x1="82" y1="9" x2="82" y2="19" stroke="var(--xv-line-strong)" stroke-width="1"></line><text x="88" y="14" font-size="9.3" fill="var(--xv-ink-soft)" dominant-baseline="central">Claude · ChatGPT · any LLM</text></g><g><line x1="12" y1="41" x2="12" y2="132" stroke="var(--xv-line)" stroke-width="1.5"></line><line x1="12" y1="41" x2="12" y2="132" stroke="var(--xv-accent)" stroke-opacity="0.6" stroke-width="1.5" pathLength="100" class="mc-draw" style="animation:xv-mc-rail 9s linear infinite both;stroke-dashoffset:0"></line><g><circle cx="12" cy="41" r="3.6" fill="var(--xv-wash)" stroke="var(--xv-line-strong)" stroke-width="1"></circle><circle cx="12" cy="41" r="3.6" fill="var(--xv-accent)" class="mc-pop" style="animation:xv-mc-node0 9s ease-out infinite both"></circle></g><g><circle cx="12" cy="73" r="3.6" fill="var(--xv-wash)" stroke="var(--xv-line-strong)" stroke-width="1"></circle><circle cx="12" cy="73" r="3.6" fill="var(--xv-accent)" class="mc-pop" style="animation:xv-mc-node1 9s ease-out infinite both"></circle></g><g><circle cx="12" cy="105" r="3.6" fill="var(--xv-wash)" stroke="var(--xv-line-strong)" stroke-width="1"></circle><circle cx="12" cy="105" r="3.6" fill="var(--xv-accent)" class="mc-pop" style="animation:xv-mc-node2 9s ease-out infinite both"></circle></g><g><circle cx="12" cy="132" r="3.6" fill="var(--xv-wash)" stroke="var(--xv-line-strong)" stroke-width="1"></circle><circle cx="12" cy="132" r="3.6" fill="var(--xv-accent)" class="mc-pop" style="animation:xv-mc-node3 9s ease-out infinite both"></circle></g></g><g style="animation:xv-mc-q 9s ease-out infinite both"><rect x="24" y="28" width="158" height="26" rx="7" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="31" y="36" font-size="9.5" font-weight="500" fill="var(--xv-ink)" dominant-baseline="central">Where was the Moon at 6:14 am,</text><text x="31" y="46.5" font-size="9.5" font-weight="500" fill="var(--xv-ink)" dominant-baseline="central">12 March 1991, Pune?</text></g><g style="animation:xv-mc-call 9s ease-out infinite both"><rect x="24" y="60" width="188" height="26" rx="5" fill="var(--xv-surface)" stroke="var(--xv-line)" stroke-width="1"></rect><text x="31" y="68" font-size="9.3" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">astrology.<tspan fill="var(--xv-ink)" font-weight="700">get_planet_positions</tspan>(</text><text x="42.16" y="78.5" font-size="9.3" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">{ <tspan fill="var(--xv-ink)">date, time, place</tspan> })</text></g><g><line x1="212" y1="73" x2="254" y2="73" stroke="var(--xv-line)" stroke-width="1.2"></line><path d="M 212 73 H 254" fill="none" stroke="var(--xv-accent)" stroke-width="1.2" pathLength="100" class="mc-draw" style="animation:xv-mc-req 9s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 249 69.8 L 254 73 L 249 76.2" fill="none" stroke="var(--xv-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" style="animation:xv-mc-reqh 9s ease-out infinite both"></path><circle cx="214" cy="73" r="2.6" fill="var(--xv-accent)" style="animation:xv-mc-reqp 9s ease-in-out infinite both;opacity:0"></circle></g><g><rect x="256" y="56" width="68" height="66" rx="8" fill="none" stroke="var(--xv-accent)" stroke-width="1.5" class="mc-pop" style="animation:xv-mc-pulse 9s ease-out infinite both;opacity:0"></rect><rect x="256" y="56" width="68" height="66" rx="8" fill="var(--xv-surface)" stroke="var(--xv-accent)" stroke-width="1.1" class="mc-server"></rect><g><rect x="273" y="65" width="34" height="7.5" rx="2" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.9"></rect>
585<circle cx="278" cy="68.75" r="1.4" fill="var(--xv-good)" style="animation:xv-mc-busy 9s linear infinite both"></circle><line x1="286" y1="68.75" x2="302" y2="68.75" stroke="var(--xv-ink-soft)" stroke-width="0.8"></line></g><g><rect x="273" y="75" width="34" height="7.5" rx="2" fill="none" stroke="var(--xv-ink-soft)" stroke-width="0.9"></rect><circle cx="278" cy="78.75" r="1.4" fill="var(--xv-good)" style="animation:xv-mc-busy 9s linear infinite both"></circle><line x1="286" y1="78.75" x2="302" y2="78.75" stroke="var(--xv-ink-soft)" stroke-width="0.8"></line></g><text x="290" y="97" font-size="9.5" font-weight="700" fill="var(--xv-ink)" text-anchor="middle" dominant-baseline="central">MCP server</text><text x="290" y="110" font-size="9.3" fill="var(--xv-accent)" text-anchor="middle" dominant-baseline="central" class="xv-mono">astrology</text></g><g><line x1="256" y1="105" x2="231" y2="105" stroke="var(--xv-line)" stroke-width="1.2"></line><path d="M 256 105 H 231" fill="none" stroke="var(--xv-accent)" stroke-width="1.2" pathLength="100" class="mc-draw" style="animation:xv-mc-res 9s ease-in-out infinite both;stroke-dashoffset:0"></path><path d="M 236 101.8 L 231 105 L 236 108.2" fill="none" stroke="var(--xv-accent)" stroke-width="1.2" stroke-linecap="round" stroke-linejoin="round" style="animation:xv-mc-resh 9s ease-out infinite both"></path><circle cx="254" cy="105" r="2.6" fill="var(--xv-accent)" style="animation:xv-mc-resp 9s ease-in-out infinite both;opacity:0"></circle></g><g style="animation:xv-mc-result 9s ease-out infinite both"><rect x="24" y="92" width="205" height="26" rx="5" fill="var(--xv-accent-soft)" stroke="var(--xv-accent)" stroke-opacity="0.55" stroke-width="0.8"></rect><text x="31" y="100" font-size="9.3" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">{&quot;name&quot;:<tspan fill="var(--xv-ink)">&quot;Moon&quot;</tspan>,&quot;sign&quot;:<tspan fill="var(--xv-accent)" font-weight="700">&quot;Capricorn&quot;</tspan>,</text><text x="36.58" y="110.5" font-size="9.3" fill="var(--xv-ink-soft)" dominant-baseline="central" class="xv-mono">&quot;normDegree&quot;:<tspan fill="var(--xv-accent)" font-weight="700">6.3728</tspan>}</text></g><g><text x="24" y="132" font-size="10.5" font-weight="700" fill="var(--xv-ink)" dominant-baseline="central" style="animation:xv-mc-answer 9s ease-out infinite both">The Moon was at <tspan fill="var(--xv-accent)">6°22′22″ Capricorn</tspan>.</text><g class="mc-pop" style="animation:xv-mc-chip0 9s ease-out infinite both"><rect x="24" y="145" width="134" height="16" rx="8" fill="var(--xv-good-soft)" stroke="var(--xv-good)" stroke-opacity="0.55" stroke-width="0.8"></rect><path d="M 31.5 153.2 L 33.8 155.5 L 37.8 150.8" fill="none" stroke="var(--xv-good)" stroke-width="1.4" stroke-linecap="round" stroke-linejoin="round"></path><text x="43" y="153" font-size="9.3" font-weight="600" fill="var(--xv-good)" dominant-baseline="central">calculated, not guessed</text></g><g class="mc-pop" style="animation:xv-mc-chip1 9s ease-out infinite both"><rect x="164" y="145" width="86" height="16" rx="8" fill="var(--xv-surface)" stroke="var(--xv-line-strong)" stroke-width="0.8"></rect><text x="171" y="153" font-size="9.3" font-weight="600" fill="var(--xv-ink-soft)" dominant-baseline="central">sidereal · Lahiri</text></g></g></svg></div></div><div class="relative z-10 flex flex-col justify-end md:flex-1 p-3 md:p-4 py-2"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text font-black leading-tight mb-1
586              text-base md:text-lg">MCP Server</h3><p class="text-sm leading-normal text-secondary-text leading-snug opacity-80
587              line-clamp-2">Connect Claude, ChatGPT, or any LLM to real ephemeris data. No hallucinated charts.</p></div><div class="bento-expand-icon absolute top-3 right-3 z-30 w-7 h-7 rounded-full flex items-center justify-center border border-primary-text dark:border-accent-primary text-primary-text dark:text-accent-primary backdrop-blur-sm"><svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><line x1="7" y1="17" x2="17" y2="7"></line><polyline points="7 7 17 7 17 17"></polyline></svg></div></div></div></div></div></div></section><section id="" class="bg-primary-bg text-center pt-16 md:pt-28 overflow-hidden"><div class="max-w-7xl mx-auto px-4 sm:px-6 md:px-10 lg:px-20 xl:px-32 "><div class="flex flex-col md:flex-row items-end justify-between gap-4 mb-20 md:mb-32"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:0ms;opacity:0;transform:translateX(-30px)" class="flex-1"><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text text-4xl md:text-6xl font-black mb-6">Add a revenue stream in days, not months.</h2><p class="text-base leading-relaxed text-secondary-text text-secondary-text opacity-70 leading-relaxed">Building astrology from scratch means months of edge cases, versioning headaches, and data maintenance. AstrologyAPI gives you production-grade engines on day one.</p></div></div><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:20ms;opacity:0;transform:translateY(30px)" class=""><div class="grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-4 mb-32 md:mb-40"><div class="flex flex-col space-y-3 bg-primary-bg rounded-md border border-border-color p-2 px-4 transition-all duration-300 hover:border-accent-primary/30 hover:bg-accent-surface/20"><p class="text-base leading-relaxed text-accent-primary font-bold text-xs tracking-widest text-[10px]">ROI</p><div class="text-4xl lg:text-5xl font-black text-primary-text tabular-nums font-plus_jakarta_sans">384%</div><p class="text-base leading-relaxed text-secondary-text text-secondary-text opacity-70 text-[13px] leading-relaxed">Customer projects drive this return over three years by unlocking efficiency gains.</p></div><div class="flex flex-col space-y-3 bg-primary-bg rounded-md border border-border-color p-2 px-4 transition-all duration-300 hover:border-accent-primary/30 hover:bg-accent-surface/20"><p class="text-base leading-relaxed text-accent-primary font-bold text-xs tracking-widest text-[10px]">REVENUE INCREASE</p><div class="text-4xl lg:text-5xl font-black text-primary-text tabular-nums font-plus_jakarta_sans">$3.9M</div><p class="text-base leading-relaxed text-secondary-text text-secondary-text opacity-70 text-[13px] leading-relaxed">Consolidated astrology projects drove this in revenue gains by streamlining work.</p></div><div class="flex flex-col space-y-3 bg-primary-bg rounded-md border border-border-color p-2 px-4 transition-all duration-300 hover:border-accent-primary/30 hover:bg-accent-surface/20"><p class="text-base leading-relaxed text-accent-primary font-bold text-xs tracking-widest text-[10px]">HOURS SAVED</p><div class="text-4xl lg:text-5xl font-black text-primary-text tabular-nums font-plus_jakarta_sans">92,400</div><p class="text-base leading-relaxed text-secondary-text text-secondary-text opacity-70 text-[13px] leading-relaxed">Organizations saved these hours with Astrology API, reducing manual work at scale.</p></div><div class="flex flex-col space-y-3 bg-primary-bg rounded-md border border-border-color p-2 px-4 transition-all duration-300 hover:border-accent-primary/30 hover:bg-accent-surface/20"><p class="text-base leading-relaxed text-accent-primary font-bold text-xs tracking-widest text-[10px]">PAYBACK</p><div class="text-4xl lg:text-5xl font-black text-primary-text tabular-nums font-plus_jakarta_sans">&lt; 6 MO</div><p class="text-base leading-relaxed text-secondary-text text-secondary-text opacity-70 text-[13px] leading-relaxed">Customers reached payback in under six months, making it a proven investment.</p></div></div></div></div></section><section id="" class="bg-primary-bg relative z-10 overflow-hidden"><style>
588.sw-theme-ivory {
589  --sw-bg: #fbf7ef; --sw-raised: #ffffff; --sw-sunken: #f3eadb;
590  --sw-border: #e8dcc6;
590 --sw-line: #e6d9c2; --sw-text: #2e1d12; --sw-muted: #76604f;
591  --sw-accent: #a8481f; --sw-accent-ink: #fffaf2; --sw-accent-soft: #f6e4d4;
592  --sw-rose: #b3395c; --sw-sky: #2c6390; --sw-leaf: #3a7a4b; --sw-gold: #9a6a12;
593}
594.sw-theme-sage {
595  --sw-bg: #f2f5f0; --sw-raised: #ffffff; --sw-sunken: #e6ece2;
596  --sw-border: #d6dfd0; --sw-line: #d9e2d3; --sw-text: #16281d; --sw-muted: #536659;
597  --sw-accent: #2b6a4e; --sw-accent-ink: #f2fbf5; --sw-accent-soft: #dcebe1;
598  --sw-rose: #b3395c; --sw-sky: #2c6390; --sw-leaf: #2b6a4e; --sw-gold: #946510;
599}
600.sw-theme-dusk {
601  --sw-bg: #f9f2f5; --sw-raised: #ffffff; --sw-sunken: #f1e5eb;
602  --sw-border: #ebdbe3; --sw-line: #eadbe2; --sw-text: #33172a; --sw-muted: #775768;
603  --sw-accent: #a3365f; --sw-accent-ink: #fff6fa; --sw-accent-soft: #f5dfe8;
604  --sw-rose: #a3365f; --sw-sky: #3b5f9a; --sw-leaf: #3a7a4b; --sw-gold: #946510;
605}
606.sw-theme-midnight {
607  --sw-bg: #151a33; --sw-raised: #1f2749; --sw-sunken: #10142a;
608  --sw-border: #2c3563; --sw-line: #2e3868; --sw-text: #eef0fb; --sw-muted: #a8afd3;
609  --sw-accent: #e9c46a; --sw-accent-ink: #1a1a2e; --sw-accent-soft: rgba(233, 196, 106, 0.16);
610  --sw-rose: #f59ab4; --sw-sky: #93c5fd; --sw-leaf: #8fd8a8; --sw-gold: #e9c46a;
611}
612.sw-theme-ink {
613  --sw-bg: #12161b; --sw-raised: #1b2128; --sw-sunken: #0c0f13;
614  --sw-border: #28313b; --sw-line: #2c3540; --sw-text: #e8edf2; --sw-muted: #9aa7b4;
615  --sw-accent: #7fd0e0; --sw-accent-ink: #0a1518; --sw-accent-soft: rgba(127, 208, 224, 0.14);
616  --sw-rose: #f59ab4; --sw-sky: #7fd0e0; --sw-leaf: #8fd8a8; --sw-gold: #efc86e;
617}
618.dark .sw-theme-ivory {
619  --sw-bg: #18130e; --sw-raised: #241c14; --sw-sunken: #110d09;
620  --sw-border: #372b20; --sw-line: #3a2e22; --sw-text: #f3e9dc; --sw-muted: #b39f89;
621  --sw-accent: #eb9a63; --sw-accent-ink: #1a120b; --sw-accent-soft: rgba(235, 154, 99, 0.16);
622  --sw-rose: #f28aa6; --sw-sky: #8cc0e8; --sw-leaf: #8fcf9c; --sw-gold: #e9c46a;
623}
624.dark .sw-theme-sage {
625  --sw-bg: #0f1612; --sw-raised: #17221b; --sw-sunken: #0a100c;
626  --sw-border: #243429; --sw-line: #26372c; --sw-text: #e2eee6; --sw-muted: #98ad9f;
627  --sw-accent: #7cc49a; --sw-accent-ink: #0b1510; --sw-accent-soft: rgba(124, 196, 154, 0.15);
628  --sw-rose: #f28aa6; --sw-sky: #8cc0e8; --sw-leaf: #7cc49a; --sw-gold: #e9c46a;
629}
630.dark .sw-theme-dusk {
631  --sw-bg: #1a1016; --sw-raised: #26171f; --sw-sunken: #120a0f;
632  --sw-border: #3a2432; --sw-line: #3d2635; --sw-text: #f5e6ee; --sw-muted: #c1a1b2;
633  --sw-accent: #ec8fb4; --sw-accent-ink: #1e0f17; --sw-accent-soft: rgba(236, 143, 180, 0.15);
634  --sw-rose: #ec8fb4; --sw-sky: #9bb8ef; --sw-leaf: #8fcf9c; --sw-gold: #e9c46a;
635}
636.dark .sw-theme-midnight {
637  --sw-bg: #0f1328; --sw-raised: #1a2043; --sw-sunken: #0a0d1e; --sw-border: #252d57; --sw-line: #283061;
638}
639.dark .sw-theme-ink {
640  --sw-bg: #0c0f13; --sw-raised: #161c22; --sw-sunken: #07090c; --sw-border: #222a33; --sw-line: #252e38;
641}
642
643/* ------------------------------ marquee ------------------------------ */
644
645.wall-viewport {
646  --wall-fade-top: 48px;
647  --wall-fade-bottom: 96px;
648  height: 600px;
649  overflow: hidden;
650  overflow: clip; /* focus() must never scroll the wall itself */
651  -webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--wall-fade-top), #000 calc(100% - var(--wall-fade-bottom)), transparent 100%);
652  mask-image: linear-gradient(to bottom, transparent 0, #000 var(--wall-fade-top), #000 calc(100% - var(--wall-fade-bottom)), transparent 100%);
653}
654@media (min-width: 1024px) {
655  .wall-viewport { height: 720px; }
656}
657.wall-track {
658  display: flex;
659  flex-direction: column;
660  will-change: transform;
661  animation: wallScroll var(--wall-duration, 60s) linear infinite;
662}
663.wall-track-down { animation-direction: reverse; }
664.wall-column:hover .wall-track,
665.wall-column:focus-within .wall-track,
666.wall-paused .wall-track,
667.wall-paused .wall-ticker-track {
668  animation-play-state: paused;
669}
670@keyframes wallScroll {
671  from { transform: translate3d(0, 0, 0); }
672  to { transform: translate3d(0, -50%, 0); }
673}
674.wall-copy {
675  display: flex;
676  flex-direction: column;
677  gap: 20px;
678  padding-bottom: 20px;
679}
680
681/* ------------------------------ card chrome ------------------------------ */
682
683.sw-card {
684  position: relative;
685  display: flex;
686  flex-direction: column;
687  gap: 14px;
688  padding: 16px 16px 0;
689  border-radius: 20px;
690  border: 1px solid var(--sw-border);
691  background: var(--sw-bg);
692  color: var(--sw-text);
693  font-size: 13px;
694  line-height: 1.45;
695  overflow: hidden;
696  box-shadow: 0 1px 2px rgba(20, 16, 40, 0.06), 0 18px 36px -20px rgba(20, 16, 40, 0.3);
697  transition: box-shadow 0.3s ease, border-color 0.3s ease;
698}
699.sw-card:hover,
700.sw-card:focus-within {
701  border-color: color-mix(in srgb, var(--sw-accent) 45%, var(--sw-border));
702  box-shadow: 0 1px 2px rgba(20, 16, 40, 0.08), 0 24px 44px -20px rgba(20, 16, 40, 0.38);
703}
704.dark .sw-card {
705  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.02), 0 24px 48px -24px rgba(0, 0, 0, 0.9);
706}
707.dark .sw-card:hover,
708.dark .sw-card:focus-within {
709  box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.03), 0 28px 56px -24px rgba(0, 0, 0, 0.95);
710}
711.sw-card :focus { outline: none; }
712.sw-card :focus-visible {
713  outline: 2px solid var(--sw-accent);
714  outline-offset: 2px;
715}
716
717.sw-appbar { display: flex; align-items: center; gap: 8px;
717 min-height: 26px; }
718.sw-monogram {
719  display: inline-flex; align-items: center; justify-content: center;
720  width: 26px; height: 26px; border-radius: 8px; flex: none;
721  background: var(--sw-accent); color: var(--sw-accent-ink);
722  font-size: 12px; font-weight: 800; letter-spacing: -0.02em;
723}
724.sw-appname { font-size: 14px; font-weight: 700; letter-spacing: -0.01em; }
725.sw-appmeta { margin-left: auto; font-size: 11px; color: var(--sw-muted); white-space: nowrap; }
726
727.sw-muted { color: var(--sw-muted); }
728.sw-accent { color: var(--sw-accent); }
729.sw-label {
730  font-size: 11px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase;
731  color: var(--sw-muted);
732}
733.sw-title { font-size: 16px; font-weight: 700; letter-spacing: -0.01em; line-height: 1.25; }
734.sw-num { font-variant-numeric: tabular-nums; }
735.sw-mono { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; }
736.sw-panel {
737  background: var(--sw-raised);
738  border: 1px solid var(--sw-line);
739  border-radius: 14px;
740}
741.sw-well { background: var(--sw-sunken); border-radius: 12px; }
742.sw-hair { border-color: var(--sw-line); }
743
744/* Segmented control */
745.sw-seg { display: flex; gap: 2px; padding: 3px; border-radius: 11px; background: var(--sw-sunken); }
746.sw-seg-btn {
747  flex: 1; min-width: 0; height: 30px; padding: 0 8px; border-radius: 8px;
748  font-size: 12px; font-weight: 600; color: var(--sw-muted);
749  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
750  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
751}
752.sw-seg-btn:hover { color: var(--sw-text); }
753.sw-seg-btn[aria-pressed='true'],
754.sw-seg-btn[aria-selected='true'] {
755  background: var(--sw-raised); color: var(--sw-text);
756  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12), 0 0 0 1px var(--sw-line);
757}
758
759/* Buttons, inputs, chips */
760.sw-btn {
761  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
762  height: 36px; padding: 0 14px; border-radius: 10px;
763  font-size: 13px; font-weight: 700;
764  background: var(--sw-accent); color: var(--sw-accent-ink);
765  transition: filter 0.2s ease, transform 0.15s ease;
766}
767.sw-btn:hover { filter: brightness(1.06); }
768.sw-btn:active { transform: scale(0.98); }
769.sw-btn:disabled { opacity: 0.55; cursor: default; }
770.sw-input {
771  height: 36px; min-width: 0; padding: 0 12px; border-radius: 10px;
772  background: var(--sw-raised); color: var(--sw-text);
773  border: 1px solid var(--sw-line); font-size: 13px;
774  transition: border-color 0.2s ease;
775}
776.sw-input::placeholder { color: var(--sw-muted); }
777.sw-input:focus-visible { outline-offset: 0; }
778.sw-chip {
779  display: inline-flex; align-items: center; gap: 4px;
780  height: 24px; padding: 0 9px; border-radius: 999px;
781  font-size: 11px; font-weight: 600; white-space: nowrap;
782  background: var(--sw-accent-soft); color: var(--sw-accent);
783}
784.sw-chip-quiet { background: var(--sw-sunken); color: var(--sw-muted); }
785
786/* ---------------------------- powered-by strip ---------------------------- */
787
788.sw-footer {
789  position: relative;
790  height: 48px;
791  margin: 0 -16px;
792  border-top: 1px solid var(--sw-line);
793  font-size: 11px;
794}
795.sw-footer-layer {
796  position: absolute; inset: 0;
797  display: flex; align-items: center; gap: 8px;
798  padding: 0 16px;
799  transition: opacity 0.25s ease, transform 0.25s ease;
800}
801.sw-footer-meta { color: var(--sw-muted); }
802.sw-footer-api {
803  flex-direction: column; align-items: flex-start; justify-content: center; gap: 1px;
804  padding: 0 14px;
805  opacity: 0; transform: translateY(6px); background: var(--sw-accent-soft);
806}
807.sw-card:hover .sw-footer-meta,
808.sw-card:focus-within .sw-footer-meta { opacity: 0; transform: translateY(-6px); }
809.sw-card:hover .sw-footer-api,
810.sw-card:focus-within .sw-footer-api { opacity: 1; transform: none; }
811@media (hover: none) {
812  .sw-footer-meta { display: none; }
813  .sw-footer-api { opacity: 1; transform: none; }
814}
815.sw-api-tag {
816  flex: none; font-size: 11px; font-weight: 700; line-height: 1.3; color: var(--sw-accent);
817}
818.sw-api-links { display: flex; align-items: center; gap: 12px; min-width: 0; max-width: 100%; }
819.sw-api-link {
820  display: inline-block; min-width: 0; max-width: 100%;
821  font-size: 11px; font-weight: 600; letter-spacing: -0.01em;
822  color: var(--sw-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
823  text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 3px;
824  transition: text-decoration-color 0.2s ease;
825}
826.sw-api-link:hover { text-decoration-color: currentColor; }
827
828/* ------------------------------ motion bits ------------------------------ */
829
830.sw-fade-swap { animation: swFadeSwap 0.35s cubic-bezier(0.22, 1, 0.36, 1) both; }
831@keyframes swFadeSwap {
832  from { opacity: 0; transform: translateY(5px); }
833  to { opacity: 1; transform: none; }
834}
835.sw-ease { transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1); }
836.wall-ticker-track {
837  display: inline-flex; white-space: nowrap;
838  animation: wallTicker 36s linear infinite;
839}
840@keyframes wallTicker {
841  from { transform: translateX(0); }
842  to { transform: translateX(-50%); }
843}
844.sw-typing-dot { animation: swTypingDot 1s ease-in-out infinite; }
845.sw-typing-dot:nth-child(2) { animation-delay: 0.15s; }
846.sw-typing-dot:nth-child(3) { animation-delay: 0.3s; }
847@keyframes swTypingDot {
848  0%, 100% { opacity: 0.3; transform: translateY(0); }
849  50% { opacity: 1; transform: translateY(-3px); }
850}
851.sw-draw-line {
852  stroke-dasharray: 400;
853  stroke-dashoffset: 400;
854  animation: swDraw 0.9s ease forwards;
855}
856@keyframes swDraw { to { stroke-dashoffset: 0; } }
857
858
859/* ------------------------------ tarot ------------------------------ */
860.tarot-scene { perspective: 700px; color: var(--sw-accent); }
861.tarot-inner {
862  position: relative; display: block; width: 100%; height: 100%;
863  transform-style: preserve-3d; transform: rotateY(180deg);
864  transition: transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
865}
866.tarot-inner.is-up { transform: rotateY(0deg); }
867.tarot-face {
868  position: absolute; inset: 0; display: block; border-radius: 12px;
869  backface-visibility: hidden; -webkit-backface-visibility: hidden;
870  border: 1px solid var(--sw-line);
871  background: linear-gradient(165deg, var(--sw-raised), var(--sw-sunken));
872  padding: 4px;
873}
874.tarot-back { transform: rotateY(180deg); }
875.tarot-scene:hover .tarot-inner.is-up { transform: rotateY(-8deg); }
876
877/* ----------------------------- widget bits ----------------------------- */
878.horo-sign {
879  background: var(--sw-raised); color: var(--sw-accent);
880  box-shadow: inset 0 0 0 1px var(--sw-line);
881  transition: background-color 0.2s ease, color 0.2s ease, transform 0.15s ease;
882}
883.horo-sign:hover { box-shadow: inset 0 0 0 1px var(--sw-accent); }
884.horo-sign[aria-checked='true'] {
885  background: var(--sw-accent); color: var(--sw-accent-ink); box-shadow: none;
886}
887.horo-sign:active { transform: scale(0.94); }
888
889.match-avatar {
890  display: inline-flex; align-items: center; justify-content: center; flex: none;
891  width: 32px; height: 32px; border-radius: 999px;
892  background: var(--sw-accent-soft); color: var(--sw-accent);
893  font-size: 13px; font-weight: 800;
894}
895
896.kundli-chart {
897  border-radius: 6px;
898  background: var(--sw-raised);
899}
900.kundli-num { font-size: 11px; font-weight: 600; color: var(--sw-muted); pointer-events: none; }
901.kundli-asc {
902  font-size: 11px; font-weight: 700; color: var(--sw-accent);
903  letter-spacing: 0.04em; pointer-events: none;
904}
905.kundli-planet {
906  display: inline-flex; align-items: center; justify-content: center;
907  min-width: 26px; height: 22px; padding: 0 5px; border-radius: 7px;
908  font-size: 12px; font-weight: 800; color: var(--sw-text);
909  transition: left 0.7s cubic-bezier(0.22, 1, 0.36, 1), top 0.7s cubic-bezier(0.22, 1, 0.36, 1),
910    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1), background-color 0.2s ease, color 0.2s ease;
911}
912.kundli-planet:hover { background: var(--sw-accent-soft); }
913.kundli-planet[aria-pressed='true'] { background: var(--sw-accent); color: var(--sw-accent-ink); }
914.kundli-badge {
915  display: inline-flex; align-items: center; justify-content: center; flex: none;
916  width: 36px; height: 36px; border-radius: 10px;
917  background: var(--sw-accent-soft); color: var(--sw-accent);
918  font-size: 13px; font-weight: 800;
919}
920
921.chat-bubble { padding: 9px 12px; border-radius: 14px; font-size: 13px; line-height: 1.45; }
922.chat-user { background: var(--sw-accent); color: var(--sw-accent-ink); border-bottom-right-radius: 4px; }
923.chat-assistant {
924  background: var(--sw-raised); color: var(--sw-text);
925  border: 1px solid var(--sw-line); border-bottom-left-radius: 4px;
926}
927.chat-suggest {
928  width: 100%; min-height: 36px; padding: 7px 12px; border-radius: 10px; text-align: left;
929  font-size: 12px; font-weight: 600; color: var(--sw-text);
930  background: var(--sw-raised); border: 1px solid var(--sw-line);
931  transition: border-color 0.2s ease, opacity 0.2s ease;
932}
933.chat-suggest:hover:not(:disabled) { border-color: var(--sw-accent); }
934.chat-suggest:disabled { opacity: 0.55; cursor: default; }
935
936.numero-tiles {
937  display: flex; gap: 4px; height: 44px; overflow: hidden;
938  -webkit-mask-image: linear-gradient(to right, #000 85%, transparent);
939  mask-image: linear-gradient(to right, #000 85%, transparent);
940}
941.numero-tile {
942  flex: none; display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
943  width: 28px; height: 44px; border-radius: 8px;
944  background: var(--sw-raised); box-shadow: inset 0 0 0 1px var(--sw-line);
945  line-height: 1.2;
946}
947.numero-result {
948  flex: none; display: inline-flex; align-items: center; justify-content: center;
949  width: 60px; height: 60px; border-radius: 16px;
950  background: var(--sw-accent); color: var(--sw-accent-ink);
951  font-size: 32px; font-weight: 800; font-variant-numeric: tabular-nums;
952}
953
954.moon-glow { border-radius: 999px; filter: drop-shadow(0 0 14px rgba(244, 241, 230, 0.22)); }
955.moon-day {
956  display: flex; flex-direction: column; align-items: center; gap: 3px;
957  padding: 6px 0; border-radius: 10px;
958  transition: background-color 0.2s ease;
959}
960.moon-day:hover { background: var(--sw-raised); }
961.moon-day[aria-pressed='true'] { background: var(--sw-raised); box-shadow: inset 0 0 0 1px var(--sw-accent); }
962
963.dasha-seg {
964  display: flex; align-items: center; justify-content: center; min-width: 0;
965  border-radius: 6px; overflow: hidden;
966  font-size: 11px; font-weight: 700;
967  background: var(--sw-sunken); color: var(--sw-muted);
968  transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
969}
970.dasha-seg[data-state='past'] { background: color-mix(in srgb, var(--sw-muted) 22%, var(--sw-sunken)); }
971.dasha-seg[data-state='now'] { background: var(--sw-accent-soft); color: var(--sw-accent); }
972.dasha-seg:hover { box-shadow: inset 0 0 0 1px var(--sw-accent); }
973.dasha-seg[aria-pressed='true'] { background: var(--sw-accent); color: var(--sw-accent-ink); }
974.dasha-now {
975  position: absolute; top: -4px; bottom: -4px; width: 2px; margin-left: -1px;
976  border-radius: 2px; background: var(--sw-text); pointer-events: none;
977}
978.dasha-ad {
979  display: flex; justify-content: space-between; gap: 8px;
980  padding: 5px 10px; border-radius: 8px; font-size: 12px;
981  background: var(--sw-raised); box-shadow: inset 0 0 0 1px var(--sw-line);
982}
983.dasha-ad[data-state='done'] { color: var(--sw-muted); background: transparent; }
984.dasha-ad[data-state='now'] { box-shadow: inset 0 0 0 1.5px var(--sw-accent); }
985
986.muhurta-event {
987  height: 32px; border-radius: 9px; font-size: 12px; font-weight: 600;
988  background: var(--sw-raised); color: var(--sw-text);
989  box-shadow: inset 0 0 0 1px var(--sw-line);
990  transition: background-color 0.2s ease, color 0.2s ease;
991}
992.muhurta-event:hover { box-shadow: inset 0 0 0 1px var(--sw-accent); }
993.muhurta-event[aria-pressed='true'] { background: var(--sw-accent); color: var(--sw-accent-ink); box-shadow: none; }
994.muhurta-day {
995  display: inline-flex; align-items: center; justify-content: center; justify-self: center;
996  width: 28px; height: 26px; border-radius: 8px; font-size: 12px;
997  transition: background-color 0.25s ease, color 0.25s ease;
998}
999.muhurta-day[data-state='good'] {
1000  background: var(--sw-accent-soft); color: var(--sw-accent); font-weight: 700;
1001  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--sw-accent) 40%, transparent);
1002}
1003.muhurta-day[data-state='pick'] { background: var(--sw-accent); color: var(--sw-accent-ink); font-weight: 800; }
1004
1005.palm-frame {
1006  width: 104px; height: 150px; padding: 4px; border-radius: 14px;
1007  background: var(--sw-sunken);
1008}
1009.palm-line { transition: stroke-width 0.3s ease, stroke-opacity 0.3s ease; }
1010.palm-row {
1011  display: flex; align-items: center; gap: 8px; width: 100%;
1012  height: 34px; padding: 0 10px; border-radius: 10px;
1013  transition: background-color 0.2s ease;
1014}
1015.palm-row:hover { background: var(--sw-raised); }
1016.palm-row[aria-pressed='true'] { background: var(--sw-raised); box-shadow: inset 0 0 0 1px var(--sw-line); }
1017
1018@media (prefers-reduced-motion: reduce) {
1019  .wall-track,
1020  .wall-ticker-track,
1021  .sw-typing-dot,
1022  .sw-fade-swap { animation: none; }
1023  .sw-draw-line { animation: none; stroke-dashoffset: 0; }
1024  .wall-copy-duplicate { display: none; }
1025  .wall-viewport {
1026    height: auto;
1027    -webkit-mask-image: none;
1028    mask-image: none;
1029  }
1030  .sw-card, .sw-card *, .sw-footer-layer { transition: none !important; }
1031}
1032</style><div class="max-w-7xl mx-auto px-4 sm:px-6 md:px-10 lg:px-20 xl:px-32 "><div class="max-w-2xl mb-12"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:0ms;opacity:0;transform:translateX(-30px)" class=""><p class="text-base leading-relaxed text-accent-primary font-bold text-xs tracking-widest mb-4">BUILT WITH ASTROLOGYAPI</p><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text text-4xl md:text-6xl font-black mb-6">The interfaces developers ship with our APIs</h2><p class="text-base leading-relaxed text-secondary-text text-secondary-text opacity-70 leading-relaxed">Each card is a screen from an app you could build on AstrologyAPI, with real chart data. Hover or tap a card to try it and see which endpoint powers it.</p></div></div></div><div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-10"><div class="wall-viewport flex gap-5 "><div class="wall-column flex-1 min-w-0 sm:hidden"><div class="wall-track "><div class="wall-copy"><article class="sw-card sw-theme-dusk" aria-label="Sunward, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Sw</span><span class="sw-appname">Sunward</span><span class="sw-appmeta">Thu, 24 Sep 2026</span></header><div role="radiogroup" aria-label="Zodiac sign" class="grid grid-cols-6 gap-1.5"><button type="button" role="radio" aria-checked="false" aria-label="Aries" title="Aries" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♈︎</button><button type="button" role="radio" aria-checked="false" aria-label="Taurus" title="Taurus" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♉︎</button><button type="button" role="radio" aria-checked="false" aria-label="Gemini" title="Gemini" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♊︎</button><button type="button" role="radio" aria-checked="false" aria-label="Cancer" title="Cancer" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♋︎</button><button type="button" role="radio" aria-checked="true" aria-label="Leo" title="Leo" tabindex="0" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♌︎</button><button type="button" role="radio" aria-checked="false" aria-label="Virgo" title="Virgo" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♍︎</button><button type="button" role="radio" aria-checked="false" aria-label="Libra" title="Libra" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♎︎</button><button type="button" role="radio" aria-checked="false" aria-label="Scorpio" title="Scorpio" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♏︎</button><button type="button" role="radio" aria-checked="false" aria-label="Sagittarius" title="Sagittarius" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♐︎</button><button type="button" role="radio" aria-checked="false" aria-label="Capricorn" title="Capricorn" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♑︎</button><button type="button" role="radio" aria-checked="false" aria-label="Aquarius" title="Aquarius" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♒︎</button><button type="button" role="radio" aria-checked="false" aria-label="Pisces" title="Pisces" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♓︎</button></div><div class="sw-panel p-3.5 flex flex-col gap-2" aria-live="polite"><div class="flex items-baseline justify-between gap-2"><span class="sw-title sw-fade-swap">Leo</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">Jul 23 – Aug 22</span></div><span class="sw-chip self-start">Focus · <!-- -->Opportunity</span>
1032<p class="sw-fade-swap text-[13px] leading-[1.5] min-h-[58px] sm:min-h-[78px]">Jupiter in your sign keeps doors open. The Sun in your 3rd house favours an overdue call.</p></div><div class="flex flex-wrap gap-1.5"><span class="sw-chip sw-chip-quiet">☉︎ Sun in Libra</span><span class="sw-chip sw-chip-quiet">☽︎ Moon in Pisces</span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Daily readings · refreshed 05:30 IST</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/horoscope/sun_sign_prediction/daily/:zodiacName" class="sw-api-link sw-mono" title="sun_sign_prediction/daily/:zodiacName docs" aria-label="sun_sign_prediction/daily/:zodiacName API docs">sun_sign_prediction/daily/leo</a></span></div></footer></article><article class="sw-card sw-theme-ink" aria-label="Ecliptica, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">E</span><span class="sw-appname">Ecliptica</span><span class="sw-appmeta">Placidus · Tropical</span></header><div class="sw-seg " role="group" aria-label="Chart layer"><button type="button" class="sw-seg-btn" aria-pressed="true">Natal</button><button type="button" class="sw-seg-btn" aria-pressed="false">Transits</button></div><svg viewBox="0 0 240 240" class="w-full h-auto" role="img" aria-label="Natal chart wheel"><circle cx="120" cy="120" r="116" fill="var(--sw-sunken)" stroke="var(--sw-line)"></circle><circle cx="120" cy="120" r="94" fill="var(--sw-bg)" stroke="var(--sw-line)"></circle><circle cx="120" cy="120" r="48" fill="none" stroke="var(--sw-line)"></circle><g><line x1="200.62" y1="168.33" x2="219.49" y2="179.64" stroke="var(--sw-line)"></line><text x="220.96" y="148.84" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♈︎</text></g><g><line x1="213.99" y1="121.54" x2="235.98" y2="121.9" stroke="var(--sw-line)"></line><text x="221.85" y="94.49" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♉︎</text></g><g><line x1="202.17" y1="74.34" x2="221.4" y2="63.66" stroke="var(--sw-line)"></line><text x="195.45" y="46.98" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♊︎</text></g><g><line x1="168.33" y1="39.38" x2="179.64" y2="20.51" stroke="var(--sw-line)"></line><text x="148.84" y="19.04" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♋︎</text></g><g><line x1="121.54" y1="26.01" x2="121.9" y2="4.02" stroke="var(--sw-line)"></line><text x="94.49" y="18.15" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♌︎</text></g><g><line x1="74.34" y1="37.83" x2="63.66" y2="18.6" stroke="var(--sw-line)"></line><text x="46.98" y="44.55" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♍︎</text></g><g><line x1="39.38" y1="71.67" x2="20.51" y2="60.36" stroke="var(--sw-line)"></line><text x="19.04" y="91.16" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♎︎</text></g><g><line x1="26.01" y1="118.46" x2="4.02" y2="118.1" stroke="var(--sw-line)"></line><text x="18.15" y="145.51" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♏︎</text></g><g><line x1="37.83" y1="165.66" x2="18.6" y2="176.34" stroke="var(--sw-line)"></line><text x="44.55" y="193.02" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♐︎</text></g><g><line x1="71.67" y1="200.62" x2="60.36" y2="219.49" stroke="var(--sw-line)"></line><text x="91.16" y="220.96" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♑︎</text></g><g><line x1="118.46" y1="213.99" x2="118.1" y2="235.98" stroke="var(--sw-line)"></line><text x="145.51" y="221.85" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♒︎</text></g><g><line x1="165.66" y1="202.17" x2="176.34" y2="221.4" stroke="var(--sw-line)"></line><text x="193.02" y="195.45" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♓︎</text></g><line x1="4" y1="120" x2="72" y2="120" stroke="var(--sw-accent)" stroke-width="1.5"></line><line x1="108.2" y1="4.6" x2="115.12" y2="72.25" stroke="var(--sw-accent)" stroke-width="1.5" stroke-opacity="0.6"></line><text x="30" y="114" font-size="11.5" font-weight="700" fill="var(--sw-accent)">AC</text><text x="126.22" y="62.33" font-size="11.5" font-weight="700" fill="var(--sw-accent)" text-anchor="middle" dominant-baseline="central" fill-opacity="0.8">MC</text><g><line x1="108.85" y1="73.31" x2="86.43" y2="154.31" class="sw-draw-line" stroke="var(--sw-leaf)" stroke-width="1.6"></line><line x1="108.85" y1="73.31" x2="72.62" y2="127.71" class="sw-draw-line" stroke="var(--sw-rose)" stroke-width="1.6"></line><line x1="89.31" y1="83.09" x2="72.62" y2="127.71" class="sw-draw-line" stroke="var(--sw-sky)" stroke-width="1.6"></line><g class="sw-fade-swap"><line x1="99.33" y1="33.43" x2="98.17" y2="28.57" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="101.42" y="42.19" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☉︎</text>
1032<circle cx="108.85" cy="73.31" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="57.75" y1="183.61" x2="54.26" y2="187.18" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="64.05" y="177.18" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☽︎</text><circle cx="86.43" cy="154.31" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="63.1" y1="51.56" x2="59.91" y2="47.72" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="68.86" y="58.48" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☿︎</text><circle cx="89.31" cy="83.09" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="78.67" y1="41.18" x2="76.35" y2="36.75" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="82.85" y="49.15" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♀︎</text><circle cx="97.71" cy="77.49" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="38.38" y1="155.49" x2="33.8" y2="157.48" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="46.64" y="151.9" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♂︎</text><circle cx="75.98" cy="139.14" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="79.62" y1="199.31" x2="77.35" y2="203.77" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="83.71" y="191.29" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♃︎</text><circle cx="98.22" cy="162.78" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="32.15" y1="134.29" x2="27.22" y2="135.09" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="41.04" y="132.85" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♄︎</text><circle cx="72.62" cy="127.71" r="2.2" fill="var(--sw-accent)"></circle></g></g></svg><ul class="flex flex-col gap-1.5" aria-live="polite"><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-leaf)"></span><span class="flex-1 truncate">☉︎ trine ☽︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->2°11′</span></li><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-rose)"></span><span class="flex-1 truncate">☉︎ square ♄︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->4°11′</span></li><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-sky)"></span><span class="flex-1 truncate">☿︎ sextile ♄︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->0°30′</span></li></ul><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Aug 1984 · 12:31 · New York</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/western/western_horoscope" class="sw-api-link sw-mono" title="western_horoscope docs" aria-label="western_horoscope API docs">western_horoscope</a></span></div></footer></article><article class="sw-card sw-theme-ivory" aria-label="Grahaline, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">G</span><span class="sw-appname">Grahaline</span><span class="sw-appmeta">Birth chart</span></header><div class="sw-seg " role="group" aria-label="Chart"><button type="button" class="sw-seg-btn" aria-pressed="true">Lagna D1</button><button type="button" class="sw-seg-btn" aria-pressed="false">Navamsa D9</button></div><div class="relative w-full aspect-square kundli-chart"><svg viewBox="0 0 100 100" preserveAspectRatio="none" class="absolute inset-0 w-full h-full" aria-hidden="true"><path d="M 0.5 0.5 H 99.5 V 99.5 H 0.5 Z M 0.5 0.5 L 99.5 99.5 M 99.5 0.5 L 0.5 99.5 M 50 0.5 L 99.5 50 L 50 99.5 L 0.5 50 Z" fill="none" stroke="var(--sw-accent)" stroke-opacity="0.55" stroke-width="1.2" vector-effect="non-scaling-stroke"></path><path d="M 50 0.5 L 75 25 L 50 50 L 25 25 Z" fill="var(--sw-accent)" fill-opacity="0.07"></path></svg><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;
1032top:41.75%" aria-hidden="true">4</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:25%;top:19%" aria-hidden="true">5</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:19%;top:25%" aria-hidden="true">6</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:41.75%;top:50%" aria-hidden="true">7</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:19%;top:75%" aria-hidden="true">8</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:25%;top:81%" aria-hidden="true">9</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:58.25%" aria-hidden="true">10</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:75%;top:81%" aria-hidden="true">11</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:81%;top:75%" aria-hidden="true">12</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:58.25%;top:50%" aria-hidden="true">1</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:81%;top:25%" aria-hidden="true">2</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:75%;top:19%" aria-hidden="true">3</span><span class="kundli-asc absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:31%" aria-hidden="true">Asc</span><button type="button" aria-pressed="false" aria-label="Sun, house 12" class="kundli-planet absolute" style="left:75%;top:8%;transform:translate(-50%, -50%) translate(0px, 0px)">Su</button><button type="button" aria-pressed="true" aria-label="Moon, house 7" class="kundli-planet absolute" style="left:50%;top:77.5%;transform:translate(-50%, -50%) translate(0px, 0px)">Mo</button><button type="button" aria-pressed="false" aria-label="Mars, house 2" class="kundli-planet absolute" style="left:25%;top:8%;transform:translate(-50%, -50%) translate(0px, 0px)">Ma</button><button type="button" aria-pressed="false" aria-label="Mercury, house 1" class="kundli-planet absolute" style="left:50%;top:18%;transform:translate(-50%, -50%) translate(0px, 0px)">Me</button><button type="button" aria-pressed="false" aria-label="Jupiter, house 3" class="kundli-planet absolute" style="left:8.5%;top:25%;transform:translate(-50%, -50%) translate(0px, 0px)">Ju</button><button type="button" aria-pressed="false" aria-label="Venus, house 11" class="kundli-planet absolute" style="left:91.5%;top:25%;transform:translate(-50%, -50%) translate(0px, -11px)">Ve</button><button type="button" aria-pressed="false" aria-label="Saturn, house 8" class="kundli-planet absolute" style="left:75%;top:92%;transform:translate(-50%, -50%) translate(0px, 0px)">Sa</button><button type="button" aria-pressed="false" aria-label="Rahu, house 5" class="kundli-planet absolute" style="left:8.5%;top:75%;transform:translate(-50%, -50%) translate(0px, 0px)">Ra</button><button type="button" aria-pressed="false" aria-label="Ketu, house 11" class="kundli-planet absolute" style="left:91.5%;top:25%;transform:translate(-50%, -50%) translate(0px, 11px)">Ke</button></div><div class="sw-panel px-3.5 py-3 flex items-center gap-3 h-[80px]" aria-l
1032ive="polite"><span class="kundli-badge">Mo</span><span class="flex flex-col min-w-0 sw-fade-swap leading-snug"><span class="text-[13px] font-bold truncate">Moon<!-- --> <span class="font-medium sw-muted">· House <!-- -->7</span></span><span class="text-[12px] truncate">Makara 15°19′</span><span class="text-[12px] sw-muted truncate">Shravana nakshatra · pada 2</span></span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Jul 1993 · 08:00 · New Delhi</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/horo_chart/:chart_id" class="sw-api-link sw-mono" title="horo_chart/:chart_id docs" aria-label="horo_chart/:chart_id API docs">horo_chart/D1</a><a href="/developers/v1/vedic/planets" class="sw-api-link sw-mono" title="planets docs" aria-label="planets API docs">planets</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Ask Vela, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">V</span><span class="sw-appname">Ask Vela</span><span class="sw-appmeta">Scorpio rising</span></header><div class="h-[228px] overflow-hidden flex flex-col justify-end gap-2.5" aria-live="polite"><div class="sw-fade-swap flex flex-col gap-1.5 max-w-[88%] self-end items-end"><div class="chat-bubble chat-user">Is this a good year to change jobs?</div></div><div class="sw-fade-swap flex flex-col gap-1.5 max-w-[88%] self-start"><div class="chat-bubble chat-assistant">Yes, it is a strong window. Jupiter moves through your 10th house of career from 30 Jun 2026 to 26 Jul 2027.</div><div class="flex flex-wrap gap-1"><span class="sw-chip">♃︎ Jupiter in 10th</span><span class="sw-chip">Scorpio rising</span></div></div></div><div class="flex flex-col gap-1.5"><span class="sw-label">Ask next</span><div class="flex flex-col gap-1.5 min-h-[78px]"><button type="button" class="chat-suggest">When should I ask for a raise?</button><button type="button" class="chat-suggest">Anything to watch out for?</button></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Answers cite your birth chart</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/chat-api" class="sw-api-link sw-mono" title="api/chat docs" aria-label="api/chat API docs">api/chat</a><a href="/developers/v1/western/western_horoscope" class="sw-api-link sw-mono" title="western_horoscope docs" aria-label="western_horoscope API docs">western_horoscope</a></span></div></footer></article><article class="sw-card sw-theme-dusk" aria-label="Pairwise, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">P</span><span class="sw-appname">Pairwise</span><span class="sw-appmeta">Kundli milan</span></header><div class="flex items-center gap-3"><span class="flex flex-none" aria-hidden="true"><span class="match-avatar ">A</span><span class="match-avatar -ml-2">D</span></span><span class="flex flex-col min-w-0 leading-snug"><span class="text-[14px] font-bold">Aarav<!-- --> &amp; <!-- -->Diya</span><span class="text-[11px] sw-muted truncate">Hasta<!-- --> × <!-- -->Swati<!-- --> · <!-- -->Kanya<!-- --> × <!-- -->Tula<!-- --> Moon</span></span></div><div class="sw-seg " role="group" aria-label="Result view"><button type="button" class="sw-seg-btn" aria-pressed="true">Summary</button><button type="button" class="sw-seg-btn" aria-pressed="false">8 kootas</button></div><div class="sw-panel p-3.5 h-[206px]" aria-live="polite"><div class="flex flex-col items-center gap-2"><div class="relative" style="width:180px;height:96px"><svg width="180" height="96" viewBox="0 0 180 96" aria-hidden="true"><path d="M 20 86 A 70 70 0 0 1 160 86" fill="none" stroke="var(--sw-sunken)" stroke-width="12" stroke-linecap="round"></path><path d="M 20 86 A 70 70 0 0 1 160 86" fill="none" stroke="var(--sw-accent)" stroke-width="12" stroke-linecap="round" stroke-dasharray="219.91" stroke-dashoffset="51.92"></path></svg><div class="absolute inset-x-0 bottom-0 flex flex-col items-center leading-none"><span class="text-[30px] font-extrabold sw-num tracking-tight">27.5<span class="text-[14px] font-semibold sw-muted"> / <!-- -->36</span></span></div></div><span class="sw-chip">Strong match</span><ul class="flex flex-col gap-1 self-stretch"><li class="flex items-center gap-2 text-[12px]"><svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" class="flex-none"><circle cx="7" cy="7" r="7" fill="var(--sw-accent-soft)"></circle><path d="M4 7.2 6.1 9.2 10 5" fill="none" stroke="var(--sw-accent)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Bhakoot dosha cancelled</li><li class="flex items-center gap-2 text-[12px]"><svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" class="flex-none"><circle cx="7" cy="7" r="7" fill="var(--sw-accent-soft)"></circle><path d="M4 7.2 6.1 9.2 10 5" fill="none" stroke="var(--sw-accent)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Neither is Manglik</li></ul></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Ashtakoot · North Indian method</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/match_ashtakoot_points" class="sw-api-link sw-mono" title="match_ashtakoot_points docs" aria-label="match_ashtakoot_points API docs">match_ashtakoot_points</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Nightdeck, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">N</span><span class="sw-appname">Nightdeck</span><span class="sw-appmeta">Card of the day</span></header><div class="flex gap-4 items-center"><button type="button" aria-label="The Star. Draw another card" class="tarot-scene flex-none rounded-xl" style="width:104px;
1032height:166px"><span class="tarot-inner is-up"><span class="tarot-face tarot-back" aria-hidden="true"><svg viewBox="0 0 60 96" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="0.8"><rect x="5" y="5" width="50" height="86" rx="4"></rect><polygon points="30,36 31.72,43.84 38.49,39.51 34.16,46.28 42,48 34.16,49.72 38.49,56.49 31.72,52.16 30,60 28.28,52.16 21.51,56.49 25.84,49.72 18,48 25.84,46.28 21.51,39.51 28.28,43.84" fill="currentColor" fill-opacity="0.25"></polygon><circle cx="30" cy="48" r="18" stroke-opacity="0.6"></circle><circle cx="30" cy="48" r="24" stroke-opacity="0.35"></circle></svg></span><span class="tarot-face tarot-front" aria-hidden="true"><svg viewBox="0 0 60 96" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="52" height="88" rx="3.5" stroke-opacity="0.5"></rect><text x="30" y="14" text-anchor="middle" font-size="7.5" font-weight="700" fill="currentColor" stroke="none" letter-spacing="0.5">XVII</text><g><g><polygon points="30,27 31.91,35.38 39.19,30.81 34.62,38.09 43,40 34.62,41.91 39.19,49.19 31.91,44.62 30,53 28.09,44.62 20.81,49.19 25.38,41.91 17,40 25.38,38.09 20.81,30.81 28.09,35.38" fill="currentColor" fill-opacity="0.18"></polygon><polygon points="14,18.5 14.99,21.01 17.5,22 14.99,22.99 14,25.5 13.01,22.99 10.5,22 13.01,21.01" fill="currentColor" stroke="none"></polygon><polygon points="46,18.5 46.99,21.01 49.5,22 46.99,22.99 46,25.5 45.01,22.99 42.5,22 45.01,21.01" fill="currentColor" stroke="none"></polygon><polygon points="12,46.5 12.99,49.01 15.5,50 12.99,50.99 12,53.5 11.01,50.99 8.5,50 11.01,49.01" fill="currentColor" stroke="none"></polygon><polygon points="48,46.5 48.99,49.01 51.5,50 48.99,50.99 48,53.5 47.01,50.99 44.5,50 47.01,49.01" fill="currentColor" stroke="none"></polygon><path d="M 10 70 Q 20 66 30 70 T 50 70 M 12 76 Q 22 72 32 76 T 50 76"></path></g></g></svg></span></span></button><div class="flex flex-col gap-1.5 min-w-0" aria-live="polite"><span class="sw-label">Major · XVII</span><span class="sw-title sw-fade-swap">The Star</span><span class="text-[11px] font-semibold sw-accent">Hope · Renewal · Calm</span><p class="text-[13px] leading-snug">After a hard stretch, things settle. Rest and let hope back in.</p></div></div><p class="text-[11px] sw-muted -mt-1">Tap the card to draw again</p><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Rider–Waite–Smith · 78 cards</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/tarot/tarot_predictions" class="sw-api-link sw-mono" title="tarot_predictions docs" aria-label="tarot_predictions API docs">tarot_predictions</a></span></div></footer></article><article class="sw-card sw-theme-ivory" aria-label="Tithi Today, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">T</span><span class="sw-appname">Tithi Today</span><span class="sw-appmeta">New Delhi</span></header><div class="flex flex-col gap-0.5"><span class="text-[11px] sw-muted">Thu, 24 Sep 2026</span><span class="sw-title">Bhadrapada Shukla Trayodashi</span></div><div class="sw-seg " role="group" aria-label="Panchang view"><button type="button" class="sw-seg-btn" aria-pressed="true">Panchang</button><button type="button" class="sw-seg-btn" aria-pressed="false">Timings</button></div><div class="sw-panel px-3.5 py-2.5 h-[204px]" aria-live="polite"><dl class="flex flex-col sw-fade-swap"><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] "><dt class="text-[12px] sw-muted">Tithi</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Trayodashi</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 23:18</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Nakshatra</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Dhanishta</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 10:34</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Yoga</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Dhriti</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">
1032till 15:53</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Karana</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Kaulava</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 11:09</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Vara</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Guruvara</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">Thursday</span></dd></div></dl></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Lahiri ayanamsa · Amanta month</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/advanced_panchang" class="sw-api-link sw-mono" title="advanced_panchang docs" aria-label="advanced_panchang API docs">advanced_panchang</a></span></div></footer></article></div><div class="wall-copy wall-copy-duplicate" aria-hidden="true"><article class="sw-card sw-theme-dusk" aria-label="Sunward, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Sw</span><span class="sw-appname">Sunward</span><span class="sw-appmeta">Thu, 24 Sep 2026</span></header><div role="radiogroup" aria-label="Zodiac sign" class="grid grid-cols-6 gap-1.5"><button type="button" role="radio" aria-checked="false" aria-label="Aries" title="Aries" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♈︎</button><button type="button" role="radio" aria-checked="false" aria-label="Taurus" title="Taurus" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♉︎</button><button type="button" role="radio" aria-checked="false" aria-label="Gemini" title="Gemini" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♊︎</button><button type="button" role="radio" aria-checked="false" aria-label="Cancer" title="Cancer" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♋︎</button><button type="button" role="radio" aria-checked="true" aria-label="Leo" title="Leo" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♌︎</button><button type="button" role="radio" aria-checked="false" aria-label="Virgo" title="Virgo" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♍︎</button><button type="button" role="radio" aria-checked="false" aria-label="Libra" title="Libra" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♎︎</button><button type="button" role="radio" aria-checked="false" aria-label="Scorpio" title="Scorpio" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♏︎</button><button type="button" role="radio" aria-checked="false" aria-label="Sagittarius" title="Sagittarius" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♐︎</button><button type="button" role="radio" aria-checked="false" aria-label="Capricorn" title="Capricorn" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♑︎</button><button type="button" role="radio" aria-checked="false" aria-label="Aquarius" title="Aquarius" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♒︎</button><button type="button" role="radio" aria-checked="false" aria-label="Pisces" title="Pisces" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♓︎</button></div><div class="sw-panel p-3.5 flex flex-col gap-2" aria-live="polite"><div class="flex items-baseline justify-between gap-2"><span class="sw-title sw-fade-swap">Leo</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">Jul 23 – Aug 22</span></div><span class="sw-chip self-start">Focus · <!-- -->Opportunity</span>
1032<p class="sw-fade-swap text-[13px] leading-[1.5] min-h-[58px] sm:min-h-[78px]">Jupiter in your sign keeps doors open. The Sun in your 3rd house favours an overdue call.</p></div><div class="flex flex-wrap gap-1.5"><span class="sw-chip sw-chip-quiet">☉︎ Sun in Libra</span><span class="sw-chip sw-chip-quiet">☽︎ Moon in Pisces</span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Daily readings · refreshed 05:30 IST</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/horoscope/sun_sign_prediction/daily/:zodiacName" class="sw-api-link sw-mono" title="sun_sign_prediction/daily/:zodiacName docs" aria-label="sun_sign_prediction/daily/:zodiacName API docs" tabindex="-1">sun_sign_prediction/daily/leo</a></span></div></footer></article><article class="sw-card sw-theme-ink" aria-label="Ecliptica, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">E</span><span class="sw-appname">Ecliptica</span><span class="sw-appmeta">Placidus · Tropical</span></header><div class="sw-seg " role="group" aria-label="Chart layer"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Natal</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">Transits</button></div><svg viewBox="0 0 240 240" class="w-full h-auto" role="img" aria-label="Natal chart wheel"><circle cx="120" cy="120" r="116" fill="var(--sw-sunken)" stroke="var(--sw-line)"></circle><circle cx="120" cy="120" r="94" fill="var(--sw-bg)" stroke="var(--sw-line)"></circle><circle cx="120" cy="120" r="48" fill="none" stroke="var(--sw-line)"></circle><g><line x1="200.62" y1="168.33" x2="219.49" y2="179.64" stroke="var(--sw-line)"></line><text x="220.96" y="148.84" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♈︎</text></g><g><line x1="213.99" y1="121.54" x2="235.98" y2="121.9" stroke="var(--sw-line)"></line><text x="221.85" y="94.49" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♉︎</text></g><g><line x1="202.17" y1="74.34" x2="221.4" y2="63.66" stroke="var(--sw-line)"></line><text x="195.45" y="46.98" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♊︎</text></g><g><line x1="168.33" y1="39.38" x2="179.64" y2="20.51" stroke="var(--sw-line)"></line><text x="148.84" y="19.04" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♋︎</text></g><g><line x1="121.54" y1="26.01" x2="121.9" y2="4.02" stroke="var(--sw-line)"></line><text x="94.49" y="18.15" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♌︎</text></g><g><line x1="74.34" y1="37.83" x2="63.66" y2="18.6" stroke="var(--sw-line)"></line><text x="46.98" y="44.55" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♍︎</text></g><g><line x1="39.38" y1="71.67" x2="20.51" y2="60.36" stroke="var(--sw-line)"></line><text x="19.04" y="91.16" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♎︎</text></g><g><line x1="26.01" y1="118.46" x2="4.02" y2="118.1" stroke="var(--sw-line)"></line><text x="18.15" y="145.51" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♏︎</text></g><g><line x1="37.83" y1="165.66" x2="18.6" y2="176.34" stroke="var(--sw-line)"></line><text x="44.55" y="193.02" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♐︎</text></g><g><line x1="71.67" y1="200.62" x2="60.36" y2="219.49" stroke="var(--sw-line)"></line><text x="91.16" y="220.96" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♑︎</text></g><g><line x1="118.46" y1="213.99" x2="118.1" y2="235.98" stroke="var(--sw-line)"></line><text x="145.51" y="221.85" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♒︎</text></g><g><line x1="165.66" y1="202.17" x2="176.34" y2="221.4" stroke="var(--sw-line)"></line><text x="193.02" y="195.45" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♓︎</text></g><line x1="4" y1="120" x2="72" y2="120" stroke="var(--sw-accent)" stroke-width="1.5"></line><line x1="108.2" y1="4.6" x2="115.12" y2="72.25" stroke="var(--sw-accent)" stroke-width="1.5" stroke-opacity="0.6"></line><text x="30" y="114" font-size="11.5" font-weight="700" fill="var(--sw-accent)">AC</text><text x="126.22" y="62.33" font-size="11.5" font-weight="700" fill="var(--sw-accent)" text-anchor="middle" dominant-baseline="central" fill-opacity="0.8">MC</text><g><line x1="108.85" y1="73.31" x2="86.43" y2="154.31" class="sw-draw-line" stroke="var(--sw-leaf)" stroke-width="1.6"></line><line x1="108.85" y1="73.31" x2="72.62" y2="127.71" class="sw-draw-line" stroke="var(--sw-rose)" stroke-width="1.6"></line><line x1="89.31" y1="83.09" x2="72.62" y2="127.71" class="sw-draw-line" stroke="var(--sw-sky)" stroke-width="1.6"></line><g class="sw-fade-swap"><line x1="99.33" y1="33.43" x2="98.17" y2="28.57" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="101.42" y="42.19" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☉︎</text>
1032<circle cx="108.85" cy="73.31" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="57.75" y1="183.61" x2="54.26" y2="187.18" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="64.05" y="177.18" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☽︎</text><circle cx="86.43" cy="154.31" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="63.1" y1="51.56" x2="59.91" y2="47.72" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="68.86" y="58.48" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☿︎</text><circle cx="89.31" cy="83.09" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="78.67" y1="41.18" x2="76.35" y2="36.75" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="82.85" y="49.15" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♀︎</text><circle cx="97.71" cy="77.49" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="38.38" y1="155.49" x2="33.8" y2="157.48" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="46.64" y="151.9" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♂︎</text><circle cx="75.98" cy="139.14" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="79.62" y1="199.31" x2="77.35" y2="203.77" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="83.71" y="191.29" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♃︎</text><circle cx="98.22" cy="162.78" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="32.15" y1="134.29" x2="27.22" y2="135.09" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="41.04" y="132.85" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♄︎</text><circle cx="72.62" cy="127.71" r="2.2" fill="var(--sw-accent)"></circle></g></g></svg><ul class="flex flex-col gap-1.5" aria-live="polite"><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-leaf)"></span><span class="flex-1 truncate">☉︎ trine ☽︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->2°11′</span></li><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-rose)"></span><span class="flex-1 truncate">☉︎ square ♄︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->4°11′</span></li><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-sky)"></span><span class="flex-1 truncate">☿︎ sextile ♄︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->0°30′</span></li></ul><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Aug 1984 · 12:31 · New York</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/western/western_horoscope" class="sw-api-link sw-mono" title="western_horoscope docs" aria-label="western_horoscope API docs" tabindex="-1">western_horoscope</a></span></div></footer></article><article class="sw-card sw-theme-ivory" aria-label="Grahaline, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">G</span><span class="sw-appname">Grahaline</span><span class="sw-appmeta">Birth chart</span></header><div class="sw-seg " role="group" aria-label="Chart"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Lagna D1</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">Navamsa D9</button></div><div class="relative w-full aspect-square kundli-chart"><svg viewBox="0 0 100 100" preserveAspectRatio="none" class="absolute inset-0 w-full h-full" aria-hidden="true"><path d="M 0.5 0.5 H 99.5 V 99.5 H 0.5 Z M 0.5 0.5 L 99.5 99.5 M 99.5 0.5 L 0.5 99.5 M 50 0.5 L 99.5 50 L 50 99.5 L 0.5 50 Z" fill="none" stroke="var(--sw-accent)" stroke-opacity="0.55" stroke-width="1.2" vector-effect="non-scaling-stroke"></path><path d="M 50 0.5 L 75 25 L 50 50 L 25 25 Z" fill="var(--sw-accent)" fill-opacity="0.07"></path></svg><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;
1032top:41.75%" aria-hidden="true">4</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:25%;top:19%" aria-hidden="true">5</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:19%;top:25%" aria-hidden="true">6</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:41.75%;top:50%" aria-hidden="true">7</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:19%;top:75%" aria-hidden="true">8</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:25%;top:81%" aria-hidden="true">9</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:58.25%" aria-hidden="true">10</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:75%;top:81%" aria-hidden="true">11</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:81%;top:75%" aria-hidden="true">12</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:58.25%;top:50%" aria-hidden="true">1</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:81%;top:25%" aria-hidden="true">2</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:75%;top:19%" aria-hidden="true">3</span><span class="kundli-asc absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:31%" aria-hidden="true">Asc</span><button type="button" aria-pressed="false" aria-label="Sun, house 12" class="kundli-planet absolute" style="left:75%;top:8%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Su</button><button type="button" aria-pressed="true" aria-label="Moon, house 7" class="kundli-planet absolute" style="left:50%;top:77.5%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Mo</button><button type="button" aria-pressed="false" aria-label="Mars, house 2" class="kundli-planet absolute" style="left:25%;top:8%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Ma</button><button type="button" aria-pressed="false" aria-label="Mercury, house 1" class="kundli-planet absolute" style="left:50%;top:18%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Me</button><button type="button" aria-pressed="false" aria-label="Jupiter, house 3" class="kundli-planet absolute" style="left:8.5%;top:25%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Ju</button><button type="button" aria-pressed="false" aria-label="Venus, house 11" class="kundli-planet absolute" style="left:91.5%;top:25%;transform:translate(-50%, -50%) translate(0px, -11px)" tabindex="-1">Ve</button><button type="button" aria-pressed="false" aria-label="Saturn, house 8" class="kundli-planet absolute" style="left:75%;top:92%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Sa</button><button type="button" aria-pressed="false" aria-label="Rahu, house 5" class="kundli-planet absolute" style="left:8.5%;top:75%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Ra</button><button type="button" aria-pressed="false" aria-label="Ketu, house 11" class="kundli-planet absolute" style="left:91.5%;top:25%;transform:translate(-50%, -50%) translate(0px, 11px)" tabindex="-1">Ke</button></div><div class="sw-panel px-3.5 py-3 flex items-center gap-3 h-[80px]" aria-l
1032ive="polite"><span class="kundli-badge">Mo</span><span class="flex flex-col min-w-0 sw-fade-swap leading-snug"><span class="text-[13px] font-bold truncate">Moon<!-- --> <span class="font-medium sw-muted">· House <!-- -->7</span></span><span class="text-[12px] truncate">Makara 15°19′</span><span class="text-[12px] sw-muted truncate">Shravana nakshatra · pada 2</span></span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Jul 1993 · 08:00 · New Delhi</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/horo_chart/:chart_id" class="sw-api-link sw-mono" title="horo_chart/:chart_id docs" aria-label="horo_chart/:chart_id API docs" tabindex="-1">horo_chart/D1</a><a href="/developers/v1/vedic/planets" class="sw-api-link sw-mono" title="planets docs" aria-label="planets API docs" tabindex="-1">planets</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Ask Vela, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">V</span><span class="sw-appname">Ask Vela</span><span class="sw-appmeta">Scorpio rising</span></header><div class="h-[228px] overflow-hidden flex flex-col justify-end gap-2.5" aria-live="polite"><div class="sw-fade-swap flex flex-col gap-1.5 max-w-[88%] self-end items-end"><div class="chat-bubble chat-user">Is this a good year to change jobs?</div></div><div class="sw-fade-swap flex flex-col gap-1.5 max-w-[88%] self-start"><div class="chat-bubble chat-assistant">Yes, it is a strong window. Jupiter moves through your 10th house of career from 30 Jun 2026 to 26 Jul 2027.</div><div class="flex flex-wrap gap-1"><span class="sw-chip">♃︎ Jupiter in 10th</span><span class="sw-chip">Scorpio rising</span></div></div></div><div class="flex flex-col gap-1.5"><span class="sw-label">Ask next</span><div class="flex flex-col gap-1.5 min-h-[78px]"><button type="button" class="chat-suggest" tabindex="-1">When should I ask for a raise?</button><button type="button" class="chat-suggest" tabindex="-1">Anything to watch out for?</button></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Answers cite your birth chart</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/chat-api" class="sw-api-link sw-mono" title="api/chat docs" aria-label="api/chat API docs" tabindex="-1">api/chat</a><a href="/developers/v1/western/western_horoscope" class="sw-api-link sw-mono" title="western_horoscope docs" aria-label="western_horoscope API docs" tabindex="-1">western_horoscope</a></span></div></footer></article><article class="sw-card sw-theme-dusk" aria-label="Pairwise, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">P</span><span class="sw-appname">Pairwise</span><span class="sw-appmeta">Kundli milan</span></header><div class="flex items-center gap-3"><span class="flex flex-none" aria-hidden="true"><span class="match-avatar ">A</span><span class="match-avatar -ml-2">D</span></span><span class="flex flex-col min-w-0 leading-snug"><span class="text-[14px] font-bold">Aarav<!-- --> &amp; <!-- -->Diya</span><span class="text-[11px] sw-muted truncate">Hasta<!-- --> × <!-- -->Swati<!-- --> · <!-- -->Kanya<!-- --> × <!-- -->Tula<!-- --> Moon</span></span></div><div class="sw-seg " role="group" aria-label="Result view"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Summary</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">8 kootas</button></div><div class="sw-panel p-3.5 h-[206px]" aria-live="polite"><div class="flex flex-col items-center gap-2"><div class="relative" style="width:180px;height:96px"><svg width="180" height="96" viewBox="0 0 180 96" aria-hidden="true"><path d="M 20 86 A 70 70 0 0 1 160 86" fill="none" stroke="var(--sw-sunken)" stroke-width="12" stroke-linecap="round"></path><path d="M 20 86 A 70 70 0 0 1 160 86" fill="none" stroke="var(--sw-accent)" stroke-width="12" stroke-linecap="round" stroke-dasharray="219.91" stroke-dashoffset="51.92"></path></svg><div class="absolute inset-x-0 bottom-0 flex flex-col items-center leading-none"><span class="text-[30px] font-extrabold sw-num tracking-tight">27.5<span class="text-[14px] font-semibold sw-muted"> / <!-- -->36</span></span></div></div><span class="sw-chip">Strong match</span><ul class="flex flex-col gap-1 self-stretch"><li class="flex items-center gap-2 text-[12px]"><svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" class="flex-none"><circle cx="7" cy="7" r="7" fill="var(--sw-accent-soft)"></circle><path d="M4 7.2 6.1 9.2 10 5" fill="none" stroke="var(--sw-accent)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Bhakoot dosha cancelled</li><li class="flex items-center gap-2 text-[12px]"><svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" class="flex-none"><circle cx="7" cy="7" r="7" fill="var(--sw-accent-soft)"></circle><path d="M4 7.2 6.1 9.2 10 5" fill="none" stroke="var(--sw-accent)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Neither is Manglik</li></ul></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Ashtakoot · North Indian method</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/match_ashtakoot_points" class="sw-api-link sw-mono" title="match_ashtakoot_points docs" aria-label="match_ashtakoot_points API docs" tabindex="-1">match_ashtakoot_points</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Nightdeck, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">N</span><span class="sw-appname">Nightdeck</span><span class="sw-appmeta">Card of the day</span></header><div class="flex gap-4 items-center"><button type="button" aria-label="The Star. Draw another card" class="tarot-scene flex-none rounded-xl" style="width:104px;
1032height:166px" tabindex="-1"><span class="tarot-inner is-up"><span class="tarot-face tarot-back" aria-hidden="true"><svg viewBox="0 0 60 96" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="0.8"><rect x="5" y="5" width="50" height="86" rx="4"></rect><polygon points="30,36 31.72,43.84 38.49,39.51 34.16,46.28 42,48 34.16,49.72 38.49,56.49 31.72,52.16 30,60 28.28,52.16 21.51,56.49 25.84,49.72 18,48 25.84,46.28 21.51,39.51 28.28,43.84" fill="currentColor" fill-opacity="0.25"></polygon><circle cx="30" cy="48" r="18" stroke-opacity="0.6"></circle><circle cx="30" cy="48" r="24" stroke-opacity="0.35"></circle></svg></span><span class="tarot-face tarot-front" aria-hidden="true"><svg viewBox="0 0 60 96" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="52" height="88" rx="3.5" stroke-opacity="0.5"></rect><text x="30" y="14" text-anchor="middle" font-size="7.5" font-weight="700" fill="currentColor" stroke="none" letter-spacing="0.5">XVII</text><g><g><polygon points="30,27 31.91,35.38 39.19,30.81 34.62,38.09 43,40 34.62,41.91 39.19,49.19 31.91,44.62 30,53 28.09,44.62 20.81,49.19 25.38,41.91 17,40 25.38,38.09 20.81,30.81 28.09,35.38" fill="currentColor" fill-opacity="0.18"></polygon><polygon points="14,18.5 14.99,21.01 17.5,22 14.99,22.99 14,25.5 13.01,22.99 10.5,22 13.01,21.01" fill="currentColor" stroke="none"></polygon><polygon points="46,18.5 46.99,21.01 49.5,22 46.99,22.99 46,25.5 45.01,22.99 42.5,22 45.01,21.01" fill="currentColor" stroke="none"></polygon><polygon points="12,46.5 12.99,49.01 15.5,50 12.99,50.99 12,53.5 11.01,50.99 8.5,50 11.01,49.01" fill="currentColor" stroke="none"></polygon><polygon points="48,46.5 48.99,49.01 51.5,50 48.99,50.99 48,53.5 47.01,50.99 44.5,50 47.01,49.01" fill="currentColor" stroke="none"></polygon><path d="M 10 70 Q 20 66 30 70 T 50 70 M 12 76 Q 22 72 32 76 T 50 76"></path></g></g></svg></span></span></button><div class="flex flex-col gap-1.5 min-w-0" aria-live="polite"><span class="sw-label">Major · XVII</span><span class="sw-title sw-fade-swap">The Star</span><span class="text-[11px] font-semibold sw-accent">Hope · Renewal · Calm</span><p class="text-[13px] leading-snug">After a hard stretch, things settle. Rest and let hope back in.</p></div></div><p class="text-[11px] sw-muted -mt-1">Tap the card to draw again</p><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Rider–Waite–Smith · 78 cards</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/tarot/tarot_predictions" class="sw-api-link sw-mono" title="tarot_predictions docs" aria-label="tarot_predictions API docs" tabindex="-1">tarot_predictions</a></span></div></footer></article><article class="sw-card sw-theme-ivory" aria-label="Tithi Today, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">T</span><span class="sw-appname">Tithi Today</span><span class="sw-appmeta">New Delhi</span></header><div class="flex flex-col gap-0.5"><span class="text-[11px] sw-muted">Thu, 24 Sep 2026</span><span class="sw-title">Bhadrapada Shukla Trayodashi</span></div><div class="sw-seg " role="group" aria-label="Panchang view"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Panchang</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">Timings</button></div><div class="sw-panel px-3.5 py-2.5 h-[204px]" aria-live="polite"><dl class="flex flex-col sw-fade-swap"><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] "><dt class="text-[12px] sw-muted">Tithi</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Trayodashi</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 23:18</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Nakshatra</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Dhanishta</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 10:34</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Yoga</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Dhriti</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">
1032till 15:53</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Karana</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Kaulava</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 11:09</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Vara</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Guruvara</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">Thursday</span></dd></div></dl></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Lahiri ayanamsa · Amanta month</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/advanced_panchang" class="sw-api-link sw-mono" title="advanced_panchang docs" aria-label="advanced_panchang API docs" tabindex="-1">advanced_panchang</a></span></div></footer></article></div></div></div><div class="wall-column flex-1 min-w-0 hidden sm:block"><div class="wall-track "><div class="wall-copy"><article class="sw-card sw-theme-dusk" aria-label="Sunward, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Sw</span><span class="sw-appname">Sunward</span><span class="sw-appmeta">Thu, 24 Sep 2026</span></header><div role="radiogroup" aria-label="Zodiac sign" class="grid grid-cols-6 gap-1.5"><button type="button" role="radio" aria-checked="false" aria-label="Aries" title="Aries" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♈︎</button><button type="button" role="radio" aria-checked="false" aria-label="Taurus" title="Taurus" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♉︎</button><button type="button" role="radio" aria-checked="false" aria-label="Gemini" title="Gemini" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♊︎</button><button type="button" role="radio" aria-checked="false" aria-label="Cancer" title="Cancer" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♋︎</button><button type="button" role="radio" aria-checked="true" aria-label="Leo" title="Leo" tabindex="0" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♌︎</button><button type="button" role="radio" aria-checked="false" aria-label="Virgo" title="Virgo" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♍︎</button><button type="button" role="radio" aria-checked="false" aria-label="Libra" title="Libra" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♎︎</button><button type="button" role="radio" aria-checked="false" aria-label="Scorpio" title="Scorpio" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♏︎</button><button type="button" role="radio" aria-checked="false" aria-label="Sagittarius" title="Sagittarius" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♐︎</button><button type="button" role="radio" aria-checked="false" aria-label="Capricorn" title="Capricorn" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♑︎</button><button type="button" role="radio" aria-checked="false" aria-label="Aquarius" title="Aquarius" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♒︎</button><button type="button" role="radio" aria-checked="false" aria-label="Pisces" title="Pisces" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♓︎</button></div><div class="sw-panel p-3.5 flex flex-col gap-2" aria-live="polite"><div class="flex items-baseline justify-between gap-2"><span class="sw-title sw-fade-swap">Leo</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">Jul 23 – Aug 22</span></div><span class="sw-chip self-start">Focus · <!-- -->Opportunity</span>
1032<p class="sw-fade-swap text-[13px] leading-[1.5] min-h-[58px] sm:min-h-[78px]">Jupiter in your sign keeps doors open. The Sun in your 3rd house favours an overdue call.</p></div><div class="flex flex-wrap gap-1.5"><span class="sw-chip sw-chip-quiet">☉︎ Sun in Libra</span><span class="sw-chip sw-chip-quiet">☽︎ Moon in Pisces</span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Daily readings · refreshed 05:30 IST</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/horoscope/sun_sign_prediction/daily/:zodiacName" class="sw-api-link sw-mono" title="sun_sign_prediction/daily/:zodiacName docs" aria-label="sun_sign_prediction/daily/:zodiacName API docs">sun_sign_prediction/daily/leo</a></span></div></footer></article><article class="sw-card sw-theme-ivory" aria-label="Grahaline, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">G</span><span class="sw-appname">Grahaline</span><span class="sw-appmeta">Birth chart</span></header><div class="sw-seg " role="group" aria-label="Chart"><button type="button" class="sw-seg-btn" aria-pressed="true">Lagna D1</button><button type="button" class="sw-seg-btn" aria-pressed="false">Navamsa D9</button></div><div class="relative w-full aspect-square kundli-chart"><svg viewBox="0 0 100 100" preserveAspectRatio="none" class="absolute inset-0 w-full h-full" aria-hidden="true"><path d="M 0.5 0.5 H 99.5 V 99.5 H 0.5 Z M 0.5 0.5 L 99.5 99.5 M 99.5 0.5 L 0.5 99.5 M 50 0.5 L 99.5 50 L 50 99.5 L 0.5 50 Z" fill="none" stroke="var(--sw-accent)" stroke-opacity="0.55" stroke-width="1.2" vector-effect="non-scaling-stroke"></path><path d="M 50 0.5 L 75 25 L 50 50 L 25 25 Z" fill="var(--sw-accent)" fill-opacity="0.07"></path></svg><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:41.75%" aria-hidden="true">4</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:25%;top:19%" aria-hidden="true">5</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:19%;top:25%" aria-hidden="true">6</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:41.75%;top:50%" aria-hidden="true">7</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:19%;top:75%" aria-hidden="true">8</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:25%;top:81%" aria-hidden="true">9</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:58.25%" aria-hidden="true">10</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:75%;top:81%" aria-hidden="true">11</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:81%;top:75%" aria-hidden="true">12</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:58.25%;top:50%" aria-hidden="true">1</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:81%;top:25%" aria-hidden="true">2</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:75%;top:19%" aria-hidden="true">3</span><span class="kundli-asc absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:31%" aria-hidden="true">Asc</span><button type="button" aria-pressed="false" aria-label="Sun, house 12" class="kundli-planet absolute" style="left:75%;top:8%;transform:translate(-50%, -50%) translate(0px, 0px)">Su</button><button type="button" aria-pressed="true" aria-label="Moon, house 7" class="kundli-planet absolute" style="left:50%;top:77.5%;transform:translate(-50%, -50%) translate(0px, 0px)">Mo</button><button type="button" aria-pressed="false" aria-label="Mars, house 2" class="kundli-planet absolute" style="left:25%;top:8%;transform:translate(-50%, -50%) translate(0px, 0px)">Ma</button><button type="button" aria-pressed="false" aria-label="Mercury, house 1" class="kundli-planet absolute" style="left:50%;
1032top:18%;transform:translate(-50%, -50%) translate(0px, 0px)">Me</button><button type="button" aria-pressed="false" aria-label="Jupiter, house 3" class="kundli-planet absolute" style="left:8.5%;top:25%;transform:translate(-50%, -50%) translate(0px, 0px)">Ju</button><button type="button" aria-pressed="false" aria-label="Venus, house 11" class="kundli-planet absolute" style="left:91.5%;top:25%;transform:translate(-50%, -50%) translate(0px, -11px)">Ve</button><button type="button" aria-pressed="false" aria-label="Saturn, house 8" class="kundli-planet absolute" style="left:75%;top:92%;transform:translate(-50%, -50%) translate(0px, 0px)">Sa</button><button type="button" aria-pressed="false" aria-label="Rahu, house 5" class="kundli-planet absolute" style="left:8.5%;top:75%;transform:translate(-50%, -50%) translate(0px, 0px)">Ra</button><button type="button" aria-pressed="false" aria-label="Ketu, house 11" class="kundli-planet absolute" style="left:91.5%;top:25%;transform:translate(-50%, -50%) translate(0px, 11px)">Ke</button></div><div class="sw-panel px-3.5 py-3 flex items-center gap-3 h-[80px]" aria-l
1032ive="polite"><span class="kundli-badge">Mo</span><span class="flex flex-col min-w-0 sw-fade-swap leading-snug"><span class="text-[13px] font-bold truncate">Moon<!-- --> <span class="font-medium sw-muted">· House <!-- -->7</span></span><span class="text-[12px] truncate">Makara 15°19′</span><span class="text-[12px] sw-muted truncate">Shravana nakshatra · pada 2</span></span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Jul 1993 · 08:00 · New Delhi</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/horo_chart/:chart_id" class="sw-api-link sw-mono" title="horo_chart/:chart_id docs" aria-label="horo_chart/:chart_id API docs">horo_chart/D1</a><a href="/developers/v1/vedic/planets" class="sw-api-link sw-mono" title="planets docs" aria-label="planets API docs">planets</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Nightdeck, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">N</span><span class="sw-appname">Nightdeck</span><span class="sw-appmeta">Card of the day</span></header><div class="flex gap-4 items-center"><button type="button" aria-label="The Star. Draw another card" class="tarot-scene flex-none rounded-xl" style="width:104px;height:166px"><span class="tarot-inner is-up"><span class="tarot-face tarot-back" aria-hidden="true"><svg viewBox="0 0 60 96" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="0.8"><rect x="5" y="5" width="50" height="86" rx="4"></rect><polygon points="30,36 31.72,43.84 38.49,39.51 34.16,46.28 42,48 34.16,49.72 38.49,56.49 31.72,52.16 30,60 28.28,52.16 21.51,56.49 25.84,49.72 18,48 25.84,46.28 21.51,39.51 28.28,43.84" fill="currentColor" fill-opacity="0.25"></polygon><circle cx="30" cy="48" r="18" stroke-opacity="0.6"></circle><circle cx="30" cy="48" r="24" stroke-opacity="0.35"></circle></svg></span><span class="tarot-face tarot-front" aria-hidden="true"><svg viewBox="0 0 60 96" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="52" height="88" rx="3.5" stroke-opacity="0.5"></rect><text x="30" y="14" text-anchor="middle" font-size="7.5" font-weight="700" fill="currentColor" stroke="none" letter-spacing="0.5">XVII</text><g><g><polygon points="30,27 31.91,35.38 39.19,30.81 34.62,38.09 43,40 34.62,41.91 39.19,49.19 31.91,44.62 30,53 28.09,44.62 20.81,49.19 25.38,41.91 17,40 25.38,38.09 20.81,30.81 28.09,35.38" fill="currentColor" fill-opacity="0.18"></polygon><polygon points="14,18.5 14.99,21.01 17.5,22 14.99,22.99 14,25.5 13.01,22.99 10.5,22 13.01,21.01" fill="currentColor" stroke="none"></polygon><polygon points="46,18.5 46.99,21.01 49.5,22 46.99,22.99 46,25.5 45.01,22.99 42.5,22 45.01,21.01" fill="currentColor" stroke="none"></polygon><polygon points="12,46.5 12.99,49.01 15.5,50 12.99,50.99 12,53.5 11.01,50.99 8.5,50 11.01,49.01" fill="currentColor" stroke="none"></polygon><polygon points="48,46.5 48.99,49.01 51.5,50 48.99,50.99 48,53.5 47.01,50.99 44.5,50 47.01,49.01" fill="currentColor" stroke="none"></polygon><path d="M 10 70 Q 20 66 30 70 T 50 70 M 12 76 Q 22 72 32 76 T 50 76"></path></g></g></svg></span></span></button><div class="flex flex-col gap-1.5 min-w-0" aria-live="polite"><span class="sw-label">Major · XVII</span><span class="sw-title sw-fade-swap">The Star</span><span class="text-[11px] font-semibold sw-accent">Hope · Renewal · Calm</span><p class="text-[13px] leading-snug">After a hard stretch, things settle. Rest and let hope back in.</p></div></div><p class="text-[11px] sw-muted -mt-1">Tap the card to draw again</p><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Rider–Waite–Smith · 78 cards</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/tarot/tarot_predictions" class="sw-api-link sw-mono" title="tarot_predictions docs" aria-label="tarot_predictions API docs">tarot_predictions</a></span></div></footer></article><article class="sw-card sw-theme-sage" aria-label="Namecraft, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Nc</span><span class="sw-appname">Namecraft</span><span class="sw-appmeta">Name number</span></header><form class="flex gap-2"><label for=":R8losm:" class="sr-only">Full name</label><input id=":R8losm:" type="text" maxLength="24" autoComplete="off" spellcheck="false" placeholder="Full name" class="sw-input flex-1" value="Arjun"/><button type="submit" class="sw-btn">Calculate</button></form><div class="sw-seg " role="group" aria-label="Numerology system"><button type="button" class="sw-seg-btn" aria-pressed="true">Pythagorean</button><button type="button" class="sw-seg-btn" aria-pressed="false">Chaldean</button></div><div class="numero-tiles" aria-hidden="true"><span class="numero-tile sw-fade-swap" style="animation-delay:0ms"><span class="text-[12px] font-bold">A</span><span class="text-[11px] sw-accent sw-num font-semibold">1</span></span><span class="numero-tile sw-fade-swap" style="animation-delay:30ms"><span class="text-[12px] font-bold">R</span><span class="text-[11px] sw-accent sw-num font-semibold">
10329</span></span><span class="numero-tile sw-fade-swap" style="animation-delay:60ms"><span class="text-[12px] font-bold">J</span><span class="text-[11px] sw-accent sw-num font-semibold">1</span></span><span class="numero-tile sw-fade-swap" style="animation-delay:90ms"><span class="text-[12px] font-bold">U</span><span class="text-[11px] sw-accent sw-num font-semibold">3</span></span><span class="numero-tile sw-fade-swap" style="animation-delay:120ms"><span class="text-[12px] font-bold">N</span><span class="text-[11px] sw-accent sw-num font-semibold">5</span></span></div><div class="sw-panel p-3.5 flex items-center gap-3.5" aria-live="polite"><span class="numero-result sw-fade-swap">1</span><span class="flex flex-col min-w-0 gap-0.5"><span class="text-[14px] font-bold">The Leader</span><span class="text-[12px] leading-snug sw-muted">Independent and original. Happiest starting things.</span><span class="text-[11px] sw-mono sw-muted">19 → 10 → 1</span></span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Pythagorean &amp; Chaldean tables</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/numero_table" class="sw-api-link sw-mono" title="numero_table docs" aria-label="numero_table API docs">numero_table</a></span></div></footer></article></div><div class="wall-copy wall-copy-duplicate" aria-hidden="true"><article class="sw-card sw-theme-dusk" aria-label="Sunward, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Sw</span><span class="sw-appname">Sunward</span><span class="sw-appmeta">Thu, 24 Sep 2026</span></header><div role="radiogroup" aria-label="Zodiac sign" class="grid grid-cols-6 gap-1.5"><button type="button" role="radio" aria-checked="false" aria-label="Aries" title="Aries" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♈︎</button><button type="button" role="radio" aria-checked="false" aria-label="Taurus" title="Taurus" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♉︎</button><button type="button" role="radio" aria-checked="false" aria-label="Gemini" title="Gemini" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♊︎</button><button type="button" role="radio" aria-checked="false" aria-label="Cancer" title="Cancer" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♋︎</button><button type="button" role="radio" aria-checked="true" aria-label="Leo" title="Leo" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♌︎</button><button type="button" role="radio" aria-checked="false" aria-label="Virgo" title="Virgo" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♍︎</button><button type="button" role="radio" aria-checked="false" aria-label="Libra" title="Libra" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♎︎</button><button type="button" role="radio" aria-checked="false" aria-label="Scorpio" title="Scorpio" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♏︎</button><button type="button" role="radio" aria-checked="false" aria-label="Sagittarius" title="Sagittarius" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♐︎</button><button type="button" role="radio" aria-checked="false" aria-label="Capricorn" title="Capricorn" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♑︎</button><button type="button" role="radio" aria-checked="false" aria-label="Aquarius" title="Aquarius" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♒︎</button><button type="button" role="radio" aria-checked="false" aria-label="Pisces" title="Pisces" tabindex="-1" class="horo-sign h-9 rounded-[10px] text-[17px] leading-none flex items-center justify-center">♓︎</button></div><div class="sw-panel p-3.5 flex flex-col gap-2" aria-live="polite"><div class="flex items-baseline justify-between gap-2"><span class="sw-title sw-fade-swap">Leo</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">Jul 23 – Aug 22</span></div><span class="sw-chip self-start">Focus · <!-- -->Opportunity</span>
1032<p class="sw-fade-swap text-[13px] leading-[1.5] min-h-[58px] sm:min-h-[78px]">Jupiter in your sign keeps doors open. The Sun in your 3rd house favours an overdue call.</p></div><div class="flex flex-wrap gap-1.5"><span class="sw-chip sw-chip-quiet">☉︎ Sun in Libra</span><span class="sw-chip sw-chip-quiet">☽︎ Moon in Pisces</span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Daily readings · refreshed 05:30 IST</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/horoscope/sun_sign_prediction/daily/:zodiacName" class="sw-api-link sw-mono" title="sun_sign_prediction/daily/:zodiacName docs" aria-label="sun_sign_prediction/daily/:zodiacName API docs" tabindex="-1">sun_sign_prediction/daily/leo</a></span></div></footer></article><article class="sw-card sw-theme-ivory" aria-label="Grahaline, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">G</span><span class="sw-appname">Grahaline</span><span class="sw-appmeta">Birth chart</span></header><div class="sw-seg " role="group" aria-label="Chart"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Lagna D1</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">Navamsa D9</button></div><div class="relative w-full aspect-square kundli-chart"><svg viewBox="0 0 100 100" preserveAspectRatio="none" class="absolute inset-0 w-full h-full" aria-hidden="true"><path d="M 0.5 0.5 H 99.5 V 99.5 H 0.5 Z M 0.5 0.5 L 99.5 99.5 M 99.5 0.5 L 0.5 99.5 M 50 0.5 L 99.5 50 L 50 99.5 L 0.5 50 Z" fill="none" stroke="var(--sw-accent)" stroke-opacity="0.55" stroke-width="1.2" vector-effect="non-scaling-stroke"></path><path d="M 50 0.5 L 75 25 L 50 50 L 25 25 Z" fill="var(--sw-accent)" fill-opacity="0.07"></path></svg><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:41.75%" aria-hidden="true">4</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:25%;top:19%" aria-hidden="true">5</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:19%;top:25%" aria-hidden="true">6</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:41.75%;top:50%" aria-hidden="true">7</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:19%;top:75%" aria-hidden="true">8</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:25%;top:81%" aria-hidden="true">9</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:58.25%" aria-hidden="true">10</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:75%;top:81%" aria-hidden="true">11</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:81%;top:75%" aria-hidden="true">12</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:58.25%;top:50%" aria-hidden="true">1</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:81%;top:25%" aria-hidden="true">2</span><span class="kundli-num absolute -translate-x-1/2 -translate-y-1/2" style="left:75%;top:19%" aria-hidden="true">3</span><span class="kundli-asc absolute -translate-x-1/2 -translate-y-1/2" style="left:50%;top:31%" aria-hidden="true">Asc</span><button type="button" aria-pressed="false" aria-label="Sun, house 12" class="kundli-planet absolute" style="left:75%;top:8%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Su</button><button type="button" aria-pressed="true" aria-label="Moon, house 7" class="kundli-planet absolute" style="left:50%;top:77.5%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Mo</button><button type="button" aria-pressed="false" aria-label="Mars, house 2" class="kundli-planet absolute" style="left:25%;top:8%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Ma</button><button type="button" aria-pressed="false" aria-label="Mercury, house 1" class="kundli-planet absolute" style="left:50%;
1032top:18%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Me</button><button type="button" aria-pressed="false" aria-label="Jupiter, house 3" class="kundli-planet absolute" style="left:8.5%;top:25%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Ju</button><button type="button" aria-pressed="false" aria-label="Venus, house 11" class="kundli-planet absolute" style="left:91.5%;top:25%;transform:translate(-50%, -50%) translate(0px, -11px)" tabindex="-1">Ve</button><button type="button" aria-pressed="false" aria-label="Saturn, house 8" class="kundli-planet absolute" style="left:75%;top:92%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Sa</button><button type="button" aria-pressed="false" aria-label="Rahu, house 5" class="kundli-planet absolute" style="left:8.5%;top:75%;transform:translate(-50%, -50%) translate(0px, 0px)" tabindex="-1">Ra</button><button type="button" aria-pressed="false" aria-label="Ketu, house 11" class="kundli-planet absolute" style="left:91.5%;top:25%;transform:translate(-50%, -50%) translate(0px, 11px)" tabindex="-1">Ke</button></div><div class="sw-panel px-3.5 py-3 flex items-center gap-3 h-[80px]" aria-l
1032ive="polite"><span class="kundli-badge">Mo</span><span class="flex flex-col min-w-0 sw-fade-swap leading-snug"><span class="text-[13px] font-bold truncate">Moon<!-- --> <span class="font-medium sw-muted">· House <!-- -->7</span></span><span class="text-[12px] truncate">Makara 15°19′</span><span class="text-[12px] sw-muted truncate">Shravana nakshatra · pada 2</span></span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Jul 1993 · 08:00 · New Delhi</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/horo_chart/:chart_id" class="sw-api-link sw-mono" title="horo_chart/:chart_id docs" aria-label="horo_chart/:chart_id API docs" tabindex="-1">horo_chart/D1</a><a href="/developers/v1/vedic/planets" class="sw-api-link sw-mono" title="planets docs" aria-label="planets API docs" tabindex="-1">planets</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Nightdeck, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">N</span><span class="sw-appname">Nightdeck</span><span class="sw-appmeta">Card of the day</span></header><div class="flex gap-4 items-center"><button type="button" aria-label="The Star. Draw another card" class="tarot-scene flex-none rounded-xl" style="width:104px;height:166px" tabindex="-1"><span class="tarot-inner is-up"><span class="tarot-face tarot-back" aria-hidden="true"><svg viewBox="0 0 60 96" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="0.8"><rect x="5" y="5" width="50" height="86" rx="4"></rect><polygon points="30,36 31.72,43.84 38.49,39.51 34.16,46.28 42,48 34.16,49.72 38.49,56.49 31.72,52.16 30,60 28.28,52.16 21.51,56.49 25.84,49.72 18,48 25.84,46.28 21.51,39.51 28.28,43.84" fill="currentColor" fill-opacity="0.25"></polygon><circle cx="30" cy="48" r="18" stroke-opacity="0.6"></circle><circle cx="30" cy="48" r="24" stroke-opacity="0.35"></circle></svg></span><span class="tarot-face tarot-front" aria-hidden="true"><svg viewBox="0 0 60 96" width="100%" height="100%" fill="none" stroke="currentColor" stroke-width="1" stroke-linecap="round" stroke-linejoin="round"><rect x="4" y="4" width="52" height="88" rx="3.5" stroke-opacity="0.5"></rect><text x="30" y="14" text-anchor="middle" font-size="7.5" font-weight="700" fill="currentColor" stroke="none" letter-spacing="0.5">XVII</text><g><g><polygon points="30,27 31.91,35.38 39.19,30.81 34.62,38.09 43,40 34.62,41.91 39.19,49.19 31.91,44.62 30,53 28.09,44.62 20.81,49.19 25.38,41.91 17,40 25.38,38.09 20.81,30.81 28.09,35.38" fill="currentColor" fill-opacity="0.18"></polygon><polygon points="14,18.5 14.99,21.01 17.5,22 14.99,22.99 14,25.5 13.01,22.99 10.5,22 13.01,21.01" fill="currentColor" stroke="none"></polygon><polygon points="46,18.5 46.99,21.01 49.5,22 46.99,22.99 46,25.5 45.01,22.99 42.5,22 45.01,21.01" fill="currentColor" stroke="none"></polygon><polygon points="12,46.5 12.99,49.01 15.5,50 12.99,50.99 12,53.5 11.01,50.99 8.5,50 11.01,49.01" fill="currentColor" stroke="none"></polygon><polygon points="48,46.5 48.99,49.01 51.5,50 48.99,50.99 48,53.5 47.01,50.99 44.5,50 47.01,49.01" fill="currentColor" stroke="none"></polygon><path d="M 10 70 Q 20 66 30 70 T 50 70 M 12 76 Q 22 72 32 76 T 50 76"></path></g></g></svg></span></span></button><div class="flex flex-col gap-1.5 min-w-0" aria-live="polite"><span class="sw-label">Major · XVII</span><span class="sw-title sw-fade-swap">The Star</span><span class="text-[11px] font-semibold sw-accent">Hope · Renewal · Calm</span><p class="text-[13px] leading-snug">After a hard stretch, things settle. Rest and let hope back in.</p></div></div><p class="text-[11px] sw-muted -mt-1">Tap the card to draw again</p><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Rider–Waite–Smith · 78 cards</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/tarot/tarot_predictions" class="sw-api-link sw-mono" title="tarot_predictions docs" aria-label="tarot_predictions API docs" tabindex="-1">tarot_predictions</a></span></div></footer></article><article class="sw-card sw-theme-sage" aria-label="Namecraft, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Nc</span><span class="sw-appname">Namecraft</span><span class="sw-appmeta">Name number</span></header><form class="flex gap-2"><label for=":R95osm:" class="sr-only">Full name</label><input id=":R95osm:" type="text" maxLength="24" autoComplete="off" spellcheck="false" placeholder="Full name" class="sw-input flex-1" tabindex="-1" value="Arjun"/><button type="submit" class="sw-btn" tabindex="-1">Calculate</button></form><div class="sw-seg " role="group" aria-label="Numerology system"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Pythagorean</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">Chaldean</button></div><div class="numero-tiles" aria-hidden="true"><span class="numero-tile sw-fade-swap" style="animation-delay:0ms"><span class="text-[12px] font-bold">A</span><span class="text-[11px] sw-accent sw-num font-semibold">1</span></span><span class="numero-tile sw-fade-swap" style="animation-delay:30ms"><span class="text-[12px] font-bold">R</span><span class="text-[11px] sw-accent sw-num font-semibold">
10329</span></span><span class="numero-tile sw-fade-swap" style="animation-delay:60ms"><span class="text-[12px] font-bold">J</span><span class="text-[11px] sw-accent sw-num font-semibold">1</span></span><span class="numero-tile sw-fade-swap" style="animation-delay:90ms"><span class="text-[12px] font-bold">U</span><span class="text-[11px] sw-accent sw-num font-semibold">3</span></span><span class="numero-tile sw-fade-swap" style="animation-delay:120ms"><span class="text-[12px] font-bold">N</span><span class="text-[11px] sw-accent sw-num font-semibold">5</span></span></div><div class="sw-panel p-3.5 flex items-center gap-3.5" aria-live="polite"><span class="numero-result sw-fade-swap">1</span><span class="flex flex-col min-w-0 gap-0.5"><span class="text-[14px] font-bold">The Leader</span><span class="text-[12px] leading-snug sw-muted">Independent and original. Happiest starting things.</span><span class="text-[11px] sw-mono sw-muted">19 → 10 → 1</span></span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Pythagorean &amp; Chaldean tables</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/numero_table" class="sw-api-link sw-mono" title="numero_table docs" aria-label="numero_table API docs" tabindex="-1">numero_table</a></span></div></footer></article></div></div></div><div class="wall-column flex-1 min-w-0 hidden sm:block"><div class="wall-track wall-track-down"><div class="wall-copy"><article class="sw-card sw-theme-ink" aria-label="Ecliptica, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">E</span><span class="sw-appname">Ecliptica</span><span class="sw-appmeta">Placidus · Tropical</span></header><div class="sw-seg " role="group" aria-label="Chart layer"><button type="button" class="sw-seg-btn" aria-pressed="true">Natal</button><button type="button" class="sw-seg-btn" aria-pressed="false">Transits</button></div><svg viewBox="0 0 240 240" class="w-full h-auto" role="img" aria-label="Natal chart wheel"><circle cx="120" cy="120" r="116" fill="var(--sw-sunken)" stroke="var(--sw-line)"></circle><circle cx="120" cy="120" r="94" fill="var(--sw-bg)" stroke="var(--sw-line)"></circle><circle cx="120" cy="120" r="48" fill="none" stroke="var(--sw-line)"></circle><g><line x1="200.62" y1="168.33" x2="219.49" y2="179.64" stroke="var(--sw-line)"></line><text x="220.96" y="148.84" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♈︎</text></g><g><line x1="213.99" y1="121.54" x2="235.98" y2="121.9" stroke="var(--sw-line)"></line><text x="221.85" y="94.49" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♉︎</text></g><g><line x1="202.17" y1="74.34" x2="221.4" y2="63.66" stroke="var(--sw-line)"></line><text x="195.45" y="46.98" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♊︎</text></g><g><line x1="168.33" y1="39.38" x2="179.64" y2="20.51" stroke="var(--sw-line)"></line><text x="148.84" y="19.04" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♋︎</text></g><g><line x1="121.54" y1="26.01" x2="121.9" y2="4.02" stroke="var(--sw-line)"></line><text x="94.49" y="18.15" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♌︎</text></g><g><line x1="74.34" y1="37.83" x2="63.66" y2="18.6" stroke="var(--sw-line)"></line><text x="46.98" y="44.55" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♍︎</text></g><g><line x1="39.38" y1="71.67" x2="20.51" y2="60.36" stroke="var(--sw-line)"></line><text x="19.04" y="91.16" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♎︎</text></g><g><line x1="26.01" y1="118.46" x2="4.02" y2="118.1" stroke="var(--sw-line)"></line><text x="18.15" y="145.51" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♏︎</text></g><g><line x1="37.83" y1="165.66" x2="18.6" y2="176.34" stroke="var(--sw-line)"></line><text x="44.55" y="193.02" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♐︎</text></g><g><line x1="71.67" y1="200.62" x2="60.36" y2="219.49" stroke="var(--sw-line)"></line><text x="91.16" y="220.96" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♑︎</text></g><g><line x1="118.46" y1="213.99" x2="118.1" y2="235.98" stroke="var(--sw-line)"></line><text x="145.51" y="221.85" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♒︎</text></g><g><line x1="165.66" y1="202.17" x2="176.34" y2="221.4" stroke="var(--sw-line)"></line><text x="193.02" y="195.45" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♓︎</text></g><line x1="4" y1="120" x2="72" y2="120" stroke="var(--sw-accent)" stroke-width="1.5"></line><line x1="108.2" y1="4.6" x2="115.12" y2="72.25" stroke="var(--sw-accent)" stroke-width="1.5" stroke-opacity="0.6"></line><text x="30" y="114" font-size="11.5" font-weight="700" fill="var(--sw-accent)">AC</text><text x="126.22" y="62.33" font-size="11.5" font-weight="700" fill="var(--sw-accent)" text-anchor="middle" dominant-baseline="central" fill-opacity="0.8">MC</text><g><line x1="108.85" y1="73.31" x2="86.43" y2="154.31" class="sw-draw-line" stroke="var(--sw-leaf)" stroke-width="1.6"></line><line x1="108.85" y1="73.31" x2="72.62" y2="127.71" class="sw-draw-line" stroke="var(--sw-rose)" stroke-width="1.6"></line><line x1="89.31" y1="83.09" x2="72.62" y2="127.71" class="sw-draw-line" stroke="var(--sw-sky)" stroke-width="1.6"></line><g class="sw-fade-swap"><line x1="99.33" y1="33.43" x2="98.17" y2="28.57" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="101.42" y="42.19" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☉︎</text>
1032<circle cx="108.85" cy="73.31" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="57.75" y1="183.61" x2="54.26" y2="187.18" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="64.05" y="177.18" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☽︎</text><circle cx="86.43" cy="154.31" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="63.1" y1="51.56" x2="59.91" y2="47.72" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="68.86" y="58.48" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☿︎</text><circle cx="89.31" cy="83.09" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="78.67" y1="41.18" x2="76.35" y2="36.75" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="82.85" y="49.15" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♀︎</text><circle cx="97.71" cy="77.49" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="38.38" y1="155.49" x2="33.8" y2="157.48" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="46.64" y="151.9" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♂︎</text><circle cx="75.98" cy="139.14" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="79.62" y1="199.31" x2="77.35" y2="203.77" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="83.71" y="191.29" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♃︎</text><circle cx="98.22" cy="162.78" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="32.15" y1="134.29" x2="27.22" y2="135.09" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="41.04" y="132.85" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♄︎</text><circle cx="72.62" cy="127.71" r="2.2" fill="var(--sw-accent)"></circle></g></g></svg><ul class="flex flex-col gap-1.5" aria-live="polite"><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-leaf)"></span><span class="flex-1 truncate">☉︎ trine ☽︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->2°11′</span></li><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-rose)"></span><span class="flex-1 truncate">☉︎ square ♄︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->4°11′</span></li><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-sky)"></span><span class="flex-1 truncate">☿︎ sextile ♄︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->0°30′</span></li></ul><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Aug 1984 · 12:31 · New York</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/western/western_horoscope" class="sw-api-link sw-mono" title="western_horoscope docs" aria-label="western_horoscope API docs">western_horoscope</a></span></div></footer></article><article class="sw-card sw-theme-dusk" aria-label="Pairwise, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">P</span><span class="sw-appname">Pairwise</span><span class="sw-appmeta">Kundli milan</span></header><div class="flex items-center gap-3"><span class="flex flex-none" aria-hidden="true"><span class="match-avatar ">A</span><span class="match-avatar -ml-2">D</span></span><span class="flex flex-col min-w-0 leading-snug"><span class="text-[14px] font-bold">Aarav<!-- --> &amp; <!-- -->Diya</span><span class="text-[11px] sw-muted truncate">Hasta<!-- --> × <!-- -->Swati<!-- --> · <!-- -->Kanya<!-- --> × <!-- -->Tula<!-- --> Moon</span></span></div><div class="sw-seg " role="group" aria-label="Result view"><button type="button" class="sw-seg-btn" aria-pressed="true">Summary</button><button type="button" class="sw-seg-btn" aria-pressed="false">8 kootas</button></div>
1032<div class="sw-panel p-3.5 h-[206px]" aria-live="polite"><div class="flex flex-col items-center gap-2"><div class="relative" style="width:180px;height:96px"><svg width="180" height="96" viewBox="0 0 180 96" aria-hidden="true"><path d="M 20 86 A 70 70 0 0 1 160 86" fill="none" stroke="var(--sw-sunken)" stroke-width="12" stroke-linecap="round"></path><path d="M 20 86 A 70 70 0 0 1 160 86" fill="none" stroke="var(--sw-accent)" stroke-width="12" stroke-linecap="round" stroke-dasharray="219.91" stroke-dashoffset="51.92"></path></svg><div class="absolute inset-x-0 bottom-0 flex flex-col items-center leading-none"><span class="text-[30px] font-extrabold sw-num tracking-tight">27.5<span class="text-[14px] font-semibold sw-muted"> / <!-- -->36</span></span></div></div><span class="sw-chip">Strong match</span><ul class="flex flex-col gap-1 self-stretch"><li class="flex items-center gap-2 text-[12px]"><svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" class="flex-none"><circle cx="7" cy="7" r="7" fill="var(--sw-accent-soft)"></circle><path d="M4 7.2 6.1 9.2 10 5" fill="none" stroke="var(--sw-accent)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Bhakoot dosha cancelled</li><li class="flex items-center gap-2 text-[12px]"><svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" class="flex-none"><circle cx="7" cy="7" r="7" fill="var(--sw-accent-soft)"></circle><path d="M4 7.2 6.1 9.2 10 5" fill="none" stroke="var(--sw-accent)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Neither is Manglik</li></ul></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Ashtakoot · North Indian method</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/match_ashtakoot_points" class="sw-api-link sw-mono" title="match_ashtakoot_points docs" aria-label="match_ashtakoot_points API docs">match_ashtakoot_points</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Lunet, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">L</span><span class="sw-appname">Lunet</span><span class="sw-appmeta">New Delhi · 21:00</span></header><div class="flex items-center gap-4" aria-live="polite"><div class="moon-glow flex-none"><svg width="96" height="96" viewBox="0 0 96 96" aria-hidden="true" class=""><circle cx="48" cy="48" r="47" fill="var(--sw-sunken)"></circle><path d="M 48 1 A 47 47 0 0 1 48 95 A 42.53 47 0 0 1 48 1 Z" fill="#f4f1e6"></path></svg></div><div class="flex flex-col gap-1 min-w-0 sw-fade-swap"><span class="text-[11px] sw-muted">Thu<!-- -->, <!-- -->24<!-- --> Sep<!-- --> · Tonight</span><span class="sw-title">Waxing Gibbous</span><span class="text-[13px]"><span class="font-bold sw-accent sw-num">95<!-- -->%</span> lit · <!-- -->13.5<!-- --> days</span><span class="text-[12px] sw-muted">Moon in <!-- -->Pisces</span></div></div><div class="grid grid-cols-2 gap-2"><div class="sw-panel px-3 py-2 flex flex-col"><span class="text-[11px] sw-muted">Moonrise</span><span class="text-[15px] font-bold sw-num">16:53</span></div><div class="sw-panel px-3 py-2 flex flex-col"><span class="text-[11px] sw-muted">Moonset</span><span class="text-[15px] font-bold sw-num">03:39</span></div></div><div class="grid grid-cols-7 gap-1" role="group" aria-label="Day"><button type="button" aria-pressed="false" aria-label="Tue 22 September, Waxing Gibbous" class="moon-day"><span class="text-[11px] sw-muted">Tu</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 1 10 19 A 5.99 9 0 0 1 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">22</span></button><button type="button" aria-pressed="false" aria-label="Wed 23 September, Waxing Gibbous" class="moon-day"><span class="text-[11px] sw-muted">We</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 1 10 19 A 7.2 9 0 0 1 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">23</span></button><button type="button" aria-pressed="true" aria-label="Thu 24 September, Waxing Gibbous" class="moon-day"><span class="text-[11px] sw-muted">Th</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 1 10 19 A 8.14 9 0 0 1 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">24</span></button><button type="button" aria-pressed="false" aria-label="Fri 25 September, Waxing Gibbous" class="moon-day"><span class="text-[11px] sw-muted">Fr</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 1 10 19 A 8.77 9 0 0 1 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">25</span></button><button type="button" aria-pressed="false" aria-label="Sat 26 September, Full Moon" class="moon-day"><span class="text-[11px] sw-muted">Sa</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><circle cx="10" cy="10" r="9" fill="#f4f1e6"></circle></svg><span class="text-[12px] font-semibold sw-num">26</span></button><button type="button" aria-pressed="false" aria-label="Sun 27 September, Waning Gibbous" class="moon-day"><span class="text-[11px] sw-muted">Su</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 0 10 19 A 8.8 9 0 0 0 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">27</span></button><button type="button" aria-pressed="false" aria-label="Mon 28 September, Waning Gibbous" class="moon-day"><span class="text-[11px] sw-muted">Mo</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 0 10 19 A 8.16 9 0 0 0 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">28</span></button></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Full moon Sat 26 Sep, 22:19</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/western/lunar_metrics" class="sw-api-link sw-mono" title="lunar_metrics docs" aria-label="lunar_metrics API docs">lunar_metrics</a></span></div></footer></article></div><div class="wall-copy wall-copy-duplicate" aria-hidden="true"><article class="sw-card sw-theme-ink" aria-label="Ecliptica, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">E</span><span class="sw-appname">Ecliptica</span><span class="sw-appmeta">Placidus · Tropical</span></header><div class="sw-seg " role="group" aria-label="Chart layer"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Natal</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">Transits</button></div><svg viewBox="0 0 240 240" class="w-full h-auto" role="img" aria-label="Natal chart wheel">
1032<circle cx="120" cy="120" r="116" fill="var(--sw-sunken)" stroke="var(--sw-line)"></circle><circle cx="120" cy="120" r="94" fill="var(--sw-bg)" stroke="var(--sw-line)"></circle><circle cx="120" cy="120" r="48" fill="none" stroke="var(--sw-line)"></circle><g><line x1="200.62" y1="168.33" x2="219.49" y2="179.64" stroke="var(--sw-line)"></line><text x="220.96" y="148.84" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♈︎</text></g><g><line x1="213.99" y1="121.54" x2="235.98" y2="121.9" stroke="var(--sw-line)"></line><text x="221.85" y="94.49" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♉︎</text></g><g><line x1="202.17" y1="74.34" x2="221.4" y2="63.66" stroke="var(--sw-line)"></line><text x="195.45" y="46.98" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♊︎</text></g><g><line x1="168.33" y1="39.38" x2="179.64" y2="20.51" stroke="var(--sw-line)"></line><text x="148.84" y="19.04" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♋︎</text></g><g><line x1="121.54" y1="26.01" x2="121.9" y2="4.02" stroke="var(--sw-line)"></line><text x="94.49" y="18.15" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♌︎</text></g><g><line x1="74.34" y1="37.83" x2="63.66" y2="18.6" stroke="var(--sw-line)"></line><text x="46.98" y="44.55" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♍︎</text></g><g><line x1="39.38" y1="71.67" x2="20.51" y2="60.36" stroke="var(--sw-line)"></line><text x="19.04" y="91.16" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♎︎</text></g><g><line x1="26.01" y1="118.46" x2="4.02" y2="118.1" stroke="var(--sw-line)"></line><text x="18.15" y="145.51" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♏︎</text></g><g><line x1="37.83" y1="165.66" x2="18.6" y2="176.34" stroke="var(--sw-line)"></line><text x="44.55" y="193.02" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-rose)">♐︎</text></g><g><line x1="71.67" y1="200.62" x2="60.36" y2="219.49" stroke="var(--sw-line)"></line><text x="91.16" y="220.96" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-leaf)">♑︎</text></g><g><line x1="118.46" y1="213.99" x2="118.1" y2="235.98" stroke="var(--sw-line)"></line><text x="145.51" y="221.85" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-gold)">♒︎</text></g><g><line x1="165.66" y1="202.17" x2="176.34" y2="221.4" stroke="var(--sw-line)"></line><text x="193.02" y="195.45" font-size="11.5" text-anchor="middle" dominant-baseline="central" fill="var(--sw-sky)">♓︎</text></g><line x1="4" y1="120" x2="72" y2="120" stroke="var(--sw-accent)" stroke-width="1.5"></line><line x1="108.2" y1="4.6" x2="115.12" y2="72.25" stroke="var(--sw-accent)" stroke-width="1.5" stroke-opacity="0.6"></line><text x="30" y="114" font-size="11.5" font-weight="700" fill="var(--sw-accent)">AC</text><text x="126.22" y="62.33" font-size="11.5" font-weight="700" fill="var(--sw-accent)" text-anchor="middle" dominant-baseline="central" fill-opacity="0.8">MC</text><g><line x1="108.85" y1="73.31" x2="86.43" y2="154.31" class="sw-draw-line" stroke="var(--sw-leaf)" stroke-width="1.6"></line><line x1="108.85" y1="73.31" x2="72.62" y2="127.71" class="sw-draw-line" stroke="var(--sw-rose)" stroke-width="1.6"></line><line x1="89.31" y1="83.09" x2="72.62" y2="127.71" class="sw-draw-line" stroke="var(--sw-sky)" stroke-width="1.6"></line><g class="sw-fade-swap"><line x1="99.33" y1="33.43" x2="98.17" y2="28.57" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="101.42" y="42.19" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☉︎</text><circle cx="108.85" cy="73.31" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="57.75" y1="183.61" x2="54.26" y2="187.18" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="64.05" y="177.18" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☽︎</text><circle cx="86.43" cy="154.31" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="63.1" y1="51.56" x2="59.91" y2="47.72" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="68.86" y="58.48" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">☿︎</text><circle cx="89.31" cy="83.09" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="78.67" y1="41.18" x2="76.35" y2="36.75" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="82.85" y="49.15" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♀︎</text><circle cx="97.71" cy="77.49" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="38.38" y1="155.49" x2="33.8" y2="157.48" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="46.64" y="151.9" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♂︎</text><circle cx="75.98" cy="139.14" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="79.62" y1="199.31" x2="77.35" y2="203.77" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="83.71" y="191.29" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♃︎</text><circle cx="98.22" cy="162.78" r="2.2" fill="var(--sw-accent)"></circle></g><g class="sw-fade-swap"><line x1="32.15" y1="134.29" x2="27.22" y2="135.09" stroke="var(--sw-accent)" stroke-width="1.4"></line><text x="41.04" y="132.85" font-size="14" text-anchor="middle" dominant-baseline="central" fill="var(--sw-text)">♄︎</text><circle cx="72.62" cy="127.71" r="2.2" fill="var(--sw-accent)"></circle></g></g></svg>
1032<ul class="flex flex-col gap-1.5" aria-live="polite"><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-leaf)"></span><span class="flex-1 truncate">☉︎ trine ☽︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->2°11′</span></li><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-rose)"></span><span class="flex-1 truncate">☉︎ square ♄︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->4°11′</span></li><li class="flex items-center gap-2 text-[12px] sw-fade-swap"><span class="inline-block w-3 h-[3px] rounded-full flex-none" style="background:var(--sw-sky)"></span><span class="flex-1 truncate">☿︎ sextile ♄︎</span><span class="sw-muted sw-mono text-[11px]">orb <!-- -->0°30′</span></li></ul><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Aug 1984 · 12:31 · New York</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/western/western_horoscope" class="sw-api-link sw-mono" title="western_horoscope docs" aria-label="western_horoscope API docs" tabindex="-1">western_horoscope</a></span></div></footer></article><article class="sw-card sw-theme-dusk" aria-label="Pairwise, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">P</span><span class="sw-appname">Pairwise</span><span class="sw-appmeta">Kundli milan</span></header><div class="flex items-center gap-3"><span class="flex flex-none" aria-hidden="true"><span class="match-avatar ">A</span><span class="match-avatar -ml-2">D</span></span><span class="flex flex-col min-w-0 leading-snug"><span class="text-[14px] font-bold">Aarav<!-- --> &amp; <!-- -->Diya</span><span class="text-[11px] sw-muted truncate">Hasta<!-- --> × <!-- -->Swati<!-- --> · <!-- -->Kanya<!-- --> × <!-- -->Tula<!-- --> Moon</span></span></div><div class="sw-seg " role="group" aria-label="Result view"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Summary</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">8 kootas</button></div><div class="sw-panel p-3.5 h-[206px]" aria-live="polite"><div class="flex flex-col items-center gap-2"><div class="relative" style="width:180px;height:96px"><svg width="180" height="96" viewBox="0 0 180 96" aria-hidden="true"><path d="M 20 86 A 70 70 0 0 1 160 86" fill="none" stroke="var(--sw-sunken)" stroke-width="12" stroke-linecap="round"></path><path d="M 20 86 A 70 70 0 0 1 160 86" fill="none" stroke="var(--sw-accent)" stroke-width="12" stroke-linecap="round" stroke-dasharray="219.91" stroke-dashoffset="51.92"></path></svg><div class="absolute inset-x-0 bottom-0 flex flex-col items-center leading-none"><span class="text-[30px] font-extrabold sw-num tracking-tight">27.5<span class="text-[14px] font-semibold sw-muted"> / <!-- -->36</span></span></div></div><span class="sw-chip">Strong match</span><ul class="flex flex-col gap-1 self-stretch"><li class="flex items-center gap-2 text-[12px]"><svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" class="flex-none"><circle cx="7" cy="7" r="7" fill="var(--sw-accent-soft)"></circle><path d="M4 7.2 6.1 9.2 10 5" fill="none" stroke="var(--sw-accent)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Bhakoot dosha cancelled</li><li class="flex items-center gap-2 text-[12px]"><svg width="14" height="14" viewBox="0 0 14 14" aria-hidden="true" class="flex-none"><circle cx="7" cy="7" r="7" fill="var(--sw-accent-soft)"></circle><path d="M4 7.2 6.1 9.2 10 5" fill="none" stroke="var(--sw-accent)" stroke-width="1.6" stroke-linecap="round" stroke-linejoin="round"></path></svg>Neither is Manglik</li></ul></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Ashtakoot · North Indian method</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/match_ashtakoot_points" class="sw-api-link sw-mono" title="match_ashtakoot_points docs" aria-label="match_ashtakoot_points API docs" tabindex="-1">match_ashtakoot_points</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Lunet, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">L</span><span class="sw-appname">Lunet</span><span class="sw-appmeta">New Delhi · 21:00</span></header><div class="flex items-center gap-4" aria-live="polite"><div class="moon-glow flex-none"><svg width="96" height="96" viewBox="0 0 96 96" aria-hidden="true" class=""><circle cx="48" cy="48" r="47" fill="var(--sw-sunken)"></circle><path d="M 48 1 A 47 47 0 0 1 48 95 A 42.53 47 0 0 1 48 1 Z" fill="#f4f1e6"></path></svg></div><div class="flex flex-col gap-1 min-w-0 sw-fade-swap"><span class="text-[11px] sw-muted">Thu<!-- -->, <!-- -->24<!-- --> Sep<!-- --> · Tonight</span><span class="sw-title">Waxing Gibbous</span><span class="text-[13px]"><span class="font-bold sw-accent sw-num">95<!-- -->%</span> lit · <!-- -->13.5<!-- --> days</span><span class="text-[12px] sw-muted">Moon in <!-- -->Pisces</span></div></div><div class="grid grid-cols-2 gap-2"><div class="sw-panel px-3 py-2 flex flex-col"><span class="text-[11px] sw-muted">Moonrise</span><span class="text-[15px] font-bold sw-num">16:53</span></div><div class="sw-panel px-3 py-2 flex flex-col"><span class="text-[11px] sw-muted">Moonset</span><span class="text-[15px] font-bold sw-num">03:39</span></div></div><div class="grid grid-cols-7 gap-1" role="group" aria-label="Day"><button type="button" aria-pressed="false" aria-label="Tue 22 September, Waxing Gibbous" class="moon-day" tabindex="-1"><span class="text-[11px] sw-muted">Tu</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 1 10 19 A 5.99 9 0 0 1 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">22</span></button><button type="button" aria-pressed="false" aria-label="Wed 23 September, Waxing Gibbous" class="moon-day" tabindex="-1"><span class="text-[11px] sw-muted">We</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 1 10 19 A 7.2 9 0 0 1 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">23</span></button><button type="button" aria-pressed="true" aria-label="Thu 24 September, Waxing Gibbous" class="moon-day" tabindex="-1"><span class="text-[11px] sw-muted">Th</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 1 10 19 A 8.14 9 0 0 1 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">24</span></button><button type="button" aria-pressed="false" aria-label="Fri 25 September, Waxing Gibbous" class="moon-day" tabindex="-1"><span class="text-[11px] sw-muted">Fr</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 1 10 19 A 8.77 9 0 0 1 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">25</span></button><button type="button" aria-pressed="false" aria-label="Sat 26 September, Full Moon" class="moon-day" tabindex="-1"><span class="text-[11px] sw-muted">Sa</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><circle cx="10" cy="10" r="9" fill="#f4f1e6"></circle></svg><span class="text-[12px] font-semibold sw-num">26</span></button><button type="button" aria-pressed="false" aria-label="Sun 27 September, Waning Gibbous" class="moon-day" tabindex="-1"><span class="text-[11px] sw-muted">Su</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 0 10 19 A 8.8 9 0 0 0 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">27</span></button><button type="button" aria-pressed="false" aria-label="Mon 28 September, Waning Gibbous" class="moon-day" tabindex="-1"><span class="text-[11px] sw-muted">Mo</span><svg width="20" height="20" viewBox="0 0 20 20" aria-hidden="true" class=""><circle cx="10" cy="10" r="9" fill="var(--sw-sunken)"></circle><path d="M 10 1 A 9 9 0 0 0 10 19 A 8.16 9 0 0 0 10 1 Z" fill="#f4f1e6"></path></svg><span class="text-[12px] font-semibold sw-num">28</span></button></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Full moon Sat 26 Sep, 22:19</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/western/lunar_metrics" class="sw-api-link sw-mono" title="lunar_metrics docs" aria-label="lunar_metrics API docs" tabindex="-1">lunar_metrics</a></span></div></footer></article></div></div></div><div class="wall-column flex-1 min-w-0 hidden lg:block"><div class="wall-track "><div class="wall-copy"><article class="sw-card sw-theme-sage" aria-label="Dashaboard, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">D</span><span class="sw-appname">Dashaboard</span><span class="sw-appmeta">Vimshottari</span></header><div class="sw-panel p-3.5 flex flex-col gap-2"><span class="sw-label">Running now</span><span class="flex items-baseline gap-2 flex-wrap"><span class="sw-title">Jupiter<!-- --> <span class="sw-muted font-semibold">›</span> <!-- -->Saturn</span><span class="text-[11px] sw-muted">Maha › Antar</span></span><span class="text-[12px] sw-num">
103228 Aug 2026 – 10 Mar 2029</span><span class="h-1.5 rounded-full overflow-hidden" style="background:var(--sw-sunken)" aria-hidden="true"><span class="block h-full rounded-full" style="width:4%;background:var(--sw-accent)"></span></span><span class="text-[11px] sw-muted">2.9<!-- -->% of the Saturn antardasha done</span></div><div class="flex flex-col gap-1.5"><div class="relative flex h-9 gap-[3px]" role="group" aria-label="Mahadashas"><button type="button" aria-pressed="false" aria-label="Moon mahadasha, Birth – 10 Jul 1999" title="Moon" class="dasha-seg" data-state="past" style="flex-grow:6.009999999999991;flex-basis:0"></button><button type="button" aria-pressed="false" aria-label="Mars mahadasha, 10 Jul 1999 – 10 Jul 2006" title="Mars" class="dasha-seg" data-state="past" style="flex-grow:7;flex-basis:0"></button><button type="button" aria-pressed="false" aria-label="Rahu mahadasha, 10 Jul 2006 – 9 Jul 2024" title="Rahu" class="dasha-seg" data-state="past" style="flex-grow:18;flex-basis:0">Ra</button><button type="button" aria-pressed="true" aria-label="Jupiter mahadasha, 9 Jul 2024 – 9 Jul 2040" title="Jupiter" class="dasha-seg" data-state="now" style="flex-grow:16;flex-basis:0">Ju</button><button type="button" aria-pressed="false" aria-label="Saturn mahadasha, 9 Jul 2040 – 10 Jul 2059" title="Saturn" class="dasha-seg" data-state="future" style="flex-grow:19;flex-basis:0">Sa</button><button type="button" aria-pressed="false" aria-label="Mercury mahadasha, 10 Jul 2059 – 9 Jul 2076" title="Mercury" class="dasha-seg" data-state="future" style="flex-grow:17;flex-basis:0">Me</button><button type="button" aria-pressed="false" aria-label="Ketu mahadasha, 9 Jul 2076 – 10 Jul 2083" title="Ketu" class="dasha-seg" data-state="future" style="flex-grow:7;flex-basis:0"></button><span class="dasha-now" style="left:calc(0.3691 * (100% - 18px) + 9px)" aria-hidden="true"></span></div><div class="relative h-4 text-[11px] sw-muted sw-num" aria-hidden="true"><span class="absolute left-0">1993</span><span class="absolute -translate-x-1/2 font-semibold sw-accent" style="left:calc(0.3691 * (100% - 18px) + 9px)">Now</span><span class="absolute right-0">2083</span></div></div>
1032<div class="h-[146px]" aria-live="polite"><div class="flex flex-col gap-1.5 sw-fade-swap"><span class="flex items-baseline justify-between gap-2"><span class="text-[14px] font-bold">Jupiter<!-- --> mahadasha</span><span class="text-[11px] sw-muted whitespace-nowrap">16 yrs</span></span><span class="text-[12px] sw-muted sw-num">9 Jul 2024 – 9 Jul 2040<!-- --> · <!-- -->Running now</span><ul class="flex flex-col gap-1 pt-1"><li class="dasha-ad" data-state="done"><span class="font-semibold">Jupiter</span><span class="sw-num">9 Jul 2024 – 28 Aug 2026</span></li><li class="dasha-ad" data-state="now"><span class="font-semibold">Saturn</span><span class="sw-num">28 Aug 2026 – 10 Mar 2029</span></li><li class="dasha-ad" data-state="next"><span class="font-semibold">Mercury</span><span class="sw-num">10 Mar 2029 – 16 Jun 2031</span></li></ul></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Jul 1993 · 08:00 · New Delhi</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/major_vdasha" class="sw-api-link sw-mono" title="major_vdasha docs" aria-label="major_vdasha API docs">major_vdasha</a><a href="/developers/v1/vedic/current_vdasha" class="sw-api-link sw-mono" title="current_vdasha docs" aria-label="current_vdasha API docs">current_vdasha</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Ask Vela, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">V</span><span class="sw-appname">Ask Vela</span><span class="sw-appmeta">Scorpio rising</span></header><div class="h-[228px] overflow-hidden flex flex-col justify-end gap-2.5" aria-live="polite"><div class="sw-fade-swap flex flex-col gap-1.5 max-w-[88%] self-end items-end"><div class="chat-bubble chat-user">Is this a good year to change jobs?</div></div><div class="sw-fade-swap flex flex-col gap-1.5 max-w-[88%] self-start"><div class="chat-bubble chat-assistant">Yes, it is a strong window. Jupiter moves through your 10th house of career from 30 Jun 2026 to 26 Jul 2027.</div><div class="flex flex-wrap gap-1"><span class="sw-chip">♃︎ Jupiter in 10th</span><span class="sw-chip">Scorpio rising</span></div></div></div><div class="flex flex-col gap-1.5"><span class="sw-label">Ask next</span><div class="flex flex-col gap-1.5 min-h-[78px]"><button type="button" class="chat-suggest">When should I ask for a raise?</button><button type="button" class="chat-suggest">Anything to watch out for?</button></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Answers cite your birth chart</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/chat-api" class="sw-api-link sw-mono" title="api/chat docs" aria-label="api/chat API docs">api/chat</a><a href="/developers/v1/western/western_horoscope" class="sw-api-link sw-mono" title="western_horoscope docs" aria-label="western_horoscope API docs">western_horoscope</a></span></div></footer></article><article class="sw-card sw-theme-ivory" aria-label="Shubh Dates, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">S</span><span class="sw-appname">Shubh Dates</span><span class="sw-appmeta">New Delhi</span></header><div class="grid grid-cols-2 gap-1.5" role="group" aria-label="Event"><button type="button" aria-pressed="true" class="muhurta-event">Marriage</button><button type="button" aria-pressed="false" class="muhurta-event">Griha Pravesh</button><button type="button" aria-pressed="false" class="muhurta-event">Vehicle</button><button type="button" aria-pressed="false" class="muhurta-event">Business</button></div><div class="sw-panel p-3"><div class="flex items-center justify-between mb-2"><span class="text-[13px] font-bold">February 2027</span><span class="flex items-center gap-1.5 text-[11px] sw-muted"><span class="w-2 h-2 rounded-full" style="background:var(--sw-accent-soft);box-shadow:inset 0 0 0 1px var(--sw-accent)"></span>Auspicious</span></div><div class="grid grid-cols-7 gap-y-1 text-center" aria-hidden="true"><span class="text-[11px] sw-muted font-semibold">S</span><span class="text-[11px] sw-muted font-semibold">M</span><span class="text-[11px] sw-muted font-semibold">T</span><span class="text-[11px] sw-muted font-semibold">W</span><span class="text-[11px] sw-muted font-semibold">T</span><span class="text-[11px] sw-muted font-semibold">F</span><span class="text-[11px] sw-muted font-semibold">S</span><span></span><span class="muhurta-day sw-num" data-state="plain">1</span><span class="muhurta-day sw-num" data-state="plain">2</span><span class="muhurta-day sw-num" data-state="good">3</span><span class="muhurta-day sw-num" data-state="plain">4</span><span class="muhurta-day sw-num" data-state="plain">5</span><span class="muhurta-day sw-num" data-state="plain">6</span><span class="muhurta-day sw-num" data-state="plain">7</span><span class="muhurta-day sw-num" data-state="plain">8</span><span class="muhurta-day sw-num" data-state="plain">
10329</span><span class="muhurta-day sw-num" data-state="plain">10</span><span class="muhurta-day sw-num" data-state="pick">11</span><span class="muhurta-day sw-num" data-state="plain">12</span><span class="muhurta-day sw-num" data-state="plain">13</span><span class="muhurta-day sw-num" data-state="plain">14</span><span class="muhurta-day sw-num" data-state="plain">15</span><span class="muhurta-day sw-num" data-state="plain">16</span><span class="muhurta-day sw-num" data-state="plain">17</span><span class="muhurta-day sw-num" data-state="plain">18</span><span class="muhurta-day sw-num" data-state="plain">19</span><span class="muhurta-day sw-num" data-state="plain">20</span><span class="muhurta-day sw-num" data-state="good">21</span><span class="muhurta-day sw-num" data-state="good">22</span><span class="muhurta-day sw-num" data-state="plain">23</span><span class="muhurta-day sw-num" data-state="plain">24</span><span class="muhurta-day sw-num" data-state="good">25</span><span class="muhurta-day sw-num" data-state="good">26</span><span class="muhurta-day sw-num" data-state="plain">27</span><span class="muhurta-day sw-num" data-state="plain">28</span></div><span class="sr-only">Auspicious dates: <!-- -->3 February, 11 February, 21 February, 22 February, 25 February, 26 February</span></div><div class="flex flex-col gap-0.5 sw-fade-swap" aria-live="polite"><span class="text-[11px] sw-muted">Best window · <!-- -->Thu, 11 Feb 2027</span><span class="text-[20px] font-extrabold sw-num tracking-tight sw-accent">11:42 – 13:37</span><span class="text-[12px] sw-muted">Revati<!-- --> · <!-- -->Vrishabha lagna · Shukla 5</span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Muhurta by nakshatra, tithi and lagna</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/monthly_muhurta/marriage" class="sw-api-link sw-mono" title="monthly_muhurta/marriage docs" aria-label="monthly_muhurta/marriage API docs">monthly_muhurta/marriage</a></span></div></footer></article></div><div class="wall-copy wall-copy-duplicate" aria-hidden="true"><article class="sw-card sw-theme-sage" aria-label="Dashaboard, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">D</span><span class="sw-appname">Dashaboard</span><span class="sw-appmeta">Vimshottari</span></header><div class="sw-panel p-3.5 flex flex-col gap-2"><span class="sw-label">Running now</span><span class="flex items-baseline gap-2 flex-wrap"><span class="sw-title">Jupiter<!-- --> <span class="sw-muted font-semibold">›</span> <!-- -->Saturn</span><span class="text-[11px] sw-muted">Maha › Antar</span></span><span class="text-[12px] sw-num">28 Aug 2026 – 10 Mar 2029</span><span class="h-1.5 rounded-full overflow-hidden" style="background:var(--sw-sunken)" aria-hidden="true"><span class="block h-full rounded-full" style="width:4%;background:var(--sw-accent)"></span></span><span class="text-[11px] sw-muted">2.9<!-- -->% of the Saturn antardasha done</span></div><div class="flex flex-col gap-1.5"><div class="relative flex h-9 gap-[3px]" role="group" aria-label="Mahadashas"><button type="button" aria-pressed="false" aria-label="Moon mahadasha, Birth – 10 Jul 1999" title="Moon" class="dasha-seg" data-state="past" style="flex-grow:6.009999999999991;flex-basis:0" tabindex="-1"></button><button type="button" aria-pressed="false" aria-label="Mars mahadasha, 10 Jul 1999 – 10 Jul 2006" title="Mars" class="dasha-seg" data-state="past" style="flex-grow:7;flex-basis:0" tabindex="-1"></button><button type="button" aria-pressed="false" aria-label="Rahu mahadasha, 10 Jul 2006 – 9 Jul 2024" title="Rahu" class="dasha-seg" data-state="past" style="flex-grow:18;flex-basis:0" tabindex="-1">Ra</button><button type="button" aria-pressed="true" aria-label="Jupiter mahadasha, 9 Jul 2024 – 9 Jul 2040" title="Jupiter" class="dasha-seg" data-state="now" style="flex-grow:16;flex-basis:0" tabindex="-1">Ju</button><button type="button" aria-pressed="false" aria-label="Saturn mahadasha, 9 Jul 2040 – 10 Jul 2059" title="Saturn" class="dasha-seg" data-state="future" style="flex-grow:19;flex-basis:0" tabindex="-1">Sa</button><button type="button" aria-pressed="false" aria-label="Mercury mahadasha, 10 Jul 2059 – 9 Jul 2076" title="Mercury" class="dasha-seg" data-state="future" style="flex-grow:17;flex-basis:0" tabindex="-1">Me</button><button type="button" aria-pressed="false" aria-label="Ketu mahadasha, 9 Jul 2076 – 10 Jul 2083" title="Ketu" class="dasha-seg" data-state="future" style="flex-grow:7;flex-basis:0" tabindex="-1"></button><span class="dasha-now" style="left:calc(0.3691 * (100% - 18px) + 9px)" aria-hidden="true"></span></div><div class="relative h-4 text-[11px] sw-muted sw-num" aria-hidden="true"><span class="absolute left-0">1993</span><span class="absolute -translate-x-1/2 font-semibold sw-accent" style="left:calc(0.3691 * (100% - 18px) + 9px)">Now</span><span class="absolute right-0">2083</span></div></div>
1032<div class="h-[146px]" aria-live="polite"><div class="flex flex-col gap-1.5 sw-fade-swap"><span class="flex items-baseline justify-between gap-2"><span class="text-[14px] font-bold">Jupiter<!-- --> mahadasha</span><span class="text-[11px] sw-muted whitespace-nowrap">16 yrs</span></span><span class="text-[12px] sw-muted sw-num">9 Jul 2024 – 9 Jul 2040<!-- --> · <!-- -->Running now</span><ul class="flex flex-col gap-1 pt-1"><li class="dasha-ad" data-state="done"><span class="font-semibold">Jupiter</span><span class="sw-num">9 Jul 2024 – 28 Aug 2026</span></li><li class="dasha-ad" data-state="now"><span class="font-semibold">Saturn</span><span class="sw-num">28 Aug 2026 – 10 Mar 2029</span></li><li class="dasha-ad" data-state="next"><span class="font-semibold">Mercury</span><span class="sw-num">10 Mar 2029 – 16 Jun 2031</span></li></ul></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">6 Jul 1993 · 08:00 · New Delhi</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/major_vdasha" class="sw-api-link sw-mono" title="major_vdasha docs" aria-label="major_vdasha API docs" tabindex="-1">major_vdasha</a><a href="/developers/v1/vedic/current_vdasha" class="sw-api-link sw-mono" title="current_vdasha docs" aria-label="current_vdasha API docs" tabindex="-1">current_vdasha</a></span></div></footer></article><article class="sw-card sw-theme-midnight" aria-label="Ask Vela, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">V</span><span class="sw-appname">Ask Vela</span><span class="sw-appmeta">Scorpio rising</span></header><div class="h-[228px] overflow-hidden flex flex-col justify-end gap-2.5" aria-live="polite"><div class="sw-fade-swap flex flex-col gap-1.5 max-w-[88%] self-end items-end"><div class="chat-bubble chat-user">Is this a good year to change jobs?</div></div><div class="sw-fade-swap flex flex-col gap-1.5 max-w-[88%] self-start"><div class="chat-bubble chat-assistant">Yes, it is a strong window. Jupiter moves through your 10th house of career from 30 Jun 2026 to 26 Jul 2027.</div><div class="flex flex-wrap gap-1"><span class="sw-chip">♃︎ Jupiter in 10th</span><span class="sw-chip">Scorpio rising</span></div></div></div><div class="flex flex-col gap-1.5"><span class="sw-label">Ask next</span><div class="flex flex-col gap-1.5 min-h-[78px]"><button type="button" class="chat-suggest" tabindex="-1">When should I ask for a raise?</button><button type="button" class="chat-suggest" tabindex="-1">Anything to watch out for?</button></div></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Answers cite your birth chart</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/chat-api" class="sw-api-link sw-mono" title="api/chat docs" aria-label="api/chat API docs" tabindex="-1">api/chat</a><a href="/developers/v1/western/western_horoscope" class="sw-api-link sw-mono" title="western_horoscope docs" aria-label="western_horoscope API docs" tabindex="-1">western_horoscope</a></span></div></footer></article><article class="sw-card sw-theme-ivory" aria-label="Shubh Dates, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">S</span><span class="sw-appname">Shubh Dates</span><span class="sw-appmeta">New Delhi</span></header><div class="grid grid-cols-2 gap-1.5" role="group" aria-label="Event"><button type="button" aria-pressed="true" class="muhurta-event" tabindex="-1">Marriage</button><button type="button" aria-pressed="false" class="muhurta-event" tabindex="-1">Griha Pravesh</button><button type="button" aria-pressed="false" class="muhurta-event" tabindex="-1">Vehicle</button><button type="button" aria-pressed="false" class="muhurta-event" tabindex="-1">Business</button></div><div class="sw-panel p-3"><div class="flex items-center justify-between mb-2"><span class="text-[13px] font-bold">February 2027</span><span class="flex items-center gap-1.5 text-[11px] sw-muted"><span class="w-2 h-2 rounded-full" style="background:var(--sw-accent-soft);box-shadow:inset 0 0 0 1px var(--sw-accent)"></span>Auspicious</span></div><div class="grid grid-cols-7 gap-y-1 text-center" aria-hidden="true"><span class="text-[11px] sw-muted font-semibold">S</span><span class="text-[11px] sw-muted font-semibold">M</span><span class="text-[11px] sw-muted font-semibold">T</span><span class="text-[11px] sw-muted font-semibold">W</span><span class="text-[11px] sw-muted font-semibold">T</span><span class="text-[11px] sw-muted font-semibold">F</span><span class="text-[11px] sw-muted font-semibold">S</span><span></span><span class="muhurta-day sw-num" data-state="plain">1</span><span class="muhurta-day sw-num" data-state="plain">2</span><span class="muhurta-day sw-num" data-state="good">3</span><span class="muhurta-day sw-num" data-state="plain">4</span><span class="muhurta-day sw-num" data-state="plain">5</span><span class="muhurta-day sw-num" data-state="plain">6</span><span class="muhurta-day sw-num" data-state="plain">7</span><span class="muhurta-day sw-num" data-state="plain">8</span><span class="muhurta-day sw-num" data-state="plain">
10329</span><span class="muhurta-day sw-num" data-state="plain">10</span><span class="muhurta-day sw-num" data-state="pick">11</span><span class="muhurta-day sw-num" data-state="plain">12</span><span class="muhurta-day sw-num" data-state="plain">13</span><span class="muhurta-day sw-num" data-state="plain">14</span><span class="muhurta-day sw-num" data-state="plain">15</span><span class="muhurta-day sw-num" data-state="plain">16</span><span class="muhurta-day sw-num" data-state="plain">17</span><span class="muhurta-day sw-num" data-state="plain">18</span><span class="muhurta-day sw-num" data-state="plain">19</span><span class="muhurta-day sw-num" data-state="plain">20</span><span class="muhurta-day sw-num" data-state="good">21</span><span class="muhurta-day sw-num" data-state="good">22</span><span class="muhurta-day sw-num" data-state="plain">23</span><span class="muhurta-day sw-num" data-state="plain">24</span><span class="muhurta-day sw-num" data-state="good">25</span><span class="muhurta-day sw-num" data-state="good">26</span><span class="muhurta-day sw-num" data-state="plain">27</span><span class="muhurta-day sw-num" data-state="plain">28</span></div><span class="sr-only">Auspicious dates: <!-- -->3 February, 11 February, 21 February, 22 February, 25 February, 26 February</span></div><div class="flex flex-col gap-0.5 sw-fade-swap" aria-live="polite"><span class="text-[11px] sw-muted">Best window · <!-- -->Thu, 11 Feb 2027</span><span class="text-[20px] font-extrabold sw-num tracking-tight sw-accent">11:42 – 13:37</span><span class="text-[12px] sw-muted">Revati<!-- --> · <!-- -->Vrishabha lagna · Shukla 5</span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Muhurta by nakshatra, tithi and lagna</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/monthly_muhurta/marriage" class="sw-api-link sw-mono" title="monthly_muhurta/marriage docs" aria-label="monthly_muhurta/marriage API docs" tabindex="-1">monthly_muhurta/marriage</a></span></div></footer></article></div></div></div><div class="wall-column flex-1 min-w-0 hidden xl:block"><div class="wall-track wall-track-down"><div class="wall-copy"><article class="sw-card sw-theme-ivory" aria-label="Tithi Today, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">T</span><span class="sw-appname">Tithi Today</span><span class="sw-appmeta">New Delhi</span></header><div class="flex flex-col gap-0.5"><span class="text-[11px] sw-muted">Thu, 24 Sep 2026</span><span class="sw-title">Bhadrapada Shukla Trayodashi</span></div><div class="sw-seg " role="group" aria-label="Panchang view"><button type="button" class="sw-seg-btn" aria-pressed="true">Panchang</button><button type="button" class="sw-seg-btn" aria-pressed="false">Timings</button></div><div class="sw-panel px-3.5 py-2.5 h-[204px]" aria-live="polite"><dl class="flex flex-col sw-fade-swap"><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] "><dt class="text-[12px] sw-muted">Tithi</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Trayodashi</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 23:18</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Nakshatra</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Dhanishta</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 10:34</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Yoga</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Dhriti</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 15:53</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Karana</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Kaulava</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 11:09</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Vara</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Guruvara</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">Thursday</span></dd></div></dl></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Lahiri ayanamsa · Amanta month</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/advanced_panchang" class="sw-api-link sw-mono" title="advanced_panchang docs" aria-label="advanced_panchang API docs">advanced_panchang</a></span></div></footer></article><article class="sw-card sw-theme-ink" aria-label="Skyfeed, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Sf</span><span class="sw-appname">Skyfeed</span><span class="sw-appmeta">05:30 IST</span></header><div class="sw-seg " role="group" aria-label="Zodiac"><button type="button" class="sw-seg-btn" aria-pressed="true">Tropical</button><button type="button" class="sw-seg-btn" aria-pressed="false">Sidereal</button></div>
1032<div class="sw-panel px-3.5 py-1" aria-live="polite"><div class="flex items-baseline justify-between gap-3 py-2 sw-fade-swap "><span class="text-[12px] sw-muted"><span class="sw-accent">☉︎</span> <!-- -->Sun</span><span class="text-[15px] font-bold sw-num">Libra 0°58′</span></div><div class="flex items-baseline justify-between gap-3 py-2 sw-fade-swap border-t sw-hair"><span class="text-[12px] sw-muted"><span class="sw-accent">☽︎</span> <!-- -->Moon</span><span class="text-[15px] font-bold sw-num">Aquarius 28°12′</span></div></div><div class="sw-well overflow-hidden py-2.5" aria-hidden="true"><div class="wall-ticker-track"><span class="inline-flex"><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☉︎</span> <!-- -->Libra 0°58′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☽︎</span> <!-- -->Aquarius 28°12′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☿︎</span> <!-- -->Libra 20°56′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♀︎</span> <!-- -->Scorpio 6°55′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♂︎</span> <!-- -->Cancer 27°34′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♃︎</span> <!-- -->Leo 18°18′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♄︎</span> <!-- -->Aries 12°07′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♅︎</span> <!-- -->Gemini 5°37′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♆︎</span> <!-- -->Aries 3°04′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♇︎</span> <!-- -->Aquarius 3°11′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☊︎</span> <!-- -->Aquarius 28°05′</span></span><span class="inline-flex"><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☉︎</span> <!-- -->Libra 0°58′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☽︎</span> <!-- -->Aquarius 28°12′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☿︎</span> <!-- -->Libra 20°56′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♀︎</span> <!-- -->Scorpio 6°55′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♂︎</span> <!-- -->Cancer 27°34′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♃︎</span> <!-- -->Leo 18°18′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♄︎</span> <!-- -->Aries 12°07′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♅︎</span> <!-- -->Gemini 5°37′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♆︎</span> <!-- -->Aries 3°04′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♇︎</span> <!-- -->Aquarius 3°11′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☊︎</span> <!-- -->Aquarius 28°05′</span></span></div></div><p class="text-[12px] sw-muted -mt-1 min-h-[36px]"><span class="font-semibold" style="color:var(--sw-text)">℞ Retrograde:</span> <!-- -->Saturn, Uranus, Neptune, Pluto</p><span class="sr-only">Sun Libra 0°58′; Moon Aquarius 28°12′; Mercury Libra 20°56′; Venus Scorpio 6°55′; Mars Cancer 27°34′; Jupiter Leo 18°18′; Saturn Aries 12°07′ retrograde; Uranus Gemini 5°37′ retrograde; Neptune Aries 3°04′ retrograde; Pluto Aquarius 3°11′ retrograde; Node Aquarius 28°05′</span><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">24 Sep 2026 · 05:30 IST</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/western/planets/tropical" class="sw-api-link sw-mono" title="planets/tropical docs" aria-label="planets/tropical API docs">planets/tropical</a></span></div></footer></article><article class="sw-card sw-theme-sage" aria-label="Palmprint, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Pp</span><span class="sw-appname">Palmprint</span><span class="sw-appmeta">Scan result</span></header><div class="flex gap-3 items-stretch"><div class="palm-frame flex-none" aria-hidden="true"><svg viewBox="-4 4 70 96" width="100%" height="100%" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M 23 97 L 21.6 90 C 13.6 87.6 11.56 79.09 8.94 71.25 Q 3.84 58.48 0.21 45.11 A 4.3 4.3 0 0 1 8.19 41.89 L 13.6 55.4 Q 15.3 59.6 17.2 59.4 Q 18.5 56 18.6 49 L 17.8 18 A 4.5 4.5 0 0 1 26.8 18 L 28.4 49 Q 28.75 50.6 29.1 47.5 L 29.4 12.1 A 4.6 4.6 0 0 1 38.6 12.1 L 38.9 47.5 Q 39.25 50.1 39.6 48.5 L 40.85 15.8 A 4.3 4.3 0 0 1 49.45 15.8 L 48.9 48.5 Q 49.25 53.6 49.6 52 L 51.9 29.1 A 3.6 3.6 0 0 1 59.1 29.1 L 57.4 52 C 59.6 62 60.2 76 56.6 89.6 L 55 97" fill="var(--sw-raised)" stroke="var(--sw-muted)" stroke-width="0.9"></path><path d="M 58.9 60.4 C 50 60 40.5 59.4 33.8 55.6 Q 30.6 53.6 29.4 50.8" stroke="var(--sw-rose)" stroke-width="2.4" stroke-opacity="1" class="palm-line"></path><path d="M 18.4 57.8 C 28 60 39 63.2 51.6 69.6" stroke="var(--sw-sky)" stroke-width="1.4" stroke-opacity="0.45" class="palm-line"></path><path d="M 18.4 58.4 C 26 63 29.6 73 28.6 82 Q 28.1 86 26.9 89.6" stroke="var(--sw-leaf)" stroke-width="1.4" stroke-opacity="0.45" class="palm-line"></path><path d="M 39.2 88 C 38 77 36 65.4 34.3 56.4" stroke="var(--sw-gold)" stroke-width="1.4" stroke-opacity="0.45" class="palm-line"></path></svg></div><ul class="flex flex-col gap-1 flex-1 min-w-0" role="group" aria-label="Palm lines"><li><button type="button" aria-pressed="true" class="palm-row"><span class="w-2.5 h-2.5 rounded-full flex-none" style="background:var(--sw-rose)"></span><span class="flex-1 text-left text-[12px] font-semibold truncate">Heart line</span><span class="text-[11px] sw-num sw-muted">82<!-- -->%</span></button></li><li><button type="button" aria-pressed="false" class="palm-row"><span class="w-2.5 h-2.5 rounded-full flex-none" style="background:var(--sw-sky)"></span><span class="flex-1 text-left text-[12px] font-semibold truncate">Head line</span><span class="text-[11px] sw-num sw-muted">76<!-- -->%</span></button></li><li><button type="button" aria-pressed="false" class="palm-row"><span class="w-2.5 h-2.5 rounded-full flex-none" style="background:var(--sw-leaf)"></span><span class="flex-1 text-left text-[12px] font-semibold truncate">Life line</span><span class="text-[11px] sw-num sw-muted">91<!-- -->%</span></button></li><li><button type="button" aria-pressed="false" class="palm-row"><span class="w-2.5 h-2.5 rounded-full flex-none" style="background:var(--sw-gold)"></span><span class="flex-1 text-left text-[12px] font-semibold truncate">Fate line</span><span class="text-[11px] sw-num sw-muted">64<!-- -->%</span></button></li></ul></div>
1032<div class="sw-panel px-3.5 py-3 min-h-[84px]" aria-live="polite"><p class="text-[13px] leading-snug sw-fade-swap">Curves up between index and middle finger: warm and open with people you trust.</p></div><div class="flex items-center gap-2 flex-wrap"><span class="sw-chip">Air hand</span><span class="text-[12px] sw-muted">Square palm, long fingers</span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Left hand · 4 major lines found</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/palm-reading-api/major-lines" class="sw-api-link sw-mono" title="major-lines docs" aria-label="major-lines API docs">major-lines</a><a href="/developers/v1/palm-reading-api/hand-type" class="sw-api-link sw-mono" title="hand-type docs" aria-label="hand-type API docs">hand-type</a></span></div></footer></article></div><div class="wall-copy wall-copy-duplicate" aria-hidden="true"><article class="sw-card sw-theme-ivory" aria-label="Tithi Today, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">T</span><span class="sw-appname">Tithi Today</span><span class="sw-appmeta">New Delhi</span></header><div class="flex flex-col gap-0.5"><span class="text-[11px] sw-muted">Thu, 24 Sep 2026</span><span class="sw-title">Bhadrapada Shukla Trayodashi</span></div><div class="sw-seg " role="group" aria-label="Panchang view"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Panchang</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">Timings</button></div><div class="sw-panel px-3.5 py-2.5 h-[204px]" aria-live="polite"><dl class="flex flex-col sw-fade-swap"><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] "><dt class="text-[12px] sw-muted">Tithi</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Trayodashi</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 23:18</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Nakshatra</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Dhanishta</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 10:34</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Yoga</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Dhriti</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 15:53</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Karana</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Kaulava</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">till 11:09</span></dd></div><div class="grid grid-cols-[76px_1fr] gap-2 py-[7px] border-t sw-hair"><dt class="text-[12px] sw-muted">Vara</dt><dd class="flex items-baseline justify-between gap-2 min-w-0"><span class="text-[13px] font-semibold truncate">Guruvara</span><span class="text-[11px] sw-muted sw-num whitespace-nowrap">Thursday</span></dd></div></dl></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Lahiri ayanamsa · Amanta month</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/vedic/advanced_panchang" class="sw-api-link sw-mono" title="advanced_panchang docs" aria-label="advanced_panchang API docs" tabindex="-1">advanced_panchang</a></span></div></footer></article><article class="sw-card sw-theme-ink" aria-label="Skyfeed, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Sf</span><span class="sw-appname">Skyfeed</span><span class="sw-appmeta">05:30 IST</span></header><div class="sw-seg " role="group" aria-label="Zodiac"><button type="button" class="sw-seg-btn" aria-pressed="true" tabindex="-1">Tropical</button><button type="button" class="sw-seg-btn" aria-pressed="false" tabindex="-1">Sidereal</button></div>
1032<div class="sw-panel px-3.5 py-1" aria-live="polite"><div class="flex items-baseline justify-between gap-3 py-2 sw-fade-swap "><span class="text-[12px] sw-muted"><span class="sw-accent">☉︎</span> <!-- -->Sun</span><span class="text-[15px] font-bold sw-num">Libra 0°58′</span></div><div class="flex items-baseline justify-between gap-3 py-2 sw-fade-swap border-t sw-hair"><span class="text-[12px] sw-muted"><span class="sw-accent">☽︎</span> <!-- -->Moon</span><span class="text-[15px] font-bold sw-num">Aquarius 28°12′</span></div></div><div class="sw-well overflow-hidden py-2.5" aria-hidden="true"><div class="wall-ticker-track"><span class="inline-flex"><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☉︎</span> <!-- -->Libra 0°58′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☽︎</span> <!-- -->Aquarius 28°12′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☿︎</span> <!-- -->Libra 20°56′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♀︎</span> <!-- -->Scorpio 6°55′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♂︎</span> <!-- -->Cancer 27°34′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♃︎</span> <!-- -->Leo 18°18′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♄︎</span> <!-- -->Aries 12°07′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♅︎</span> <!-- -->Gemini 5°37′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♆︎</span> <!-- -->Aries 3°04′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♇︎</span> <!-- -->Aquarius 3°11′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☊︎</span> <!-- -->Aquarius 28°05′</span></span><span class="inline-flex"><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☉︎</span> <!-- -->Libra 0°58′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☽︎</span> <!-- -->Aquarius 28°12′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☿︎</span> <!-- -->Libra 20°56′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♀︎</span> <!-- -->Scorpio 6°55′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♂︎</span> <!-- -->Cancer 27°34′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♃︎</span> <!-- -->Leo 18°18′</span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♄︎</span> <!-- -->Aries 12°07′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♅︎</span> <!-- -->Gemini 5°37′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♆︎</span> <!-- -->Aries 3°04′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">♇︎</span> <!-- -->Aquarius 3°11′<span class="sw-muted"> ℞</span></span><span class="text-[12px] sw-mono px-3 whitespace-nowrap"><span class="sw-accent">☊︎</span> <!-- -->Aquarius 28°05′</span></span></div></div><p class="text-[12px] sw-muted -mt-1 min-h-[36px]"><span class="font-semibold" style="color:var(--sw-text)">℞ Retrograde:</span> <!-- -->Saturn, Uranus, Neptune, Pluto</p><span class="sr-only">Sun Libra 0°58′; Moon Aquarius 28°12′; Mercury Libra 20°56′; Venus Scorpio 6°55′; Mars Cancer 27°34′; Jupiter Leo 18°18′; Saturn Aries 12°07′ retrograde; Uranus Gemini 5°37′ retrograde; Neptune Aries 3°04′ retrograde; Pluto Aquarius 3°11′ retrograde; Node Aquarius 28°05′</span><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">24 Sep 2026 · 05:30 IST</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/western/planets/tropical" class="sw-api-link sw-mono" title="planets/tropical docs" aria-label="planets/tropical API docs" tabindex="-1">planets/tropical</a></span></div></footer></article><article class="sw-card sw-theme-sage" aria-label="Palmprint, an example app screen"><header class="sw-appbar"><span class="sw-monogram" aria-hidden="true">Pp</span><span class="sw-appname">Palmprint</span><span class="sw-appmeta">Scan result</span></header><div class="flex gap-3 items-stretch"><div class="palm-frame flex-none" aria-hidden="true"><svg viewBox="-4 4 70 96" width="100%" height="100%" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M 23 97 L 21.6 90 C 13.6 87.6 11.56 79.09 8.94 71.25 Q 3.84 58.48 0.21 45.11 A 4.3 4.3 0 0 1 8.19 41.89 L 13.6 55.4 Q 15.3 59.6 17.2 59.4 Q 18.5 56 18.6 49 L 17.8 18 A 4.5 4.5 0 0 1 26.8 18 L 28.4 49 Q 28.75 50.6 29.1 47.5 L 29.4 12.1 A 4.6 4.6 0 0 1 38.6 12.1 L 38.9 47.5 Q 39.25 50.1 39.6 48.5 L 40.85 15.8 A 4.3 4.3 0 0 1 49.45 15.8 L 48.9 48.5 Q 49.25 53.6 49.6 52 L 51.9 29.1 A 3.6 3.6 0 0 1 59.1 29.1 L 57.4 52 C 59.6 62 60.2 76 56.6 89.6 L 55 97" fill="var(--sw-raised)" stroke="var(--sw-muted)" stroke-width="0.9"></path><path d="M 58.9 60.4 C 50 60 40.5 59.4 33.8 55.6 Q 30.6 53.6 29.4 50.8" stroke="var(--sw-rose)" stroke-width="2.4" stroke-opacity="1" class="palm-line"></path><path d="M 18.4 57.8 C 28 60 39 63.2 51.6 69.6" stroke="var(--sw-sky)" stroke-width="1.4" stroke-opacity="0.45" class="palm-line"></path><path d="M 18.4 58.4 C 26 63 29.6 73 28.6 82 Q 28.1 86 26.9 89.6" stroke="var(--sw-leaf)" stroke-width="1.4" stroke-opacity="0.45" class="palm-line"></path><path d="M 39.2 88 C 38 77 36 65.4 34.3 56.4" stroke="var(--sw-gold)" stroke-width="1.4" stroke-opacity="0.45" class="palm-line"></path></svg></div><ul class="flex flex-col gap-1 flex-1 min-w-0" role="group" aria-label="Palm lines"><li><button type="button" aria-pressed="true" class="palm-row" tabindex="-1"><span class="w-2.5 h-2.5 rounded-full flex-none" style="background:var(--sw-rose)"></span><span class="flex-1 text-left text-[12px] font-semibold truncate">Heart line</span><span class="text-[11px] sw-num sw-muted">82<!-- -->%</span></button></li><li><button type="button" aria-pressed="false" class="palm-row" tabindex="-1"><span class="w-2.5 h-2.5 rounded-full flex-none" style="background:var(--sw-sky)"></span><span class="flex-1 text-left text-[12px] font-semibold truncate">Head line</span><span class="text-[11px] sw-num sw-muted">76<!-- -->%</span></button></li><li><button type="button" aria-pressed="false" class="palm-row" tabindex="-1"><span class="w-2.5 h-2.5 rounded-full flex-none" style="background:var(--sw-leaf)"></span><span class="flex-1 text-left text-[12px] font-semibold truncate">Life line</span><span class="text-[11px] sw-num sw-muted">91<!-- -->%</span></button></li><li><button type="button" aria-pressed="false" class="palm-row" tabindex="-1"><span class="w-2.5 h-2.5 rounded-full flex-none" style="background:var(--sw-gold)"></span><span class="flex-1 text-left text-[12px] font-semibold truncate">Fate line</span><span class="text-[11px] sw-num sw-muted">64<!-- -->%</span></button></li></ul></div>
1032<div class="sw-panel px-3.5 py-3 min-h-[84px]" aria-live="polite"><p class="text-[13px] leading-snug sw-fade-swap">Curves up between index and middle finger: warm and open with people you trust.</p></div><div class="flex items-center gap-2 flex-wrap"><span class="sw-chip">Air hand</span><span class="text-[12px] sw-muted">Square palm, long fingers</span></div><footer class="sw-footer"><div class="sw-footer-layer sw-footer-meta" aria-hidden="true">Left hand · 4 major lines found</div><div class="sw-footer-layer sw-footer-api"><span class="sw-api-tag">Powered by</span><span class="sw-api-links"><a href="/developers/v1/palm-reading-api/major-lines" class="sw-api-link sw-mono" title="major-lines docs" aria-label="major-lines API docs" tabindex="-1">major-lines</a><a href="/developers/v1/palm-reading-api/hand-type" class="sw-api-link sw-mono" title="hand-type docs" aria-label="hand-type API docs" tabindex="-1">hand-type</a></span></div></footer></article></div></div></div></div></div></section><section id="astro-ai" class="ga-root relative w-full bg-primary-bg py-6 md:py-10"><div class="max-w-7xl mx-auto px-4 sm:px-6 md:px-10 lg:px-20 xl:px-32 relative z-10"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:0ms;opacity:0;transform:translateX(-30px)" class="max-w-3xl mb-14 md:mb-20"><p class="ga-eyebrow mb-4">ASTRO AI</p><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text mb-6 text-4xl md:text-6xl font-black">AI Astrology, Grounded in Real Data.</h2><p class="text-base leading-relaxed text-secondary-text max-w-2xl">Our AI calls the astrology API before it writes. Every claim in an answer points back to a value the API calculated, so you and your users can check it.</p></div><div class="flex flex-col gap-20 md:gap-28"><div><div class="grid grid-cols-1 lg:grid-cols-12 gap-4 lg:gap-10 items-end mb-8"><div class="lg:col-span-6"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text text-3xl md:text-4xl font-black leading-tight">An astrologer that shows its work.</h3></div><div class="lg:col-span-6"><p class="text-base leading-relaxed text-secondary-text leading-relaxed">The Chat API fetches the chart first, then answers. Hover or tab to a highlighted claim to see the calculated value behind it, then switch grounding off to see what a model writes without it.</p><div class="flex flex-wrap gap-x-6 gap-y-2 mt-3"><a class="ga-link" href="/astro-ai/chat-api">Explore Chat API<!-- --> <span aria-hidden="true">→</span></a></div></div></div><div class="flex flex-col sm:flex-row sm:items-center sm:justify-between gap-4 mb-5"><div class="ga-tabs" role="tablist" aria-label="Example questions"><button id="ga-chat-tab-career" type="button" role="tab" aria-selected="true" aria-controls="ga-chat-panel" tabindex="0" class="ga-tab">Career timing<span class="ga-tab-sub">Vedic</span></button><button id="ga-chat-tab-match" type="button" role="tab" aria-selected="false" aria-controls="ga-chat-panel" tabindex="-1" class="ga-tab">Compatibility<span class="ga-tab-sub">Vedic</span></button><button id="ga-chat-tab-western" type="button" role="tab" aria-selected="false" aria-controls="ga-chat-panel" tabindex="-1" class="ga-tab">Promotion year<span class="ga-tab-sub">Western</span></button></div><button type="button" role="switch" aria-checked="true" class="ga-switch self-start sm:self-auto">Grounding<span class="ga-switch-state" aria-hidden="true">On</span><span class="ga-switch-track" aria-hidden="true"></span></button></div><div id="ga-chat-panel" role="tabpanel" aria-labelledby="ga-chat-tab-career" class="grid grid-cols-1 lg:grid-cols-12 gap-4 lg:gap-5"><div class="ga-panel lg:col-span-7 flex flex-col"><div class="ga-panel-head"><span class="ga-panel-title"><span class="ga-live-dot" aria-hidden="true"></span>Astro AI Chat</span><span class="ga-reserve"><span class="ga-chip ">Kundli · 6 Jul 1993 · 08:00 IST · New Delhi</span><span class="ga-chip ga-ghost" aria-hidden="true">Aarav (Hasta) + Diya (Swati)</span><span class="ga-chip ga-ghost" aria-hidden="true">Natal chart · Scorpio rising · whole-sign houses</span></span></div><div class="ga-chat-body flex-1"><div class="ga-reserve justify-items-end"><div class="ga-msg-user ">Is this a good time for me to change jobs?</div><div class="ga-msg-user ga-ghost" aria-hidden="true">Are Aarav and Diya a good match for marriage?</div><div class="ga-msg-user ga-ghost" aria-hidden="true">Is this a good year to go for a promotion?</div></div><div class="ga-msg-ai">
1032<div class="ga-msg-meta" aria-live="polite"><b>Astro AI</b><span class="inline-flex items-center gap-1.5">Answered from <!-- -->3<!-- --> calculated facts</span></div><div class="ga-reserve"><div class="ga-ghost" aria-hidden="true"><p class="ga-answer">Yes, if you plan it. You have just entered <span class="ga-claim">the Saturn sub-period of your Jupiter dasha, which runs from 28 Aug 2026 to 10 Mar 2029<span class="ga-cite">1</span></span>, and Saturn <span class="ga-claim">rules your Moon sign, Makara<span class="ga-cite">2</span></span>. Saturn is also <span class="ga-claim">moving through Meena, the 3rd house from your Moon, until 3 Jun 2027<span class="ga-cite">3</span></span>, a classic placement for effort paying off. Use the months before June 2027 for a well-prepared move rather than a sudden leap.</p></div><div class="ga-ghost" aria-hidden="true"><p class="ga-answer">Career timing depends on your birth chart, and I don&#x27;t have it, so I can only speak generally. Many astrologers look at the running dasha and at Saturn and Jupiter transits over the 10th house before a job change. Saturn tends to reward preparation, so a planned move is usually wiser than a sudden one.</p></div><div class="ga-ghost" aria-hidden="true"><p class="ga-answer">On the numbers, yes. They score <span class="ga-claim">27.5 of 36 points<span class="ga-cite">1</span></span>, well above the usual minimum of 18. The one weak spot is <span class="ga-claim">Bhakoot, at 0 of 7, because Kanya and Tula sit 2/12 from each other<span class="ga-cite">2</span></span>, but that dosha is treated as cancelled here because <span class="ga-claim">the two Moon-sign lords, Mercury and Venus, are friends<span class="ga-cite">3</span></span>. <span class="ga-claim">Neither of them is Manglik<span class="ga-cite">4</span></span>, so there is no Mangal dosha to weigh.</p></div><div class="ga-ghost" aria-hidden="true"><p class="ga-answer">I can&#x27;t score this match without both birth charts. A Vedic check usually compares the two Moon signs and nakshatras across eight factors (Ashtakoot, out of 36 points) and looks for Manglik dosha. As a rule of thumb, 18 points or more is considered acceptable.</p></div><div class="ga-ghost" aria-hidden="true"><p class="ga-answer">Yes, this is one of your stronger years for it. With <span class="ga-claim">Scorpio rising, Leo is your 10th house<span class="ga-cite">1</span></span> of career and reputation, and <span class="ga-claim">Jupiter is in Leo from 30 Jun 2026 to 26 Jul 2027<span class="ga-cite">2</span></span>, a transit that comes round about once every 12 years. <span class="ga-claim">Jupiter is retrograde from 14 Dec 2026 to 14 Apr 2027<span class="ga-cite">3</span></span>, so make the ask before mid-December or after mid-April.</p></div><div class="ga-ghost" aria-hidden="true"><p class="ga-answer">For a promotion question I&#x27;d want to know which house Jupiter is moving through in your chart, and I don&#x27;t have your chart. Jupiter changes sign roughly once a year, and its pass through your 10th house is traditionally the best window for career moves. If you share your birth time and place, I can be specific.</p></div><div><p class="ga-answer" aria-busy="false">Yes, if you plan it. You have just entered <a href="#ga-ev-career-1" class="ga-claim " aria-describedby="ga-ev-career-1">the Saturn sub-period of your Jupiter dasha, which runs from 28 Aug 2026 to 10 Mar 2029<span class="ga-cite"><span class="sr-only">source </span>1</span></a>, and Saturn <a href="#ga-ev-career-2" class="ga-claim " aria-describedby="ga-ev-career-2">rules your Moon sign, Makara<span class="ga-cite"><span class="sr-only">source </span>2</span></a>. Saturn is also <a href="#ga-ev-career-3" class="ga-claim " aria-describedby="ga-ev-career-3">moving through Meena, the 3rd house from your Moon, until 3 Jun 2027<span class="ga-cite"><span class="sr-only">source </span>3</span></a>, a classic placement for effort paying off. Use the months before June 2027 for a well-prepared move rather than a sudden leap.</p></div></div><span class="ga-verdict is-good ">3 claims · each one cites its source</span></div></div></div><section class="ga-panel lg:col-span-5 flex flex-col" aria-label="Evidence"><div class="ga-panel-head"><span class="ga-panel-title">Evidence</span><span class="ga-panel-meta">3 of 3 facts · computed by the API</span></div><div class="ga-reserve flex-1"><ol class="ga-ev-list ga-ghost" aria-hidden="true"><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">1</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->1<!-- -->, from endpoint </span>current_vdasha</span><span class="ga-ev-label">Running dasha</span></div><div class="ga-ev-value">
1032Jupiter › Saturn · 28 Aug 2026 – 10 Mar 2029</div></div></li><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">2</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->2<!-- -->, from endpoint </span>planets</span><span class="ga-ev-label">Natal Moon</span></div><div class="ga-ev-value">Makara, Shravana · sign lord Saturn</div></div></li><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">3</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->3<!-- -->, from endpoint </span>planets</span><span class="ga-ev-label">Transit Saturn</span></div><div class="ga-ev-value">Meena · 3rd from Moon · until 3 Jun 2027</div></div></li></ol><ol class="ga-ev-list ga-ghost" aria-hidden="true"><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">1</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->1<!-- -->, from endpoint </span>match_ashtakoot_points</span><span class="ga-ev-label">Guna Milan</span></div><div class="ga-ev-value">27.5 of 36 · minimum 18</div></div></li><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">2</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->2<!-- -->, from endpoint </span>match_ashtakoot_points</span><span class="ga-ev-label">Bhakoot</span></div><div class="ga-ev-value">0 of 7 · Kanya–Tula, 2/12</div></div></li><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">3</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->3<!-- -->, from endpoint </span>match_ashtakoot_points</span><span class="ga-ev-label">Graha Maitri</span></div><div class="ga-ev-value">5 of 5 · Mercury and Venus are friends</div></div></li><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">4</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->4<!-- -->, from endpoint </span>match_manglik_report</span><span class="ga-ev-label">Manglik</span></div><div class="ga-ev-value">Aarav: no · Diya: no</div></div></li></ol><ol class="ga-ev-list ga-ghost" aria-hidden="true"><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">1</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->1<!-- -->, from endpoint </span>western_horoscope</span><span class="ga-ev-label">Ascendant</span></div><div class="ga-ev-value">Scorpio · whole-sign houses · Leo is the 10th</div></div></li><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">2</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->2<!-- -->, from endpoint </span>planets/tropical</span><span class="ga-ev-label">Transit Jupiter</span></div><div class="ga-ev-value">Leo · 30 Jun 2026 – 26 Jul 2027</div></div></li><li class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">3</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->3<!-- -->, from endpoint </span>tropical_transits/monthly</span><span class="ga-ev-label">Retrograde</span></div><div class="ga-ev-value">Jupiter Rx · 14 Dec 2026 – 14 Apr 2027</div></div></li></ol><ol class="ga-ev-list"><li id="ga-ev-career-1" tabindex="0" class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">1</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->1<!-- -->, from endpoint </span>current_vdasha</span><span class="ga-ev-label">Running dasha</span></div><div class="ga-ev-value">Jupiter › Saturn · 28 Aug 2026 – 10 Mar 2029</div></div></li><li id="ga-ev-career-2" tabindex="0" class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">2</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->2<!-- -->, from endpoint </span>planets</span><span class="ga-ev-label">Natal Moon</span></div><div class="ga-ev-value">Makara, Shravana · sign lord Saturn</div></div></li><li id="ga-ev-career-3" tabindex="0" class="ga-ev-row  "><span class="ga-ev-num" aria-hidden="true">3</span><div class="min-w-0"><div class="ga-ev-top"><span class="ga-ev-src ga-mono"><span class="sr-only">Fact <!-- -->3<!-- -->, from endpoint </span>planets</span><span class="ga-ev-label">Transit Saturn</span></div><div class="ga-ev-value">Meena · 3rd from Moon · until 3 Jun 2027</div></div></li></ol></div></section></div><div class="ga-strip mt-5"><span class="font-bold">Ship it as</span><a class="ga-strip-item" href="/astro-ai/chat-api"><b>Widget</b><span>three lines of JavaScript</span></a><a class="ga-strip-item" href="/developers/v1/chat-api"><b>REST</b><span>token-by-token streaming</span></a><a class="ga-strip-item" href="/astro-ai/chat-api"><b>React / Flutter SDK</b><span>birth details kept for the session</span></a></div></div><div><div class="grid grid-cols-1 lg:grid-cols-12 gap-4 lg:gap-10 items-end mb-8"><div class="lg:col-span-6"><h3 class="text-2xl sm:text-3xl font-bold font-heading leading-snug text-primary-text text-3xl md:text-4xl font-black leading-tight">Give any agent a real ephemeris.</h3></div><div class="lg:col-span-6"><p class="text-base leading-relaxed text-secondary-text leading-relaxed">Point your MCP client at one URL. When a question needs chart data, the agent calls a tool and answers from the result instead of from memory.</p><div class="flex flex-wrap gap-x-6 gap-y-2 mt-3"><a class="ga-link" href="/developers/v1/mcp-server">MCP docs<!-- --> <span aria-hidden="true">→</span></a><a class="ga-link" href="/astro-ai/mcp-server">MCP Server<!-- --> <span aria-hidden="true">→</span></a></div></div></div><div class="grid grid-cols-1 lg:grid-cols-12 gap-4 lg:gap-5"><div class="lg:col-span-6 flex flex-col gap-4 min-w-0"><div class="ga-code"><div class="ga-code-head"><div role="tablist" aria-label="MCP client" class="ga-code-tabs flex gap-1.5"><button id="ga-mcp-tab-claude-code" type="button" role="tab" aria-selected="true" aria-controls="ga-mcp-p
1032anel" tabindex="0" class="ga-code-tab">Claude Code</button><button id="ga-mcp-tab-claude-desktop" type="button" role="tab" aria-selected="false" aria-controls="ga-mcp-panel" tabindex="-1" class="ga-code-tab">Claude Desktop</button><button id="ga-mcp-tab-cursor" type="button" role="tab" aria-selected="false" aria-controls="ga-mcp-panel" tabindex="-1" class="ga-code-tab">Cursor</button><button id="ga-mcp-tab-curl" type="button" role="tab" aria-selected="false" aria-controls="ga-mcp-panel" tabindex="-1" class="ga-code-tab">cURL</button></div><button type="button" class="ga-copy  " aria-label="Copy snippet"><span aria-live="polite">Copy</span></button></div><div id="ga-mcp-panel" role="tabpanel" aria-labelledby="ga-mcp-tab-claude-code"><pre class="ga-pre ga-mono" tabindex="0"><code><span class="ga-tok-cmd">claude</span> mcp add<!-- --> <span class="ga-tok-f">--transport</span> http astrology https://mcp.astrologyapi.com/mcp<!-- --> <span class="ga-tok-f">--header</span> <span class="ga-tok-s">&quot;x-astrologyapi-key: YOUR_API_KEY&quot;</span></code></pre><p class="ga-code-note">Replace YOUR_API_KEY with your key, then run claude mcp list to check the connection.</p></div></div><div class="ga-code"><div class="ga-code-head"><span class="ga-code-title">Check the connection</span><button type="button" class="ga-copy  " aria-label="Copy snippet"><span aria-live="polite">Copy</span></button></div><pre class="ga-pre ga-mono" tabindex="0"><code><span class="ga-tok-cmd">curl</span> <span class="ga-tok-f">-X</span> POST https://mcp.astrologyapi.com/mcp \
1033 <!-- --> <span class="ga-tok-f">-H</span> <span class="ga-tok-s">&quot;Content-Type: application/json&quot;</span> \
1034 <!-- --> <span class="ga-tok-f">-d</span> &#x27;<span class="ga-tok-p">{</span>
1035    <span class="ga-tok-k">&quot;jsonrpc&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-s">&quot;2.0&quot;</span><span class="ga-tok-p">,</span>
1036    <span class="ga-tok-k">&quot;id&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">1</span><span class="ga-tok-p">,</span>
1037    <span class="ga-tok-k">&quot;method&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-s">&quot;tools/list&quot;</span>
1038  <span class="ga-tok-p">}</span>&#x27;</code></pre><p class="ga-code-note">tools/list returns every tool the agent can call, each with its input schema.</p></div><div class="flex flex-col gap-2 px-1"><p class="text-sm text-secondary-text"><span class="ga-mono font-bold text-primary-text">109 tools · Vedic + Western</span><span class="mx-2" aria-hidden="true">·</span>one URL: <span class="ga-mono">mcp.astrologyapi.com/mcp</span></p><div class="ga-compat"><span class="text-tertiary-text font-semibold">Works with</span><span>Claude</span><span>ChatGPT</span><span>Cursor</span><span>LangChain</span><span>CrewAI</span><span>AutoGen</span></div></div></div><div class="lg:col-span-6 min-w-0"><section class="ga-panel h-full" aria-label="Agent trace"><div class="ga-panel-head"><span class="ga-panel-title"><span class="ga-live-dot" aria-hidden="true"></span>Agent trace<span class="ga-panel-meta font-normal">one turn, over MCP</span></span><button type="button" class="ga-ghost-btn">Replay</button></div><ol class="ga-trace"><li class="ga-step is-in"><span class="ga-node" aria-hidden="true"></span><div class="ga-step-label">User</div><p class="ga-step-text">Which ayanamsha does my Vedic chart use? Born 1 Nov 1976, 7:45 pm IST, at 19.17° N, 73.70° E.</p></li><li class="ga-step is-in"><span class="ga-node" aria-hidden="true"></span><div class="ga-step-label">Agent → MCP server · tool call</div><pre class="ga-mini ga-mono" tabindex="0"><span class="ga-tok-cmd">tools/call</span> <span class="ga-tok-s">birth_details</span>
1039<span class="ga-tok-p">{</span> <span class="ga-tok-k">&quot;day&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">1</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;month&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">11</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;year&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">1976</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;hour&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">19</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;min&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">45</span><span class="ga-tok-p">,</span>
1040  <span class="ga-tok-k">&quot;lat&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">19.17</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;lon&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">73.7</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;tzone&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">5.5</span> <span class="ga-tok-p">}</span></pre></li><li class="ga-step is-in"><span class="ga-node" aria-hidden="true"></span><div class="ga-step-label">MCP server → agent · result</div><pre class="ga-mini ga-mono" tabindex="0"><span class="ga-tok-p">{</span> <span class="ga-tok-k">&quot;year&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">1976</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;month&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">11</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;day&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">1</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;hour&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">19</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;minute&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">45</span><span class="ga-tok-p">,</span>
1041  <span class="ga-tok-k">&quot;latitude&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">19.17</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;longitude&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">73.7</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;timezone&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">5.5</span><span class="ga-tok-p">,</span>
1042  <span class="ga-tok-k">&quot;ayanamsha&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-n">23.5335</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;sunrise&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-p">…</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;sunset&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-p">…</span> <span class="ga-tok-p">}</span></pre></li><li class="ga-step is-in"><span class="ga-node" aria-hidden="true"></span><div class="ga-step-label">Agent answer<span class="ga-badge-good">calculated, not guessed</span></div><p class="ga-step-text">
1042Lahiri, at <span class="ga-val">23.5335°</span> for your birth moment (<span class="ga-val">19:45</span> at <span class="ga-val">UTC+5:30</span>, <span class="ga-val">19.17° N, 73.70° E</span>). Subtract it from tropical longitudes to get your sidereal positions.</p></li></ol></section></div></div></div><div class="ga-band px-5 py-8 sm:px-8 md:px-12 md:py-14"><div class="max-w-2xl mb-8"><h3 class="text-3xl md:text-5xl font-black leading-tight tracking-tight text-white mb-4">Anatomy of a grounded answer</h3><p class="ga-band-soft text-base leading-relaxed">The career question from above, step by step. The model only writes once the chart data is in its context.</p></div><div class="ga-rail mb-4" aria-hidden="true"><i class="is-on"></i><i class="is-on"></i><i class="is-on"></i><i class="is-on"></i><i class="is-on"></i><i class="is-on"></i></div><ol class="ga-stages" data-stage="7"><li class="ga-stage is-done"><div class="ga-stage-head"><span class="ga-stage-num" aria-hidden="true">1</span><h4 class="ga-stage-title">Question in</h4></div><div class="flex flex-col gap-2"><p class="ga-stage-text">“Is this a good time for me to change jobs?”</p><p class="ga-stage-meta ga-mono">1993-07-06 08:00 IST · New Delhi</p></div></li><li class="ga-stage is-done"><div class="ga-stage-head"><span class="ga-stage-num" aria-hidden="true">2</span><h4 class="ga-stage-title">Intent parsed</h4></div><pre class="ga-stage-code ga-mono" tabindex="0">topic:  career.timing
1043system: vedic
1044needs:  dasha<span class="ga-tok-p">,</span> moon<span class="ga-tok-p">,</span> transits</pre></li><li class="ga-stage is-done"><div class="ga-stage-head"><span class="ga-stage-num" aria-hidden="true">3</span><h4 class="ga-stage-title">Endpoints fire in parallel</h4></div><div class="flex flex-col gap-2.5"><div class="ga-call ga-mono"><span class="ga-call-name">current_vdasha</span><span class="ga-call-bar" aria-hidden="true"><i></i></span><span class="ga-call-ok">200</span></div><div class="ga-call ga-mono"><span class="ga-call-name">planets · natal</span><span class="ga-call-bar" aria-hidden="true"><i></i></span><span class="ga-call-ok">200</span></div><div class="ga-call ga-mono"><span class="ga-call-name">planets · transit</span><span class="ga-call-bar" aria-hidden="true"><i></i></span><span class="ga-call-ok">200</span></div><p class="ga-stage-meta">Sent at the same time, not one by one.</p></div></li><li class="ga-stage is-done"><div class="ga-stage-head"><span class="ga-stage-num" aria-hidden="true">4</span><h4 class="ga-stage-title">Chart context assembled</h4></div><pre class="ga-stage-code ga-mono" tabindex="0"><span class="ga-tok-p">{</span> <span class="ga-tok-k">&quot;dasha&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-s">&quot;Jupiter&gt;Saturn&quot;</span><span class="ga-tok-p">,</span>
1045  <span class="ga-tok-k">&quot;ad_end&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-s">&quot;10-3-2029&quot;</span><span class="ga-tok-p">,</span>
1046  <span class="ga-tok-k">&quot;moon&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-s">&quot;Makara&quot;</span><span class="ga-tok-p">,</span> <span class="ga-tok-k">&quot;lord&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-s">&quot;Saturn&quot;</span><span class="ga-tok-p">,</span>
1047  <span class="ga-tok-k">&quot;saturn&quot;</span><span class="ga-tok-p">:</span> <span class="ga-tok-s">&quot;Meena (3rd)&quot;</span> <span class="ga-tok-p">}</span></pre></li><li class="ga-stage is-done"><div class="ga-stage-head"><span class="ga-stage-num" aria-hidden="true">5</span><h4 class="ga-stage-title">The model writes</h4></div><div class="flex flex-col gap-2.5"><div class="flex flex-col gap-2" aria-hidden="true"><span class="ga-write-line" style="width:92%"></span><span class="ga-write-line" style="width:78%"></span><span class="ga-write-line" style="width:55%"></span></div><p class="ga-stage-meta">Only from the context above.</p><p class="ga-stage-meta">No chart value is made up.</p></div></li><li class="ga-stage is-done"><div class="ga-stage-head"><span class="ga-stage-num" aria-hidden="true">6</span><h4 class="ga-stage-title">Delivered with citations</h4></div><div class="flex flex-col gap-2"><p class="ga-stage-text font-bold">Yes, if you plan it.</p><div class="ga-cite-row"><span class="ga-cite">1</span><span>
1047Saturn sub-period to 10 Mar 2029</span><span class="ga-cite-src ga-mono">current_vdasha</span></div><div class="ga-cite-row"><span class="ga-cite">2</span><span>Saturn rules your Moon sign</span><span class="ga-cite-src ga-mono">planets</span></div><div class="ga-cite-row"><span class="ga-cite">3</span><span>Saturn in the 3rd from your Moon</span><span class="ga-cite-src ga-mono">planets</span></div></div></li></ol><div class="mt-14 md:mt-16"><h4 class="text-2xl md:text-3xl font-black text-white mb-5">Ways to ship</h4><div class="ga-ship"><div class="ga-ship-tile"><p class="ga-ship-title">Chat widget</p><p class="ga-ship-body">Add a chat bubble to your site with three lines of JavaScript. You set position, colour and the opening message.</p><a class="ga-link mt-auto pt-1" href="/astro-ai/chat-api">Chat API<!-- --> <span aria-hidden="true">→</span></a></div><div class="ga-ship-tile"><p class="ga-ship-title">REST + SDK</p><p class="ga-ship-body">Stream answers token by token into your own UI, or use the React / Flutter SDK and pass birth details once per session.</p><pre class="ga-ship-line ga-mono" tabindex="0">POST https://json-chat.astrologyapi.com/api/chat</pre><a class="ga-link mt-auto pt-1" href="/developers/v1/chat-api">Chat API docs<!-- --> <span aria-hidden="true">→</span></a></div><div class="ga-ship-tile"><p class="ga-ship-title">MCP for agents</p><p class="ga-ship-body">109 tools across Vedic and Western astrology, for Claude, ChatGPT, Cursor or your own agent.</p><pre class="ga-ship-line ga-mono" tabindex="0">claude mcp add --transport http astrology https://mcp.astrologyapi.com/mcp --header &quot;x-astrologyapi-key: YOUR_API_KEY&quot;</pre><a class="ga-link mt-auto pt-1" href="/developers/v1/mcp-server">MCP docs<!-- --> <span aria-hidden="true">→</span></a></div></div></div><div class="mt-12 flex flex-col sm:flex-row items-stretch sm:items-center justify-center gap-3"><a class="h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl bg-
1047accent-primary text-accent-contrast-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 px-7 text-base" href="/signup">Get API Key — Free</a><a class="ga-band-cta-secondary justify-center" href="/astro-ai/chat-api">Explore the Chat API<!-- --> <span aria-hidden="true">→</span></a></div></div></div></div></section><section id="playground" class="bg-primary-bg relative z-10 overflow-hidden"><div class="max-w-7xl mx-auto px-4 sm:px-6 md:px-10 lg:px-20 xl:px-32 "><div class="max-w-2xl mb-12"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:0ms;opacity:0;transform:translateX(-30px)" class=""><p class="text-base leading-relaxed text-accent-primary font-bold text-xs tracking-widest mb-4">API PLAYGROUND</p><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text text-4xl md:text-6xl font-black mb-6">Code in Minutes. Ship in Hours.</h2><p class="text-base leading-relaxed text-secondary-text text-secondary-text opacity-70 leading-relaxed">Run a real endpoint. Watch the response become the product — then hover the JSON to see exactly which field renders which pixel.</p></div></div><div class="flex flex-wrap gap-2 mb-6" role="tablist"><button type="button" role="tab" aria-selected="true" class="text-[13px] font-bold px-4 py-2 rounded-full transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-primary bg-accent-primary text-accent-contrast-text">Birth Chart</button><button type="button" role="tab" aria-selected="false" class="text-[13px] font-bold px-4 py-2 rounded-full transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-primary bg-secondary-bg text-secondary-text border border-border-color hover:border-accent-primary/50">Daily Horoscope</button><button type="button" role="tab" aria-selected="false" class="text-[13px] font-bold px-4 py-2 rounded-full transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-primary bg-secondary-bg text-secondary-text border border-border-color hover:border-accent-primary/50">Transits</button><button type="button" role="tab" aria-selected="false" class="text-[13px] font-bold px-4 py-2 rounded-full transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-primary bg-secondary-bg text-secondary-text border border-border-color hover:border-accent-primary/50">Kundli</button><button type="button" role="tab" aria-selected="false" class="text-[13px] font-bold px-4 py-2 rounded-full transition-colors duration-200 focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-primary bg-secondary-bg text-secondary-text border border-border-color hover:border-accent-primary/50">Numerology</button></div><div class="pg-pipe"><div class="flex flex-col min-w-0"><p class="text-[10px] font-bold tracking-widest text-tertiary-text mb-2 ml-1">1 · REQUEST</p><div class="rounded-2xl overflow-hidden flex flex-col flex-1" style="background:#11181f;border:1px solid #32404f"><div class="flex items-center gap-1.5 px-3 py-2" style="background:#1a222c;border-bottom:1px solid #32404f"><button type="button" aria-pressed="true" class="text-[11px] font-bold px-2.5 py-1 rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[#7dd3fc]" style="color:#e3edf5;background:#22303e;border:1px solid #32404f">JavaScript</button><button type="button" aria-pressed="false" class="text-[11px] font-bold px-2.5 py-1 rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[#7dd3fc]" style="color:#8296a8;border:1px solid transparent">Python</button><button type="button" aria-pressed="false" class="text-[11px] font-bold px-2.5 py-1 rounded-md transition-colors focus:outline-none focus-visible:ring-2 focus-visible:ring-[#7dd3fc]" style="color:#8296a8;border:1px solid transparent">cURL</button><button type="button" class="ml-auto inline-flex items-center gap-1.5 text-xs font-black px-4 py-1.5 rounded-lg bg-accent-primary text-accent-contrast-text transition-opacity hover:opacity-90 disabled:opacity-50 disabled:cursor-wait focus:outline-none focus-visible:ring-2 focus-visible:ring-accent-primary"><span class="inline-block" style="width:0;height:0;border-left:7px solid currentColor;border-top:5px solid transparent;border-bottom:5px solid transparent"></span>Run</button></div><pre class="m-0 px-4 py-3 overflow-x-auto flex-1 text-[11.5px] leading-[1.75]" style="font-family:ui-monospace, &quot;SF Mono&quot;, SFMono-Regular, Menlo, Consolas, monospace;color:#c9d5e0"><span>const res = await fetch(</span><span style="color:#9df5a8">&#x27;https://api.astrologyapi.com/v1/western/planets&#x27;</span><span>, {
1048  method: </span><span style="color:#9df5a8">&#x27;POST&#x27;</span><span>,
1049  headers: {
1050    </span><span style="color:#9df5a8">&#x27;Authorization&#x27;</span><span>: </span><span style="color:#9df5a8">&#x27;Basic &#x27;</span><span> + btoa(</span><span style="color:#9df5a8">&#x27;userId:apiKey&#x27;</span><span>),
1051    </span><span style="color:#9df5a8">&#x27;Content-Type&#x27;</span><span>: </span><span style="color:#9df5a8">&#x27;application/json&#x27;</span><span>
1052  },
1053  body: JSON.stringify({
1054    day: 4, month: 3, year: 1990, hour: 10, min: 10,
1055    lat: 19.07, lon: 72.87, tzone: 5.5
1056  })
1057});
1058
1059const data = await res.json(); </span><span style="color:#5b6b7b">// → step 2</span><span></span></pre></div></div><div class="pg-conn "><svg viewBox="0 0 34 34" aria-hidden="true"><path d="M2 17 H26 M21 11 L28 17 L21 23" fill="none" stroke="var(--tertiary-text)" stroke-width="1.6" stroke-linecap="round"></path></svg><span class="pg-dot"></span></div><div class="flex flex-col min-w-0"><p class="text-[10px] font-bold tracking-widest text-tertiary-text mb-2 ml-1">2 · RESPONSE</p><div class="rounded-2xl overflow-hidden flex flex-col flex-1" style="background:#11181f;border:1px solid #32404f"><div class="flex items-center gap-2 flex-wrap px-3 py-2 min-h-[37px]" style="background:#1a222c;border-bottom:1px solid #32404f"><span class="text-[10px] font-black px-2 py-0.5 rounded" style="background:#193a2a;color:#7ee787">POST</span><span class="text-[11px]" style="font-family:ui-monospace, Menlo, monospace;color:#c9d5e0">/v1/western/planets</span><span class="pg-status  ml-auto text-[10.5px] font-black" style="color:#7ee787">200 OK ·<!-- --> <span class="tabular-nums" style="font-family:ui-monospace, Menlo, monospace;color:#8296a8">
10590ms</span></span></div><div class="px-3 py-3 overflow-y-auto flex-1 text-[11.5px] leading-[1.7]" style="font-family:ui-monospace, &quot;SF Mono&quot;, Menlo, Consolas, monospace;max-height:400px"><div class="pg-jrow pg-in" style="color:#5b6b7b">// press Run to fire the request</div></div></div></div><div class="pg-conn "><svg viewBox="0 0 34 34" aria-hidden="true"><path d="M2 17 H26 M21 11 L28 17 L21 23" fill="none" stroke="var(--tertiary-text)" stroke-width="1.6" stroke-linecap="round"></path></svg><span class="pg-dot"></span></div><div class="flex flex-col min-w-0"><p class="text-[10px] font-bold tracking-widest text-tertiary-text mb-2 ml-1">3 · PRODUCT</p><div class="rounded-2xl border border-border-color bg-secondary-bg flex-1 flex items-center justify-center p-4"><div class="rounded-2xl w-full max-w-[300px] p-4" style="background:#182a44;border:1px solid #31527c"><span class="text-[9px] font-bold tracking-widest" style="color:#7dd3fc">NATAL WHEEL</span><svg viewBox="0 0 200 200" class="w-full block" aria-hidden="true"><circle cx="100" cy="100" r="94" fill="none" stroke="#3b5c88" stroke-width="1.5"></circle><circle cx="100" cy="100" r="78" fill="none" stroke="#3b5c88" stroke-width="1"></circle><circle cx="100" cy="100" r="50" fill="none" stroke="#2e4a70" stroke-width="1"></circle><g><line x1="22" y1="100" x2="6" y2="100" stroke="#3b5c88" stroke-width="1"></line><line x1="50" y1="100" x2="22" y2="100" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="32" y1="139" x2="19" y2="147" stroke="#3b5c88" stroke-width="1"></line><line x1="57" y1="125" x2="32" y2="139" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="61" y1="168" x2="53" y2="181" stroke="#3b5c88" stroke-width="1"></line><line x1="75" y1="143" x2="61" y2="168" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="100" y1="178" x2="100" y2="194" stroke="#3b5c88" stroke-width="1"></line><line x1="100" y1="150" x2="100" y2="178" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="139" y1="168" x2="147" y2="181" stroke="#3b5c88" stroke-width="1"></line><line x1="125" y1="143" x2="139" y2="168" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="168" y1="139" x2="181" y2="147" stroke="#3b5c88" stroke-width="1"></line><line x1="143" y1="125" x2="168" y2="139" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="178" y1="100" x2="194" y2="100" stroke="#3b5c88" stroke-width="1"></line><line x1="150" y1="100" x2="178" y2="100" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="168" y1="61" x2="181" y2="53" stroke="#3b5c88" stroke-width="1"></line><line x1="143" y1="75" x2="168" y2="61" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="139" y1="32" x2="147" y2="19" stroke="#3b5c88" stroke-width="1"></line><line x1="125" y1="57" x2="139" y2="32" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="100" y1="22" x2="100" y2="6" stroke="#3b5c88" stroke-width="1"></line><line x1="100" y1="50" x2="100" y2="22" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="61" y1="32" x2="53" y2="19" stroke="#3b5c88" stroke-width="1"></line><line x1="75" y1="57" x2="61" y2="32" stroke="#2e4a70" stroke-width="0.7"></line></g><g><line x1="32" y1="61" x2="19" y2="53" stroke="#3b5c88" stroke-width="1"></line><line x1="57" y1="75" x2="32" y2="61" stroke="#2e4a70" stroke-width="0.7"></line></g><line x1="23" y1="114" x2="19" y2="114" stroke="#3b5c88" stroke-width="0.8"></line><line x1="27" y1="127" x2="23" y2="128" stroke="#3b5c88" stroke-width="0.8"></line><line x1="40" y1="150" x2="37" y2="153" stroke="#3b5c88" stroke-width="0.8"></line><line x1="50" y1="160" x2="47" y2="163" stroke="#3b5c88" stroke-width="0.8"></line><line x1="73" y1="173" x2="72" y2="177" stroke="#3b5c88" stroke-width="0.8"></line><line x1="86" y1="177" x2="86" y2="181" stroke="#3b5c88" stroke-width="0.8"></line><line x1="114" y1="177" x2="114" y2="181" stroke="#3b5c88" stroke-width="0.8"></line><line x1="127" y1="173" x2="128" y2="177" stroke="#3b5c88" stroke-width="0.8"></line><line x1="150" y1="160" x2="153" y2="163" stroke="#3b5c88" stroke-width="0.8"></line><line x1="160" y1="150" x2="163" y2="153" stroke="#3b5c88" stroke-width="0.8"></line><line x1="173" y1="127" x2="177" y2="128" stroke="#3b5c88" stroke-width="0.8"></line><line x1="177" y1="114" x2="181" y2="114" stroke="#3b5c88" stroke-width="0.8"></line><line x1="177" y1="86" x2="181" y2="86" stroke="#3b5c88" stroke-width="0.8"></line><line x1="173" y1="73" x2="177" y2="72" stroke="#3b5c88" stroke-width="0.8"></line><line x1="160" y1="50" x2="163" y2="47" stroke="#3b5c88" stroke-width="0.8"></line><line x1="150" y1="40" x2="153" y2="37" stroke="#3b5c88" stroke-width="0.8"></line><line x1="127" y1="27" x2="128" y2="23" stroke="#3b5c88" stroke-width="0.8"></line><line x1="114" y1="23" x2="114" y2="19" stroke="#3b5c88" stroke-width="0.8"></line><line x1="86" y1="23" x2="86" y2="19" stroke="#3b5c88" stroke-width="0.8"></line><line x1="73" y1="27" x2="72" y2="23" stroke="#3b5c88" stroke-width="0.8"></line><line x1="50" y1="40" x2="47" y2="37" stroke="#3b5c88" stroke-width="0.8"></line><line x1="40" y1="50" x2="37" y2="47" stroke="#3b5c88" stroke-width="0.8"></line><line x1="27" y1="73" x2="23" y2="72" stroke="#3b5c88" stroke-width="0.8"></line><line x1="23" y1="86" x2="19" y2="86" stroke="#3b5c88" stroke-width="0.8"></line><line x1="6" y1="100" x2="50" y2="100" stroke="#7dd3fc" stroke-width="1.6"></line><text x="9" y="96" font-size="6.5" fill="#7dd3fc" font-weight="bold">ASC</text><text x="17" y="122" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♈︎</text><text x="39" y="161" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♉︎</text><text x="78" y="183" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♊︎</text><text x="122" y="183" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♋︎</text><text x="161" y="161" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♌︎</text><text x="183" y="122" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♍︎</text><text x="183" y="78" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♎︎</text><text x="161" y="39" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♏︎</text><text x="122" y="17" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♐︎</text><text x="78" y="17" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♑︎</text><text x="39" y="39" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♒︎</text><text x="17" y="78" font-size="9" fill="#79a5d4" text-anchor="middle" dominant-baseline="central">♓︎</text><line x1="92" y1="174" x2="92" y2="178" stroke="#5eead4" stroke-width="1"></line><line x1="173" y1="86" x2="177" y2="85" stroke="#5eead4" stroke-width="1"></line><line x1="123" y1="170" x2="124" y2="174" stroke="#5eead4" stroke-width="1"></line><line x1="109" y1="173" x2="110" y2="177" stroke="#5eead4" stroke-width="1"></line><line x1="140" y1="162" x2="142" y2="165" stroke="#5eead4" stroke-width="1"></line>
1059<line x1="62" y1="163" x2="60" y2="167" stroke="#5eead4" stroke-width="1"></line><line x1="29" y1="81" x2="25" y2="80" stroke="#5eead4" stroke-width="1"></line><line class="pg-part-svg  " data-field="asp-mo-ve" x1="149" y1="90" x2="106" y2="150" stroke="#f87171" stroke-width="1.3" opacity="0.9"></line><line class="pg-part-svg  " data-field="asp-mo-ma" x1="149" y1="90" x2="127" y2="142" stroke="#38bdf8" stroke-width="1.3" opacity="0.9"></line><line class="pg-part-svg  " data-field="asp-me-sa" x1="115" y1="148" x2="52" y2="87" stroke="#4fd1c5" stroke-width="1.3" opacity="0.9"></line><line class="pg-part-svg  " data-field="asp-ma-ju" x1="127" y1="142" x2="74" y2="143" stroke="#38bdf8" stroke-width="1.3" opacity="0.9"></line><g class="pg-part-svg  " data-field="su" tabindex="0"><text x="93" y="164" font-size="11" fill="#e8f1fb" text-anchor="middle" dominant-baseline="central">☉︎</text><circle cx="95" cy="150" r="2" fill="#5eead4"></circle><circle cx="93" cy="164" r="11" fill="transparent"></circle></g><g class="pg-part-svg  " data-field="mo" tabindex="0"><text x="163" y="88" font-size="11" fill="#e8f1fb" text-anchor="middle" dominant-baseline="central">☽︎</text><circle cx="149" cy="90" r="2" fill="#5eead4"></circle><circle cx="163" cy="88" r="11" fill="transparent"></circle></g><g class="pg-part-svg  " data-field="me" tabindex="0"><text x="120" y="161" font-size="11" fill="#e8f1fb" text-anchor="middle" dominant-baseline="central">☿︎</text><circle cx="115" cy="148" r="2" fill="#5eead4"></circle><circle cx="120" cy="161" r="11" fill="transparent"></circle></g><g class="pg-part-svg  " data-field="ve" tabindex="0"><text x="108" y="164" font-size="11" fill="#e8f1fb" text-anchor="middle" dominant-baseline="central">♀︎</text><circle cx="106" cy="150" r="2" fill="#5eead4"></circle><circle cx="108" cy="164" r="11" fill="transparent"></circle></g><g class="pg-part-svg  " data-field="ma" tabindex="0"><text x="135" y="154" font-size="11" fill="#e8f1fb" text-anchor="middle" dominant-baseline="central">♂︎</text><circle cx="127" cy="142" r="2" fill="#5eead4"></circle><circle cx="135" cy="154" r="11" fill="transparent"></circle></g><g class="pg-part-svg  " data-field="ju" tabindex="0"><text x="67" y="155" font-size="11" fill="#e8f1fb" text-anchor="middle" dominant-baseline="central">♃︎</text><circle cx="74" cy="143" r="2" fill="#5eead4"></circle><circle cx="67" cy="155" r="11" fill="transparent"></circle></g><g class="pg-part-svg  " data-field="sa" tabindex="0"><text x="38" y="83" font-size="11" fill="#e8f1fb" text-anchor="middle" dominant-baseline="central">♄︎</text><circle cx="52" cy="87" r="2" fill="#5eead4"></circle><circle cx="38" cy="83" r="11" fill="transparent"></circle></g></svg></div></div></div></div><p class="pg-hint  text-center text-xs text-tertiary-text mt-5">Now hover — any JSON field ↔ any part of the product. Each highlights the other.</p><div class="flex flex-wrap justify-center gap-3 mt-6"><a href="/signup" class="text-[13px] font-black px-6 py-2.5 rounded-xl bg-accent-primary text-accent-contrast-text transition-opacity hover:opacity-90">Get API Key — Free</a><a href="/developers/v1/postman-collection" class="text-[13px] font-black px-6 py-2.5 rounded-xl border border-border-color bg-secondary-bg text-secondary-text transition-colors hover:border-accent-primary/50">Run in Postman</a></div></div></section><section class="relative w-full overflow-hidden py-6 md:py-10"><div class="max-w-7xl mx-auto px-4 sm:px-6 md:px-10 lg:px-20 xl:px-32 relative z-10"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:0ms;opacity:0;transform:scale(0.8)" class="text-center mb-16 md:mb-24"><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text mb-6 text-4xl md:text-6xl font-black">What developers say</h2><p class="text-base leading-relaxed text-secondary-text max-w-2xl mx-auto">From indie developers to regional platforms — real feedback from teams in production.</p></div><div class="grid grid-cols-1 md:grid-cols-3 gap-6 mb-16 items-start"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:20ms;opacity:0;transform:translateY(30px)" class="">
1059<div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-6 bg-secondary-bg/20 border-border-color rounded-3xl p-8 flex flex-col hover:bg-secondary-bg/30 transition-all duration-500 h-full "><div class="flex gap-1 mb-6"><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span></div><blockquote class="flex-1 mb-8"><p class="text-base leading-relaxed text-primary-text italic leading-relaxed font-medium">&quot;<!-- -->We&#x27;d been maintaining our own ephemeris wrapper for two years and it was a constant tax. We switched over in a weekend and deleted thousands of lines of code. The birth chart JSON is clean enough to render straight into our UI.<!-- -->&quot;</p></blockquote><div class="flex items-center gap-4 pt-6 border-t border-divider-color/30"><div class="w-12 h-12 rounded-full overflow-hidden bg-tertiary-bg border border-border-color grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all duration-500"><img src="https://i.pravatar.cc/150?u=alex" alt="Alex Rivera" class="w-full h-full object-cover"/></div><div><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text text-sm font-black uppercase tracking-tight">Alex Rivera</h2><div class="flex items-center gap-2"><p class="text-xs leading-normal font-semibold text-secondary-text font-bold opacity-60">Celestia App</p><span class="w-1 h-1 rounded-full bg-border-color"></span>
1059<p class="text-xs leading-normal font-semibold text-secondary-text font-bold opacity-60">USA</p></div></div></div></div></div><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:40ms;opacity:0;transform:translateY(30px)" class=""><div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-6 bg-secondary-bg/20 border-border-color rounded-3xl p-8 flex flex-col hover:bg-secondary-bg/30 transition-all duration-500 h-full md:py-12 md:translate-y-4"><div class="flex gap-1 mb-6"><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span></div><blockquote class="flex-1 mb-8"><p class="text-base leading-relaxed text-primary-text italic leading-relaxed font-medium">&quot;<!-- -->Our two-person content team used to lose every Friday writing the following week&#x27;s horoscopes. Now the daily feeds are generated from real transit data, and they spend that time on the product instead. Honestly, readers noticed before we announced anything — the horoscopes got more specific.<!-- -->&quot;</p></blockquote><div class="flex items-center gap-4 pt-6 border-t border-divider-color/30"><div class="w-12 h-12 rounded-full overflow-hidden bg-tertiary-bg border border-border-color grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all duration-500"><img src="https://i.pravatar.cc/150?u=sarah" alt="Sarah Chen" class="w-full h-full object-cover"/></div><div><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text text-sm font-black uppercase tracking-tight">Sarah Chen</h2><div class="flex items-center gap-2"><p class="text-xs leading-normal font-semibold text-secondary-text font-bold opacity-60">AstroConnect</p><span class="w-1 h-1 rounded-full bg-border-color"></span>
1059<p class="text-xs leading-normal font-semibold text-secondary-text font-bold opacity-60">Singapore</p></div></div></div></div></div><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:60ms;opacity:0;transform:translateY(30px)" class=""><div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-6 bg-secondary-bg/20 border-border-color rounded-3xl p-8 flex flex-col hover:bg-secondary-bg/30 transition-all duration-500 h-full "><div class="flex gap-1 mb-6"><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span><span class="text-accent-primary text-sm">★</span></div><blockquote class="flex-1 mb-8"><p class="text-base leading-relaxed text-primary-text italic leading-relaxed font-medium">&quot;<!-- -->I connected the MCP server to our Claude agent in an afternoon — no SDK, no glue code. Watching it pull real planetary positions instead of inventing them was the moment we knew we could ship the assistant.<!-- -->&quot;</p></blockquote><div class="flex items-center gap-4 pt-6 border-t border-divider-color/30"><div class="w-12 h-12 rounded-full overflow-hidden bg-tertiary-bg border border-border-color grayscale opacity-60 hover:grayscale-0 hover:opacity-100 transition-all duration-500"><img src="https://i.pravatar.cc/150?u=marco" alt="Marco Rossi" class="w-full h-full object-cover"/></div><div><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text text-sm font-black uppercase tracking-tight">Marco Rossi</h2><div class="flex items-center gap-2"><p class="text-xs leading-normal font-semibold text-secondary-text font-bold opacity-60">StarGuide</p><span class="w-1 h-1 rounded-full bg-border-color"></span>
1059<p class="text-xs leading-normal font-semibold text-secondary-text font-bold opacity-60">Italy</p></div></div></div></div></div></div><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:40ms;opacity:0;transform:translateY(30px)" class="flex flex-wrap justify-center gap-4"><div><div class="px-6 py-3 bg-secondary-bg/40 border border-border-color rounded-full hover:border-accent-primary/40 transition-all group flex items-center gap-3"><span class="text-sm font-bold text-secondary-text group-hover:text-primary-text transition-colors">How AstroConnect reduced astrology build time by 80%</span><span class="text-accent-primary group-hover:translate-x-1 transition-transform"></span></div></div><div><div class="px-6 py-3 bg-secondary-bg/40 border border-border-color rounded-full hover:border-accent-primary/40 transition-all group flex items-center gap-3"><span class="text-sm font-bold text-secondary-text group-hover:text-primary-text transition-colors">Scale Story: 10M API calls/mo with 99.9% uptime</span><span class="text-accent-primary group-hover:translate-x-1 transition-transform"></span></div></div></div></div></section><section class="relative w-full overflow-hidden py-16 md:py-24 bg-primary-bg"><div class="max-w-6xl mx-auto px-6 relative z-10"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:20ms;opacity:0;transform:translateY(30px)" class=""><div class="bg-secondary-bg border border-border-color rounded-xl transition-all p-6 p-0 border-accent-primary/20 bg-accent-surface/30 rounded-[3rem] overflow-hidden shadow-2xl relative group"><div class="text-center items-center justify-center w-full flex flex-col p-10 lg:p-16 gap-4"><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text text-3xl lg:text-5xl font-black">Pay only for<!-- --> <span class="text-accent-primary">what you use.</span></h2><p class="text-base leading-relaxed text-secondary-text text-secondary-text opacity-80 leading-relaxed max-w-2xl">No monthly commitments. Top up your wallet and pay per API call — whether you&#x27;re at 1,000 calls or 10 million.</p><div class="flex flex-col sm:flex-row items-center justify-center gap-4 pt-6"><a href="/signup"><button class="bg-accent-primary text-accent-contrast-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl">Get API Key — Free</button></a><a href="/pricing"><button class="border border-border-color text-primary-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl">View Full Pricing Table</button></a></div></div></div></div><div class="mt-12 flex flex-col md:flex-row items-center justify-center gap-2 text-center"><p class="text-base leading-relaxed text-secondary-text font-bold">Need a custom plan for massive scale?</p><a href="/contact"><span class="text-primary-text font-black underline underline-offset-8 cursor-pointer hover:text-accent-primary transition-colors">Talk to Support<!-- --> →</span></a></div></div></section><section class="jsx-1fa9972e203a246c relative w-full overflow-hidden py-6 md:py-10"><div class="jsx-1fa9972e203a246c absolute inset-0 z-0 pointer-events-none overflow-hidden"><div class="jsx-1fa9972e203a246c absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-full max-w-2xl opacity-[0.05]"><svg viewBox="0 0 800 800" fill="none" xmlns="http://www.w3.org/2000/svg" class="jsx-1fa9972e203a246c w-full h-full animate-[spin_180s_linear_infinite]"><circle cx="400" cy="400" r="150" stroke="currentColor" stroke-width="0.5" class="jsx-1fa9972e203a246c text-accent-primary"></circle><circle cx="400" cy="400" r="220" stroke="currentColor" stroke-width="0.3" stroke-dasharray="4 8" class="jsx-1fa9972e203a246c text-accent-primary"></circle><circle cx="400" cy="400" r="300" stroke="currentColor" stroke-width="0.5" stroke-dasharray="10 20" class="jsx-1fa9972e203a246c text-info-color"></circle><path d="M400 0V800M0 400H800" stroke="currentColor" stroke-width="0.2" class="jsx-1fa9972e203a246c text-accent-primary"></path></svg></div></div><div class="jsx-1fa9972e203a246c max-w-7xl mx-auto px-4 sm:px-6 md:px-10 lg:px-20 xl:px-32 relative z-10"><div style="transition:all 0.6s cubic-bezier(0.2, 0.8, 0.2, 1);transition-delay:20ms;opacity:0;transform:scale(0.8)" class="text-center max-w-4xl mx-auto flex flex-col items-center"><h2 class="text-3xl sm:text-4xl md:text-5xl font-extrabold font-heading tracking-tight leading-tight text-primary-text mb-6 md:text-[56px] font-black leading-tight tracking-tighter">Start Shipping Astrology in Minutes</h2><p class="text-base leading-relaxed text-secondary-text mb-10 max-w-2xl mx-auto opacity-70 leading-relaxed font-medium">
1059Sandbox access in minutes, self-serve. Birth charts, AI readings, and PDF reports — all from one API key.</p><div class="jsx-1fa9972e203a246c flex flex-col sm:flex-row items-center justify-center gap-4 mb-8 w-full sm:w-auto"><a class="w-full sm:w-auto" href="/signup"><button class="jsx-1fa9972e203a246c h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl bg-accent-primary text-accent-contrast-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 px-8 py-4 text-base min-w-[200px] mx-auto">Get API Key — Free</button></a><a class="w-full sm:w-auto" href="/demo-schedule"><button class="jsx-1fa9972e203a246c h-10 px-4 py-2.5 font-semibold rounded-lg transition-all flex items-center justify-center active:scale-95 focus:outline-none focus:ring-2 focus:ring-accent-primary/20 backdrop-blur-xl border border-border-color text-primary-text hover:brightness-110 transition-all hover:-translate-y-0.5 active:scale-95 px-8 py-4 text-base min-w-[200px] mx-auto">Schedule Demo</button></a></div><div class="jsx-1fa9972e203a246c flex flex-wrap items-center justify-center gap-y-2 gap-x-6 text-tertiary-text font-bold"><div class="jsx-1fa9972e203a246c flex items-center gap-2"><span class="jsx-1fa9972e203a246c text-accent-primary text-[10px]">✔</span><span class="jsx-1fa9972e203a246c text-[10px] uppercase tracking-widest whitespace-nowrap">No credit card required</span></div><div class="jsx-1fa9972e203a246c flex items-center gap-2"><span class="jsx-1fa9972e203a246c text-accent-primary text-[10px]">✔</span><span class="jsx-1fa9972e203a246c text-[10px] uppercase tracking-widest whitespace-nowrap">150<!-- --> free credits on signup</span></div><div class="jsx-1fa9972e203a246c flex items-center gap-2"><span class="jsx-1fa9972e203a246c text-accent-primary text-[10px]">✔</span><span class="jsx-1fa9972e203a246c text-[10px] uppercase tracking-widest whitespace-nowrap">Cancel anytime</span></div></div></div></div></section></div></div></div><footer class="relative z-[30] bg-primary-bg font-plus_jakarta_sans text-primary-text border-t border-border-color overflow-hidden"><div class="absolute inset-0 pointer-events-none overflow-hidden opacity-50"><div class="absolute top-0 right-0 w-[600px] h-[600px] bg-accent-primary/5 rounded-full blur-[120px] -mr-48 -mt-48"></div><div class="absolute bottom-0 left-0 w-[400px] h-[400px] bg-info-color/5 rounded-full blur-[100px] -ml-24 -mb-24"></div></div><div class="relative mx-auto flex w-full max-w-7xl flex-col gap-20 px-6 pb-12 pt-20 lg:px-0"><div class="grid gap-10 sm:grid-cols-2 lg:grid-cols-5"><div class="space-y-8"><h3 class="text-xs font-black uppercase tracking-[0.3em] text-primary-text/40">Products</h3><ul class="space-y-4"><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/products/astrology-json-api">Astrology API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/products/astrology-pdf-api">PDF API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/horoscope-api">Horoscope API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/products/geo-location-api">Geo Location API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/products/astro-pages">AstroPages</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/products/astrocartography-api">Astrocartography API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/products/human-design-api">Human Design API</a></li></ul></div><div class="space-y-8"><h3 class="text-xs font-black uppercase tracking-[0.3em] text-primary-text/40">Astro AI</h3><ul class="space-y-4"><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/astro-ai/chat-api">Astro-Chat API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/palm-reading-api">Palmistry API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/face-reading-api">Face Reading API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/astro-ai/vastu-api">Vastu API</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/astro-ai/mcp-server">MCP Servers</a></li></ul></div><div class="space-y-8"><h3 class="text-xs font-black uppercase tracking-[0.3em] text-primary-text/40">Solutions</h3><ul class="space-y-4"><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/vedic-astrology">Vedic Astrology</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/western-astrology">Western Astrology</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/horoscope-api">Horoscope</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/numerology-api">Numerology</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/tarot-card-api">Tarot Readings</a></li></ul></div><div class="space-y-8"><h3 class="text-xs font-black uppercase tracking-[0.3em] text-primary-text/40">Developers</h3><ul class="space-y-4"><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/developers/v1">
1059Get Started Guide</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/developers/v1/api-reference">API Reference</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/developers/v1/guides">Guides &amp; Tutorials</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/blog">Blog</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/developers/v1/sdk-reference">Download SDK</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/developers/v1/postman-collection">Postman Collection</a></li></ul></div><div class="space-y-8"><h3 class="text-xs font-black uppercase tracking-[0.3em] text-primary-text/40">More Links</h3><ul class="space-y-4"><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/pricing">Pricing</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/about-us">About Us</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/contact">Contact Us</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/demo-schedule">Schedule a Demo</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/legal/privacy-policy">Privacy Policy</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/legal/terms-service">Terms of Use</a></li><li><a class="text-sm font-bold text-secondary-text transition-all hover:text-accent-primary flex items-center group" href="/legal/refund-and-cancellation">Refund and Cancellation</a></li></ul></div></div><div class="flex flex-col items-start justify-between gap-8 border-t border-border-color pt-10 text-xs text-secondary-text md:flex-row md:items-center"><div class="flex flex-col gap-4"><a class="group" href="/"><img src="/imgs/logo2.svg" alt="AstrologyAPI" class="h-8 transition-transform group-hover:scale-105"/></a><p class="font-medium opacity-60 italic">The astrology API trusted by 3,000+ products worldwide.</p></div><div class="flex flex-col md:items-end gap-4"><div class="flex items-center gap-6"><a class="transition-colors hover:text-accent-primary font-bold uppercase tracking-widest" href="/legal/privacy-policy">Privacy</a><a class="transition-colors hover:text-accent-primary font-bold uppercase tracking-widest" href="/legal/terms-service">Terms</a><a class="transition-colors hover:text-accent-primary font-bold uppercase tracking-widest" href="/legal/refund-and-cancellation">Refunds</a></div><p class="font-bold opacity-40">© <!-- -->2026<!-- --> AstrologyAPI. All rights reserved.</p></div></div></div></footer></div>
1059<script id="__NEXT_DATA__" type="application/json" crossorigin="">{"props":{"pageProps":{}},"page":"/","query":{},"buildId":"2Oepl0nkC7Q7h24JTgxpP","nextExport":true,"autoExport":true,"isFallback":false,"scriptLoader":[{"strategy":"afterInteractive","async":true,"src":"https://www.googletagmanager.com/gtag/js?id=G-9T750QNQP1"},{"strategy":"afterInteractive","children":"\n      window.dataLayer = window.dataLayer || [];\n            function gtag(){dataLayer.push(arguments);}\n            gtag('js', new Date());\n\n            gtag('config', 'G-9T750QNQP1');\n     \n      "},{"async":true,"strategy":"afterInteractive","dangerouslySetInnerHTML":{"__html":"\n              (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\nnew Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\nj=d.createElement(s),dl=l!='dataLayer'?'\u0026l='+l:'';j.async=true;j.src=\n'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n})(window,document,'script','dataLayer','GTM-MN5C2S8K');\n              "}}]}</script>
1059</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.