:root{--bg:#07090f;--bg-raised:#10141f;--border:#232a3a;--text:#e8ebf2;--muted:#8d95a8;--accent:#ffd27a;--selected:#1a2236;--toolbar-h:3.6rem}*{box-sizing:border-box}html,body{background:var(--bg);height:100%;color:var(--text);margin:0;padding:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.45;overflow:hidden}.app{width:100vw;height:100dvh;position:relative}.stage{inset:0 0 var(--toolbar-h) 0;justify-content:center;align-items:center;padding:.5rem;display:flex;position:absolute}.stage-chart{width:min(100%, calc(100vh - var(--toolbar-h) - 1rem), calc(100dvh - var(--toolbar-h) - 1rem));aspect-ratio:1}.hud{z-index:2;pointer-events:none;position:absolute;top:1rem;left:1.25rem}.hud h1{margin:.1rem 0;font-size:1.4rem;font-weight:600}.hud .when{color:var(--muted);margin:0;font-size:.95rem}.eyebrow{letter-spacing:.18em;color:var(--muted);margin:0;font-size:.7rem}.toolbar{height:var(--toolbar-h);z-index:3;border-top:1px solid var(--border);white-space:nowrap;background:#10141ff5;justify-content:space-between;align-items:center;gap:1rem;padding:0 .75rem;display:flex;position:absolute;bottom:0;left:0;right:0;overflow-x:auto}.toolbar-group{flex-shrink:0;align-items:center;gap:.3rem;display:flex}a.toggle{text-decoration:none;display:inline-block}.toggle,.timebar button,.timebar select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;white-space:nowrap;border-radius:6px;padding:.35rem .5rem;font-size:.8rem}.toggle:hover,.timebar button:hover,.timebar select:hover{border-color:var(--accent)}.toggle.active{background:var(--selected);border-color:var(--accent);color:var(--accent)}.drawer{top:0;right:0;bottom:var(--toolbar-h);z-index:2;border-left:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#07090feb;width:min(34rem,100vw);padding:1rem;position:absolute;overflow-y:auto}.drawer-panel h2{letter-spacing:.06em;margin:0;font-size:1.1rem}.drawer-panel .detail-header button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.drawer-panel.about p{color:var(--muted);font-size:.9rem}.controls{gap:.75rem;margin-top:1rem;display:grid}.controls-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1rem;display:flex}.controls label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.85rem;display:flex}.controls label small{font-size:.75rem}.controls input,.controls select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);border-radius:6px;min-width:9rem;padding:.45rem .6rem}.error{color:#ff9a9a}.count{margin:.5rem 0 0;font-size:1.8rem;font-weight:600}.count-note{color:var(--muted);margin:0 0 1rem;font-size:.9rem}.empty{color:var(--muted)}.star-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.star-row{text-align:left;width:100%;font:inherit;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);cursor:pointer;border-radius:10px;grid-template-columns:1fr auto;gap:.1rem 1rem;padding:.75rem 1rem;display:grid}.star-row:hover,.star-row:focus-visible{border-color:var(--accent);outline:none}.star-row.selected{background:var(--selected);border-color:var(--accent)}.star-name{grid-column:1;font-size:1.15rem;font-weight:600}.star-where{text-align:right;color:var(--accent);font-variant-numeric:tabular-nums;white-space:nowrap;grid-area:1/2/span 3;align-self:center}.star-constellation,.star-mag{color:var(--muted);grid-column:1;font-size:.9rem}.detail{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:1.25rem 1.5rem}.detail-header{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.detail h2{letter-spacing:.06em;margin:0;font-size:1.6rem}.detail-header button{font:inherit;color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.4rem;line-height:1}.detail-designation{color:var(--muted);margin:.1rem 0 0}.detail h3{letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin:1.5rem 0 .5rem;font-size:.75rem}.detail dl{grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;margin:1rem 0 0;display:grid}.detail dt{color:var(--muted)}.detail dd{font-variant-numeric:tabular-nums;margin:0}.detail-instruction{color:var(--accent);margin:1rem 0 0;font-size:1.1rem}.detail-note{color:var(--muted);margin:1.5rem 0 0;font-size:.8rem}.footer{border-top:1px solid var(--border);color:var(--muted);margin-top:3rem;padding-top:1rem;font-size:.85rem}.chart{margin:0}.chart svg{width:100%;height:100%;font-family:inherit;display:block}.chart figcaption{color:var(--muted);text-align:center;margin:.5rem 0 0;font-size:.8rem}.chart-sky{fill:#0b1020}.chart-horizon{fill:none;stroke:var(--border);stroke-width:2px}.chart-ring{fill:none;stroke:#1c2436;stroke-width:1px;stroke-dasharray:4 6}.chart-ring-label{fill:#3d4761;font-size:10px}.chart-compass{fill:var(--text);font-size:16px;font-weight:600}.chart-compass-minor{fill:var(--muted);font-size:10px}.chart-constellation{--constellation-color:#8d95a8}.chart-constellation line{stroke:var(--constellation-color);stroke-opacity:.55;stroke-width:1px;stroke-linecap:round}.chart-constellation.dimmed line:not(.chart-hit){stroke-opacity:.18}.chart-constellation .chart-hit,.chart-star .chart-hit{stroke:#0000;stroke-width:12px;fill:#0000;cursor:pointer}.chart-constellation{cursor:pointer;outline:none}.chart-constellation:hover line:not(.chart-hit),.chart-constellation:focus-visible line:not(.chart-hit){stroke-opacity:1;stroke-width:1.6px}.chart-constellation.selected line:not(.chart-hit){stroke-opacity:1;stroke-width:2.2px}.chart-constellation-label{fill:var(--constellation-color);fill-opacity:.75;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;font-size:10px}.chart-constellation.dimmed .chart-constellation-label{fill-opacity:.3}.chart-constellation:hover .chart-constellation-label,.chart-constellation.selected .chart-constellation-label{fill-opacity:1;font-weight:600}.detail-swatch{vertical-align:baseline;background:var(--constellation-color,var(--muted));border-radius:50%;width:.7em;height:.7em;margin-right:.4em;display:inline-block}.chart-star{cursor:pointer;outline:none}.chart-star circle:not(.chart-hit){fill:#f2f4fa}.chart-star.figure circle:not(.chart-hit){fill:#8d95a8}.chart-star:hover circle:not(.chart-hit),.chart-star:focus-visible circle:not(.chart-hit),.chart-star.selected circle:not(.chart-hit){fill:var(--accent);stroke:var(--accent);stroke-width:2px;stroke-opacity:.4}.chart-star-label{fill:#c9d0e0;pointer-events:none;font-size:10px}.chart-star.selected .chart-star-label{fill:var(--accent)}.detail-hint p{color:var(--muted);margin:0}.link-button{font:inherit;color:var(--accent);cursor:pointer;text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.member-list{gap:.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.member-row{width:100%;font:inherit;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:space-between;gap:1rem;padding:.3rem .5rem;display:flex}.member-row:hover{border-color:var(--border);background:var(--selected)}.member-row small{color:var(--muted)}.member-where{color:var(--accent);white-space:nowrap;font-variant-numeric:tabular-nums}.timebar{flex-wrap:nowrap;align-items:center;gap:.4rem;display:flex}.timebar button,.timebar select{font:inherit;color:var(--text);background:var(--bg);border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.45rem .7rem}.timebar button:hover,.timebar select:hover{border-color:var(--accent)}.timebar-play{min-width:6rem}.timebar-play.playing{border-color:var(--accent);color:var(--accent)}.timebar-select{color:var(--muted);align-items:center;gap:.35rem;font-size:.75rem;display:flex}@media (max-width:1500px){.timebar-select>span{display:none}}.timebar-divider{background:var(--border);align-self:stretch;width:1px;margin:0 .25rem}.when-live{color:var(--accent);font-size:.9rem}.chart-body{cursor:pointer;outline:none}.chart-body circle:not(.chart-hit){fill:#ffd9a0;stroke:#ffb347;stroke-width:1.5px}.chart-body.sun circle:not(.chart-hit){fill:#ffe066;stroke:#ffb300}.chart-body.moon circle:not(.chart-hit){fill:#e6e9f0;stroke:#b8bfd0}.chart-body:hover circle:not(.chart-hit),.chart-body:focus-visible circle:not(.chart-hit),.chart-body.selected circle:not(.chart-hit){stroke:var(--accent);stroke-width:3px}.chart-body-label{fill:#ffd9a0;pointer-events:none;font-size:11px;font-weight:600}.body-symbol,.zodiac-symbol{font-size:1.1em}.astrology{gap:1.5rem;display:grid}.placements{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;margin-top:.75rem;font-size:.85rem}.placements th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);padding:.35rem .5rem;font-size:.75rem;font-weight:500}.placements td{border-bottom:1px solid #161c2a;padding:.45rem .5rem}.placements tbody tr{cursor:pointer}.placements tbody tr:hover,.placements tbody tr:focus-visible{background:var(--selected);outline:none}.placements .retro{color:var(--accent)}.muted{color:var(--muted)}.aspect-list{gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:grid}.aspect-list li{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;grid-template-columns:4.5rem 1fr auto;align-items:baseline;gap:.75rem;padding:.4rem .5rem;font-size:.95rem;display:grid}.aspect-glyphs{letter-spacing:.1em;font-size:1.15rem}.controls label.check{flex-direction:row;align-self:center;align-items:center;gap:.5rem}.controls input[type=checkbox]{min-width:auto}.controls button.toggle:disabled{opacity:.4;cursor:default}.big-three{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin:1rem 0 .5rem;display:grid}.big-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.15rem;padding:.75rem;display:flex}.big-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.7rem}.big-value{text-align:left;color:var(--accent);font-size:1.15rem;font-weight:600;text-decoration:none}.birth h3{letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin:1.5rem 0 .25rem;font-size:.75rem}.member-row.open{background:var(--selected);border-color:var(--border)}.member-list.compact .member-row{padding:.2rem .5rem;font-size:.9rem}.explain{border-left:2px solid var(--accent);margin:.25rem 0 .5rem .5rem;padding:.5rem .75rem .75rem;font-size:.92rem}.explain p{margin:0 0 .5rem}.explain p:last-child{margin-bottom:0}.term-wrap{display:inline}.term{font:inherit;color:inherit;cursor:help;-webkit-text-decoration:underline dotted var(--muted);text-decoration:underline dotted var(--muted);text-underline-offset:3px;background:0 0;border:none;padding:0}.term:hover,.term[aria-expanded=true]{color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.term-definition{background:var(--bg-raised);border-left:2px solid var(--accent);color:var(--text);letter-spacing:normal;text-transform:none;border-radius:0 6px 6px 0;margin:.4rem 0 .6rem;padding:.5rem .75rem;font-size:.85rem;font-weight:400;display:block}.deeper{flex-wrap:wrap;align-items:center;gap:.5rem;margin:1.25rem 0 .5rem;display:flex}.deeper .toggle.primary{border-color:var(--accent);color:var(--accent)}.deeper-why{color:var(--muted);margin:0;font-size:.85rem}.headline{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;margin:1rem 0 0;padding:.85rem 1rem}.headline .big-label{margin-bottom:.25rem;display:block}.headline p{margin:0}.big-card.wide{grid-column:1/-1}.big-card .big-note{color:var(--text);margin:.35rem 0 0;font-size:.9rem}.event-day h3{letter-spacing:.18em;color:var(--muted);text-transform:uppercase;margin:1.25rem 0 .25rem;font-size:.75rem}.event-icon{text-align:center;width:1.4em;color:var(--muted);display:inline-block}.event-icon.lunation{color:#e6e9f0}.event-icon.transit{color:var(--accent)}.event-icon.station{color:#f58ea3}.event-icon.return{color:#ffe066}.upcoming .drawer-panel h3,.drawer-panel .astrology .eyebrow{margin-top:1.25rem}.big-card:has(.term[aria-expanded=true]){grid-column:1/-1}.learn{height:100dvh;padding:1.5rem 1.25rem 4rem;overflow-y:auto}.learn-nav{max-width:44rem;color:var(--muted);flex-wrap:wrap;gap:.5rem 1rem;margin:0 auto 1.5rem;font-size:.85rem;display:flex}.learn-nav a{color:var(--accent);text-decoration:none}.learn-nav a:hover{text-decoration:underline}.learn-article{max-width:44rem;margin:0 auto;font-size:1.05rem;line-height:1.65}.learn-article h1{margin:.25rem 0 .75rem;font-size:2.2rem;line-height:1.15}.learn-article h2{color:var(--accent);margin:2rem 0 .4rem;font-size:1.15rem}.learn-article p{margin:0 0 .9rem}.learn-article .lede{color:#c9d0e0;font-size:1.15rem}.learn-article a{color:var(--accent)}.learn-glyph{margin-right:.15em;font-size:1.1em}.learn-facts{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;grid-template-columns:max-content 1fr;gap:.35rem 1.25rem;margin:1.25rem 0;padding:1rem 1.25rem;font-size:.95rem;display:grid}.learn-facts dt{color:var(--muted)}.learn-facts dd{margin:0}.learn-list{gap:.4rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.learn-grid{grid-template-columns:repeat(auto-fill,minmax(11rem,1fr));gap:.5rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.learn-grid li{background:var(--bg-raised);border:1px solid var(--border);border-radius:8px;flex-direction:column;padding:.6rem .75rem;font-size:.95rem;display:flex}.learn-grid li .muted{font-size:.8rem}.learn-pager{border-top:1px solid var(--border);justify-content:space-between;margin-top:3rem;padding-top:1rem;display:flex}.read-more{color:var(--accent);margin-top:.4rem;font-size:.85rem;display:inline-block}.star-index-controls{flex-wrap:wrap;align-items:center;gap:.75rem;margin:1rem 0;display:flex}.star-index-controls input{font:inherit;color:var(--text);background:var(--bg-raised);border:1px solid var(--border);border-radius:6px;flex:16rem;padding:.5rem .75rem}.star-group h2{margin-top:1.75rem}.star-index{gap:.15rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.star-index-row{border-radius:6px;grid-template-columns:1rem 1fr auto;align-items:center;gap:.75rem;padding:.35rem .5rem;text-decoration:none;display:grid;color:var(--text)!important}.star-index-row:hover{background:var(--selected)}.star-index-name small{color:var(--muted);margin-left:.35rem}.star-dot{background:#f2f4fa;border-radius:50%;justify-self:center;display:inline-block}.star-dot.figure{background:#8d95a8}.star-dot.big{vertical-align:middle;width:.7em;height:.7em;margin-right:.35em;box-shadow:0 0 12px}.chart-ecliptic{stroke:var(--accent);stroke-opacity:.55;stroke-width:1.4px;stroke-dasharray:6 5}.chart-sign-tick{fill:var(--bg);stroke:var(--accent);stroke-width:1.5px}.chart-sign-glyph{fill:var(--accent);paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:15px;font-weight:600}.chart-constellation.emphasised line:not(.chart-hit){stroke-opacity:.95;stroke-width:1.6px}.chart-constellation.emphasised .chart-constellation-label{fill-opacity:1;font-size:11px;font-weight:600}.chart-pointer line{stroke:var(--accent);stroke-width:2px}.chart-pointer circle{fill:var(--accent)}.chart-pointer text{fill:var(--accent);paint-order:stroke;stroke:var(--bg);stroke-width:3px;font-size:11px;font-weight:600}.zodiac-strip{z-index:2;grid-template-columns:repeat(2,auto);gap:.3rem;display:grid;position:absolute;top:6.5rem;left:1.25rem}.zodiac-chip{min-width:3.4rem;font:inherit;color:var(--muted);border:1px solid var(--border);cursor:pointer;background:#10141fe6;border-radius:8px;flex-direction:column;align-items:center;gap:.05rem;padding:.3rem .35rem;display:flex}.zodiac-chip-glyph{font-size:1.1rem;line-height:1}.zodiac-chip-name{letter-spacing:.04em;font-size:.6rem}.zodiac-chip.up{color:var(--text)}.zodiac-chip.up:after{content:"";background:var(--accent);border-radius:50%;width:4px;height:4px;margin-top:2px}.zodiac-chip:hover,.zodiac-chip.active{border-color:var(--accent);color:var(--accent)}
