:root{--bg:#07090f;--bg-raised:#10141f;--border:#232a3a;--text:#e8ebf2;--muted:#8d95a8;--accent:#ffd27a;--selected:#1a2236;--toolbar-h:0rem}*{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;background:linear-gradient(118deg, transparent 38%, #bec8ff0b 47%, #ffe6be0f 50%, #bec8ff0b 53%, transparent 62%), radial-gradient(ellipse 60% 50% at 18% 12%, #6040b438, transparent 70%), radial-gradient(ellipse 55% 45% at 86% 88%, #1c78962e, transparent 70%), radial-gradient(ellipse 70% 60% at 55% 45%, #ffd27a0a, transparent 70%), var(--bg);justify-content:center;align-items:center;padding:.5rem;display:flex;position:absolute;overflow:hidden}.stage:before,.stage:after{content:"";pointer-events:none;z-index:0;background-repeat:repeat;position:absolute;inset:-10%}.stage:before{opacity:.55;background-image:radial-gradient(1px 1px at 13px 29px,#fff 50%,#0000 100%),radial-gradient(1px 1px at 71px 103px,#cfd8ff 50%,#0000 100%),radial-gradient(1.5px 1.5px at 142px 41px,#fff 50%,#0000 100%),radial-gradient(1px 1px at 189px 167px,#ffe9c4 50%,#0000 100%),radial-gradient(1px 1px at 97px 191px,#fff 50%,#0000 100%),radial-gradient(1px 1px at 37px 151px,#cfd8ff 50%,#0000 100%);background-size:211px 211px;animation:7s ease-in-out infinite alternate star-breathe,240s linear infinite star-drift}.stage:after{opacity:.4;background-image:radial-gradient(2px 2px at 47px 83px,#fff 40%,#0000 100%),radial-gradient(1.5px 1.5px at 233px 29px,#ffe9c4 50%,#0000 100%),radial-gradient(1px 1px at 311px 203px,#fff 50%,#0000 100%),radial-gradient(1.5px 1.5px at 137px 277px,#cfd8ff 50%,#0000 100%),radial-gradient(1px 1px at 283px 331px,#fff 50%,#0000 100%);background-size:347px 347px;animation:11s ease-in-out -4s infinite alternate star-breathe,360s linear infinite reverse star-drift}@keyframes star-breathe{0%{opacity:.25}to{opacity:.7}}@keyframes star-drift{0%{transform:translate(0,0)}to{transform:translate(-211px,105px)}}.stage-chart{z-index:1;aspect-ratio:1;width:min(100%,100vh - 2rem,100dvh - 2rem);position:relative}.stage-chart:before{content:"";pointer-events:none;z-index:0;border-radius:50%;width:91.46%;height:91.46%;position:absolute;top:4.27%;left:4.27%;box-shadow:0 0 0 1px #ffd27a2e,0 0 48px 6px #7896ff29,0 0 140px 30px #ffd27a12,0 36px 90px -10px #000000bf}.stage-chart>svg,.stage-chart>.chart{z-index:1;position:relative}.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}.sidebar-toolbar{z-index:50;border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#10141fd9;border-radius:12px;flex-direction:column;gap:.5rem;padding:.75rem .5rem;display:flex;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.sidebar-menu{position:relative}.sidebar-btn{color:var(--text);cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:.2rem;padding:.5rem .75rem;transition:all .15s;display:flex}.sidebar-btn:hover{background:#ffd27a1a;border-color:#ffd27a4d}.sidebar-btn.active{border-color:var(--accent);color:var(--accent);background:#ffd27a26}.sidebar-icon{font-size:1.1rem;line-height:1}.sidebar-label{text-transform:uppercase;letter-spacing:.05em;opacity:.8;font-size:.65rem}.sidebar-divider{background:var(--border);height:1px;margin:.25rem 0}.sidebar-popup{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#10141ffa;border-radius:8px;flex-direction:column;gap:.25rem;padding:.5rem;display:flex;position:absolute;top:0;right:calc(100% + .5rem)}.sidebar-popup .toggle,.toolbar-popup .toggle{text-align:left;white-space:nowrap;width:100%}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;position:relative}.earth-canvas{pointer-events:none;z-index:0;border-radius:50%;position:absolute}.chart svg{z-index:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;font-family:inherit;display:block;position:relative}.chart svg:active{cursor:grabbing}.chart figcaption{color:var(--muted);text-align:center;margin:.5rem 0 0;font-size:.8rem}.chart-sky{fill:#0b1020}.chart-overlay{pointer-events:none}.chart-earth-shadow{fill:#00000073;filter:blur(6px)}.chart-earth-limb{fill:none;stroke:#aacdff8c;stroke-width:1.2px}.chart-earth-atmo{fill:none;stroke:#78b4ff59;stroke-width:6px;filter:blur(4px)}.chart-earth-axis{stroke:#ffd27ab3;stroke-width:1px;stroke-dasharray:2 2}.chart-earth-here circle{fill:var(--accent)}.chart-earth-here-ring{stroke:var(--accent);stroke-width:1px;opacity:.8;transform-box:fill-box;transform-origin:50%;animation:2.4s ease-out infinite here-pulse;fill:none!important}@keyframes here-pulse{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.2)}}.chart-earth-parallel{fill:none;stroke:#ffffff29;stroke-width:.6px;stroke-dasharray:3 4;pointer-events:none}.chart-earth-equator{fill:none;stroke:#ffe6aa73;stroke-width:.8px;pointer-events:none}.chart-earth-label{letter-spacing:.08em;text-transform:uppercase;pointer-events:none;paint-order:stroke;stroke:#05081299;stroke-width:3px;font-size:11px}.chart-earth-label.land{fill:#ecf6dcd9}.chart-earth-label.ocean{fill:#bedcff99;font-size:10px;font-style:italic}.chart-earth-pole{fill:var(--accent);pointer-events:none;font-size:10px;font-weight:700}.chart-earth-subsolar circle{fill:#ffe066;stroke:#ffb400e6;stroke-width:1.5px;filter:drop-shadow(0 0 6px #ffdc64e6)}.chart-horizon-line{fill:none;stroke:#ffd27a8c;stroke-width:1.5px;pointer-events:none}.chart-star.below circle:not(.chart-hit),.chart-body.below circle:not(.chart-hit){opacity:.35}.chart-star.below text,.chart-body.below text{opacity:.45}.chart-horizon{fill:none;stroke:var(--border);stroke-width:3px}.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 .chart-figure{fill:none;stroke:var(--constellation-color);stroke-opacity:.55;stroke-width:1px;stroke-linecap:round}.chart-constellation.dimmed .chart-figure{stroke-opacity:.18}.chart-figure-stars{fill:#8d95a8;pointer-events:none}.chart-bright-stars{fill:#f2f4fa;pointer-events:none}.chart-hover-ring,.chart-selected-ring{fill:none;stroke:var(--accent);stroke-width:1.5px;pointer-events:none}.chart-hover-ring{opacity:0;transition:opacity 80ms}.chart-selected-ring{stroke-width:2px;filter:drop-shadow(0 0 4px #ffd27acc)}.chart-star-label.selected{fill:var(--accent)}.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 .chart-figure,.chart-constellation:focus-visible .chart-figure{stroke-opacity:1;stroke-width:1.6px}.chart-constellation.selected .chart-figure{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);margin:.15rem 0 0;font-size:.85rem}.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 .chart-figure{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)}
:root{--rail-glass:#090c16a8;--rail-line:#ffd78c38;--rail-key:#ffffff09;--rail-key-hover:#ffffff17;--rail-ink:#d5dbe8;--rail-dim:#7d879c;--rail-gold:#ffd27a;--rail-glow:#ffd27a73;--rail-size:2.75rem}.rail{z-index:40;flex-direction:column;gap:.6rem;display:flex;position:absolute;top:50%;right:1.1rem;transform:translateY(-50%)}.rail-group{background:var(--rail-glass);border:1px solid var(--rail-line);-webkit-backdrop-filter:blur(14px)saturate(140%);border-radius:999px;flex-direction:column;align-items:center;gap:.3rem;padding:.45rem;display:flex;position:relative;box-shadow:inset 0 1px #ffffff0f,0 12px 32px -12px #000c}.rail-key{width:var(--rail-size);height:var(--rail-size);background:var(--rail-key);color:var(--rail-ink);cursor:pointer;border:1px solid #0000;border-radius:50%;place-items:center;padding:0;transition:background .12s,color .12s,border-color .12s,transform .12s;display:grid;position:relative}.rail-key.compact{width:calc(var(--rail-size) - .5rem);height:calc(var(--rail-size) - .5rem)}.rail-key:hover{background:var(--rail-key-hover);color:#fff}.rail-key:active{transform:scale(.94)}.rail-key.active{color:var(--rail-gold);background:#ffd27a1a;border-color:#ffd27a73;box-shadow:0 0 0 3px #ffd27a14}.rail-key:focus-visible,.rail-play:focus-visible,.rail-row:focus-visible{outline:2px solid var(--rail-gold);outline-offset:2px}.rail-compass{place-items:center;transition:transform .16s;display:grid}.rail-speed-text{letter-spacing:.01em;font-variant-numeric:tabular-nums;font-size:.72rem;font-weight:600}@media (hover:hover){.rail [data-tip]:after{content:attr(data-tip);border:1px solid var(--rail-line);color:var(--rail-ink);white-space:nowrap;opacity:0;pointer-events:none;background:#090c16f0;border-radius:6px;padding:.3rem .55rem;font-size:.75rem;transition:opacity .12s,transform .12s;position:absolute;top:50%;right:calc(100% + .7rem);transform:translateY(-50%)translate(4px)}.rail [data-tip]:hover:after,.rail [data-tip]:focus-visible:after{opacity:1;transform:translateY(-50%)translate(0)}}.rail-play{width:calc(var(--rail-size) + .9rem);height:calc(var(--rail-size) + .9rem);color:var(--rail-ink);cursor:pointer;background:radial-gradient(circle at 38% 32%,#ffffff1a,#fff0 55%),#ffffff0d;border:none;border-radius:50%;place-items:center;margin:.15rem 0;padding:0;transition:color .12s,box-shadow .2s;display:grid;position:relative}.rail-play:hover{color:#fff}.rail-play.playing{color:var(--rail-gold);box-shadow:0 0 22px -4px var(--rail-glow)}.rail-bezel{width:100%;height:100%;position:absolute;inset:0}.rail-bezel-ring{fill:none;stroke:#ffd78c47;stroke-width:1px}.rail-tick{stroke:#d5dbe859;stroke-width:1px}.rail-tick-long{stroke:#ffd78cb3;stroke-width:1.4px}.rail-play.playing .rail-bezel{animation:60s linear infinite rail-turn}@keyframes rail-turn{to{transform:rotate(360deg)}}.rail-play-glyph{background:#090c16b3;border-radius:50%;place-items:center;width:60%;height:60%;display:grid;position:relative}.rail-play-glyph svg{width:20px;height:20px}.rail-flyout{border:1px solid var(--rail-line);-webkit-backdrop-filter:blur(16px)saturate(140%);transform-origin:100% 0;background:#090c16e6;border-radius:14px;min-width:15rem;max-width:19rem;padding:.5rem;animation:.14s ease-out rail-reveal;position:absolute;top:0;right:calc(100% + .8rem);box-shadow:0 18px 48px -16px #000000d9}.rail-flyout-up{transform-origin:100%;max-height:calc(100dvh - 2rem);top:50%;bottom:auto;overflow-y:auto;translate:0 -50%}@keyframes rail-reveal{0%{opacity:0;transform:translate(6px)scale(.98)}to{opacity:1;transform:none}}.rail-flyout-title{color:var(--rail-dim);margin:.2rem .6rem .35rem;font-size:.72rem}.rail-row{width:100%;color:var(--rail-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:9px;align-items:center;gap:.6rem;padding:.5rem .6rem;font-size:.86rem;text-decoration:none;transition:background .1s;display:flex}.rail-row:hover{background:#ffffff0f}.rail-row-icon{width:20px;color:var(--rail-dim);place-items:center;display:grid}.rail-row.lit .rail-row-icon{color:var(--rail-gold)}.rail-row-label{flex:1}.rail-row-text{flex-direction:column;flex:1;gap:.1rem;min-width:0;display:flex}.rail-row.with-hint{align-items:flex-start;padding-top:.45rem;padding-bottom:.45rem}.rail-row.with-hint .rail-lamp,.rail-row.with-hint .rail-badge{margin-top:.3rem}.rail-row-hint{color:var(--rail-dim);font-size:.72rem;line-height:1.3}.rail-badge{letter-spacing:.06em;text-transform:uppercase;color:var(--rail-gold);white-space:nowrap;border:1px solid #ffd27a59;border-radius:999px;padding:.05rem .4rem;font-size:.6rem}.rail-flyout-note{color:var(--rail-dim);margin:.4rem .6rem .2rem;font-size:.72rem}.rail-row-arrow{color:var(--rail-dim)}.rail-lamp{background:#ffffff1a;border-radius:50%;width:7px;height:7px;transition:background .12s,box-shadow .12s;box-shadow:inset 0 0 0 1px #ffffff14}.rail-row.lit .rail-lamp{background:var(--rail-gold);box-shadow:0 0 8px 1px var(--rail-glow)}.rail-row[role=radio] .rail-lamp{width:9px;height:9px}@media (max-width:768px){.rail{top:auto;left:0;right:0;bottom:calc(.75rem + env(safe-area-inset-bottom,0px));flex-direction:row;justify-content:center;gap:.5rem;padding:0 .75rem;transform:none}.rail-group{flex-direction:row}.rail-flyout{transform-origin:bottom;min-width:14rem;inset:auto auto calc(100% + .8rem) 50%;transform:translate(-50%)}@keyframes rail-reveal{0%{opacity:0;transform:translate(-50%)translateY(6px)scale(.98)}to{opacity:1;transform:translate(-50%)}}}@media (prefers-reduced-motion:reduce){.rail-play.playing .rail-bezel{animation:none}}.credit{z-index:30;background:var(--rail-glass);border:1px solid var(--rail-line);-webkit-backdrop-filter:blur(10px);color:var(--rail-dim);letter-spacing:.02em;border-radius:999px;padding:.35rem .7rem;font-size:.72rem;text-decoration:none;transition:color .12s,border-color .12s;position:absolute;bottom:.9rem;right:1.1rem}.credit strong{color:var(--rail-ink);font-weight:600}.credit:hover,.credit:focus-visible{color:var(--rail-ink);border-color:#ffd27a80;outline:none}.credit:hover strong{color:var(--rail-gold)}@media (max-width:768px){.credit{right:.75rem;bottom:calc(4.6rem + env(safe-area-inset-bottom,0px))}}
