:root{--site-canvas:#f6f1e7;--site-panel:#fffdf8;--site-type:#2a2118;--site-dim:#6b5d4f;--site-brand:#6b3e1f;--site-pop:#2f6b4f;--site-edge:#e4d8c3;--site-corner:16px;--site-width:1140px;--site-font-head:'Lexend',system-ui,sans-serif;--site-text-font:'Public Sans',system-ui,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:5rem} body{margin:0;background:var(--site-canvas);color:var(--site-type);font:16px/1.65 var(--site-text-font)}
img{max-width:100%;height:auto} a{color:var(--site-brand);text-underline-offset:3px}
input,select,textarea{max-width:100%;box-sizing:border-box}
input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{min-width:0;max-width:100%}
@supports (-webkit-touch-callout:none){input[type=date],input[type=time],input[type=datetime-local],input[type=month],input[type=week]{-webkit-appearance:none;appearance:none;min-height:2.75em} input::-webkit-date-and-time-value{text-align:left}}
h1,h2,h3{font-family:var(--site-font-head);line-height:1.2;letter-spacing:-.01em;color:var(--site-type)}
h1{font-size:clamp(1.9rem,4.5vw,2.8rem);margin:.2em 0 .35em} h2{font-size:clamp(1.35rem,3vw,1.8rem);margin:2.20em 0 .6em} h3{font-size:1.15rem;margin:1.6em 0 .4em}
p,ul,ol{margin:0 0 1em}
.jazsdq{max-width:var(--site-width);margin:0 auto;padding:0 1rem} .jaujrm{max-width:var(--site-width);margin:0 auto;padding:1.2rem 1rem 3rem}
.ja6z2a{position:absolute;left:-9999px} .ja6z2a:focus{left:1rem;top:1rem;background:var(--site-panel);padding:.5rem;z-index:99}
.jacdjc{max-width:var(--site-width);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.7rem 1rem;flex-wrap:wrap}
.jaw6rm{display:flex;align-items:center;gap:.6rem;font:800 1.15rem var(--site-font-head);color:var(--site-type);text-decoration:none}
.jatnee{display:flex;gap:1rem;flex-wrap:wrap;align-items:center} .jatnee a{color:var(--site-type);text-decoration:none;font-weight:600;font-size:.95rem}
.jat4jn{background:var(--site-panel);border-bottom:1px solid var(--site-edge)} .jat4jn{position:sticky;top:0;z-index:30} 
.ja8kp1{margin:1rem 0 1.4rem} .jaz81a{font-size:1.12rem;max-width:46em;color:var(--site-dim)} .ja8kp1{text-align:center} .ja8kp1 .jaz81a{margin-left:auto;margin-right:auto}
.jae8q4{margin:1.4rem 0 2rem}
.ja352f{margin:1.4em 0;padding:.9em 1.1em;background:var(--site-panel);border-left:4px solid var(--site-pop);border-radius:0 var(--site-corner) var(--site-corner) 0}
.ja72jb{margin:1.2em 0;padding:.9em 1.1em;font-family:ui-monospace,Consolas,monospace;background:var(--site-panel);border:1px dashed var(--site-brand);border-radius:var(--site-corner);overflow-x:auto}
.jaafmt{margin:1.2em 0;overflow-x:auto;border:1px solid var(--site-edge);border-radius:var(--site-corner);background:var(--site-panel)}
.jae64t{width:100%;border-collapse:collapse;font-size:.95em;font-variant-numeric:tabular-nums} .jae64t th,.jae64t td{padding:.5em .75em;border-bottom:1px solid var(--site-edge);text-align:left}
.jae64t thead th{background:color-mix(in srgb,var(--site-edge) 60%,var(--site-panel))}
ol.ja0a27{padding-left:1.3em} ol.ja0a27>li{margin:.5em 0}
.jaagrc{margin:1.6em 0;text-align:center} .jaagrc img{width:100%;max-width:720px;border-radius:var(--site-corner);border:1px solid var(--site-edge);background:#fff} .jaagrc figcaption{font-size:.9em;color:var(--site-dim)}
.ja70cw{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin:1.2em 0}
.ja352y{display:block;padding:1.1rem;background:var(--site-panel);border-radius:var(--site-corner);border:1px solid var(--site-edge);color:var(--site-type);text-decoration:none}
.ja352y b{display:block;font-family:var(--site-font-head);margin-bottom:.35rem} .ja352y span{color:var(--site-dim);font-size:.92rem} .ja352y:hover{border-color:var(--site-brand)}
.ja352y--img{padding:0;overflow:hidden;display:flex;flex-direction:column;transition:transform .2s ease,box-shadow .2s ease} .ja352y--img:hover{transform:translateY(-3px);box-shadow:0 10px 24px color-mix(in srgb,var(--site-type) 14%,transparent)}
.jau767{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover} .jawmgj{display:block;padding:1rem 1.1rem 1.1rem} .jawmgj>span{display:block}
.jaizgg a,.ja21qi,.janw3b{background:none!important}
.ja6cgu{display:block;margin-top:.6rem;font-size:.8rem;font-weight:700;letter-spacing:.04em;color:var(--site-brand)}
.ja70cw--feat{grid-template-columns:repeat(2,minmax(0,1fr))} .ja70cw--feat>.ja352y:first-child{grid-column:1/-1;display:grid;grid-template-columns:1.3fr 1fr;align-items:center} .ja70cw--feat>.ja352y:first-child b{font-size:1.35rem}
.jaizgg{display:grid;gap:1rem;margin:1.2em 0} .ja21qi{display:grid;grid-template-columns:240px 1fr;gap:1.1rem;align-items:center;background:var(--site-panel);border:1px solid var(--site-edge);border-radius:var(--site-corner);overflow:hidden;color:var(--site-type);text-decoration:none}
.ja21qi .jau767{height:100%;aspect-ratio:auto;min-height:126px} .ja21qi b{display:block;font-family:var(--site-font-head);font-size:1.12rem;margin-bottom:.3rem} .ja21qi .jawmgj>span{color:var(--site-dim);font-size:.93rem} .ja21qi:hover{border-color:var(--site-brand)}
.jaizgg--min{list-style:none;padding:0;counter-reset:bl;gap:0} .jaizgg--min li{counter-increment:bl;border-top:1px solid var(--site-edge)} .jaizgg--min li:last-child{border-bottom:1px solid var(--site-edge)}
.jaizgg--min a{display:grid;grid-template-columns:4.2rem 1fr;column-gap:1rem;padding:1.1rem .2rem;color:var(--site-type);text-decoration:none} .jaizgg--min a::before{content:counter(bl,decimal-leading-zero);grid-row:1/4;font:800 2.4rem/1 var(--site-font-head);color:var(--site-brand)}
.jaizgg--min b{font-family:var(--site-font-head);font-size:1.15rem} .jaizgg--min span{color:var(--site-dim);font-size:.93rem} .jaizgg--min a:hover b{color:var(--site-brand)}
.jaeyii--overlay{position:relative;margin:.6rem 0 1.6rem;border-radius:var(--site-corner);overflow:hidden} .jaeyii--overlay>img{display:block;width:100%;height:auto;min-height:300px;object-fit:cover}
.jadsqc{position:absolute;inset:auto 0 0 0;padding:4rem 1.6rem 1.4rem;background:linear-gradient(transparent,color-mix(in srgb,#000 72%,transparent))} .jadsqc h1,.jadsqc .javkke,.jadsqc .janw3b{color:#fff}
.jaeyii--band{background:var(--site-brand);color:#fff;padding:2.2rem 1.6rem;border-radius:var(--site-corner)} .jaeyii--band h1,.jaeyii--band .javkke,.jaeyii--band .janw3b{color:#fff}
.jaeyii--split{display:grid;grid-template-columns:1.1fr 1fr;gap:1.6rem;align-items:center} .jaeyii--split .jajvvj{margin:0}
.jabbqk--chips ol{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.45rem} .jabbqk--chips li{margin:0} .jabbqk--chips a{display:inline-block;padding:.3rem .75rem;border:1px solid var(--site-edge);border-radius:999px;background:var(--site-canvas);text-decoration:none;font-size:.88rem}
.jabbqk--rail{background:none;border:0;border-left:3px solid var(--site-pop);border-radius:0;padding:.2rem 0 .2rem 1rem}
.jamcxs--globe summary{display:flex;align-items:center;gap:.35rem} .jaiaf1{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.8rem} .jaiaf1 a{padding:.25rem .7rem;border:1px solid var(--site-edge);border-radius:999px;text-decoration:none} .jaiaf1 a[aria-current]{background:var(--site-brand);border-color:var(--site-brand);color:#fff}
@media (max-width:700px){.ja70cw--feat{grid-template-columns:1fr} .ja70cw--feat>.ja352y:first-child{display:flex} .ja21qi{grid-template-columns:1fr} .ja21qi .jau767{min-height:0;aspect-ratio:1200/630} .jaeyii--split{grid-template-columns:1fr} .jadsqc{position:static;background:var(--site-brand);padding:1.2rem} .jaeyii--overlay>img{min-height:0}}
.jaxstn{max-width:48rem;margin:0 auto} .jaeyii{margin:.6rem 0 1.2rem} .jaeyii h1{font-size:clamp(2rem,5vw,3rem);line-height:1.12;letter-spacing:-.01em}
.janw3b{display:inline-block;font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--site-brand);text-decoration:none}
.jakz6y{color:var(--site-dim);font-size:.9rem;margin:2rem 0 0} .ja2cm8{font-style:italic;color:var(--site-dim)} .javkke{color:var(--site-dim);font-size:.92rem;margin:0} .jajvvj{margin:0 0 1.6rem} .jajvvj img{display:block;width:100%;height:auto;border-radius:var(--site-corner)}
.jaxstn .jaz81a{font-size:1.2rem;color:var(--site-type)} .jaxstn .jaz81a::first-letter{font-family:var(--site-font-head);font-size:3.1em;float:left;line-height:.9;margin:.06em .1em 0 0;color:var(--site-brand)}
.jaxstn .jabbqk--post{position:static!important;top:auto!important;z-index:auto;margin:0 0 1.8rem;padding:1rem 1.2rem;background:var(--site-panel);border:1px solid var(--site-edge);border-left:4px solid var(--site-brand);border-radius:var(--site-corner);font-size:.95rem}
.jabbqk--post ol{margin:.4rem 0 0;padding-left:1.2rem;columns:1} .jabbqk--post li{margin:.2rem 0}
.jaxstn h3{color:var(--site-brand)} .jaxstn blockquote{margin:1.4em 0;padding:.4em 1.2em;border-left:4px solid var(--site-pop);font-size:1.1em}
.jaees9{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem} .jaees9>div{background:var(--site-panel);border:1px solid var(--site-edge);border-radius:var(--site-corner);padding:1rem} .jaynmw h3{margin-top:0;font-size:1rem}
.janhu7{font-size:.88rem;color:var(--site-dim);margin:.4rem 0 1rem} .janhu7 a{color:var(--site-dim)}
.ja7b4t{margin:2.4rem 0;padding:1.4rem;background:var(--site-panel);border-radius:var(--site-corner);border:1px solid var(--site-edge);text-align:center}
.ja8aad{display:inline-block;padding:.7em 1.4em;background:var(--site-brand);color:#fff;border-radius:999px;font-weight:700;text-decoration:none}
.jaqpvq{border-top:1px solid var(--site-edge);margin-top:3rem;padding:1.6rem 0 2.4rem;font-size:.9rem;color:var(--site-dim);background:var(--site-panel)}
.jaqpvq nav{display:flex;flex-wrap:wrap;gap:.5rem 1.2rem} .jaqpvq a{color:var(--site-dim)} .jatjvt{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;align-items:center}
.ja7zdg{background:var(--site-panel);border:1px solid var(--site-edge);border-radius:var(--site-corner);padding:.2rem 1.4rem 1rem;margin:1.6rem 0} .ja7zdg>h2{margin-top:1rem}

.jamcxs{position:relative} .jamcxs summary{cursor:pointer;list-style:none;padding:.25rem .6rem;border:1px solid var(--site-edge);border-radius:999px;font-size:.85rem}
.jag06r{position:absolute;right:0;top:120%;background:var(--site-panel);border:1px solid var(--site-edge);border-radius:10px;padding:.4rem;display:grid;min-width:9rem;z-index:40}
.jag06r a{padding:.3rem .5rem;text-decoration:none;color:var(--site-type)} .jag06r a[aria-current]{font-weight:700;color:var(--site-brand)}
.ja1cz2{display:flex;gap:.35rem;font-size:.8rem;font-weight:700} .ja1cz2 a{text-decoration:none;color:var(--site-dim);padding:.1rem .3rem;border-radius:4px} .ja1cz2 a[aria-current]{color:var(--site-brand);background:color-mix(in srgb,var(--site-brand) 12%,transparent)}
[data-zone]{margin:1rem auto;text-align:center;overflow:hidden;max-width:100%} [data-zone]:empty{margin:0}
[data-zone="mobile_sticky"]{position:fixed;left:0;right:0;bottom:0;margin:0;z-index:50;background:var(--site-panel)}
[data-zone="sidebar_left"],[data-zone="sidebar_right"]{position:fixed;top:110px;width:160px;margin:0;z-index:20} [data-zone="sidebar_left"]{left:12px} [data-zone="sidebar_right"]{right:12px}
@media (max-width:1499px){[data-zone="sidebar_left"],[data-zone="sidebar_right"]{display:none}}
.jajds6{float:right;border:0;background:transparent;font-size:1.2rem;cursor:pointer;color:var(--site-dim)}
.ja8aad{border-radius:4px;text-transform:uppercase;letter-spacing:.06em;font-size:.85rem}
.jaafmt{border:0;border-top:3px solid var(--site-brand);border-radius:0;background:transparent} .jae64t thead th{background:transparent;text-transform:uppercase;font-size:.78rem;letter-spacing:.06em}
.ja7zdg a:not(.ja8aad):not(.ja352y){text-decoration:none;background:linear-gradient(transparent 62%,color-mix(in srgb,var(--site-pop) 35%,transparent) 0)}
.ja8kp1--art{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:center;text-align:left} .ja8kp1--art .jaiyki{width:170px;height:170px;display:grid;place-items:center} .jaiyki svg{width:100%;height:100%;filter:drop-shadow(0 12px 24px color-mix(in srgb,var(--site-brand) 35%,transparent))} .jaiyki--ring{border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--site-pop) 30%,transparent) 0 38%,transparent 39% 52%,color-mix(in srgb,var(--site-brand) 18%,transparent) 53% 66%,transparent 67%)} .jaiyki--ring svg{width:56%;height:56%} @media(max-width:700px){.ja8kp1--art{grid-template-columns:1fr} .ja8kp1--art .jaiyki{display:none}}
@media (max-width:640px){.jacdjc{gap:.5rem} .jatnee{gap:.8rem}}

/* Jathakam chart tool: only site tokens (--t-*) for colour, radius and fonts */
.jathakam-chart-container {
    color: var(--site-type);
    font-family: var(--site-text-font);
    color-scheme: inherit;
    position: relative;
    --jc-tint: color-mix(in srgb, var(--site-brand) 9%, var(--site-panel));
    --jc-tint2: color-mix(in srgb, var(--site-pop) 12%, var(--site-panel));
    --jc-gap: clamp(12px, 2.4vw, 20px);
}
.jathakam-chart-container *, .jathakam-chart-container *::before, .jathakam-chart-container *::after { box-sizing: border-box; }
.jc-vh { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.jathakam-chart-container [hidden] { display: none !important; }

/* ---------- form: a palm-leaf strip with a grid of fields ---------- */
.jc-form {
    background: var(--site-panel);
    border: 1px solid var(--site-edge);
    border-radius: var(--site-corner);
    padding: var(--jc-gap);
    position: relative;
    overflow: hidden;
}
.jc-form::before {
    content: ""; position: absolute; inset: 0 0 auto 0; height: 6px;
    background: repeating-linear-gradient(90deg, var(--site-brand) 0 25%, var(--site-pop) 25% 50%);
    opacity: .75;
}
.jc-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px var(--jc-gap); margin-top: 4px; }
.jc-field { min-width: 0; margin: 0; padding: 0; border: 0; }
.jc-f-place { grid-column: 1 / -1; }
.jc-field > label, .jc-field > legend { display: block; font-family: var(--site-font-head); font-weight: 600; font-size: .95rem; margin: 0 0 6px; padding: 0; color: var(--site-type); }
.jc-opt { font-family: var(--site-text-font); font-weight: 400; color: var(--site-dim); font-size: .85em; }
.jc-row3 { display: grid; grid-template-columns: 1fr 1.5fr 1.2fr; gap: 8px; }
.jc-input {
    width: 100%; min-height: 44px; padding: 9px 11px;
    font: inherit; font-size: 1rem; color: var(--site-type);
    background: var(--site-canvas); border: 1px solid var(--site-edge); border-radius: calc(var(--site-corner) * .5);
    color-scheme: inherit;
}
select.jc-input { padding-right: 6px; }
.jc-input:focus-visible, .jc-btn:focus-visible, .jc-link:focus-visible, .jc-style-btn:focus-visible, .jc-md-btn:focus-visible, .jc-hist-btn:focus-visible, .jc-history summary:focus-visible {
    outline: 3px solid color-mix(in srgb, var(--site-brand) 55%, transparent); outline-offset: 2px;
}
.jc-input:disabled { opacity: .5; cursor: not-allowed; }
.jc-clock-echo { margin: 6px 0 0; min-height: 1.2em; font-size: .9rem; color: var(--site-dim); }
.jc-check { display: flex; gap: 8px; align-items: center; margin-top: 4px; min-height: 40px; cursor: pointer; font-size: .95rem; }
.jc-check input { width: 20px; height: 20px; accent-color: var(--site-brand); flex: none; }
.jc-combo { position: relative; }
.jc-city-list {
    position: absolute; z-index: 30; left: 0; right: 0; top: calc(100% + 4px); margin: 0; padding: 4px; list-style: none;
    background: var(--site-panel); border: 1px solid var(--site-edge); border-radius: calc(var(--site-corner) * .5);
    box-shadow: 0 12px 28px color-mix(in srgb, var(--site-type) 18%, transparent); max-height: 290px; overflow: auto;
}
.jc-city-opt, .jc-city-none { padding: 10px 12px; border-radius: calc(var(--site-corner) * .35); cursor: pointer; min-height: 40px; }
.jc-city-opt:hover, .jc-city-opt[aria-selected="true"] { background: var(--jc-tint); }
.jc-city-none { color: var(--site-dim); cursor: default; }
.jc-place-info, .jc-hint { margin: 6px 0 0; font-size: .87rem; color: var(--site-dim); }
.jc-link {
    margin-top: 6px; padding: 8px 0; min-height: 40px; background: none; border: 0; cursor: pointer;
    font: inherit; font-size: .9rem; color: var(--site-brand); text-decoration: underline; text-underline-offset: 3px;
}
.jc-manual { margin-top: 6px; }
.jc-mini { display: block; font-size: .85rem; color: var(--site-dim); }
.jc-mini .jc-input { margin-top: 4px; }
.jc-tz {
    margin: 14px 0 0; padding: 10px 12px; font-size: .9rem; border-radius: calc(var(--site-corner) * .5);
    background: var(--jc-tint); border-left: 4px solid var(--site-brand);
}
.jc-tz:empty { display: none; }
.jc-actions, .jc-out { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 16px; }
.jc-btn {
    min-height: 46px; padding: 10px 20px; font: inherit; font-weight: 600; cursor: pointer;
    border-radius: calc(var(--site-corner) * .5); border: 1px solid var(--site-brand); transition: transform .15s ease, background .15s ease;
}
.jc-btn-main { background: var(--site-brand); color: var(--site-panel); font-family: var(--site-font-head); font-size: 1.05rem; padding-inline: 28px; }
.jc-btn-main:hover { background: color-mix(in srgb, var(--site-brand) 85%, var(--site-type)); }
.jc-btn-ghost { background: transparent; color: var(--site-brand); border-color: var(--site-edge); }
.jc-btn-ghost:hover { background: var(--jc-tint); border-color: var(--site-brand); }
.jc-btn:active { transform: translateY(1px); }
.jc-btn:disabled { opacity: .45; cursor: not-allowed; }
.jc-error {
    margin: 12px 0 0; padding: 10px 12px; border-radius: calc(var(--site-corner) * .5);
    color: var(--site-type); background: var(--jc-tint2); border-left: 4px solid var(--site-pop);
}

/* ---------- results ---------- */
.jc-results { margin-top: var(--jc-gap); animation: jc-in .35s ease both; }
@keyframes jc-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.jc-res-head { padding: 0 2px; }
.jc-res-title { font-family: var(--site-font-head); font-size: clamp(1.3rem, 3.4vw, 1.7rem); margin: 0 0 4px; overflow-wrap: anywhere; }
.jc-res-meta { margin: 0; font-weight: 600; overflow-wrap: anywhere; }
.jc-res-off, .jc-res-ayan { margin: 4px 0 0; font-size: .9rem; color: var(--site-dim); }
.jc-note { margin: 10px 0 0; padding: 10px 12px; border-radius: calc(var(--site-corner) * .5); background: var(--jc-tint2); font-size: .92rem; }

.jc-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.jc-card {
    position: relative; padding: 12px 14px 12px; border-radius: var(--site-corner); background: var(--site-panel);
    border: 1px solid var(--site-edge); display: flex; flex-direction: column; gap: 2px; min-width: 0; overflow: hidden;
}
.jc-card::after { content: ""; position: absolute; right: -14px; top: -14px; width: 44px; height: 44px; border: 2px solid var(--site-edge); transform: rotate(45deg); }
.jc-card-label { font-size: .78rem; text-transform: uppercase; letter-spacing: .06em; color: var(--site-dim); }
.jc-card-value { font-family: var(--site-font-head); font-size: 1.12rem; line-height: 1.25; overflow-wrap: anywhere; }
.jc-card-sub { font-size: .85rem; color: var(--site-dim); }
.jc-card-lagna { border-top: 4px solid var(--site-brand); }
.jc-card-rasi, .jc-card-naal { border-top: 4px solid var(--site-pop); }
.jc-card-dasa { border-top: 4px solid var(--site-type); }
.jc-card-off .jc-card-value { color: var(--site-dim); }

.jc-moonday { margin-top: 14px; padding: 14px; border-radius: var(--site-corner); border: 1px dashed var(--site-pop); background: var(--site-panel); }
.jc-moonday-title { margin: 0 0 8px; font-family: var(--site-font-head); font-size: 1rem; }
.jc-moonday-row { display: grid; grid-template-columns: 1fr minmax(120px, 1.2fr) 1fr; gap: 10px; align-items: center; }
.jc-moonday-row p { margin: 0; font-size: .9rem; }
.jc-moon-to { text-align: right; }
.jc-moonbar { width: 100%; height: 36px; display: block; }
.jc-mb-track { fill: var(--site-edge); }
.jc-mb-arc { fill: var(--site-pop); }
.jc-mb-tick { stroke: var(--site-type); stroke-width: 1.5; }
.jc-moon-warn { margin: 10px 0 0; font-size: .92rem; }
.jc-moon-change { font-weight: 600; }

.jc-toolbar { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-top: 18px; }
.jc-seg { display: inline-flex; border: 1px solid var(--site-edge); border-radius: calc(var(--site-corner) * .5); overflow: hidden; background: var(--site-panel); }
.jc-style-btn { min-height: 44px; padding: 8px 16px; border: 0; background: transparent; color: var(--site-type); font: inherit; cursor: pointer; }
.jc-style-btn + .jc-style-btn { border-left: 1px solid var(--site-edge); }
.jc-style-btn[aria-pressed="true"] { background: var(--site-brand); color: var(--site-panel); font-weight: 600; }
.jc-names-wrap { display: inline-flex; align-items: center; gap: 8px; font-size: .92rem; color: var(--site-dim); }
.jc-names-wrap .jc-input { width: auto; min-width: 140px; }

.jc-charts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--jc-gap); margin-top: 14px; }
.jc-fig { margin: 0; min-width: 0; }
.jc-fig-svg { background: var(--site-panel); border-radius: var(--site-corner); border: 1px solid var(--site-edge); padding: 8px; }
.jc-svg { width: 100%; height: auto; display: block; font-family: var(--site-text-font); }
.jc-fig figcaption { margin-top: 6px; font-size: .84rem; color: var(--site-dim); text-align: center; }
.jc-c-bg { fill: var(--site-panel); stroke: var(--site-type); stroke-width: 2; }
.jc-c-mid { fill: color-mix(in srgb, var(--site-brand) 7%, var(--site-panel)); stroke: none; }
.jc-c-cell { fill: transparent; stroke: var(--site-type); stroke-width: 1.2; }
.jc-c-lagna { fill: color-mix(in srgb, var(--site-pop) 12%, transparent); }
.jc-c-line { stroke: var(--site-type); stroke-width: 1.4; }
.jc-c-laline { stroke: var(--site-pop); stroke-width: 2.4; }
.jc-c-sign { fill: var(--site-dim); }
.jc-c-num { fill: var(--site-dim); font-weight: 600; }
.jc-c-pl { fill: var(--site-type); font-weight: 600; }
.jc-c-la { fill: var(--site-pop); font-weight: 700; }
.jc-c-rx { fill: var(--site-brand); }
.jc-c-title { fill: var(--site-type); font-family: var(--site-font-head); font-weight: 600; }
.jc-c-sub { fill: var(--site-dim); letter-spacing: .08em; }

.jc-h { font-family: var(--site-font-head); font-size: 1.1rem; margin: 26px 0 8px; padding-left: 10px; border-left: 4px solid var(--site-pop); }
.jc-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; border: 1px solid var(--site-edge); border-radius: var(--site-corner); background: var(--site-panel); }
.jc-table { width: 100%; border-collapse: collapse; font-size: .92rem; font-variant-numeric: tabular-nums; }
.jc-table caption { caption-side: top; text-align: left; padding: 10px 12px 4px; font-size: .86rem; color: var(--site-dim); }
.jc-table th, .jc-table td { padding: 9px 10px; text-align: left; border-bottom: 1px solid var(--site-edge); white-space: nowrap; }
.jc-table thead th { font-size: .78rem; text-transform: uppercase; letter-spacing: .05em; color: var(--site-dim); font-weight: 600; background: var(--jc-tint); }
.jc-table tbody tr:last-child > * { border-bottom: 0; }
.jc-planets tbody th { font-weight: 600; }
.jc-row-lagna { background: color-mix(in srgb, var(--site-pop) 8%, transparent); }
.jc-rx { margin-left: 4px; color: var(--site-brand); font-size: .85em; }
.jc-varg { display: inline-block; margin-left: 6px; font-size: .75rem; padding: 1px 6px; border-radius: 99px; background: var(--jc-tint); color: var(--site-brand); }
.jc-dig-exalted, .jc-dig-own { color: var(--site-brand); }
.jc-dig-debilitated { color: var(--site-dim); }
.jc-dasa-bal { margin: 0; font-weight: 600; font-size: 1.02rem; }
.jc-dasa { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--jc-gap); margin-top: 12px; align-items: start; }
.jc-md-btn {
    min-height: 40px; padding: 6px 12px; font: inherit; font-weight: 600; cursor: pointer; color: var(--site-brand);
    background: transparent; border: 1px solid var(--site-edge); border-radius: calc(var(--site-corner) * .4);
}
.jc-md-btn[aria-pressed="true"] { background: var(--site-brand); color: var(--site-panel); border-color: var(--site-brand); }
.jc-md tbody th, .jc-ad tbody th { padding-block: 5px; }
.jc-now { background: var(--jc-tint2); }
.jc-now > * { font-weight: 600; }
.jc-badge { display: inline-block; margin-left: 6px; padding: 1px 7px; border-radius: 99px; font-size: .72rem; font-weight: 700; background: var(--site-pop); color: var(--site-panel); vertical-align: middle; }
.jc-past { color: var(--site-dim); }
.jc-past-note { margin-left: 6px; font-size: .78rem; }
.jc-disclaimer { margin: 22px 0 0; padding: 10px 12px; font-size: .88rem; color: var(--site-dim); border-top: 1px dashed var(--site-edge); }

