:root{
  --bg:#120d1f; --panel:#1c1530; --panel2:#241a3d; --ink:#f3ecff; --muted:#b2a4d4; --line:#352a52;
  --gold:#ffd24a; --gold2:#e8b23a; --accent:#b57bff; --accent2:#7c4dff; --good:#4ad6a0; --bad:#ff7a7a;
  --serif:'Noto Serif Sinhala','Iskoola Pota',serif; --sans:'Noto Sans Sinhala','Nirmala UI','Iskoola Pota',sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:
  radial-gradient(1200px 600px at 50% -10%, #2a1e49 0%, transparent 60%),
  var(--bg);
  color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.55;min-height:100vh}
.wrap{max-width:1080px;margin:0 auto;padding:18px 16px 60px;display:flex;flex-direction:column;gap:18px}
header{text-align:center;padding:10px 0 2px}
h1{font-family:var(--serif);font-size:1.8rem;margin:0;color:var(--gold);letter-spacing:.5px;text-shadow:0 2px 12px rgba(255,210,74,.25)}
.sub{color:var(--muted);font-size:.9rem;margin-top:2px}
.card{background:linear-gradient(180deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:16px;box-shadow:0 8px 28px rgba(0,0,0,.35)}
h2{font-family:var(--serif);font-size:1.15rem;margin:0 0 10px;color:var(--gold)}
h3{font-size:1rem;margin:14px 0 6px;color:var(--accent)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}
label{display:flex;flex-direction:column;gap:4px;font-size:.84rem;color:var(--muted)}
input,select,button,textarea{font:inherit}
input,select{background:#160f28;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:9px 11px;min-height:42px;width:100%}
input:focus,select:focus{outline:2px solid var(--accent)}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.btn{background:linear-gradient(180deg,var(--gold),var(--gold2));color:#2a1e00;border:none;border-radius:12px;padding:11px 22px;font-weight:700;cursor:pointer;min-height:46px;font-size:1rem}
.btn:hover{filter:brightness(1.06)}
.btn.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}
.tab{background:var(--panel);border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:8px 16px;cursor:pointer;font-weight:600;font-size:.92rem}
.tab[aria-selected="true"]{background:linear-gradient(180deg,var(--accent),var(--accent2));color:#fff;border-color:transparent}
.muted{color:var(--muted)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{padding:8px 8px;border-bottom:1px solid var(--line);text-align:left}
th{color:var(--gold);font-weight:600;font-size:.85rem}
td.c,th.c{text-align:center}
.retro{color:var(--bad);font-weight:700}
.chart-wrap{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;align-items:flex-start}
.rasi{width:330px;max-width:94vw;aspect-ratio:1;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);border:2px solid var(--gold);border-radius:8px;overflow:hidden;background:#160f28}
.cell{border:1px solid var(--line);position:relative;padding:3px;font-size:.72rem;min-height:0;overflow:hidden}
.cell .sign{position:absolute;top:2px;left:4px;color:var(--muted);font-size:.62rem}
.cell.center{grid-column:2/4;grid-row:2/4;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(180deg,#241a3d,#1c1530);border:1px solid var(--gold);color:var(--gold);font-family:var(--serif);gap:2px}
.cell .pl{display:inline-block;margin:1px 3px;color:var(--gold);font-weight:700}
.cell .pl.asc{color:var(--accent);}
.cell.lagna{box-shadow:inset 0 0 0 2px var(--accent)}
.badge{display:inline-block;background:#160f28;border:1px solid var(--line);border-radius:999px;padding:2px 10px;font-size:.8rem;margin:2px 4px 2px 0}
.badge.g{border-color:var(--good);color:var(--good)} .badge.b{border-color:var(--bad);color:var(--bad)}
.reading{background:#160f28;border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:8px 0;line-height:1.7}
.reading b{color:var(--gold)}
.dasha-row{display:flex;justify-content:space-between;gap:10px;padding:9px 12px;border:1px solid var(--line);border-radius:10px;margin:5px 0;background:#160f28}
.dasha-row.now{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold);background:#1f1733}
.dasha-row .dn{font-weight:700;color:var(--gold)}
.pill{font-size:.72rem;color:var(--good);border:1px solid var(--good);border-radius:999px;padding:0 8px;margin-left:6px}
.palmbox{border:2px dashed var(--line);border-radius:14px;padding:18px;text-align:center;background:#160f28}
.palmview{position:relative;display:inline-block;max-width:100%}
.palmview img{max-width:100%;border-radius:12px;display:block}
.disclaimer{font-size:.82rem;color:var(--muted);background:#160f28;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:8px;padding:10px 12px;margin-top:8px}
.hidden{display:none!important}
.foot{text-align:center;color:var(--muted);font-size:.82rem;border-top:1px solid var(--line);padding-top:12px}
.foot b{color:var(--gold)}
.kv{display:flex;gap:8px;flex-wrap:wrap}
.kv .item{background:#160f28;border:1px solid var(--line);border-radius:10px;padding:6px 12px}
.kv .item b{color:var(--gold)}
@media(max-width:560px){h1{font-size:1.45rem}.wrap{padding:12px 12px 50px}}
.book{line-height:1.95}
.book .bk-head{text-align:center;margin-bottom:14px;padding-bottom:10px;border-bottom:2px solid var(--gold)}
.book .bk-head .t{font-family:var(--serif);font-size:1.5rem;color:var(--gold)}
.book .bk-head .s{color:var(--muted);font-size:.9rem;margin-top:2px}
.book .bk-sec{margin:16px 0;padding:14px 16px;background:#160f28;border:1px solid var(--line);border-radius:12px;break-inside:avoid}
.book h3.bk{font-family:var(--serif);color:var(--gold);border-bottom:1px solid var(--line);padding-bottom:6px;font-size:1.12rem;margin:0 0 10px}
.book p{text-align:justify;margin:9px 0;font-size:.98rem}
.book .pdetail{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:6px;margin-top:6px}
.book .pdetail .d{background:#1c1530;border:1px solid var(--line);border-radius:8px;padding:6px 10px;font-size:.85rem}
.book .pdetail .d b{color:var(--gold)}
@media print{
  .book .bk-sec{background:#f7f7f7;border:1px solid #ccc}
  .book .pdetail .d{background:#fff;border:1px solid #ddd}
  :root{--bg:#fff;--panel:#fff;--panel2:#fff;--ink:#111;--muted:#444;--line:#bbb;--gold:#7a5c00;--gold2:#7a5c00;--accent:#4a2f9a;--accent2:#4a2f9a;--good:#1a7a4a;--bad:#b02020}
  body{background:#fff!important;color:#111}
  .wrap{max-width:100%;padding:0}
  #inputCard,.tabs,#printRow,#calc,.palmbox,#palmfile,.foot .pill,header .sub,.btn{display:none!important}
  .tabpane{display:block!important;break-inside:auto;box-shadow:none;border:1px solid #ccc;margin-bottom:10px;page-break-inside:auto}
  .card{box-shadow:none;border:1px solid #ccc}
  .reading,.dasha-row,.cell,.rasi,table tr{break-inside:avoid;page-break-inside:avoid}
  h1{color:#7a5c00}h2,h3{color:#4a2f9a}
  .badge{border-color:#999!important}
  a{color:#111}
  .disclaimer{display:none!important}
  /* print only the Kendara book when requested */
  body.printing-book #inputCard,body.printing-book .tabs,body.printing-book #printRow,body.printing-book .tabpane:not(#pane-book),body.printing-book .foot{display:none!important}
  body.printing-book #pane-book{display:block!important}
  /* print only the porondam (with the two charts) */
  body.printing-porondam #inputCard,body.printing-porondam .tabs,body.printing-porondam #printRow,body.printing-porondam .tabpane:not(#pane-porondam),body.printing-porondam .foot,body.printing-porondam #porondamForms,body.printing-porondam #porondamIntro{display:none!important}
  body.printing-porondam #pane-porondam{display:block!important}
  /* print only the muhurta list */
  body.printing-muhurta #inputCard,body.printing-muhurta .tabs,body.printing-muhurta #printRow,body.printing-muhurta .tabpane:not(#pane-muhurta),body.printing-muhurta .foot,body.printing-muhurta #muhurtaForm{display:none!important}
  body.printing-muhurta #pane-muhurta{display:block!important}
}
.rasi.mini{width:250px}
.por-charts{display:flex;gap:18px;flex-wrap:wrap;justify-content:center;margin:14px 0}
.por-charts .pc{text-align:center}
.por-charts .pc h4{margin:0 0 6px;color:var(--accent);font-size:.95rem}

body.sx{font-size:15px;line-height:1.55}.sx-top{font-size:15px}
