/* Jeevan Daivyog (Desktop N Draw family) — fonts are on the phone (no Google Fonts): Mukta, SIL OFL (fonts/OFL-Mukta.txt) */
@font-face{font-family:'Mukta';src:url(../fonts/mukta-regular.woff) format('woff');font-weight:300 500;font-display:swap}
@font-face{font-family:'Mukta';src:url(../fonts/mukta-semibold.woff) format('woff');font-weight:600 700;font-display:swap}
@font-face{font-family:'Mukta';src:url(../fonts/mukta-extrabold.woff) format('woff');font-weight:800 900;font-display:swap}
:root{
  --bg:#070d24;--bg2:#0b1430;--card:#0d1736;--card2:#132049;--line:rgba(233,185,73,.20);--line2:rgba(255,255,255,.07);
  --gold:#e9b949;--gold2:#ffdc7a;--saffron:#f39a1e;--text:#f6f0e1;--muted:#a8b0cf;--dim:#6d7699;
  --good:#5fd39a;--bad:#ff6f6f;--warn:#ffbf5a;--r:18px;
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--bg);color:var(--text);font-family:'Mukta',system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
body{min-height:100vh;background:
  radial-gradient(1100px 600px at 85% -10%,rgba(243,154,30,.12),transparent 60%),
  radial-gradient(900px 600px at -10% 15%,rgba(40,80,200,.22),transparent 60%),var(--bg)}