.jc-history { margin-top: var(--jc-gap); border: 1px solid var(--site-edge); border-radius: var(--site-corner); padding: 0 14px; background: var(--site-panel); }
.jc-history summary { cursor: pointer; padding: 12px 0; min-height: 44px; font-family: var(--site-font-head); font-weight: 600; }
.jc-hist-list { list-style: none; margin: 8px 0; padding: 0; display: grid; gap: 6px; }
.jc-hist-btn {
    width: 100%; min-height: 44px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 4px 12px; text-align: left;
    padding: 8px 12px; font: inherit; color: var(--site-type); cursor: pointer; background: var(--site-canvas); border: 1px solid var(--site-edge); border-radius: calc(var(--site-corner) * .4);
}
.jc-hist-btn:hover { border-color: var(--site-brand); }
.jc-hist-name { font-weight: 600; overflow-wrap: anywhere; }
.jc-hist-date { color: var(--site-dim); font-size: .88rem; }
.jc-hist-clear { margin: 6px 0 14px; }
.jc-toast {
    position: fixed; z-index: 50; left: 50%; bottom: 22px; transform: translateX(-50%); max-width: calc(100vw - 32px);
    padding: 10px 18px; border-radius: calc(var(--site-corner) * .5); background: var(--site-type); color: var(--site-panel); font-size: .92rem;
}

