/* /panchang/{city} — standalone "dawn" design. Scoped under .pc; independent of the site theme. */
.pc {
	--pc-ink: #2a1d3a;
	--pc-muted: #857a91;
	--pc-paper: #fbf7f1;
	--pc-card: #ffffff;
	--pc-line: #efe6da;
	--pc-plum: #5a2e7a;
	--pc-sun: #ff8a3d;
	--pc-sun-soft: #fff1e2;
	--pc-good: #1f8a6d;
	--pc-good-soft: #e2f3ec;
	--pc-bad: #d1503a;
	--pc-bad-soft: #fde8e2;
	--pc-neutral: #b27d12;
	--pc-neutral-soft: #fbf0d8;
	--pc-radius: 22px;
	--pc-shadow: 0 1px 2px rgba(42, 29, 58, .04), 0 12px 32px rgba(42, 29, 58, .07);
	width: 100%;
	max-width: var(--sb-app-width, 440px);
	min-height: 100dvh;
	margin-inline: auto;
	padding: 12px 16px calc(96px + env(safe-area-inset-bottom)) !important;
	background: var(--pc-paper) !important;
	color: var(--pc-ink);
}
.pc [hidden] { display: none !important; }
.pc h1, .pc h2, .pc p { margin: 0; }

/* City / date picker */
.pc-picker { position: sticky; top: 0; z-index: 40; display: grid; grid-template-columns: minmax(0, 1fr) 152px; gap: 8px; margin: 0 -16px 14px; padding: 10px 16px; background: rgba(251, 247, 241, .94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.pc-picker label { position: relative; display: flex; align-items: center; min-width: 0; margin: 0; }
.pc-picker label > i { position: absolute; left: 14px; z-index: 1; color: var(--pc-sun); font-size: 14px; pointer-events: none; }
.pc-picker input { width: 100%; min-width: 0; height: 46px; padding: 0 12px 0 36px; border: 1px solid var(--pc-line); border-radius: 999px; background: var(--pc-card); color: var(--pc-ink); font-size: 14px; outline: none; box-shadow: 0 2px 8px rgba(42, 29, 58, .05); }
.pc-picker input[type=date] { padding: 0 6px 0 34px; font-size: 12px; }
.pc-picker input:focus { border-color: var(--pc-sun); box-shadow: 0 0 0 4px rgba(255, 138, 61, .16); }
.pc-picker-city .sb-geocode-dropdown { top: calc(100% + 6px); }
.pc-picker-error { grid-column: 1 / -1; padding: 9px 14px; border-radius: 14px; background: var(--pc-bad-soft); color: var(--pc-bad); font-size: 12.5px; }

.pc-loading { display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 90px 0; color: var(--pc-muted); font-size: 13px; }
.pc-loading-sun { width: 44px; height: 44px; border-radius: 50%; background: radial-gradient(circle at 40% 35%, #ffd79a, var(--pc-sun)); box-shadow: 0 0 0 0 rgba(255, 138, 61, .45); animation: pcPulse 1.4s ease-out infinite; }
@keyframes pcPulse { to { box-shadow: 0 0 0 22px rgba(255, 138, 61, 0); } }
@media (prefers-reduced-motion: reduce) { .pc-loading-sun { animation: none; } }

/* Hero */
.pc-hero { position: relative; overflow: hidden; padding: 24px 22px 22px; border-radius: 30px; background: linear-gradient(165deg, #fff6ea 0%, #ffe2bd 52%, #ffc995 100%); box-shadow: 0 20px 44px rgba(214, 120, 52, .18); }
.pc-hero-sun { position: absolute; top: -70px; right: -60px; width: 220px; height: 220px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 175, 90, .85) 0%, rgba(255, 150, 70, .35) 45%, transparent 70%); pointer-events: none; }
.pc-hero > *:not(.pc-hero-sun) { position: relative; }
.pc-hero-top { display: flex; align-items: center; gap: 8px; }
.pc-eyebrow { color: #b4541e; font-size: 11px; font-weight: 700; letter-spacing: .1em; }
.pc-today { padding: 2px 10px; border-radius: 999px; background: var(--pc-ink); color: #ffd9a8; font-size: 10.5px; font-weight: 700; }
.pc-title { margin-top: 10px !important; font-size: 28px; font-weight: 700; line-height: 1.25; color: var(--pc-ink); }
.pc-date { margin-top: 4px !important; color: #7a5a4a; font-size: 13px; }
.pc-hero-tithi { display: flex; flex-direction: column; gap: 2px; margin-top: 22px; padding: 16px 18px; border-radius: 20px; background: rgba(255, 255, 255, .62); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px); }
.pc-hero-tithi small { color: #9a6a4f; font-size: 11px; }
.pc-hero-tithi strong { font-size: 26px; line-height: 1.3; color: var(--pc-plum); }
.pc-hero-tithi span { color: #7a5a4a; font-size: 12.5px; }
.pc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.pc-chips span { padding: 5px 11px; border-radius: 999px; background: rgba(255, 255, 255, .55); color: #6b4a3b; font-size: 11.5px; font-weight: 700; }
.pc-actions { display: grid; grid-template-columns: auto 1fr; gap: 10px; margin-top: 20px; }
.pc-share { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 18px; border: 0; border-radius: 16px; background: #fff; color: #128c4a; font-size: 14px; font-weight: 700; box-shadow: 0 6px 16px rgba(42, 29, 58, .1); cursor: pointer; }
.pc-share i { font-size: 19px; color: #25d366; }
.pc-cta, .pc-cta:hover, .pc-cta:visited { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; min-height: 48px; padding: 0 18px; border-radius: 16px; background: var(--pc-ink); color: #fff; font-size: 14px; font-weight: 700; text-decoration: none; box-shadow: 0 8px 18px rgba(42, 29, 58, .22); }
.pc .pc-cta span { color: #fff; }
.pc-cta i { color: #ffbe7a; }

/* Blocks */
.pc-block { margin-top: 30px; }
.pc-head { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; margin: 0 2px 12px; }
.pc-head h2 { font-size: 18px; font-weight: 700; }
.pc-head p { color: var(--pc-muted); font-size: 12px; text-align: right; }
.pc-card { border: 1px solid var(--pc-line); border-radius: var(--pc-radius); background: var(--pc-card); box-shadow: var(--pc-shadow); }

/* Right now */
.pc-now { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pc-now-tile, .pc-now-tile:hover, .pc-now-tile:visited { display: flex; flex-direction: column; gap: 4px; min-height: 116px; padding: 16px; border: 1px solid var(--pc-line); border-radius: var(--pc-radius); background: var(--pc-card); color: var(--pc-ink); text-decoration: none; box-shadow: var(--pc-shadow); }
.pc-now-tile small { color: var(--pc-muted); font-size: 11px; }
.pc-now-tile strong { font-size: 16px; line-height: 1.35; }
.pc-now-tile strong em { margin-left: 4px; padding: 1px 8px; border-radius: 999px; font-size: 10.5px; font-style: normal; vertical-align: 2px; }
.pc-now-tile span { margin-top: auto; color: var(--pc-muted); font-size: 11.5px; }
.pc-now-tile.is-alert { border-color: #f5c6ba; background: var(--pc-bad-soft); }
.pc-now-tile.is-alert strong { color: var(--pc-bad); }
.pc-now-tile.is-good strong em { background: var(--pc-good-soft); color: var(--pc-good); }
.pc-now-tile.is-bad strong em { background: var(--pc-bad-soft); color: var(--pc-bad); }
.pc-now-tile.is-neutral strong em { background: var(--pc-neutral-soft); color: var(--pc-neutral); }
.pc-now-tile.is-link { background: var(--pc-sun-soft); border-color: #fbd9b8; }
.pc-now-tile.is-link span i { margin-left: 4px; color: var(--pc-sun); }
.pc-next, .pc-next:hover, .pc-next:visited { display: flex; align-items: center; gap: 10px; margin-top: 10px; padding: 13px 16px; border-radius: 16px; background: var(--pc-good-soft); color: #175e4b; font-size: 12.5px; text-decoration: none; }
.pc-next b { color: var(--pc-good); }
.pc-next > span:nth-child(2) { flex: 1; }
.pc-next-dot { flex: 0 0 8px; height: 8px; border-radius: 50%; background: var(--pc-good); box-shadow: 0 0 0 4px rgba(31, 138, 109, .18); }

/* Sun path */
.pc-sky { padding: 18px 18px 16px; overflow: hidden; background: linear-gradient(180deg, #fff9f1 0%, #ffffff 62%); }
.pc-arc { display: block; width: 100%; height: auto; overflow: visible; }
.pc-arc-horizon { stroke: #efe0cc; stroke-width: 1.5; }
.pc-arc-track { fill: none; stroke: #f1e3d0; stroke-width: 3; stroke-dasharray: 2 5; stroke-linecap: round; }
.pc-arc-done { fill: none; stroke: url(#pcArcGlow); stroke-width: 4; stroke-linecap: round; }
.pc-arc-halo { fill: rgba(255, 150, 70, .22); }
.pc-arc-sun { fill: #ff8a3d; stroke: #fff; stroke-width: 2.5; }
.pc-arc-end { fill: #fff; stroke: #e8cfae; stroke-width: 2; }
.pc-sun-times { display: flex; justify-content: space-between; margin-top: 4px; }
.pc-sun-times div { display: flex; flex-direction: column; gap: 2px; }
.pc-sun-times .is-right { align-items: flex-end; }
.pc-sun-times small { color: var(--pc-muted); font-size: 11px; }
.pc-sun-times strong { font-size: 16px; }

.pc-daybar { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--pc-line); }
.pc-daybar-track { position: relative; height: 12px; border-radius: 999px; background: linear-gradient(90deg, #ffe3c2, #fff0dc 50%, #ffe0bd); }
.pc-daybar-rahu { position: absolute; top: 0; bottom: 0; border-radius: 999px; background: repeating-linear-gradient(135deg, var(--pc-bad) 0 4px, #e67a63 4px 8px); }
.pc-daybar-now { position: absolute; top: -5px; width: 3px; height: 22px; margin-left: -1.5px; border-radius: 3px; background: var(--pc-ink); }
.pc-daybar-legend { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 12px; color: var(--pc-muted); font-size: 11.5px; }
.pc-daybar-legend span { display: inline-flex; align-items: center; gap: 6px; }
.pc-key-rahu { display: inline-block; width: 14px; height: 8px; border-radius: 999px; background: var(--pc-bad); }
.pc-key-now { display: inline-block; width: 3px; height: 12px; border-radius: 2px; background: var(--pc-ink); }
.pc-hint { margin-top: 8px !important; color: var(--pc-muted); font-size: 11.5px; }

/* Five limbs */
.pc-limbs { margin: 0; padding: 4px 0; list-style: none; }
.pc-limbs li { display: flex; align-items: center; gap: 14px; padding: 15px 18px; }
.pc-limbs li + li { border-top: 1px solid var(--pc-line); }
.pc-limb-icon { display: grid; place-items: center; flex: 0 0 40px; height: 40px; border-radius: 14px; background: var(--pc-sun-soft); color: #c2601f; font-size: 17px; }
.pc-limb-main { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.pc-limb-main small { color: var(--pc-muted); font-size: 11px; }
.pc-limb-main strong { font-size: 16.5px; }
.pc-limb-main em { align-self: flex-start; margin-top: 2px; padding: 1px 8px; border-radius: 999px; background: #f3eef7; color: var(--pc-plum); font-size: 10.5px; font-style: normal; font-weight: 700; }
.pc-limb-main em.is-warn { background: var(--pc-bad-soft); color: var(--pc-bad); }
.pc-limb-until { display: flex; flex-direction: column; align-items: flex-end; flex: 0 0 auto; }
.pc-limb-until b { font-size: 13px; }
.pc-limb-until small { color: var(--pc-muted); font-size: 10.5px; }

/* Signs */
.pc-signs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pc-sign { position: relative; display: flex; flex-direction: column; gap: 2px; padding: 18px 16px 16px; overflow: hidden; border-radius: var(--pc-radius); color: var(--pc-ink); }
.pc-sign--moon { background: linear-gradient(160deg, #f3efff, #e3dbfb); }
.pc-sign--sun { background: linear-gradient(160deg, #fff3e3, #ffdcb3); }
.pc-sign-orb { position: absolute; top: -18px; right: -18px; width: 70px; height: 70px; border-radius: 50%; }
.pc-sign--moon .pc-sign-orb { background: radial-gradient(circle at 40% 40%, #fff, #cfc3f5 60%, transparent 72%); }
.pc-sign--sun .pc-sign-orb { background: radial-gradient(circle at 40% 40%, #ffe7b0, #ffa55c 60%, transparent 72%); }
.pc-sign small { color: var(--pc-muted); font-size: 11px; }
.pc-sign strong { font-size: 22px; }
.pc-sign span { color: var(--pc-muted); font-size: 11.5px; }

/* Karanas */
.pc-steps { position: relative; margin: 0; padding: 8px 18px; list-style: none; }
.pc-steps li { position: relative; display: flex; align-items: center; gap: 14px; padding: 12px 0; }
.pc-steps li + li { border-top: 1px dashed var(--pc-line); }
.pc-step-dot { flex: 0 0 10px; height: 10px; border-radius: 50%; background: #f2c89c; box-shadow: 0 0 0 4px var(--pc-sun-soft); }
.pc-steps li.is-warn .pc-step-dot { background: var(--pc-bad); box-shadow: 0 0 0 4px var(--pc-bad-soft); }
.pc-steps li > div { display: flex; flex: 1; flex-direction: column; gap: 2px; }
.pc-steps small { color: var(--pc-muted); font-size: 11px; }
.pc-steps strong { font-size: 15px; }
.pc-steps strong em { margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--pc-bad-soft); color: var(--pc-bad); font-size: 10.5px; font-style: normal; vertical-align: 2px; }
.pc-step-until { color: var(--pc-ink); font-size: 12.5px; font-weight: 700; }


/* Shared pill + hero meter (choghadiya hero, period list) */
.pc-pill { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: 11px; font-style: normal; font-weight: 700; vertical-align: 4px; white-space: nowrap; }
.pc-pill.is-good { background: var(--pc-good-soft); color: var(--pc-good); }
.pc-pill.is-neutral { background: var(--pc-neutral-soft); color: var(--pc-neutral); }
.pc-pill.is-bad { background: var(--pc-bad-soft); color: var(--pc-bad); }
.pc-hero-meter { display: block; height: 6px; margin-top: 10px; overflow: hidden; border-radius: 999px; background: rgba(90, 46, 122, .12); }
.pc-hero-meter i { display: block; height: 100%; border-radius: 999px; background: var(--pc-plum); }

/* Choghadiya: day/night segmented control */
.pc-seg { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; padding: 4px; border-radius: 16px; background: #f1e9de; }
.pc-seg-btn { min-height: 44px; border: 0; border-radius: 12px; background: transparent; color: var(--pc-muted); font-size: 13.5px; font-weight: 700; cursor: pointer; }
.pc-seg-btn.is-active { background: var(--pc-card); color: var(--pc-ink); box-shadow: 0 2px 8px rgba(42, 29, 58, .1); }
.pc-seg-btn:focus-visible { outline: 2px solid var(--pc-sun); outline-offset: 2px; }
.pc-periods { display: none; margin-top: 16px; }
.pc-periods.is-active { display: block; animation: pcFade .25s ease; }
@keyframes pcFade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .pc-periods.is-active { animation: none; } }

/* Choghadiya: at-a-glance strip */
.pc-strip { display: flex; gap: 3px; height: 14px; }
.pc-strip span { border-radius: 4px; }
.pc-strip span:first-child { border-radius: 999px 4px 4px 999px; }
.pc-strip span:last-child { border-radius: 4px 999px 999px 4px; }
.pc-strip .is-good { background: #4fb393; }
.pc-strip .is-neutral { background: #e7b54b; }
.pc-strip .is-bad { background: #e57f69; }
.pc-strip .is-past { opacity: .35; }
.pc-strip .is-current { box-shadow: 0 0 0 2px var(--pc-paper), 0 0 0 4px var(--pc-ink); }
.pc-strip-ends { display: flex; justify-content: space-between; margin: 6px 2px 14px; color: var(--pc-muted); font-size: 11px; }

/* Choghadiya: period list */
.pc-list { margin: 0; padding: 4px 0; list-style: none; }
.pc-list li { display: flex; align-items: center; gap: 14px; padding: 13px 18px; }
.pc-list li + li { border-top: 1px solid var(--pc-line); }
.pc-list-index { display: grid; place-items: center; flex: 0 0 34px; height: 34px; border-radius: 11px; font-size: 13px; font-weight: 700; }
.pc-list li.is-good .pc-list-index { background: var(--pc-good-soft); color: var(--pc-good); }
.pc-list li.is-neutral .pc-list-index { background: var(--pc-neutral-soft); color: var(--pc-neutral); }
.pc-list li.is-bad .pc-list-index { background: var(--pc-bad-soft); color: var(--pc-bad); }
.pc-list-main { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.pc-list-main strong { font-size: 16px; }
.pc-list-main small { color: var(--pc-muted); font-size: 12px; }
.pc-list li.is-past { opacity: .5; }
.pc-list li.is-current { margin: 4px 8px; padding: 14px 12px; border-radius: 16px; background: var(--pc-sun-soft); }
.pc-list li.is-current + li { border-top-color: transparent; }
.pc-now-tag { margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--pc-ink); color: #ffd9a8; font-size: 10px; font-style: normal; vertical-align: 3px; }
.pc-list-meter { display: block; height: 4px; margin-top: 6px; overflow: hidden; border-radius: 999px; background: rgba(42, 29, 58, .1); }
.pc-list-meter i { display: block; height: 100%; border-radius: 999px; background: var(--pc-sun); }

/* Choghadiya: legend */
.pc-legend { padding: 6px 18px; }
.pc-legend-row { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; }
.pc-legend-row + .pc-legend-row { border-top: 1px dashed var(--pc-line); }
.pc-legend-dot { flex: 0 0 12px; height: 12px; margin-top: 5px; border-radius: 50%; }
.pc-legend-dot.is-good { background: #4fb393; }
.pc-legend-dot.is-neutral { background: #e7b54b; }
.pc-legend-dot.is-bad { background: #e57f69; }
.pc-legend-row > div { display: flex; flex-direction: column; gap: 2px; }
.pc-legend-row strong { font-size: 14.5px; }
.pc-legend-row strong small { margin-left: 6px; color: var(--pc-muted); font-size: 11.5px; font-weight: 400; }
.pc-legend-row span { color: var(--pc-muted); font-size: 12px; }
.pc-empty-note { margin-top: 24px !important; padding: 18px; border-radius: var(--pc-radius); background: var(--pc-card); color: var(--pc-muted); font-size: 13px; text-align: center; }

/* Night hero variant (swapna, rashifal) — same structure, brand temple maroon */
.pc-hero--night { background: linear-gradient(165deg, #3f1110 0%, #5b1717 48%, #8d2523 100%); box-shadow: 0 20px 44px rgba(91, 23, 23, .3); }
.pc-hero--night .pc-hero-sun { background: radial-gradient(circle, rgba(255, 205, 120, .5) 0%, rgba(240, 160, 80, .18) 42%, transparent 70%); }
.pc-hero--night .pc-eyebrow { color: #f2c46d; }
.pc-hero--night .pc-today { background: rgba(0, 0, 0, .28); color: #f2c46d; }
.pc-hero--night .pc-title { color: #fff; }
.pc-hero--night .pc-date { color: rgba(255, 255, 255, .72); }
.pc-hero--night .pc-hero-tithi { background: rgba(255, 255, 255, .95); }

/* Search field (inside a hero) */
.pc-search { position: relative; display: flex; align-items: center; margin: 20px 0 0; }
.pc-search > i { position: absolute; left: 16px; color: var(--pc-plum); font-size: 15px; pointer-events: none; }
.pc-search input { width: 100%; min-width: 0; height: 52px; padding: 0 16px 0 44px; border: 0; border-radius: 18px; background: #fff; color: var(--pc-ink); font-size: 15px; outline: none; box-shadow: 0 10px 24px rgba(20, 12, 40, .18); -webkit-appearance: none; }
.pc-search input:focus { box-shadow: 0 0 0 4px rgba(243, 207, 139, .45), 0 10px 24px rgba(20, 12, 40, .18); }

/* Chips as buttons */
.pc-chips--action button { display: inline-flex; align-items: center; gap: 5px; padding: 7px 12px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 12.5px; font-weight: 700; cursor: pointer; }
.pc-chips--action button span { padding: 0; background: none; font-size: 14px; }
.pc-chips--action button:focus-visible { outline: 2px solid #f3cf8b; outline-offset: 2px; }

/* Filter pills (sticky) */
.pc-filters { position: sticky; top: 0; z-index: 30; display: flex; gap: 6px; margin: 18px -16px 0; padding: 10px 16px; overflow-x: auto; scrollbar-width: none; background: rgba(251, 247, 241, .94); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); }
.pc-filters::-webkit-scrollbar { display: none; }
.pc-filters button { flex: 0 0 auto; display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border: 1px solid var(--pc-line); border-radius: 999px; background: var(--pc-card); color: var(--pc-muted); font-size: 13px; font-weight: 700; cursor: pointer; }
.pc-filters button b { padding: 1px 7px; border-radius: 999px; background: #f3ece2; color: var(--pc-muted); font-size: 10.5px; }
.pc-filters button.is-active { border-color: var(--pc-ink); background: var(--pc-ink); color: #fff; }
.pc-filters button.is-active b { background: rgba(255, 255, 255, .16); color: #fff; }
.pc-filters button:focus-visible { outline: 2px solid var(--pc-sun); outline-offset: 2px; }

/* Tile grid */
.pc-tiles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pc-tile { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; min-height: 112px; padding: 14px 8px; border: 1px solid var(--pc-line); border-radius: 20px; background: var(--pc-card); color: var(--pc-ink); box-shadow: var(--pc-shadow); cursor: pointer; transition: transform .15s ease, box-shadow .15s ease; }
.pc-tile:active { transform: scale(.97); }
.pc-tile:focus-visible { outline: 2px solid var(--pc-plum); outline-offset: 2px; }
.pc-tile-orb { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff, #efe8fb 70%); font-size: 26px; line-height: 1; box-shadow: inset 0 0 0 1px rgba(90, 46, 122, .08); }
.pc-tile-orb--lg { flex: 0 0 64px; width: 64px; height: 64px; font-size: 34px; }
.pc-tile-label { font-size: 13.5px; font-weight: 700; line-height: 1.3; text-align: center; }

/* Bottom sheet */
.pc-sheet-open, .pc-sheet-open body { overflow: hidden; }
.pc-sheet { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: flex-end; justify-content: center; }
.pc-sheet-backdrop { position: absolute; inset: 0; border: 0; background: rgba(20, 12, 36, .55); backdrop-filter: blur(3px); -webkit-backdrop-filter: blur(3px); cursor: pointer; }
.pc-sheet-panel { position: relative; width: 100%; max-width: 440px; max-height: 88dvh; overflow-y: auto; padding: 10px 22px calc(22px + env(safe-area-inset-bottom)); border-radius: 28px 28px 0 0; background: var(--pc-paper); color: var(--pc-ink); box-shadow: 0 -20px 50px rgba(20, 12, 36, .3); animation: pcSheetUp .28s cubic-bezier(.2, .8, .2, 1); }
@keyframes pcSheetUp { from { transform: translateY(40px); opacity: 0; } to { transform: none; opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .pc-sheet-panel { animation: none; } }
.pc-sheet-handle { display: block; width: 40px; height: 4px; margin: 0 auto 16px; border-radius: 999px; background: #d9cfc0; }
.pc-sheet-close { position: absolute; top: 16px; right: 18px; display: grid; place-items: center; width: 36px; height: 36px; border: 0; border-radius: 50%; background: #ece5da; color: var(--pc-ink); font-size: 22px; line-height: 1; cursor: pointer; }
.pc-sheet-head { display: flex; align-items: center; gap: 14px; padding-right: 44px; }
.pc-sheet-head small { color: var(--pc-muted); font-size: 11.5px; }
.pc-sheet-head h2 { margin-top: 2px !important; font-size: 22px; font-weight: 700; }
.pc-sheet-body { margin: 18px 0 0 !important; padding: 18px; border-radius: 20px; background: var(--pc-card); color: #3d3049; font-size: 15px; line-height: 1.85; box-shadow: var(--pc-shadow); }
.pc-actions--sheet { margin-top: 18px; }
.pc-cta--button { width: 100%; border: 0; cursor: pointer; }

/* Identity row in hero (selected sign + change) */
.pc-identity { display: flex; align-items: center; gap: 14px; margin-top: 12px; }
.pc-identity-orb { display: grid; place-items: center; flex: 0 0 60px; height: 60px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3d6, #e9c27a 70%); color: #3b2566; font-size: 30px; line-height: 1; box-shadow: 0 0 0 6px rgba(243, 207, 139, .16); }
.pc-identity-copy { flex: 1; min-width: 0; }
.pc-identity .pc-title { margin-top: 0 !important; }
.pc-identity-change { flex: 0 0 auto; min-height: 38px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; background: rgba(255, 255, 255, .1); color: #fff; font-size: 13px; font-weight: 700; cursor: pointer; }
.pc-identity-change:focus-visible { outline: 2px solid #f3cf8b; outline-offset: 2px; }
.pc-hero-lead { margin-top: 14px !important; color: rgba(255, 255, 255, .8); font-size: 13.5px; line-height: 1.7; }

/* Score ring card */
.pc-score { flex-direction: row; align-items: center; gap: 14px; }
.pc-ring { flex: 0 0 76px; width: 76px; height: 76px; transform: rotate(-90deg); }
.pc-ring circle { fill: none; stroke-width: 7; }
.pc-ring-track { stroke: rgba(90, 46, 122, .12); }
.pc-ring-fill { stroke-linecap: round; stroke: var(--pc-neutral); }
.pc-ring-fill.is-good { stroke: var(--pc-good); }
.pc-ring-fill.is-bad { stroke: var(--pc-bad); }
.pc-ring text { fill: var(--pc-ink); font-size: 22px; font-weight: 700; transform: rotate(90deg); transform-origin: 40px 40px; }
.pc-score-copy { display: flex; flex: 1; flex-direction: column; gap: 3px; min-width: 0; }
.pc-score-copy strong { font-size: 18px; line-height: 1.35; color: var(--pc-plum); }
.pc-score-copy strong .pc-pill { vertical-align: 3px; }
.pc-score-copy span { color: #6b5a7a; font-size: 12px; line-height: 1.6; }

/* Sign tiles */
.pc-tiles--signs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pc a.pc-tile, .pc a.pc-tile:hover, .pc a.pc-tile:visited { position: relative; gap: 6px; color: var(--pc-ink); text-decoration: none; }
.pc-tile--sign { min-height: 132px; }
.pc-tile--sign .pc-tile-orb { color: var(--pc-plum); font-size: 24px; }
.pc-tile-sub { color: var(--pc-muted); font-size: 10px; line-height: 1.35; text-align: center; }
.pc-tile-badge { position: absolute; top: 8px; right: 8px; min-width: 26px; padding: 1px 6px; border-radius: 999px; font-size: 10.5px; font-style: normal; font-weight: 700; text-align: center; }
.pc-tile-badge.is-good { background: var(--pc-good-soft); color: var(--pc-good); }
.pc-tile-badge.is-neutral { background: var(--pc-neutral-soft); color: var(--pc-neutral); }
.pc-tile-badge.is-bad { background: var(--pc-bad-soft); color: var(--pc-bad); }
.pc-tile.is-current { border-color: var(--pc-plum); background: #f6f1fc; box-shadow: 0 0 0 2px var(--pc-plum); }
.pc-sheet-sub { margin: 12px 0 16px !important; color: var(--pc-muted); font-size: 12.5px; }

/* Message + tags */
.pc-message { padding: 18px; }
.pc-message p { color: #3d3049; font-size: 15px; line-height: 1.85; }
.pc-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.pc-tags span { padding: 5px 11px; border-radius: 999px; background: #f3eef7; color: var(--pc-plum); font-size: 12px; font-weight: 700; }

/* Lucky signs (colour / number / time) */
.pc-lucky { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pc-lucky-tile { position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; min-height: 142px; padding: 14px 12px; overflow: hidden; border: 1px solid var(--pc-line); border-radius: var(--pc-radius); background: var(--pc-card); box-shadow: var(--pc-shadow); }
.pc-lucky-tile small { color: var(--pc-muted); font-size: 11px; font-weight: 700; }
.pc-lucky-tile strong { margin-top: auto; font-size: 15px; line-height: 1.3; }
.pc-lucky-tile--color { background: linear-gradient(165deg, #ffffff 30%, color-mix(in srgb, var(--lucky, #e9e2d6) 26%, #ffffff) 100%); border-color: color-mix(in srgb, var(--lucky, #e9e2d6) 35%, #efe6da); }
.pc-lucky-swatch { width: 38px; height: 38px; margin: 6px 0 0 6px; border-radius: 50%; background: var(--lucky, #e9e2d6); box-shadow: 0 0 0 4px #fff, 0 0 0 5px color-mix(in srgb, var(--lucky, #e9e2d6) 45%, transparent), 0 6px 14px color-mix(in srgb, var(--lucky, #e9e2d6) 45%, transparent); }
.pc-lucky-tile--number { background: linear-gradient(165deg, #fff9ec 0%, #fbe7bd 100%); border-color: #f1d9a6; }
.pc-lucky-medal { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff3cf, #e1ad48 75%); color: #6a2a14; font-size: 22px; font-weight: 700; box-shadow: 0 0 0 4px rgba(255, 255, 255, .7), 0 8px 16px rgba(196, 140, 40, .35); }
.pc-lucky-tile--number strong { color: #9a6a3a; font-size: 12px; font-weight: 700; }
.pc-lucky-tile--time { background: linear-gradient(165deg, #fff6ee 0%, #ffe0cc 100%); border-color: #f6d3bc; }
.pc-lucky-clock { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 12px; background: #fff; color: #c0582a; font-size: 18px; box-shadow: 0 4px 10px rgba(192, 88, 42, .15); }
.pc-lucky-range { display: flex; flex-direction: column; gap: 1px; margin-top: auto; }
.pc-lucky-range b { font-size: 13.5px; line-height: 1.3; }
.pc-lucky-range span { color: var(--pc-muted); font-size: 10.5px; }

/* Temple palette modifier for rashifal/swapna pages: warm maroon/cream accents instead of plum. */
.pc--temple { --pc-plum: #7c2320; }
.pc--temple .pc-tile-orb { background: radial-gradient(circle at 35% 30%, #fff, #fbe7cf 72%); box-shadow: inset 0 0 0 1px rgba(124, 35, 32, .1); }
.pc--temple .pc-tile--sign .pc-tile-orb, .pc--temple .pc-identity-orb { color: #7c2320; }
.pc--temple .pc-identity-orb { background: radial-gradient(circle at 35% 30%, #fff6dc, #e8b75c 72%); box-shadow: 0 0 0 6px rgba(242, 196, 109, .18); }
.pc--temple .pc-tile.is-current { border-color: #8d2523; background: #fff4ea; box-shadow: 0 0 0 2px #8d2523; }
.pc--temple .pc-tags span, .pc--temple .pc-limb-main em { background: #fbece2; }
.pc--temple .pc-cta, .pc--temple .pc-filters button.is-active { background: #3a1110; border-color: #3a1110; }
.pc--temple .pc-now-tag { background: #3a1110; }
.pc--temple .pc-search > i { color: #8d2523; }
.pc--temple .pc-search input:focus { box-shadow: 0 0 0 4px rgba(242, 196, 109, .5), 0 10px 24px rgba(40, 10, 8, .2); }
.pc--temple .pc-sheet-backdrop { background: rgba(35, 12, 10, .55); }
.pc--temple .pc-ring-track { stroke: rgba(124, 35, 32, .12); }

/* Life areas */
.pc-areas { margin: 0; padding: 4px 0; list-style: none; }
.pc-areas li { padding: 16px 18px; }
.pc-areas li + li { border-top: 1px solid var(--pc-line); }
.pc-area-top { display: flex; align-items: center; gap: 10px; }
.pc-area-top strong { flex: 1; font-size: 16px; }
.pc-area-top .pc-limb-icon { flex-basis: 36px; height: 36px; font-size: 15px; }
.pc-area-score { font-size: 18px; }
.pc-area-bar { display: block; height: 8px; margin: 12px 0 10px; overflow: hidden; border-radius: 999px; background: #f1ebe2; }
.pc-area-bar i { display: block; height: 100%; border-radius: 999px; }
.pc-area-bar i.is-good { background: linear-gradient(90deg, #8fd0b6, var(--pc-good)); }
.pc-area-bar i.is-neutral { background: linear-gradient(90deg, #f1d38c, var(--pc-neutral)); }
.pc-area-bar i.is-bad { background: linear-gradient(90deg, #f0a99a, var(--pc-bad)); }
.pc-areas p { color: #4a3d56; font-size: 13.5px; line-height: 1.7; }
.pc-areas p.is-muted { margin-top: 4px !important; color: var(--pc-muted); font-size: 12.5px; }

@media (max-width: 360px) {
	.pc-lucky { grid-template-columns: 1fr 1fr; }
	.pc-lucky-tile--time { grid-column: span 2; min-height: 0; }
	.pc-identity-orb { flex-basis: 50px; height: 50px; font-size: 24px; }
}

/* "पंडित जी से और जानें" cross-links */
.pc-links { padding: 4px 0; }
.pc .pc-link, .pc .pc-link:hover, .pc .pc-link:visited { display: flex; align-items: center; gap: 14px; padding: 14px 18px; color: var(--pc-ink); text-decoration: none; }
.pc-link + .pc-link { border-top: 1px solid var(--pc-line); }
.pc-link:active { background: #fbf6ef; }
.pc-link:focus-visible { outline: 2px solid var(--pc-sun); outline-offset: -2px; border-radius: 16px; }
.pc-link-icon { display: grid; place-items: center; flex: 0 0 44px; height: 44px; border-radius: 15px; background: var(--pc-sun-soft); color: #c0582a; }
.pc-link-icon svg { width: 24px; height: 24px; }
.pc-link.is-sun .pc-link-icon { background: #fff1db; color: #c77a14; }
.pc-link.is-time .pc-link-icon { background: #e7f4ef; color: #1f8a6d; }
.pc-link.is-panchang .pc-link-icon { background: #fdeee4; color: #b4541e; }
.pc-link.is-moon .pc-link-icon { background: #f6ecec; color: #8d2523; }
.pc-link.is-kundli .pc-link-icon { background: #fbf0d8; color: #9a6a12; }
.pc-link-copy { display: flex; flex: 1; flex-direction: column; gap: 2px; min-width: 0; }
.pc-link-copy strong { font-size: 15.5px; }
.pc-link-copy small { color: var(--pc-muted); font-size: 12px; }
.pc-link > i { color: #c8b9a8; font-size: 20px; }

.pc-note { margin: 22px 12px 0 !important; color: var(--pc-muted); font-size: 11px; line-height: 1.7; text-align: center; }

@media (max-width: 360px) {
	.pc-picker { grid-template-columns: minmax(0, 1fr) 140px; }
	.pc-title { font-size: 24px; }
	.pc-hero-tithi strong { font-size: 22px; }
	.pc-actions { grid-template-columns: 1fr; }
	.pc-now, .pc-signs { grid-template-columns: 1fr; }
}
