/* page-cast.css — Cast page (redesign 2026-09), port of docs/redesign-mockups/cast-mockup.html.
   Pattern source: page-mychart.css (verdict-pill colours, --g-* tokens) and page-astro.css
   (--px-card/--px-inset/--px-edge grid-border technique, compact one-rule-per-line style).
   Two adaptations this page needs that neither source page did on its own:
   1) --g-Sun.. tokens redeclared under .cs-page — natalOrrery()'s shared SVG markup reads these
      as custom properties, and .mc-page's copy (page-mychart.css) does not cross page boundaries.
   2) new .cs-band-harmonious/favourable/neutral/testing/discordant colour classes — page-mychart's
      .s-harmonious etc. are scoped to .mc-page only, so Cast's market-section bands and commodity
      rows (which reuse the same synastry()/resonanceWithGraha() .verdict strings) need their own.
   Scoped under .cs-page, alongside .today-page on the root (matching .mc-page/.as-page convention).
   Hard corners throughout — no border-radius. JetBrains Mono inherited from body.
   No CSS comment sits directly before any @-rule below (desk CSS rule). */
body[data-theme=gemini] #view .cs-page{--px-card:var(--today-paper);--px-inset:var(--paper-3);--px-edge:var(--today-rule);--g-Sun:#c2620f;--g-Moon:#4f76a3;--g-Mars:#c0392b;--g-Mercury:#2c8653;--g-Jupiter:#a87f0c;--g-Venus:#b0507a;--g-Saturn:#3d4c9e;--g-Rahu:#6d4b94;--g-Ketu:#8a6545;--g-Asc:var(--ink1)}
@media (prefers-color-scheme: dark){html:not([data-scheme="light"]) body[data-theme=gemini] #view .cs-page{--g-Sun:#f0954a;--g-Moon:#a9c4e2;--g-Mars:#e0685c;--g-Mercury:#5cbb87;--g-Jupiter:#e0b752;--g-Venus:#dd93b3;--g-Saturn:#8b98e0;--g-Rahu:#a992cf;--g-Ketu:#c2a084;--g-Asc:var(--ink1)}}
html[data-scheme="dark"] body[data-theme=gemini] #view .cs-page{--g-Sun:#f0954a;--g-Moon:#a9c4e2;--g-Mars:#e0685c;--g-Mercury:#5cbb87;--g-Jupiter:#e0b752;--g-Venus:#dd93b3;--g-Saturn:#8b98e0;--g-Rahu:#a992cf;--g-Ketu:#c2a084;--g-Asc:var(--ink1)}
body[data-theme=gemini] #view .cs-page{padding:14px 20px 40px}
body[data-theme=gemini] #view .cs-page h1{margin:0;font-size:clamp(28px,4vw,40px);line-height:1.05;font-weight:500;letter-spacing:-.01em}
body[data-theme=gemini] #view .cs-page h2{margin:0 0 4px;font-size:15px;font-weight:700}
body[data-theme=gemini] #view .cs-page .sub{font-size:11px;line-height:1.6;color:var(--ink2);max-width:70ch;margin:8px 0 0}
body[data-theme=gemini] #view .cs-page .card{background:var(--px-card);border:1px solid var(--px-edge);padding:18px 20px;margin-top:18px;min-width:0}
body[data-theme=gemini] #view .cs-page .empty{font-size:11px;color:var(--ink3);font-style:italic}
body[data-theme=gemini] #view .cs-page .cs-hero{border-bottom:1px solid var(--today-rule);padding-bottom:18px}
body[data-theme=gemini] #view .cs-page .cs-wheel{max-width:360px;width:100%;margin:16px auto 0}
body[data-theme=gemini] #view .cs-page .cs-wheel svg{width:100%;height:auto;display:block}
body[data-theme=gemini] #view .cs-page .cs-form{margin-top:18px}
body[data-theme=gemini] #view .cs-page .cs-q{margin-bottom:20px}
body[data-theme=gemini] #view .cs-page .cs-q>label,body[data-theme=gemini] #view .cs-page .cs-q>b{display:block;font-size:11px;font-weight:700;margin-bottom:8px}
body[data-theme=gemini] #view .cs-page .cs-digits{display:flex;gap:8px;flex-wrap:wrap}
body[data-theme=gemini] #view .cs-page .cs-in{font:13px "JetBrains Mono",monospace;background:var(--paper);color:var(--ink1);border:1px solid var(--rline);padding:8px 9px;min-width:0}
body[data-theme=gemini] #view .cs-page .cs-dd,body[data-theme=gemini] #view .cs-page .cs-mm{width:44px;text-align:center}
body[data-theme=gemini] #view .cs-page .cs-yyyy{width:68px;text-align:center}
body[data-theme=gemini] #view .cs-page .cs-hh,body[data-theme=gemini] #view .cs-page .cs-mi{width:44px;text-align:center}
body[data-theme=gemini] #view .cs-page .cs-place{width:100%;max-width:320px}
body[data-theme=gemini] #view .cs-page .cs-check{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--ink2);margin-top:8px}
body[data-theme=gemini] #view .cs-page .cs-city-pop{position:relative}
body[data-theme=gemini] #view .cs-page .cs-city{position:absolute;left:0;top:100%;z-index:5;width:100%;max-width:320px;background:var(--px-card);border:1px solid var(--rline);max-height:180px;overflow-y:auto;list-style:none;margin:2px 0 0;padding:0}
body[data-theme=gemini] #view .cs-page .cs-city li{padding:7px 10px;font-size:11px;cursor:pointer}
body[data-theme=gemini] #view .cs-page .cs-city li:hover{background:var(--today-hover)}
body[data-theme=gemini] #view .cs-page .cs-opts{display:flex;flex-wrap:wrap;gap:8px}
body[data-theme=gemini] #view .cs-page .cs-opt{font:10px "JetBrains Mono",monospace;background:none;border:1px solid var(--rline);color:var(--ink2);padding:7px 12px;cursor:pointer;transition:border-color 120ms ease,background 120ms ease,color 120ms ease}
body[data-theme=gemini] #view .cs-page .cs-opt.on{background:var(--ink1);color:var(--paper);border-color:var(--ink1)}
body[data-theme=gemini] #view .cs-page .cs-err{font-size:10px;color:var(--dn);margin-top:10px}
body[data-theme=gemini] #view .cs-page .cs-cast-btn{font:11px "JetBrains Mono",monospace;background:var(--ink1);color:var(--paper);border:1px solid var(--ink1);padding:11px 22px;cursor:pointer;margin-top:8px}
body[data-theme=gemini] #view .cs-page .cs-cast-btn:hover{opacity:.88}
body[data-theme=gemini] #view .cs-page .cs-pipe{margin-top:18px;text-align:center;padding:30px 10px}
body[data-theme=gemini] #view .cs-page .cs-pipe-steps{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-width:360px;margin:0 auto}
body[data-theme=gemini] #view .cs-page .cs-pipe-steps li{font-size:11px;color:var(--ink3);transition:color 150ms ease}
body[data-theme=gemini] #view .cs-page .cs-pipe-steps li.on{color:var(--ink1);font-weight:600}
body[data-theme=gemini] #view .cs-page .cs-graha-table{width:100%;border-collapse:collapse;font-size:11px;margin-top:10px}
body[data-theme=gemini] #view .cs-page .cs-graha-table th{text-align:left;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);font-weight:600;padding:6px 8px 6px 0;border-bottom:1px solid var(--today-rule);white-space:nowrap}
body[data-theme=gemini] #view .cs-page .cs-graha-table td{padding:7px 8px 7px 0;border-bottom:1px solid var(--rhair);vertical-align:middle}
body[data-theme=gemini] #view .cs-page .cs-g-glyph{display:inline-block;margin-right:5px;vertical-align:middle}
body[data-theme=gemini] #view .cs-page .cs-dign{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;border:1px solid currentColor;padding:1px 5px}
body[data-theme=gemini] #view .cs-page .cs-dign.exalted{color:var(--up)}
body[data-theme=gemini] #view .cs-page .cs-dign.debilitated{color:var(--dn)}
body[data-theme=gemini] #view .cs-page .cs-warn{font-size:10px;color:var(--ink2);border-left:2px solid var(--accent);padding:4px 0 4px 10px;margin-top:12px}
body[data-theme=gemini] #view .cs-page .cs-dasha{margin-top:10px}
body[data-theme=gemini] #view .cs-page .cs-hand{margin-top:22px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}
body[data-theme=gemini] #view .cs-page .cs-go{font:600 12px "JetBrains Mono",monospace;background:var(--accent);color:var(--bg);border:0;border-radius:0;padding:10px 18px;cursor:pointer}
body[data-theme=gemini] #view .cs-page .cs-hand small{font-size:10px;color:var(--ink3);max-width:420px;line-height:1.5}
body[data-theme=gemini] #view .cs-page .cs-recast{margin-top:22px;text-align:center}
body[data-theme=gemini] #view .cs-page .cs-link-btn{font:10px "JetBrains Mono",monospace;background:none;border:0;color:var(--ink3);text-decoration:underline;cursor:pointer;padding:4px}
body[data-theme=gemini] #view .cs-page .cs-market .sub{margin-bottom:2px}
body[data-theme=gemini] #view .cs-page .cs-band-rows{display:grid;gap:8px;margin-top:16px}
body[data-theme=gemini] #view .cs-page .cs-band-row{display:grid;grid-template-columns:90px minmax(0,1fr) 32px;gap:10px;align-items:center;font-size:10px}
body[data-theme=gemini] #view .cs-page .cs-band-label{text-transform:capitalize;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-theme=gemini] #view .cs-page .cs-band-bar{height:8px;background:var(--px-inset);position:relative;min-width:0}
body[data-theme=gemini] #view .cs-page .cs-band-fill{height:100%}
body[data-theme=gemini] #view .cs-page .cs-band-count{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink2)}
body[data-theme=gemini] #view .cs-page .cs-band-harmonious .cs-band-fill,body[data-theme=gemini] #view .cs-page .cs-comm-row.cs-band-harmonious .cs-comm-verdict{background:var(--up);color:var(--up)}
body[data-theme=gemini] #view .cs-page .cs-band-favourable .cs-band-fill,body[data-theme=gemini] #view .cs-page .cs-comm-row.cs-band-favourable .cs-comm-verdict{background:var(--up);color:var(--up)}
body[data-theme=gemini] #view .cs-page .cs-band-neutral .cs-band-fill,body[data-theme=gemini] #view .cs-page .cs-comm-row.cs-band-neutral .cs-comm-verdict{background:var(--ink3);color:var(--ink2)}
body[data-theme=gemini] #view .cs-page .cs-band-testing .cs-band-fill,body[data-theme=gemini] #view .cs-page .cs-comm-row.cs-band-testing .cs-comm-verdict{background:var(--dn);color:var(--dn)}
body[data-theme=gemini] #view .cs-page .cs-band-discordant .cs-band-fill,body[data-theme=gemini] #view .cs-page .cs-comm-row.cs-band-discordant .cs-comm-verdict{background:var(--dn);color:var(--dn)}
body[data-theme=gemini] #view .cs-page .cs-note{font-size:9px;line-height:1.6;color:var(--ink3);margin:14px 0 0;border-top:1px solid var(--rhair);padding-top:10px}
body[data-theme=gemini] #view .cs-page .cs-comm{margin-top:22px;padding-top:18px;border-top:1px solid var(--today-rule)}
body[data-theme=gemini] #view .cs-page .cs-comm-rows{display:grid;gap:1px;background:var(--px-edge);border:1px solid var(--px-edge);margin-top:12px}
body[data-theme=gemini] #view .cs-page .cs-comm-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:10px;align-items:center;background:var(--px-inset);padding:9px 12px;font-size:11px}
body[data-theme=gemini] #view .cs-page .cs-comm-name{display:flex;align-items:center;gap:6px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
body[data-theme=gemini] #view .cs-page .cs-comm-verdict{font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
body[data-theme=gemini] #view .cs-page .cs-comm-score{font-variant-numeric:tabular-nums;color:var(--ink3);font-size:10px;white-space:nowrap}
body[data-theme=gemini] #view .cs-page .cs-record{margin-top:22px;padding-top:18px;border-top:1px solid var(--today-rule)}
body[data-theme=gemini] #view .cs-page .cs-record-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1px;background:var(--px-edge);border:1px solid var(--px-edge);margin-top:12px}
body[data-theme=gemini] #view .cs-page .cs-record-grid>div{background:var(--px-card);padding:12px 14px;min-width:0}
body[data-theme=gemini] #view .cs-page .cs-record-grid small{display:block;font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--ink3)}
body[data-theme=gemini] #view .cs-page .cs-record-grid b{display:block;font-size:20px;font-weight:500;margin:4px 0 2px;font-variant-numeric:tabular-nums}
body[data-theme=gemini] #view .cs-page .cs-verdict{font-size:10px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin:2px 0 0}
body[data-theme=gemini] #view .cs-page .orrery [data-g]{cursor:default}
@media (max-width:620px){
  body[data-theme=gemini] #view .cs-page{padding:10px 16px 30px}
  body[data-theme=gemini] #view .cs-page .card{padding:14px 15px}
  body[data-theme=gemini] #view .cs-page .cs-band-row{grid-template-columns:66px minmax(0,1fr) 28px;gap:6px}
  body[data-theme=gemini] #view .cs-page .cs-comm-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name verdict" "score score";font-size:10px}
  body[data-theme=gemini] #view .cs-page .cs-comm-name{grid-area:name}
  body[data-theme=gemini] #view .cs-page .cs-comm-verdict{grid-area:verdict}
  body[data-theme=gemini] #view .cs-page .cs-comm-score{grid-area:score;text-align:right}
  body[data-theme=gemini] #view .cs-page .cs-record-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  body[data-theme=gemini] #view .cs-page .cs-digits{gap:6px}
}
@media (prefers-reduced-motion: reduce){
  body[data-theme=gemini] #view .cs-page .cs-opt{transition:none}
  body[data-theme=gemini] #view .cs-page .cs-pipe-steps li{transition:none}
  body[data-theme=gemini] #view .cs-page .orr-planet{animation:none}
}
