/* Rashifal AI — shared styles. Mobile-first (90% mobile). Warm night-sky + saffron/gold. */
:root{
  --bg:#0d0a1e; --bg2:#15102f; --panel:#1b1640; --panel2:#221a4d;
  --ink:#f3ecdf; --ink-soft:#c9bfae; --muted:#9a8fb5;
  --gold:#f0b94e; --gold-soft:#e8c87a; --saffron:#f5933b; --maroon:#7a1f2b;
  --rose:#e7799a; --line:rgba(240,185,78,.18);
  --r:18px; --maxw:680px;
  --serif:"Marcellus","Tiro Devanagari Hindi",Georgia,serif;
  --sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  font-family:var(--sans); color:var(--ink); line-height:1.65;
  background:
    radial-gradient(1200px 600px at 50% -10%, #2a1f57 0%, transparent 60%),
    radial-gradient(800px 400px at 80% 10%, #3a2150 0%, transparent 55%),
    var(--bg);
  background-attachment:fixed; min-height:100vh;
  overflow-x:hidden;
}
/* subtle stars */
body::before{
  content:""; position:fixed; inset:0; pointer-events:none; z-index:0; opacity:.5;
  background-image:
    radial-gradient(1px 1px at 20% 30%, #fff, transparent),
    radial-gradient(1px 1px at 70% 20%, #fff, transparent),
    radial-gradient(1px 1px at 40% 70%, #fff, transparent),
    radial-gradient(1px 1px at 85% 60%, #ffe9b8, transparent),
    radial-gradient(1px 1px at 12% 85%, #fff, transparent),
    radial-gradient(1px 1px at 60% 90%, #fff, transparent);
}
.wrap{position:relative; z-index:1; max-width:var(--maxw); margin:0 auto; padding:0 18px 90px}

/* nav */
nav.top{position:sticky; top:0; z-index:20; backdrop-filter:blur(10px);
  background:linear-gradient(180deg,rgba(13,10,30,.92),rgba(13,10,30,.6));
  border-bottom:1px solid var(--line)}
nav.top .row{max-width:var(--maxw); margin:0 auto; display:flex; align-items:center;
  justify-content:space-between; padding:12px 18px}
.brand{font-family:var(--serif); font-size:21px; letter-spacing:.3px; color:var(--gold); text-decoration:none}
.brand small{display:block; font-family:var(--sans); font-size:10px; letter-spacing:3px; color:var(--muted); text-transform:uppercase}
nav.top a.link{color:var(--ink-soft); text-decoration:none; font-size:14px; margin-left:16px}
nav.top a.link.active{color:var(--gold)}

/* hero */
.hero{text-align:center; padding:46px 6px 24px}
.hero .om{font-size:34px; color:var(--gold); opacity:.85}
.hero h1{font-family:var(--serif); font-size:clamp(28px,8vw,42px); line-height:1.12; margin:10px 0 6px}
.hero h1 .hl{color:var(--gold)}
.hero p.sub{color:var(--ink-soft); font-size:16px; max-width:30ch; margin:8px auto 0}

/* buttons */
.btn{display:inline-flex; align-items:center; gap:8px; justify-content:center;
  background:linear-gradient(180deg,var(--saffron),#d9772a); color:#1a1020; font-weight:600;
  border:none; border-radius:999px; padding:14px 26px; font-size:16px; cursor:pointer;
  text-decoration:none; box-shadow:0 8px 24px rgba(245,147,59,.28); transition:transform .12s}
.btn:active{transform:scale(.97)}
.btn.ghost{background:transparent; color:var(--gold); border:1px solid var(--line); box-shadow:none}
.cta-row{display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:22px}

/* section heading */
.sec-h{font-family:var(--serif); font-size:24px; color:var(--gold-soft); margin:38px 4px 14px; text-align:center}
.sec-sub{text-align:center; color:var(--muted); font-size:13px; margin:-8px 0 18px}

/* rashi grid */
.rashis{display:grid; grid-template-columns:repeat(3,1fr); gap:10px}
.rashi{background:var(--panel); border:1px solid var(--line); border-radius:var(--r);
  padding:14px 8px; text-align:center; cursor:pointer; transition:.15s; color:var(--ink)}
.rashi:active{transform:scale(.97)}
.rashi.sel{background:linear-gradient(180deg,var(--panel2),var(--panel)); border-color:var(--gold); box-shadow:0 0 0 1px var(--gold) inset}
.rashi .sym{font-size:26px; color:var(--gold); display:block}
.rashi .hi{font-family:var(--serif); font-size:18px; margin-top:2px}
.rashi .en{font-size:11px; color:var(--muted); letter-spacing:.5px}

/* daily reading */
.reading{margin-top:16px; display:none}
.reading.show{display:block; animation:fade .3s}
@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.card{background:linear-gradient(180deg,var(--panel),#171232); border:1px solid var(--line);
  border-radius:var(--r); padding:18px 18px; margin:14px 0; box-shadow:0 10px 30px rgba(0,0,0,.25)}
.card h2{font-family:var(--serif); font-weight:400; font-size:20px; color:var(--gold-soft);
  margin-bottom:10px; border-bottom:1px solid var(--line); padding-bottom:8px}
.card h3{font-size:13px; text-transform:uppercase; letter-spacing:1.5px; color:var(--saffron); margin:14px 0 4px}
.card p{margin:8px 0; color:var(--ink-soft)}
.reading .head{display:flex; align-items:center; gap:12px; margin-bottom:6px}
.reading .head .big{font-size:38px; color:var(--gold)}
.reading .head h2{font-family:var(--serif); font-size:24px; color:var(--ink); border:none; padding:0; margin:0}
.reading .head .dates{font-size:12px; color:var(--muted)}
.meter{height:8px; background:rgba(255,255,255,.08); border-radius:99px; overflow:hidden; margin:6px 0 2px}
.meter i{display:block; height:100%; background:linear-gradient(90deg,var(--rose),var(--gold))}
.chips{display:flex; gap:8px; flex-wrap:wrap; margin-top:10px}
.chip{font-size:12px; background:var(--panel2); border:1px solid var(--line); border-radius:99px; padding:5px 12px; color:var(--gold-soft)}

/* soul cards */
.soul{display:grid; grid-template-columns:1fr; gap:12px}
.soul .card h2{border:none; padding:0}
.soul .card p{color:var(--ink-soft)}

/* glance / lists in report */
ul.glance{list-style:none; display:grid; gap:8px}
ul.glance li{display:flex; justify-content:space-between; gap:10px; border-bottom:1px dashed var(--line); padding-bottom:6px; font-size:14px}
ul.glance li span{color:var(--muted)}
ul.glance li b{color:var(--gold-soft); text-align:right}
ul.glance li b i{color:var(--ink-soft); font-style:normal; font-family:var(--serif)}
.wiring,.yogas,.remedies{list-style:none; display:grid; gap:12px}
.wiring li,.yogas li,.remedies li{padding-left:16px; position:relative; color:var(--ink-soft); font-size:14.5px}
.wiring li::before,.yogas li::before,.remedies li::before{content:"✦"; position:absolute; left:0; color:var(--gold); font-size:12px}
.chapters{display:grid; gap:10px}
.chapter{border:1px solid var(--line); border-radius:14px; padding:12px 14px; background:rgba(255,255,255,.02)}
.chapter.now{border-color:var(--gold); background:linear-gradient(180deg,var(--panel2),transparent)}
.ch-head{display:flex; align-items:baseline; gap:8px; flex-wrap:wrap}
.ch-head b{font-family:var(--serif); font-size:18px; color:var(--gold-soft)}
.ch-head span{font-size:12px; color:var(--muted)}
.ch-head em{font-style:normal; font-size:11px; background:var(--gold); color:#1a1020; padding:2px 8px; border-radius:99px; margin-left:auto}
ul.sub{list-style:none; margin-top:8px; display:grid; gap:4px}
ul.sub li{font-size:12.5px; color:var(--muted)}
ul.sub li.subnow{color:var(--gold-soft)}
.oneline{border-top:1px solid var(--line); margin-top:12px; padding-top:10px; font-size:15px; color:var(--ink)}

/* form */
form.kundali{display:grid; gap:14px; margin-top:8px}
.field{display:grid; gap:6px}
.field label{font-size:13px; color:var(--gold-soft); letter-spacing:.3px}
.field input,.field select{background:var(--panel); border:1px solid var(--line); color:var(--ink);
  border-radius:12px; padding:13px 14px; font-size:16px; font-family:var(--sans); width:100%}
.field input:focus,.field select:focus{outline:none; border-color:var(--gold)}
.field .hint{font-size:11px; color:var(--muted)}
.two{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.coords{display:none; gap:12px}
.coords.show{display:grid}
.err{color:#ff9a9a; font-size:13px; min-height:18px}
.loading{text-align:center; color:var(--gold-soft); padding:30px; display:none}
.loading.show{display:block}
.loading .spin{font-size:30px; animation:rot 1.4s linear infinite; display:inline-block}
@keyframes rot{to{transform:rotate(360deg)}}

/* manifesto / longform */
.longform{max-width:640px; margin:0 auto}
.longform .lead{font-family:var(--serif); font-size:20px; line-height:1.5; color:var(--ink); margin:18px 0}
.longform h2{font-family:var(--serif); font-weight:400; font-size:26px; color:var(--gold); margin:42px 0 6px}
.longform h3{font-family:var(--serif); font-weight:400; font-size:21px; color:var(--gold-soft); margin:30px 0 4px}
.longform p{margin:14px 0; color:var(--ink-soft); font-size:16.5px; line-height:1.78}
.longform p.first::first-letter{font-family:var(--serif); font-size:54px; float:left; line-height:.8; padding:6px 10px 0 0; color:var(--gold)}
.longform .em{color:var(--ink)}
.longform .rule{height:1px; background:var(--line); margin:34px 0; border:none}
.longform .kicker{text-align:center; letter-spacing:4px; text-transform:uppercase; font-size:11px; color:var(--saffron); margin-top:30px}
.longform blockquote{border-left:3px solid var(--gold); padding:4px 0 4px 18px; margin:20px 0; color:var(--ink); font-family:var(--serif); font-size:19px; line-height:1.5}
.longform .colophon{font-size:13px; color:var(--muted); font-style:italic; margin-top:24px}
.toc{background:var(--panel); border:1px solid var(--line); border-radius:var(--r); padding:16px 18px; margin:20px 0}
.toc b{color:var(--gold-soft); font-family:var(--serif); font-size:16px}
.toc ol{margin:8px 0 0 18px; color:var(--ink-soft); font-size:14px}
.toc a{color:var(--ink-soft); text-decoration:none}

/* footer */
footer{text-align:center; color:var(--muted); font-size:12px; padding:30px 18px 40px; border-top:1px solid var(--line); margin-top:40px}
footer a{color:var(--gold-soft); text-decoration:none}
.note{font-size:12px; color:var(--muted); text-align:center; margin:18px 0}
