*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{-webkit-font-smoothing:antialiased;background:#0a0910}body:has(.app.theme-day){background:#fff}body:has(.app.theme-night){background:#0a0910}button,input,select{font:inherit}.app,.app.theme-night{--bg:radial-gradient(ellipse at top, #1a1528 0%, #0a0910 55%, #050508 100%);--bg-solid:#0a0910;--text:#e8e4f0;--text-muted:#9a8fb8;--text-soft:#7a7090;--text-faint:#5a5068;--surface:#141020eb;--surface-2:#120e1cd9;--border:#3d3550;--border-soft:#2a2438;--input-bg:#16121f;--input-text:#f5f0ff;--btn-bg:linear-gradient(180deg, #3a2f55 0%, #2a2340 100%);--btn-bg-hover:linear-gradient(180deg, #4a3d6a 0%, #352c50 100%);--btn-border:#6b5a90;--btn-text:#f0e8ff;--accent:#e8c547;--accent-border:#8a7430;--heading:#f0e8ff;--table-border:#221c30;--table-hover:#503c7826;--error-bg:#4a1a28;--error-text:#ffb0c0;--error-border:#803040;--goat-bahh-bg:#2a2340;--goat-bahh-border:#6b5a90;--goat-bahh-text:#f0e8ff;--theme-btn-bg:#1a1625;--theme-btn-active-bg:#3a2f55;--shadow:0 8px 32px #00000073;--body-planet:#f0e8ff;--body-point:#a8d4ff;--body-asteroid:#b8e0a8;--body-star:#e8c547;--body-rx:#ff8a9a;--sign-label:#d4c8e8;--house-num:#6a6080;--natural-house:#8a7aa8;--center-title:#c8bfd8;--center-sub:#7a7090;--swatch-planet:#f0e8ff}.app.theme-day{--bg:#fff;--bg-solid:#fff;--text:#1a1528;--text-muted:#5a5470;--text-soft:#6a6480;--text-faint:#8a8498;--surface:#f7f5fb;--surface-2:#f0eef6;--border:#d4cce0;--border-soft:#e4dcee;--input-bg:#fff;--input-text:#1a1528;--btn-bg:linear-gradient(180deg, #f0ecf8 0%, #e4dff0 100%);--btn-bg-hover:linear-gradient(180deg, #e8e2f4 0%, #d8d0ea 100%);--btn-border:#b0a4c8;--btn-text:#2a2440;--accent:#9a7200;--accent-border:#c4a030;--heading:#1a1528;--table-border:#e8e4f0;--table-hover:#6450a014;--error-bg:#fde8ec;--error-text:#8b2040;--error-border:#e8a0b0;--goat-bahh-bg:#fff;--goat-bahh-border:#b0a4c8;--goat-bahh-text:#2a2440;--theme-btn-bg:#fff;--theme-btn-active-bg:#e8e2f4;--shadow:0 8px 28px #281e3c1f;--body-planet:#2a2440;--body-point:#2060a0;--body-asteroid:#2a7040;--body-star:#9a7200;--body-rx:#c03050;--sign-label:#3a3450;--house-num:#6a6480;--natural-house:#5a5470;--center-title:#2a2440;--center-sub:#6a6480;--swatch-planet:#2a2440}.app{background:var(--bg);min-height:100vh;color:var(--text);flex-direction:column;font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:1.05rem;font-weight:500;display:flex}.goat-stack{z-index:20;flex-direction:column;align-items:center;gap:.35rem;display:flex;position:fixed;top:.45rem;right:.55rem}.goat-corner{cursor:pointer;filter:drop-shadow(0 2px 6px #00000059);-webkit-user-select:none;user-select:none;background:0 0;border:none;flex-direction:column;align-items:center;gap:.15rem;margin:0;padding:.15rem;line-height:1;display:flex}.goat-emoji{font-size:1.85rem}.goat-bahh{color:var(--goat-bahh-text);background:var(--goat-bahh-bg);border:1px solid var(--goat-bahh-border);white-space:nowrap;border-radius:8px;padding:.2rem .45rem;font-size:.85rem;font-weight:700;animation:.2s ease-out goat-pop}@keyframes goat-pop{0%{opacity:0;transform:translateY(4px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}.goat-corner:hover .goat-emoji{transform:scale(1.08)}.goat-corner:active .goat-emoji{transform:scale(.96)}.theme-toggle{border:1px solid var(--border);background:var(--theme-btn-bg);border-radius:8px;gap:0;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000001f}.theme-btn{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:0 0;border:none;margin:0;padding:.35rem .65rem;font-size:.8rem;font-weight:700;line-height:1.2}.theme-btn:hover{color:var(--text)}.theme-btn.active{background:var(--theme-btn-active-bg);color:var(--heading)}.time-bar{background:var(--surface);border-bottom:1px solid var(--border);z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);flex-wrap:wrap;justify-content:center;align-items:center;gap:.75rem;padding:.75rem 6.5rem .75rem 1rem;display:flex;position:sticky;top:0}.step-group{flex-wrap:wrap;gap:.35rem;max-width:11rem;display:flex}.step-group-back{justify-content:flex-end}.step-btn{background:var(--btn-bg);color:var(--btn-text);border:1px solid var(--btn-border);cursor:pointer;white-space:nowrap;border-radius:6px;min-width:5rem;padding:.4rem .55rem;font-size:.85rem;font-weight:700;transition:background .15s,transform .1s}.step-btn:hover{background:var(--btn-bg-hover)}.step-btn:active{transform:scale(.97)}.time-fields{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.field{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-direction:column;gap:.2rem;font-size:.78rem;font-weight:700;display:flex}.field input,.field select{background:var(--input-bg);color:var(--input-text);border:1px solid var(--border);border-radius:6px;min-width:8rem;padding:.45rem .55rem;font-size:1.05rem;font-weight:600}.now-btn{color:var(--accent);border:1px solid var(--accent-border);cursor:pointer;background:0 0;border-radius:6px;align-self:flex-end;padding:.5rem .85rem;font-size:.95rem;font-weight:700}.now-btn:hover{opacity:.9;background:color-mix(in srgb, var(--accent) 12%, transparent)}.toolbar{border-bottom:1px solid var(--border-soft);flex-wrap:wrap;align-items:center;gap:1rem;padding:.7rem 1.25rem;font-size:1rem;font-weight:600;display:flex}.toggle{cursor:pointer;color:var(--text-muted);align-items:center;gap:.35rem;font-weight:600;display:inline-flex}.toggles{flex-wrap:wrap;gap:.85rem;display:flex}.location-fields{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.location-fields input{background:var(--input-bg);width:6.5rem;color:var(--input-text);border:1px solid var(--border);border-radius:4px;margin-left:.25rem;padding:.25rem .4rem}.hint{color:var(--text-soft);font-size:.8rem}.status{color:var(--text-soft);margin-left:auto;font-size:.9rem;font-weight:600}.error-banner{background:var(--error-bg);color:var(--error-text);border-bottom:1px solid var(--error-border);padding:.75rem 1.25rem}.main{flex:1;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:1rem;padding:1rem 1.25rem 2rem;display:grid}@media (width<=900px){.main{grid-template-columns:1fr}}@media (width<=700px){.app{font-size:.95rem}.goat-stack{gap:.2rem;top:.3rem;right:.35rem}.goat-emoji{font-size:1.35rem}.goat-bahh{padding:.12rem .35rem;font-size:.7rem}.theme-btn{padding:.25rem .4rem;font-size:.65rem}.time-bar{flex-direction:column;align-items:stretch;gap:.4rem;padding:.45rem 4.75rem .45rem .55rem}.time-fields{order:1;justify-content:flex-start;align-items:flex-end;gap:.4rem}.field{gap:.1rem;font-size:.65rem}.field input,.field select{width:auto;min-width:0;max-width:9.5rem;padding:.3rem .4rem;font-size:.9rem}.field input[type=date]{max-width:8.5rem}.field input[type=time]{max-width:6rem}.now-btn{padding:.3rem .55rem;font-size:.8rem}.step-group{order:2;grid-template-columns:repeat(4,1fr);justify-content:stretch;gap:.25rem;width:100%;max-width:none;display:grid}.step-group-back{order:2}.step-group-fwd{order:3}.step-btn{border-radius:5px;width:100%;min-width:0;padding:.28rem .15rem;font-size:.68rem}.toolbar{gap:.45rem .75rem;padding:.4rem .55rem;font-size:.85rem}.toggles{gap:.45rem .65rem}.toggle{gap:.25rem;font-size:.8rem}.location-fields{gap:.35rem;font-size:.8rem}.location-fields input{width:5.5rem;padding:.2rem .3rem}.hint{font-size:.7rem}.status{width:100%;margin-left:0;font-size:.75rem}.main{gap:.75rem;padding:.65rem .55rem 1.25rem}.color-legend{padding:.65rem .75rem .75rem;font-size:.85rem}.color-legend h3{font-size:.95rem}.footer{padding:.5rem .75rem 1rem;font-size:.75rem}}@media (width<=380px){.time-bar{padding-right:4.25rem}.field input,.field select{max-width:7.5rem;font-size:.82rem}.step-btn{padding:.25rem .1rem;font-size:.62rem}}.wheel-panel{flex-direction:column;justify-content:flex-start;align-items:center;gap:.75rem;display:flex}.color-legend{background:var(--surface-2);border:1px solid var(--border-soft);width:min(100%,640px);color:var(--text-muted);border-radius:10px;padding:.85rem 1.05rem 1rem;font-size:.95rem;font-weight:500}.color-legend h3{color:var(--heading);letter-spacing:.02em;margin:0 0 .5rem;font-size:1.05rem;font-weight:700}.legend-block{margin-bottom:.65rem}.legend-block:last-child{margin-bottom:0}.legend-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-soft);margin:0 0 .3rem;font-size:.8rem;font-weight:700}.color-legend ul{margin:0;padding:0;list-style:none}.color-legend li{align-items:flex-start;gap:.45rem;margin:.2rem 0;line-height:1.35;display:flex}.legend-note{color:var(--text-faint);margin:.35rem 0 0;font-size:.75rem}.swatch{border:1px solid #80808059;border-radius:50%;flex-shrink:0;width:.85rem;height:.85rem;margin-top:.15rem;display:inline-block}.swatch.fire{background:#c45c4a}.swatch.earth{background:#6b9b5a}.swatch.air{background:#d4a84b}.swatch.water{background:#5a8fbf}.swatch.planet{background:var(--swatch-planet)}.swatch.point{background:#5a9fd4}.swatch.asteroid{background:#6b9b5a}.swatch.star{background:#d4a84b}.swatch.rx{background:#ff8a9a}.wheel-chart{width:min(100%,640px);height:auto;filter:drop-shadow(var(--shadow))}.sign-label{fill:var(--sign-label);pointer-events:none;font-size:22px;font-weight:700}.house-num{fill:var(--house-num);font-size:13px;font-weight:700}.natural-house{fill:var(--natural-house);font-size:14px;font-weight:700}.center-title{fill:var(--center-title);letter-spacing:.04em;text-transform:uppercase;font-size:16px;font-weight:700}.center-sub{fill:var(--center-sub);font-size:12px;font-weight:600}.body-glyph,.body-planet{color:var(--body-planet)}.body-point{color:var(--body-point)}.body-asteroid{color:var(--body-asteroid)}.body-star,.body-angle{color:var(--body-star)}.body-glyph.rx{color:var(--body-rx)}.glyph-text{fill:currentColor;pointer-events:none;font-family:Segoe UI Symbol,Apple Symbols,sans-serif;font-weight:700}.loading{color:var(--text-muted);padding:4rem}.table-panel{min-width:0}.position-table-wrap h2{color:var(--heading);letter-spacing:.02em;margin:0 0 .35rem;font-size:1.3rem;font-weight:700}.meta{color:var(--text-soft);margin:0 0 .75rem;font-size:.9rem;font-weight:600;line-height:1.45}.position-table{border-collapse:collapse;width:100%;font-size:1rem;font-weight:600}.position-table th{text-align:left;border-bottom:1px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;padding:.45rem .55rem;font-size:.8rem;font-weight:700}.position-table td{border-bottom:1px solid var(--table-border);padding:.4rem .55rem}.position-table tr:hover td{background:var(--table-hover)}.glyph{width:1.75rem;color:var(--text-muted);font-size:1.2rem;font-weight:700}.pos{font-variant-numeric:tabular-nums;font-family:ui-monospace,SF Mono,Menlo,monospace}.speed{font-variant-numeric:tabular-nums;color:var(--text-soft);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.8rem}.sign-glyph{opacity:.85}.rx-badge{color:var(--body-rx);font-weight:700}.row-star td{color:var(--body-star)}.row-asteroid .glyph{color:var(--body-asteroid)}.row-angle{background:color-mix(in srgb, var(--accent) 8%, transparent)}.legal-page{flex:1;justify-content:center;align-items:flex-start;padding:clamp(1.5rem,5vw,3rem) 1.25rem;display:flex}.legal-card{background:var(--surface);border:1px solid var(--border-soft);width:min(100%,720px);box-shadow:var(--shadow);color:var(--text-muted);border-radius:10px;padding:clamp(1.25rem,4vw,2.25rem);line-height:1.6}.legal-card h1{color:var(--heading);margin:.75rem 0 1.5rem;font-size:clamp(1.5rem,4vw,2rem);line-height:1.2}.legal-card h2{color:var(--heading);margin:1.6rem 0 .45rem;font-size:1.05rem}.legal-card p{margin:.75rem 0}.legal-card a{color:var(--accent);-webkit-text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--accent) 45%, transparent);text-underline-offset:.15em}.legal-card a:hover{text-decoration-color:currentColor}.legal-card code{color:var(--text);font-size:.95em}.legal-back{font-size:.85rem;font-weight:700;text-decoration:none;color:var(--text-soft)!important}.footer{color:var(--text-faint);text-align:center;padding:.75rem 1.25rem 1.25rem;font-size:.78rem;font-weight:600;line-height:1.5}.footer-legal{color:var(--text-faint)}.footer a{color:var(--text-soft);-webkit-text-decoration-color:color-mix(in srgb, var(--text-soft) 45%, transparent);text-decoration-color:color-mix(in srgb, var(--text-soft) 45%, transparent);text-underline-offset:.15em}.footer a:hover{color:var(--text);text-decoration-color:currentColor}
