/* TRAC look, October 2026: light top strip with navy text, navy header labels with orange icons,
   orange-outlined menu icons, a two-row ask box and a soft star background on the home screen. Loaded last. */
:root { --lk-navy: #14286E; --lk-navy-2: #0F1F5C; --lk-org: #F2600C; --lk-org-2: #FB8C1A; }

/* Top strip */
.th-strip { background: #FFF6EE !important; border-bottom: 1px solid #F3E3D3 !important; color: var(--lk-navy) !important; }
.th-strip-in { height: 44px !important; }
.th-strip-left, .th-strip-left b, .th-strip-left .th-systems { color: var(--lk-navy) !important; font-size: 15px !important; font-weight: 700 !important; opacity: 1 !important; }
.th-strip .th-sep { background: #E8D2BE !important; }
.th-strip-left .th-sep { width: 2px; height: 16px; background: var(--lk-navy) !important; }
.th-size { border: 0 !important; background: transparent !important; gap: 4px; }
.th-size button { color: var(--lk-navy) !important; font-size: 15px !important; padding: 4px 9px !important; border: 0 !important; border-radius: 8px; background: transparent !important; }
.th-size button.is-on { background: #FFFFFF !important; color: var(--lk-navy) !important; box-shadow: 0 1px 2px rgba(15,31,92,.12); }
.th-strip .trac-lang, .th-strip .trac-lang *, .th-strip .trac-lang-code { color: var(--lk-navy) !important; font-weight: 700 !important; background: transparent !important; border-color: transparent !important; }
.th-strip .trac-header-btn { background: #FFFFFF !important; color: var(--lk-navy) !important; border: 0 !important; border-radius: 10px !important; font-weight: 700 !important;
    height: 34px; padding: 0 14px !important; box-shadow: 0 1px 2px rgba(15,31,92,.10); }
.th-strip .trac-header-btn svg { color: var(--lk-navy) !important; }
.th-strip .trac-account-btn { padding: 0 !important; width: 34px; border-radius: 50% !important; justify-content: center; }
.th-strip .acct-avatar { background: #FFFFFF !important; color: var(--lk-navy) !important; font-weight: 800; }

/* Header buttons: navy labels, orange icons */
.th-band { box-shadow: 0 6px 18px rgba(15,31,92,.06); }
.th-actions .th-btn { color: var(--lk-navy) !important; font-weight: 700 !important; background: #FFFFFF !important; border: 1px solid #ECEFF5 !important;
    border-radius: 12px !important; box-shadow: 0 2px 8px rgba(15,31,92,.07) !important; }
.th-actions .th-btn svg { color: var(--lk-org) !important; width: 20px; height: 20px; }
.th-actions .th-btn:hover { border-color: #FDBA74 !important; }
.th-actions .th-btn.is-main { background: var(--lk-org) !important; color: #FFFFFF !important; border-color: var(--lk-org) !important; box-shadow: 0 4px 12px rgba(242,96,12,.28) !important; }
.th-actions .th-btn.is-main svg { color: #FFFFFF !important; }
.th-title { color: var(--lk-navy) !important; }
.th-title i { color: var(--lk-org) !important; }
.th-tag { color: #4B5A85 !important; }
.th-tag b { color: var(--lk-org) !important; }

/* Left menu (owner, 26 Oct 2026): calm — warm ivory, dark text, grouped under small headings, every icon in one soft maroon;
   the open page shows a solid maroon icon on a pale saffron band with a saffron edge. */
.side-nav { background: #FBF6EF !important; border-right: 1px solid #EADCC9 !important; box-shadow: none !important; }
.side-nav .sn-grp { font-size: 11px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #9A8F80; margin: 14px 12px 4px; white-space: nowrap; }
.side-nav .sn-grp:first-child { margin-top: 2px; }
.side-nav .sn-item { color: #111827 !important; font-weight: 600; gap: 12px !important; white-space: nowrap; border-radius: 12px !important; }
.side-nav .sn-item.sn-item svg { box-sizing: border-box; width: 34px !important; height: 34px !important; padding: 7px !important; border-radius: 10px !important;
    box-shadow: none !important; color: #91063F !important; background: #F3E6DA !important; }
.side-nav .sn-item:hover { background: #F6EDE2 !important; }
.side-nav .sn-item.is-on { background: #FFE9D6 !important; color: #111827 !important; font-weight: 700; box-shadow: inset 3px 0 0 #E8650F !important; }
.side-nav .sn-item.sn-item.is-on svg { color: #FFFFFF !important; background: #91063F !important; }
.side-nav .sn-new { background: #E8650F !important; color: #FFFFFF !important; border-radius: 6px !important; font-weight: 800 !important; }
.side-nav .sn-sep { background: #EADCC9 !important; }
.side-nav::-webkit-scrollbar-thumb { background: #E2D2BF !important; }
.side-nav .sn-help { display: none !important; }

/* Home screen: soft star background */
.trac-home-mode main.trac-main, .trac-home-mode section.trac-home { background: #FFFFFF !important; }
.trac-home-mode .trac-home-art { display: none !important; }

/* Ask box on the home screen: two rows (question on top, tools below) */
.ask-wrap.ask-home .trac-chatbox { flex-direction: column !important; align-items: stretch !important; gap: 6px !important; min-height: 170px !important;
    padding: 18px 16px 14px 22px !important; border-radius: 26px !important; border: 1.6px solid #F28A4B !important;
    box-shadow: 0 10px 40px rgba(242,96,12,.12) !important; background: #FFFFFF !important; flex-wrap: nowrap !important; }
.ask-wrap.ask-home form.trac-chatbox textarea.ask-input, .ask-wrap.ask-home .trac-chatbox textarea.ask-input:focus { height: 60px !important; font-size: 20px !important; padding-left: 46px !important;
    background: url("/img/look/sparkle.svg") 4px 12px / 30px 30px no-repeat !important; }
.ask-wrap.ask-home .ask-tools { width: 100% !important; justify-content: space-between !important; }
.ask-wrap.ask-home .ask-tools-right { width: 100%; justify-content: flex-end; }
.ask-wrap.ask-home .chat-attach { margin-right: auto; width: 58px !important; height: 48px !important; border-radius: 24px !important; border: 0 !important;
    background: #FFFFFF !important; color: var(--lk-org) !important; font-size: 28px !important; box-shadow: 0 2px 10px rgba(15,31,92,.10); }
.ask-wrap.ask-home .ask-model-btn { height: 48px !important; padding: 0 16px 0 10px !important; border-radius: 24px !important; background: #FFFFFF !important;
    color: var(--lk-navy) !important; font-weight: 800 !important; box-shadow: 0 2px 10px rgba(15,31,92,.10) !important; }
.ask-wrap.ask-home .ask-model-btn::before { content: ""; width: 30px; height: 30px; margin-right: 8px; background: url("/images/trac-icon.png") center / contain no-repeat; }
.ask-wrap.ask-home .chat-mic { width: 48px !important; height: 48px !important; border-radius: 50% !important; border: 0 !important; background: #FFFFFF !important;
    color: var(--lk-org) !important; box-shadow: 0 2px 10px rgba(15,31,92,.10); }
.ask-wrap.ask-home .chat-send { width: 60px !important; height: 60px !important; background: var(--lk-org) !important; box-shadow: 0 6px 16px rgba(242,96,12,.35); }
.trac-home-mode h1 { color: var(--lk-navy) !important; }

/* Home screen alignment: heading, ask box and example questions share one centred column of the same width;
   the footer sits at the bottom. */
.trac-home-mode section.trac-home { min-height: calc(100vh - 140px); justify-content: center !important; gap: 0; padding-top: 40px !important; }
.trac-home-mode section.trac-home h1 { width: min(1000px, 94%); text-align: center; margin: 0 auto 26px !important; }
.trac-home-mode .ask-wrap.ask-home { width: min(1000px, 94%) !important; max-width: none !important; margin: 0 auto !important; }
.trac-home-mode .ask-wrap.ask-home .trac-chatbox { width: 100% !important; margin: 0 !important; box-sizing: border-box; padding-left: 18px !important; padding-right: 16px !important; }
.ask-wrap.ask-home form.trac-chatbox textarea.ask-input { margin: 0 !important; padding: 12px 0 0 46px !important; background-position: 2px 12px !important; }
.ask-wrap.ask-home .ask-tools, .ask-wrap.ask-home .ask-tools-right { align-items: center !important; }
.ask-wrap.ask-home .chat-attach { margin-left: 0 !important; }
.trac-home-mode .home-ex { width: min(1000px, 94%); justify-content: center; margin: 16px auto 0 !important; }
.trac-home-mode section.trac-home > .site-footer, .trac-home-mode section.trac-home > footer { margin-top: auto; padding-top: 40px; }


/* ==========================================================================
   Home page (owner, 26 Oct 2026): the ask panel in maroon and gold, today's card,
   topic cards in plain words, free tools, three cards and a trust line.
   ========================================================================== */
.trac-home-mode main.trac-main { overflow: auto !important; }
.trac-home.hm { display: block !important; height: auto !important; overflow: visible !important; padding: 26px 32px 30px !important; max-width: 1280px; margin: 0 auto; color: #111827; }
.hm-hero { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 22px; align-items: stretch; }
.hm-ask { position: relative; overflow: hidden; border-radius: 24px; padding: 28px 30px 22px; color: #FFFFFF;
  background: linear-gradient(135deg, #7A0535 0%, #91063F 55%, #A8324F 100%); box-shadow: 0 12px 34px rgba(122,5,53,.22); }
.hm-ask::after { content: ""; position: absolute; right: -70px; top: -70px; width: 280px; height: 280px; border-radius: 50%; pointer-events: none;
  border: 1px solid rgba(255,212,59,.22); box-shadow: 0 0 0 40px rgba(255,255,255,.035), 0 0 0 80px rgba(255,255,255,.02); }
.trac-home.hm .hm-ask h1 { margin: 0 0 6px !important; font-family: "IBM Plex Serif", Georgia, serif !important; font-weight: 600 !important; font-size: clamp(24px, 2.6vw, 34px) !important;
  line-height: 1.2 !important; color: #FFE7A8 !important; text-align: left; }
.hm-ask > p { margin: 0 0 16px; color: #F7DCE4; font-size: 16px; position: relative; z-index: 1; }
.hm-ask .ask-wrap { position: relative; z-index: 1; width: 100% !important; max-width: none !important; margin: 0 !important; }
.hm-ask .ask-wrap.ask-home .trac-chatbox { border-color: #FFD43B !important; box-shadow: 0 8px 24px rgba(0,0,0,.18) !important; min-height: 112px !important; padding-top: 12px !important; padding-bottom: 10px !important; }
.hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { height: 44px !important; min-height: 44px !important; }
.hm-ask .home-ex { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 8px; justify-content: flex-start !important; margin: 14px 0 0 !important; width: auto !important; }
.hm-ask .home-ex button { background: rgba(255,255,255,.13) !important; border: 1px solid rgba(255,212,59,.45) !important; color: #FFFFFF !important; border-radius: 999px !important;
  padding: 7px 14px !important; font-size: 14px !important; cursor: pointer; }
.hm-ask .home-ex button:hover { background: rgba(255,255,255,.22) !important; }
.hm-ask .home-ex .hm-exlab { color: #FFE7A8; font-weight: 700; font-size: 14px; align-self: center; margin-right: 2px; }
.hm-ask .trac-home-using { position: relative; z-index: 1; margin-top: 12px !important; color: #F7DCE4 !important; font-size: 13px; text-align: left; }
.hm-ask .trac-home-using b { color: #FFD43B !important; }
.hm-ask .trac-home-change { background: transparent !important; border: 1px solid rgba(255,212,59,.6) !important; color: #FFFFFF !important; border-radius: 999px !important; padding: 3px 10px !important; }
.hm-today { background: #FFFFFF; border: 1px solid #F0E6DA; border-radius: 24px; padding: 20px 22px; display: flex; flex-direction: column; }
.hm-k { font-size: 12px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: #9A8F80; }
.hm-date { font-family: "IBM Plex Serif", Georgia, serif; font-size: 24px; font-weight: 600; margin: 6px 0 2px; color: #111827; }
.hm-sub { color: #475569; font-size: 14px; margin-bottom: 10px; }
.hm-row { display: flex; justify-content: space-between; gap: 10px; padding: 8px 0; border-top: 1px dashed #F0E6DA; font-size: 14px; color: #111827; }
.hm-row b { font-weight: 700; white-space: nowrap; }
.hm-good { margin-top: auto; display: block; background: #FFF6DB; color: #7A0535; border-radius: 12px; padding: 10px 12px; font-size: 14px; font-weight: 700; text-decoration: none; }
.hm-good:hover { background: #FFEFC2; }
.hm-place { color: #9A8F80; font-size: 12px; margin-top: 8px; } .hm-place a { color: #7A0535; }
.trac-home.hm .hm-h { font-size: 20px; margin: 30px 0 2px; color: #111827; font-family: inherit; }
.hm-p { color: #475569; margin: 0 0 14px; }
.hm-ic { width: 52px; height: 52px; border-radius: 14px; display: grid; place-items: center; flex: none; }
.hm-ic svg { width: 26px; height: 26px; }
.hm-ic.c1 { background: #FFF1E6; color: #E8650F; } .hm-ic.c2 { background: #EAF1FF; color: #2F5BD3; } .hm-ic.c3 { background: #E8F7EE; color: #1E9A5A; }
.hm-ic.c4 { background: #FDECF2; color: #D63A73; } .hm-ic.c5 { background: #FFF6DB; color: #B7860B; } .hm-ic.c6 { background: #EEEAFE; color: #6C4FD8; }
.hm-ic.c7 { background: #E5F6F6; color: #138F8A; } .hm-ic.c8 { background: #F2F3F7; color: #475569; }
.hm-topics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.hm-tp { display: flex; gap: 14px; align-items: center; text-align: left; background: #FFFFFF; border: 1px solid #F0E6DA; border-radius: 18px; padding: 16px; cursor: pointer;
  box-shadow: 0 2px 8px rgba(31,37,68,.04); font: inherit; color: #111827; transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease; }
.hm-tp:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(31,37,68,.08); border-color: #E9C9A9; }
.hm-tp.is-on { border-color: #91063F; box-shadow: 0 0 0 2px rgba(145,6,63,.15); }
.hm-tp b { display: block; font-size: 16px; } .hm-tp small { color: #475569; font-size: 13px; }
.hm-tools { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.hm-tl { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 4px; background: #FFFFFF; border: 1px solid #F0E6DA; border-radius: 16px; padding: 16px 10px;
  text-decoration: none; color: #111827; font-size: 14px; }
.hm-tl .hm-ic { width: 48px; height: 48px; border-radius: 50%; margin-bottom: 4px; }
.hm-tl small { color: #475569; font-size: 12px; }
.hm-tl:hover { border-color: #E9C9A9; box-shadow: 0 6px 16px rgba(31,37,68,.07); }
.hm-more { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin-top: 30px; }
.hm-mc { display: flex; flex-direction: column; gap: 5px; border-radius: 20px; padding: 20px; text-decoration: none; color: #111827; }
.hm-mc b { font-size: 17px; } .hm-mc span { color: #475569; font-size: 14px; } .hm-mc i { font-style: normal; font-weight: 800; margin-top: 6px; }
.hm-mc.is-1 { background: #FFF1E6; } .hm-mc.is-1 i { color: #E8650F; }
.hm-mc.is-2 { background: #EEEAFE; } .hm-mc.is-2 i { color: #6C4FD8; }
.hm-mc.is-3 { background: #E8F7EE; } .hm-mc.is-3 i { color: #1E9A5A; }
.hm-trust { display: flex; flex-wrap: wrap; gap: 10px 26px; justify-content: center; color: #475569; font-size: 14px; margin: 26px 0 8px; }
.hm-trust span { display: inline-flex; gap: 8px; align-items: center; } .hm-trust svg { width: 18px; height: 18px; color: #C98A1B; }
@media (min-width: 761px) { .hm-toolsblk { display: none !important; } }
@media (max-width: 1100px) { .hm-topics { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hm-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .trac-home.hm { padding: 14px 14px 20px !important; }
  .hm-hero { grid-template-columns: 1fr; }
  .hm-ask { padding: 20px 16px 18px; border-radius: 20px; }
  .hm-ask .home-ex { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; } .hm-ask .home-ex button { white-space: nowrap; flex: none; }
  .hm-tp { flex-direction: column; align-items: flex-start; padding: 12px; gap: 8px; } .hm-tp small { display: none; }
  .hm-more { grid-template-columns: 1fr; }
}

/* Phones: the quick bar at the bottom */
.bb { display: none; }
@media (max-width: 760px) {
  .bb { display: grid; grid-template-columns: repeat(5, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 180; background: #FFFFFF;
    border-top: 1px solid #F0E6DA; padding: 6px 4px calc(8px + env(safe-area-inset-bottom)); box-shadow: 0 -4px 16px rgba(31,37,68,.06); }
  .bb-i { display: flex; flex-direction: column; align-items: center; gap: 2px; font: 700 11px/1.2 Inter, system-ui, sans-serif; color: #475569; text-decoration: none;
    background: none; border: 0; padding: 4px 0; cursor: pointer; }
  .bb-i svg { width: 22px; height: 22px; }
  .bb-i.is-on { color: #91063F; }
  .bb-ask i { width: 52px; height: 52px; margin-top: -24px; border-radius: 50%; display: grid; place-items: center; color: #FFE7A8;
    background: linear-gradient(135deg, #7A0535, #A8324F); box-shadow: 0 6px 16px rgba(122,5,53,.35); }
  .bb-ask i svg { width: 24px; height: 24px; }
  body { padding-bottom: 72px; }
  .hp-wrap { bottom: 84px !important; }
  .hp-wrap .hp-btn { display: none !important; }
  .side-nav .sn-help { display: flex !important; }
  .hm-ask .ask-wrap.ask-home .trac-chatbox { min-height: 120px !important; }
  .cookie-note { bottom: calc(78px + env(safe-area-inset-bottom)) !important; }
  body.sn-open::after { left: 270px !important; }
  body.sn-open .side-nav { box-shadow: 6px 0 24px rgba(31,37,68,.18) !important; }
}

/* ==========================================================================
   Easy for everyone (owner, 26 Oct 2026)
   ========================================================================== */
/* Simple / Astrologer view switch in the top strip */
.th-view { display: inline-flex; background: #FFFFFF; border: 1px solid #EADCC9; border-radius: 999px; padding: 2px; gap: 2px; }
.th-view button { border: 0; background: transparent; color: #475569; font: 700 13px/1 Inter, system-ui, sans-serif; padding: 6px 12px; border-radius: 999px; cursor: pointer; }
.th-view button.is-on { background: #91063F; color: #FFFFFF; }
@media (max-width: 760px) { .th-strip .th-size, .th-strip .th-strip-left { display: none !important; } .th-view button { padding: 6px 10px; } }
/* Simple view: one plain answer — the system tabs and the AI picker stay for the Astrologer view */
html.view-simple .sec-tabs[data-sec-tabs="kundli"] .sec-tab:not([data-sec-key="parashari"]) { display: none !important; }
html.view-simple .ask-model { display: none !important; }
html.view-simple .ws-sd { display: none !important; }

/* Answer first, then "Why?" */
.ai-reply .ai-first { font-size: 1.08rem; font-weight: 700; color: #111827; background: #FFF6DB; border-left: 4px solid #C98A1B; border-radius: 10px; padding: 10px 14px; margin: 8px 0 10px; }
.ai-reply details.ai-why > summary { cursor: pointer; font-weight: 700; color: #91063F; padding: 6px 0; list-style: none; }
.ai-reply details.ai-why > summary::-webkit-details-marker { display: none; }
.ai-reply details.ai-why > summary::before { content: "▸ "; } .ai-reply details.ai-why[open] > summary::before { content: "▾ "; }
/* Tools under an answer */
.ai-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 14px; padding-top: 10px; border-top: 1px dashed #EADCC9; }
.ai-t { display: inline-flex; align-items: center; gap: 6px; border: 1px solid #EADCC9; background: #FFFFFF; color: #111827; border-radius: 999px; padding: 6px 12px;
  font: 600 13px/1.2 Inter, system-ui, sans-serif; cursor: pointer; text-decoration: none; }
.ai-t svg { width: 17px; height: 17px; color: #91063F; }
.ai-t:hover { border-color: #C98A1B; } .ai-t.is-on { background: #91063F; color: #FFFFFF; } .ai-t.is-on svg { color: #FFFFFF; }
.ai-t.is-icon { padding: 6px 8px; }
.ai-t.is-talk { margin-left: auto; background: #FFF1E6; border-color: #F5C9A3; } .ai-t.is-talk svg { color: #E8650F; }
.ai-help { display: inline-flex; align-items: center; gap: 6px; color: #475569; font-size: 13px; }
.ai-thanks { color: #1E9A5A; font-weight: 600; }
@media (max-width: 600px) { .ai-t.is-talk { margin-left: 0; } }
/* Plain meanings */
button.gl { all: unset; cursor: help; border-bottom: 1.5px dotted #C98A1B; color: inherit; }
button.gl:focus-visible { outline: 2px solid #C98A1B; outline-offset: 2px; }
.gl-pop { position: absolute; z-index: 2500; background: #1F2544; color: #FFFFFF; border-radius: 12px; padding: 10px 12px; font: 400 14px/1.45 Inter, system-ui, sans-serif;
  box-shadow: 0 10px 30px rgba(31,37,68,.3); }
.gl-pop b { display: block; color: #FFD98A; margin-bottom: 2px; }
/* Paid labels */
.side-nav .sn-paid { margin-left: auto; font-size: 10px; font-weight: 700; color: #7A6A57; border: 1px solid #DCCAB3; border-radius: 6px; padding: 1px 6px; }
.hm-tag { font-style: normal; font-size: 11px; font-weight: 700; color: #7A6A57; background: rgba(255,255,255,.8); border: 1px solid #DCCAB3; border-radius: 6px; padding: 1px 6px; margin-left: 6px; vertical-align: 2px; }

/* Page banners (Panchang and the like) and the main header button in the ask panel's maroon and gold (owner, 27 Oct 2026). */
:root { --k-banner: linear-gradient(135deg, #7A0535 0%, #91063F 55%, #A8324F 100%); }
.tp-hero { box-shadow: 0 10px 26px rgba(122,5,53,.22) !important; }
.tp-hero h1 { color: #FFE7A8 !important; }
.tp-hero .tp-hero-lead { color: #F7DCE4 !important; }
.tp-hero .tp-crumb, .tp-hero .tp-crumb span { color: #F2C9D6 !important; }
.tp-hero .tp-crumb a { color: #FFE7A8 !important; }
.th-actions .th-btn.is-main { background: linear-gradient(135deg, #7A0535 0%, #91063F 55%, #A8324F 100%) !important; color: #FFFFFF !important;
    border: 1px solid #C98A1B !important; box-shadow: 0 6px 16px rgba(122,5,53,.28) !important; }
.th-actions .th-btn.is-main svg { color: #FFD43B !important; }
.th-actions .th-btn.is-main:hover { background: linear-gradient(135deg, #6A042E 0%, #7F0537 55%, #962B46 100%) !important; }

/* ===== Magenta buttons (owner, 27 Oct 2026): every filled orange button becomes magenta. Ghost and white buttons,
   progress bars and small orange accents stay as they were. ===== */
:root { --tr-mag: #B0186A; --tr-mag-2: #C9257E; --tr-mag-d: #8C1155; --tr-mag-glow: rgba(176,24,106,.30); }
.chat-send, .ask-wrap.ask-home .chat-send,
[data-cookie-ok], .hp-btn,
.trac-btn.bf-submit, .trac-drawer .trac-form .trac-btn.bf-submit,
.tp-go, .tn-btn, .mu-btn:not(.ghost), .mu-go, .mk-btn, .mk-go,
.sp-btn:not(.is-ghost):not(.is-light),
.plan-btn, .plan-cut-btn, .ai-limit-btn.is-main, .lb-btn.is-buy,
.plans-period input:checked + span {
    background: linear-gradient(135deg, var(--tr-mag-2), var(--tr-mag)) !important;
    border-color: var(--tr-mag) !important;
    color: #fff !important;
}
.ask-wrap.ask-home .chat-send { box-shadow: 0 6px 16px var(--tr-mag-glow) !important; }
.chat-send:hover, [data-cookie-ok]:hover, .hp-btn:hover,
.trac-btn.bf-submit:hover, .trac-drawer .trac-form .trac-btn.bf-submit:hover,
.tp-go:hover, .tn-btn:hover, .mu-btn:not(.ghost):hover, .mu-go:hover, .mk-btn:hover, .mk-go:hover,
.sp-btn:not(.is-ghost):not(.is-light):hover,
.plan-btn:hover, .plan-cut-btn:hover, .ai-limit-btn.is-main:hover, .lb-btn.is-buy:hover {
    background: var(--tr-mag-d) !important;
}
/* The system buttons over a chart (Kundli, KP, Lal Kitab …) and the chosen system tab. */
.th .trac-header-systems .trac-system, .th .trac-header-systems .tm-drop-btn,
.th .trac-header-systems .trac-system:hover, .th .trac-header-systems .tm-drop-btn:hover,
.th .trac-header-systems .trac-system.is-current, .th .tp-menu.is-open .tp-menu-btn, .th .tm-drop.is-open .tm-drop-btn,
.trac-header .trac-system, .ws-systabs .sec-tab.is-on {
    background: linear-gradient(180deg, var(--tr-mag-2), var(--tr-mag)) !important;
    border-color: var(--tr-mag) !important;
    color: #fff !important;
}

/* ===== Magenta accents (owner, 27 Oct 2026, "ok do"): the shared orange accent colours (ticks, active tab and menu edges,
   progress bars, small icons, links) follow the buttons. Set on every element so local copies of the colours change too.
   The logo and the footer keep their own colours. ===== */
* {
    --sh-org: #B0186A !important; --sh-org-2: #C9257E !important;
    --lk-org: #B0186A !important; --lk-org-2: #C9257E !important;
    --sp-org: #B0186A !important; --sp-org-d: #8C1155 !important;
    --org: #B0186A !important; --tv-acc: #B0186A !important;
}
.side-nav .sn-new { background: #B0186A !important; color: #fff !important; }
.hm-mc i, .hm-mc.is-1 i { color: #B0186A !important; }
.cookie-note { border-left-color: #B0186A !important; }
.tn-svc-tab.is-on { border-color: #B0186A !important; }
.plan-card.is-highlight { border-color: #B0186A !important; }
.plan-card li::before, .plan-card .plan-list li svg { color: #B0186A !important; }
.hp-btn span { color: #B0186A !important; }
/* The logo keeps its own orange (owner's rule: the logo does not change). */
.th-title i { color: #F2600C !important; }
.th-tag b { color: #F2600C !important; }

/* Home (owner, 27 Oct 2026): the Today card is removed; the ask panel takes the full width. Today's details stay one tap
   away (Your Day Today in the menu, Today in the phone's bottom bar). */
.hm-hero { grid-template-columns: 1fr !important; }
.hm-ask .ask-wrap, .hm-ask form, .hm-ask .chat-box { max-width: none !important; }

/* No birth details: read from the moment of asking (owner, 27 Oct 2026). */
.nc-offer { display: flex; flex-wrap: wrap; gap: 8px 12px; align-items: center; justify-content: space-between; margin: 0 0 14px; padding: 12px 14px;
            border: 1px solid #F1D9E6; background: #FFF5FA; border-radius: 12px; font-size: 14px; color: #4B2236; }
.nc-offer button { border: 0; border-radius: 999px; padding: 8px 14px; font-weight: 700; font-size: 13px; color: #fff; cursor: pointer;
                   background: linear-gradient(135deg, #C9257E, #B0186A); }
.nc-answers { margin-top: 18px; text-align: left; }
.hm-ask .nc-answers .ai-reply, .hm-ask .nc-answers .ai-bubble { color: #1F2937; }
.nc-answers { background: #fff; border-radius: 16px; padding: 16px 18px; box-shadow: 0 6px 18px rgba(0,0,0,.12); }

/* "Did you mean…?" choices under an answer (owner, 27 Oct 2026) */
.ai-suggest { margin: 12px 0 4px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.ai-suggest-title { width: 100%; margin: 0 0 2px; font-size: .92em; color: #555; }
.ai-suggest button { border: 1px solid var(--tr-mag, #B0186A); background: #fff; color: var(--tr-mag, #B0186A); border-radius: 18px;
  padding: 6px 12px; font: inherit; font-size: .92em; cursor: pointer; text-align: left; max-width: 100%; }
.ai-suggest button:hover { background: var(--tr-mag, #B0186A); color: #fff; }
.ai-suggest button.ai-subject { font-weight: 600; }

/* Understanding (owner, 27 Oct 2026) */
.ai-thread p.ai-warm, p.ai-warm { margin: 6px 0 8px; color: #6b2a4c !important; font-style: italic; }
.ai-thread p.ai-understood, p.ai-understood { margin: 2px 0 6px; font-size: .85em !important; color: #333 !important; font-style: italic; }
.ai-thread p.ai-note, p.ai-note { margin: 6px 0; font-size: .9em !important; color: #8a5a00 !important; }

/* ===== Timing card and answer sections (owner, 28 Oct 2026: the marriage-timing design, for every answer) ===== */
.ai-reply .tc-card { background: #fff; border: 1px solid #E6DCEB; border-radius: 14px; padding: 16px 18px; margin: 10px 0 14px; box-shadow: 0 2px 8px rgba(60,20,70,.06); color: #222; }
.ai-reply .tc-title { margin: 0 0 6px; font-size: 1.15rem; font-weight: 700; color: #111827; }
.ai-reply .tc-lead { margin: 0 0 12px; color: #333; }
.ai-reply .tc-bar { margin: 6px 0 14px; }
.ai-reply .tc-track { position: relative; height: 16px; border-radius: 8px; background: #EFEAF2; overflow: visible; }
.ai-reply .tc-possible { position: absolute; top: 0; bottom: 0; background: #F3C9DF; border-radius: 8px; }
.ai-reply .tc-likely { position: absolute; top: 0; bottom: 0; background: #B0186A; border-radius: 8px; }
.ai-reply .tc-mark { position: absolute; top: -4px; width: 4px; height: 24px; margin-left: -2px; background: #C98A1B; border-radius: 2px; }
.ai-reply .tc-ticks { position: relative; height: 18px; margin-top: 4px; font-size: .78rem; color: #333; }
.ai-reply .tc-ticks span { position: absolute; transform: translateX(-50%); white-space: nowrap; }
.ai-reply .tc-key { margin: 8px 0 0; font-size: .8rem; color: #333; }
.ai-reply .tc-k { display: inline-block; width: 12px; height: 12px; border-radius: 3px; vertical-align: -1px; margin: 0 4px 0 8px; }
.ai-reply .tc-k-likely { background: #B0186A; } .ai-reply .tc-k-possible { background: #F3C9DF; } .ai-reply .tc-k-mark { background: #C98A1B; width: 4px; }
.ai-reply .tc-table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 4px 0 12px; }
.ai-reply .tc-table th { text-align: left; background: #F7F1F9; color: #111827; font-weight: 700; padding: 7px 8px; border-bottom: 1px solid #E6DCEB; }
.ai-reply .tc-table td { padding: 8px; border-bottom: 1px solid #F0EAF3; vertical-align: top; color: #222; }
.ai-reply .tc-table tr.tc-best td { background: #FFF8EC; }
.ai-reply .tc-sup { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: .78rem; font-weight: 700; }
.ai-reply .tc-sup-stronger { background: #B0186A; color: #fff; } .ai-reply .tc-sup-moderate { background: #F3C9DF; color: #5A0C36; } .ai-reply .tc-sup-possible { background: #EFEAF2; color: #333; }
.ai-reply .tc-tag { display: inline-block; margin-left: 6px; padding: 2px 7px; border-radius: 10px; font-size: .74rem; background: #FFF1D0; color: #6B4A00; }
.ai-reply .tc-sure, .ai-reply .tc-outcome { border-radius: 10px; padding: 10px 14px; margin: 8px 0; }
.ai-reply .tc-sure { background: #F5F7FB; border-left: 4px solid #1F2544; }
.ai-reply .tc-outcome { background: #FBF3F8; border-left: 4px solid #B0186A; }
.ai-reply .tc-sure-h, .ai-reply .tc-outcome-h { margin: 0 0 4px; font-weight: 700; color: #111827; }
.ai-reply .tc-sure p, .ai-reply .tc-outcome p { margin: 0 0 6px; color: #333; }
.ai-reply .tc-outcome-row, .ai-reply .tc-outcome-date { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-top: 6px; }
.ai-reply .tc-btn { border: 1px solid #B0186A; background: #fff; color: #B0186A; border-radius: 8px; padding: 6px 14px; font-weight: 700; cursor: pointer; }
.ai-reply .tc-btn.is-main { background: #B0186A; color: #fff; }
.ai-reply .tc-outcome-date input { padding: 5px 8px; border: 1px solid #ccc; border-radius: 6px; color: #222; }
.ai-reply .tc-outcome-msg { font-weight: 600; color: #111827 !important; }
.ai-reply section.ai-sec { background: #FCFAFD; border: 1px solid #EEE6F1; border-radius: 12px; padding: 10px 14px; margin: 10px 0; }
.ai-reply section.ai-sec > .ai-md-head:first-child { margin-top: 0; color: #111827; }
@media (max-width: 600px) {
  .ai-reply .tc-card { padding: 12px; }
  .ai-reply .tc-table th:nth-child(3), .ai-reply .tc-table td:nth-child(3) { min-width: 140px; }
  .ai-reply .tc-table { display: block; overflow-x: auto; }
}
.ai-reply .tc-card [hidden] { display: none !important; }
.ai-reply .tc-ticks span:first-child { transform: none; }
.ai-reply .tc-ticks span:last-child { transform: translateX(-100%); }
.ai-reply .tc-table td:first-child { min-width: 104px; }

/* ===== Guides (owner, 28 Oct 2026: AdSense — original articles) ===== */
.guide-intro { font-size: 1.05rem; color: #222; }
.guide-cat { margin: 1.4rem 0 .5rem; color: #111827; font-size: 1.2rem; }
.guide-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.guide-list li { background: #fff; border: 1px solid #EEE6F1; border-radius: 10px; padding: 10px 14px; }
.guide-list li a { color: #B0186A; text-decoration: none; }
.guide-list li span { display: block; color: #333; font-size: .92rem; margin-top: 2px; }
.guide-crumbs { font-size: .88rem; color: #333; } .guide-crumbs a { color: #B0186A; }
.guide-body { color: #222; line-height: 1.65; font-size: 1.02rem; max-width: 760px; }
.guide-body h2 { color: #111827; font-size: 1.2rem; margin: 1.4rem 0 .4rem; }
.guide-body a { color: #B0186A; }
.guide-tablewrap { overflow-x: auto; margin: .6rem 0 1rem; }
.guide-table { border-collapse: collapse; min-width: 320px; }
.guide-table th, .guide-table td { border: 1px solid #E6DCEB; padding: 6px 10px; text-align: left; color: #222; }
.guide-table th { background: #F7F1F9; color: #111827; }
.guide-try { background: #FBF3F8; border-left: 4px solid #B0186A; border-radius: 10px; padding: 12px 16px; margin: 1.4rem 0; max-width: 760px; }
.guide-try p { margin: 4px 0 8px; color: #333; }
.guide-btn { display: inline-block; background: #B0186A; color: #fff !important; border-radius: 8px; padding: 7px 16px; font-weight: 700; text-decoration: none; }
.guide-pager { display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-top: 1.2rem; }
.guide-pager a { color: #B0186A; } .guide-pager a.next { margin-left: auto; }
.guide-note { font-size: .88rem; color: #333; margin-top: 1rem; }

/* ===== About this tool (AdSense fixes) ===== */
.about-tool { max-width: 860px; margin: 28px auto 12px; padding: 16px 20px; background: #fff; border: 1px solid #EEE6F1; border-radius: 12px; color: #222; line-height: 1.6; }
.about-tool h2 { margin: 0 0 8px; font-size: 1.15rem; color: #111827; }
.about-tool p { margin: 0 0 8px; color: #333; }
.about-tool-links a { color: #B0186A; }
.ai-reply .tc-sup { white-space: nowrap; }
.guide-byline { font-size: .92rem; color: #333; margin: 2px 0 14px; } .guide-byline a { color: #111827; text-decoration: none; }
.guide-author { background: #F5F7FB; border-left: 4px solid #1F2544; border-radius: 10px; padding: 12px 16px; margin: 1.4rem 0 0; max-width: 760px; color: #222; }
.guide-author p { margin: 4px 0 0; color: #333; } .guide-author a { color: #B0186A; }

/* The left menu scrolls when it is taller than the screen (owner, 31 Oct 2026: "there is no scroll in left bar"). */
.trac-nav, .trac-home-mode .trac-nav { overflow-y: auto !important; overflow-x: hidden !important; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #D5DDEA transparent; }
.trac-nav::-webkit-scrollbar { width: 8px; }
.trac-nav::-webkit-scrollbar-thumb { background: #D5DDEA; border-radius: 4px; }

/* The AI model menu scrolls smoothly in its own box (owner, 31 Oct 2026: "model scrolling is not smooth"). */
.ask-model-menu { max-height: none; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; scroll-behavior: smooth; will-change: scroll-position; contain: content; }

/* The model menu, simple (owner, 31 Oct 2026: "user will get confused, so many things — simply place options"):
   TRAC AI on top, the other methods as a grid of short names, and two small rows for the words and the chart style. */
.ask-model-menu { width: 21rem !important; padding: 0.5rem !important; }
.ask-model-menu .ask-model-sep { margin: 0.55rem 0.35rem 0.3rem !important; padding-top: 0.45rem; font-size: 0.72rem; letter-spacing: 0.04em; text-transform: uppercase; color: #8A97AC; }
.ask-model-menu .m-grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 6px; }
.ask-model-menu .m-grid button, .ask-model-menu .m-row button {
  display: flex !important; justify-content: center; align-items: center; width: auto !important; min-height: 38px; padding: 0.4rem 0.35rem !important;
  border: 1px solid #E2E8F1 !important; border-radius: 10px !important; background: #FFFFFF; text-align: center; font-size: 0.85rem !important; line-height: 1.15;
}
.ask-model-menu .m-grid .m-name, .ask-model-menu .m-grid .m-note, .ask-model-menu .m-grid .m-tick, .ask-model-menu .m-row .m-tick { display: none !important; }
.ask-model-menu .m-grid .m-short { font-weight: 600; }
.ask-model-menu .m-row { display: flex; gap: 6px; }
.ask-model-menu .m-row button { flex: 1 1 0; border-radius: 999px !important; min-height: 34px; }
.ask-model-menu .m-row .m-name { font-weight: 600; }
.ask-model-menu .m-grid button:hover, .ask-model-menu .m-row button:hover { border-color: #C9A0B5 !important; background: #FBF4F7; }
.ask-model-menu .m-grid button[aria-checked="true"], .ask-model-menu .m-row button[aria-checked="true"] { background: #8B0D45 !important; border-color: #8B0D45 !important; color: #FFFFFF !important; }
@media (max-width: 480px) { .ask-model-menu .m-grid { grid-template-columns: 1fr 1fr; } }

/* "What is your question about?" — a plain card with big buttons (owner, 31 Oct 2026). */
.ai-clarify { background: #FFFFFF; border: 1px solid #F0E3E9; border-radius: 16px; padding: 16px 16px 14px; }
.ai-clarify-q { margin: 0 0 4px; font-size: 1.15rem; font-weight: 700; color: #3A1028; text-transform: none; letter-spacing: 0; }
.ai-clarify-sub { margin: 0 0 12px; color: #6B7890; font-size: 0.92rem; }
.ai-clarify-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 8px; }
.ai-clarify-btn { display: flex; align-items: center; gap: 8px; min-height: 48px; padding: 8px 12px; border: 1px solid #E6D3DC; border-radius: 12px;
  background: #FFF8FB; color: #2A1630; font: inherit; font-size: 0.98rem; font-weight: 600; text-align: left; cursor: pointer; }
.ai-clarify-btn:hover { background: #8B0D45; border-color: #8B0D45; color: #FFFFFF; }
.ai-clarify-ic { font-size: 1.35rem; line-height: 1; }
.ai-clarify-or { margin: 14px 0 6px; color: #6B7890; font-size: 0.9rem; }
.ai-clarify .ai-suggest-q { display: block; width: 100%; margin: 0 0 6px; padding: 8px 12px; text-align: left; border: 1px solid #E2E8F1; border-radius: 10px; background: #FFFFFF; font: inherit; cursor: pointer; }
.ai-clarify .ai-suggest-q:hover { border-color: #8B0D45; color: #8B0D45; }

/* The Help button sits above the question box, so it never covers the send arrow (owner, 31 Oct 2026: "ask button hide behind help"). */
body:has(.ask-wrap.ask-panel) .hp-wrap { bottom: 104px !important; }

/* Admin: one question, every plan's reply side by side (owner, 31 Oct 2026). */
.ai-msg.is-compare { max-width: none !important; width: 100% !important; }
.ai-msg.is-compare > .ai-reply { max-width: none !important; background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
.cmp-grid { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(280px, 1fr); gap: 12px; overflow-x: auto; padding-bottom: 6px; align-items: start; }
.cmp-col { min-width: 0; border: 1px solid #E8D5DE; border-radius: 14px; background: #FFFFFF; overflow: hidden; }
.cmp-head { position: sticky; top: 0; z-index: 1; padding: 8px 12px; font-weight: 700; font-size: 0.95rem; color: #FFFFFF; background: #6B7890; }
.cmp-head.cmp-free { background: #6B7890; }
.cmp-head.cmp-plus { background: #1F6FB2; }
.cmp-head.cmp-astrologer { background: #8B0D45; }
.cmp-head.cmp-admin { background: #2A1630; }
.cmp-row { margin: 0 !important; max-width: none !important; }
.cmp-row > .ai-reply { border: 0 !important; border-radius: 0 !important; box-shadow: none !important; font-size: 0.92rem; }

/* "Reading your saved chart…" under the question box on the red home card: light, readable text (owner, 31 Oct 2026). */
.hm-ask .ask-hint { color: #FFE7A8 !important; font-size: 0.9rem; font-weight: 600; text-align: center; margin-top: 8px; }

/* Pictures in every reading (owner, 31 Oct 2026): timeline of the periods, systems that agree, each system's verdict. */
.tv-wrap { display: grid; gap: 10px; margin: 10px 0 12px; }
.tv-fig { margin: 0; padding: 10px 12px; background: #FFFFFF; border: 1px solid #EEE3E8; border-radius: 12px; }
.tv-fig figcaption { font-size: 0.8rem; font-weight: 700; color: #7A0B3C; letter-spacing: .02em; margin-bottom: 6px; }
.tv-svg { width: 100%; height: auto; display: block; }
.tv-grid { stroke: #EEE6EA; stroke-width: 1; }
.tv-tick { font-size: 11px; fill: #8A97AC; text-anchor: middle; }
.tv-bar { fill: #E8A0BC; }
.tv-lab { font-size: 12px; fill: #3A1028; text-anchor: end; }
.tv-now { stroke: #D39A2A; stroke-width: 2; stroke-dasharray: 4 3; }
.tv-nowt { font-size: 11px; fill: #B07A12; font-weight: 700; }
.tv-agree { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tv-dots { display: flex; gap: 4px; }
.tv-dot { width: 16px; height: 16px; border-radius: 50%; background: #EEE6EA; }
.tv-dot.on { background: #2E8B57; }
.tv-muted { color: #8A97AC; }
.tv-sys { display: grid; grid-template-columns: 9rem 1fr minmax(5rem, 11rem); gap: 8px; align-items: center; font-size: 0.85rem; margin: 3px 0; }
.tv-sysn { font-weight: 600; color: #2A1630; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tv-track { height: 10px; background: #F1ECEF; border-radius: 6px; overflow: hidden; }
.tv-fill { display: block; height: 100%; border-radius: 6px; }
.tv-fill.yes { background: #2E8B57; } .tv-fill.mid { background: #D39A2A; } .tv-fill.no { background: #C0392B; } .tv-fill.na { background: transparent; }
.tv-sysv { color: #5B6478; font-size: 0.8rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 560px) { .tv-sys { grid-template-columns: 6.5rem 1fr; } .tv-sysv { display: none; } }

/* timeline readability (31 Oct 2026) */
.tv-bar.main { fill: #C2185B; }
.tv-lab.main { font-weight: 700; fill: #7A0B3C; }
.tv-zebra { fill: #FBF7F9; }
.tv-key { margin: 4px 0 0; font-size: 12px; color: #6B5A63; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.tv-sw { display: inline-block; width: 18px; height: 10px; border-radius: 4px; background: #E8A0BC; }
.tv-sw.main { background: #C2185B; }
/* waiting line with a clock and seconds */
.ai-wait { display: inline-flex; align-items: center; gap: 6px; flex-wrap: wrap; font-weight: 600; }
.ai-clock { display: inline-block; animation: aiTurn 2s ease-in-out infinite; }
.ai-secs { font-variant-numeric: tabular-nums; background: rgba(194,24,91,.10); color: #A0124B; border-radius: 10px; padding: 1px 8px; font-size: .9em; }
.hm-ask .ai-secs { background: rgba(255,231,168,.22); color: #FFE7A8; }
.ai-note { font-weight: 400; opacity: .8; font-size: .92em; }
@keyframes aiTurn { 0%,40% { transform: rotate(0deg); } 50%,90% { transform: rotate(180deg); } 100% { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .ai-clock { animation: none; } }

/* the waiting line on the dark red home card must be readable (owner, 31 Oct 2026) */
.hm-ask .ai-thinking, .hm-ask .ai-wait, .hm-ask .ask-hint .ai-wait { color: #FFE7A8 !important; font-style: normal; }
.hm-ask .ai-note { color: #FFFFFF; opacity: .9; }

/* the Period | Age | Why | Support table outside the chat too (admin Ask & compare) */
.tv-fig .tc-table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 4px 0 4px; }
.tv-fig .tc-table th { text-align: left; background: #F7F1F9; color: #111827; font-weight: 700; padding: 7px 8px; border-bottom: 1px solid #E6DCEB; }
.tv-fig .tc-table td { padding: 8px; border-bottom: 1px solid #F0EAF3; vertical-align: top; color: #222; }
.tv-fig .tc-table td:first-child { min-width: 104px; font-weight: 600; }
.tv-fig .tc-table td:nth-child(2) { white-space: nowrap; }
.tv-fig .tc-table tr.tc-best td { background: #FFF8EC; }
.tv-fig .tc-sup { display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: .78rem; font-weight: 700; white-space: nowrap; }
.tv-fig .tc-sup-stronger { background: #B0186A; color: #fff; } .tv-fig .tc-sup-moderate { background: #F3C9DF; color: #5A0C36; } .tv-fig .tc-sup-possible { background: #EFEAF2; color: #333; }
.tv-fig .tc-tag { display: inline-block; margin: 4px 0 0 0; padding: 2px 7px; border-radius: 10px; font-size: .74rem; background: #FFF1D0; color: #6B4A00; }
@media (max-width: 600px) { .tv-fig .tc-table { display: block; overflow-x: auto; } }

/* In a narrow place (the admin compare columns, a phone) each period becomes a small card instead of a squeezed table row. */
.tv-wrap { container-type: inline-size; }
@container (max-width: 520px) {
  .tv-wrap .tv-tl { display: none; }   /* too small to read here; the cards below carry the same dates */
  .tv-fig .tc-table, .tv-fig .tc-table tbody { display: block; width: 100%; }
  .tv-fig .tc-table thead { display: none; }
  .tv-fig .tc-table tr { display: grid; grid-template-columns: 1fr auto; gap: 2px 10px; padding: 8px 4px; border-bottom: 1px solid #F0EAF3; }
  .tv-fig .tc-table td { display: block; padding: 0; border: 0; min-width: 0 !important; background: transparent !important; }
  .tv-fig .tc-table tr.tc-best { background: #FFF8EC; border-radius: 8px; }
  .tv-fig .tc-table td:nth-child(1) { grid-column: 1; }
  .tv-fig .tc-table td:nth-child(2) { grid-column: 1; grid-row: 2; color: #6B5A63; font-size: .85rem; }
  .tv-fig .tc-table td:nth-child(2)::before { content: "Age "; }
  .tv-fig .tc-table td:nth-child(3) { grid-column: 1 / -1; grid-row: 3; }
  .tv-fig .tc-table td:nth-child(4) { grid-column: 2; grid-row: 1 / span 2; text-align: right; }
}

/* ===== Header redesign (owner, 31 Oct 2026: "TRAC Astrology", a more beautiful header that is still simple, and "Login") =====
   A clean white band with a soft saffron glow behind the logo and a fine gold-to-maroon line at the bottom; the name in a
   classic serif (TRAC in maroon, Astrology in deep navy), the tagline in small spaced capitals; on the right, the main action
   and a clear "Login". */
.th .th-band { position: relative; background: radial-gradient(120% 160% at 0% 50%, #FFF4E6 0%, rgba(255,244,230,0) 42%), #FFFFFF !important;
  box-shadow: none !important; border-bottom: 0 !important; }
.th .th-band::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px;
  background: linear-gradient(90deg, #F5A524 0%, #E8650A 35%, #91063F 70%, #4A0322 100%); opacity: .9; }
.th .th-brand { gap: 14px !important; }
.th .th-logo { flex: 0 0 auto; display: grid; place-items: center; }
.th .th-logo img { width: 60px !important; height: auto; }
.th .th-title { font-family: "IBM Plex Serif", Georgia, "Times New Roman", serif !important; font-weight: 700 !important; font-size: 30px !important;
  letter-spacing: .01em; line-height: 1.05 !important; color: #14286B !important; }
.th .th-title .th-w1 { color: #91063F; letter-spacing: .06em; }
.th .th-title .th-w2 { color: #14286B; font-weight: 600; }
.th .th-tag { margin-top: 6px !important; font-family: "IBM Plex Sans", "Inter", sans-serif; font-size: 11.5px !important; letter-spacing: .14em;
  text-transform: uppercase; color: #6B5A63 !important; font-weight: 500; }
.th .th-tag b { color: #E8650A !important; font-weight: 800; }
.trac:not(.trac-home-mode) .th .th-logo img { width: 48px !important; }
.trac:not(.trac-home-mode) .th .th-title { font-size: 24px !important; }

/* right side: main action, then Login / my account at the far end */
.th .th-actions { gap: 10px !important; }
.th .th-actions .th-btn { border-radius: 999px !important; height: 42px; padding: 0 18px !important; }
.th .th-login { order: 9; display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 20px; border-radius: 999px;
  border: 1.5px solid #91063F; color: #91063F; background: #FFFFFF; font-weight: 700; font-size: 15px; text-decoration: none;
  transition: background .15s, color .15s, box-shadow .15s; }
.th .th-login:hover { background: #91063F; color: #FFFFFF; box-shadow: 0 6px 14px rgba(145,6,63,.25); }
.th .th-login:focus-visible, .th .th-me:focus-visible { outline: 3px solid #F5A524; outline-offset: 2px; }
.th .th-mycharts { order: 8; }
.th .th-me { order: 9; position: relative; display: inline-grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; text-decoration: none;
  background: linear-gradient(135deg, #7A0535, #A8324F); box-shadow: 0 0 0 2px #FFFFFF, 0 0 0 3.5px #F2B25C; }
.th .th-me-av { color: #FFFFFF; font-weight: 800; font-size: 17px; }
.th .th-me-plan { position: absolute; bottom: -8px; left: 50%; transform: translateX(-50%); background: #FCE4EF; color: #6A0A38;
  font-size: 10px; font-weight: 800; border-radius: 8px; padding: 1px 6px; white-space: nowrap; }

/* the thin strip above: systems on the left in muted maroon, the controls on the right */
.th .th-strip { background: linear-gradient(90deg, #4A0322, #7A0535 55%, #91063F) !important; border-bottom: 0 !important; }
.th .th-strip-left, .th .th-strip-left .th-systems { color: #FBE3C8 !important; font-size: 13px !important; font-weight: 600 !important; letter-spacing: .04em; }
.th .th-strip .th-star { color: #FCE4EF; }
.th .th-strip .th-sep { background: rgba(255,255,255,.25) !important; }
.th .th-strip .th-view button, .th .th-strip .th-size button { color: #FBE3C8 !important; background: transparent !important; border-color: rgba(255,255,255,.25) !important; }
.th .th-strip .th-view button.is-on, .th .th-strip .th-view button[aria-pressed="true"], .th .th-strip .th-size button.is-on { background: #FCE4EF !important; color: #6A0A38 !important; }
.th .th-strip .trac-lang, .th .th-strip .trac-lang *, .th .th-strip .trac-lang-code { color: #FBE3C8 !important; }
.th .th-strip-in { height: 36px !important; }

/* phones: logo, name and Login stay; the tagline goes small; the long button labels shorten */
@media (max-width: 760px) {
  .th .th-logo img, .trac:not(.trac-home-mode) .th .th-logo img { width: 38px !important; }
  .th .th-title, .trac:not(.trac-home-mode) .th .th-title { font-size: 19px !important; }
  .th .th-tag { font-size: 9px !important; letter-spacing: .08em; }
  .th .th-login { height: 36px; padding: 0 12px; font-size: 14px; }
  .th .th-actions .th-btn { height: 36px; padding: 0 12px !important; }
  .th .th-mycharts span { display: none; }
  .th .th-me { width: 36px; height: 36px; }
}
.th .th-strip .th-view { background: rgba(255,255,255,.10) !important; border-color: rgba(255,255,255,.28) !important; }
.th .th-strip .trac-lang option { color: #111827 !important; background: #FFFFFF !important; }

/* Saved charts: Open and Delete side by side (owner, 31 Oct 2026) */
.bf-sl-btns { flex: none; display: inline-flex; gap: 6px; margin-left: auto; }
.bf-sl-open { border-color: #E8A0BC !important; color: #A0124B !important; }
.bf-sl-open:hover { background: #FDF0F5 !important; }
.bf-sl-del { display: inline-flex; align-items: center; gap: 4px; border: 1px solid #E5DDE1; background: #fff; color: #6B5A63; font: inherit; font-size: .8rem;
  font-weight: 600; border-radius: 7px; padding: .3rem .55rem; cursor: pointer; }
.bf-sl-del:hover { border-color: #D93025; color: #B3261E; background: #FFF5F4; }
.bf-sl-del.is-sure { background: #B3261E; border-color: #B3261E; color: #fff; }
.bf-sl-del:disabled { opacity: .5; cursor: default; }
@media (max-width: 420px) { .bf-sl-del span { display: none; } .bf-sl-del.is-sure span { display: inline; } }

/* Place search list: big, plain rows (owner, 31 Oct 2026) */
.trac-citylist { max-height: min(22rem, 46vh) !important; border: 1.5px solid #E8A0BC !important; border-radius: 12px !important; padding: 4px 0 !important;
  box-shadow: 0 14px 30px rgba(90,7,48,.18) !important; z-index: 60 !important; overscroll-behavior: contain; }
.trac-citylist li.trac-cityhead { padding: 6px 14px 4px !important; font-size: .78rem !important; font-weight: 700; color: #A0124B; letter-spacing: .02em;
  cursor: default; background: transparent !important; }
.trac-citylist li.trac-cityopt { display: flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 14px !important; border-top: 1px solid #F5EEF1; }
.trac-citylist li.trac-cityopt:hover, .trac-citylist li.trac-cityopt.is-active { background: #FDF0F5 !important; }
.trac-citylist .trac-citypin { flex: none; color: #C2185B; display: grid; place-items: center; }
.trac-citylist .trac-citytxt { display: flex; flex-direction: column; min-width: 0; }
.trac-citylist .trac-citytxt b { font-size: 1rem; font-weight: 700; color: #111827; }
.trac-citylist .trac-citytxt small { font-family: inherit !important; font-size: .82rem !important; color: #6B5A63 !important; }
.trac-citylist li.trac-citynone { padding: 12px 14px !important; }

/* The Help button stays out of the way while the birth form is open (owner, 31 Oct 2026: it covered "Create Chart") */
html.trac-drawer-open .hp-wrap { display: none !important; }

/* Login looks like Free Kundli (owner, 31 Oct 2026) */
.th .th-login { border: 0 !important; color: #FFFFFF !important; background: linear-gradient(135deg, #7A0535 0%, #91063F 55%, #A8324F 100%) !important;
  box-shadow: 0 4px 12px rgba(145,6,63,.28) !important; }
.th .th-login svg { color: #FFD43B; }
.th .th-login:hover { background: linear-gradient(135deg, #6A042E 0%, #7F0537 55%, #962B46 100%) !important; }
/* the tagline is never wider than "TRAC Astrology": the name sets the width, the tagline wraps inside it */
.th .th-brand-text { display: inline-grid !important; grid-template-columns: max-content; }
.th .th-tag { width: 0; min-width: 100%; white-space: normal !important; line-height: 1.4 !important; font-size: 10px !important; letter-spacing: .07em !important; }

/* Tagline: exactly two lines, each as wide as "TRAC Astrology" (the script in _HeaderBrand sets the letter spacing) */
.th .th-brand-text { display: inline-flex !important; flex-direction: column; align-items: flex-start; }
.th .th-tag { width: auto !important; min-width: 0 !important; white-space: nowrap !important; display: flex !important; flex-direction: column;
  font-size: 10px !important; letter-spacing: 0 !important; line-height: 1.45 !important; margin-top: 5px !important; }
.th .th-tag .th-tl { display: block; white-space: nowrap; }
/* the logo stands out: richer colours, a little larger, a soft glow */
.th .th-logo img { width: 66px !important; filter: saturate(1.9) contrast(1.25) drop-shadow(0 2px 5px rgba(160,60,0,.28)); }
.trac:not(.trac-home-mode) .th .th-logo img { width: 56px !important; }
@media (max-width: 760px) { .th .th-logo img, .trac:not(.trac-home-mode) .th .th-logo img { width: 42px !important; } .th .th-tag { font-size: 8.5px !important; } }

/* ===== The logo image in the header (owner, 31 Oct 2026) ===== */
.th .th-band { height: 112px !important; }
.trac:not(.trac-home-mode) .th .th-band { height: 88px !important; }
.th .th-brand { gap: 0 !important; flex: 0 0 auto; }
.th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { display: block; height: 100px !important; width: auto !important; max-width: none !important; filter: none !important; }
.trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 78px !important; }
@media (max-width: 760px) {
  .th .th-band, .trac:not(.trac-home-mode) .th .th-band { height: auto !important; min-height: 66px; }
  .th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 56px !important; }
}
@media (max-width: 380px) { .th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 46px !important; } }

/* Left menu in soft pink to match the header (owner, 1 Nov 2026: peach/orange replaced) */
.side-nav { background: #FDF7F9 !important; border-right: 1px solid #F1DCE5 !important; }
.side-nav .sn-grp { color: #9A7F8A !important; }
.side-nav .sn-item.sn-item svg { background: #FBE7EF !important; color: #91063F !important; }
.side-nav .sn-item:hover { background: #FBEEF3 !important; }
.side-nav .sn-item.is-on { background: #FCE4EF !important; box-shadow: inset 3px 0 0 #C2185B !important; }
.side-nav .sn-item.sn-item.is-on svg { background: #91063F !important; color: #FFFFFF !important; }
.side-nav .sn-new { background: #C2185B !important; }
.side-nav .sn-sep { background: #F1DCE5 !important; }
.side-nav::-webkit-scrollbar-thumb { background: #EBC9D7 !important; }
/* the new emblem beside "TRAC AI" in the Ask box */
.ask-wrap.ask-home .ask-model-btn::before { width: 32px !important; height: 32px !important; }

/* The left menu's scrollbar always shows, so it is clear there is more below (owner, 1 Nov 2026). */
.side-nav { overflow-y: scroll !important; scrollbar-width: auto !important; scrollbar-color: #B9879A #F1E3E8 !important; }
.side-nav::-webkit-scrollbar { width: 10px !important; }
.side-nav::-webkit-scrollbar-track { background: #F1E3E8 !important; border-radius: 6px; }
.side-nav::-webkit-scrollbar-thumb { background: #B9879A !important; border-radius: 6px; border: 2px solid #F1E3E8; }

/* New logo (owner, 2 Nov 2026): wider than the old one, so a little shorter to keep the header the same width */
.th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 88px !important; }
.trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 70px !important; }
@media (max-width: 760px) { .th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 46px !important; } }
@media (max-width: 380px) { .th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 38px !important; } }

/* ===== Admin menu: the same look as the main menu (owner, 2 Nov 2026) ===== */
.adm-head { display: flex; align-items: center; gap: 10px; padding: 4px 12px 10px; margin-bottom: 4px; border-bottom: 1px solid #F1DCE5; }
.adm-head b { font-family: "IBM Plex Serif", Georgia, serif; font-size: 19px; color: #7A0535; font-weight: 600; }
.adm-badge { font-size: 10.5px; font-weight: 800; letter-spacing: .12em; color: #fff; background: linear-gradient(135deg, #7A0535, #91063F); padding: 3px 8px; border-radius: 6px; }
.adm-msg { margin: 0 0 1rem; }

/* ===== Match Making page (owner, 2 Nov 2026) ===== */
.mm-main { display: flex; flex-direction: column; gap: 20px; }
.mm-hero { background: linear-gradient(120deg, #FFF1E7, #FBE3EC); border: 1px solid #F1DCE5; border-radius: 22px; padding: 22px 24px; display: flex; flex-direction: column; gap: 16px; }
.mm-hero h1 { margin: 0; font-family: "IBM Plex Serif", Georgia, serif; font-size: 30px; color: #7A0535; }
.mm-hero p { margin: 6px 0 0; font-size: 16px; color: #111827; }
.mm-form { display: flex; flex-direction: column; gap: 16px; }
.mm-people { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mm-person { margin: 0; background: #fff; border: 1px solid #F1DCE5; border-radius: 20px; padding: 18px 20px; display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.mm-person legend { font-weight: 700; color: #111827; font-size: 17px; padding: 0 6px; }
.mm-person label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: #111827; }
.mm-person input { min-height: 44px; border: 1px solid #E5D3DB; border-radius: 12px; padding: 0 12px; font: inherit; font-size: 15px; font-weight: 400; background: #fff; box-sizing: border-box; width: 100%; }
.mm-two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.mm-person .tp-citybox { position: relative; display: block; }
.mm-go { align-self: center; min-width: 280px; min-height: 50px; border: 0; border-radius: 999px; font: inherit; font-weight: 700; font-size: 17px; color: #fff; cursor: pointer;
  background: linear-gradient(135deg, #7A0535, #91063F 55%, #A8324F); box-shadow: 0 6px 16px rgba(145, 6, 63, .28); }
.mm-err { background: #FDECEC; border: 1px solid #F3C7C2; color: #9B1C1C; border-radius: 14px; padding: 12px 16px; }
.mm-result { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 20px; }
.mm-score, .mm-kootas, .mm-card, .mm-trac, .mm-moons > div, .mm-how > div { background: #fff; border: 1px solid #F1DCE5; border-radius: 20px; }
.mm-score { padding: 22px; display: flex; flex-direction: column; align-items: center; gap: 12px; text-align: center; }
.mm-k { font-size: 13px; font-weight: 700; color: #475569; letter-spacing: .06em; text-transform: uppercase; }
.mm-ring { width: 190px; height: 190px; border-radius: 50%; display: grid; place-items: center; }
.mm-ring > div { width: 150px; height: 150px; border-radius: 50%; background: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.mm-ring b { font-size: 46px; color: #111827; line-height: 1; } .mm-ring span { color: #475569; font-size: 15px; }
.mm-verdict { font-weight: 700; padding: 6px 16px; border-radius: 99px; }
.mm-verdict.is-good { background: #E8F6EE; color: #11663B; } .mm-verdict.is-care { background: #FFF4CC; color: #7A5200; }
.mm-score p { margin: 0; font-size: 14px; color: #475569; line-height: 1.5; }
.mm-kootas { padding: 20px 24px; display: flex; flex-direction: column; gap: 12px; }
.mm-kootas h2, .mm-trac h2 { margin: 0 0 4px; font-size: 19px; color: #111827; }
.mm-krow { display: grid; grid-template-columns: minmax(150px, 230px) 1fr 70px; gap: 14px; align-items: center; font-size: 14px; }
.mm-kname b { display: block; color: #111827; } .mm-kname small { color: #475569; font-size: 12px; }
.mm-kbar { height: 10px; background: #F6E4EB; border-radius: 99px; overflow: hidden; } .mm-kbar i { display: block; height: 100%; border-radius: 99px; }
.mm-kval { text-align: right; color: #111827; } .mm-kval.is-zero { color: #B42318; }
.mm-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.mm-card { padding: 18px; display: flex; flex-direction: column; gap: 8px; }
.mm-card b { color: #111827; } .mm-card small { color: #475569; line-height: 1.5; }
.mm-ok { color: #11663B; font-weight: 600; } .mm-care { color: #B45309; font-weight: 600; }
.mm-card.is-buy { background: linear-gradient(135deg, #7A0535, #91063F); border-color: transparent; color: #fff; }
.mm-card.is-buy b { color: #fff; } .mm-card.is-buy span { opacity: .92; }
.mm-card.is-buy a { align-self: flex-start; background: #FFD43B; color: #5A3B00; font-weight: 700; padding: 9px 16px; border-radius: 99px; text-decoration: none; font-size: 14px; }
.mm-note { margin: -8px 0 0; color: #11663B; font-weight: 600; }
.mm-trac { padding: 20px 24px; display: flex; flex-direction: column; gap: 12px; }
.mm-tblock b { color: #7A0535; } .mm-tblock ul { margin: 6px 0 0; padding-left: 20px; line-height: 1.6; color: #1F2937; }
.mm-moons, .mm-how { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mm-how { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mm-moons > div { padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; } .mm-moons b { color: #111827; } .mm-moons span { color: #111827; }
.mm-how > div { padding: 16px 18px; display: flex; gap: 12px; align-items: center; color: #111827; }
.mm-how b { width: 34px; height: 34px; border-radius: 50%; background: #91063F; color: #fff; display: grid; place-items: center; flex: none; }
@media (max-width: 900px) {
  .mm-people, .mm-result, .mm-cards, .mm-moons, .mm-how { grid-template-columns: minmax(0, 1fr); }
  .mm-krow { grid-template-columns: minmax(0, 1fr) 60px; } .mm-kbar { grid-column: 1 / -1; grid-row: 2; }
  .mm-hero h1 { font-size: 24px; } .mm-go { min-width: 0; width: 100%; }
}

/* ===== Home cards in the website's colours (owner, 2 Nov 2026): one deep-red icon on a soft pink tile, like the left menu ===== */
.hm-tp .hm-ic, .hm-tl .hm-ic { background: #FBE8EF !important; color: #91063F !important; }
.hm-tp .hm-ic svg, .hm-tl .hm-ic svg { color: #91063F !important; stroke: currentColor; }
.hm-tp, .hm-tl { border-color: #F1DCE5 !important; }
.hm-tp b, .hm-tl b { color: #111827; }
.hm-tp:hover, .hm-tl:hover { border-color: #91063F !important; box-shadow: 0 8px 22px rgba(145,6,63,.12) !important; }
.hm-tp:hover .hm-ic, .hm-tp.is-on .hm-ic, .hm-tl:hover .hm-ic { background: #91063F !important; color: #fff !important; }
.hm-tp:hover .hm-ic svg, .hm-tp.is-on .hm-ic svg, .hm-tl:hover .hm-ic svg { color: #fff !important; }
.hm-mc.is-1 { background: linear-gradient(135deg, #7A0535, #91063F 60%, #A8324F) !important; color: #fff !important; }
.hm-mc.is-1 b { color: #fff; } .hm-mc.is-1 span { color: rgba(255,255,255,.9) !important; }
.hm-mc.is-1 i { color: #5A3B00 !important; background: #FFD43B; align-self: flex-start; padding: 8px 16px; border-radius: 99px; }
.hm-mc.is-1 .hm-tag { background: transparent; color: #FFD43B; border-color: #FFD43B; }
.hm-mc.is-2 { background: #FCF1E8 !important; border: 1px solid #F3DCC8; } .hm-mc.is-3 { background: #FFF7DE !important; border: 1px solid #F2E1A6; }
.hm-mc.is-2 b, .hm-mc.is-3 b { color: #7A0535; }
.hm-mc.is-2 i, .hm-mc.is-3 i { color: #fff !important; background: #91063F; align-self: flex-start; padding: 8px 16px; border-radius: 99px; }
.hm-mc.is-2 .hm-tag, .hm-mc.is-3 .hm-tag { color: #91063F; border-color: #E7C3D2; background: #fff; }

/* Stacked logo (owner, 2 Nov 2026): taller and narrower, so a little more height in the header */
.th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 98px !important; }
.trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 80px !important; }
@media (max-width: 760px) { .th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 54px !important; } }
@media (max-width: 380px) { .th .th-brand img.th-logoimg, .trac:not(.trac-home-mode) .th .th-brand img.th-logoimg { height: 46px !important; } }

/* ===== Top strip in light pink with the TRAC line (owner, 2 Nov 2026) ===== */
.th .th-strip { background: linear-gradient(90deg, #FDEFF4 0%, #FBE3EC 55%, #FDEFF4 100%) !important; border-bottom: 1px solid #F1DCE5 !important; }
.th .th-strip-left, .th .th-strip-left .th-systems { color: #111827 !important; font-size: 14px !important; font-weight: 500 !important; letter-spacing: .02em; }
.th .th-motto { font-family: "IBM Plex Serif", Georgia, serif; font-style: italic; }
.th .th-motto b { color: #91063F; font-weight: 700; font-style: normal; font-size: 1.08em; }
.th .th-strip .th-star { color: #E0A100; font-style: normal; }
.th .th-strip .th-sep { background: #E7C3D2 !important; }
.th .th-strip .th-view { background: #FFFFFF !important; border-color: #F1DCE5 !important; }
.th .th-strip .th-view button, .th .th-strip .th-size button { color: #7A0535 !important; background: transparent !important; border-color: #F1DCE5 !important; }
.th .th-strip .th-view button.is-on, .th .th-strip .th-view button[aria-pressed="true"], .th .th-strip .th-size button.is-on { background: linear-gradient(135deg, #7A0535, #91063F) !important; color: #FFFFFF !important; }
.th .th-strip .trac-lang, .th .th-strip .trac-lang *, .th .th-strip .trac-lang-code { color: #7A0535 !important; }

/* The orange-to-red line under the header is removed (owner, 2 Nov 2026); a soft pink hairline keeps the edge */
.th .th-band::after { display: none !important; }
.th .th-band { border-bottom: 1px solid #F1DCE5 !important; }

/* Main page as in the owner's picture (2 Nov 2026, b75). Large screens: the logo stands at the top of the left menu, the menu rises
   to the top strip, and the band under the strip is hidden. Smaller screens keep the logo in the header. */
.sn-brand { display: none; }
.th .th-motto .th-motto-2 { color: inherit; }
@media (min-width: 1001px) {
  .side-nav .sn-brand { display: block; flex: none; padding: 2px 0 12px; text-decoration: none; }
  .side-nav .sn-brand img { display: block; width: 100%; max-width: 212px; height: auto; margin: 0 auto; }
  /* Every page with the left menu looks like the main page: no white band. A chart in view keeps a slim band for its name, PDF and New Analysis. */
  .trac-home-mode .th .th-band, body:has(.side-nav .sn-brand) .th.site-header .th-band { display: none !important; }
  .app-wrap > .side-nav { top: 37px; height: calc(100vh - 37px); }
  .trac:not(.trac-home-mode) .th .th-brand { display: none !important; }
  .trac:not(.trac-home-mode) .th .th-actions { margin-left: auto !important; }
  .trac-home-mode section.trac-home.hm { padding-top: 0 !important; }
}
/* Login / account in the top strip, beside the language menu (owner, 2 Nov 2026). */
.th .th-strip-right .th-login, .th .th-strip-right .th-mycharts { height: 30px !important; padding: 0 14px !important; font-size: 14px; border-radius: 999px !important; }
.th .th-strip-right .th-mycharts { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; color: #7A0535 !important; font-weight: 700; background: #FFFFFF !important; border: 1px solid #F1DCE5 !important; }
.th .th-strip-right .th-me { width: 30px; height: 30px; }
.th .th-strip-right .th-me-av { font-size: 14px; }
.th .th-strip-right .th-me-plan { display: none; }
.trac-home-mode .th .th-strip-right .th-mycharts { display: none !important; }
.th .th-strip-left .th-motto { font-family: "IBM Plex Serif", Georgia, serif; font-style: normal; font-weight: 500 !important; font-size: 15.5px !important; letter-spacing: .01em; -webkit-font-smoothing: antialiased; }
.th .th-motto b { color: inherit !important; font-weight: inherit; font-style: normal; font-size: 1em; }
.th .th-motto .th-motto-2 { color: #91063F; }
.trac-home.hm .hm-ask { padding: 30px 46px 24px; }
.trac-home.hm .hm-ask h1 { font-family: "Source Serif 4", "IBM Plex Serif", Georgia, serif !important; font-weight: 700 !important; font-size: clamp(26px, 3vw, 42px) !important; color: #FFEFB8 !important; margin-bottom: 18px !important; }
.trac-home.hm .hm-ask .ask-wrap { width: min(100%, 1180px) !important; margin: 0 auto !important; }
/* The chart in use: one soft pill under the ask box, the name in gold, Change details as a light button (owner, 2 Nov 2026). */
.trac-home.hm .hm-ask .trac-home-using:not([hidden]) { display: flex; align-items: center; gap: 14px; width: fit-content; max-width: 100%; box-sizing: border-box; margin: 18px auto 0 !important;
  padding: 7px 8px 7px 20px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,231,168,.35); color: #FFFFFF !important; font-size: 15px; text-align: left; }
.trac-home.hm .hm-ask .hu-text b { color: #FFD966 !important; font-weight: 700; font-size: 16px; margin-left: 2px; }
.trac-home.hm .hm-ask .hu-detail { color: #F7DCE4; margin-left: 6px; }
.trac-home.hm .hm-ask .trac-home-change { flex: none; margin: 0; padding: 7px 16px; border-radius: 999px; border: 0 !important; background: #FFEFB8 !important; color: #7A0535 !important; font-weight: 700; font-size: 14px; cursor: pointer; }
.trac-home.hm .hm-ask .trac-home-change:hover { background: #FFE08A !important; }
@media (max-width: 760px) { .trac-home.hm .hm-ask .trac-home-using:not([hidden]) { flex-direction: column; border-radius: 16px; padding: 12px 14px; gap: 10px; text-align: center; } }
.trac-home.hm .hm-h { font-size: 24px; }
.trac-home.hm .hm-p { font-size: 16px; }
@media (max-width: 760px) { .trac-home.hm .hm-ask { padding: 22px 18px 18px; } }

/* Home screen: Free Kundli and My Charts are removed (owner, 2 Nov 2026); Kundli stays in the menu, the login or account button stays. */
.trac-home-mode .th .th-actions .th-btn.is-main, .trac-home-mode .th .th-actions .th-mycharts { display: none !important; }
.hm-ask .home-ex:empty { display: none !important; }

/* The ask card in light pink, with dark text (owner, 2 Nov 2026). */
.trac-home.hm .hm-ask { background: linear-gradient(135deg, #FEF1F6 0%, #FCE4EE 100%); border: 1px solid #F5D3E1; color: #111827; box-shadow: 0 8px 24px rgba(145,6,63,.08); }
.trac-home.hm .hm-ask::after { border-color: rgba(145,6,63,.12); box-shadow: 0 0 0 40px rgba(145,6,63,.025), 0 0 0 80px rgba(145,6,63,.015); }
.trac-home.hm .hm-ask h1 { color: #7A0535 !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .trac-chatbox { border-color: #EBC9D7 !important; box-shadow: 0 4px 14px rgba(145,6,63,.08) !important; }
.trac-home.hm .hm-ask .home-ex button { background: #FFFFFF !important; border-color: #EBC9D7 !important; color: #7A0535 !important; }
.trac-home.hm .hm-ask .home-ex button:hover { background: #FDF0F5 !important; }
.trac-home.hm .hm-ask .home-ex .hm-exlab { color: #7A0535; }
.trac-home.hm .hm-ask .trac-home-using:not([hidden]) { background: #FFFFFF; border-color: #F1DCE5; color: #111827 !important; }
.trac-home.hm .hm-ask .hu-text b { color: #91063F !important; }
.trac-home.hm .hm-ask .hu-detail { color: #475569; }
.trac-home.hm .hm-ask .trac-home-change { background: #91063F !important; color: #FFFFFF !important; }
.trac-home.hm .hm-ask .trac-home-change:hover { background: #7A0535 !important; }

/* Topic cards (owner's two pictures, 2 Nov 2026). Normal: pink card, soft edge, deep red tile, white icon.
   On hover, focus or when chosen: lighter pink card, soft edge, white tile, deep red icon. */
.trac-home.hm .hm-tp { background: #FBE1EC !important; border-color: #EFC4D6 !important; box-shadow: 0 4px 12px rgba(145,6,63,.1); }
.trac-home.hm .hm-tp b { color: #7A0535; }
.trac-home.hm .hm-tp small { color: #475569; }
.trac-home.hm .hm-tp .hm-ic { background: #91063F !important; color: #FFFFFF !important; box-shadow: none; transition: background .15s, color .15s; }
.trac-home.hm .hm-tp .hm-ic svg { color: #FFFFFF !important; }
.trac-home.hm .hm-tp:hover, .trac-home.hm .hm-tp:focus, .trac-home.hm .hm-tp:focus-visible, .trac-home.hm .hm-tp.is-on { background: #FDEEF4 !important; border-color: #F5D3E1 !important; box-shadow: 0 8px 20px rgba(145,6,63,.12) !important; }
.trac-home.hm .hm-tp:hover .hm-ic, .trac-home.hm .hm-tp:focus .hm-ic, .trac-home.hm .hm-tp:focus-visible .hm-ic, .trac-home.hm .hm-tp.is-on .hm-ic { background: #FFFFFF !important; color: #91063F !important; box-shadow: 0 2px 6px rgba(145,6,63,.1); }
.trac-home.hm .hm-tp:hover .hm-ic svg, .trac-home.hm .hm-tp:focus .hm-ic svg, .trac-home.hm .hm-tp:focus-visible .hm-ic svg, .trac-home.hm .hm-tp.is-on .hm-ic svg { color: #91063F !important; }

/* A fine pressed line between the left menu items (owner, 2 Nov 2026). */
.side-nav .sn-item { position: relative; margin-bottom: 3px; }
.side-nav .sn-item:not(.sn-help)::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: -4px; height: 2px; pointer-events: none;
  background: linear-gradient(to bottom, #F0D9E3 0 1px, #FFFFFF 1px 2px); }
.side-nav .sn-item:has(+ .sn-grp)::after, .side-nav .sn-item:last-child::after { display: none; }

/* The left menu in magenta, with light text and gold icons (owner, 2 Nov 2026). On it the logo uses its light version, trac-logo-light.png (owner chose this, 2 Nov 2026). */
.side-nav { background: linear-gradient(180deg, #8B0A50 0%, #66063A 100%) !important; border-right: 0 !important; }
.side-nav::-webkit-scrollbar-track { background: #7A0848 !important; }
.side-nav::-webkit-scrollbar-thumb { background: #D97BA9 !important; border-color: #7A0848 !important; }
.side-nav .sn-grp { color: #FFE3EF !important; }
.side-nav .sn-item { color: #FFFFFF !important; }
.side-nav .sn-item.sn-item svg { background: rgba(255,255,255,.15) !important; color: #FFE08A !important; }
.side-nav .sn-item:hover { background: rgba(255,255,255,.12) !important; }
.side-nav .sn-item.is-on { background: #FFFFFF !important; color: #7A0535 !important; box-shadow: inset 4px 0 0 #F5B800 !important; }
.side-nav .sn-item.sn-item.is-on svg { background: #91063F !important; color: #FFE08A !important; }
.side-nav .sn-item:not(.sn-help)::after { background: linear-gradient(to bottom, rgba(90,10,60,.4) 0 1px, rgba(255,255,255,.16) 1px 2px); }
.side-nav .sn-new { background: #FFE08A !important; color: #7A0535 !important; }
.side-nav .sn-paid { color: #FCE4EF !important; border-color: rgba(255,255,255,.45) !important; }
.side-nav .sn-sep { background: rgba(255,255,255,.2) !important; }
.side-nav .sn-brand { padding: 6px 4px 6px !important; }

/* Finishing touches (owner, 2 Nov 2026): a thin menu scrollbar and none sideways; Help as a small round button in the page margin; a tighter ask box. */
.side-nav { overflow-x: hidden !important; scrollbar-width: thin !important; scrollbar-color: rgba(255,255,255,.3) transparent !important; }
@media (min-width: 761px) {
  .hp-wrap { right: 14px !important; bottom: 14px !important; }
  .hp-wrap .hp-btn { width: 36px; height: 36px; padding: 0; border-radius: 50%; font-size: 0; display: grid; place-items: center; }
  .hp-wrap .hp-btn span { width: 22px; height: 22px; margin: 0; font-size: 14px; }
  .trac-home.hm .hm-ask .ask-wrap.ask-home .trac-chatbox { min-height: 0 !important; gap: 0 !important; padding-top: 8px !important; padding-bottom: 8px !important; }
  .trac-home.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { height: 40px !important; min-height: 40px !important; }
}

/* The main heading in black, regular weight (owner, 2 Nov 2026). */
.trac-home.hm .hm-ask h1 { color: #111111 !important; font-family: "IBM Plex Serif", Georgia, serif !important; font-weight: 400 !important; }

/* No coloured top bar (owner, 2 Nov 2026): the tagline became the main heading; Simple / Astrologer, text size, language and Login stay at the top right on white.
   Large screens: the left menu rises to the very top of the page. */
.th .th-strip { background: #FFFFFF !important; border-bottom: 0 !important; }
.th .th-strip-left { display: none !important; }
.th .th-strip-right { margin-left: auto; }
@media (min-width: 1001px) {
  body:has(.side-nav .sn-brand) .th.site-header, .trac-home-mode .th { background: transparent !important; box-shadow: none !important; pointer-events: none; }
  body:has(.side-nav .sn-brand) .th.site-header .th-strip, .trac-home-mode .th .th-strip { margin-left: var(--sh-side); pointer-events: auto; }
  .trac-home-mode .trac-body { margin-top: -37px; pointer-events: none; }
  .trac-home-mode .trac-body > * { pointer-events: auto; }
  .trac-home-mode main.trac-main { margin-top: 37px; height: calc(100% - 37px); min-height: 0; }
  .app-wrap:has(> .side-nav .sn-brand) { margin-top: -37px; }
  .app-wrap:has(> .side-nav .sn-brand) > :not(.side-nav) { padding-top: 37px; }
  .app-wrap > .side-nav { top: 0; height: 100vh; position: sticky; z-index: 160; }
  .trac-home-mode .side-nav { position: relative; z-index: 40; }
}

/* Main page, large screens: the ask card sits a little below the middle of the page (10% of the screen height lower), with the footer at the bottom (owner, 2 Nov 2026). */
@media (min-width: 1001px) {
  .trac-home-mode section.trac-home.hm { display: flex !important; flex-direction: column; min-height: 100% !important; box-sizing: border-box; padding-top: calc(20vh + 20px) !important; }
  .trac-home-mode section.trac-home.hm > .hm-hero { width: 100%; margin-top: auto !important; margin-bottom: auto !important; }
  .trac-home-mode section.trac-home.hm > :last-child:not(.hm-hero) { padding-top: 20px; }
}

/* Whose chart is in use: a solid deep red bar above the ask box (owner chose option A, 2 Nov 2026). */
.trac-home.hm .hm-ask .trac-home-using:not([hidden]) { display: flex; align-items: center; gap: 14px; width: min(100%, 1180px); max-width: none; margin: 0 auto 22px !important; padding: 12px 14px 12px 18px;
  border-radius: 14px; border: 0; background: #91063F; color: #FFFFFF !important; position: relative; z-index: 1; text-align: left; }
.trac-home.hm .hm-ask .hu-ic { width: 38px; height: 38px; border-radius: 50%; background: #FFE08A; color: #7A0535; display: grid; place-items: center; flex: none; }
.trac-home.hm .hm-ask .hu-text { flex: 1; min-width: 0; }
.trac-home.hm .hm-ask .hu-label { display: block; font-size: 13px; color: #FBD7E6; }
.trac-home.hm .hm-ask .hu-text b { color: #FFFFFF !important; font-size: 18px; margin: 0; }
.trac-home.hm .hm-ask .hu-detail { color: #FCE4EF; font-size: 15px; margin-left: 10px; }
.trac-home.hm .hm-ask .trac-home-change { background: #FFE08A !important; color: #7A0535 !important; font-size: 15px; padding: 10px 20px; }
.trac-home.hm .hm-ask .trac-home-change:hover { background: #FFD45C !important; }
@media (max-width: 760px) {
  .trac-home.hm .hm-ask .trac-home-using:not([hidden]) { flex-direction: row; flex-wrap: wrap; border-radius: 14px; padding: 12px; gap: 10px; text-align: left; }
  .trac-home.hm .hm-ask .hu-detail { display: block; margin: 2px 0 0; }
  .trac-home.hm .hm-ask .trac-home-change { width: 100%; }
}

/* Chart pages, large screens: exactly the main page's header. No band at all (owner, 2 Nov 2026); the menu rises to the very top, the controls sit at the top right, and the tabs come first in the page. */
@media (min-width: 1001px) {
  .trac:not(.trac-home-mode) .th { background: transparent !important; box-shadow: none !important; pointer-events: none; }
  .trac:not(.trac-home-mode) .th .th-strip { margin-left: var(--sh-side); pointer-events: auto; }
  .trac:not(.trac-home-mode) .th .th-band { display: none !important; }
  .trac:not(.trac-home-mode) .trac-body { margin-top: -37px; pointer-events: none; }
  .trac:not(.trac-home-mode) .trac-body > * { pointer-events: auto; }
  .trac:not(.trac-home-mode) .side-nav { position: relative; z-index: 40; }
  .trac:not(.trac-home-mode) .trac-col { padding-top: 37px; box-sizing: border-box; }
  .sec-tabs .sec-row { overflow: visible !important; flex-wrap: wrap; }
}
/* While a chart page opens from the main page, the ask card is hidden so it does not flash. */
body.trac-opening .hm-hero { visibility: hidden; }
body.trac-opening section.trac-home.hm::before { content: "Opening your chart…"; position: absolute; left: 50%; top: 45%; transform: translateX(-50%); font-size: 18px; color: #7A0535; }
@media (min-width: 1001px) {
  .trac .trac-body > .trac-col { pointer-events: none; }
  .trac .trac-col > * { pointer-events: auto; }
  .trac .th .th-strip, .trac .th .th-band { position: relative; z-index: 45; }
}

/* Chart pages: birth details bar; Prediction opens on square cards, and a report keeps a one-row menu with More (owner, 2 Nov 2026). */
.pr-bar[hidden] { display: none !important; }
.pr-bar { flex: none; display: flex; align-items: center; gap: 14px; margin: 14px 22px 0; padding: 10px 14px 10px 16px; border-radius: 14px; background: #91063F; color: #FFFFFF; }
.pr-bar .hu-ic { width: 38px; height: 38px; border-radius: 50%; background: #FFE08A; color: #7A0535; display: grid; place-items: center; flex: none; }
.pr-bar .hu-text { flex: 1; min-width: 0; }
.pr-bar .hu-label { display: block; font-size: 13px; color: #FBD7E6; }
.pr-bar b { font-size: 18px; color: #FFFFFF; }
.pr-bar .hu-detail { color: #FCE4EF; font-size: 15px; margin-left: 10px; }
.pr-change { flex: none; border: 0; border-radius: 999px; background: #FFE08A; color: #7A0535; font-weight: 700; font-size: 14px; padding: 9px 16px; cursor: pointer; }
.pr-change:hover { background: #FFD45C; }
.pred-print-birth { display: none; }
.sec-tabs.pr-land { display: none !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-crumb { display: none; }
.sec-tabs[data-sec-tabs="prediction"] { margin-top: 10px; }
.pr-more-btn .sec-ic { color: #B0186A; font-size: 16px; }
.pr-more-btn.is-on .sec-ic { color: #FFFFFF; }
.pr-more-menu[hidden] { display: none; }
.pr-more-menu { position: absolute; right: 22px; top: 100%; z-index: 60; width: 300px; padding: 6px; background: #FFFFFF; border: 1px solid #F1DCE5; border-radius: 12px; box-shadow: 0 12px 28px rgba(31,37,68,.16); }
.pr-more-menu .sec-tab { display: flex; width: 100%; border-radius: 10px; padding: 8px 10px; text-align: left; }
.pr-more-menu .sec-tab.is-on::after { display: none; }
.pr-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; padding: 4px 0 16px; }
.pr-sq { aspect-ratio: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; padding: 10px; box-sizing: border-box; text-align: center; text-decoration: none; cursor: pointer;
  font: inherit; background: #FFFFFF; border: 1px solid #F1DCE5; border-radius: 16px; transition: border-color .15s, box-shadow .15s, transform .15s; }
.pr-sq:hover, .pr-sq:focus-visible { border-color: #91063F; box-shadow: 0 8px 20px rgba(145,6,63,.12); transform: translateY(-2px); }
.pr-sq .sec-ic { width: 52px; height: 52px; border-radius: 14px; }
.pr-sq .sec-ic svg { width: 28px; height: 28px; }
.pr-sq b { font-size: 14.5px; color: #111827; }
.pr-sq small { font-size: 12px; color: #475569; }
@media (min-width: 1001px) {
  .sec-tabs[data-sec-tabs="prediction"] .sec-row { flex-wrap: nowrap; }
  .sec-tabs[data-sec-tabs="prediction"] .sec-row > .sec-tab, .pr-more { flex: 1 1 0; min-width: 0; }
  .sec-tabs[data-sec-tabs="prediction"] .sec-row .pr-more-btn { width: 100%; height: 100%; }
  .sec-tabs[data-sec-tabs="prediction"] .sec-row .sec-tx { min-width: 0; }
  .sec-tabs[data-sec-tabs="prediction"] .sec-row .sec-tx b, .sec-tabs[data-sec-tabs="prediction"] .sec-row .sec-tx small { overflow: hidden; text-overflow: ellipsis; }
}
@media (max-width: 760px) {
  .pr-bar { flex-wrap: wrap; margin: 10px 12px 0; }
  .pr-bar .hu-detail { display: block; margin: 2px 0 0; }
  .pr-change { width: 100%; }
  .pr-cards { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); }
}
.pred-who:not(:has(.pred-pick)) { display: none; }

/* Doshas page (owner, 2 Nov 2026): three result cards, the open one in detail below. */
.rc-glance { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 14px; }
.rc-g { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding: 16px; text-align: left; font: inherit; cursor: pointer; background: #FFFFFF; border: 2px solid #F1DCE5; border-radius: 16px; transition: border-color .15s, box-shadow .15s; }
.rc-g:hover { border-color: #E2A9C2; }
.rc-g.is-on { border-color: #91063F; box-shadow: 0 8px 20px rgba(145,6,63,.12); }
.rc-g > b { font-size: 17px; color: #111827; }
.rc-g > small { font-size: 14px; color: #475569; }
.rc-g-more { font-style: normal; font-size: 12.5px; font-weight: 700; color: #7A0535; margin-top: auto; padding-top: 4px; }
.rc-pill { padding: 4px 12px; border-radius: 999px; font-size: 13.5px; font-weight: 700; }
.rc-pill.is-red { background: #FDE7EC; color: #A3123A; }
.rc-pill.is-amber { background: #FFF1D6; color: #8A5A00; }
.rc-pill.is-green { background: #E3F6EA; color: #1B7F4B; }
.rc-doshas .rc-grid { display: block; }
.rc-doshas .rc-card[hidden] { display: none; }
.rc-doshas .rc-card { border-color: #F1DCE5; padding: 18px 20px; gap: 10px; }
.rc-doshas .rc-card h3 { color: #7A0535; font-size: 19px; }
.rc-doshas .rc-line { font-size: 14px; }
.rc-doshas .rc-ans { background: transparent; padding: 0; }
.rc-doshas .rc-head { background: #FDF0F5; border-radius: 12px; padding: 10px 14px; margin: 0 0 12px; color: #7A0535; font-weight: 600; }
.rc-doshas .rc-body { font-size: 15px; }
.rc-boxes { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 10px; margin: 8px 0 12px; }
.rc-boxes > div { border: 1px solid #F1DCE5; border-radius: 12px; padding: 10px 12px; }
.rc-boxes small { display: block; color: #475569; font-size: 12.5px; }
.rc-boxes b { color: #111827; font-size: 14.5px; font-weight: 700; }
.rc-doshas .rc-actions:not(:has(.rc-buy)) { background: transparent; border: 0; padding: 0; }
.rc-doshas .rc-actions { align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; padding: 12px 14px; background: #FFF6DB; border: 1px solid #F5D98A; border-radius: 12px; }
.rc-doshas .rc-actions:empty { display: none; }
.rc-doshas .rc-actions:has(.rc-buy)::before { content: "The full report adds the reasons, the timing and the remedies step by step."; flex: 1 1 260px; color: #3B2A00; font-size: 14.5px; }
.rc-doshas .rc-buy { flex: 0 0 auto; border-radius: 999px; background: #91063F; padding: 9px 18px; }
.rc-doshas .rc-open { background: #FFFFFF; border-radius: 999px; }

/* Reports use the full width (owner, 3 Nov 2026): cards stretch, and Year and Month put the reading first with the tables below it, side by side. */
.rc-wrap:not(.rc-doshas) .rc-grid { grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); }
.pred-flow { display: flex; flex-direction: column; gap: 16px; }
.pred-flow > div:last-child { order: -1; }
.pred-flow > div:first-child { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 16px; align-items: start; }
.pred-flow > div:first-child > .two-col-h { grid-column: 1 / -1; margin-bottom: 0; }
.pred-flow > div:first-child > .pred-card { margin-bottom: 0; }
.rc-tablewrap { overflow-x: auto; }
.rc-all-dasha table { width: 100%; border-collapse: collapse; font-size: 14.5px; }
.rc-all-dasha th { text-align: left; font-size: 12.5px; color: #475569; padding: 8px 10px; border-bottom: 1px solid #F1DCE5; }
.rc-all-dasha td { padding: 9px 10px; border-bottom: 1px solid #F8EDF2; vertical-align: top; color: #111827; }
.rc-all-dasha tr.is-now td { background: #FDF0F5; }
.rc-all-dasha td:nth-child(2), .rc-all-dasha td:nth-child(3) { white-space: nowrap; }
.pd-times { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 12px; margin: 8px 0 6px; }
.pd-tg { border-radius: 12px; padding: 10px 14px; border: 1px solid; }
.pd-tg h5 { margin: 0 0 6px; font-size: 15px; }
.pd-tg p { margin: 0 0 6px; font-size: 14px; color: #111827; }
.pd-tg p b { display: block; font-size: 14.5px; color: #111827; }
.pd-tg p span { font-size: 12.5px; color: #475569; }
.pd-tg.is-best { background: #E3F6EA; border-color: #BCE5CB; } .pd-tg.is-best h5 { color: #14663A; }
.pd-tg.is-good { background: #F2FBF5; border-color: #D5EFDF; } .pd-tg.is-good h5 { color: #1B7F4B; }
.pd-tg.is-avoid { background: #FDECEF; border-color: #F6CBD5; } .pd-tg.is-avoid h5 { color: #A3123A; }
.pd-tg .pd-none { color: #475569; }
.pm-h { margin: 12px 0 4px; font-size: 15px; }
.pm-h.is-do { color: #14663A; }
.pm-h.is-avoid { color: #A3123A; }

/* Year Report (owner, 3 Nov 2026). */
.yr-hero { display: flex; align-items: center; gap: 22px; padding: 20px 24px; border-radius: 18px; background: linear-gradient(135deg, #FEF1F6, #FCE4EE); border: 1px solid #F5D3E1; }
.yr-no { font-family: "IBM Plex Serif", Georgia, serif; font-size: 46px; line-height: 1; color: #7A0535; flex: none; }
.yr-hero b { font-size: 20px; color: #111827; }
.yr-hero.is-g b { color: #14663A; } .yr-hero.is-a b { color: #8A5A00; }
.yr-hero p { margin: 4px 0 0; color: #475569; font-size: 15px; }
.yr-h { margin: 22px 0 10px; font-size: 17px; color: #111827; }
.yr-tiles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 8px; }
.yr-m { display: flex; flex-direction: column; align-items: flex-start; gap: 1px; min-height: 84px; padding: 10px; text-align: left; font: inherit; cursor: pointer; border: 2px solid transparent; border-radius: 12px; }
.yr-m b { font-size: 15px; color: #111827; }
.yr-m span { font-size: 12.5px; font-weight: 700; }
.yr-m small { width: 100%; font-size: 12px; color: #475569; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.yr-m.is-g { background: #E3F6EA; } .yr-m.is-g span { color: #14663A; }
.yr-m.is-n { background: #F2F3F7; } .yr-m.is-n span { color: #4B5563; }
.yr-m.is-a { background: #FFF1D6; } .yr-m.is-a span { color: #8A5A00; }
.yr-m.is-on { border-color: #91063F; box-shadow: 0 4px 12px rgba(145,6,63,.14); }
.yr-panels { margin-top: 10px; display: block; }
.yr-panels [hidden] { display: none; }
.yr-three { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; align-items: start; }
.yr-col { border: 1px solid; border-radius: 14px; padding: 12px 14px; }
.yr-col h4 { margin: 0 0 8px; font-size: 15px; }
.yr-col .pred-subject { border: 0; margin: 0 0 8px; padding: 0; }
.yr-col .pred-subject p { margin: 0; font-size: 14px; line-height: 1.5; color: #111827; }
.yr-col.is-yes { background: #F2FBF5; border-color: #CDEBD8; } .yr-col.is-yes h4 { color: #14663A; }
.yr-col.is-maybe { background: #FFF9EC; border-color: #F5E3B8; } .yr-col.is-maybe h4 { color: #8A5A00; }
.yr-col.is-care { background: #FDF0F5; border-color: #F5D3E1; } .yr-col.is-care h4 { color: #A3123A; }
.yr-acc { background: #FFFFFF; border: 1px solid #F1DCE5; border-radius: 12px; padding: 12px 16px; margin-bottom: 8px; font-size: 14.5px; color: #111827; }
.yr-acc summary { cursor: pointer; font-weight: 600; color: #111827; }
.yr-acc[open] summary { margin-bottom: 8px; color: #7A0535; }
@media (max-width: 760px) { .yr-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); } .yr-hero { flex-direction: column; align-items: flex-start; gap: 8px; } }

/* Report colours from the website's own palette (owner, 3 Nov 2026): good = pink and deep red; mixed = white; care = soft gold. No greens or blues. */
.yr-hero.is-g b { color: #7A0535; }
.yr-m.is-g { background: #FBE1EC; } .yr-m.is-g span { color: #7A0535; }
.yr-m.is-n { background: #FFFFFF; border-color: #F1DCE5; } .yr-m.is-n span { color: #475569; }
.yr-m.is-a { background: #FFF6DB; } .yr-m.is-a span { color: #8A5A00; }
.yr-m.is-on { border-color: #91063F; }
.yr-col.is-yes { background: #FDF0F5; border-color: #F5D3E1; } .yr-col.is-yes h4 { color: #7A0535; }
.yr-col.is-maybe { background: #FFFFFF; border-color: #F1DCE5; } .yr-col.is-maybe h4 { color: #111827; }
.yr-col.is-care { background: #FFF6DB; border-color: #F5D98A; } .yr-col.is-care h4 { color: #8A5A00; }
.rc-pill.is-red { background: #FBE1EC; color: #7A0535; }
.rc-pill.is-amber, .rc-pill.is-green { background: #FFF6DB; color: #8A5A00; }
.rc-pill.is-green { background: #FFFFFF; color: #475569; box-shadow: inset 0 0 0 1px #F1DCE5; }
.pm-h.is-do { color: #7A0535; } .pm-h.is-avoid { color: #8A5A00; }
.pd-tg.is-best { background: #FBE1EC; border-color: #F5D3E1; } .pd-tg.is-best h5 { color: #7A0535; }
.pd-tg.is-good { background: #FFFFFF; border-color: #F1DCE5; } .pd-tg.is-good h5 { color: #91063F; }
.pd-tg.is-avoid { background: #FFF6DB; border-color: #F5D98A; } .pd-tg.is-avoid h5 { color: #8A5A00; }
.pred-pill.g { background: #FBE1EC; color: #7A0535; }
.pred-pill.a { background: #FFF6DB; color: #8A5A00; }
.pred-pill.n { background: #F7F1F4; color: #475569; }
.pred-read .ws-verdict { background: #FDF0F5; border-color: #F5D3E1; }
.pred-read .ws-verdict.is-care { background: #FFF6DB; border-color: #F5D98A; }
.pred-card td.g, .pd-area em.g, h4.g { color: #7A0535; }
.pred-card td.b, .pd-area em.b, h4.b { color: #8A5A00; }
.two-col-h.is-r i { background: #91063F; }
.pred-month.is-now { border-color: #F5D3E1; box-shadow: 0 4px 14px rgba(145,6,63,.08); }
.pred-card, .pred-month { border-color: #F1DCE5; }
.trac:not(.trac-home-mode) main.trac-main { background: #FFFFFF; }

/* Year Report as an overview (owner, 3 Nov 2026). */
.yr-story { background: #FFFFFF; border: 1px solid #F1DCE5; border-radius: 14px; padding: 14px 18px; font-size: 15px; line-height: 1.65; color: #111827; }
.yr-two { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; margin-top: 12px; }
.yr-pd { border: 1px solid; border-radius: 14px; padding: 12px 16px; }
.yr-pd h4 { margin: 0 0 4px; font-size: 15px; }
.yr-pd p { margin: 0; font-size: 15px; font-weight: 600; color: #111827; }
.yr-pd.is-best { background: #FBE1EC; border-color: #F5D3E1; } .yr-pd.is-best h4 { color: #7A0535; }
.yr-pd.is-care { background: #FFF6DB; border-color: #F5D98A; } .yr-pd.is-care h4 { color: #8A5A00; }
.yr-subjects { padding: 6px 12px; margin-bottom: 0; }
.yr-mini[hidden] { display: none; }
.yr-mini { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 10px; padding: 10px 14px; background: #FDF0F5; border: 1px solid #F5D3E1; border-radius: 12px; font-size: 14.5px; color: #111827; }
.yr-mini b { color: #111827; }
.yr-mini button { flex: none; border: 0; border-radius: 999px; background: #91063F; color: #FFFFFF; font: inherit; font-weight: 700; font-size: 14px; padding: 9px 16px; cursor: pointer; }
.yr-mini button:hover { background: #7A0535; }
.yr-acc p { margin: 0 0 8px; }
@media (max-width: 760px) { .yr-mini { flex-direction: column; align-items: stretch; } }

/* Prediction "More": easy to notice — filled magenta, gold count badge, one soft pulse on opening (owner, 3 Nov 2026). */
.sec-tabs[data-sec-tabs="prediction"] .pr-more { position: relative; }
.sec-tabs .sec-row .pr-more-btn { position: relative; background: linear-gradient(135deg, #7A0535, #91063F 60%, #A8324F); border-color: #91063F; color: #FFFFFF; box-shadow: 0 4px 12px rgba(145,6,63,.25); }
.sec-tabs .sec-row .pr-more-btn .sec-ic { background: rgba(255,255,255,.16); color: #FFE08A; }
.sec-tabs .sec-row .pr-more-btn .sec-ic svg { color: #FFE08A; }
.sec-tabs .sec-row .pr-more-btn b { color: #FFFFFF; }
.sec-tabs .sec-row .pr-more-btn small { color: #FBD7E6; }
.sec-tabs .sec-row .pr-more-btn:hover, .sec-tabs .sec-row .pr-more-btn[aria-expanded="true"] { background: linear-gradient(135deg, #66063A, #7A0535 60%, #91063F); }
.sec-tabs .sec-row .pr-more-btn.is-on { outline: 3px solid #FFD43B; outline-offset: -3px; }
.sec-tabs .sec-row .pr-more-btn.is-on::after { display: none; }
.pr-more-count { position: absolute; top: -8px; right: -6px; min-width: 22px; height: 20px; padding: 0 7px; box-sizing: border-box; border-radius: 99px; background: #FFD43B; color: #5A3B00; font-size: 11.5px; font-weight: 800; line-height: 20px; text-align: center; box-shadow: 0 2px 6px rgba(90,59,0,.25); z-index: 2; }
.pr-more-menu .sec-tab:first-child { background: #FBE8EF; }
.pr-more-menu .sec-tab:hover { background: #FCF1E8; }
@keyframes prMorePulse { 0% { box-shadow: 0 0 0 0 rgba(145,6,63,.45); } 70% { box-shadow: 0 0 0 12px rgba(145,6,63,0); } 100% { box-shadow: 0 4px 12px rgba(145,6,63,.25); } }
.pr-more-pulse { animation: prMorePulse 1.4s ease-out .6s 2; }
@media (prefers-reduced-motion: reduce) { .pr-more-pulse { animation: none; } }

/* Year and Month reports told as a short reading, with one honest line about the full report (owner, 3 Nov 2026). */
.pred-month p.pm-story, .pm-story { font-family: 'Source Serif 4', Georgia, serif; font-size: 17px !important; line-height: 1.7; color: #2A2F45; margin: 6px 0 12px; }
.pred-month .pm-points { margin: 0 0 8px; }
.pm-full { margin: 14px 0 4px; padding: 12px 14px; border-radius: 12px; background: #FBE8EF; border: 1px solid #F1C6D6; color: #5A1030; font-size: 15px; line-height: 1.55; }
.pm-full span { font-style: italic; }
.pm-full a { display: inline-block; margin-top: 6px; font-weight: 700; color: #91063F; text-decoration: none; border-bottom: 1.5px solid #E7A9C0; }
.pm-full a:hover { color: #7A0535; border-color: #91063F; }
.yr-full { margin-top: 10px; }
.yr-mini span { line-height: 1.6; }

/* Free report cards (Marriage, Career, Money; Know Yourself; Gems; Lal Kitab) in the site's colours (owner, 3 Nov 2026):
   magenta head, the answer in serif, timing and reasons on soft peach, one magenta button. */
.rc-wrap:not(.rc-doshas) .rc-card { padding: 0 0 14px; overflow: hidden; border: 1px solid #F1DCE5; border-radius: 16px; gap: 10px; box-shadow: 0 6px 18px rgba(122,5,53,.06); }
.rc-wrap:not(.rc-doshas) .rc-card > h3 { margin: 0; padding: 14px 18px 2px; background: linear-gradient(135deg, #7A0535, #91063F 60%, #A8324F); color: #FFFFFF; font-size: 18px; }
.rc-wrap:not(.rc-doshas) .rc-card > .rc-line { margin: -10px 0 0; padding: 2px 18px 12px; background: linear-gradient(135deg, #7A0535, #91063F 60%, #A8324F); color: #FBD7E6; font-size: 13.5px; }
.rc-wrap:not(.rc-doshas) .rc-card > :not(h3):not(.rc-line) { margin-left: 18px; margin-right: 18px; }
.rc-wrap:not(.rc-doshas) .rc-ans { background: transparent; padding: 0; }
.rc-wrap:not(.rc-doshas) .rc-head { font-family: 'Source Serif 4', Georgia, serif; font-size: 17px; line-height: 1.6; color: #2A2F45; font-weight: 400; margin: 0 0 8px; }
.rc-wrap:not(.rc-doshas) .rc-body { font-size: 14.5px; color: #111827; }
.rc-wrap:not(.rc-doshas) .rc-body ul { background: #FCF1E8; border-radius: 12px; padding: 10px 14px 10px 30px; margin: 8px 0; color: #5A3B00; }
.rc-wrap:not(.rc-doshas) .rc-body h3, .rc-wrap:not(.rc-doshas) .rc-body h4, .rc-wrap:not(.rc-doshas) .rc-body strong { color: #7A0535; }
.rc-wrap:not(.rc-doshas) .rc-actions { margin-top: auto; display: flex; flex-direction: column; align-items: stretch; gap: 8px; background: transparent; border: 0; padding: 0; }
.rc-wrap:not(.rc-doshas) .rc-covers { font-size: 13px; color: #475569; }
.rc-wrap:not(.rc-doshas) .rc-buy { display: block; text-align: center; border-radius: 999px; background: #91063F; color: #FFFFFF; padding: 10px 18px; font-weight: 700; text-decoration: none; box-shadow: 0 4px 12px rgba(145,6,63,.22); }
.rc-wrap:not(.rc-doshas) .rc-buy:hover { background: #7A0535; }
.rc-wrap:not(.rc-doshas) .rc-open { text-align: center; border-radius: 999px; border: 1.5px solid #E7C3D2; color: #91063F; padding: 8px 16px; background: #FFFFFF; }
.rc-ask-married { background: #FBE8EF; border-radius: 12px; padding: 12px 14px; color: #5A1030; }
.rc-ask-married p { margin: 0 0 8px; font-weight: 600; }
.rc-ask-married button { margin: 0 8px 0 0; padding: 7px 16px; border-radius: 999px; border: 1.5px solid #E7A9C0; background: #FFFFFF; color: #91063F; font: inherit; font-weight: 700; cursor: pointer; }
.rc-ask-married button:hover { background: #91063F; border-color: #91063F; color: #FFFFFF; }
.rc-married-is { font-size: 13px; color: #475569; margin-bottom: 0; }
.rc-married-is button { border: 0; background: none; padding: 0; color: #91063F; font: inherit; font-weight: 700; text-decoration: underline; cursor: pointer; }
.sp-why { background: #FBE8EF; border-radius: 10px; padding: 8px 10px; color: #5A1030; }
/* Report page: what the report covers (owner, 3 Nov 2026). */
.sp-covers { margin: 14px 0; padding: 14px 16px; border: 1px solid #F1DCE5; border-radius: 14px; background: #FFFFFF; }
.sp-covers h3 { margin: 0 0 8px; font-size: 16px; color: #7A0535; }
.sp-covers ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 6px 14px; }
.sp-covers li { position: relative; padding-left: 22px; font-size: 14.5px; color: #111827; }
.sp-covers li::before { content: "✓"; position: absolute; left: 0; color: #91063F; font-weight: 800; }
.sp-covers p { margin: 10px 0 0; font-size: 13.5px; color: #475569; }
.sp-covers .sp-covers-own { background: #FBE8EF; border-radius: 10px; padding: 8px 10px; color: #5A1030; }

/* TRAC Design Your Life (owner, 3 Nov 2026): the three doors, the chat with its preview, and the blueprints. */
.trac-design .dz-wrap { padding: 4px 0 24px; }
.dz-credits { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; margin: 4px 0 14px; padding: 10px 14px; border-radius: 12px; background: #FCF1E8; color: #5A3B00; font-size: 14px; }
.dz-credits b { color: #7A0535; font-size: 16px; }
.dz-credits em { font-style: normal; font-weight: 700; color: #5A3B00; background: #FFD43B; border-radius: 999px; padding: 3px 12px; font-size: 13px; }
.dz-credits a { font-weight: 700; color: #FFFFFF; background: #91063F; border-radius: 999px; padding: 6px 16px; text-decoration: none; }
.dz-hub { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 14px; }
.dz-door { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; text-align: left; font: inherit; cursor: pointer; padding: 20px; border-radius: 18px; border: 1px solid #F1DCE5; background: #FFFFFF; transition: transform .15s, box-shadow .15s, border-color .15s; }
.dz-door:first-child { background: linear-gradient(135deg, #7A0535, #91063F 60%, #A8324F); border-color: #91063F; color: #FFFFFF; }
.dz-door:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(145,6,63,.15); border-color: #91063F; }
.dz-door b { font-size: 21px; font-family: 'Playfair Display', Georgia, serif; color: #7A0535; }
.dz-door:first-child b { color: #FFFFFF; }
.dz-door span { font-size: 14.5px; line-height: 1.5; color: #475569; }
.dz-door:first-child span { color: #FBD7E6; }
.dz-door .dz-door-k { font-size: 12px; font-weight: 800; color: #5A3B00; background: #FFD43B; border-radius: 999px; padding: 2px 10px; }
.dz-door:first-child .dz-door-k { color: #5A3B00; }
.dz-door i { margin-top: auto; font-style: normal; font-weight: 700; color: #91063F; }
.dz-door:first-child i { color: #FFE08A; }
.dz-link { border: 0; background: none; font: inherit; font-weight: 700; color: #91063F; cursor: pointer; padding: 10px 4px; }
.dz-link:hover { color: #7A0535; text-decoration: underline; }
.dz-two { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, 1fr); gap: 16px; align-items: start; }
.dz-chat { background: #FFFFFF; border: 1px solid #F1DCE5; border-radius: 18px; padding: 16px; max-height: 70vh; overflow-y: auto; }
.dz-msg { max-width: 85%; padding: 10px 14px; margin: 0 0 10px; font-size: 15.5px; line-height: 1.5; border-radius: 16px; }
.dz-msg.is-ai { background: #FBE8EF; color: #4A0E2A; border-bottom-left-radius: 4px; }
.dz-msg.is-ai small { color: #8A5A72; }
.dz-msg.is-me { margin-left: auto; background: #91063F; color: #FFFFFF; border-bottom-right-radius: 4px; }
.dz-in { margin: 4px 0 6px; }
.dz-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.dz-chip { font: inherit; font-size: 14px; font-weight: 600; padding: 8px 16px; border-radius: 999px; border: 1.5px solid #E7A9C0; background: #FFFFFF; color: #91063F; cursor: pointer; }
.dz-chip:hover { border-color: #91063F; }
.dz-chip.is-on { background: #91063F; border-color: #91063F; color: #FFFFFF; }
.dz-chip.is-done { background: #FFD43B; border-color: #FFD43B; color: #5A3B00; }
.dz-chip.is-done:disabled { opacity: .5; cursor: default; }
.dz-row { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.dz-row input { flex: 1 1 200px; height: 44px; border: 1.5px solid #E5D3DB; border-radius: 12px; padding: 0 12px; font: inherit; font-size: 15px; }
.dz-row input:focus { outline: none; border-color: #91063F; box-shadow: 0 0 0 3px rgba(145,6,63,.12); }
.dz-send { height: 44px; padding: 0 20px; border: 0; border-radius: 999px; background: #91063F; color: #FFFFFF; font: inherit; font-weight: 700; cursor: pointer; }
.dz-skip { height: 44px; padding: 0 16px; border: 1.5px solid #E7C3D2; border-radius: 999px; background: #FFFFFF; color: #91063F; font: inherit; font-weight: 600; cursor: pointer; }
.dz-pv { background: #FFFFFF; border: 1px solid #F1DCE5; border-radius: 18px; padding: 16px; position: sticky; top: 12px; }
.dz-pv-h { display: block; color: #7A0535; font-size: 16px; margin-bottom: 8px; }
.dz-pv-row { display: flex; justify-content: space-between; gap: 10px; width: 100%; text-align: left; font: inherit; font-size: 14px; padding: 8px 4px; border: 0; border-bottom: 1px solid #F5E6EC; background: none; cursor: pointer; }
.dz-pv-row span { color: #475569; }
.dz-pv-row b { color: #111827; text-align: right; }
.dz-pv-row:not(:disabled):hover b { color: #91063F; text-decoration: underline; }
.dz-pv-row.is-empty { cursor: default; }
.dz-pv-row.is-empty b { color: #C2B5BC; font-weight: 400; }
.dz-pv-note { font-size: 12.5px; color: #475569; margin: 10px 0 0; line-height: 1.5; }
.dz-btn { display: block; width: 100%; margin-top: 12px; padding: 12px 16px; border: 0; border-radius: 999px; background: linear-gradient(135deg, #7A0535, #91063F 60%, #A8324F); color: #FFFFFF; font: inherit; font-weight: 700; font-size: 15px; text-align: center; text-decoration: none; cursor: pointer; box-shadow: 0 4px 12px rgba(145,6,63,.25); }
.dz-note { padding: 10px 14px; border-radius: 12px; background: #FBE8EF; color: #5A1030; }
.dz-note.is-err { background: #FFF1D6; color: #8A5A00; }
.dz-done-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 12px; margin-bottom: 12px; border-radius: 12px; background: #E8F6EE; color: #11663B; font-size: 14px; font-weight: 600; }
.dz-print-birth { display: none; color: #475569; margin-bottom: 8px; }
.dz-plan { background: #FFFFFF; border: 1px solid #F1DCE5; border-radius: 18px; overflow: hidden; }
.dz-head { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 18px 20px; background: linear-gradient(135deg, #7A0535, #91063F 60%, #A8324F); color: #FFFFFF; }
.dz-head h2 { margin: 0; flex: 1 1 auto; font-family: 'Playfair Display', Georgia, serif; font-size: 24px; color: #FFFFFF; }
.dz-kind { font-size: 11.5px; font-weight: 800; letter-spacing: .8px; text-transform: uppercase; color: #5A3B00; background: #FFD43B; border-radius: 6px; padding: 3px 8px; }
.dz-plan > :not(.dz-head) { margin-left: 20px; margin-right: 20px; }
.dz-story { font-family: 'Source Serif 4', Georgia, serif; font-size: 17.5px; line-height: 1.7; color: #2A2F45; margin-top: 16px; }
.dz-bar { position: relative; height: 34px; margin-top: 18px; border-radius: 10px; background: #F7EEF2; overflow: hidden; }
.dz-bar i { position: absolute; top: 0; bottom: 0; display: flex; align-items: center; justify-content: center; font-style: normal; font-size: 11.5px; font-weight: 700; overflow: hidden; white-space: nowrap; }
.dz-bar .dz-a { background: #FFE08A; color: #5A3B00; }
.dz-bar .dz-g { background: #E7A9C0; color: #FFFFFF; }
.dz-bar .dz-g.is-best { background: #91063F; }
.dz-ticks { display: flex; justify-content: space-between; font-size: 11.5px; color: #8B93A3; margin-top: 4px; }
.dz-cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 6px; margin-bottom: 20px; }
.dz-col { border-radius: 14px; padding: 12px 14px; }
.dz-col h3 { margin: 0 0 6px; font-size: 16px; }
.dz-col ul { margin: 0; padding-left: 18px; font-size: 14.5px; line-height: 1.55; }
.dz-col.is-do { background: #FBE8EF; color: #4A0E2A; } .dz-col.is-do h3 { color: #91063F; }
.dz-col.is-care { background: #FCF1E8; color: #5A3B00; } .dz-col.is-care h3 { color: #8A5A00; }
.dz-col.is-help { background: #F4F6FB; color: #111827; } .dz-col.is-help h3 { color: #111827; }
.dz-h { font-size: 18px; color: #7A0535; margin-top: 20px; }
.dz-goals { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px; }
.dz-goal { border: 1px solid #F1DCE5; border-radius: 14px; padding: 14px 16px; }
.dz-goal-h { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.dz-goal-h b { font-size: 17px; color: #111827; }
.dz-goal p { font-size: 14.5px; color: #111827; line-height: 1.55; }
.dz-when { display: block; background: #FCF1E8; color: #5A3B00; border-radius: 10px; padding: 6px 10px; font-size: 14px; margin: 8px 0; }
.dz-steps { margin: 8px 0 0; padding-left: 20px; font-size: 14.5px; line-height: 1.6; color: #111827; }
.dz-steps li::marker { color: #91063F; font-weight: 800; }
.dz-steps.dz-big { font-size: 16px; margin-bottom: 20px; }
.dz-quarters { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; margin-bottom: 20px; }
.dz-q { border-radius: 14px; padding: 12px 14px; background: #F7EEF2; }
.dz-q.is-g { background: #FBE8EF; } .dz-q.is-a { background: #FCF1E8; }
.dz-q b { display: block; color: #7A0535; }
.dz-q > span { font-size: 13px; font-weight: 700; color: #475569; }
.dz-q p { margin: 6px 0 0; font-size: 14px; color: #111827; }
.dz-q .dz-focus { color: #91063F; font-weight: 600; }
.dz-road { list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 3px solid #F1DCE5; }
.dz-road li { position: relative; padding: 0 0 14px 14px; }
.dz-road li::before { content: ""; position: absolute; left: -27px; top: 3px; width: 14px; height: 14px; border-radius: 50%; background: #FFFFFF; border: 3px solid #E7A9C0; }
.dz-road li.is-g::before { border-color: #91063F; } .dz-road li.is-a::before { border-color: #FFD43B; }
.dz-road li.is-now::before { background: #91063F; border-color: #91063F; }
.dz-road .dz-yrs { display: block; font-size: 12.5px; font-weight: 700; color: #8A5A72; }
.dz-road b { color: #111827; }
.dz-road p { margin: 2px 0 0; font-size: 14.5px; color: #111827; }
.dz-sub { list-style: none; margin: 6px 0 0; padding: 0; }
.dz-sub li { padding: 8px 0; border-top: 1px solid #F5E6EC; }
.dz-sub-h { display: flex; justify-content: space-between; gap: 8px; align-items: center; font-weight: 700; color: #111827; }
.dz-sub-t { display: block; font-size: 14px; color: #111827; line-height: 1.55; }
.dz-saved { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 10px; }
.dz-saved-it { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; text-align: left; font: inherit; cursor: pointer; padding: 14px; border-radius: 14px; border: 1px solid #F1DCE5; background: #FFFFFF; }
.dz-saved-it:hover { border-color: #91063F; }
.dz-saved-it b { color: #111827; }
.dz-saved-it small { color: #475569; }
.dz-foot { font-size: 12.5px; color: #8B93A3; margin: 14px 0; }
@media (max-width: 860px) { .dz-two { grid-template-columns: 1fr; } .dz-pv { position: static; } .dz-msg { max-width: 95%; } }
.dz-msg { width: fit-content; }
/* The longer menu name may take two lines (owner named it "TRAC Design Your Life"). */
.side-nav .sn-item[data-sn="design"] > span:not(.sn-new) { white-space: normal; line-height: 1.2; }
.trac-design .dz-h, .dz-plan .dz-h { color: #7A0535 !important; }
.dz-words { margin-top: 14px; padding: 10px 14px; border-radius: 12px; background: #F7EEF2; color: #4A0E2A; font-size: 14.5px; font-style: italic; }
.dz-honest { padding: 10px 14px; border-radius: 12px; background: #FCF1E8; color: #5A3B00; font-size: 14.5px; }

/* Match Making (owner, 3 Nov 2026: "boy/girl text going outside"; site colours). The card heading sits inside the card
   as a magenta band (a floated legend becomes an ordinary block), and the results use magenta, pink and gold only. */
.mm-person { overflow: visible; padding-top: 0; position: relative; }
.mm-person:focus-within { z-index: 30; }
.mm-person .tp-citylist { z-index: 40; }
.mm-person > legend { float: left; box-sizing: border-box; width: calc(100% + 40px); margin: 0 -20px 4px; padding: 12px 20px; background: linear-gradient(135deg, #7A0535, #91063F 60%, #A8324F); color: #FFFFFF; font-size: 17px; font-weight: 700; border-radius: 19px 19px 0 0; }
.mm-person input[type=date], .mm-person input[type=time] { min-width: 0; width: 100%; box-sizing: border-box; }
@media (max-width: 520px) { .mm-two { grid-template-columns: minmax(0, 1fr); } }
.mm-kname small { display: flex; flex-wrap: wrap; gap: 2px 10px; }
.mm-kbar { background: #F6E4EB; }
.mm-kval { color: #111827; } .mm-kval.is-zero { color: #B0186A; }
.mm-verdict.is-good { background: #FBE8EF; color: #91063F; }
.mm-verdict.is-care { background: #FFF6DB; color: #8A5A00; }
.mm-ok { color: #91063F; font-weight: 600; }
.mm-care { color: #8A5A00; font-weight: 600; }
.mm-note { color: #7A0535; background: #FBE8EF; border-radius: 12px; padding: 8px 14px; margin: -8px 0 0; font-weight: 600; }
.mm-k { color: #7A0535; }
.mm-result, .mm-cards, .mm-trac { scroll-margin-top: 90px; }
.mm-hint { margin: 0; align-self: center; text-align: center; background: #FFF6DB; color: #5A3B00; border-radius: 12px; padding: 8px 14px; font-weight: 600; }

/* The left menu in burgundy with depth (owner chose B1, 3 Nov 2026, after trying navy): layered shades — a rose glow
   behind the logo, burgundy, then deep wine at the foot — a soft diagonal light band, a faint scatter of stars (a few
   gold) and gold orbit rings; group names with a thin gold line; prominent raised gold icon tiles; the page on show a
   raised white tile with a gold edge. */
.side-nav {
  background:
    radial-gradient(circle at 104% 101%, transparent 74px, rgba(255,212,59,.18) 75px, transparent 77px, transparent 104px, rgba(255,212,59,.10) 105px, transparent 107px) no-repeat,
    linear-gradient(115deg, transparent 0 36%, rgba(255,255,255,.045) 36% 50%, transparent 50%) no-repeat,
    radial-gradient(1px 1px at 18% 22%, rgba(255,255,255,.5), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1px 1px at 72% 14%, rgba(255,255,255,.38), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1.3px 1.3px at 44% 63%, rgba(255,212,59,.6), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1px 1px at 86% 52%, rgba(255,255,255,.32), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1.2px 1.2px at 62% 93%, rgba(255,212,59,.45), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(130% 30% at 25% 0%, #C2306F 0%, rgba(194,48,111,0) 75%) no-repeat,
    linear-gradient(180deg, #9E1258 0%, #7A0535 38%, #5E0429 70%, #3F021B 100%) !important;
  border-right: 0 !important;
}
.side-nav .sn-brand img { filter: drop-shadow(0 0 12px rgba(255,212,59,.28)); }
.side-nav .sn-grp { color: #FFD9E8 !important; display: flex !important; align-items: center; gap: 8px; }
.side-nav .sn-grp::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(255,212,59,.5), transparent); }
.side-nav .sn-item { color: #FFFFFF !important; }
.side-nav .sn-item.sn-item svg { background: linear-gradient(145deg, #FFE48A, #F5B800) !important; color: #6A0430 !important;
  box-shadow: 0 3px 8px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.55) !important; stroke-width: 2; }
.side-nav .sn-item:hover { background: rgba(255,255,255,.10) !important; }
.side-nav .sn-item.is-on { background: linear-gradient(180deg, #FFFFFF, #FFF2F7) !important; color: #7A0535 !important; box-shadow: 0 5px 14px rgba(0,0,0,.3), inset 4px 0 0 #FFD43B !important; }
.side-nav .sn-item.sn-item.is-on svg { background: linear-gradient(145deg, #9E1258, #6A0430) !important; color: #FFE48A !important; }
.side-nav .sn-item:not(.sn-help)::after { background: linear-gradient(to bottom, rgba(40,0,15,.35) 0 1px, rgba(255,255,255,.08) 1px 2px); }
.side-nav .sn-new { background: #FFD43B !important; color: #5A3B00 !important; }
.side-nav .sn-paid { color: #FFD9E8 !important; border-color: rgba(255,255,255,.35) !important; }
.side-nav .sn-sep { background: rgba(255,255,255,.14) !important; }
.side-nav::-webkit-scrollbar-track { background: #5E0429 !important; }
.side-nav::-webkit-scrollbar-thumb { background: #C2306F !important; border-color: #5E0429 !important; }
.side-nav { scrollbar-color: rgba(255,255,255,.28) transparent !important; }
.adm-nav .adm-head { border-bottom-color: rgba(255,255,255,.14) !important; }
.adm-nav .adm-head b { color: #FFFFFF !important; }
.adm-badge { background: #FFD43B !important; color: #5A3B00 !important; }

/* The ask card: whose chart first, then the greeting (owner, 3 Nov 2026). */
.trac-home.hm .hm-ask .trac-home-using { margin: 0 0 14px !important; order: 0; }
.trac-home.hm .hm-ask h1 { margin-top: 0 !important; }

/* The left menu in burgundy with depth (owner, 3 Nov 2026: burgundy suits the rest of the page — option B1, gold icon
   tiles, every item raised above the background; the logo stays exactly as it is). Layered shades: a rose glow at the
   top, burgundy into deep wine at the foot, a faint scatter of stars and soft gold orbit rings. Replaces the navy menu. */
.side-nav {
  background:
    radial-gradient(circle at 104% 101%, transparent 74px, rgba(255,212,59,.18) 75px, transparent 77px, transparent 104px, rgba(255,212,59,.10) 105px, transparent 107px) no-repeat,
    radial-gradient(1px 1px at 18% 22%, rgba(255,255,255,.5), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1px 1px at 72% 14%, rgba(255,255,255,.38), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1.3px 1.3px at 44% 63%, rgba(255,212,59,.6), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1px 1px at 86% 52%, rgba(255,255,255,.32), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1.2px 1.2px at 62% 93%, rgba(255,212,59,.45), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(130% 30% at 25% 0%, #C2306F 0%, rgba(194,48,111,0) 75%) no-repeat,
    linear-gradient(180deg, #9E1258 0%, #7A0535 38%, #5E0429 70%, #3F021B 100%) !important;
  border-right: 0 !important;
}
.side-nav .sn-brand img { filter: none !important; }
.side-nav .sn-grp { display: flex; align-items: center; gap: 8px; color: #FFD9E8 !important; }
.side-nav .sn-grp::after { content: ""; flex: 1; height: 1px; background: linear-gradient(90deg, rgba(255,212,59,.5), transparent); }
.side-nav .sn-item { color: #FFFFFF !important; margin-bottom: 8px !important;
  background: linear-gradient(180deg, rgba(255,255,255,.14), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.14) !important; border-bottom-color: rgba(0,0,0,.25) !important;
  box-shadow: 0 4px 10px rgba(30,0,12,.38), inset 0 1px 0 rgba(255,255,255,.2) !important;
  transition: transform .15s, box-shadow .15s, background .15s; }
.side-nav .sn-item:not(.sn-help)::after { display: none !important; }
.side-nav .sn-item:hover { background: linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.08)) !important; transform: translateY(-1px);
  box-shadow: 0 7px 14px rgba(30,0,12,.45), inset 0 1px 0 rgba(255,255,255,.3) !important; }
.side-nav .sn-item.sn-item svg { background: linear-gradient(145deg, #FFE48A, #F5B800) !important; color: #6A0430 !important;
  box-shadow: 0 3px 7px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.55) !important; }
.side-nav .sn-item.is-on { background: linear-gradient(180deg, #FFFFFF, #FFF0F6) !important; color: #7A0535 !important; border-color: #FFFFFF !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.35), inset 4px 0 0 #FFD43B !important; }
.side-nav .sn-item.sn-item.is-on svg { background: linear-gradient(145deg, #9E1258, #6A0430) !important; color: #FFE48A !important; }
.side-nav .sn-new { background: #FFD43B !important; color: #5A3B00 !important; }
.side-nav .sn-paid { color: #FFE3EF !important; border-color: rgba(255,255,255,.4) !important; }
.side-nav .sn-sep { background: rgba(255,255,255,.14) !important; }
.side-nav::-webkit-scrollbar-track { background: #5E0429 !important; }
.side-nav::-webkit-scrollbar-thumb { background: #C4568A !important; border-color: #5E0429 !important; }
.adm-nav .adm-head { border-bottom-color: rgba(255,255,255,.14) !important; }
@media (prefers-reduced-motion: reduce) { .side-nav .sn-item:hover { transform: none; } }

/* As in the owner's chosen picture (3 Nov 2026): items sit straight on the burgundy (no tile behind each), a soft diagonal
   light band across the menu, larger raised gold icon tiles; only the page on show is a raised white tile. Logo unchanged. */
.side-nav {
  background:
    radial-gradient(circle at 104% 101%, transparent 74px, rgba(255,212,59,.18) 75px, transparent 77px, transparent 104px, rgba(255,212,59,.10) 105px, transparent 107px) no-repeat,
    linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,.055) 38% 54%, transparent 54%) no-repeat,
    radial-gradient(1px 1px at 18% 22%, rgba(255,255,255,.5), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1px 1px at 72% 14%, rgba(255,255,255,.38), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1.3px 1.3px at 44% 63%, rgba(255,212,59,.6), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1px 1px at 86% 52%, rgba(255,255,255,.32), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(130% 30% at 25% 0%, #C2306F 0%, rgba(194,48,111,0) 75%) no-repeat,
    linear-gradient(180deg, #9E1258 0%, #7A0535 38%, #5E0429 70%, #3F021B 100%) !important;
}
.side-nav .sn-item { background: transparent !important; border: 0 !important; box-shadow: none !important; margin-bottom: 6px !important; }
.side-nav .sn-item:hover { background: rgba(255,255,255,.10) !important; transform: none; box-shadow: none !important; }
.side-nav .sn-item.sn-item svg { width: 36px !important; height: 36px !important; padding: 8px !important; border-radius: 11px !important; }
.side-nav .sn-item.is-on { background: linear-gradient(180deg, #FFFFFF, #FFF0F6) !important; border: 0 !important;
  box-shadow: 0 6px 16px rgba(0,0,0,.32), inset 4px 0 0 #FFD43B !important; }

/* Icons a little quieter (owner, 3 Nov 2026: "too prominent, reduce slightly"): a smaller tile, a softer gold, a gentler shadow. */
.side-nav .sn-item.sn-item svg { width: 32px !important; height: 32px !important; padding: 7px !important; border-radius: 10px !important;
  background: linear-gradient(145deg, #F6DE9A, #E2B547) !important; color: #6A0430 !important;
  box-shadow: 0 2px 4px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.4) !important; }
.side-nav .sn-item.sn-item.is-on svg { background: linear-gradient(145deg, #9E1258, #6A0430) !important; color: #FFE48A !important; box-shadow: none !important; }

/* Icon style 5 (owner chose, 3 Nov 2026): gold icons on a deep wine tile with a thin gold edge, like a jewel set in gold. */
.side-nav .sn-item.sn-item svg { width: 32px !important; height: 32px !important; padding: 7px !important; border-radius: 10px !important;
  background: linear-gradient(145deg, #6A0430, #4A0322) !important; color: #FFD43B !important;
  box-shadow: inset 0 0 0 1.5px #E2B547, 0 2px 5px rgba(0,0,0,.3) !important; }
.side-nav .sn-item:hover svg { box-shadow: inset 0 0 0 1.5px #F6DE9A, 0 3px 7px rgba(0,0,0,.35) !important; }
.side-nav .sn-item.sn-item.is-on svg { background: linear-gradient(145deg, #9E1258, #6A0430) !important; color: #FFE48A !important;
  box-shadow: inset 0 0 0 1.5px #E2B547 !important; }

/* The ask card as in the owner's picture (3 Nov 2026): soft pink card with gentle waves; a rich burgundy bar for whose
   chart it is (cream avatar, a thin divider, cream "Change details" with a pencil); a bold centred greeting with
   "Namaste!" in burgundy, a grey line on what can be asked and a short accent; a white, rounded ask box with a magenta
   sparkle, soft round + and mic buttons and a burgundy send button. */
.trac-home.hm .hm-ask { text-align: center; padding: 30px 40px 30px !important; border-radius: 28px !important; border: 1px solid #F6D7E3 !important;
  background:
    radial-gradient(120% 60% at -10% 110%, rgba(246,196,216,.55) 0 40%, transparent 41%),
    radial-gradient(90% 55% at 110% 105%, rgba(246,196,216,.45) 0 38%, transparent 39%),
    radial-gradient(70% 40% at 105% 40%, rgba(252,226,237,.8) 0 40%, transparent 41%),
    linear-gradient(180deg, #FFF7FA 0%, #FDEFF4 100%) !important;
  box-shadow: 0 10px 30px rgba(145,6,63,.08) !important; }
.trac-home.hm .hm-ask .trac-home-using:not([hidden]) { width: 100% !important; padding: 16px 18px 16px 20px !important; border-radius: 22px !important; gap: 16px !important; margin: 0 0 26px !important;
  background:
    radial-gradient(60% 140% at 92% 120%, rgba(255,255,255,.13) 0 45%, transparent 46%),
    radial-gradient(40% 120% at 78% -30%, rgba(255,255,255,.08) 0 45%, transparent 46%),
    linear-gradient(110deg, #6E0430 0%, #85063F 50%, #9C1A5A 100%) !important;
  box-shadow: 0 12px 26px rgba(122,5,53,.28) !important; }
.trac-home.hm .hm-ask .hu-ic { width: 52px !important; height: 52px !important; background: #FFF4E0 !important; color: #7A0535 !important; }
.trac-home.hm .hm-ask .hu-ic svg { width: 26px; height: 26px; }
.trac-home.hm .hm-ask .hu-div { width: 1px; align-self: stretch; margin: 4px 2px; background: rgba(255,255,255,.35); flex: none; }
.trac-home.hm .hm-ask .hu-label { font-size: 14px !important; color: #FBE3EC !important; margin-bottom: 2px; }
.trac-home.hm .hm-ask .hu-text b { font-size: 24px !important; font-weight: 800 !important; color: #FFFFFF !important; }
.trac-home.hm .hm-ask .hu-detail { font-size: 17px !important; color: #FFFFFF !important; margin-left: 12px !important; }
.trac-home.hm .hm-ask .hu-detail::before { content: "· "; opacity: .8; }
.trac-home.hm .hm-ask .trac-home-change { display: inline-flex !important; align-items: center; gap: 8px; background: #FFF6E6 !important; color: #91063F !important;
  font-weight: 700 !important; font-size: 16px !important; padding: 12px 22px !important; border-radius: 999px !important; box-shadow: 0 4px 12px rgba(0,0,0,.15); }
.trac-home.hm .hm-ask .trac-home-change:hover { background: #FFFFFF !important; }
.trac-home.hm .hm-ask h1.hm-title { font-family: inherit !important; font-weight: 800 !important; color: #1A1F36 !important; font-size: clamp(28px, 3.2vw, 44px) !important; line-height: 1.15; margin: 0 0 10px !important; letter-spacing: -.01em; text-align: center; }
.trac-home.hm .hm-ask .hm-nam { color: #91063F; }
.trac-home.hm .hm-ask .hm-sub { margin: 0 auto; max-width: 820px; color: #475569; font-size: clamp(15px, 1.4vw, 19px); text-align: center; }
.trac-home.hm .hm-ask .hm-accent { display: block; width: 56px; height: 4px; border-radius: 4px; background: #C2185B; margin: 16px auto 24px; }
.trac-home.hm .hm-ask .ask-wrap.ask-home { width: 100% !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .trac-chatbox { background: #FFFFFF !important; border: 1px solid #F3CADA !important; border-radius: 30px !important;
  box-shadow: 0 14px 34px rgba(194,24,91,.10) !important; padding: 18px 22px 16px !important; text-align: left; }
.trac-home.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { font-family: inherit !important; font-size: 20px !important; color: #111827 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23C2185B'%3E%3Cpath d='M9 2l1.6 4.9L15.5 8.5l-4.9 1.6L9 15l-1.6-4.9L2.5 8.5l4.9-1.6z'/%3E%3Cpath d='M18 12l.9 2.6 2.6.9-2.6.9L18 19l-.9-2.6-2.6-.9 2.6-.9z'/%3E%3Cpath d='M17.5 2.5l.6 1.4 1.4.6-1.4.6-.6 1.4-.6-1.4-1.4-.6 1.4-.6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important; background-size: 30px 30px !important; background-position: 0 8px !important; padding-left: 46px !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home textarea.ask-input::placeholder { color: #475569; opacity: 1; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach, .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-mic { background: #FBEAF1 !important; color: #91063F !important; border: 0 !important; box-shadow: 0 2px 6px rgba(145,6,63,.10) !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach { width: 52px !important; height: 52px !important; border-radius: 50% !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-mic { width: 52px !important; height: 52px !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-send { width: 64px !important; height: 64px !important; background: linear-gradient(135deg, #9E1258, #7A0535) !important; color: #FFFFFF !important; box-shadow: 0 8px 18px rgba(122,5,53,.35) !important; font-size: 26px; }
@media (max-width: 760px) {
  .trac-home.hm .hm-ask { padding: 18px 14px 20px !important; }
  .trac-home.hm .hm-ask .hu-div { display: none; }
  .trac-home.hm .hm-ask .hu-text b { font-size: 20px !important; }
  .trac-home.hm .hm-ask .hu-detail { font-size: 15px !important; margin-left: 0 !important; }
  .trac-home.hm .hm-ask .hu-detail::before { content: ""; }
  .trac-home.hm .hm-ask .trac-home-change { width: 100%; justify-content: center; }
}
.trac-home.hm .hm-ask .hm-sub { max-width: 980px !important; }
.trac-home.hm .hm-ask .trac-home-using:not([hidden]) { margin-bottom: 34px !important; }

/* Home ask card with topic tiles (owner, 3 Nov 2026): thin gold lines beside the heading; eight tiles (burgundy line
   icons, readable labels, a gold line on hover); a tap shows ready questions below; two rows of four on phones. */
.trac-home.hm .hm-ask h1.hm-title { display: flex; align-items: center; justify-content: center; gap: 18px; }
.trac-home.hm .hm-ask h1.hm-title::before, .trac-home.hm .hm-ask h1.hm-title::after { content: ""; flex: 0 1 90px; height: 2px; border-radius: 2px; }
.trac-home.hm .hm-ask h1.hm-title::before { background: linear-gradient(90deg, transparent, #E2B547); }
.trac-home.hm .hm-ask h1.hm-title::after { background: linear-gradient(90deg, #E2B547, transparent); }
.trac-home.hm .hm-ask .hm-accent { display: none !important; }
.hm-topics2 { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 12px; margin: 20px 0 16px; }
.hm-tp2 { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; min-height: 86px; padding: 12px 6px;
  font: inherit; font-size: 14px; font-weight: 600; color: #111827; background: #FFFFFF; border: 1px solid #F1DCE5; border-radius: 16px; cursor: pointer;
  box-shadow: 0 4px 12px rgba(145,6,63,.06); transition: transform .15s, box-shadow .15s, border-color .15s; }
.hm-tp2 svg { width: 30px; height: 30px; color: #91063F; }
.hm-tp2::after { content: ""; position: absolute; left: 30%; right: 30%; bottom: 7px; height: 2px; border-radius: 2px; background: #E2B547; opacity: 0; transition: opacity .15s; }
.hm-tp2:hover { transform: translateY(-2px); border-color: #E7A9C0; box-shadow: 0 8px 18px rgba(145,6,63,.12); }
.hm-tp2:hover::after, .hm-tp2.is-on::after { opacity: 1; }
.hm-tp2.is-on { border-color: #91063F; background: #FFF5F8; box-shadow: 0 0 0 2px rgba(145,6,63,.12); }
.hm-tp2:focus-visible { outline: 2px solid #91063F; outline-offset: 2px; }
.hm-qs { margin: 0 0 16px; padding: 14px 16px; border-radius: 16px; background: #FFFFFF; border: 1px solid #F1DCE5; text-align: left; }
.hm-qs[hidden] { display: none; }
.hm-qs-h { margin: 0 0 10px; font-size: 13.5px; color: #475569; }
.hm-qs-row { display: flex; flex-wrap: wrap; gap: 8px; }
.hm-q { font: inherit; font-size: 14.5px; padding: 8px 14px; border-radius: 999px; border: 1.5px solid #E7A9C0; background: #FFFFFF; color: #7A0535; cursor: pointer; text-align: left; }
.hm-q:hover { background: #91063F; border-color: #91063F; color: #FFFFFF; }
.hm-q.is-pick { font-weight: 700; }
.hm-qs-grp { margin-bottom: 10px; } .hm-qs-grp b { display: block; font-size: 13px; color: #7A0535; margin-bottom: 6px; }
.hm-qs-change { margin-top: 10px; border: 0; background: none; padding: 0; font: inherit; font-size: 13px; color: #91063F; text-decoration: underline; cursor: pointer; }
@media (max-width: 760px) {
  .hm-topics2 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .hm-tp2 { min-height: 74px; font-size: 12.5px; padding: 10px 4px; }
  .hm-tp2 svg { width: 26px; height: 26px; }
  .trac-home.hm .hm-ask h1.hm-title::before, .trac-home.hm .hm-ask h1.hm-title::after { display: none; }
}
.trac-home.hm .hm-ask h1.hm-title .hm-tt { flex: 0 1 auto; }
/* The taller card (with the topic tiles) starts higher so it fits on one screen. */
@media (min-width: 1001px) { .trac-home-mode section.trac-home.hm { padding-top: calc(6vh + 10px) !important; } }
.trac-home.hm .hm-ask h1.hm-title { font-size: clamp(26px, 2.6vw, 40px) !important; }
.trac-home.hm .hm-ask h1.hm-title::before, .trac-home.hm .hm-ask h1.hm-title::after { flex-basis: 70px; }

/* ===== b92: home ask card as in the owner's picture (3 Nov 2026) — "Ask Your Question" tab on the left, a big box,
   Attach (and the method, in the astrologer's view) on the left, the microphone and a clear "Ask" button on the right. ===== */
.trac-home.hm .hm-ask .ask-wrap.ask-home{position:relative;margin-top:28px !important;padding:0 18px 18px !important;text-align:left;border:1.5px solid #EBB9CD !important;border-radius:24px !important;
  background:linear-gradient(180deg,#FCE9F0 0%,#FFF5F8 55%,#FFFBF8 100%) !important;box-shadow:0 10px 28px rgba(122,5,53,.10) !important;overflow:visible}
.trac-home.hm .hm-ask .ask-wrap.ask-home::before{content:"";position:absolute;right:0;top:0;width:50%;height:78px;border-top-right-radius:24px;pointer-events:none;
  background:radial-gradient(130% 100% at 100% 0%,rgba(226,181,71,.45) 0%,rgba(246,222,154,.28) 28%,rgba(158,18,88,.10) 55%,transparent 75%)}
.trac-home.hm .hm-ask .ask-wrap.ask-home .ask-head{position:relative;z-index:1;display:inline-flex;align-items:center;gap:10px;margin:-1.5px 0 14px -19.5px;padding:13px 34px 13px 24px;
  color:#fff;font-weight:700;font-size:clamp(18px,1.5vw,23px);letter-spacing:.2px;border-radius:24px 6px 26px 0;
  background:linear-gradient(120deg,#C2185B 0%,#9E1258 45%,#7A0535 100%);box-shadow:0 6px 14px rgba(122,5,53,.22)}
.trac-home.hm .hm-ask .ask-wrap.ask-home .ask-head svg{color:#FFE08A;flex:none}
.trac-home.hm .hm-ask .ask-wrap.ask-home .trac-chatbox{position:relative;z-index:1;display:flex !important;flex-direction:column !important;gap:14px !important;min-height:0 !important;
  padding:16px 18px 16px !important;border:1.5px solid #B9A6C9 !important;border-radius:16px !important;background:#fff !important;box-shadow:none !important}
.trac-home.hm .hm-ask .ask-wrap.ask-home .trac-chatbox:focus-within{border-color:#91063F !important;box-shadow:0 0 0 3px rgba(145,6,63,.12) !important}
.trac-home.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input{background-image:none !important;padding:4px 4px 0 !important;margin:0 !important;height:56px !important;min-height:56px !important;font-size:clamp(17px,1.3vw,21px) !important}
.trac-home.hm .hm-ask .ask-wrap.ask-home .ask-tools,.trac-home.hm .hm-ask .ask-wrap.ask-home .ask-tools-right{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:12px !important;width:100% !important;flex-wrap:wrap}
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill{display:inline-flex !important;align-items:center;gap:9px;width:auto !important;height:46px !important;margin:0 !important;padding:0 22px 0 18px !important;
  border-radius:999px !important;border:1px solid #F1D3DF !important;background:#FBE8EF !important;color:#111827 !important;font-weight:600;font-size:16px;line-height:1;box-shadow:none !important}
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill svg{color:#7A0535}
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill:hover{background:#F8D9E5 !important}
.trac-home.hm .hm-ask .ask-wrap.ask-home .ask-model-btn{height:46px !important;border-radius:999px !important;background:#FBE8EF !important;border:1px solid #F1D3DF !important}
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-mic{margin-left:auto !important;width:50px !important;height:50px !important;border-radius:50% !important;background:#FBE8EF !important;color:#7A0535 !important;border:1px solid #F1D3DF !important}
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-send.ask-go{display:inline-flex !important;align-items:center;justify-content:center;gap:10px;width:auto !important;height:52px !important;padding:0 34px 0 28px !important;
  border-radius:999px !important;border:0 !important;background:linear-gradient(120deg,#9E1258,#7A0535) !important;color:#fff !important;font-weight:700;font-size:19px !important;line-height:1;box-shadow:0 6px 16px rgba(122,5,53,.28) !important;cursor:pointer}
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-send.ask-go:hover{filter:brightness(1.08)}
@media (max-width:640px){
  .trac-home.hm .hm-ask .ask-wrap.ask-home{padding:0 12px 12px !important}
  .trac-home.hm .hm-ask .ask-wrap.ask-home .ask-head{margin-left:-13.5px;padding:10px 24px 10px 16px}
  .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill{padding:0 14px !important}
  .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill span{display:none}
  .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-send.ask-go{padding:0 22px !important}
}
.trac-home.hm .hm-ask .ask-wrap.ask-home .ask-head{display:flex;width:fit-content;margin-right:auto}
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill,.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill span{font-size:16px !important;font-weight:600 !important}

/* Main page, large screens: normal sizes, a little higher, with the space between parts following the window height so it fits without scrolling (owner, 3 Nov 2026). */
@media (min-width: 1001px) {
  .trac-home-mode section.trac-home.hm { padding-top: calc(6vh + 10px) !important; padding-bottom: 6px !important; }
  .trac-home-mode section.trac-home.hm > .hm-hero { margin-top: 0 !important; margin-bottom: auto !important; }
  .trac-home.hm .hm-ask { padding-top: clamp(12px, 2.6vh, 28px) !important; padding-bottom: clamp(12px, 2.4vh, 24px) !important; }
  .trac-home.hm .hm-ask .trac-home-using:not([hidden]) { margin-bottom: clamp(10px, 2.4vh, 26px) !important; }
  .trac-home.hm .hm-ask .hm-topics2 { margin-top: clamp(10px, 2vh, 20px) !important; }
  .trac-home.hm .hm-ask .ask-wrap.ask-home { margin-top: clamp(10px, 2vh, 22px) !important; }
}
/* Only on shorter windows: a gentle trim, so the normal look stays and nothing scrolls. */
@media (min-width: 1001px) and (max-height: 800px) {
  .trac-home-mode section.trac-home.hm { padding-top: 6vh !important; padding-bottom: 0 !important; }
  .trac-home.hm .hm-ask { padding-top: 14px !important; padding-bottom: 12px !important; }
  .trac-home.hm .hm-ask .trac-home-using:not([hidden]) { padding-top: 9px !important; padding-bottom: 9px !important; }
  .trac-home.hm .hm-ask .hu-ic { width: 46px !important; height: 46px !important; }
  .trac-home.hm .hm-ask .hu-text b { font-size: 21px !important; }
  .trac-home.hm .hm-ask .hu-detail { font-size: 16px !important; }
  .trac-home.hm .hm-ask h1.hm-title { font-size: clamp(26px, 2.5vw, 34px) !important; margin-bottom: 4px !important; }
  .trac-home.hm .hm-ask .hm-tp2 { min-height: 68px !important; padding: 7px 4px !important; gap: 4px !important; }
  .trac-home.hm .hm-ask .hm-tp2 svg { width: 26px !important; height: 26px !important; }
  .trac-home.hm .hm-ask .ask-wrap.ask-home { padding-bottom: 12px !important; }
  .trac-home.hm .hm-ask .ask-wrap.ask-home .ask-head { padding-top: 9px !important; padding-bottom: 9px !important; margin-bottom: 9px !important; }
  .trac-home.hm .hm-ask .ask-wrap.ask-home .trac-chatbox { padding: 10px 16px !important; gap: 8px !important; }
  .trac-home.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { height: 38px !important; min-height: 38px !important; }
  .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-send.ask-go { height: 46px !important; }
}

/* Main page, large screens: the page opens fitted to the screen with no scrollbar; the left menu keeps its own (owner, 3 Nov 2026). The normal page scrollbar
   comes back as soon as the content needs it: typing more lines, topic questions or answers. The footer stays at the bottom, tight. */
@media (min-width: 1001px) {
  body:not(.ask-grown) .trac.trac-home-mode:not(:has([data-hm-qs]:not([hidden]), .nc-answers, .nc-offer)) .trac-col,
  body:not(.ask-grown) .trac.trac-home-mode:not(:has([data-hm-qs]:not([hidden]), .nc-answers, .nc-offer)) main.trac-main { overflow: hidden !important; }
  .trac.trac-home-mode section.trac-home.hm > .site-footer { margin-top: auto !important; padding-top: 4px !important; padding-bottom: 2px !important; }
}

/* Main page: the line under the heading is removed; the topic cards already show the same list (owner, 3 Nov 2026). */
.trac-home.hm .hm-ask .hm-sub { display: none !important; }
@media (min-width: 1001px) { .trac-home.hm .hm-ask .hm-topics2 { margin-top: clamp(20px, 3.4vh, 32px) !important; } }

/* Main page: the heading is removed and the ask box takes its space, on any screen size (owner, 3 Nov 2026). */
.trac-home.hm .hm-ask .hm-title { display: none !important; }
@media (min-width: 1001px) {
  .trac-home.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { height: clamp(96px, 15vh, 150px) !important; min-height: clamp(96px, 15vh, 150px) !important; max-height: 240px !important; }
}
@media (min-width: 1001px) { .trac-home.hm .hm-ask .ask-wrap.ask-home { margin-top: clamp(24px, 3.8vh, 36px) !important; } }

/* Main page: the "Ask Your Question" tab is removed (owner, 3 Nov 2026). */
.trac-home.hm .hm-ask .ask-wrap.ask-home .ask-head { display: none !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home { padding-top: 14px !important; }

/* Main page: taller topic cards (owner, 3 Nov 2026). */
@media (min-width: 1001px) {
  .trac-home.hm .hm-ask .hm-tp2 { min-height: clamp(100px, 16vh, 130px) !important; gap: 9px !important; }
  .trac-home.hm .hm-ask .hm-tp2 svg { width: 32px !important; height: 32px !important; }
}

/* ===== b94: the reading follows what is chosen on the left (owner, 4 Nov 2026) — "Reading of <choice>" heading, the
   tabs of the chosen chart, and the Overall Picture as one slim line that opens on a tap. ===== */
.ws-readbar .ws-readof{font-size:18px;font-weight:700;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.ws-readbar .ws-read-h{letter-spacing:.04em}
.ws-rtabs{display:flex;flex-wrap:wrap;gap:8px;padding:10px 14px 6px}
.ws-rtabs[hidden]{display:none}
.ws-rt{height:36px;padding:0 16px;border-radius:999px;border:1px solid #F1D3DF;background:#FBE8EF;color:#111827;font-weight:600;font-size:14px;cursor:pointer;white-space:nowrap}
.ws-rt:hover{background:#F8D9E5}
.ws-rt.is-on{background:#7A0535;border-color:#7A0535;color:#fff}
.trac-ws .ov{margin:10px 14px 0}
.ov.is-min{padding:8px 14px}
.ov.is-min p{display:none}
.ov .ov-x{margin-left:auto;font-size:13px;font-weight:700;color:#7A0535;background:none;border:0;cursor:pointer;padding:2px 4px;transform:none !important}
.ov.is-min .ov-h b{font-size:14px}
@media (max-width:640px){.ws-rt{height:34px;padding:0 12px;font-size:13px}.ws-readbar .ws-readof{font-size:16px}}

/* ===== b95: left menu in navy with gold icons (owner, 4 Nov 2026: "change only colour combination"). Same structure, items,
   sizes, stars and light band as before; owner later: magenta family (#91063F), not navy, the icons stay gold. Logo unchanged. ===== */
.side-nav {
  background:
    radial-gradient(circle at 104% 101%, transparent 74px, rgba(255,212,59,.16) 75px, transparent 77px, transparent 104px, rgba(255,212,59,.09) 105px, transparent 107px) no-repeat,
    linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,.05) 38% 54%, transparent 54%) no-repeat,
    radial-gradient(1px 1px at 18% 22%, rgba(255,255,255,.5), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1px 1px at 72% 14%, rgba(255,255,255,.38), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1.3px 1.3px at 44% 63%, rgba(255,212,59,.6), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(1px 1px at 86% 52%, rgba(255,255,255,.32), transparent) 0 0 / 230px 250px repeat,
    radial-gradient(130% 30% at 25% 0%, #B0186A 0%, rgba(176,24,106,0) 75%) no-repeat,
    linear-gradient(180deg, #9E1258 0%, #91063F 38%, #7A0535 70%, #5E0429 100%) !important;
}
.side-nav .sn-grp { color: #FFD9E6 !important; }
.side-nav .sn-item { color: #FFFFFF !important; }
.side-nav .sn-item:hover { background: rgba(255,255,255,.10) !important; }
.side-nav .sn-item.is-on { background: #FFFFFF !important; color: #91063F !important; box-shadow: 0 6px 16px rgba(0,0,0,.30), inset 4px 0 0 #FFD43B !important; }
.side-nav .sn-item.sn-item svg { background: linear-gradient(145deg, #7A0535, #5E0429) !important; color: #FFD43B !important;
  box-shadow: inset 0 0 0 1.5px #E2B547, 0 2px 5px rgba(0,0,0,.3) !important; }
.side-nav .sn-item:hover svg { box-shadow: inset 0 0 0 1.5px #F6DE9A, 0 3px 7px rgba(0,0,0,.35) !important; }
.side-nav .sn-item.sn-item.is-on svg { background: linear-gradient(145deg, #9E1258, #91063F) !important; color: #FFE48A !important; box-shadow: inset 0 0 0 1.5px #E2B547 !important; }
.side-nav .sn-paid { color: #FFE3EC !important; border-color: rgba(255,255,255,.4) !important; }
.side-nav::-webkit-scrollbar-track { background: #7A0535 !important; }
.side-nav::-webkit-scrollbar-thumb { background: #C26A92 !important; border-color: #7A0535 !important; }

/* ===== b96: Kundli / Birth Chart page in the new style (owner, 4 Nov 2026: standing rules — navy with gold, grey page, white cards,
   ITADC text boxes and buttons, ITADC tables and messages). Scoped to the Kundli workspace, its "This reading is for" bar,
   the top strip and the birth-details form. ===== */
:root{ --nv:#91063F; --nv2:#9E1258; --nv3:#B0186A; --nvd:#7A0535; --nvl:#FBE8EF; --nvline:#F1DCE5; --gd:#FFD43B; --gd2:#E2B547;
       --pg:#f4f6f9; --tx:#111827; --bd:#cbd5e1; --ok:#15803d; --err:#DC2626; }

/* the top strip on every page: Simple/Astrologer, text size, Login */
.th .th-strip .th-view, .th .th-strip .th-size { background:#fff !important; border-color:var(--nvline) !important; }
.th .th-strip .th-view button, .th .th-strip .th-size button { color:var(--nv) !important; border-color:var(--nvline) !important; }
.th .th-strip .th-view button.is-on, .th .th-strip .th-view button[aria-pressed="true"], .th .th-strip .th-size button.is-on { background:var(--nv) !important; color:#fff !important; }
.th .th-sep { background:var(--nvline) !important; }
.th .th-login, .th .th-mycharts { background:var(--nv) !important; background-image:none !important; color:#fff !important; border:1px solid var(--nv) !important; box-shadow:none !important; }
.th .trac-lang, .th .trac-lang-code, .th .trac-lang select { color:var(--nv) !important; }

/* "This reading is for" bar */
.pr-bar { background:var(--nv) !important; background-image:none !important; box-shadow:0 2px 8px rgba(17,24,39,.10) !important; border:0 !important; }
.pr-bar .hu-ic { background:#fff !important; color:var(--nv) !important; }
.pr-bar .hu-label { color:#FFD9E6 !important; } .pr-bar .hu-detail { color:#e6efff !important; } .pr-bar b { color:#fff !important; }
.pr-bar .pr-change { background:var(--gd) !important; background-image:none !important; color:var(--nvd) !important; border:0 !important; border-radius:10px !important; font-weight:700 !important; box-shadow:none !important; }

/* the workspace: grey page, white cards */
.trac-main:has(.trac-ws:not([hidden])) { background:var(--pg); }
.trac-ws .trac-ws-left, .trac-ws .trac-ws-right, .trac-ws .trac-ws-details { background:#fff !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:0 2px 8px rgba(17,24,39,.05) !important; }
.trac-ws .ws-seg { background:var(--pg) !important; }
.trac-ws .ws-seg button { color:#475569 !important; }
.trac-ws .ws-seg button.is-on { background:#fff !important; color:var(--nv) !important; box-shadow:0 1px 3px rgba(17,24,39,.12) !important; }
.trac-ws .ws-seg button.is-on .ws-seg-ic, .trac-ws .ws-seg button.is-on .ws-seg-tx { color:var(--nv) !important; }
.trac-ws .ws-seg-ic, .trac-ws .ws-seg-tx { color:#475569 !important; }
/* ITADC text boxes: the chart picker and the page picker */
.trac-ws select, .trac-ws .trac-ws-more, .trac-ws .ws-combo, .trac-ws input[type=text], .trac-ws input[type=number], .trac-ws input[type=date] {
  height:38px !important; border:1px solid var(--bd) !important; border-radius:8px !important; background-color:#fff !important; color:var(--tx) !important; box-shadow:none !important; }
.trac-ws select:focus, .trac-ws input:focus { outline:none !important; border-color:var(--nv) !important; box-shadow:0 0 0 3px rgba(145,6,63,.15) !important; }
/* the toolbar: plain grey-bordered buttons; the chosen style (North/South/East) in navy */
.trac-ws .trac-ws-btn, .trac-ws .gl, .trac-ws [data-ws-styles] button { color:var(--tx) !important; border-color:var(--bd) !important; background:#fff !important; border-radius:8px !important; box-shadow:none !important; }
.trac-ws [data-ws-styles] button.is-on, .trac-ws [data-ws-styles] button[aria-pressed="true"] { background:var(--nv) !important; color:#fff !important; border-color:var(--nv) !important; }
.trac-ws .trac-ws-tabs button.is-on, .trac-ws .trac-ws-tabs [aria-selected="true"] { color:var(--nv) !important; border-color:var(--nv) !important; }
/* the system badge (Parashari, KP …) and the reading bar */
[data-sec-tabs="kundli"] .sec-tab.is-on, .trac-ws .sec-tab.is-on { background:var(--nv) !important; background-image:none !important; color:#fff !important; border-color:var(--nv) !important; box-shadow:none !important; }
[data-sec-tabs="kundli"] .sec-tab:not(.is-on) { color:var(--nv) !important; border-color:var(--nvline) !important; background:#fff !important; }
.trac-ws .ws-readbar { background:#fff !important; border-bottom:1px solid #e5e7eb !important; }
.trac-ws .ws-readbar .ws-read-h { color:#64748b !important; } .trac-ws .ws-readbar .ws-readof { color:var(--nv) !important; }
.trac-ws .ws-rt { background:#fff !important; color:var(--tx) !important; border:1px solid var(--bd) !important; border-radius:10px !important; font-weight:700 !important; height:36px !important; }
.trac-ws .ws-rt:hover { background:var(--nvl) !important; }
.trac-ws .ws-rt.is-on { background:var(--nv) !important; color:#fff !important; border-color:var(--nv) !important; }
/* Overall picture as an ITADC information line */
.trac-ws .ov { background:var(--nvl) !important; border:1px solid #c7d2fe !important; border-left:4px solid var(--nv) !important; }
.trac-ws .ov-k { color:var(--nv) !important; } .trac-ws .ov-x { color:var(--nv) !important; } .trac-ws .ov.ov-tg { border-left-color:var(--ok) !important; } .trac-ws .ov.ov-tc { border-left-color:#b45309 !important; }
/* headings inside the readings: navy, not orange */
.trac-ws h2, .trac-ws h3, .trac-ws h4 { color:var(--nv) !important; }
/* ITADC tables: a dark header row with white text, thin row lines */
.trac-ws .trac-table thead th, .trac-ws table.trac-table th { background:var(--nvd) !important; color:#fff !important; border-color:var(--nvd) !important; font-size:13px; }
.trac-ws .trac-table td { border-color:#e5e7eb !important; }
.trac-ws .trac-table tbody tr:nth-child(even) td { background:#f8fafc; }
/* messages */
.trac-ws .trac-alert { background:#fef2f2 !important; border:1px solid #fecaca !important; color:#991b1b !important; border-radius:10px !important; }
.trac-ws .trac-hint { background:var(--nvl) !important; border-color:#c7d2fe !important; color:#1e3a8a !important; }
.hp-btn { background:var(--nv) !important; background-image:none !important; color:#fff !important; }

/* the birth-details form (Kundli / Birth Chart drawer) */
.trac-drawer .bf-sys button.is-on, .trac-drawer .bf-sys [aria-selected="true"] { color:var(--nv) !important; border-color:var(--nv) !important; }
.trac-drawer .bf-step, .trac-drawer .bf-step b, .trac-drawer [class*="bf-num"], .trac-drawer .bf-sec-h { color:var(--nv) !important; }
.trac-drawer input[type=text], .trac-drawer input[type=date], .trac-drawer input[type=time], .trac-drawer input[type=number], .trac-drawer input:not([type]), .trac-drawer select, .trac-drawer textarea {
  height:40px !important; border:1px solid var(--bd) !important; border-radius:8px !important; background-color:#fff !important; color:var(--tx) !important; box-shadow:none !important; }
.trac-drawer input:focus, .trac-drawer select:focus { outline:none !important; border-color:var(--nv) !important; box-shadow:0 0 0 3px rgba(145,6,63,.15) !important; }
.trac-drawer .trac-btn { height:40px !important; border-radius:10px !important; font-weight:700 !important; box-shadow:none !important; background-image:none !important; }
.trac-drawer .trac-btn.bf-submit { background:var(--nv) !important; color:#fff !important; border:1px solid var(--nv) !important; }
.trac-drawer .trac-btn.bf-submit:hover { background:var(--nv2) !important; }
.trac-drawer .trac-btn.ghost { background:#fff !important; color:var(--tx) !important; border:1px solid #d1d5db !important; }
.th .th-strip .th-sep { background:var(--nvline) !important; }
.th .th-strip .trac-lang, .th .th-strip .trac-lang *, .th .th-strip .trac-lang-code { color:var(--nv) !important; }
.trac-ws .trac-ws-charts .trac-ws-more { border:1px solid var(--bd) !important; color:var(--tx) !important; }
.trac-ws .trac-ws-charts .trac-ws-more:focus { border-color:var(--nv) !important; }
body:has(.trac-ws:not([hidden])) .trac-main, body:has(.trac-ws:not([hidden])) { background:var(--pg) !important; }
.trac-drawer .trac-form .trac-btn.bf-submit, .trac-drawer .trac-form .trac-btn.bf-submit:hover { background:var(--nv) !important; background-image:none !important; border-color:var(--nv) !important; color:#fff !important; box-shadow:none !important; }
.trac-drawer .trac-form .trac-btn.bf-submit:hover { background:var(--nv2) !important; }
.trac-drawer .bf-sys button.is-on { color:var(--nv) !important; border-bottom-color:var(--nv) !important; }
.trac-drawer .bf-seg input:checked + span { color:var(--nv) !important; box-shadow:0 1px 3px rgba(17,24,39,.14), inset 0 -2px 0 var(--nv) !important; }
.trac-drawer .bf-section-title { color:var(--nv) !important; }
.trac-drawer .bf-step { background:var(--nvl) !important; color:var(--nv) !important; }
.trac-drawer .bf-head { background:#fff !important; background-image:none !important; border-bottom:1px solid #e5e7eb !important; }
.trac-drawer .bf-placeinfo { background:var(--nvl) !important; color:var(--nv) !important; border-color:#c7d2fe !important; }
.trac-drawer .bf-adv { background:#f8fafc !important; border-color:#e5e7eb !important; }
.trac-drawer .trac-error { color:var(--err) !important; }
.trac-ws [data-ws-print], .trac-ws [data-ws-print] svg { color:var(--nv) !important; }

/* ===== b97: Panchang pages in the new style (owner, 4 Nov 2026: "make it more user friendly"; standing rules: navy and gold, grey
   page, white cards, ITADC boxes, buttons and tables). The compact topic row, a header card with the place and date, and the
   Dainik "day at a glance" (.pt-*). ===== */
.tp-page, .tp-page .app-col, .tp-page .tp-main { background:var(--pg) !important; }
.tp-page .tp-main { padding-top:12px !important; }
/* topic row */
.pm3 { background:transparent !important; border:0 !important; box-shadow:none !important; padding:12px 0 0 !important; margin:0 !important; }
.pm3-row { display:flex; flex-wrap:wrap; gap:8px; align-items:center; position:relative; }
.pm3-tab { display:inline-flex; align-items:center; gap:7px; height:38px; padding:0 14px; border-radius:10px; border:1px solid var(--bd); background:#fff; color:var(--tx); font-weight:600; font-size:14px; text-decoration:none; }
.pm3-tab .pm2-ic { display:inline-flex; } .pm3-tab .pm2-ic svg { width:17px; height:17px; color:var(--nv); }
.pm3-tab:hover { background:var(--nvl); }
.pm3-tab.is-on { background:var(--nv); border-color:var(--nv); color:#fff; } .pm3-tab.is-on .pm2-ic svg { color:var(--gd); }
.pm3-all { margin-left:auto; position:relative; }
.pm3-all > summary { list-style:none; cursor:pointer; height:38px; padding:0 14px; border-radius:10px; border:1px solid var(--bd); background:#fff; color:var(--nv); font-weight:700; font-size:14px; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.pm3-all > summary::-webkit-details-marker { display:none; }
.pm3-all[open] > summary { border-color:var(--nv); box-shadow:0 0 0 3px rgba(145,6,63,.12); }
.pm3-pop { position:absolute; right:0; top:44px; z-index:30; width:min(860px, 92vw); background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 12px 30px rgba(17,24,39,.16); padding:14px 16px; }
.pm3-pop .pm2-card-h { font-weight:700; color:var(--nv); margin:0 0 10px; background:none !important; padding:0 !important; border:0 !important; }
.pm3 .pm2-block-h { color:var(--mut, #64748b) !important; }
.pm3 .pm2-link { border:1px solid #e5e7eb !important; border-radius:8px !important; background:#fff !important; color:var(--tx) !important; }
.pm3 .pm2-link:hover { background:var(--nvl) !important; }
.pm3 .pm2-link.is-on { background:var(--nv) !important; color:#fff !important; border-color:var(--nv) !important; }
/* header card: title on the left, place and date on the right */
.tp-page .pm-here { color:#64748b !important; font-size:13px; margin:10px 0 8px !important; } .tp-page .pm-here a { color:var(--nv) !important; }
.pt-top { display:flex; flex-wrap:wrap; align-items:flex-end; gap:12px 20px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 2px 8px rgba(17,24,39,.05); padding:14px 18px; margin-bottom:14px; }
.pt-top .tp-hero { flex:1 1 340px; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; }
.pt-top .tp-hero h1 { margin:0 0 4px !important; font-family:"Segoe UI",Inter,Arial,sans-serif !important; font-size:24px !important; font-weight:700 !important; color:var(--nv) !important; }
.pt-top .tp-hero-lead { margin:0 !important; font-size:14px !important; color:#475569 !important; } .pt-top .tp-hero-lead b { color:#334155; }
.pt-top .tp-controls { flex:0 1 auto; margin:0 !important; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
.tp-page .tp-field label { font-size:12px !important; font-weight:700 !important; color:#374151 !important; text-transform:none !important; letter-spacing:0 !important; }
.tp-page .tp-controls input, .tp-page .tp-controls select { height:38px !important; border:1px solid var(--bd) !important; border-radius:8px !important; background:#fff !important; color:var(--tx) !important; box-shadow:none !important; font-size:14px !important; }
.tp-page .tp-controls input:focus, .tp-page .tp-controls select:focus { outline:none !important; border-color:var(--nv) !important; box-shadow:0 0 0 3px rgba(145,6,63,.15) !important; }
.tp-page .tp-place { min-width:260px; }
.tp-page .tp-stepbtn { width:38px !important; height:38px !important; border:1px solid #d1d5db !important; border-radius:10px !important; background:#fff !important; color:var(--tx) !important; display:inline-flex; align-items:center; justify-content:center; box-shadow:none !important; }
.tp-page .tp-go { height:38px !important; padding:0 18px !important; border-radius:10px !important; background:var(--nv) !important; background-image:none !important; border:1px solid var(--nv) !important; color:#fff !important; font-weight:700 !important; box-shadow:none !important; }
.tp-page .tp-go:hover { background:var(--nv2) !important; }
.tp-page .tp-today { height:38px !important; padding:0 16px !important; border-radius:10px !important; background:#fff !important; border:1px solid #d1d5db !important; color:var(--tx) !important; font-weight:700 !important; display:inline-flex; align-items:center; }
/* the cards and tables of every Panchang page */
.tp-page .tp-card { background:#fff !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:0 2px 8px rgba(17,24,39,.05) !important; }
.tp-page .tp-card h2 { background:#fff !important; color:var(--nv) !important; border-bottom:1px solid #eef2f7 !important; }
.tp-page .tp-fact dt { color:#64748b !important; } .tp-page .tp-fact dd { color:var(--tx) !important; }
.tp-page .tp-fact { background:#f8fafc !important; border-color:#eef2f7 !important; }
.tp-page .tp-table th { background:var(--nvd) !important; color:#fff !important; }
.tp-page .tp-table td { border-color:#eef2f7 !important; }
.tp-page .tp-error { background:#fef2f2 !important; border:1px solid #fecaca !important; color:#991b1b !important; border-radius:10px !important; }
.tp-page .tp-cal-day.is-today { outline:2px solid var(--nv) !important; }

/* the Dainik page at a glance */
.pt { display:block; }
.pt-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 2px 8px rgba(17,24,39,.05); padding:16px 18px; margin-bottom:14px; }
.pt-card h2 { margin:0 0 12px; font-size:17px; font-weight:700; color:var(--nv); font-family:"Segoe UI",Inter,Arial,sans-serif; }
.pt-k { font-size:12px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; color:#64748b; }
.pt-now { display:flex; flex-wrap:wrap; gap:12px 20px; align-items:center; border-left:5px solid #94a3b8; }
.pt-now.is-good { border-left-color:var(--ok); } .pt-now.is-bad { border-left-color:var(--err); }
.pt-now-l { flex:1 1 360px; } .pt-now-r { text-align:right; margin-left:auto; }
.pt-now-big { font-size:22px; font-weight:800; margin:2px 0 4px; color:#334155; }
.pt-now.is-good .pt-now-big { color:var(--ok); } .pt-now.is-bad .pt-now-big { color:var(--err); }
.pt-now-t { font-size:14px; color:#475569; } .pt-now-t b { color:var(--tx); }
.pt-pill { display:inline-block; padding:4px 12px; border-radius:999px; font-size:13px; font-weight:700; margin-bottom:6px; }
.pt-pill.is-good { background:#ecfdf5; color:var(--ok); border:1px solid #a7f3d0; } .pt-pill.is-bad { background:#fef2f2; color:var(--err); border:1px solid #fecaca; } .pt-pill.is-mid { background:#f1f5f9; color:#334155; border:1px solid #e2e8f0; }
.pt-fest { display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; border-left:5px solid var(--gd); }
.pt-fest-i b { color:var(--nv); } .pt-fest-i small { color:#64748b; }
.pt-bar { position:relative; height:30px; border-radius:8px; background:#e5e7eb; overflow:hidden; }
.pt-seg { position:absolute; top:0; bottom:0; } .pt-seg.is-bad { background:#fca5a5; } .pt-seg.is-good { background:#86efac; }
.pt-nowline { position:absolute; top:0; bottom:0; width:3px; margin-left:-1px; background:var(--nv); box-shadow:0 0 0 2px #fff; }
.pt-ticks { position:relative; height:20px; margin-top:4px; font-size:12px; color:#64748b; }
.pt-tick { position:absolute; transform:translateX(-50%); } .pt-tick-end { position:absolute; left:0; font-weight:600; } .pt-tick-end.is-r { left:auto; right:0; }
.pt-key { font-size:12.5px; color:#64748b; margin:8px 0 0; }
.pt-sw { display:inline-block; width:12px; height:12px; border-radius:3px; vertical-align:-1px; } .pt-sw.is-good { background:#86efac; } .pt-sw.is-bad { background:#fca5a5; } .pt-sw.is-now { background:var(--nv); width:4px; }
.pt-five { display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:10px; }
.pt-limb { border:1px solid #e5e7eb; border-radius:10px; padding:12px; background:#fff; }
.pt-v { font-size:18px; font-weight:800; color:var(--nv); margin:4px 0 2px; line-height:1.25; } .pt-arrow { color:var(--gd2, #E2B547); }
.pt-w { font-size:13.5px; color:#374151; }
.pt-n { font-size:13px; color:#475569; margin-top:8px; padding-top:8px; border-top:1px dashed #e5e7eb; } .pt-n.is-bad { color:var(--err); }
.pt-cols { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.pt-table { width:100%; border-collapse:collapse; font-size:14px; }
.pt-table th { background:var(--nvd); color:#fff; text-align:left; padding:8px 10px; font-size:13px; font-weight:700; }
.pt-table td { padding:8px 10px; border-bottom:1px solid #eef2f7; vertical-align:top; white-space:nowrap; } .pt-table td:first-child { white-space:normal; }
.pt-table td small { display:block; color:#64748b; font-size:12px; }
.pt-table tr.is-past td { color:#9ca3af; } .pt-table tr.is-past td small { color:#b5bcc6; }
.pt-table tr.is-next td { background:#f0fdf4; font-weight:700; } .pt-table tr.is-on td { background:#fef2f2; font-weight:700; }
.pt-table tr.is-mid td:first-child { color:#64748b; }
.pt-next { display:inline-block; margin-left:6px; padding:1px 8px; border-radius:999px; font-size:11px; font-weight:700; background:#ecfdf5; color:var(--ok); border:1px solid #a7f3d0; }
.pt-next.is-bad { background:#fef2f2; color:var(--err); border-color:#fecaca; }
.pt-sun { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:10px; }
.pt-sun div { background:var(--nvl); border-radius:10px; padding:10px 12px; } .pt-sun small { display:block; font-size:12px; font-weight:700; color:#64748b; text-transform:uppercase; } .pt-sun b { font-size:17px; color:var(--nv); }
.pt-me { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; }
.pt-f { display:flex; flex-direction:column; gap:4px; } .pt-f label { font-size:12px; font-weight:700; color:#374151; }
.pt-f select { height:38px; min-width:170px; border:1px solid var(--bd); border-radius:8px; padding:0 10px; background:#fff; color:var(--tx); font-size:14px; }
.pt-f select:focus { outline:none; border-color:var(--nv); box-shadow:0 0 0 3px rgba(145,6,63,.15); }
.pt-btn { height:38px; padding:0 18px; border-radius:10px; border:1px solid var(--nv); background:var(--nv); color:#fff; font-weight:700; cursor:pointer; }
.pt-btn:hover { background:var(--nv2); }
.pt-res { margin-top:12px; } .pt-res ul { list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.pt-res li { padding:9px 12px; border-radius:10px; font-weight:600; font-size:14px; } .pt-res li.is-good { background:#ecfdf5; color:var(--ok); border:1px solid #a7f3d0; } .pt-res li.is-bad { background:#fef2f2; color:var(--err); border:1px solid #fecaca; }
.pt-more { background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 2px 8px rgba(17,24,39,.05); margin-bottom:14px; }
.pt-more > summary { list-style:none; cursor:pointer; display:flex; justify-content:space-between; gap:12px; padding:14px 18px; font-weight:700; color:var(--nv); }
.pt-more > summary::-webkit-details-marker { display:none; }
.pt-more[open] > summary b { visibility:hidden; } .pt-more[open] > summary b::after { content:"Close ▴"; visibility:visible; margin-left:-3.5em; }
.pt-more > .tp-grid { padding:0 14px 14px; }
@media (max-width:1100px) { .pt-five { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:760px) { .pt-five, .pt-cols, .pt-sun { grid-template-columns:1fr 1fr; } .pt-cols { grid-template-columns:1fr; } .pm3-all { margin-left:0; } .pm3-pop { left:0; right:auto; } .pt-now-r { text-align:left; margin-left:0; } }
@media (max-width:480px) { .pt-five { grid-template-columns:1fr; } }
.pm3-tab .pm2-ic { background:none !important; box-shadow:none !important; width:auto !important; height:auto !important; padding:0 !important; }
.tp-page .tp-main a:not(.pm3-tab):not(.pm2-link):not(.tp-stepbtn):not(.tp-today):not(.tp-cal-day) { color:var(--nv) !important; }
.pm3 { padding-left:36px !important; padding-right:36px !important; }
@media (max-width:760px) {
  .pm3 { padding-left:10px !important; padding-right:10px !important; }
  .pm3-row { flex-wrap:nowrap; overflow-x:auto; padding-bottom:4px; scrollbar-width:thin; }
  .pm3-tab, .pm3-all > summary { flex:none; height:36px; font-size:13.5px; }
  .pm3-pop { position:fixed; left:10px; right:10px; top:110px; width:auto; max-height:70vh; overflow:auto; }
}

/* ===== b98 (owner, 4 Nov 2026): whose chart in the top row; table headers that stay on top while scrolling; the Panchang
   calendar in the site colours; one look for every Panchang page. ===== */
/* whose chart, in the top strip */
.th-strip-left:has(.pr-bar:not([hidden])) .th-motto { display:none !important; }
.pr-bar.pr-in-strip { display:flex !important; align-items:center; gap:10px; margin:0 !important; padding:4px 6px 4px 4px !important; min-height:0 !important;
  background:var(--nvl) !important; border:1px solid var(--nvline) !important; border-radius:999px !important; box-shadow:none !important; max-width:100%; }
.pr-bar.pr-in-strip[hidden] { display:none !important; }
.pr-bar.pr-in-strip .hu-ic { width:26px !important; height:26px !important; min-width:26px; background:var(--nv) !important; color:#fff !important; border-radius:50% !important; display:grid; place-items:center; }
.pr-bar.pr-in-strip .hu-ic svg { width:15px; height:15px; }
.pr-bar.pr-in-strip .hu-text { display:flex; align-items:baseline; gap:8px; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:13.5px; }
.pr-bar.pr-in-strip .hu-label { display:none !important; }
.pr-bar.pr-in-strip b { color:var(--nv) !important; font-size:14px !important; }
.pr-bar.pr-in-strip .hu-detail { color:#475569 !important; overflow:hidden; text-overflow:ellipsis; font-size:13.5px !important; margin:0 !important; }
.pr-bar.pr-in-strip .pr-change { height:28px !important; padding:0 12px !important; font-size:13px !important; border-radius:999px !important; white-space:nowrap; }
.th .th-strip-left { min-width:0; flex:1 1 auto; }
@media (max-width:900px) { .pr-bar.pr-in-strip .hu-detail { display:none; } }

/* table headers stay in view while scrolling (Panchang tables) */
@media (min-width:901px) {
  .tp-page .tp-tablewrap, .tp-page .tp-card { overflow:visible !important; }
  .tp-page { overflow:visible !important; overflow-x:clip !important; }
  .tp-page .tp-table thead th { position:sticky !important; top:0 !important; z-index:5; }
}
.tp-page .tp-tablewrap { border:1px solid #e5e7eb !important; border-radius:10px !important; }
.tp-page .tp-table thead th:first-child { border-top-left-radius:9px; } .tp-page .tp-table thead th:last-child { border-top-right-radius:9px; }
.tp-page .tp-table tbody tr:nth-child(even) td { background:#f8fafc; }
.tp-page .tp-table td small { color:#64748b !important; }
.tp-page .tp-table tr.tp-r-purnima td { background:#fff8e1 !important; } .tp-page .tp-table tr.tp-r-amavasya td { background:#f1f5f9 !important; }

/* the calendar in the site colours */
.tp-page .tp-cal-head { background:var(--nvl) !important; color:var(--nv) !important; border:1px solid var(--nvline) !important; border-radius:8px !important; }
.tp-page .tp-cal-day { background:#fff !important; border:1px solid #e5e7eb !important; border-radius:10px !important; box-shadow:none !important; }
.tp-page .tp-cal-day:hover { border-color:var(--nv) !important; box-shadow:0 4px 12px rgba(145,6,63,.10) !important; }
.tp-page .tp-cal-num { font-family:"Segoe UI",Inter,Arial,sans-serif !important; font-weight:700 !important; font-size:20px !important; color:var(--nv) !important; }
.tp-page .tp-cal-day.is-sun .tp-cal-num { color:var(--err) !important; }
.tp-page .tp-cal-top { color:var(--tx) !important; font-weight:600 !important; } .tp-page .tp-cal-line { color:#64748b !important; }
.tp-page .tp-cal-day.is-purnima { background:#fffbea !important; border-color:#F6DE9A !important; }
.tp-page .tp-cal-day.is-amavasya { background:#f1f5f9 !important; border-color:#cbd5e1 !important; }
.tp-page .tp-cal-day.is-ekadashi { background:#f0fdf4 !important; border-color:#bbf7d0 !important; }
.tp-page .tp-cal-day.is-today { outline:2px solid var(--nv) !important; outline-offset:-1px; box-shadow:none !important; }
.tp-page .tp-chip { border-radius:6px !important; font-weight:600 !important; border:1px solid transparent; }
.tp-page .tp-chip.is-festival { background:#e6efff !important; color:var(--nv) !important; border-color:#c7d7f5; }
.tp-page .tp-chip.is-vrat { background:#ecfdf5 !important; color:#166534 !important; border-color:#bbf7d0; }
.tp-page .tp-chip.is-sankranti { background:#fffbea !important; color:#854d0e !important; border-color:#F6DE9A; }
.tp-page .tp-key { border-color:#e5e7eb !important; color:var(--tx) !important; }
.tp-page .tp-key.is-purnima { background:#fffbea !important; } .tp-page .tp-key.is-amavasya { background:#f1f5f9 !important; } .tp-page .tp-key.is-ekadashi { background:#f0fdf4 !important; }
/* the page picker */
.pm3-all > summary small { font-size:11px; font-weight:700; color:#64748b; text-transform:uppercase; letter-spacing:.04em; margin-right:2px; }
.th .th-strip .th-strip-left:has(.pr-bar:not([hidden])) { display:flex !important; align-items:center; }
@media (max-width:760px) { .th .th-strip .th-strip-left:has(.pr-bar:not([hidden])) { display:flex !important; } .pr-bar.pr-in-strip .pr-change { padding:0 8px !important; } }
.tp-page .tp-table tbody tr:hover td { background:var(--nvl) !important; }

/* b99 (owner, 4 Nov 2026): "where you are using dark navy blue use magenta like you used previously": every navy from the b95 block on is now the magenta family; the --nv names are kept. */

/* ===== b100: main page and left menu by the owner's page-by-page style rules (4 Nov 2026): topic cards removed, the ask box takes their
   space; magenta main, gold small highlights, grey page, white cards, solid buttons, less pink; left menu calm, no stars or light band. ===== */
.side-nav { background: linear-gradient(180deg, #91063F 0%, #7A0535 100%) !important; }
.side-nav .sn-item.sn-item svg, .side-nav .sn-item.sn-item.is-on svg { background: #7A0535 !important; box-shadow: inset 0 0 0 1px #E2B547 !important; }
.side-nav .sn-item.is-on { box-shadow: inset 4px 0 0 #FFD43B !important; }

.trac-home-mode, .trac-home-mode .trac-main, .trac-home-mode section.trac-home.hm { background: #f4f6f9 !important; background-image: none !important; }
.trac-home.hm .hm-ask { background: #fff !important; background-image: none !important; border: 1px solid #e5e7eb !important; border-radius: 12px !important; box-shadow: 0 2px 8px rgba(17,24,39,.06) !important; }
.trac-home.hm .hm-ask::before, .trac-home.hm .hm-ask::after { display: none !important; }
.trac-home.hm .hm-ask .trac-home-using { background: #91063F !important; background-image: none !important; border: 0 !important; border-radius: 10px !important; box-shadow: none !important; }
.trac-home.hm .hm-ask .trac-home-using::before, .trac-home.hm .hm-ask .trac-home-using::after { display: none !important; }
.trac-home.hm .hm-ask .hu-ic { background: #fff !important; background-image: none !important; color: #91063F !important; box-shadow: none !important; }
.trac-home.hm .hm-ask .trac-home-change { background: #fff !important; background-image: none !important; color: #91063F !important; border: 1px solid #cbd5e1 !important; border-radius: 10px !important; box-shadow: none !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home { background: #fff !important; background-image: none !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin-top: clamp(14px, 2.4vh, 24px) !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home::before { display: none !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .trac-chatbox { border: 1px solid #cbd5e1 !important; border-radius: 8px !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill, .trac-home.hm .hm-ask .ask-wrap.ask-home .ask-model-btn, .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-mic {
  background: #fff !important; background-image: none !important; color: #91063F !important; border: 1px solid #cbd5e1 !important; box-shadow: none !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill { color: #111827 !important; border-radius: 10px !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .ask-model-btn { border-radius: 10px !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill:hover, .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-mic:hover { background: #f4f6f9 !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-send.ask-go { background: #91063F !important; background-image: none !important; border-radius: 10px !important; box-shadow: none !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-send.ask-go:hover { background: #7A0535 !important; filter: none !important; }
@media (min-width: 1001px) {
  .trac-home.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { height: clamp(150px, 30vh, 300px) !important; min-height: clamp(150px, 30vh, 300px) !important; max-height: 360px !important; }
}
.trac.trac-home-mode main.trac-main { background: #f4f6f9 !important; background-image: none !important; }
.trac-home.hm .hm-ask .trac-home-using:not([hidden]) { background: #91063F !important; background-image: none !important; border-radius: 10px !important; box-shadow: none !important; }

/* Main page: lower ask box, and the card centred up and down in the space above the footer (owner, 4 Nov 2026). */
@media (min-width: 1001px) {
  .trac-home.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { height: clamp(84px, 14vh, 130px) !important; min-height: clamp(84px, 14vh, 130px) !important; max-height: 300px !important; }
  .trac-home-mode section.trac-home.hm { padding-top: 16px !important; padding-bottom: 6px !important; }
  .trac-home-mode section.trac-home.hm > .hm-hero { margin-top: auto !important; margin-bottom: auto !important; }
  .trac.trac-home-mode section.trac-home.hm > .site-footer { margin-top: 0 !important; }
}

/* One button shape (owner, 4 Nov 2026: "why oval size command button ... uniformity"): solid, 10px corners, no ovals. Top row, chart bar, main page. */
.pr-bar .pr-change { background: #fff !important; color: #91063F !important; border: 1px solid #cbd5e1 !important; border-radius: 10px !important; }
.pr-bar .pr-change:hover { background: #f4f6f9 !important; }
.pr-bar.pr-in-strip { border-radius: 10px !important; }
.pr-bar.pr-in-strip .pr-change { background: #91063F !important; color: #fff !important; border: 0 !important; border-radius: 8px !important; }
.pr-bar.pr-in-strip .pr-change:hover { background: #7A0535 !important; }
.th .th-login, .th .th-mycharts, .th .th-strip-right .th-login, .th .th-strip-right .th-mycharts { border-radius: 10px !important; }
.th .th-strip .th-view, .th .th-strip .th-size { border-radius: 10px !important; }
.th .th-strip .th-view button, .th .th-strip .th-size button { border-radius: 8px !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-mic { border-radius: 10px !important; }

/* Change buttons and the person icon in gold with dark magenta, as in the owner's picture, so they are easy to spot (4 Nov 2026). Shape stays 10px corners. */
.pr-bar .pr-change, .pr-bar.pr-in-strip .pr-change, .trac-home.hm .hm-ask .trac-home-change { background: #FFD43B !important; background-image: none !important; color: #7A0535 !important; border: 0 !important; font-weight: 700 !important; }
.pr-bar .pr-change:hover, .pr-bar.pr-in-strip .pr-change:hover, .trac-home.hm .hm-ask .trac-home-change:hover { background: #FFC81F !important; }
.pr-bar .hu-ic, .pr-bar.pr-in-strip .hu-ic, .trac-home.hm .hm-ask .hu-ic { background: #FFD43B !important; background-image: none !important; color: #7A0535 !important; }

/* Chart bar in the top row: white with a thin grey edge (owner, 4 Nov 2026: less pink); the ascendant and gender moved to the tooltip so the line is not cut. */
.pr-bar.pr-in-strip { background: #fff !important; background-image: none !important; border: 1px solid #cbd5e1 !important; box-shadow: none !important; }

/* Chart bar: magenta with white text; black on every gold part (owner, 4 Nov 2026). */
.pr-bar.pr-in-strip { background: #91063F !important; background-image: none !important; border: 0 !important; }
.pr-bar.pr-in-strip b, .pr-bar.pr-in-strip .hu-detail, .pr-bar.pr-in-strip .hu-text { color: #fff !important; }
.pr-bar .pr-change, .pr-bar.pr-in-strip .pr-change, .trac-home.hm .hm-ask .trac-home-change,
.pr-bar .hu-ic, .pr-bar.pr-in-strip .hu-ic, .trac-home.hm .hm-ask .hu-ic { color: #000 !important; }

/* Panchang sub menu in plain view (owner, 4 Nov 2026, "build"): topic row, then a white card with the main pages and More pages; calendar labels and row highlight no longer blue. */
.pm3-pages { position:relative; background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:12px 14px; margin-top:10px; box-shadow:0 2px 8px rgba(17,24,39,.06); }
.pm3-ask { margin:0 0 9px !important; font-size:13px !important; font-weight:600; color:#475569 !important; }
.pm3-chips { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.pm3 .pm2-link.pm3-chip { display:inline-flex; align-items:center; height:34px; padding:0 12px !important; border:1px solid #cbd5e1 !important; border-radius:8px !important; background:#fff !important; color:#111827 !important; font-size:14px; font-weight:500; text-decoration:none !important; white-space:nowrap; }
.pm3 .pm2-link.pm3-chip:hover { background:#f4f6f9 !important; }
.pm3 .pm2-link.pm3-chip.is-on { background:#FBE8EF !important; border-color:#91063F !important; color:#7A0535 !important; font-weight:700; }
.pm3 .pm3-all { position:static; margin:0 !important; }
.pm3 .pm3-all > summary { height:34px; padding:0 12px; border:0; border-radius:8px; background:#FFD43B; color:#000; font-size:14px; font-weight:700; display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.pm3 .pm3-all > summary:hover { background:#FFC81F; }
.pm3 .pm3-all[open] > summary { box-shadow:none; }
.pm3 .pm3-pop { left:14px; right:14px; top:calc(100% - 6px); width:auto; max-width:760px; padding:10px; }
.pm3-find { width:100%; height:36px; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:8px; padding:0 10px; font-size:14px; margin-bottom:8px; }
.pm3-find:focus { outline:0; border-color:#91063F; box-shadow:0 0 0 3px rgba(145,6,63,.15); }
.pm3-grid { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:4px; max-height:320px; overflow:auto; }
.pm3 .pm3-grid .pm2-link { display:block; padding:7px 10px !important; border:0 !important; border-radius:8px !important; background:#fff !important; color:#111827 !important; font-size:14px; text-decoration:none !important; }
.pm3 .pm3-grid .pm2-link:hover { background:#f4f6f9 !important; }
.pm3 .pm3-grid .pm2-link[hidden] { display:none !important; }
@media (max-width:760px) { .pm3-pages { margin-top:8px; } .pm3-grid { grid-template-columns:1fr 1fr; } .pm3 .pm3-pop { position:fixed; left:10px; right:10px; top:110px; } }
.tp-page .tp-chip.is-festival { background:#FBE8EF !important; color:#7A0535 !important; border-color:#F1DCE5 !important; }
.tp-page .tp-table tbody tr:hover td { background:#f4f6f9 !important; }

/* Panchang: sub menu and page content start and end at the same edges (owner, 4 Nov 2026). */
.tp-page .pm3 { padding-left:24px !important; padding-right:24px !important; }
.tp-page .tp-main { max-width:none !important; width:auto !important; margin-left:0 !important; margin-right:0 !important; padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
@media (max-width:760px) { .tp-page .pm3 { padding-left:10px !important; padding-right:10px !important; } .tp-page .tp-main { padding-left:10px !important; padding-right:10px !important; } }

/* Left menu: shade back (owner, 4 Nov 2026): layered magenta with a soft glow at the top and a faint light band, no stars. */
.side-nav { background:
    linear-gradient(115deg, transparent 0 38%, rgba(255,255,255,.05) 38% 54%, transparent 54%) no-repeat,
    radial-gradient(130% 30% at 25% 0%, #B0186A 0%, rgba(176,24,106,0) 75%) no-repeat,
    linear-gradient(180deg, #9E1258 0%, #91063F 38%, #7A0535 70%, #5E0429 100%) !important; }
a.pr-change { display:inline-flex; align-items:center; text-decoration:none !important; }

/* Left menu: plain magenta, no shade (owner, 4 Nov 2026). */
.side-nav { background: #91063F !important; background-image: none !important; }

/* Muhurta page: sub menu and content on the same edges; tab names in the row weight (owner, 4 Nov 2026). */
.pm3-tab b { font-weight:inherit !important; color:inherit !important; }
body:has(.mu) .pm3 { padding-left:24px !important; padding-right:24px !important; }
body:has(.mu) .app-body { max-width:none !important; width:auto !important; margin-left:0 !important; margin-right:0 !important; padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
@media (max-width:760px) { body:has(.mu) .pm3, body:has(.mu) .app-body { padding-left:10px !important; padding-right:10px !important; } }
/* Every warning on Panchang and Muhurta says Care, with a sign, in the bright red (owner's point 2, 4 Nov 2026). */
.pt-now.is-bad .pt-now-big::before, .pt-pill.is-bad::before, .pt-next.is-bad::before, .pt-n.is-bad::before, .pt-res li.is-bad::before, h2:has(+ .pt-table.is-bad)::before, .mu-verdict.no b::before, .gr.no::before { content:"⚠ Care: "; }
.mu-verdict.no b { color:#DC2626 !important; }
.gr.no { background:#fef2f2 !important; color:#DC2626 !important; }

/* ===== Prediction page by the owner's page rules (4 Nov 2026): same sub menu as Panchang, grey page, white cards, magenta headings,
   green good, bright red with "Care", gold only for More; solid buttons. Same edges for menu and content. ===== */
body:has(.sec-tabs[data-sec-tabs="prediction"]:not([hidden])) main.trac-main { background:#f4f6f9 !important; background-image:none !important; }
.sec-tabs[data-sec-tabs="prediction"] { background:transparent !important; border:0 !important; box-shadow:none !important; padding:12px 24px 0 !important; margin:0 !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-row { display:flex; flex-wrap:wrap; gap:8px; padding:0 !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-row > .sec-tab, .sec-tabs[data-sec-tabs="prediction"] .pr-more-btn { display:inline-flex !important; align-items:center; gap:7px; height:38px !important; min-height:0 !important; padding:0 14px !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; background:#fff !important; background-image:none !important; color:#111827 !important; box-shadow:none !important; animation:none !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-tab small, .pr-more-count { display:none !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-tab b { color:inherit !important; font-size:14px; font-weight:600; }
.sec-tabs[data-sec-tabs="prediction"] .sec-ic { width:auto !important; height:auto !important; background:none !important; box-shadow:none !important; padding:0 !important; color:#91063F !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-ic svg { width:17px; height:17px; color:inherit !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-row > .sec-tab:hover { background:#f4f6f9 !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-row > .sec-tab.is-on { background:#91063F !important; border-color:#91063F !important; color:#fff !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-row > .sec-tab.is-on .sec-ic { color:#FFD43B !important; }
.sec-tabs[data-sec-tabs="prediction"] .sec-tab.is-on::after { display:none !important; }
.sec-tabs[data-sec-tabs="prediction"] .pr-more-btn { background:#FFD43B !important; border:0 !important; color:#000 !important; outline:0 !important; }
.sec-tabs[data-sec-tabs="prediction"] .pr-more-btn b { color:#000 !important; }
.sec-tabs[data-sec-tabs="prediction"] .pr-more-btn .sec-ic, .sec-tabs[data-sec-tabs="prediction"] .pr-more-btn .sec-ic svg { color:#000 !important; }
.sec-tabs[data-sec-tabs="prediction"] .pr-more-btn:hover, .sec-tabs[data-sec-tabs="prediction"] .pr-more-btn[aria-expanded="true"] { background:#FFC81F !important; }
.pr-more-menu { border-color:#e5e7eb !important; border-radius:12px !important; box-shadow:0 12px 30px rgba(17,24,39,.16) !important; }
.pr-more-menu .sec-tab, .pr-more-menu .sec-tab:first-child { background:#fff !important; border:0 !important; border-radius:8px !important; color:#111827 !important; }
.pr-more-menu .sec-tab:hover { background:#f4f6f9 !important; }
.pr-more-menu .sec-tab.is-on { background:#FBE8EF !important; color:#7A0535 !important; }
@media (min-width:761px) { .sec-tabs[data-sec-tabs="prediction"] .sec-row > .sec-tab, .sec-tabs[data-sec-tabs="prediction"] .pr-more { flex:0 0 auto !important; } }
@media (max-width:760px) { .sec-tabs[data-sec-tabs="prediction"] { padding:10px 10px 0 !important; } .sec-tabs[data-sec-tabs="prediction"] .sec-row { flex-wrap:nowrap; overflow-x:auto; } .sec-tabs[data-sec-tabs="prediction"] .sec-row > .sec-tab, .sec-tabs[data-sec-tabs="prediction"] .pr-more { flex:none !important; } }

.trac-pred .pred-wrap { max-width:none !important; margin:0 !important; padding:14px 24px 24px !important; box-sizing:border-box; }
@media (max-width:760px) { .trac-pred .pred-wrap { padding:12px 10px 20px !important; } }
@media screen { .pred-who .pred-print-birth { display:none !important; } }
.trac-pred .pred-pick select { border-color:#cbd5e1 !important; border-radius:8px !important; color:#111827 !important; }
.trac-pred .pred-card, .trac-pred .yr-acc, .trac-pred .yr-story, .trac-pred .pred-month { background:#fff !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:0 2px 8px rgba(17,24,39,.06) !important; }
.trac-pred .pred-card h3, .trac-pred .two-col-h, .trac-pred .yr-h { color:#91063F !important; }
.trac-pred .two-col-h i { background:#FFD43B !important; }
.trac-pred .pred-card th { background:#f4f6f9 !important; color:#475569 !important; }
.trac-pred .yr-hero { background:#fff !important; background-image:none !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:0 2px 8px rgba(17,24,39,.06) !important; }
.trac-pred .pm-full, .trac-pred .yr-mini { background:#fff !important; border:1px solid #e5e7eb !important; color:#111827 !important; border-radius:12px !important; }
.trac-pred .yr-mini button { border-radius:10px !important; }
.trac-pred .pd-nav { border-color:#cbd5e1 !important; color:#91063F !important; }
.trac-pred .pred-bar { background:#e5e7eb !important; } .trac-pred .pred-bar i { background:#91063F !important; }
.trac-pred .pred-now, .trac-pred .pd-ladder tr.now td { background:#f4f6f9 !important; }
.trac-pred .pred-pill.g { background:#ecfdf5 !important; color:#15803d !important; }
.trac-pred .pred-pill.n { background:#f1f5f9 !important; color:#475569 !important; }
.trac-pred .pred-pill.a { background:#fef2f2 !important; color:#DC2626 !important; }
.trac-pred .pred-read .ws-verdict { background:#ecfdf5 !important; border:1px solid #a7f3d0 !important; border-radius:10px !important; }
.trac-pred .pred-read .ws-verdict::before { background:#15803d !important; }
.trac-pred .pred-read .ws-verdict.is-care { background:#fef2f2 !important; border-color:#fecaca !important; }
.trac-pred .pred-read .ws-verdict.is-care::before { display:none !important; }
.trac-pred .pred-read .ws-verdict.is-care > :first-child::before { content:"⚠ Care: "; color:#DC2626; font-weight:700; }
.trac-pred .yr-m.is-g { background:#ecfdf5 !important; border-color:#a7f3d0 !important; } .trac-pred .yr-m.is-g span { color:#15803d !important; }
.trac-pred .yr-m.is-n { background:#fff !important; border-color:#e5e7eb !important; } .trac-pred .yr-m.is-n span { color:#475569 !important; }
.trac-pred .yr-m.is-a { background:#fef2f2 !important; border-color:#fecaca !important; } .trac-pred .yr-m.is-a span { color:#DC2626 !important; }
.trac-pred .yr-col.is-yes, .trac-pred .pd-tg.is-best, .trac-pred .yr-pd.is-best { background:#ecfdf5 !important; border-color:#a7f3d0 !important; }
.trac-pred .yr-col.is-yes h4, .trac-pred .pd-tg.is-best h5, .trac-pred .yr-pd.is-best h4 { color:#15803d !important; }
.trac-pred .yr-col.is-maybe, .trac-pred .pd-tg.is-good { background:#fff !important; border-color:#e5e7eb !important; }
.trac-pred .yr-col.is-maybe h4 { color:#111827 !important; } .trac-pred .pd-tg.is-good h5 { color:#15803d !important; }
.trac-pred .yr-col.is-care, .trac-pred .pd-tg.is-avoid, .trac-pred .yr-pd.is-care { background:#fef2f2 !important; border-color:#fecaca !important; }
.trac-pred .yr-col.is-care h4, .trac-pred .pd-tg.is-avoid h5, .trac-pred .yr-pd.is-care h4 { color:#DC2626 !important; }
.trac-pred .yr-col.is-care h4::before, .trac-pred .pd-tg.is-avoid h5::before, .trac-pred .yr-pd.is-care h4::before { content:"⚠ Care: "; }
.pr-sq { background:#fff !important; background-image:none !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:0 2px 8px rgba(17,24,39,.06) !important; }
.pr-sq:hover, .pr-sq:focus-visible { border-color:#91063F !important; transform:none !important; }
.pr-sq .sec-ic { background:#f4f6f9 !important; background-image:none !important; color:#91063F !important; box-shadow:none !important; }
.pr-sq .sec-ic svg { color:#91063F !important; }
.pr-sq b { color:#91063F !important; } .pr-sq small { color:#475569 !important; }
.trac-pred .pred-pill.a::before, .trac-pred .yr-m.is-a span::before { content:"⚠ "; }

/* Chart bar: pick a saved chart from the name; pencil to edit; New Kundli (owner, 4 Nov 2026). */
.pr-bar.pr-in-strip .pr-pick { display:flex; align-items:center; gap:8px; flex:1 1 auto; min-width:0; height:30px; padding:0 6px 0 10px; border:1px solid rgba(255,255,255,.35); border-radius:8px; background:rgba(255,255,255,.14); color:#fff; font:inherit; cursor:pointer; text-align:left; }
.pr-bar.pr-in-strip .pr-pick:hover { background:rgba(255,255,255,.22); }
.pr-bar.pr-in-strip .pr-pick .hu-text { flex:1 1 auto; }
.pr-pick-arrow { flex:none; color:#FFD43B; }
.pr-menu { position:fixed; z-index:2000; left:8px; right:8px; box-sizing:border-box; max-height:60vh; display:flex; flex-direction:column; background:#fff; border:1px solid #cbd5e1; border-radius:10px; padding:8px; box-shadow:0 12px 30px rgba(17,24,39,.18); color:#111827; }
@media (min-width:761px) { .pr-menu { right:auto; } }
.pr-find { flex:none; width:100%; height:36px; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:8px; padding:0 10px; font-size:14px; margin-bottom:6px; }
.pr-find:focus { outline:0; border-color:#91063F; box-shadow:0 0 0 3px rgba(145,6,63,.15); }
.pr-list { overflow:auto; }
.pr-row { display:flex; align-items:center; gap:4px; border-radius:8px; }
.pr-row:hover { background:#f4f6f9; }
.pr-row.is-on { background:#FBE8EF; }
.pr-row-p { flex:1 1 auto; min-width:0; display:flex; justify-content:space-between; gap:12px; padding:8px 10px; border:0; background:none; font:inherit; font-size:14px; color:#111827; cursor:pointer; text-align:left; }
.pr-row-p b { font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } .pr-row.is-on .pr-row-p b { color:#7A0535; font-weight:700; }
.pr-row-p small { flex:none; color:#475569; font-size:13px; }
.pr-row-e { flex:none; width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:8px; background:none; color:#91063F; cursor:pointer; }
.pr-row-e:hover { background:#fff; box-shadow:inset 0 0 0 1px #cbd5e1; }
.pr-none { margin:8px 10px; font-size:14px; color:#475569; }
.pr-bar.pr-in-strip { flex-wrap:nowrap !important; } .pr-bar.pr-in-strip .pr-change { width:auto !important; flex:none; }

/* Main page: whose chart is in the top row as on every page, not in the card (owner, 4 Nov 2026). */
.trac-home.hm .hm-ask .trac-home-using, .trac-home.hm .hm-ask .trac-home-using:not([hidden]) { display:none !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home { margin-top:0 !important; }
/* Main page: the same small space on all four sides of the ask box (owner, 4 Nov 2026). */
.trac-home.hm .hm-ask { padding:14px !important; }

/* ===== Match Making by the owner's page rules (4 Nov 2026): same sub menu, grey page, white cards, magenta headings, green good, bright red with Care, solid buttons. ===== */
.mm-page, .mm-page .tp-main { background:#f4f6f9 !important; background-image:none !important; }
.mm-page .sec-tabs { background:transparent !important; border:0 !important; box-shadow:none !important; padding:12px 24px 0 !important; margin:0 !important; }
.mm-page .sec-crumb { display:none !important; }
.mm-page .sec-row { display:flex; flex-wrap:wrap; gap:8px; padding:0 !important; }
.mm-page .sec-row > .sec-tab { display:inline-flex !important; flex:0 0 auto !important; align-items:center; gap:7px; height:38px !important; min-height:0 !important; padding:0 14px !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; background:#fff !important; background-image:none !important; color:#111827 !important; box-shadow:none !important; text-decoration:none !important; }
.mm-page .sec-tab small { display:none !important; }
.mm-page .sec-tab b { color:inherit !important; font-size:14px; font-weight:600; }
.mm-page .sec-ic { width:auto !important; height:auto !important; background:none !important; box-shadow:none !important; padding:0 !important; color:#91063F !important; }
.mm-page .sec-ic svg { width:17px; height:17px; color:inherit !important; }
.mm-page .sec-row > .sec-tab:hover { background:#f4f6f9 !important; }
.mm-page .sec-row > .sec-tab.is-on { background:#91063F !important; border-color:#91063F !important; color:#fff !important; }
.mm-page .sec-row > .sec-tab.is-on .sec-ic { color:#FFD43B !important; }
.mm-page .sec-tab.is-on::after { display:none !important; }
@media (max-width:760px) { .mm-page .sec-tabs { padding:10px 10px 0 !important; } .mm-page .sec-row { flex-wrap:nowrap; overflow-x:auto; } }
.mm-hero, .mm-score, .mm-kootas, .mm-card:not(.is-buy), .mm-trac, .mm-moons > div, .mm-how > div, .mm-person { background:#fff !important; background-image:none !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:0 2px 8px rgba(17,24,39,.06) !important; }
.mm-hero h1 { font-family:inherit !important; font-size:24px !important; color:#91063F !important; }
.mm-hero p, .mm-score p, .mm-card small, .mm-kname small, .mm-how > div { color:#475569 !important; }
.mm-kootas h2, .mm-trac h2, .mm-card b, .mm-moons b, .mm-tblock b { color:#91063F !important; }
.mm-card.is-buy b { color:#fff !important; }
.mm-person > legend { background:#91063F !important; background-image:none !important; color:#fff !important; border-radius:11px 11px 0 0 !important; }
.mm-person input { min-height:38px !important; height:38px; border:1px solid #cbd5e1 !important; border-radius:8px !important; background:#fff !important; color:#111827; }
.mm-person input:focus { outline:0; border-color:#91063F !important; box-shadow:0 0 0 3px rgba(145,6,63,.15) !important; }
.mm-person label { color:#111827 !important; }
.mm-go { min-height:42px !important; background:#91063F !important; background-image:none !important; color:#fff !important; border:0 !important; border-radius:10px !important; box-shadow:none !important; }
.mm-go:hover { background:#7A0535 !important; filter:none !important; }
.mm-kbar { background:#e5e7eb !important; }
.mm-ring b, .mm-kname b, .mm-kval { color:#111827 !important; }
.mm-kval.is-zero { color:#DC2626 !important; }
.mm-verdict { border-radius:10px !important; }
.mm-verdict.is-good { background:#ecfdf5 !important; color:#15803d !important; }
.mm-verdict.is-care { background:#fef2f2 !important; color:#DC2626 !important; }
.mm-verdict.is-care::before { content:"⚠ Care: "; }
.mm-ok, .mm-note { color:#15803d !important; font-weight:600; }
.mm-care { color:#DC2626 !important; font-weight:600; } .mm-care::before { content:"⚠ "; }
.mm-err { background:#fef2f2 !important; border:1px solid #fecaca !important; color:#DC2626 !important; border-radius:10px !important; }
.mm-err::before { content:"⚠ Care: "; font-weight:700; }
.mm-card.is-buy { background:#91063F !important; background-image:none !important; border-radius:12px !important; box-shadow:none !important; }
.mm-card.is-buy a { background:#FFD43B !important; background-image:none !important; color:#000 !important; border-radius:10px !important; box-shadow:none !important; }
.mm-how b { background:#91063F !important; }
.tp-page .tp-main .mm-card.is-buy a { color:#000 !important; }

/* Left menu (owner, 4 Nov 2026): slightly tighter rows; a thin soft scrollbar only when the mouse is over the menu and only if needed. */
.side-nav .sn-grp { margin:10px 12px 3px !important; }
.side-nav .sn-item { padding:6px 12px !important; margin-bottom:1px !important; gap:10px !important; }
.side-nav .sn-item.sn-item svg { width:30px !important; height:30px !important; padding:6px !important; }
.side-nav { overflow-y:auto !important; scrollbar-width:thin !important; scrollbar-color:transparent transparent !important; }
.side-nav:hover { scrollbar-color:rgba(255,255,255,.4) transparent !important; }

/* ===== One ask box everywhere (owner, 4 Nov 2026): white box with a grey edge, room to type, Attach where it works, the microphone and a solid Ask button. ===== */
.ask-uni { display:flex; flex-direction:column; gap:8px; width:100%; box-sizing:border-box; border:1px solid #cbd5e1; border-radius:8px; padding:12px 14px; margin:0 0 12px; background:#fff; }
.ask-uni:focus-within { border-color:#91063F; box-shadow:0 0 0 3px rgba(145,6,63,.12); }
.ask-uni textarea { width:100%; min-height:56px; border:0 !important; outline:none !important; box-shadow:none !important; padding:0 !important; resize:vertical; font:inherit; font-size:15px; color:#111827; background:transparent; }
.ask-uni-tools { display:flex; justify-content:flex-end; align-items:center; gap:10px; }
.ask-uni-mic { width:40px; height:40px; display:grid; place-items:center; padding:0; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#91063F; cursor:pointer; }
.ask-uni-mic:hover { background:#f4f6f9; } .ask-uni-mic.is-on { background:#91063F; border-color:#91063F; color:#fff; }
.ask-uni-mic[hidden] { display:none !important; }
button.ask-uni-go { height:40px; padding:0 26px; border:0 !important; border-radius:10px !important; background:#91063F !important; background-image:none !important; color:#fff !important; font-weight:700; font-size:15px; cursor:pointer; box-shadow:none !important; }
button.ask-uni-go:hover { background:#7A0535 !important; }
.ask-uni button:disabled { opacity:.6; cursor:not-allowed; }
.ask-uni-try { margin:0 0 7px; font-size:13px; font-weight:600; color:#475569; }
.mk-chip { border-radius:8px !important; border-color:#cbd5e1 !important; }
.mk-chip:hover { border-color:#91063F !important; color:#91063F !important; }
.tn-ask { max-width:none !important; }

.ask-wrap.ask-panel { background:transparent !important; }
.ask-wrap.ask-panel .trac-chatbox { display:flex !important; flex-direction:column !important; gap:8px !important; min-height:0 !important; padding:12px 14px !important; border:1px solid #cbd5e1 !important; border-radius:8px !important; background:#fff !important; background-image:none !important; box-shadow:none !important; }
.ask-wrap.ask-panel .trac-chatbox:focus-within { border-color:#91063F !important; box-shadow:0 0 0 3px rgba(145,6,63,.12) !important; }
.ask-wrap.ask-panel form.trac-chatbox textarea.ask-input { width:100%; min-height:44px !important; height:44px; padding:0 !important; margin:0 !important; border:0 !important; background:transparent !important; background-image:none !important; font-size:15px !important; box-shadow:none !important; }
.ask-wrap.ask-panel .ask-tools, .ask-wrap.ask-panel .ask-tools-right { display:flex !important; align-items:center !important; justify-content:flex-start !important; gap:10px !important; width:100%; }
.ask-wrap.ask-panel .chat-attach.ask-pill, .ask-wrap.ask-panel .ask-model-btn { display:inline-flex !important; align-items:center; gap:8px; width:auto !important; height:40px !important; margin:0 !important; padding:0 14px !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; background:#fff !important; background-image:none !important; color:#111827 !important; font-size:14px !important; font-weight:600; box-shadow:none !important; }
.ask-wrap.ask-panel .chat-attach.ask-pill svg { color:#91063F; }
.ask-wrap.ask-panel .chat-mic { margin-left:auto !important; display:inline-flex; align-items:center; justify-content:center; width:40px !important; height:40px !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; background:#fff !important; color:#91063F !important; box-shadow:none !important; }
.ask-wrap.ask-panel .chat-send.ask-go { display:inline-flex !important; align-items:center; justify-content:center; gap:8px; width:auto !important; height:40px !important; padding:0 26px !important; border:0 !important; border-radius:10px !important; background:#91063F !important; background-image:none !important; color:#fff !important; font-size:15px !important; font-weight:700; box-shadow:none !important; }
.ask-wrap.ask-panel .chat-send.ask-go:hover { background:#7A0535 !important; filter:none !important; }
@media (max-width:640px) { .ask-wrap.ask-panel .chat-attach.ask-pill span { display:none; } }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-mic, .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-send.ask-go, .trac-home.hm .hm-ask .ask-wrap.ask-home .chat-attach.ask-pill { height:40px !important; font-size:15px !important; }
.trac-home.hm .hm-ask .ask-wrap.ask-home .chat-mic { width:40px !important; }

/* Prediction, the other reports (Know Yourself, Doshas, Lal Kitab, Maha Dasha, Gems, Marriage-Career-Money): same page rules (owner, 4 Nov 2026). */
body:has(.sec-tabs[data-sec-tabs="prediction"]:not([hidden])), body:has(.sec-tabs[data-sec-tabs="prediction"]:not([hidden])) .trac-col, body:has(.sec-tabs[data-sec-tabs="prediction"]:not([hidden])) .trac-body { background:#f4f6f9 !important; background-image:none !important; }
.trac-pred .rc-intro h2 { color:#91063F !important; font-family:inherit !important; }
.trac-pred .rc-intro p { color:#475569 !important; }
.trac-pred .rc-g, .trac-pred .rc-card, .trac-pred .rc-wrap:not(.rc-doshas) .rc-card, .trac-pred .rc-doshas .rc-card, .trac-pred .rc-boxes > div { background:#fff !important; background-image:none !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:0 2px 8px rgba(17,24,39,.06) !important; }
.trac-pred .rc-g:hover { border-color:#91063F !important; }
.trac-pred .rc-g.is-on { border:2px solid #91063F !important; }
.trac-pred .rc-g > b, .trac-pred .rc-boxes b { color:#91063F !important; }
.trac-pred .rc-g > small, .trac-pred .rc-boxes small, .trac-pred .rc-line, .trac-pred .rc-covers { color:#475569 !important; }
.trac-pred .rc-g-more { color:#91063F !important; }
.trac-pred .rc-doshas .rc-card h3 { color:#91063F !important; font-family:inherit !important; }
.trac-pred .rc-wrap:not(.rc-doshas) .rc-card > h3 { background:#fff !important; background-image:none !important; color:#91063F !important; font-family:inherit !important; }
.trac-pred .rc-wrap:not(.rc-doshas) .rc-card > .rc-line { background:#fff !important; background-image:none !important; color:#475569 !important; }
.trac-pred .rc-wrap:not(.rc-doshas) .rc-head { font-family:inherit !important; color:#111827 !important; }
.trac-pred .rc-doshas .rc-head { background:#f4f6f9 !important; border-radius:8px !important; color:#111827 !important; }
.trac-pred .rc-body, .trac-pred .rc-doshas .rc-body { color:#111827 !important; }
.trac-pred .rc-wrap .rc-body ul { background:#f4f6f9 !important; border-radius:8px !important; color:#111827 !important; }
.trac-pred .rc-wrap .rc-body h3, .trac-pred .rc-wrap .rc-body h4, .trac-pred .rc-wrap .rc-body strong { color:#111827 !important; }
.trac-pred .rc-pill { border-radius:8px !important; }
.trac-pred .rc-pill.is-green { background:#ecfdf5 !important; color:#15803d !important; box-shadow:none !important; }
.trac-pred .rc-pill.is-amber { background:#f1f5f9 !important; color:#475569 !important; }
.trac-pred .rc-pill.is-red { background:#fef2f2 !important; color:#DC2626 !important; }
.trac-pred .rc-pill.is-red::before { content:"⚠ Care: "; }
.trac-pred .rc-buy, .trac-pred .rc-doshas .rc-buy, .trac-pred .rc-wrap:not(.rc-doshas) .rc-buy { background:#91063F !important; background-image:none !important; color:#fff !important; border-radius:10px !important; box-shadow:none !important; }
.trac-pred .rc-buy:hover { background:#7A0535 !important; }
.trac-pred .rc-open, .trac-pred .rc-doshas .rc-open, .trac-pred .rc-wrap:not(.rc-doshas) .rc-open { background:#fff !important; color:#91063F !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; }
.trac-pred .rc-doshas .rc-actions:has(.rc-buy) { background:#f4f6f9 !important; border:1px solid #e5e7eb !important; border-radius:10px !important; }
.trac-pred .rc-all-dasha th { color:#475569 !important; background:#f4f6f9 !important; border-color:#e5e7eb !important; }
.trac-pred .rc-all-dasha td { border-color:#e5e7eb !important; color:#111827 !important; }
.trac-pred .rc-all-dasha tr.is-now td { background:#FBE8EF !important; }
.trac-pred .rc-ask-married { background:#f4f6f9 !important; color:#111827 !important; border-radius:10px !important; }
.trac-pred .rc-ask-married button { background:#fff !important; border:1px solid #cbd5e1 !important; color:#91063F !important; border-radius:10px !important; }
.trac-pred .rc-ask-married button:hover { background:#91063F !important; border-color:#91063F !important; color:#fff !important; }

/* Search under the Simple / Astrologer row (owner, 4 Nov 2026). */
.th-search { flex:none; background:#fff; border-bottom:1px solid #e5e7eb; padding:8px 24px; box-sizing:border-box; }
.th-find { display:flex; align-items:center; gap:8px; height:38px; padding:0 12px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#91063F; }
.th-find:focus-within { border-color:#91063F; box-shadow:0 0 0 3px rgba(145,6,63,.12); }
.th-find input { flex:1; min-width:0; border:0 !important; outline:0 !important; box-shadow:none !important; background:transparent; font:inherit; font-size:14.5px; color:#111827; padding:0 !important; }
.th-find-ic { display:none; width:32px; height:32px; place-items:center; padding:0; border:0; border-radius:8px; background:none; color:#91063F; cursor:pointer; }
.th-menu { position:fixed; z-index:2000; box-sizing:border-box; max-height:70vh; overflow:auto; background:#fff; border:1px solid #cbd5e1; border-radius:10px; padding:6px; box-shadow:0 12px 30px rgba(17,24,39,.18); }
.th-hit { display:flex; justify-content:space-between; gap:14px; width:100%; padding:8px 10px; border:0; border-radius:8px; background:none; color:#111827; font:inherit; font-size:14px; text-align:left; cursor:pointer; }
.th-hit small { flex:none; color:#475569; font-size:13px; }
.th-hit:hover, .th-hit.is-on { background:#f4f6f9; }
.th-hit-ask { margin-top:4px; border-top:1px solid #e5e7eb; border-radius:0 0 8px 8px; color:#91063F; font-weight:600; }
@media (max-width:760px) { .th-search { display:none; padding:8px 10px; } .th-search.is-open { display:block; } .th-find-ic { display:grid; } }
/* Main page: the top row floats over the column, so the search starts below it (owner, 4 Nov 2026). */
@media (min-width:1001px) {
  .trac-home-mode .trac-col > .th-search { margin-top:37px; }
  .trac-home-mode .trac-col > main.trac-main { margin-top:0 !important; height:auto !important; }
}
/* Main page: no white band under the search; search and card on the same edges (owner, 4 Nov 2026). */
.trac-home-mode .trac-col, .trac-home-mode .trac-body { background:#f4f6f9 !important; background-image:none !important; }
.trac-home-mode .trac-col > main.trac-main { padding-left:0 !important; padding-right:0 !important; }
.trac-home-mode section.trac-home.hm { padding-left:24px !important; padding-right:24px !important; box-sizing:border-box; }
.trac-home-mode section.trac-home.hm > .hm-hero { max-width:none !important; width:100% !important; }
.trac-home.hm .hm-ask { width:100% !important; max-width:none !important; box-sizing:border-box; }
@media (max-width:760px) { .trac-home-mode section.trac-home.hm { padding-left:10px !important; padding-right:10px !important; } }
/* Search bar, option 2 (owner, 4 Nov 2026): a white card on the grey page with a thin gold edge; no white strip. */
.th-search { background:transparent !important; border-bottom:0 !important; padding:10px 24px 0 !important; }
.th-find { height:44px !important; background:#fff !important; border:0 !important; border-left:4px solid #FFD43B !important; border-radius:10px !important; box-shadow:0 2px 8px rgba(17,24,39,.08) !important; }
.th-find:focus-within { box-shadow:0 0 0 2px #91063F !important; }
.th-find input { font-size:15px; }
@media (max-width:760px) { .th-search { padding:8px 10px 0 !important; } }

/* ===== Kundli / Birth Chart, all systems (owner, 4 Nov 2026): page rules on Parashari, KP, Lal Kitab, Jaimini, Nadi, Western and every tab. ===== */
/* grey behind the search on every page */
.trac:not(.trac-home-mode) .trac-col, .app-col { background:#f4f6f9 !important; background-image:none !important; }
/* one font for headings */
.trac-ws h1, .trac-ws h2, .trac-ws h3, .trac-ws h4, .trac-ws-page h3, .trac-ws .trac-part > h3, .trac-panel h2, .trac-panel h3, .trac-panel h4 { font-family:inherit !important; }
.trac-ws .trac-subhead, .trac-panel .trac-subhead { color:#91063F !important; }
/* sub menu as on Panchang; no repeated path line */
.ws-systabs .sec-crumb, [data-sec-tabs="kundli"] .sec-crumb, [data-sec-tabs="trac"] .sec-crumb { display:none !important; }
.ws-systabs { background:#fff !important; border-color:#e5e7eb !important; }
.ws-systabs .sec-tab { display:inline-flex !important; align-items:center; gap:7px; height:38px !important; min-height:0 !important; padding:0 14px !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; background:#fff !important; background-image:none !important; color:#111827 !important; box-shadow:none !important; }
.ws-systabs .sec-tab small { display:none !important; }
.ws-systabs .sec-tab b { color:inherit !important; font-size:14px; font-weight:600; }
.ws-systabs .sec-ic { width:auto !important; height:auto !important; background:none !important; box-shadow:none !important; padding:0 !important; color:#91063F !important; }
.ws-systabs .sec-ic svg { width:17px; height:17px; color:inherit !important; }
.ws-systabs .sec-tab:hover { background:#f4f6f9 !important; }
.ws-systabs .sec-tab.is-on { background:#91063F !important; border-color:#91063F !important; color:#fff !important; }
.ws-systabs .sec-tab.is-on .sec-ic { color:#FFD43B !important; }
.ws-systabs .sec-tab.is-on::after { display:none !important; }
/* boxes and bars left from the older colours */
.trac-ws .ws-combo, .trac-ws .ws-combo:hover { border:1px solid #cbd5e1 !important; }
.trac-ws .ws-combo:focus { outline:0 !important; border-color:#91063F !important; box-shadow:0 0 0 3px rgba(145,6,63,.15) !important; }
.trac-ws .ws-sd { background:#f4f6f9 !important; }
.trac-ws .ws-sd button.is-on { color:#91063F !important; }
.trac-ws.mode-page .ws-left-pages tbody tr:hover td { background:#f4f6f9 !important; }
.trac-ws .ws-left-pages .ws-picked, .trac-ws .ws-left-pages .ws-picked td { background:#FBE8EF !important; }
.trac-ws .ov { background:#f4f6f9 !important; border:1px solid #e5e7eb !important; border-left:4px solid #91063F !important; }
.trac-ws .ov h, .trac-ws .ov-h b { color:#91063F !important; } .trac-ws .ov .ov-why { border-top-color:#e5e7eb !important; color:#475569 !important; }
.trac-ws .trac-hint, .trac-panel .trac-hint { background:#f4f6f9 !important; border-color:#e5e7eb !important; color:#475569 !important; }
.trac-ws .trac-options, .trac-panel .trac-options, .trac-ws .trac-inline, .trac-panel .trac-inline { background:#fff !important; border:1px solid #e5e7eb !important; border-radius:12px !important; }
.trac-ws .kp-settings, .trac-ws .kp-rule-card, .trac-ws .nb-card, .trac-ws .kp-rect, .trac-ws .kp-partner, .trac-ws .yr-more { background:#fff !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:none !important; }
/* buttons: solid, one shape */
.trac-ws .trac-btn, .trac-ws .kp-apply, .trac-ws .nd-ask button, .trac-ws .nb-form button, .trac-ws .yr-form button, .trac-ws .sy-placeform button, .trac-ws .ws-ask button, .trac-panel .trac-btn { height:38px; padding:0 16px; border-radius:10px !important; background:#91063F !important; background-image:none !important; color:#fff !important; border:0 !important; box-shadow:none !important; font-weight:700; cursor:pointer; }
.trac-ws .trac-btn:hover, .trac-ws .kp-apply:hover, .trac-ws .nd-ask button:hover, .trac-ws .nb-form button:hover, .trac-ws .yr-form button:hover, .trac-ws .sy-placeform button:hover, .trac-ws .ws-ask button:hover { background:#7A0535 !important; }
.trac-ws .trac-btn.ghost, .trac-ws .trac-inline button.ghost, .trac-ws .kp-reset, .trac-ws .kp-del, .trac-ws .kp-rect-del { background:#fff !important; color:#111827 !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; box-shadow:none !important; }
.trac-ws input, .trac-ws .ws-ask input, .trac-panel input[type=text], .trac-panel select { border-radius:8px !important; }
.trac-ws .kp-tag, .trac-ws .kp-rule-tag, .trac-ws .nd-badge, .trac-ws .yr-badge, .trac-ws .yr-chip { border-radius:8px !important; }
/* green good, red care */
.trac-ws .ws-read .ws-auto .ws-verdict, .trac-ws .ws-verdict { background:#ecfdf5 !important; border:1px solid #a7f3d0 !important; border-radius:10px !important; }
.trac-ws .ws-verdict::before { background:#15803d !important; }
.trac-ws .ws-verdict.is-care, .trac-ws .ws-read .ws-auto .ws-verdict.is-care { background:#fef2f2 !important; border-color:#fecaca !important; }
.trac-ws .ws-verdict.is-care::before { display:none !important; }
.trac-ws .ws-verdict.is-care > :first-child::before { content:"⚠ Care: "; color:#DC2626; font-weight:700; }
.trac-ws .trac-alert, .trac-panel .trac-alert { background:#fef2f2 !important; border:1px solid #fecaca !important; color:#DC2626 !important; border-radius:10px !important; }
.trac-ws .trac-alert::before, .trac-panel .trac-alert::before { content:"⚠ "; }
.trac-ws .kp-set-warning { color:#DC2626 !important; } .trac-ws .kp-set-warning::before { content:"⚠ Care: "; font-weight:700; }
.trac-ws .yr-head { border-left-color:#cbd5e1 !important; border-color:#e5e7eb !important; border-radius:12px !important; }
.trac-ws .yr-head.yr-vgood, .trac-ws .yr-head.yr-good { border-left-color:#15803d !important; } .trac-ws .yr-head.yr-mixed { border-left-color:#cbd5e1 !important; } .trac-ws .yr-head.yr-care { border-left-color:#DC2626 !important; }
.trac-ws .yr-vgood .yr-badge, .trac-ws .yr-chip.yr-vgood, .trac-ws .yr-good .yr-badge, .trac-ws .yr-chip.yr-good, .trac-ws .yr-cell.yr-vgood, .trac-ws .yr-cell.yr-good { background:#ecfdf5 !important; color:#15803d !important; }
.trac-ws .yr-mixed .yr-badge, .trac-ws .yr-chip.yr-mixed, .trac-ws .yr-cell.yr-mixed { background:#f1f5f9 !important; color:#475569 !important; }
.trac-ws .yr-care .yr-badge, .trac-ws .yr-chip.yr-care, .trac-ws .yr-cell.yr-care { background:#fef2f2 !important; color:#DC2626 !important; }
.trac-ws .yr-care .yr-badge::before, .trac-ws .yr-chip.yr-care::before { content:"⚠ "; }
.trac-ws .yr-area { border-color:#e5e7eb !important; border-radius:12px !important; }
.trac-ws .yr-area.yr-mixed { border-top-color:#cbd5e1 !important; } .trac-ws .yr-area.yr-care { border-top-color:#DC2626 !important; } .trac-ws .yr-area.yr-good, .trac-ws .yr-area.yr-vgood { border-top-color:#15803d !important; }
.trac-ws .yr-answer, .trac-ws .yr-acc { border-color:#e5e7eb !important; }
.trac-ws tr.sy-hit td { background:#FBE8EF !important; }
.trac-ws .sy-cell.asp-neutral { background:#f1f5f9 !important; } .trac-ws .sy-cell.asp-hard { background:#fef2f2 !important; }
.trac-ws .lk-pair-top b, .trac-ws .lk-measure label { color:#91063F !important; }
/* Wide tables: no white fade at the edges; the arrow and the thin slider show there is more (owner, 4 Nov 2026). */
.tw-slide.is-over::before, .tw-slide.is-over::after { display:none !important; }
.tw-arr { width:32px !important; height:32px !important; border-radius:10px !important; border:1px solid #cbd5e1 !important; color:#91063F !important; background:#fff !important; }
.tw-arr:hover { border-color:#91063F !important; color:#91063F !important; background:#f4f6f9 !important; }

/* Wide tables in every system (owner, 4 Nov 2026): the table box stays inside its pane so the slider appears; clear arrows on the header row; a visible slider. */
.trac-ws .trac-ws-page, .trac-ws .trac-panel, .trac-ws .trac-part, .trac-ws .trac-cols, .trac-ws .trac-cols > *, .trac-ws .ws-left-pages, .trac-panel .trac-cols > * { min-width:0 !important; max-width:100%; }
.trac-ws .trac-tablewrap, .trac-panel .trac-tablewrap { width:100% !important; max-width:100% !important; box-sizing:border-box; overflow-x:auto !important; }
.tw-slide { max-width:100%; min-width:0; }
.tw-arr { top:6px !important; transform:none !important; }
.tw-bar { height:6px !important; margin:8px 0 2px !important; background:#e5e7eb !important; }
.tw-bar i { background:#91063F !important; }
.tw-bar:hover i { background:#7A0535 !important; }
.tw-hint { color:#475569 !important; margin-left:0 !important; }

/* Tables (owner, 4 Nov 2026): the header row stays in place while the rows scroll; the arrows sit below the table at the two ends of the slider, never over a column. */
.trac-ws .trac-tablewrap, .trac-panel .trac-tablewrap { max-height:calc(100vh - 230px); overflow:auto !important; }
.trac-ws .trac-tablewrap thead th, .trac-panel .trac-tablewrap thead th { position:sticky; top:0; z-index:3; }
.trac-ws .tw-slide.is-over .trac-tablewrap thead .tw-stick, .trac-panel .tw-slide.is-over .trac-tablewrap thead .tw-stick { z-index:4; }
.tw-arr { top:auto !important; bottom:0 !important; width:30px !important; height:30px !important; box-shadow:none !important; }
.tw-arr.l { left:0 !important; } .tw-arr.r { right:0 !important; }
.tw-bar { margin:12px 40px 12px !important; }
.tw-slide.is-over .tw-hint { display:none !important; }
@media (max-width:760px) { .trac-ws .trac-tablewrap, .trac-panel .trac-tablewrap { max-height:70vh; } }

/* Tables (owner, 4 Nov 2026): the slide control sits above the table, so it is always in view: arrows at both ends, the slider between them. */
.tw-slide { display:flex !important; flex-direction:column; position:relative; }
.tw-slide > .tw-bar { order:-1; margin:9px 42px 11px !important; height:8px !important; border-radius:4px; }
.tw-slide > .tw-bar i { border-radius:4px; }
.tw-arr { top:0 !important; bottom:auto !important; font-size:22px !important; font-weight:700; }
.tw-slide.at-start .tw-arr.l, .tw-slide.at-end .tw-arr.r { opacity:.35 !important; pointer-events:none; }

/* One vertical scroll only: tables grow with the page and only the pane scrolls; the header row is kept in view by trac-chartbar.js (owner, 4 Nov 2026). */
.trac-ws .trac-tablewrap, .trac-panel .trac-tablewrap { max-height:none !important; overflow-x:auto !important; overflow-y:hidden !important; }
.trac-ws .trac-tablewrap thead th, .trac-panel .trac-tablewrap thead th { position:relative; top:auto; z-index:3; will-change:transform; }
.trac-ws .trac-tablewrap thead th.tw-stick, .trac-panel .trac-tablewrap thead th.tw-stick { position:sticky; left:0; }
/* older colours left in the reading panes */
.trac-ws .trac-ws-subbar { background:#fff !important; border-color:#e5e7eb !important; }
.trac-ws .trac-ws-subpick span { color:#475569 !important; }
.trac-ws .kp-match-summary, .trac-ws .kp-match-summary > div { background:#fff !important; border-color:#e5e7eb !important; border-radius:12px !important; }
.trac-ws .kp-match-summary span { color:#475569 !important; } .trac-ws .kp-match-summary b { color:#91063F !important; }
.trac-ws .ov.ov-tc { border-left-color:#DC2626 !important; } .trac-ws .ov.ov-tg { border-left-color:#15803d !important; }

/* Kundli panels (owner, 4 Nov 2026): every action button solid magenta; the dasha balance as a plain card. */
.trac-ws .trac-inline button:not(.ghost), .trac-panel .trac-inline button:not(.ghost), .trac-ws form button[type=submit]:not(.ghost), .trac-panel form button[type=submit]:not(.ghost) { height:38px; padding:0 16px; border:0 !important; border-radius:10px !important; background:#91063F !important; background-image:none !important; color:#fff !important; box-shadow:none !important; font-weight:700; }
.trac-ws .trac-inline button:not(.ghost):hover, .trac-panel .trac-inline button:not(.ghost):hover, .trac-ws form button[type=submit]:not(.ghost):hover, .trac-panel form button[type=submit]:not(.ghost):hover { background:#7A0535 !important; }
.trac-ws .trac-balance, .trac-panel .trac-balance { font-family:inherit !important; font-weight:600; color:#111827 !important; background:#fff !important; border:1px solid #e5e7eb !important; border-left:4px solid #FFD43B !important; border-radius:10px !important; }
.trac-ws .trac-table .num, .trac-ws .trac-kv dd, .trac-ws .trac-chain dd small, .trac-ws .trac-tree summary span, .trac-ws .trac-tree .leaf span, .trac-ws .ft-row .ft-dates, .trac-panel .trac-table .num, .trac-panel .trac-tree summary span, .trac-panel .trac-tree .leaf span, .trac-panel .ft-row .ft-dates { font-family:inherit !important; font-variant-numeric:tabular-nums; }
/* Tables: the same inner space in every cell, including the first column (owner, 4 Nov 2026). */
.trac-ws .trac-table th, .trac-ws .trac-table td, .trac-panel .trac-table th, .trac-panel .trac-table td { padding-left:12px !important; padding-right:12px !important; }
.trac-ws .ws-rt:hover:not(.is-on) { background:#f4f6f9 !important; }

/* Wide tables (owner, 4 Nov 2026): text wraps so most tables fit the pane without sliding; where sliding is still needed, the slide control stays in view with the header. */
.trac-ws .trac-tablewrap td:not(.num):not(.trac-nowrap):not(.kp-nowrap), .trac-panel .trac-tablewrap td:not(.num):not(.trac-nowrap):not(.kp-nowrap) { white-space:normal !important; overflow-wrap:anywhere; }
.trac-ws .trac-tablewrap th, .trac-panel .trac-tablewrap th { white-space:normal !important; }
.tw-slide > .tw-bar, .tw-slide > .tw-arr { transform:translateY(var(--tw-dy, 0px)) !important; }
.tw-slide > .tw-bar { z-index:6; } .tw-slide > .tw-arr { z-index:7; }
.tw-slide.is-over::before { display:block !important; content:""; position:absolute; top:0; left:0; right:0; width:auto; bottom:auto; height:32px; background:#fff; z-index:5; opacity:1 !important; transform:translateY(var(--tw-dy, 0px)); }

/* Jaimini charts: one at a time (owner, 4 Nov 2026). */
.jm-tabs { display:flex !important; justify-content:flex-start !important; gap:8px; margin:12px 0 !important; flex-wrap:wrap; }
.jm-tabs button { height:36px; padding:0 16px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#111827; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.jm-tabs button:hover { background:#f4f6f9; }
.jm-tabs button.is-on { background:#91063F; border-color:#91063F; color:#fff; }
@media screen {
  .jm-charts[data-on="1"] .jm-c2, .jm-charts[data-on="1"] .jm-c3, .jm-charts[data-on="2"] .jm-c1, .jm-charts[data-on="2"] .jm-c3, .jm-charts[data-on="3"] .jm-c1, .jm-charts[data-on="3"] .jm-c2 { display:none; }
}
.jm-c .trac-chart { max-width:520px; margin:0 auto; }

/* ===== One text colour pattern everywhere (owner, 4 Nov 2026): headings magenta, normal text near-black, small notes grey, links and actions magenta. ===== */
:root { --sh-navy:#91063F; --sh-ink:#111827; --sh-muted:#475569; --sh-org:#91063F !important; --sh-org-2:#7A0535 !important; --lk-navy:#91063F; --k-ink:#111827; --k-ink-2:#111827; --k-ink-3:#475569; --k-navy-900:#7A0535; --k-navy-800:#91063F; --k-navy-700:#91063F; --k-navy-600:#91063F; --ink:#111827; --ink-2:#111827; --ink-3:#475569; --tx:#111827; }
h1, h2, h3, h4, h5 { color:#91063F; }
.trac-ws p, .trac-ws li, .trac-ws td, .trac-panel p, .trac-panel li, .trac-panel td { color:#111827; }
.trac-ws .trac-lede, .trac-panel .trac-lede { color:#475569 !important; }
.ws-readbar .ws-read-h, .trac-ws .ws-readbar .ws-read-h { color:#475569 !important; }
.trac-ws .ov-k { color:#475569 !important; } .trac-ws .ov-h b, .trac-ws .ov b { color:#111827 !important; }
.trac-ws .ov-x { color:#91063F !important; }
.ws-sd button { color:#475569 !important; } .ws-sd button.is-on { color:#91063F !important; }
/* No print buttons on the pages (owner, 4 Nov 2026). */
.kp-toolbar:has([data-jm-print]), .kp-toolbar:has([data-kp-print]), .kp-toolbar:has([data-pa-print]), .kp-toolbar:has([data-sy-print]), .kp-toolbar:has([data-nc-print]), [data-jm-print], [data-kp-print], [data-pa-print], [data-sy-print], [data-nc-print] { display:none !important; }
/* Boxes fit their row, never spill out (owner, 4 Nov 2026). */
.trac-ws .ws-pagebar, .trac-ws .trac-ws-subbar { display:flex; align-items:center; gap:8px; min-width:0; max-width:100%; box-sizing:border-box; }
.trac-ws .ws-pagebar .ws-combo, .trac-ws .trac-ws-subpick select { flex:1 1 auto; min-width:0; width:100%; max-width:100%; box-sizing:border-box; }
.trac-ws .trac-ws-subpick { flex:1 1 auto; min-width:0; }
.trac-ws .trac-options, .trac-panel .trac-options { display:flex; flex-wrap:wrap; gap:10px; align-items:flex-end; padding:10px 12px; box-sizing:border-box; max-width:100%; }
.trac-ws .trac-opt, .trac-panel .trac-opt { flex:1 1 200px; min-width:0; max-width:100%; }
.trac-ws .trac-opt select, .trac-panel .trac-opt select, .trac-ws .trac-opt input, .trac-panel .trac-opt input { width:100%; max-width:100%; box-sizing:border-box; }

/* ===== Kundli page in one column (owner, 5 Nov 2026): system tabs; Chart / Table / Timing / Special tabs; chart with the main facts; everything else at full width below. One scrollbar: the page. ===== */
[data-sec-tabs="kundli"], [data-sec-tabs="trac"] { background:transparent !important; border:0 !important; box-shadow:none !important; padding:12px 24px 0 !important; margin:0 !important; }
[data-sec-tabs="kundli"] .sec-row, [data-sec-tabs="trac"] .sec-row { display:flex; flex-wrap:wrap; gap:8px; padding:0 !important; }
[data-sec-tabs="kundli"] .sec-row > .sec-tab, [data-sec-tabs="trac"] .sec-row > .sec-tab { display:inline-flex !important; flex:0 0 auto !important; align-items:center; gap:7px; height:38px !important; min-height:0 !important; padding:0 14px !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; background:#fff !important; background-image:none !important; color:#111827 !important; box-shadow:none !important; }
[data-sec-tabs="kundli"] .sec-tab small, [data-sec-tabs="trac"] .sec-tab small { display:none !important; }
[data-sec-tabs="kundli"] .sec-tab b, [data-sec-tabs="trac"] .sec-tab b { color:inherit !important; font-size:14px; font-weight:600; }
[data-sec-tabs="kundli"] .sec-ic, [data-sec-tabs="trac"] .sec-ic { width:auto !important; height:auto !important; background:none !important; box-shadow:none !important; padding:0 !important; color:#91063F !important; }
[data-sec-tabs="kundli"] .sec-ic svg, [data-sec-tabs="trac"] .sec-ic svg { width:17px; height:17px; color:inherit !important; }
[data-sec-tabs="kundli"] .sec-row > .sec-tab:hover, [data-sec-tabs="trac"] .sec-row > .sec-tab:hover { background:#f4f6f9 !important; }
[data-sec-tabs="kundli"] .sec-row > .sec-tab.is-on, [data-sec-tabs="trac"] .sec-row > .sec-tab.is-on { background:#91063F !important; border-color:#91063F !important; color:#fff !important; }
[data-sec-tabs="kundli"] .sec-row > .sec-tab.is-on .sec-ic, [data-sec-tabs="trac"] .sec-row > .sec-tab.is-on .sec-ic { color:#FFD43B !important; }
[data-sec-tabs="kundli"] .sec-tab.is-on::after, [data-sec-tabs="trac"] .sec-tab.is-on::after { display:none !important; }
.trac-main.is-dash { padding:12px 24px 24px !important; }
.trac-main.is-dash > .trac-panel.trac-ws.is-active:not(.is-max) { display:block !important; height:auto !important; min-height:0; }
.trac-ws:not(.is-max) > .trac-ws-split { display:none !important; }
.trac-ws:not(.is-max) .trac-ws-size { display:none !important; }
.trac-ws:not(.is-max) > .trac-ws-charts { display:grid !important; grid-template-columns:minmax(0,440px) minmax(0,1fr); column-gap:18px; align-items:start; padding:12px !important; overflow:visible !important; height:auto !important; }
.trac-ws:not(.is-max) > .trac-ws-charts > * { grid-column:1; min-width:0; }
.trac-ws:not(.is-max) > .trac-ws-charts > .ws-seg, .trac-ws:not(.is-max) > .trac-ws-charts > .ws-left-pages { grid-column:1 / -1; }
.trac-ws > .trac-ws-charts > .ws-seg { position:static !important; width:auto !important; display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:8px; margin:0 0 10px !important; padding:0 !important; background:none !important; }
.trac-ws > .trac-ws-charts > .ws-seg button { flex:0 0 auto !important; display:inline-flex !important; flex-direction:row !important; align-items:center; gap:7px; height:36px; padding:0 14px !important; border:1px solid #cbd5e1 !important; border-radius:10px !important; background:#fff !important; color:#111827 !important; box-shadow:none !important; }
.trac-ws > .trac-ws-charts > .ws-seg button .ws-seg-ic, .trac-ws > .trac-ws-charts > .ws-seg button .ws-seg-tx { color:inherit !important; font-size:14px; font-weight:600; }
.trac-ws > .trac-ws-charts > .ws-seg .ws-seg-ic, .trac-ws > .trac-ws-charts > .ws-seg .ws-seg-ic svg { width:17px !important; height:17px !important; color:#91063F; }
.trac-ws > .trac-ws-charts > .ws-seg button.is-on { background:#91063F !important; border-color:#91063F !important; color:#fff !important; }
.trac-ws > .trac-ws-charts > .ws-seg button.is-on .ws-seg-ic, .trac-ws > .trac-ws-charts > .ws-seg button.is-on .ws-seg-ic svg, .trac-ws > .trac-ws-charts > .ws-seg button.is-on .ws-seg-tx { color:#fff !important; }
.trac-ws > .trac-ws-charts > .trac-ws-bar { border:0 !important; background:none !important; padding:0 0 6px !important; }
.trac-ws:not(.is-max) .trac-ws-stage { height:430px; flex:none; padding:0 !important; }
.trac-ws:not(.is-max) .trac-ws-svg, .trac-ws:not(.is-max):not(.has-size) .trac-ws-svg svg { height:100% !important; }
.ws-facts { grid-column:2 !important; grid-row:2 / span 5; display:flex; flex-direction:column; gap:10px; min-width:0; }
.trac-ws.is-max .ws-facts, .trac-ws.mode-page .ws-facts { display:none !important; }
.ws-facts-g { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:8px; }
.ws-facts-g > div { border:1px solid #e5e7eb; border-radius:10px; padding:9px 12px; }
.ws-facts-g span { display:block; font-size:12.5px; color:#475569; } .ws-facts-g b { color:#111827; font-size:15px; font-weight:700; }
.trac-ws:not(.is-max) .ws-left-pages, .trac-ws:not(.is-max) .ws-left-pages > .trac-ws-page, .trac-ws:not(.is-max) .ws-read, .trac-ws:not(.is-max) > .trac-ws-details { overflow:visible !important; height:auto !important; max-height:none !important; }
.trac-ws:not(.is-max) > .trac-ws-details { margin-top:12px; }
@media (max-width:900px) {
  [data-sec-tabs="kundli"], [data-sec-tabs="trac"] { padding:10px 10px 0 !important; }
  .trac-main.is-dash { padding:10px 10px 20px !important; }
  .trac-ws:not(.is-max) > .trac-ws-charts { grid-template-columns:minmax(0,1fr); }
  .ws-facts { grid-column:1 !important; grid-row:auto; margin-top:10px; }
  .trac-ws:not(.is-max) .trac-ws-stage { height:auto; aspect-ratio:1; }
}
.ws-facts .ov { margin:0 !important; width:100%; box-sizing:border-box; } .ws-facts-g:empty { display:none; }
/* Kundli page: icons on the Chart / Table / Timing / Special buttons; the first table in short beside the chart (owner, 5 Nov 2026). */
.trac-ws > .trac-ws-charts > .ws-seg .ws-seg-ic { display:inline-flex !important; align-items:center; }
.trac-ws > .trac-ws-charts > .ws-seg .ws-seg-ic svg { display:block !important; }
.ws-glance { border:1px solid #e5e7eb; border-radius:10px; overflow:hidden; }
.ws-glance-t { width:100%; border-collapse:collapse; font-size:13.5px; }
.ws-glance-t th { background:#f4f6f9; color:#475569; font-weight:600; text-align:left; padding:6px 10px; }
.ws-glance-t td { padding:6px 10px; border-top:1px solid #e5e7eb; color:#111827; }
.ws-glance-more { display:block; width:100%; padding:8px 10px; border:0; border-top:1px solid #e5e7eb; background:#fff; color:#91063F; font:inherit; font-size:13.5px; font-weight:600; text-align:left; cursor:pointer; }
.ws-glance-more:hover { background:#f4f6f9; }
/* Kundli page: beside a divisional chart, only that chart's details. */
.ws-vcard { display:none; }
.ws-facts.is-varga > :not(.ws-vcard) { display:none !important; }
.ws-facts.is-varga > .ws-vcard { display:block; }
.ws-vcard h4 { margin:0 0 4px; color:#91063F; font-size:17px; }
.ws-vcard p { margin:0 0 10px; color:#475569; font-size:14px; }
.ws-vsay { padding:10px 12px; margin-bottom:8px; border:1px solid #e5e7eb; border-left:4px solid #91063F; border-radius:10px; color:#111827; font-size:15px; font-weight:600; }
.ws-vgood, .ws-vweak { padding:9px 12px; margin-bottom:8px; border-radius:10px; }
.ws-vgood { background:#ecfdf5; border:1px solid #a7f3d0; } .ws-vweak { background:#fef2f2; border:1px solid #fecaca; }
.ws-vgood span, .ws-vweak span { display:block; font-size:12.5px; color:#475569; } .ws-vweak span { color:#DC2626; font-weight:600; }
.ws-vgood b, .ws-vweak b { color:#111827; font-size:15px; }
.ws-vcard .ws-glance-more { border:1px solid #cbd5e1; border-radius:10px; width:auto; padding:8px 14px; }

/* Divisional charts, option A (owner, 5 Nov 2026): the reading starts beside the chart and runs on at full width below it; one white card, the page scrolls. */
@media (min-width:901px) {
  .trac-main.is-dash > .trac-panel.trac-ws.ws-wrap-read.is-active:not(.mode-page):not(.is-max) { display:flow-root !important; padding:12px; background:#fff; border:1px solid #e5e7eb; border-radius:12px; box-shadow:0 2px 8px rgba(17,24,39,.06); }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) > .trac-ws-charts { display:block !important; float:left; width:440px; margin:0 20px 14px 0; padding:0 !important; border:0 !important; box-shadow:none !important; background:none !important; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) > .trac-ws-details { display:block !important; margin:0 !important; border:0 !important; box-shadow:none !important; background:none !important; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) .ws-read { display:block !important; padding:6px 0 0 !important; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) .ws-readbar { padding:0 0 8px !important; background:none !important; border:0 !important; }
}
.trac-ws.ws-wrap-read:not(.mode-page) .ws-facts { display:none !important; }
/* Divisional charts: the reading box must not sit over the chart and its picker; tidier reading text (owner, 5 Nov 2026). */
.trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) > .trac-ws-charts { position:relative; z-index:3; }
.trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) > .trac-ws-details { position:static !important; }
.trac-ws .ws-read { font-size:15px; line-height:1.6; }
.trac-ws .ws-read p { margin:0 0 10px; }
.trac-ws .ws-read h3 { font-size:18px; margin:0 0 10px; } .trac-ws .ws-read h4 { font-size:16px; margin:14px 0 6px; }
.trac-ws .ws-read ul, .trac-ws .ws-read ol { display:flow-root; margin:0 0 10px; padding-left:22px; }
.trac-ws .ws-read li { margin-bottom:6px; }
.trac-ws .ws-read .ws-verdict { display:flow-root; margin-bottom:12px; }
/* The Kundli card grows with its content; nothing runs out of the white card (owner, 5 Nov 2026). */
.trac-main.is-dash > .trac-panel.trac-ws.is-active:not(.is-max) { flex:0 0 auto !important; height:auto !important; max-height:none !important; min-height:0; overflow:visible !important; }
.trac-ws:not(.is-max) > .trac-ws-charts { flex:none !important; }
/* Chart tools match the other buttons: same 36px height, squared corners, readable size (owner, 5 Nov 2026). */
.trac-ws .trac-ws-tools { gap:8px !important; align-items:center; }
.trac-ws .trac-dash-styles { border:0 !important; border-radius:0 !important; overflow:visible !important; background:none !important; gap:6px; box-shadow:none !important; padding:0 !important; }
.trac-ws .trac-dash-styles button, .trac-ws .trac-dash-styles button + button { height:36px !important; min-width:64px; padding:0 14px !important; border:1px solid #cbd5e1 !important; border-radius:8px !important; background:#fff !important; color:#111827 !important; font-size:14px !important; font-weight:600 !important; line-height:1 !important; box-shadow:none !important; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.trac-ws .trac-dash-styles button.is-on, .trac-ws .trac-dash-styles button[aria-pressed="true"] { background:#91063F !important; border-color:#91063F !important; color:#fff !important; }
.trac-ws .trac-ws-tools .trac-ws-btn { height:36px !important; min-height:36px; border-radius:8px !important; border:1px solid #cbd5e1 !important; font-size:14px !important; font-weight:600; padding:0 12px; display:inline-flex; align-items:center; justify-content:center; line-height:1; }
.trac-ws .trac-ws-tools .trac-ws-btn.is-icon { width:36px !important; padding:0 !important; font-size:19px !important; }
.trac-ws .trac-ws-tools .trac-ws-btn:hover { border-color:#91063F !important; color:#91063F !important; }
/* Search bar, option A (owner, 5 Nov 2026): white box on a soft pink band. */
.th-search { background:#FBE8EF !important; margin:10px 24px 0; padding:12px 16px !important; border-radius:10px; }
.th-find { border-left:0 !important; }
@media (min-width:1001px) { .trac-home-mode .trac-col > .th-search { margin-top:47px; } }
@media (max-width:760px) { .th-search { margin:8px 10px 0; padding:10px !important; } }
/* Divisional charts: the whole reading sits in one card beside the chart; the chart stays in view (owner, 5 Nov 2026). */
@media (min-width:901px) {
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) > .trac-ws-charts { position:sticky !important; top:12px; margin-bottom:0; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) > .trac-ws-details { display:flow-root !important; box-sizing:border-box; padding:16px 18px !important; background:#fff !important; border:1px solid #e5e7eb !important; border-radius:12px !important; box-shadow:0 2px 8px rgba(17,24,39,.06) !important; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) .ws-readbar { display:flex; align-items:center; gap:8px; padding:0 0 12px !important; margin:0 0 12px; border-bottom:1px solid #e5e7eb !important; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) .ws-readbar .ws-sd { margin-left:auto; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) .ws-rtabs { padding:0 0 12px !important; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) .ov { margin:0 0 12px !important; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) .ws-read { padding:0 !important; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) .ws-auto > h3:first-child { display:none; }
}
/* "Reading of ..." is a calm title: light label, medium-weight name, a clear gap (owner, 5 Nov 2026). */
.trac-ws .ws-readbar .ws-read-h { font-size:15px !important; font-weight:400 !important; letter-spacing:0 !important; color:#475569 !important; margin-right:6px; flex:none; }
.trac-ws .ws-readbar .ws-readof { font-size:16px !important; font-weight:600 !important; letter-spacing:0 !important; color:#91063F !important; }
/* The reading's title row and tabs stay in view while the reading scrolls (owner, 5 Nov 2026). */
@media (min-width:901px) {
  .trac-ws:not(.mode-page):not(.is-max) > .trac-ws-details > .ws-readbar { position:sticky !important; top:0; z-index:4; box-sizing:border-box; height:60px; margin:0 !important; padding:0 !important; display:flex; align-items:center; gap:8px; background:#fff !important; border-bottom:1px solid #e5e7eb !important; }
  .trac-ws:not(.mode-page):not(.is-max) > .trac-ws-details > .ws-readbar .ws-sd { margin-left:auto; }
  .trac-ws:not(.mode-page):not(.is-max) > .trac-ws-details > .ws-rtabs { position:sticky; top:60px; z-index:4; margin:0 0 12px !important; padding:12px 0 !important; background:#fff !important; border-bottom:1px solid #e5e7eb; }
}
/* The fixed row sits right at the top edge, so no text shows above it (owner, 5 Nov 2026). The -12px matches the top padding of the page area. */
@media (min-width:901px) {
  .trac-ws:not(.mode-page):not(.is-max) > .trac-ws-details > .ws-readbar { top:-12px; }
  .trac-ws:not(.mode-page):not(.is-max) > .trac-ws-details > .ws-rtabs { top:48px; }
}

/* ===== b99 (owner, 5 Nov 2026, option A): Chart / Table / Timing / Prashna as a vertical strip on the left of the chart, as before.
   Wide screens only; phones keep the row across the top. ===== */
@media (min-width:901px) {
  .trac-ws:not(.is-max) > .trac-ws-charts { grid-template-columns:78px minmax(0,440px) minmax(0,1fr) !important; }
  .trac-ws:not(.is-max) > .trac-ws-charts > * { grid-column:2; }
  .trac-ws:not(.is-max) > .trac-ws-charts > .ws-left-pages { grid-column:2 / -1 !important; }
  .trac-ws:not(.is-max) > .trac-ws-charts > .ws-facts { grid-column:3 !important; grid-row:1 / span 5 !important; }
  .trac-ws:not(.is-max) > .trac-ws-charts > .ws-seg { grid-column:1 !important; grid-row:1 / span 6 !important; align-self:start; }
  .trac-ws:not(.is-max) > .trac-ws-charts > .ws-seg {
    flex-direction:column !important; flex-wrap:nowrap !important; justify-content:flex-start !important; gap:8px !important; width:78px !important;
    margin:0 !important; padding:6px !important; background:#f6f7f9 !important; border-radius:12px; box-sizing:border-box; position:sticky !important; top:12px; }
  .trac-ws:not(.is-max) > .trac-ws-charts > .ws-seg button {
    flex-direction:column !important; justify-content:center; gap:4px !important; width:100% !important; height:auto !important; min-height:60px;
    padding:9px 2px 8px !important; text-align:center; }
  .trac-ws:not(.is-max) > .trac-ws-charts > .ws-seg button .ws-seg-tx { font-size:12px !important; line-height:1.15; }
  .trac-ws:not(.is-max) > .trac-ws-charts > .ws-seg .ws-seg-ic, .trac-ws:not(.is-max) > .trac-ws-charts > .ws-seg .ws-seg-ic svg { width:22px !important; height:22px !important; }
  /* a divisional chart: the chart column is a floating block, so the strip sits inside it on the left */
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) > .trac-ws-charts { width:530px !important; padding-left:90px !important; box-sizing:border-box; }
  .trac-ws.ws-wrap-read:not(.mode-page):not(.is-max) > .trac-ws-charts > .ws-seg { position:absolute !important; left:0; top:0; }
}
/* The "Show" part picker appears only when a page is split into parts (a later display:flex had overridden [hidden]). */
.trac-ws .trac-ws-subbar[hidden], .trac-ws .ws-pagebar[hidden] { display:none !important; }
/* Page bar on Table / Timing pages: the page picker with its two small buttons on one row; a page's parts as tabs (owner, 5 Nov 2026). */
.trac-ws .ws-pagebar { display:flex !important; flex-wrap:nowrap !important; align-items:center; gap:8px; margin-bottom:10px; }
.trac-ws .ws-pagebar > .ws-combo { flex:1 1 auto !important; width:auto !important; min-width:0; }
.trac-ws .ws-pagebar > .trac-ws-btn { flex:none; width:38px !important; height:38px !important; }
.trac-ws .trac-ws-subbar.use-tabs { padding:0 0 10px !important; margin:0 0 6px; border-bottom:1px solid #e5e7eb !important; background:none !important; }
.trac-ws .trac-ws-subbar.use-tabs .trac-ws-subpick, .trac-ws .trac-ws-subbar.use-tabs .trac-ws-step { display:none !important; }
.trac-ws .trac-ws-subbar:not(.use-tabs) .ws-parttabs { display:none; }
.ws-parttabs { display:flex; flex-wrap:wrap; gap:8px; }
.ws-ptab { height:36px; padding:0 14px; border:1px solid #cbd5e1; border-radius:10px; background:#fff; color:#111827; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.ws-ptab:hover { border-color:#91063F; color:#91063F; }
.ws-ptab.is-on { background:#91063F; border-color:#91063F; color:#fff; }

/* ===== b103 — Western page (owner, 5 Nov 2026: "properly redesign the Western astrology page") ===== */
/* Chart analysis: In short, bars, the four quarters, tiles, pattern cards, dispositor chains. White cards on grey, magenta headings. */
.sy-an { display:flex; flex-direction:column; gap:16px; }
.sy-card { background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:16px 18px; }
.sy-card h3 { margin:0 0 12px !important; color:#91063F !important; font-size:17px !important; font-weight:700; border:0 !important; padding:0 !important; }
.sy-short { border-left:4px solid #91063F; }
.sy-short ul { margin:0; padding-left:20px; }
.sy-short li { margin:6px 0; line-height:1.55; color:#111827; }
.sy-short li b { color:#111827; }
.sy-two { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:16px; align-items:stretch; }
.sy-bar { display:grid; grid-template-columns:150px minmax(0, 1fr) 28px; align-items:center; column-gap:10px; margin:8px 0 10px; }
.sy-bar-n { font-weight:600; color:#111827; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.sy-bar-c { text-align:right; color:#6b7280; font-weight:600; }
.sy-bar small { grid-column:2 / 4; color:#6b7280; font-size:13px; margin-top:2px; }
.sy-track { height:10px; background:#f1f1f3; border-radius:6px; overflow:hidden; }
.sy-track > span { display:block; height:100%; min-width:6px; background:#91063F; border-radius:6px; }
.sy-lead { font-size:11.5px; font-weight:700; color:#7a5c00; background:#fbf3d6; border-radius:6px; padding:1px 7px; }
.sy-split { display:flex; height:28px; border-radius:8px; overflow:hidden; font-size:12.5px; font-weight:600; margin:10px 0 0; background:#f1f1f3; }
.sy-split > span { display:flex; align-items:center; justify-content:center; color:#374151; white-space:nowrap; min-width:max-content; padding:0 8px; }
.sy-split > span.is-on { background:#fbeef3; color:#7a0535; }
.sy-split + .sy-split { margin-top:6px; }
.sy-note { display:block; color:#6b7280; font-size:13px; margin-top:8px; }
.sy-quad { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.sy-quad > div { border:1px solid #e5e7eb; border-radius:8px; padding:8px 10px; font-size:13.5px; min-height:72px; color:#111827; }
.sy-quad > div b { display:block; font-size:11.5px; color:#6b7280; font-weight:700; text-transform:uppercase; letter-spacing:.04em; margin-bottom:2px; }
.sy-quad > div.is-on { background:#fbeef3; border-color:#e9b9cb; }
.sy-tiles { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sy-tiles > div { border:1px solid #e5e7eb; border-radius:10px; padding:10px 12px; }
.sy-tiles small { display:block; color:#6b7280; font-size:12.5px; }
.sy-tiles b { font-size:15px; color:#111827; }
.sy-tiles span { color:#6b7280; font-size:13px; }
.sy-tiles .sy-wide { grid-column:1 / -1; }
.sy-pats { display:grid; grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); gap:12px; }
.sy-pat { border:1px solid #e5e7eb; border-radius:10px; padding:12px 14px; }
.sy-pat h4 { margin:0 0 8px !important; padding:0 !important; border:0 !important; font-size:15px !important; color:#111827 !important; }
.sy-pat .sy-chips + p { margin-top:8px; }
.sy-pat p { margin:6px 0 0; color:#374151; font-size:13.5px; line-height:1.5; }
.sy-chips { display:flex; flex-wrap:wrap; gap:6px; }
.sy-chips > span { border:1px solid #e9b9cb; background:#fbeef3; color:#7a0535; border-radius:999px; padding:1px 9px; font-size:12.5px; font-weight:600; }
.sy-chains { display:flex; flex-direction:column; gap:8px; }
.sy-chains > div { display:flex; flex-wrap:wrap; align-items:center; gap:6px; font-size:14px; }
.sy-chains span { border:1px solid #e5e7eb; border-radius:8px; padding:2px 9px; background:#fff; color:#111827; }
.sy-chains span.is-own { border-color:#91063F; color:#91063F; font-weight:600; }
.sy-chains i { font-style:normal; color:#6b7280; }
.is-simple .ws-read .sy-detail { display:none !important; }
@media (max-width: 900px) {
  .sy-two { grid-template-columns:1fr; }
  .sy-bar { grid-template-columns:96px minmax(0, 1fr) 24px; }
}

/* Solar return and Paribhraman readings on the Western page: the same calm cards. */
[data-dash=sayana] .yr-head { flex-direction:column; gap:6px; border-left-width:4px !important; border-radius:12px !important; padding:16px 18px !important; }
[data-dash=sayana] .yr-head .yr-badge { align-self:flex-start; }
[data-dash=sayana] .yr-head h3 { color:#91063F !important; }
[data-dash=sayana] .yr > h3 { color:#91063F !important; margin:22px 0 10px !important; font-size:17px !important; }
[data-dash=sayana] .yr-areas { gap:12px; }
[data-dash=sayana] .yr-area { border-radius:12px !important; padding:12px 14px !important; }
[data-dash=sayana] #panel-sy-yearread > .trac-hint, [data-dash=sayana] #panel-sy-paribhraman > .trac-hint { background:none !important; border:0 !important; padding:0 !important; color:#6b7280; font-size:13px; }
/* No box inside a box on the Western pages: a list inside a card loses its own frame. */
[data-dash=sayana] .ov-card .trac-kv { border:0 !important; box-shadow:none !important; background:none !important; padding:0 !important; margin:0 !important; }
[data-dash=sayana] .trac-ov { align-items:start; }

/* ===== b104 — short page lists as buttons (owner, 5 Nov 2026: "instead of a combo box, display like KP, Jaimini") ===== */
.trac-ws .ws-pagebar > .ws-pagebtns { display:flex; flex-wrap:wrap; gap:8px; flex:1 1 auto; min-width:0; }
.trac-ws .ws-pagebar > .ws-pagebtns[hidden] { display:none !important; }
.trac-ws .ws-pagebar > .ws-pagebtns .ws-ptab { height:38px; }
/* Parts of a page are a second level: soft pills, so they never look like the page buttons above them. */
.trac-ws .ws-parttabs .ws-ptab { height:32px; padding:0 12px; font-size:13px; border-radius:999px; }
.trac-ws .ws-parttabs .ws-ptab.is-on { background:#fbeef3; border-color:#e9b9cb; color:#7a0535; }


/* ===== Lal Kitab Varshphal and fixed page buttons (owner, 5 Nov 2026) ===== */
/* The explanation shows on the first part only; the year box stays because it changes every part. */
#panel-lk-varshphal[data-part-on]:not([data-part-on="Varshphal"]) .trac-lede { display:none; }
/* Page buttons and part buttons stay fixed while the page scrolls. */
@media (min-width:901px) {
  .trac-ws.mode-page:not(.is-max) .ws-left-pages > .ws-pagebar { position:sticky; top:-12px; z-index:6; box-sizing:border-box; padding-top:8px !important; padding-bottom:8px !important; background:#fff !important; }
  .trac-ws.mode-page:not(.is-max) .ws-left-pages > .trac-ws-subbar { position:sticky; top:calc(var(--ws-pb-h, 54px) - 12px); z-index:6; padding-top:4px !important; background:#fff !important; }
}
/* Year box and More choices on one line. */
#panel-lk-varshphal form[data-yr-form] { display:flex !important; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:12px; }
#panel-lk-varshphal form[data-yr-form] > div.yr-main { display:flex; align-items:center; gap:10px; margin:0; }
#panel-lk-varshphal form[data-yr-form] > div.yr-main label { margin:0; font-size:14px; font-weight:400; color:#475569; white-space:nowrap; }
#panel-lk-varshphal form[data-yr-form] > div.yr-main select { width:auto; min-width:96px; height:36px; }
#panel-lk-varshphal form[data-yr-form] .yr-more { flex:0 1 auto; margin:0; border:0 !important; background:none !important; box-shadow:none !important; padding:0 !important; }
/* Month by month: 12 month buttons, then the chart and its reading, with no boxes around them. */
.trac-part[data-part="Month by month"] > h3 { display:none; }
.lk-mon-pdf { display:none !important; }
.lk-mon > .lk-mon-pick { display:none; }
#panel-lk-varshphal[data-part-on]:not([data-part-on="Month by month"]) form .lk-mon-pick { display:none; }
.lk-mon-pick { display:flex; align-items:center; gap:10px; margin:0; min-width:0; }
.lk-mon-pick > span { font-size:14px; font-weight:400; color:#475569; }
.lk-mon-pick select { height:36px; min-width:260px; max-width:100%; padding:0 10px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#111827; font:inherit; font-size:14px; font-weight:600; }
.lk-mon-styles { display:flex; gap:6px; margin-bottom:10px; }
.lk-mon-styles button { height:36px; min-width:64px; padding:0 14px; border:1px solid #cbd5e1; border-radius:8px; background:#fff; color:#111827; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
.lk-mon-styles button.is-on { background:#91063F; border-color:#91063F; color:#fff; }
.lk-mon[data-style="0"] .lk-cs:not([data-cs="0"]), .lk-mon[data-style="1"] .lk-cs:not([data-cs="1"]), .lk-mon[data-style="2"] .lk-cs:not([data-cs="2"]) { display:none; }
.lk-mon-one { display:grid; grid-template-columns:minmax(0, 440px) minmax(0, 1fr); gap:20px; align-items:start; }
.lk-mon-one[hidden] { display:none; }
.lk-mon-left { min-width:0; }
.lk-mon-left .trac-chart { max-width:100%; margin:0; }
.lk-mon-one .lk-cs svg { display:block; width:100%; height:auto; }
.lk-mon-read { min-width:0; }
.lk-mon-title { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-bottom:6px; }
.lk-mon-title b { color:#91063F; font-size:17px; font-weight:600; }
.lk-mon-line { margin:0 0 12px; font-weight:600; color:#111827; }
.lk-mon-two { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:10px; }
.lk-mon-box { padding:12px; border:1px solid #e5e7eb; border-radius:10px; }
.lk-mon-box b { display:block; margin-bottom:6px; font-size:14px; }
.lk-mon-box.is-up b { color:#15803d; }
.lk-mon-box.is-care b { color:#DC2626; }
.lk-mon-box p { margin:0; font-size:14px; color:#111827; }
.lk-mon-who { margin:0 0 6px; font-size:14px; color:#475569; }
@media (max-width:760px) { .lk-mon-one, .lk-mon-two { grid-template-columns:minmax(0, 1fr); } .lk-mon-pick { width:100%; } .lk-mon-pick select { flex:1; min-width:0; } }
/* Month by month laid out like Parashari (owner, 5 Nov 2026): the choices sit over the chart at the chart's width, the reading starts level with them. */
@media (min-width:901px) {
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] { display:flex !important; flex-wrap:wrap; align-items:center; gap:8px; width:100%; max-width:440px; margin:0 0 10px; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] > div.yr-main { flex:0 0 96px; margin:0; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] > div.yr-main label,
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] > label.lk-mon-pick > span { display:none !important; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] > div.yr-main select { width:96px; min-width:0; height:38px; border-color:#cbd5e1 !important; color:#111827 !important; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] > label.lk-mon-pick { display:block !important; flex:1 1 0; min-width:0; margin:0; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] > label.lk-mon-pick select { display:block; width:100%; min-width:0; height:38px; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] .yr-more { flex:0 0 38px; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] .yr-more[open] { flex:1 1 100%; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] .yr-more > summary { box-sizing:border-box; width:38px; height:38px; padding:0; border:1px solid #cbd5e1 !important; border-radius:8px; display:flex; align-items:center; justify-content:center; font-size:0; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] .yr-more > summary span { margin:0; font-size:18px; color:#111827; }
  #panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) .lk-mon-read { margin-top:-48px; }
}
/* The settings icon leaves this tab; the full-screen button sits with North, South and East, as on Parashari (owner, 5 Nov 2026). */
#panel-lk-varshphal:is([data-part-on="Month by month"], [data-part-on="Varshphal"]) form[data-yr-form] .yr-more { display:none !important; }
.lk-mon-styles button.lk-mon-max { min-width:36px; width:36px; padding:0; font-size:19px; line-height:1; }
.lk-mon-left.is-max { position:fixed; inset:0; z-index:5000; display:flex; flex-direction:column; align-items:center; padding:14px; background:#fff; overflow:auto; }
.lk-mon-left.is-max .trac-chart { width:min(calc(100vh - 90px), 100%); max-width:none; }
.lk-mon-left.is-max .lk-mon-max { background:#FBE8EF; border-color:#91063F; color:#91063F; }
#panel-lk-varshphal[data-part-on="Varshphal"] form[data-yr-form] > label.lk-mon-pick { display:none !important; }
.lk-year { margin-bottom:6px; }
.lk-year .lk-mon-title b { font-size:16px; }
.lk-year-list { margin:6px 0 0; padding-left:20px; font-size:14px; color:#111827; }
.lk-year-list li { margin-bottom:4px; }
/* No download or print button on Kundli pages (owner, 5 Nov 2026). */
.trac-ws .ws-pagebar [data-ws-print] { display:none !important; }
/* The settings box opens above the fixed rows. */
.trac-ws .ws-left-pages > .trac-dash-settings { z-index:20 !important; }
/* The year box reads "Birthday in 2026" on every Varshphal tab: full chart width on the first tab, as on Parashari; beside the month on Month by month. */
#panel-lk-varshphal form[data-yr-form] > div.yr-main label { display:none !important; }
#panel-lk-varshphal form[data-yr-form] > div.yr-main select { width:auto; min-width:170px; height:38px; border-color:#cbd5e1 !important; color:#111827 !important; }
@media (min-width:901px) {
  #panel-lk-varshphal[data-part-on="Varshphal"] form[data-yr-form] > div.yr-main { flex:1 1 100%; }
  #panel-lk-varshphal[data-part-on="Varshphal"] form[data-yr-form] > div.yr-main select { width:100%; }
  #panel-lk-varshphal[data-part-on="Month by month"] form[data-yr-form] > div.yr-main { flex:0 0 160px; }
  #panel-lk-varshphal[data-part-on="Month by month"] form[data-yr-form] > div.yr-main select { width:160px; min-width:0; }
}
/* Lal Kitab Life periods (owner, 5 Nov 2026): the tab already names the part, so the heading is not repeated. */
#panel-lk-life .trac-part > h3 { display:none; }
.lk-birth-lead { margin:0 0 12px; font-size:14px; color:#475569; }
.lk-birth-two { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.lk-birth-card { padding:16px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; }
.lk-birth-card span, .lk-birth-card small { display:block; font-size:13px; color:#475569; }
.lk-birth-card b { display:block; margin:2px 0; color:#91063F; font-size:20px; font-weight:600; }
.lk-birth-note { margin-top:14px; padding:12px 14px; border:1px solid #a7f3d0; border-radius:10px; background:#ecfdf5; color:#111827; font-size:14px; font-weight:600; }
@media (max-width:760px) { .lk-birth-two { grid-template-columns:minmax(0, 1fr); } }

/* ===== Main page redesign (owner, 5 Nov 2026) ===== */
body .trac.trac-home-mode:has(.hm-banner) main.trac-main.trac-main.trac-main { overflow:auto !important; }
.trac-home.hm { display:block !important; height:auto !important; padding-top:10px !important; padding-bottom:24px !important; }
.trac-home.hm .hm-banner { position:relative; margin:0; padding:26px 30px 70px; border-radius:14px; color:#fff; background:url("../images/home/banner.png") right center / auto 100% no-repeat, linear-gradient(120deg, #5E0429, #91063F); }
.trac-home.hm .hm-banner h1 { margin:0; color:#fff !important; font-size:38px; font-weight:700; }
.trac-home.hm .hm-banner h1 span { color:#FFD43B; }
.trac-home.hm .hm-banner p { margin:6px 0 0; color:#fff; font-size:18px; }
.trac-home-mode section.trac-home.hm > .hm-hero { position:relative; margin:-52px 16px 0 !important; width:auto !important; }
.trac-home.hm .hm-ask { background:#fff !important; border:1px solid #e5e7eb !important; border-radius:14px !important; box-shadow:0 6px 20px rgba(17,24,39,.1) !important; }
.hm-asktitle { display:flex; align-items:center; gap:10px; margin-bottom:8px; }
.hm-asktitle img { border-radius:50%; }
.hm-asktitle b { color:#91063F; font-size:24px; font-weight:700; }
.trac-home.hm .hm-ask .ask-head { display:none !important; }
.trac-home.hm.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { height:60px !important; min-height:60px !important; }
.hm-sec { display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; margin:20px 0 10px; }
.hm-sec h2 { margin:0; color:#91063F; font-size:20px; font-weight:700; }
.hm-sec span { color:#475569; font-size:14px; }
.hm-samples { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:10px; }
.hm-samples button { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; color:#111827; font:inherit; text-align:left; cursor:pointer; }
.hm-samples button:hover { border-color:#91063F; }
.hm-samples i { flex:none; width:34px; height:34px; padding:7px; border-radius:8px; background:#fbeef3; color:#91063F; box-sizing:border-box; }
.hm-samples svg { display:block; width:100%; height:100%; }
.hm-samples b { font-size:13.5px; font-weight:600; line-height:1.25; }
.hm-experts { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:12px; }
.hm-expert { display:grid; grid-template-columns:84px minmax(0, 1fr); gap:12px; padding:14px; border:1px solid #e5e7eb; border-radius:14px; background:#fff; }
.hm-expert img { width:84px; height:84px; }
.hm-expert-body b { color:#91063F; font-size:16px; font-weight:700; }
.hm-expert-body p { margin:3px 0; font-size:13.5px; color:#111827; }
.hm-expert-body small { color:#475569; font-size:12.5px; }
.hm-expert > button { grid-column:1 / -1; height:38px; border:0; border-radius:8px; background:#91063F; color:#fff; font:inherit; font-weight:600; cursor:pointer; }
.hm-expert > button:hover { background:#7A0535; }
.hm-why { display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); margin-top:20px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; }
.hm-why div { padding:14px 16px; border-left:1px solid #e5e7eb; }
.hm-why div:first-child { border-left:0; }
.hm-why b, .hm-dayline b { display:block; color:#91063F; font-size:15px; }
.hm-why span, .hm-dayline span { color:#475569; font-size:13.5px; }
.hm-dayline { display:none; margin-top:20px; padding:14px 16px; border:1px solid #e5e7eb; border-radius:12px; background:#fff; text-decoration:none; }
.trac-home.hm:has([data-home-using]:not([hidden])) .hm-why { display:none; }
.trac-home.hm:has([data-home-using]:not([hidden])) .hm-dayline { display:block; }
@media (max-width:1100px) { .hm-samples { grid-template-columns:repeat(3, minmax(0, 1fr)); } .hm-experts { grid-template-columns:repeat(2, minmax(0, 1fr)); } .hm-why { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:640px) { .hm-samples, .hm-experts, .hm-why { grid-template-columns:minmax(0, 1fr); } .trac-home.hm .hm-banner { background:linear-gradient(120deg, #5E0429, #91063F); } .trac-home.hm .hm-banner h1 { font-size:28px; } .trac-home-mode section.trac-home.hm > .hm-hero { margin-left:8px !important; margin-right:8px !important; } }
.trac-home.hm { text-align:left; }
.trac-home.hm .hm-banner { display:block; box-sizing:border-box; width:100%; max-width:none; text-align:left; }
.trac-home.hm .hm-banner p, .trac-home.hm .hm-banner h1 { max-width:60%; }
.trac-home-mode section.trac-home.hm > .hm-hero { max-width:none !important; }
.hm-sec { justify-content:flex-start; }
.hm-expert img { height:auto; }
.trac-home.hm .hm-banner h1 { text-align:left !important; font-family:inherit !important; }
.trac-home-mode section.trac-home.hm > .hm-hero { display:block !important; width:auto !important; }
.trac-home.hm .hm-ask { display:block !important; width:100% !important; }
.trac-home.hm > .hm-sec { display:flex !important; width:100%; margin-left:0 !important; margin-right:0 !important; justify-content:flex-start !important; text-align:left; }
.trac-home-mode section.trac-home.hm { display:block !important; height:auto !important; }
.trac-home-mode section.trac-home.hm .hm-banner h1 { width:auto; max-width:60%; margin:0 !important; text-align:left !important; }
.trac-home.hm .hm-banner { padding-bottom:96px; }
.hm-expert { grid-template-rows:1fr auto; }

/* Search in the top row (owner, 5 Nov 2026). */
.th .th-strip-left:has(+ .th-search.in-strip) { flex:0 1 auto; }
.th-strip-in > .th-search.in-strip { display:block; flex:1 1 240px; min-width:160px; max-width:440px; margin:0 12px !important; padding:0 !important; background:none !important; border:0 !important; border-radius:0; }
.th-search.in-strip .th-find { height:30px !important; border:1px solid #cbd5e1 !important; border-radius:8px !important; box-shadow:none !important; background:#fff !important; }
.th-search.in-strip .th-find:focus-within { border-color:#91063F !important; box-shadow:0 0 0 2px rgba(145,6,63,.2) !important; }
.th-search.in-strip .th-find input { font-size:14px; }
@media (min-width:1001px) {
  .trac-home-mode .trac-col:not(:has(> .th-search)) > main.trac-main { margin-top:37px !important; height:calc(100% - 37px) !important; }
}
/* Banner and ask card as two separate cards on the same edges, with the whole picture showing (owner, 5 Nov 2026). */
.trac-home.hm .hm-banner { display:flex; flex-direction:column; justify-content:center; box-sizing:border-box; height:150px; padding:0 30px !important; background-size:auto 100%, auto !important; }
.trac-home-mode section.trac-home.hm > .hm-hero { margin:12px 0 0 !important; }
.trac-home.hm .hm-ask { box-shadow:none !important; }
@media (max-width:640px) { .trac-home.hm .hm-banner { height:auto; padding:20px !important; } .trac-home-mode section.trac-home.hm > .hm-hero { margin-left:0 !important; margin-right:0 !important; } }
/* Main page, final (owner, 5 Nov 2026): the banner sits behind the top of the ask card, and both share the same left and right edges. */
.trac-home-mode section.trac-home.hm { padding-top:10px !important; }
.trac-home.hm .hm-banner { display:block; box-sizing:border-box; width:100%; height:262px; margin:0; padding:24px 30px 0 !important; border-radius:14px 14px 0 0; background:url("../images/home/banner.png") right top / auto 216px no-repeat, linear-gradient(120deg, #5E0429, #91063F) !important; }
.trac-home.hm .hm-banner h1 { font-size:40px; }
.trac-home.hm .hm-banner p { max-width:60%; padding-left:12px; border-left:3px solid #FFD43B; }
.trac-home-mode section.trac-home.hm > .hm-hero { margin:-46px 0 0 !important; }
.trac-home.hm .hm-ask { box-shadow:0 4px 14px rgba(17,24,39,.08) !important; }
@media (max-width:640px) { .trac-home.hm .hm-banner { height:170px; padding:18px 20px 0 !important; background:linear-gradient(120deg, #5E0429, #91063F) !important; } .trac-home.hm .hm-banner p { max-width:none; } .trac-home-mode section.trac-home.hm > .hm-hero { margin:-46px 0 0 !important; } }
/* Main page (owner, 5 Nov 2026): one banner runs behind the whole ask card and shows below it; the card keeps equal margins inside it. The robot sits in the question box beside the hint. */
.trac-home.hm .hm-top { border-radius:14px; padding:0 16px 16px; background:linear-gradient(to bottom, rgba(106,5,49,0) 0, rgba(106,5,49,0) 176px, #6A0531 216px), url("../images/home/banner.png") right top / auto 216px no-repeat, linear-gradient(120deg, #5E0429, #91063F) !important; }
.trac-home.hm .hm-top .hm-banner { height:196px; margin:0; padding:24px 14px 0 !important; border-radius:0; background:none !important; }
.trac-home-mode section.trac-home.hm .hm-top > .hm-hero, .trac-home-mode section.trac-home.hm > .hm-top > .hm-hero { position:relative; width:100% !important; max-width:none !important; margin:0 !important; }
.trac-home.hm .hm-ask { position:relative; box-shadow:none !important; }
.trac-home.hm .hm-ask .hm-asktitle { position:absolute; z-index:3; left:30px; top:24px; margin:0; pointer-events:none; }
.trac-home.hm .hm-ask .hm-asktitle img { width:36px; height:35px; }
.trac-home.hm .hm-ask .hm-asktitle b { display:none; }
.trac-home.hm.hm .hm-ask .ask-wrap.ask-home form.trac-chatbox textarea.ask-input { padding-left:46px !important; }
@media (max-width:640px) { .trac-home.hm .hm-top { padding:0 8px 8px; background:linear-gradient(120deg, #5E0429, #91063F) !important; } .trac-home.hm .hm-top .hm-banner { height:130px; padding:16px 12px 0 !important; } }

/* TRAC AI Experts page and the link to it (owner, 5 Nov 2026). */
.hm-sec a { margin-left:auto; color:#91063F; font-size:14px; font-weight:600; text-decoration:none; }
.xp-main { max-width:1200px; padding:18px 24px 30px; }
.xp-main h1 { margin:0; color:#91063F; font-size:26px; font-weight:700; }
.xp-lead { margin:4px 0 8px; color:#475569; font-size:14px; }
.xp-main h2 { margin:18px 0 10px; color:#91063F; font-size:18px; font-weight:700; }
.xp-grid { display:grid; grid-template-columns:repeat(auto-fill, minmax(260px, 1fr)); gap:12px; }
.xp-card { display:grid; grid-template-columns:84px minmax(0, 1fr); grid-template-rows:1fr auto; gap:12px; padding:14px; border:1px solid #e5e7eb; border-radius:14px; background:#fff; }
.xp-card img { width:84px; height:auto; }
.xp-body b { color:#91063F; font-size:15px; font-weight:700; }
.xp-body p { margin:3px 0; font-size:13.5px; color:#111827; }
.xp-body small { color:#475569; font-size:12.5px; }
.xp-card a { grid-column:1 / -1; display:flex; align-items:center; justify-content:center; height:38px; border-radius:8px; background:#91063F; color:#fff; font-weight:600; text-decoration:none; }
.xp-card a:hover { background:#7A0535; color:#fff; }
/* AI Experts: method details only in Astrologer mode (owner, 5 Nov 2026). */
.xp-astro, .hm-expert-body small { display:none; }
.view-astro .xp-astro, .view-astro .hm-expert-body small { display:block; }
/* Seven topic cards as 4 + 3 (owner, 6 Nov 2026). */
.xp-grid { grid-template-columns:repeat(4, minmax(0, 1fr)); }
@media (max-width:1250px) { .xp-grid { grid-template-columns:repeat(3, minmax(0, 1fr)); } }
@media (max-width:900px) { .xp-grid { grid-template-columns:repeat(2, minmax(0, 1fr)); } }
@media (max-width:560px) { .xp-grid { grid-template-columns:minmax(0, 1fr); } }
/* Free tools row removed from the main page; the left menu has them (owner, 6 Nov 2026). */
.hm-toolsblk { display:none !important; }

/* b108: lines for astrologers inside a list */
.view-astro li.xp-astro { display:list-item; }
