/* style.css — birth-chart specific styles (loaded after base.css). */
.dl-btn{align-self:center;background:var(--panel2);color:var(--text);border:1px solid var(--line);padding:9px 18px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}
.dl-btn:hover{border-color:var(--gold);color:var(--gold)}

form .grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field.full{grid-column:1/-1}
.checkline{display:flex;flex-direction:row;align-items:center;gap:8px}
.checkline input{width:auto}
.checkline label{color:var(--text);font-weight:500}
.city-meta{font-size:12px;color:var(--gold);min-height:15px}
.city-results{position:absolute;top:62px;left:0;right:0;z-index:20;background:#12162c;border:1px solid var(--line);border-radius:10px;overflow:hidden;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.city-opt{padding:10px 12px;cursor:pointer;font-size:14px}
.city-opt:hover{background:var(--panel2)}
button.primary.block{grid-column:1/-1;width:100%}
.form-error{grid-column:1/-1;color:#ff9a8a;font-size:14px;min-height:18px}

#results{margin-top:34px;display:flex;flex-direction:column;gap:26px}
.result-head h2{margin:0 0 4px;font-size:24px}
.result-head p{margin:0;color:var(--muted)}
.note{background:rgba(208,178,95,.10);border:1px solid rgba(208,178,95,.3);color:#eadfbf;padding:12px 14px;border-radius:10px;font-size:14px}

.big3-row{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.big3{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;display:flex;gap:12px}
.big3.muted{opacity:.8}
.big3-glyph{font-size:30px;color:var(--gold);min-width:40px;text-align:center;line-height:1.2}
.big3-title{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.big3-sign{font-size:17px;font-weight:700;margin:2px 0 6px}
.big3-blurb{font-size:13.5px;color:var(--muted);line-height:1.5}

.wheel-wrap{display:flex;justify-content:center}
.natal-wheel{width:100%;max-width:560px;height:auto}
.natal-wheel .ring{fill:none;stroke:var(--line);stroke-width:1}
.natal-wheel .zsector{opacity:.18;stroke:rgba(255,255,255,.10);stroke-width:.5}
.natal-wheel .glyph-sign{fill:#f2ead0}
.natal-wheel .cusp{stroke:rgba(255,255,255,.14);stroke-width:.8}
.natal-wheel .cusp-angle{stroke:var(--gold);stroke-width:1.7}
.natal-wheel .house-num{fill:rgba(255,255,255,.4)}
.natal-wheel .angle-label{fill:var(--gold);font-weight:700}
.natal-wheel .planet-tick{stroke:rgba(255,255,255,.55);stroke-width:1}
.natal-wheel .glyph-planet{fill:#fff}
.natal-wheel .planet-deg{fill:rgba(255,255,255,.6)}
.natal-wheel .aspect-line{stroke-width:1;opacity:.45}

.table-wrap{overflow-x:auto}
table.placements{width:100%;border-collapse:collapse;font-size:14px}
table.placements th{text-align:left;color:var(--muted);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line);font-size:12px;text-transform:uppercase;letter-spacing:.05em}
table.placements td{padding:9px 10px;border-bottom:1px solid rgba(255,255,255,.05);vertical-align:top}
table.placements .pl-name{font-weight:600;white-space:nowrap}
table.placements .pl-note{color:var(--muted);font-size:13px}
.retro{color:var(--fire);font-size:12px;font-weight:600}
.angle-row td{color:var(--gold)}

.balance-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 26px;max-width:520px}
.bal{display:flex;align-items:center;gap:8px;font-size:13px}
.bal-k{width:80px;color:var(--muted)}
.bal-bar{flex:1;height:8px;background:rgba(255,255,255,.06);border-radius:5px;overflow:hidden}
.bal-bar span{display:block;height:100%;background:linear-gradient(90deg,var(--lav),var(--gold))}
.bal-n{width:16px;text-align:right;color:var(--text)}
.balance-note{color:var(--muted);font-size:14px;margin:12px 0 0}

ul.aspects{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:6px}
ul.aspects li{font-size:13.5px;padding:8px 10px;background:var(--panel);border:1px solid var(--line);border-radius:9px}
.asp-g{color:var(--gold)}
.asp-name{font-weight:600}
.asp-orb{color:var(--muted);font-size:12px}
.asp-mean{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.meta-line{color:var(--muted);font-size:13px}

@media(max-width:680px){form .grid{grid-template-columns:1fr}.big3-row{grid-template-columns:1fr}.balance-grid{grid-template-columns:1fr}}