@media (max-width: 760px) {
    .jc-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .jc-dasa { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
    .jc-grid, .jc-charts { grid-template-columns: minmax(0, 1fr); }
    .jc-moonday-row { grid-template-columns: minmax(0, 1fr); }
    .jc-moon-to { text-align: left; }
    .jc-toolbar { flex-direction: column; align-items: stretch; }
    .jc-seg { display: grid; grid-template-columns: 1fr 1fr; }
    .jc-names-wrap { justify-content: space-between; }
    .jc-btn { flex: 1 1 auto; }
    .jc-table th, .jc-table td { padding: 8px 8px; }
}
@media (prefers-reduced-motion: reduce) {
    .jc-results { animation: none; }
    .jc-btn { transition: none; }
}
@media print {
    html.jc-printing body * { visibility: hidden !important; }
    html.jc-printing .jc-results, html.jc-printing .jc-results * { visibility: visible !important; }
    html.jc-printing .jc-results { position: absolute; left: 0; top: 0; width: 100%; margin: 0; animation: none; }
    html.jc-printing .jc-noprint { display: none !important; }
    html.jc-printing .jc-scroll { overflow: visible; border: 0; }
    html.jc-printing .jc-charts { grid-template-columns: 1fr 1fr; }
    html.jc-printing .jc-fig-svg, html.jc-printing .jc-card { break-inside: avoid; }
}

/* design: sites/<d>/design/site.css */
/* jathakam-chart.com — "Kerala palm-leaf jathakam bundle (ola grantha)"
   dried talipot leaf page with faint fibres; header/footer = the bundle's wooden cover boards with a
   twisted kumkum + turmeric cord; each section = one long leaf with a punched string hole; headings
   stamped with a tiny South Indian rasi square; hero = big rasi square with the brand in the empty centre. */

:root{
  --j-wood:color-mix(in srgb,var(--site-type) 70%,var(--site-brand));
  --j-wood2:color-mix(in srgb,var(--site-type) 86%,var(--site-brand));
  --j-kum:color-mix(in srgb,#b3261e 88%,var(--site-type));          /* kumkum red, AA on leaf */
  --j-tur:color-mix(in srgb,#e0a419 86%,var(--site-brand));         /* turmeric, decoration only */
  --j-turt:color-mix(in srgb,#e0a419 16%,var(--site-panel));        /* turmeric wash */
  --j-leaf:color-mix(in srgb,#e9d7a8 30%,var(--site-panel));        /* leaf surface */
  --j-edge:color-mix(in srgb,var(--site-brand) 26%,var(--site-edge));
  --j-cord:repeating-linear-gradient(115deg,var(--j-kum) 0 5px,var(--j-tur) 5px 8px,color-mix(in srgb,var(--j-kum) 70%,#000) 8px 10px);
}
::selection{background:color-mix(in srgb,var(--j-tur) 40%,transparent);color:var(--site-type)}
body{background:var(--site-canvas) url(/assets/img/d-leaf.svg) 0 0/320px 36px}
.jaujrm,.jae64t{font-variant-numeric:tabular-nums}

/* ---------- header: the front wooden cover board of the bundle ---------- */
.jat4jn{position:sticky;top:0;z-index:30;border:0;
  background:url(/assets/img/d-board.svg) 0 0/480px 80px,linear-gradient(180deg,var(--j-wood),var(--j-wood2));
  box-shadow:0 2px 0 color-mix(in srgb,var(--site-type) 35%,transparent)}
.jat4jn::after{content:'';position:absolute;left:0;right:0;bottom:-5px;height:5px;background:var(--j-cord);pointer-events:none}
.jat4jn .jacdjc{padding:.7rem 1rem .75rem}
.jat4jn .jaw6rm{color:#fff;font:800 1.16rem/1.1 var(--site-font-head);letter-spacing:.01em}
.jaw6rm svg{flex:none;border-radius:9px;box-shadow:0 0 0 2px var(--j-wood2),0 0 0 3px color-mix(in srgb,var(--j-tur) 85%,#fff)}
.jat4jn .jatnee{gap:.3rem 1.3rem}
.jat4jn .jatnee>a{color:color-mix(in srgb,#fff 84%,var(--site-brand));font:600 .93rem/1 var(--site-text-font);padding:.55rem .1rem .45rem;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
.jat4jn .jatnee>a:hover{color:#fff;border-bottom-color:color-mix(in srgb,var(--j-tur) 55%,transparent)}
.jat4jn .jatnee>a[aria-current]{color:#fff;border-bottom-color:var(--j-tur)}
/* language switcher: a small leaf tag tied to the board */
.jat4jn .jamcxs summary{position:relative;color:var(--site-type);background:var(--j-leaf);border:0;border-radius:4px 14px 14px 4px;
  padding:.32rem .75rem .32rem 1.3rem;font:700 .8rem/1 var(--site-text-font);letter-spacing:.06em;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--site-brand) 30%,transparent)}
.jat4jn .jamcxs summary::before{content:'';position:absolute;left:.45rem;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;
  background:var(--j-wood2);box-shadow:0 0 0 1.5px var(--j-tur)}
.jat4jn .jamcxs summary::-webkit-details-marker{display:none}
.jat4jn .jamcxs summary:hover{background:color-mix(in srgb,var(--j-tur) 22%,var(--site-panel))}
.jag06r{background:var(--site-panel);border:1px solid var(--j-edge);border-top:3px solid var(--j-kum);border-radius:4px 4px 12px 12px;
  box-shadow:0 10px 24px color-mix(in srgb,var(--site-type) 22%,transparent)}
.jag06r a{color:var(--site-type);border-radius:4px}
.jag06r a:hover{background:var(--j-turt)}
.jag06r a[aria-current]{color:var(--j-kum)}

/* ---------- hero: rasi square with the brand in the empty centre ---------- */
.ja8kp1{margin:1.6rem 0 2.2rem;padding-bottom:1.6rem;position:relative}
.ja8kp1::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;border-radius:2px;background:var(--j-cord);opacity:.85}
.ja8kp1 h1{font-size:clamp(1.9rem,4.4vw,2.9rem);letter-spacing:-.015em;max-width:20em}
.ja8kp1 .jaz81a{color:color-mix(in srgb,var(--site-type) 78%,var(--site-dim))}
.ja8kp1--art .jaiyki{width:212px;height:212px;border-radius:0;padding:0;
  background:url(/assets/img/d-rasi.svg) 0 0/100% 100% no-repeat;
  box-shadow:8px 8px 0 color-mix(in srgb,var(--site-brand) 14%,transparent)}
.ja8kp1--art .jaiyki svg{width:36%;height:36%;filter:none}

/* ---------- calculator lies on a low wooden manai board (outer frame only) ---------- */
.jae8q4{position:relative;margin:1.6rem 0 2.4rem;padding:12px;border-radius:calc(var(--site-corner) + 8px);
  background:url(/assets/img/d-board.svg) 0 0/480px 80px,linear-gradient(160deg,var(--j-wood),var(--j-wood2));
  box-shadow:0 3px 0 color-mix(in srgb,var(--site-type) 40%,transparent)}
@media (max-width:640px){.jae8q4{padding:6px;border-radius:calc(var(--site-corner) + 4px);margin-left:-.25rem;margin-right:-.25rem}}

/* ---------- each section is one palm leaf ---------- */
.ja7zdg{position:relative;background:var(--j-leaf);border:1px solid var(--j-edge);border-top:1px solid var(--j-edge);
  border-radius:34px 34px 34px 34px / 22px 22px 22px 22px;padding:.4rem 2rem 1.3rem 2.6rem;margin:1.8rem 0;
  box-shadow:0 1px 0 color-mix(in srgb,var(--site-brand) 18%,transparent)}
.ja7zdg::before{content:'';position:absolute;left:.95rem;top:1.55rem;width:9px;height:9px;border-radius:50%;
  background:var(--site-canvas);box-shadow:inset 0 1px 2px color-mix(in srgb,var(--site-type) 45%,transparent),0 0 0 1px var(--j-edge)}
.ja7zdg>h2{display:flex;align-items:flex-start;gap:.65rem;margin-top:1.15rem;padding-bottom:.55rem;
  border-bottom:1px solid color-mix(in srgb,var(--site-brand) 22%,transparent)}
.ja7zdg>h2::before{content:'';flex:none;width:1.05em;height:1.05em;margin-top:.08em;background:url(/assets/img/d-glyph.svg) 0 0/100% 100% no-repeat}
.ja7zdg h3{color:var(--site-brand)}
.ja7zdg ul>li::marker{color:var(--j-kum)}
.ja7zdg ol>li::marker{color:var(--j-kum);font-weight:700;font-family:var(--site-font-head)}
.ja7zdg a:not(.ja8aad):not(.ja352y){color:var(--site-brand);background:linear-gradient(transparent 60%,color-mix(in srgb,var(--j-tur) 34%,transparent) 0)}
.ja7zdg a:not(.ja8aad):not(.ja352y):hover{color:var(--j-kum)}
@media (max-width:640px){
  .ja7zdg{padding:.3rem 1rem 1rem 1.35rem;border-radius:22px / 16px;margin:1.3rem 0}
  .ja7zdg::before{left:.45rem;top:1.35rem;width:7px;height:7px}
}

/* ---------- notes, formulas, tables, figures ---------- */
.ja352f{background:var(--j-turt);border-left:4px solid var(--j-tur);border-radius:4px 14px 14px 4px}
.ja72jb{background:var(--site-panel);border:1px solid var(--j-edge);border-left:4px solid var(--site-brand);border-radius:4px 12px 12px 4px}
.jaafmt{border-top:3px solid var(--site-brand);background:var(--site-panel);border-radius:0 0 10px 10px;box-shadow:inset 0 -1px 0 var(--j-edge)}
.jae64t caption{caption-side:top;text-align:left;font:700 .9rem/1.3 var(--site-font-head);color:var(--site-type);padding:.6rem .75rem .5rem}
.jae64t thead th{background:var(--j-turt);color:var(--site-type);font-size:.74rem;letter-spacing:.08em}
.jae64t th,.jae64t td{border-bottom-color:color-mix(in srgb,var(--site-brand) 16%,var(--site-edge))}
.jae64t tbody tr:hover{background:color-mix(in srgb,var(--j-tur) 7%,transparent)}
.jaagrc figcaption{margin-top:.5rem;font-size:.88em}
.jaagrc img{border-color:var(--j-edge)}

/* ---------- FAQ: a short stack of leaves ---------- */
.jaynmw details{border:0;border-bottom:1px dashed color-mix(in srgb,var(--site-brand) 30%,transparent);padding:.75rem 0}
.jaynmw details:last-child{border-bottom:0}
.jaynmw summary{list-style:none;display:flex;gap:.6rem;align-items:baseline;font-size:1.02rem}
.jaynmw summary::-webkit-details-marker{display:none}
.jaynmw summary::before{content:'';flex:none;width:.55rem;height:.55rem;border-radius:50%;border:2px solid var(--j-kum);transform:translateY(-1px);transition:background .2s}
.jaynmw details[open]>summary::before{background:var(--j-kum)}
.jaynmw summary:hover{color:var(--site-brand)}
.jaynmw details>:not(summary){margin-left:1.15rem}

/* ---------- buttons, CTA ---------- */
.ja8aad{background:var(--site-brand);border-radius:4px 16px 16px 4px;padding:.8em 1.6em .8em 1.9em;position:relative;
  box-shadow:0 3px 0 var(--j-wood2);transition:background .2s,box-shadow .2s}
.ja8aad::before{content:'';position:absolute;left:.75em;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--j-tur)}
.ja8aad:hover{background:var(--j-wood)}
.ja7b4t{background:var(--j-leaf);border:1px solid var(--j-edge);border-top:1px solid var(--j-edge);border-radius:34px / 22px;
  padding:1.6rem 1rem;position:relative;overflow:hidden}
.ja7b4t::after{content:'';position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--j-cord);opacity:.8}

/* ---------- breadcrumbs ---------- */
.janhu7{font-size:.86rem;letter-spacing:.01em}
.janhu7 a{color:var(--site-brand);text-decoration-color:color-mix(in srgb,var(--site-brand) 35%,transparent)}

/* ---------- learn hub: leaves listed by number ---------- */
.ja7zdg--guides{padding-bottom:.6rem}
.jaizgg--min li{border-top-color:color-mix(in srgb,var(--site-brand) 20%,transparent)}
.jaizgg--min li:last-child{border-bottom-color:color-mix(in srgb,var(--site-brand) 20%,transparent)}
.jaizgg--min a{padding:1.15rem .4rem;border-radius:12px;transition:background .2s}
.jaizgg--min a:hover{background:color-mix(in srgb,var(--j-tur) 10%,transparent)}
.jaizgg--min a::before{color:var(--j-kum);font-weight:700;font-size:2.1rem;letter-spacing:-.02em}
.jaizgg--min b{color:var(--site-type)}
.jaizgg--min a:hover b{color:var(--site-brand)}
.ja6cgu{color:var(--site-brand)}

/* ---------- article: cover-board head, leaf-tag contents, kumkum drop cap ---------- */
.jaeyii--band{position:relative;border-radius:10px;padding:2.2rem 1.8rem 2.4rem;
  background:url(/assets/img/d-board.svg) 0 0/480px 80px,linear-gradient(170deg,var(--j-wood),var(--j-wood2));
  box-shadow:0 4px 0 color-mix(in srgb,var(--site-type) 30%,transparent)}
.jaeyii--band::after{content:'';position:absolute;left:1.8rem;right:1.8rem;bottom:1rem;height:4px;border-radius:2px;background:var(--j-cord)}
.jaeyii--band .janw3b{color:color-mix(in srgb,var(--j-tur) 60%,#fff)}
.jaeyii--band .javkke{color:color-mix(in srgb,#fff 82%,var(--site-brand))}
.jaxstn .jabbqk--post{background:var(--j-leaf);border:1px solid var(--j-edge);border-left:4px solid var(--j-kum);border-radius:4px 18px 18px 4px}
.jaxstn .jabbqk--chips ol{padding-left:0;gap:.4rem}
.jabbqk--chips a{position:relative;background:var(--site-panel);border:1px solid var(--j-edge);border-radius:4px 14px 14px 4px;
  padding:.32rem .8rem .32rem 1.25rem;color:var(--site-type);transition:background .2s,border-color .2s}
.jabbqk--chips a::before{content:'';position:absolute;left:.45rem;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--j-kum)}
.jabbqk--chips a:hover{background:var(--j-turt);border-color:var(--site-brand)}
.jaxstn .jaz81a::first-letter{color:var(--j-kum);font-weight:800}
.jaxstn blockquote{border-left-color:var(--j-tur);background:var(--j-turt);border-radius:0 12px 12px 0}

/* ---------- footer: the back cover board ---------- */
.jaqpvq{position:relative;margin-top:3.2rem;border:0;color:color-mix(in srgb,#fff 82%,var(--site-brand));
  background:url(/assets/img/d-board.svg) 0 0/480px 80px,linear-gradient(180deg,var(--j-wood2),var(--j-wood))}
.jaqpvq::before{content:'';position:absolute;left:0;right:0;top:0;height:5px;background:var(--j-cord)}
.jaqpvq strong{color:#fff;font:800 1.1rem var(--site-font-head)}
.jaqpvq p{color:color-mix(in srgb,#fff 80%,var(--site-brand))}
.jaqpvq a{color:color-mix(in srgb,#fff 88%,var(--site-brand));text-decoration-color:color-mix(in srgb,var(--j-tur) 60%,transparent)}
.jaqpvq a:hover{color:#fff}
.jaqpvq nav{gap:.45rem}

/* ---------- focus stays visible on wood and leaf ---------- */
.jat4jn a:focus-visible,.jat4jn summary:focus-visible,.jaqpvq a:focus-visible{outline:2px solid var(--j-tur);outline-offset:3px}
a:focus-visible,summary:focus-visible,.ja8aad:focus-visible{outline:2px solid var(--j-kum);outline-offset:3px}

@media (max-width:700px){
  .jat4jn .jacdjc{padding:.55rem 1rem .6rem}
  .ja8kp1{margin-top:1rem}
  .jaeyii--band{padding:1.6rem 1.1rem 2rem}
  .jaeyii--band::after{left:1.1rem;right:1.1rem;bottom:.8rem}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
@media print{
  body{background:#fff}
  .jat4jn,.jaqpvq{background:none;color:var(--site-type)}
  .jat4jn::after,.jaqpvq::before,.ja8kp1::after,.ja7b4t::after{display:none}
  .ja7zdg{background:#fff;box-shadow:none}
  .jae8q4{background:none;padding:0;box-shadow:none}
}
