/**
 * LankaLux Horoscope Engine v2 - original engine stylesheet
 * ------------------------------------------------------------------
 * Extracted verbatim from LankaLux-Horoscope-Engine-v2.html. Not
 * edited. The engine renders its own markup using these classes and
 * the CSS custom properties declared on `.lankalux-horoscope` below
 * (--bg, --card, --ink, --maroon, --gold, --teal, --line, etc).
 *
 * DO NOT EDIT THIS FILE. To restyle the engine's output to the
 * LankaLux Astro (navy/gold) look, see assets/css/engine-override.css,
 * which is loaded AFTER this file and overrides the same custom
 * properties + a handful of selectors at higher specificity. That is
 * the only supported way to re-skin the engine's results.
 * ------------------------------------------------------------------
 */

.lankalux-horoscope { --bg:#f2e7c9; --card:#fbf4e0; --ink:#35271a; --ink-soft:#5b4a37; --maroon:#7a2426; --maroon-deep:#591a1c; --gold:#a97a1f; --gold-light:#cf9d3e; --teal:#2e4a3d; --teal-deep:#1e332a; --line:#c9b183; --line-strong:#8a7248; --shadow:rgba(53,39,26,0.18); color:#35271a; }

  :root{
    --bg: #f2e7c9;
    --card: #fbf4e0;
    --ink: #35271a;
    --ink-soft: #5b4a37;
    --maroon: #7a2426;
    --maroon-deep: #591a1c;
    --gold: #a97a1f;
    --gold-light: #cf9d3e;
    --teal: #2e4a3d;
    --teal-deep: #1e332a;
    --line: #c9b183;
    --line-strong: #8a7248;
    --shadow: rgba(53,39,26,0.18);
  }
  *{box-sizing:border-box;}
  html,body{margin:0;padding:0;}
  .lankalux-horoscope{
    background: radial-gradient(ellipse at top left, rgba(255,255,255,0.35), transparent 60%), var(--bg);
    color:var(--ink);
    font-family:'Noto Serif Sinhala','Noto Sans Sinhala',system-ui,sans-serif;
    line-height:1.6;
    padding-bottom:30px;
  }
  .wrap{max-width:1000px;margin:0 auto;padding:0 20px;}
  .lankalux-horoscope h1{
    font-family:'Noto Serif Sinhala',serif;font-size:clamp(28px,4.5vw,42px);font-weight:700;
    margin:0 0 10px;color:var(--maroon-deep);letter-spacing:0.3px;
  }
  .lankalux-horoscope p.hero-subtitle{font-family:Georgia,'Times New Roman',serif;font-style:italic;color:var(--ink-soft);font-size:16px;max-width:600px;margin:0 auto;}

  .panel{
    background:var(--card);border:1px solid var(--line);border-radius:6px;
    box-shadow:0 6px 20px var(--shadow);padding:28px 26px;margin-top:32px;
  }
  .panel h2{margin:0 0 22px;font-size:21px;color:var(--maroon);border-bottom:2px solid var(--gold-light);padding-bottom:10px;display:inline-block;}
  .grid-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px;}
  .grid-row.two{grid-template-columns:1fr 1fr;}
  @media(max-width:640px){.grid-row, .grid-row.two{grid-template-columns:1fr 1fr;}}
  label{display:block;font-size:14px;color:var(--ink-soft);margin-bottom:6px;}
  select, input[type=text], input[type=number]{
    width:100%;padding:10px 11px;font-family:'Noto Serif Sinhala','Noto Sans Sinhala',system-ui,sans-serif;font-size:15px;
    border:1px solid var(--line-strong);border-radius:4px;background:#fffdf6;color:var(--ink);
  }
  select:focus, input:focus{outline:2px solid var(--gold-light); outline-offset:1px;}
  .field-full{grid-column:1 / -1;}
  .manual-fields{display:none;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:4px;padding-top:16px;border-top:1px dashed var(--line-strong);}
  .manual-fields.show{display:grid;}
  @media(max-width:640px){.manual-fields, .manual-fields.show{grid-template-columns:1fr 1fr;}}

  .btn-row{margin-top:22px;display:flex;gap:14px;flex-wrap:wrap;}
  button{font-family:'Noto Serif Sinhala',serif;font-size:16px;font-weight:600;padding:13px 28px;border-radius:4px;border:none;cursor:pointer;transition:transform 0.12s ease, box-shadow 0.12s ease;}
  button.primary{background:var(--maroon); color:#fbf4e0;}
  button.primary:hover{background:var(--maroon-deep); transform:translateY(-1px);}
  button.secondary{background:transparent; color:var(--maroon); border:1.5px solid var(--maroon);}
  button.secondary:hover{background:rgba(122,36,38,0.06);}
  .hint{font-size:13px;color:var(--ink-soft);margin-top:6px;}

  #results{display:none;margin-top:40px;}
  #results.show{display:block;}
  .summary-line{text-align:center;font-size:18px;margin-bottom:28px;color:var(--ink);}
  .summary-line b{color:var(--maroon);}

  .results-cols{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:start;}
  @media(max-width:760px){.results-cols{grid-template-columns:1fr;}}

  .chart-wrap{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 20px var(--shadow);padding:20px;}
  .chart-title{text-align:center;font-size:16px;color:var(--maroon);margin:0 0 14px;font-weight:600;}
  .chart-wrap.navamsha .chart-title{color:var(--teal);}
  .chart-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,1fr);aspect-ratio:1/1;border:2px solid var(--line-strong);background:var(--line-strong);gap:1px;}
  .cell{background:#fffdf6;position:relative;padding:6px;display:flex;flex-direction:column;min-height:0;}
  .cell.center{grid-column:2 / span 2;grid-row:2 / span 2;background:radial-gradient(circle at center, rgba(122,36,38,0.06), transparent 70%), #f7ecd6;align-items:center;justify-content:center;text-align:center;padding:10px;}
  .cell.center .om{font-size:12.5px;color:var(--ink-soft);font-style:italic;font-family:Georgia,'Times New Roman',serif;}
  .cell.center .lg-sign{font-size:14.5px;color:var(--maroon);font-weight:600;margin-top:4px;}
  .cell.lagna{box-shadow:inset 0 0 0 2px var(--gold);}
  .rasi-label{font-size:10.5px;color:var(--ink-soft);font-family:Georgia,'Times New Roman',serif;line-height:1.2;}
  .house-badge{position:absolute;top:4px;right:5px;font-size:10px;color:var(--gold);font-family:Georgia,'Times New Roman',serif;font-weight:600;}
  .planet-badges{margin-top:auto;display:flex;flex-wrap:wrap;gap:3px;justify-content:center;}
  .badge{font-size:12px;padding:2px 5px;border-radius:3px;background:var(--teal);color:#fbf4e0;line-height:1.3;}
  .badge.lagna-badge{background:var(--gold);color:var(--maroon-deep);font-weight:700;}
  .badge.rahu, .badge.ketu{background:var(--maroon);}

  .table-wrap{background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 6px 20px var(--shadow);padding:20px;overflow-x:auto;}
  table{width:100%;border-collapse:collapse;font-size:14px;white-space:nowrap;}
  th,td{text-align:left;padding:8px 8px;border-bottom:1px solid var(--line);}
  th{color:var(--maroon);font-weight:600;font-size:12.5px;}
  tr:last-child td{border-bottom:none;}
  td.deg{font-family:Georgia,'Times New Roman',serif;color:var(--ink-soft);}
  .dignity-tag{font-size:12px;color:var(--teal-deep);}

  .section-title{text-align:center;font-size:20px;color:var(--maroon);margin:44px 0 20px;}

  .card-list{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
  @media(max-width:640px){.card-list{grid-template-columns:1fr;}}
  .info-card{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold-light);border-radius:4px;padding:14px 16px;}
  .info-card.is-lagna{border-left-color:var(--maroon);}
  .info-card.teal{border-left-color:var(--teal);}
  .info-card h3{margin:0 0 6px;font-size:15.5px;color:var(--maroon-deep);}
  .info-card .sub{font-size:13px;color:var(--ink-soft);margin-bottom:6px;font-family:Georgia,'Times New Roman',serif;}
  .info-card p{margin:0;font-size:14px;color:var(--ink);}

  .varga-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:10px;}
  @media(max-width:640px){.varga-grid{grid-template-columns:1fr;}}
  .varga-grid .chart-grid{font-size:0.85em;}
  .varga-grid .rasi-label{font-size:9px;}
  .varga-grid .badge{font-size:10.5px;padding:1px 4px;}
  .varga-grid .cell.center .om{font-size:10.5px;}
  .varga-grid .cell.center .lg-sign{font-size:12.5px;}

  .yoga-empty-note{text-align:center;color:var(--ink-soft);font-style:italic;font-family:Georgia,'Times New Roman',serif;font-size:14px;}

  .boundary-warn{color:var(--gold);cursor:help;font-size:12px;}

  .maha-row:hover{background:rgba(122,36,38,0.05);}
  .expand-arrow{color:var(--gold);width:18px;}
  .antardasha-row table{width:100%;border-collapse:collapse;}
  .antardasha-row th{font-size:11.5px;color:var(--teal);}
  .antardasha-row td{padding:4px 8px;border-bottom:1px solid rgba(201,177,131,0.4);}

  .disclaimer-note{font-size:12.5px;color:var(--ink-soft);font-family:Georgia,'Times New Roman',serif;text-align:center;margin-top:10px;}

  footer{text-align:center;margin-top:50px;font-size:12.5px;color:var(--ink-soft);font-family:Georgia,'Times New Roman',serif;padding:0 20px;}

  @media print{
    .lankalux-horoscope, .panel, .btn-row, footer{display:none !important;}
    #results{display:block !important;margin-top:0;}
    body{background:#fff;}
    .chart-wrap,.table-wrap,.info-card{box-shadow:none;}
  }

/* LankaLux v2 additions */
.lankalux-horoscope{max-width:1180px;margin:0 auto;padding:10px 16px 40px;}
.lankalux-horoscope .panel,.lankalux-horoscope .chart-wrap,.lankalux-horoscope .table-wrap{background:#fbf8ee;}
.lankalux-horoscope .engine-badge{display:inline-flex;gap:8px;align-items:center;margin:0 auto 18px;padding:6px 11px;border:1px solid #c9b183;border-radius:999px;background:#fffdf6;color:#6b5539;font-size:12px;letter-spacing:.02em;}
.lankalux-horoscope .engine-dot{width:8px;height:8px;border-radius:50%;background:#2e4a3d;display:inline-block;}
.lankalux-horoscope .notice{margin:0 0 18px;padding:12px 14px;border-left:4px solid #a97a1f;background:#fff8df;color:#5b4a37;font-size:13px;border-radius:4px;}
.lankalux-horoscope .notice strong{color:#591a1c;}
.lankalux-horoscope .grid-row{grid-template-columns:repeat(3,minmax(0,1fr));}
@media(max-width:640px){.lankalux-horoscope .grid-row{grid-template-columns:1fr 1fr;}}
.lankalux-horoscope .panel h2{font-size:22px;}
.lankalux-horoscope .summary-line{font-size:18px;}
.lankalux-horoscope .disclaimer-note{max-width:900px;margin-left:auto;margin-right:auto;}