.stars{position:fixed;inset:0;pointer-events:none;opacity:.5;background-image:
  radial-gradient(1px 1px at 20% 30%,#fff8 50%,transparent 51%),radial-gradient(1px 1px at 70% 10%,#fff6 50%,transparent 51%),
  radial-gradient(1.5px 1.5px at 40% 80%,#f6d89488 50%,transparent 51%),radial-gradient(1px 1px at 90% 60%,#fff5 50%,transparent 51%),
  radial-gradient(1px 1px at 10% 70%,#fff4 50%,transparent 51%),radial-gradient(1.2px 1.2px at 55% 45%,#fff5 50%,transparent 51%)}
.app{position:relative;max-width:560px;margin:0 auto;padding:0 16px 110px}
header{display:flex;align-items:center;justify-content:space-between;padding:18px 2px 10px;position:sticky;top:0;z-index:5;background:linear-gradient(var(--bg) 70%,transparent)}
.brand{display:flex;align-items:center;gap:10px}
.brand h1{font-family:'Mukta',sans-serif;font-weight:700;font-size:24px;letter-spacing:.3px;background:linear-gradient(90deg,var(--gold2),var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.brand small{display:block;font-size:11px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin-top:-4px}
.chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:rgba(226,179,92,.06);color:var(--gold2);padding:6px 12px;border-radius:999px;font-size:13px;cursor:pointer;font-family:inherit}
.chip:hover{background:rgba(226,179,92,.12)}
.card{background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line2);border-radius:var(--r);padding:18px;margin:14px 0;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card.gold{border-color:var(--line);background:linear-gradient(160deg,#1c2c63 0%,#111c45 55%,#0e1738 100%)}
.eyebrow{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:var(--gold);font-weight:600}
.h2{font-family:'Mukta',sans-serif;font-size:26px;font-weight:700;line-height:1.15}
.hi{color:var(--muted);font-weight:400}
.muted{color:var(--muted)} .dim{color:var(--dim)}
.row{display:flex;gap:12px;align-items:center}
.between{display:flex;justify-content:space-between;align-items:center;gap:10px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.tile{background:rgba(255,255,255,.03);border:1px solid var(--line2);border-radius:14px;padding:12px}
.tile .lab{font-size:12px;color:var(--muted)}
.tile .val{font-size:16px;font-weight:600;margin-top:2px}
.tile .sub{font-size:12px;color:var(--dim)}
.datebar{display:flex;align-items:center;gap:8px;margin-top:6px}
.iconbtn{width:38px;height:38px;border-radius:12px;border:1px solid var(--line2);background:rgba(255,255,255,.04);color:var(--text);font-size:18px;cursor:pointer;display:grid;place-items:center}
.iconbtn:hover{border-color:var(--line)}
input,select{width:100%;background:#081131;border:1px solid var(--line2);color:var(--text);padding:11px 12px;border-radius:12px;font-family:inherit;font-size:15px;outline:none;color-scheme:dark}
input:focus,select:focus{border-color:var(--gold)}
label.f{display:block;font-size:12px;color:var(--muted);margin:10px 0 5px}
.btn{width:100%;border:0;border-radius:14px;padding:14px 18px;font-family:inherit;font-weight:600;font-size:16px;cursor:pointer;color:#1b1206;background:linear-gradient(135deg,var(--gold2),var(--gold) 50%,var(--saffron));box-shadow:0 8px 24px rgba(226,179,92,.25);margin-top:16px}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--gold2);border:1px solid var(--line);box-shadow:none;margin-top:10px;font-size:14px;padding:11px}
.seg{display:flex;background:#081131;border:1px solid var(--line2);border-radius:12px;padding:3px;gap:3px}
.seg button{flex:1;border:0;background:transparent;color:var(--muted);padding:8px 10px;border-radius:9px;font-family:inherit;font-size:13px;cursor:pointer}
.seg button.on{background:linear-gradient(135deg,#24387a,#18275a);color:var(--gold2)}
nav.tabs{position:fixed;left:50%;transform:translateX(-50%);bottom:14px;width:min(528px,calc(100% - 24px));display:flex;gap:4px;padding:6px;border-radius:20px;background:rgba(10,19,48,.88);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid var(--line);z-index:10;box-shadow:0 12px 40px rgba(0,0,0,.45)}
nav.tabs button{flex:1;border:0;background:transparent;color:var(--muted);font-family:inherit;font-size:12px;padding:8px 4px 6px;border-radius:14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px}
nav.tabs button svg{width:22px;height:22px}
nav.tabs button.on{color:var(--gold2);background:rgba(226,179,92,.10)}
.page{display:none;animation:fade .35s ease}
.page.on{display:block}
@keyframes fade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.list .it{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:1px dashed var(--line2)}
.list .it:last-child{border-bottom:0}
.it .k{color:var(--muted);font-size:14px}
.it .v{text-align:right;font-weight:500}
.it .v small{display:block;color:var(--dim);font-weight:400;font-size:12px}
.badge{display:inline-block;font-size:11px;padding:2px 8px;border-radius:999px;font-weight:600;letter-spacing:.3px}
.b-good{background:rgba(95,211,154,.13);color:var(--good)} .b-bad{background:rgba(255,111,111,.13);color:var(--bad)} .b-warn{background:rgba(255,191,90,.13);color:var(--warn)} .b-gold{background:rgba(226,179,92,.13);color:var(--gold2)}
.timebar{position:relative;height:10px;border-radius:999px;background:rgba(255,255,255,.06);margin:14px 0 6px;overflow:hidden}
.timebar i{position:absolute;top:0;bottom:0;border-radius:999px}
.chog{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.chog div{border-radius:10px;padding:7px 6px;text-align:center;font-size:12px;border:1px solid var(--line2)}
.chog b{display:block;font-size:13px;font-weight:600}
.c2{background:rgba(95,211,154,.08);color:#bdf0d6}.c1{background:rgba(226,179,92,.07);color:#f1dcae}.c0{background:rgba(255,111,111,.07);color:#ffc4c4}
.chart-wrap{display:flex;justify-content:center;margin-top:12px}
.chart-wrap svg{width:100%;max-width:400px;height:auto}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{font-weight:500;color:var(--muted);text-align:left;font-size:12px;padding:8px 6px;border-bottom:1px solid var(--line)}
td{padding:9px 6px;border-bottom:1px solid var(--line2);vertical-align:top}
td small{color:var(--dim);display:block;font-size:11.5px}
.tblwrap{overflow-x:auto;margin:0 -6px}
.big-syll{font-size:42px;font-weight:600;line-height:1;background:linear-gradient(180deg,var(--gold2),var(--saffron));-webkit-background-clip:text;background-clip:text;color:transparent}
.sylls{display:flex;gap:8px;margin-top:10px}
.sylls span{flex:1;text-align:center;padding:8px 0;border-radius:12px;border:1px solid var(--line2);font-size:18px}
.sylls span.on{border-color:var(--gold);background:rgba(226,179,92,.12);color:var(--gold2)}
.sylls span small{display:block;font-size:11px;color:var(--muted)}
.dasha .d{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line2);cursor:pointer}
.dasha .d:last-child{border-bottom:0}
.dasha .dot{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(255,255,255,.05);font-size:13px;flex:none}
.dasha .d.now .dot{background:linear-gradient(135deg,var(--gold2),var(--saffron));color:#1b1206;font-weight:700}
.dasha .subs{display:none;padding:4px 0 10px 44px}
.dasha .subs.open{display:block}
.dasha .subs div{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;color:var(--muted)}
.dasha .subs div.now{color:var(--gold2)}
.ring{position:relative;width:170px;height:170px;margin:4px auto 0}
.ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring .c{position:absolute;inset:0;display:grid;place-items:center;text-align:center}
.ring .n{font-family:'Mukta',sans-serif;font-size:52px;font-weight:700;line-height:1}
.koota{padding:12px 0;border-bottom:1px solid var(--line2)}
.koota:last-child{border-bottom:0}
.koota .bar{height:6px;border-radius:999px;background:rgba(255,255,255,.06);margin-top:8px;overflow:hidden}
.koota .bar i{display:block;height:100%;border-radius:999px}
.note{border-radius:14px;padding:12px 14px;margin-top:10px;font-size:14px}
.note.bad{background:rgba(255,111,111,.08);border:1px solid rgba(255,111,111,.25)}
.note.warn{background:rgba(255,191,90,.07);border:1px solid rgba(255,191,90,.25)}
.note.good{background:rgba(95,211,154,.07);border:1px solid rgba(95,211,154,.25)}
.person{border-left:3px solid var(--gold)}
.person.f{border-left-color:#d77ad6}
.saved{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.saved .chip{white-space:nowrap}
.toast{position:fixed;left:50%;bottom:96px;transform:translateX(-50%) translateY(20px);background:#18275a;border:1px solid var(--line);color:var(--gold2);padding:10px 16px;border-radius:12px;opacity:0;transition:.25s;z-index:20;font-size:14px;pointer-events:none}
.toast.show{opacity:1;transform:translateX(-50%)}
.custom{display:none}.custom.on{display:grid}
.foot{font-size:12px;color:var(--dim);text-align:center;margin:20px 8px}
.modal{position:fixed;inset:0;background:rgba(5,3,12,.7);backdrop-filter:blur(6px);display:none;align-items:flex-end;justify-content:center;z-index:30}
.modal.on{display:flex}
.sheet{width:min(560px,100%);background:var(--card2);border:1px solid var(--line);border-radius:22px 22px 0 0;padding:20px 18px 28px}
@media(min-width:600px){.sheet{border-radius:22px;margin-bottom:10vh}}

/* PWA additions */
.hdr-r{display:flex;gap:8px;align-items:center}
.install{display:none}.install.on{display:inline-flex}
.offline{display:none;font-size:11px;color:var(--warn);border:1px solid rgba(255,191,90,.3);border-radius:999px;padding:3px 9px}
.offline.on{display:inline-block}
header{padding-top:calc(18px + env(safe-area-inset-top))}
nav.tabs{bottom:calc(14px + env(safe-area-inset-bottom))}
.update-bar{position:fixed;top:calc(10px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);z-index:40;display:none;gap:10px;align-items:center;background:#18275a;border:1px solid var(--line);padding:8px 10px 8px 14px;border-radius:14px;font-size:14px;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.update-bar.on{display:flex}
.update-bar button{border:0;border-radius:10px;padding:6px 12px;font-family:inherit;font-weight:600;background:var(--gold);color:#1b1206;cursor:pointer}
.ios-steps{margin-top:12px;display:grid;gap:10px}
.ios-steps div{display:flex;gap:12px;align-items:center;background:rgba(255,255,255,.04);border:1px solid var(--line2);border-radius:12px;padding:12px}
.ios-steps b{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:rgba(226,179,92,.15);color:var(--gold2);flex:none}
@media(max-width:440px){.brand h1{font-size:21px}.brand small{font-size:10px;letter-spacing:1px}.hdr-r .chip{padding:6px 10px}.brand svg{width:32px;height:32px}}

/* Brand */
.brand{cursor:pointer}
.brand img{width:44px;height:44px;border-radius:50%;box-shadow:0 0 0 1px rgba(233,185,73,.35),0 6px 18px rgba(233,185,73,.25)}
.brand h1{font-family:'Mukta',sans-serif;font-weight:700;font-size:23px;letter-spacing:0;line-height:1.1}
.brand small{margin-top:0}
nav.tabs button{font-size:11.5px}
/* Calendar */
.calgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin-top:8px}
.calhead span{text-align:center;font-size:10.5px;color:var(--muted)}
.cday{position:relative;aspect-ratio:1/1.12;border-radius:10px;border:1px solid var(--line2);background:rgba(255,255,255,.025);padding:4px 3px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:space-between;font-family:inherit;color:var(--text)}
.cday:hover{border-color:var(--line)}
.cday b{font-size:15px;font-weight:600;line-height:1.1}
.cday small{font-size:9.5px;color:var(--dim);line-height:1}
.cday.today{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}
.cday.fest{background:linear-gradient(160deg,rgba(243,154,30,.22),rgba(233,185,73,.06))}
.cday.purnima b{color:var(--gold2)} .cday.amavasya b{color:#9aa6d6}
.cday .dots{display:flex;gap:2px;height:5px}
.cday .dots i{width:5px;height:5px;border-radius:50%}
.lg-f,.dot-f{background:var(--saffron)} .lg-v,.dot-v{background:var(--good)} .lg-p,.dot-p{background:#9aa6d6}
.legend{display:flex;gap:12px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);margin-top:10px}
.legend i{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px}
.cblank{aspect-ratio:1/1.12}
.ev-date{width:46px;text-align:center;flex:none;border-radius:12px;padding:4px 0;background:rgba(255,255,255,.04);border:1px solid var(--line2)}
.ev-date b{display:block;font-size:17px;line-height:1.1}
.ev-date small{font-size:10px;color:var(--muted)}
.evrow{display:flex;gap:12px;align-items:center;padding:9px 0;border-bottom:1px dashed var(--line2);cursor:pointer}
.evrow:last-child{border-bottom:0}
.festcard{border-color:rgba(243,154,30,.35);background:linear-gradient(135deg,rgba(243,154,30,.16),rgba(19,32,73,.9))}
/* Print / PDF */
.print-only{display:none}
@media print{
  :root{--text:#151515;--muted:#555;--dim:#777;--gold:#9a6b12;--gold2:#7a5208;--line:#d9c79c;--line2:#e5e5e5}
  html,body{background:#fff!important}
  .stars,nav.tabs,.hdr-r,.btn,.toast,.modal,.update-bar,.no-print,.foot{display:none!important}
  header{position:static;background:none}
  .app{max-width:none;padding:0 6mm}
  .card,.card.gold{background:#fff!important;box-shadow:none;border:1px solid #ddd;break-inside:avoid}
  .tile{background:#fafafa}
  .seg{display:none!important}
  .print-only{display:block}
  .big-syll{-webkit-text-fill-color:#9a6b12;color:#9a6b12}
}

/* family additions (1.0.0) */
.h2{font-weight:800;letter-spacing:0}
.brand h1{font-weight:800}
.lang-sel{background:rgba(226,179,92,.06);border:1px solid var(--line);color:var(--gold2);border-radius:999px;padding:6px 10px;font-size:13px;width:auto;font-family:inherit}
.verline{font-size:11px;color:var(--dim);text-align:center;margin-top:10px}
.splash{position:fixed;inset:0;z-index:50;background:var(--bg);display:none;place-items:center;padding:24px}
.splash.on{display:grid}
.splash .box{max-width:360px;width:100%;text-align:center}
.splash .box img{width:150px;height:150px;margin:0 auto 10px;display:block;filter:drop-shadow(0 10px 30px rgba(233,185,73,.35))}
.splash .box button{margin-top:10px}
.holi{display:inline-block;background:rgba(255,111,111,.15);color:#ff9d9d;border:1px solid rgba(255,111,111,.35);border-radius:999px;font-size:11px;padding:1px 8px;margin-left:6px;vertical-align:2px}
.cday.holiday b{color:#ff8f8f}
.fam-wrap{margin:14px 0}
.links{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;font-size:12px;margin-top:8px}
.links a{color:var(--gold2)}
/* Devanagari: no wide letter-spacing or capitals (1.0.0) */
html[lang=mr] .eyebrow,html[lang=hi] .eyebrow{letter-spacing:.2px;font-size:12.5px;text-transform:none}
html[lang=mr] .brand small,html[lang=hi] .brand small{letter-spacing:.2px;text-transform:none;font-size:11.5px}
.brand h1{white-space:nowrap;font-size:22px}
.brand small{white-space:nowrap}
.hdr-r{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}
@media (max-width:400px){.brand h1{font-size:19px}.brand img{width:38px;height:38px}.lang-sel{padding:5px 6px;font-size:12px}#locChip{padding:5px 9px;font-size:12px}}
