:root{color-scheme:dark;--bg-1: #05080f;--bg-2: #0a1020;--panel: rgba(22, 31, 61, .62);--panel-solid: #161f3d;--panel-2: #192140;--line: rgba(201, 210, 227, .16);--line-strong: rgba(201, 210, 227, .28);--ink: #e9edf7;--ink-soft: #aeb8d2;--ink-faint: #7f8aa8;--heading: #f3f5fb;--gold: #e6d3a3;--gold-strong: #f0e2bb;--gold-ink: #1b2033;--silver: #c9d2e3;--aurora: #6fd3c7;--accent-2: #8b7cf6;--good: #6fd3a0;--mid: var(--gold);--low: #e0637a;--low-ink: #1b2033;--el-fire: #ef8a5f;--el-earth: #a6c37a;--el-air: #f2d98a;--el-water: #6eb8e6;--el-alpha: .13;--asp-conj: var(--gold);--asp-soft: var(--aurora);--asp-hard: var(--low);--asp-quincunx: var(--accent-2);--asp-minor: var(--ink-faint);--gold-tint-faint: rgba(230, 211, 163, .06);--gold-tint: rgba(230, 211, 163, .12);--gold-tint-strong: rgba(230, 211, 163, .24);--gold-line: rgba(230, 211, 163, .4);--accent-2-tint: rgba(139, 124, 246, .16);--good-tint: rgba(111, 211, 160, .1);--good-line: rgba(111, 211, 160, .35);--low-tint: rgba(224, 99, 122, .12);--low-line: rgba(224, 99, 122, .4);--accent: var(--gold);--aurora-2: var(--accent-2);--indigo: var(--accent-2);--indigo-deep: var(--accent-2);--violet: var(--accent-2);--nav-bg: rgba(9, 14, 32, .9);--field-bg: rgba(4, 8, 20, .55);--field-line: rgba(201, 210, 227, .42);--overlay: rgba(255, 255, 255, .05);--overlay-strong: rgba(255, 255, 255, .09);--moon-light: var(--gold-strong);--moon-shadow: var(--overlay-strong);--chart-bg: rgba(4, 8, 20, .4);--chart-line: rgba(201, 210, 227, .5);--chart-shadow: rgba(0, 0, 0, .45);--well: rgba(4, 8, 20, .35);--scrim: rgba(4, 7, 18, .6);--scrim-soft: rgba(4, 7, 18, .28);--shadow-pop: 0 16px 40px rgba(0, 0, 0, .5);--shadow-sheet: 0 -8px 30px rgba(0, 0, 0, .45);--shadow-thumb: 0 2px 8px rgba(0, 0, 0, .4);--chord-boost: 1;--star-display: block;--halo-opacity: .55;--halo-bg: conic-gradient(from 210deg, rgba(111, 211, 199, .5), rgba(139, 124, 246, .45), rgba(230, 211, 163, .35), rgba(111, 211, 199, .5));--body-bg: radial-gradient(ellipse at 50% -10%, rgba(111, 211, 199, .12), transparent 50%), radial-gradient(ellipse at 85% 15%, rgba(139, 124, 246, .14), transparent 45%), radial-gradient(ellipse at 10% 40%, rgba(230, 211, 163, .06), transparent 50%), linear-gradient(180deg, var(--bg-1), var(--bg-2));--font-display: "Fraunces", "Fraunces Fallback", Georgia, "Times New Roman", serif;--font-body: "Inter", "Inter Fallback", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--fs-10: .625rem;--fs-11: .6875rem;--fs-12: .75rem;--fs-13: .8125rem;--fs-14: .875rem;--fs-15: .9375rem;--fs-16: 1rem;--fs-18: 1.125rem;--fs-20: 1.25rem;--fs-22: 1.375rem;--fs-24: 1.5rem;--fs-28: 1.75rem;--fs-34: 2.125rem;--fs-44: 2.75rem;--fs-56: 3.5rem;--fs-hero: var(--fs-56);--fs-page: var(--fs-44);--fs-section: var(--fs-34);--fs-card: var(--fs-28);--fs-body: var(--fs-16);--fs-body-sm: var(--fs-15);--fs-caption: var(--fs-13);--fs-eyebrow: var(--fs-12);--lh-none: 1;--lh-tight: 1.15;--lh-snug: 1.3;--lh-normal: 1.5;--lh-relaxed: 1.65;--lh-loose: 1.8;--r-sm: 10px;--r-md: 16px;--r-lg: 24px;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-12: 48px;--s-16: 64px;--s-20: 80px;--s-24: 96px;--content-w: 1120px;--rail-w: 380px;--nav-h: 56px;--ease-out: cubic-bezier(.2, .8, .2, 1);--shadow-panel: 0 1px 2px rgba(0, 0, 0, .55), 0 12px 32px -14px rgba(0, 0, 0, .75)}:root[data-theme=light]{color-scheme:light;--bg-1: #f1efe9;--bg-2: #e9e6dd;--panel: rgba(255, 253, 247, .86);--panel-solid: #fffdf7;--panel-2: #f6f3ec;--line: rgba(27, 32, 51, .17);--line-strong: rgba(27, 32, 51, .28);--ink: #1b2033;--ink-soft: #4a5170;--ink-faint: #5a6074;--heading: #141828;--gold: #765d24;--gold-strong: #6b541f;--gold-ink: #ffffff;--silver: #595f79;--aurora: #176c63;--accent-2: #6246a8;--el-fire: #b9461f;--el-earth: #4f7a2a;--el-air: #8a6d2a;--el-water: #1f6ea0;--el-alpha: .1;--asp-conj: #4a3b17;--asp-hard: #872539;--asp-soft: #145d55;--asp-quincunx: var(--accent-2);--asp-minor: var(--ink-faint);--good: #246d42;--low: #b0304a;--low-ink: #ffffff;--gold-tint-faint: rgba(118, 93, 36, .06);--gold-tint: rgba(118, 93, 36, .12);--gold-tint-strong: rgba(118, 93, 36, .22);--gold-line: rgba(118, 93, 36, .45);--accent-2-tint: rgba(98, 70, 168, .12);--good-tint: rgba(36, 109, 66, .1);--good-line: rgba(36, 109, 66, .35);--low-tint: rgba(176, 48, 74, .1);--low-line: rgba(176, 48, 74, .4);--nav-bg: rgba(251, 249, 243, .88);--field-bg: rgba(27, 32, 51, .05);--field-line: rgba(27, 32, 51, .5);--overlay: rgba(27, 32, 51, .05);--overlay-strong: rgba(27, 32, 51, .1);--moon-light: #fbf1d6;--moon-shadow: #3d4258;--chart-bg: rgba(255, 253, 247, .82);--chart-line: rgba(27, 32, 51, .5);--chart-shadow: rgba(27, 32, 51, .1);--well: rgba(27, 32, 51, .04);--shadow-pop: 0 16px 40px rgba(27, 32, 51, .18);--shadow-sheet: 0 -8px 30px rgba(27, 32, 51, .14);--shadow-thumb: 0 2px 8px rgba(27, 32, 51, .2);--chord-boost: 1.22;--star-display: block;--halo-opacity: .4;--body-bg: radial-gradient(ellipse at 50% -10%, rgba(255, 252, 244, .85), transparent 55%), radial-gradient(ellipse at 10% 40%, rgba(240, 226, 192, .3), transparent 50%), linear-gradient(180deg, var(--bg-1), var(--bg-2));--shadow-panel: 0 1px 2px rgba(27, 32, 51, .1), 0 12px 28px -16px rgba(27, 32, 51, .3)}.wheel{width:min(100%,640px);aspect-ratio:1;margin:0 auto;position:relative}.wheel-svg{width:100%;height:100%;display:block;overflow:visible;font-family:var(--font-body)}.wheel-svg:focus:not(:focus-visible){outline:none}.wheel-svg text{fill:var(--ink);font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none}.wheel-bg{fill:var(--panel)}.zwedge{fill:transparent;stroke:none}.zwedge.tinted{fill:var(--el);fill-opacity:var(--el-alpha)}.zsign.el-fire{--el: var(--el-fire);color:var(--el-fire)}.zsign.el-earth{--el: var(--el-earth);color:var(--el-earth)}.zsign.el-air{--el: var(--el-air);color:var(--el-air)}.zsign.el-water{--el: var(--el-water);color:var(--el-water)}.zbound{stroke:var(--line-strong);stroke-width:.8}.zglyph{color:var(--ink);opacity:.9}.zring-outer{fill:none;stroke:var(--gold);stroke-width:1.4;opacity:.85}.zring-inner{fill:none;stroke:var(--line-strong);stroke-width:.8}.tick{stroke:var(--silver);fill:none}.tick-1{stroke-width:.6;opacity:.35}.tick-5{stroke-width:.9;opacity:.55}.tick-10{stroke-width:1.2;opacity:.8}.hwedge{fill:transparent}.cusp{stroke:var(--silver);stroke-width:1;opacity:.55}.cusp.axis{stroke:var(--gold);stroke-width:2.5;opacity:1}.cusp.axis.floating{stroke-dasharray:6 5;stroke-width:1.6}.hring{fill:none;stroke:var(--line);stroke-width:.8}.hnum{font-size:15px;fill:var(--ink-soft);font-weight:500}.hdot{fill:var(--ink-faint)}.axis-label{font-size:15px;fill:var(--gold);font-weight:600;letter-spacing:.06em}.aspect-disc{fill:var(--chart-bg);stroke:var(--line);stroke-width:.8}.chord{fill:none;stroke-linecap:round;pointer-events:none;opacity:calc(var(--chord-o, 1) * var(--chord-boost, 1));transition:opacity .2s}.chord.dashed{stroke-dasharray:.02 .012}.aspect-hit{fill:transparent}.wheel-svg[data-aspect-hover] .aspect-hit{cursor:pointer}.aspect-hit,.wheel-svg[data-rotatable]{touch-action:none}.chord.is-hovered{opacity:1!important;stroke-width:3.4!important}.aspect-strip{position:absolute;left:6px;right:6px;bottom:6px;z-index:2;display:flex;justify-content:center;pointer-events:none}.aspect-strip-btn{pointer-events:auto;display:inline-flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px 8px;max-width:100%;min-height:44px;padding:6px 12px 6px 10px;border-radius:22px;border:1px solid var(--line-strong);background:var(--panel-solid);color:var(--ink);box-shadow:var(--shadow-panel);font:inherit;font-size:var(--fs-14);white-space:nowrap;cursor:pointer;animation:strip-in .16s ease}.aspect-strip-btn:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}.aspect-strip-who{display:inline-flex;align-items:center;gap:3px;flex:none}.aspect-strip-angle{font-size:var(--fs-12);font-weight:700;color:var(--gold);letter-spacing:.04em}.aspect-strip-what{color:var(--ink-soft);min-width:0;overflow:hidden;text-overflow:ellipsis}.aspect-strip-what strong{color:var(--ink);font-weight:600}.aspect-strip-note{color:var(--ink-faint)}.aspect-strip-more{display:inline-flex;align-items:center;gap:5px;color:var(--gold);font-weight:600;flex:none}.wheel--compact .aspect-strip-note{display:none}.wheel-caption{width:min(100%,640px);margin:10px auto 0;padding:0 16px;text-align:center;color:var(--ink-soft);font-size:var(--fs-13);line-height:var(--lh-normal)}@keyframes strip-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.body{cursor:pointer;outline:none;transition:opacity .2s}.body-hit{fill:transparent}.body-glyph{color:var(--ink)}.body.luminary .body-glyph{color:var(--gold)}.body-glow{fill:var(--gold);opacity:.35}.body-rx{font-size:12px;fill:var(--ink-soft);font-weight:600}.body-deg{font-size:15px;fill:var(--ink-soft)}.leader-tick{stroke:var(--ink);stroke-width:1.6;opacity:.9}.body.luminary .leader-tick{stroke:var(--gold)}.leader{stroke:var(--ink-faint);stroke-width:.8;opacity:.7}.ring-1 .body-glyph{color:var(--aurora)}.ring-1 .leader-tick{stroke:var(--aurora)}.ring-2 .body-glyph{color:var(--aurora-2)}.ring-2 .leader-tick{stroke:var(--aurora-2)}.body:focus-visible .body-hit{stroke:var(--gold-strong);stroke-width:2}.body.is-selected .body-hit{fill:var(--overlay-strong);stroke:var(--gold);stroke-width:1.5}.wheel-svg[data-focus] .body:not(.is-focus){opacity:.35}.wheel-svg[data-focus] .chord:not(.is-focus){opacity:.08!important}.wheel-svg[data-focus] .chord.is-focus{opacity:1!important;stroke-width:2.6}.wheel-svg[data-focus] .house.is-focus .hwedge{fill:var(--gold);fill-opacity:.12}.wheel-svg[data-focus] .house.is-focus .hnum{fill:var(--gold)}.wheel-svg[data-highlight]:not([data-focus]) .body:not(.is-hi){opacity:.3}.wheel-svg[data-highlight]:not([data-focus]) .chord:not(.is-hi){opacity:.06!important}.wheel-svg[data-highlight]:not([data-focus]) .chord.is-hi{opacity:1!important;stroke-width:2.6}.wheel-svg[data-located] .body.is-focus .body-hit{fill:var(--overlay-strong);stroke:var(--gold);stroke-width:2.4;animation:body-located 1.1s ease-out 2}@keyframes body-located{0%{stroke-opacity:1;stroke-width:2.4}60%{stroke-opacity:.35;stroke-width:5.5}to{stroke-opacity:1;stroke-width:2.4}}.wheel--compact .wheel-svg[data-located] .body.is-focus .body-deg{display:block}.wheel-svg.is-casting .body,.wheel-svg.is-casting .wheel-text-layer{opacity:0}.wheel-svg.is-casting .chord{stroke-dasharray:1;stroke-dashoffset:1}.wheel-svg .wheel-zodiac,.wheel-svg .aspect-disc,.wheel-svg .wheel-houses,.wheel-svg .wheel-ticks{transform-origin:500px 500px;transform-box:view-box}.wheel--compact .body-deg{display:none}.wheel--compact .axis-label{font-size:13px}.wheel--full{width:min(100vw,calc(100dvh - var(--nav-h) - 96px))}.wheel--mini{width:160px;pointer-events:none}.wheel--mini .body-deg,.wheel--mini .hnum,.wheel--mini .axis-label,.wheel--mini .wheel-ticks,.wheel--mini .leader,.wheel--mini .body-rx{display:none}.wheel-skeleton{width:min(100%,640px);aspect-ratio:1;margin:0 auto}.wheel-skeleton circle.ring{fill:none;stroke:var(--line-strong);stroke-width:1}.wheel-skeleton circle.dot{fill:var(--ink-faint);animation:skeleton-pulse 1.4s ease-in-out infinite}@keyframes skeleton-pulse{0%,to{opacity:.25}50%{opacity:.8}}.info-card{padding:18px 18px 16px}.info-head{display:flex;gap:12px;align-items:center;margin-bottom:10px}.info-glyph{color:var(--gold);flex:none}.info-title{font-size:var(--fs-22);margin:0}.info-pos{margin:2px 0 0;color:var(--ink-soft);font-size:var(--fs-15)}.info-line{margin:4px 0}.info-text{color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-normal);margin:10px 0 0}.info-hint{color:var(--ink-faint);font-size:var(--fs-13);margin:12px 0 0}.info-placement{margin:0 0 12px}.info-facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:0 0 10px;font-size:var(--fs-14)}.info-facts dt{color:var(--ink-faint)}.info-facts dd{margin:0}.info-aspects{list-style:none;padding:0;margin:0;display:grid;gap:4px}.info-asp{width:100%;min-height:44px;display:grid;grid-template-columns:20px 1fr auto auto;gap:8px;align-items:center;background:none;border:0;border-radius:var(--r-sm);padding:6px 8px;color:var(--ink);font:inherit;font-size:var(--fs-14);text-align:left;cursor:pointer}.info-asp:hover{background:var(--overlay)}.info-orb{color:var(--ink-soft);font-size:var(--fs-13)}.asp-glyph{flex:none}.asp-conjunction,.asp-parallel{color:var(--asp-conj)}.asp-trine,.asp-sextile{color:var(--asp-soft)}.asp-square,.asp-opposition,.asp-contraparallel{color:var(--asp-hard)}.asp-quincunx{color:var(--asp-quincunx)}.asp-semisextile,.asp-semisquare,.asp-sesquiquadrate,.asp-quintile,.asp-biquintile{color:var(--asp-minor)}.info-guide{display:inline-block;margin-top:12px;font-size:var(--fs-14);color:var(--aurora)}@media (prefers-reduced-motion: reduce){.aspect-strip-btn,.wheel-svg[data-located] .body.is-focus .body-hit{animation:none}.wheel-svg.is-casting .body,.wheel-svg.is-casting .wheel-text-layer{opacity:1}.wheel-svg.is-casting .chord{stroke-dashoffset:0}.wheel-skeleton circle.dot{animation:none;opacity:.5}}@font-face{font-family:Fraunces;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/fraunces-v38-latin-headings.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces;font-style:normal;font-weight:500 700;font-display:swap;src:url(/fonts/fraunces-v38-latin-ext-headings.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-v20-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/inter-v20-latin-ext.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Fallback;src:local("Arial");size-adjust:107%;ascent-override:90%;descent-override:22%;line-gap-override:0%}@font-face{font-family:Fraunces Fallback;src:local("Georgia");size-adjust:88%;ascent-override:111%;descent-override:29%;line-gap-override:0%}*{box-sizing:border-box}html,body{height:100%}@supports (font: -apple-system-body){html{font:-apple-system-body;font-family:var(--font-body)}}html{background:var(--bg-1);-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%;overscroll-behavior-y:none}body{margin:0;font-family:var(--font-body);color:var(--ink);background:var(--body-bg);background-attachment:fixed}:where(a,button,summary,[role=button],input,select,textarea):focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}:where(button,[role=button],a.btn,.tray-btn,.mode-tab,.chip,summary):active{opacity:.72}.skip-link{position:fixed;left:12px;top:-56px;z-index:200;padding:10px 16px;border-radius:0 0 10px 10px;background:var(--panel-solid);color:var(--ink);border:1px solid var(--line-strong);text-decoration:none;font-weight:600;transition:top .15s ease}.skip-link{min-height:44px;display:inline-flex;align-items:center}.skip-link:focus{top:0}#main-content:focus{outline:none}[role=dialog]:focus{outline:none}.app{max-width:var(--content-w);margin:0 auto;padding:calc(env(safe-area-inset-top) + 36px) 20px 56px}.birth-form,.report{position:relative;background:var(--panel);-webkit-backdrop-filter:blur(16px) saturate(1.2);backdrop-filter:blur(16px) saturate(1.2);border:1px solid var(--line);border-radius:16px;padding:24px 28px;box-shadow:var(--shadow-pop);margin-bottom:24px}.birth-form:before,.report:before{content:"";position:absolute;top:0;left:18px;right:18px;height:1px;background:linear-gradient(90deg,transparent,var(--gold-line),transparent)}.report h3{font-family:var(--font-display);font-weight:700}.field-row{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:14px}.birth-form label{display:flex;flex-direction:column;font-size:var(--fs-13);font-weight:600;letter-spacing:.02em;color:var(--ink-soft);gap:6px;flex:1;min-width:140px}.birth-form input,.birth-form select{padding:10px 12px;border:1px solid var(--field-line);border-radius:8px;font-size:var(--fs-16);font-family:inherit;color:var(--ink);background:var(--field-bg);transition:border-color .15s ease,box-shadow .15s ease}.birth-form input:focus,.birth-form select:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-line)}.search-select{position:relative}.search-select input{width:100%}.search-select-menu{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:20;margin:0;padding:6px;list-style:none;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:10px;box-shadow:var(--shadow-pop);max-height:220px;overflow-y:auto}.search-select-menu li{padding:8px 10px;border-radius:6px;font-size:var(--fs-14);font-weight:500;color:var(--ink);cursor:pointer}.search-select-menu li:hover,.search-select-menu li.active{background:var(--panel-2);color:var(--gold)}.search-select-menu li.search-select-hint{color:var(--ink-soft);font-weight:400;cursor:default}.search-select-menu li.search-select-hint:hover{background:none;color:var(--ink-soft)}.birth-form button[type=submit]{background:linear-gradient(135deg,var(--gold-strong),var(--accent));color:var(--gold-ink);border:none;min-height:44px;padding:12px 24px;border-radius:10px;cursor:pointer;font-size:var(--fs-15);font-weight:700;letter-spacing:.01em;margin-top:4px;box-shadow:0 6px 20px var(--gold-tint-strong);transition:transform .1s ease,box-shadow .15s ease}.birth-form button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 8px 26px var(--gold-line)}.birth-form button[type=submit]:active{transform:translateY(0)}.period-tabs{display:flex;overflow-x:auto;scrollbar-width:none;gap:8px;margin-bottom:20px;background:var(--overlay);border:1px solid var(--line);border-radius:12px;padding:6px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.tab{flex:1 0 auto;min-height:44px;white-space:nowrap;padding:10px;border:none;background:transparent;border-radius:8px;cursor:pointer;font-size:var(--fs-15);font-weight:600;font-family:inherit;color:var(--ink-soft);transition:background .15s ease,color .15s ease}.tab:hover{color:var(--ink)}.tab.active{background:var(--gold);color:var(--gold-ink)}.status{text-align:center;color:var(--ink-soft);padding:24px}.status.error{color:var(--low)}.range{color:var(--gold);margin:0 0 10px;font-size:var(--fs-14);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.summary{font-style:italic;color:var(--ink-soft);line-height:var(--lh-relaxed);margin:0}.term{position:relative;border-bottom:1px dotted var(--gold);cursor:help;font-style:inherit;outline:none}.term:focus-visible{border-radius:3px;box-shadow:0 0 0 2px var(--gold-line)}.term-tip{position:fixed;left:0;top:0;z-index:60;width:max-content;max-width:260px;padding:10px 12px;background:var(--panel-solid);color:var(--ink);border:1px solid var(--line-strong);font-family:Inter,sans-serif;font-size:var(--fs-13);font-style:normal;font-weight:400;line-height:var(--lh-normal);letter-spacing:0;text-align:left;text-transform:none;border-radius:10px;box-shadow:var(--shadow-pop);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease}.term-tip:after{content:"";position:absolute;top:100%;left:var(--arrow-left, 50%);transform:translate(-50%);border:6px solid transparent;border-top-color:var(--panel-solid)}.term-tip.tip-below:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:var(--panel-solid)}.update-toast{position:fixed;left:50%;bottom:calc(84px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 24px);padding:10px 12px 10px 16px;border-radius:12px;background:var(--panel-solid);border:1px solid var(--line-strong);box-shadow:var(--shadow-panel);animation:update-toast-in .25s ease}@keyframes update-toast-in{0%{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%)}}.update-msg{font-size:var(--fs-14);color:var(--ink)}.update-actions{display:flex;gap:4px;flex-shrink:0}.update-reload{min-height:44px;padding:6px 15px;border-radius:999px;border:none;background:var(--gold);color:var(--gold-ink);font:inherit;font-size:var(--fs-13);font-weight:600;cursor:pointer}.update-reload:hover:not(:disabled){filter:brightness(1.1)}.update-reload:disabled,.update-later:disabled{opacity:.7;cursor:default}.update-later{min-height:44px;padding:6px 10px;border-radius:999px;border:none;background:transparent;color:var(--ink-soft);font:inherit;font-size:var(--fs-13);cursor:pointer}@media (prefers-reduced-motion: reduce){.update-toast{animation:none}}.bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;justify-content:center;padding-bottom:env(safe-area-inset-bottom);background:var(--nav-bg);border-top:1px solid var(--line-strong);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:var(--shadow-sheet)}.bottom-tab{position:relative;text-decoration:none;flex:1 1 0;min-width:0;max-width:130px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-height:52px;height:56px;background:none;border:none;cursor:pointer;color:var(--ink-soft);font:inherit;font-size:min(var(--fs-11),13px);font-weight:600;letter-spacing:.01em;padding:6px 2px;transition:color .15s ease}.bottom-tab-ico{display:flex;align-items:center;justify-content:center;line-height:var(--lh-none);transition:transform .15s ease}.bottom-tab-ico svg{width:25px;height:25px}.bottom-tab{height:auto}.bottom-tab-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (hover: hover){.bottom-tab:hover{color:var(--ink)}}.bottom-tab.active{color:var(--gold-strong)}.bottom-tab.active .bottom-tab-ico{transform:translateY(-1px)}.bottom-tab:active .bottom-tab-ico{transform:scale(.9)}.bottom-tab.active:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:26px;height:3px;border-radius:0 0 3px 3px;background:var(--gold-strong)}.app{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--scrim);display:flex;align-items:flex-end;justify-content:center;animation:sheet-fade .18s ease}@keyframes sheet-fade{0%{opacity:0}to{opacity:1}}.sheet{width:100%;max-width:560px;max-height:88dvh;display:flex;flex-direction:column;background:var(--panel-solid, var(--panel-2));border-radius:20px 20px 0 0;border:1px solid var(--line-strong);border-bottom:none;box-shadow:var(--shadow-sheet);padding-bottom:env(safe-area-inset-bottom);transition:transform .26s cubic-bezier(.32,.72,0,1);animation:sheet-rise .28s cubic-bezier(.32,.72,0,1)}@keyframes sheet-rise{0%{transform:translateY(100%)}to{transform:translateY(0)}}.sheet-grab-zone{padding:8px 16px 4px;cursor:grab;touch-action:none}.sheet-grabber{display:block;width:40px;height:5px;margin:2px auto 6px;border-radius:3px;background:var(--ink-soft);opacity:.5}.sheet-titlebar{display:flex;align-items:center;justify-content:space-between}.sheet-titlebar--bare{justify-content:flex-end;min-height:36px;margin-top:-4px}.sheet-title{margin:0;font-size:var(--fs-18);color:var(--ink)}.sheet-close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-8px -8px -8px 0;border:none;background:none;color:var(--ink-soft);cursor:pointer;border-radius:50%}@media (hover: hover){.sheet-close:hover{color:var(--ink);background:var(--line)}}.sheet-body{overflow-y:auto;padding:4px 12px 16px;-webkit-overflow-scrolling:touch}.more-list{list-style:none;margin:0;padding:0}.more-item{display:flex;align-items:center;gap:14px;width:100%;min-height:56px;padding:12px;background:none;border:none;border-radius:12px;color:var(--ink);font:inherit;font-size:var(--fs-16);cursor:pointer;text-align:left}.more-item+.more-item{border-top:1px solid var(--line);border-radius:0}@media (hover: hover){.more-item:hover{background:var(--line);border-radius:12px}}.more-item:active{background:var(--line-strong)}.more-item.active{color:var(--gold-strong)}.more-item-ico{display:flex;color:var(--gold)}.more-item.active .more-item-ico{color:var(--gold-strong)}.more-item-label{flex:1}.more-item-chev{color:var(--ink-soft);flex-shrink:0}.settings-mini,.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:999px;border:1px solid var(--line-strong);background:var(--gold-tint);color:var(--ink);font-size:var(--fs-16);line-height:var(--lh-none);cursor:pointer;padding:0}.settings-mini svg,.theme-toggle svg{flex:none}.settings-mini:hover,.theme-toggle:hover{background:var(--gold-tint-strong)}.install-btn{display:inline-flex;align-items:center;min-height:44px;gap:5px;padding:6px 13px;border-radius:999px;border:1px solid var(--gold-line);background:var(--gold-tint);color:var(--gold-strong);font:inherit;font-size:var(--fs-13);font-weight:600;cursor:pointer;transition:background .2s}.install-btn:hover{background:var(--gold-tint-strong)}.auth-controls{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px;max-width:1100px;margin:0 auto 6px;padding:0 6px;font-size:var(--fs-14)}.auth-guest{color:var(--ink-faint);font-size:var(--fs-caption)}.auth-user{color:var(--ink)}.auth-dot{color:var(--good);font-size:var(--fs-10);vertical-align:middle}.auth-btn{min-height:44px;border:1px solid var(--line-strong);background:var(--gold-tint);color:var(--ink);font:inherit;font-size:var(--fs-13);font-weight:600;padding:6px 14px;border-radius:999px;cursor:pointer;transition:background .2s}.auth-btn:hover{background:var(--gold-tint-strong)}@media (max-width: 640px){.auth-btn-rest{display:none}}@media (max-width: 760px){.topbar-tools .auth-guest{display:none}}.auth-link{display:inline-flex;align-items:center;min-height:44px;border:none;background:none;color:var(--violet);font:inherit;cursor:pointer;padding:11px 0;margin:-11px 0;text-decoration:underline}.auth-link:hover{color:var(--ink)}.auth-modal{width:min(440px,100%)}.auth-intro{margin:4px 0 16px;color:var(--ink-soft);font-size:var(--fs-14);line-height:var(--lh-normal)}.auth-form{display:flex;flex-direction:column;gap:12px}.auth-form label{display:flex;flex-direction:column;gap:5px;font-size:var(--fs-13);color:var(--ink-soft)}.auth-form input{background:var(--field-bg);border:1px solid var(--field-line);border-radius:9px;color:var(--ink);font:inherit;font-size:var(--fs-16);padding:10px 12px}.auth-form input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-line)}.pw-field{position:relative;display:flex}.pw-field input{flex:1;padding-right:58px}.pw-toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-width:44px;min-height:44px;background:none;border:none;padding:4px 8px;color:var(--gold);font:inherit;font-size:var(--fs-12);font-weight:600;cursor:pointer}.pw-toggle:hover{color:var(--gold-strong)}.verify-error{color:var(--low);font-size:var(--fs-13)}.app-flash{display:flex;align-items:center;justify-content:center;gap:12px;max-width:920px;margin:0 auto 14px;padding:10px 16px;background:var(--good-tint);border:1px solid var(--good-line);border-radius:12px;color:var(--ink);font-size:var(--fs-14)}.app-flash button{min-width:44px;min-height:44px;margin:-12px 0;padding:0;background:none;border:none;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-none);cursor:pointer}.app-flash button:hover{color:var(--ink)}.auth-error{margin:0;color:var(--low);font-size:var(--fs-13)}.auth-notice{margin:0 0 14px;padding:9px 12px;border-radius:9px;background:var(--good-tint);border:1px solid var(--good-line);color:var(--ink);font-size:var(--fs-13);line-height:var(--lh-normal)}.auth-forgot{margin:10px 0 0;text-align:center;font-size:var(--fs-13)}.auth-submit{margin-top:4px;border:none;background:var(--gold);color:var(--gold-ink);font:inherit;font-weight:600;padding:11px 16px;border-radius:10px;cursor:pointer;transition:filter .2s}.auth-submit:hover:not(:disabled){filter:brightness(1.15)}.auth-submit:disabled{opacity:.65;cursor:default}.auth-switch{margin:16px 0 0;font-size:var(--fs-14);color:var(--ink-soft);text-align:center}.verify-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 10px;max-width:1100px;margin:0 auto 6px;padding:9px 16px;background:var(--gold-tint);border:1px solid var(--gold-line);border-radius:12px;color:var(--ink-soft);font-size:var(--fs-14)}.verify-banner strong{color:var(--ink);font-weight:600}.verify-banner button{border:none;background:linear-gradient(135deg,var(--accent),var(--gold));color:var(--gold-ink);font:inherit;font-size:var(--fs-13);font-weight:700;padding:5px 13px;border-radius:999px;cursor:pointer;transition:filter .2s}.verify-banner button:hover{filter:brightness(1.08)}.ai-reading{border-color:var(--gold-line);background:radial-gradient(circle at 100% 0%,var(--gold-tint-faint),transparent 60%),var(--panel)}.ai-badge{font-size:var(--fs-10);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-ink);background:linear-gradient(135deg,var(--gold-strong),var(--accent));padding:2px 8px;border-radius:999px;vertical-align:middle;margin-left:8px}.ai-gate{margin:8px 0 0;padding:14px 16px;border:1px dashed var(--gold-line);border-radius:12px;background:var(--gold-tint-faint);color:var(--ink);font-size:var(--fs-14);text-align:center}.ai-gate strong{color:var(--gold-strong)}.ai-upgrade{display:flex;flex-direction:column;align-items:center;gap:12px}.ai-upgrade p{margin:0}.ai-quota{margin:8px 0 0;font-size:var(--fs-13);color:var(--ink-soft)}.ai-free-banner{margin:0 0 12px;padding:10px 14px;border:1px solid var(--line-strong);border-left:3px solid var(--gold);border-radius:10px;background:var(--panel-2);font-size:var(--fs-14);line-height:var(--lh-normal);color:var(--ink)}.ai-upgrade-inline{margin-top:18px}.daily-reading .daily-reading-body p{margin:0 0 12px;line-height:var(--lh-relaxed)}.daily-reading .daily-reading-body p:last-child{margin-bottom:0}.daily-reading .daily-today{margin-top:14px;padding:10px 14px;border-left:3px solid var(--gold);border-radius:8px;background:var(--panel-2);font-weight:600}.chat-panel{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.chat-panel h4{margin:0;font-size:var(--fs-16)}.chat-intro{margin:6px 0 12px;font-size:var(--fs-14);color:var(--ink-2);line-height:var(--lh-normal)}.chat-transcript{display:flex;flex-direction:column;gap:10px;max-height:460px;overflow-y:auto;margin-bottom:12px}.chat-msg{padding:10px 14px;border-radius:12px;line-height:var(--lh-normal)}.chat-msg p{margin:0 0 8px}.chat-msg p:last-child{margin-bottom:0}.chat-user{align-self:flex-end;max-width:85%;background:var(--gold);color:var(--gold-ink);border-bottom-right-radius:4px;font-weight:500}.chat-assistant{align-self:flex-start;max-width:92%;background:var(--panel-2);border:1px solid var(--line-strong);border-bottom-left-radius:4px}.chat-thinking{color:var(--ink-2);font-style:italic}.chat-form{display:flex;gap:8px}.chat-input{flex:1;padding:10px 12px;border:1px solid var(--field-line);border-radius:10px;background:var(--panel);color:var(--ink);font:inherit;font-size:var(--fs-16)}.chat-input:disabled{opacity:.6}.chat-send{padding:10px 18px;border:none;border-radius:10px;background:var(--gold);color:var(--gold-ink);font:inherit;font-weight:600;cursor:pointer}.chat-send:disabled{opacity:.5;cursor:default}.chat-quota{margin:8px 0 0;font-size:var(--fs-13);color:var(--ink-2)}.pricing{display:flex;flex-direction:column;gap:10px;margin:4px 0}.pricing button{font:inherit;cursor:pointer;text-align:center}.pricing button:disabled{opacity:.55;cursor:default}.pricing-annual{position:relative;display:flex;flex-direction:column;gap:3px;padding:16px 18px 14px;border:1px solid var(--gold);border-radius:12px;background:linear-gradient(180deg,var(--gold-tint),var(--gold-tint-faint));color:var(--ink)}.pricing-ribbon{position:absolute;top:-9px;left:50%;transform:translate(-50%);background:var(--gold);color:var(--gold-ink);font-size:var(--fs-11);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 10px;border-radius:999px}.pricing-amount{font-size:var(--fs-28);font-weight:700;color:var(--gold)}.pricing-per{font-size:var(--fs-14);font-weight:500;color:var(--ink-soft);margin-left:2px}.pricing-note{font-size:var(--fs-13);color:var(--ink-soft)}.pricing-secondary{display:flex;gap:10px}.pricing-plan{flex:1;display:flex;flex-direction:column;gap:2px;padding:11px 12px;border:1px solid var(--line-strong);border-radius:11px;background:var(--panel-2);color:var(--ink)}.pricing-amount-sm{font-size:var(--fs-16);font-weight:700}.pricing-note-sm{font-size:var(--fs-12);color:var(--ink-soft)}.pricing-lifetime{border-color:var(--gold-line)}.pricing-lifetime .pricing-note-sm{color:var(--gold)}.store-note{margin:10px 0;font-size:var(--fs-14);color:var(--ink-soft);text-align:center}.pricing-gift{margin:4px 0 0;font-size:var(--fs-13);color:var(--ink-soft);text-align:center}.pricing-gift-link{display:inline-flex;align-items:center;min-height:44px;background:none;border:none;padding:11px 0;margin:-11px 0;color:var(--accent-soft, var(--ink));font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.pricing-gift-link:disabled{opacity:.55;cursor:default}.pricing-trust{margin:10px 0 0;font-size:var(--fs-12);color:var(--ink-soft);text-align:center}.pricing-tiers{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 0 22px}@media (min-width: 620px){.pricing-tiers{grid-template-columns:1fr 1fr;align-items:start}}.pricing-tier{padding:18px 18px 16px;border:1px solid var(--line-strong);border-radius:14px;background:var(--panel-2)}.pricing-tier--premium{border-color:var(--gold-line)}.pricing-tier h2{margin:0 0 2px;font-size:var(--fs-16);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft)}.pricing-tier-price{margin:0 0 12px;font-size:var(--fs-34);font-weight:700;color:var(--gold)}.pricing-tier-list{margin:0 0 12px;padding-left:1.1em;display:flex;flex-direction:column;gap:6px}.pricing-tier-list li{font-size:var(--fs-14);line-height:var(--lh-normal)}.pricing-tier-note{margin:0;font-size:var(--fs-13);color:var(--ink-soft)}.pricing-foot{margin-top:26px;text-align:center;font-size:var(--fs-14);color:var(--ink-soft)}.reminder-nudge{margin:18px 0 4px;padding:14px 16px;border:1px solid var(--line-strong);border-left:3px solid var(--gold);border-radius:12px;background:var(--panel-2)}.reminder-nudge.done{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:var(--fs-14);border-left-color:var(--good)}.reminder-nudge-body{display:flex;gap:12px;align-items:flex-start}.reminder-nudge-icon{font-size:var(--fs-22);line-height:var(--lh-tight);flex-shrink:0}.reminder-nudge-body strong{font-size:var(--fs-16)}.reminder-nudge-body p{margin:3px 0 0;font-size:var(--fs-14);color:var(--ink-soft);line-height:var(--lh-normal)}.nudge-email-form{flex-wrap:wrap;gap:8px}.nudge-email-input{flex:1 1 200px;min-width:0;min-height:44px;padding:8px 12px;border-radius:var(--r-sm);border:1px solid var(--field-line);background:var(--field-bg);color:var(--ink);font:inherit;font-size:var(--fs-15)}.nudge-email-input::placeholder{color:var(--ink-faint)}.nudge-email-input:focus-visible{outline:2px solid var(--gold);outline-offset:1px}.reminder-nudge-actions{display:flex;gap:8px;margin-top:12px}.reminder-nudge-yes{min-height:44px;border:none;border-radius:8px;padding:8px 18px;background:var(--gold);color:var(--gold-ink);font:inherit;font-weight:600;cursor:pointer}.reminder-nudge-no{min-height:44px;border:1px solid var(--line-strong);border-radius:8px;padding:8px 16px;background:none;color:var(--ink-soft);font:inherit;cursor:pointer}.reminder-nudge-yes:disabled,.reminder-nudge-no:disabled{opacity:.55;cursor:default}.chart-save-nudge{margin-top:12px}.ai-manage{display:block;margin:3px auto -11px;min-height:44px;background:none;border:none;padding:11px 0;color:var(--ink-soft);font:inherit;font-size:var(--fs-13);text-decoration:underline;cursor:pointer}.ai-manage:hover{color:var(--ink)}.ai-premium-status{display:flex;flex-direction:column;align-items:center;gap:4px;margin-top:16px;padding-top:12px;border-top:1px solid var(--line)}.ai-premium-status .ai-manage{margin:-11px 0}.ai-access{font-size:var(--fs-13);color:var(--ink-soft)}.ai-controls{display:flex;flex-wrap:wrap;gap:10px;margin:4px 0 6px}.ai-focus{flex:1 1 240px;background:var(--field-bg);border:1px solid var(--field-line);border-radius:10px;color:var(--ink);font:inherit;font-size:var(--fs-16);padding:10px 13px}.ai-focus:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-line)}.ai-generate{flex:0 0 auto;border:none;background:linear-gradient(135deg,var(--accent),var(--gold));color:var(--gold-ink);font:inherit;font-size:var(--fs-14);font-weight:700;padding:10px 18px;border-radius:10px;cursor:pointer;transition:filter .2s}.ai-generate:hover:not(:disabled){filter:brightness(1.08)}.ai-generate:disabled{opacity:.7;cursor:default}.ai-result{margin-top:14px;padding:16px 18px;border:1px solid var(--line);border-radius:12px;background:var(--well)}.ai-result p{margin:0 0 12px;color:var(--ink);font-size:var(--fs-15);line-height:var(--lh-relaxed)}.ai-result p:last-of-type{margin-bottom:0}.ai-grounded{margin-top:14px!important;padding-top:12px;border-top:1px solid var(--line);font-size:var(--fs-12)!important;color:var(--ink-soft)!important;line-height:var(--lh-normal)!important}.ai-disclaimer{font-style:italic;opacity:.85}.date-bar{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;margin:10px auto 0}.date-bar label{color:var(--ink-soft);font-size:var(--fs-14);letter-spacing:.02em}@media (max-width: 480px){.date-bar label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}}.date-bar input[type=date]{background:var(--field-bg);border:1px solid var(--field-line);border-radius:10px;color:var(--ink);font:inherit;font-size:var(--fs-16);padding:7px 12px}.date-bar input[type=date]:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-line)}.date-today-btn{min-height:44px;border:1px solid var(--line-strong);background:var(--gold-tint);color:var(--ink);font:inherit;font-size:var(--fs-13);font-weight:600;padding:6px 13px;border-radius:999px;cursor:pointer;transition:background .2s}.date-today-btn:hover{background:var(--gold-tint-strong)}.date-step{flex:none;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--line-strong);background:var(--gold-tint);color:var(--ink);font-size:var(--fs-18);line-height:var(--lh-none);border-radius:999px;cursor:pointer;transition:background .2s}.date-step:hover{background:var(--gold-tint-strong)}.share-btn{display:inline-flex;align-items:center;gap:6px;padding:7px 16px;border-radius:999px;border:1px solid var(--line-strong);background:var(--gold-tint);color:var(--ink);font:inherit;font-size:var(--fs-14);font-weight:600;cursor:pointer;transition:background .2s}.share-btn:hover{background:var(--gold-tint-strong)}.share-msg{color:var(--gold-strong);font-size:var(--fs-13);font-weight:600}.save-btn{display:inline-flex;align-items:center;gap:5px;padding:7px 14px;border-radius:999px;border:1px solid var(--line-strong);background:var(--gold-tint);color:var(--ink);font:inherit;font-size:var(--fs-14);font-weight:600;cursor:pointer;transition:background .2s,color .2s}.save-btn:hover{background:var(--gold-tint-strong)}.save-btn.saved{color:var(--gold-strong);border-color:var(--gold-line);background:var(--gold-tint)}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.settings-group{padding:6px 0 16px;border-bottom:1px solid var(--line)}.settings-group:last-of-type{border-bottom:none}.settings-details{padding:6px 0 4px;border-bottom:1px solid var(--line)}.settings-details>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;min-height:44px;margin:2px 0;font-family:var(--font-display);font-size:var(--fs-20);color:var(--heading)}.settings-details>summary::-webkit-details-marker{display:none}.settings-details>summary:before{content:"›";display:inline-block;color:var(--ink-faint);transition:transform .15s}.settings-details[open]>summary:before{transform:rotate(90deg)}.settings-details>summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}.settings-details>.settings-hint{margin-top:0}.settings-details .settings-group:last-of-type{border-bottom:none}.settings-group h4{margin:8px 0 4px;font-family:var(--font-display);font-size:var(--fs-20);color:var(--heading)}.settings-hint{margin:0 0 12px;font-size:var(--fs-13);color:var(--ink-soft);line-height:var(--lh-normal)}.settings-options{display:grid;gap:10px}.settings-options.compact{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.settings-option{display:flex;flex-direction:column;gap:3px;text-align:left;padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--gold-tint-faint);color:var(--ink);font:inherit;cursor:pointer;transition:border-color .18s,background .18s}.settings-option:hover{background:var(--gold-tint)}.settings-option.active{border-color:var(--gold);background:var(--gold-tint-strong);box-shadow:0 0 0 1px var(--gold) inset}.settings-option-label{font-weight:600;font-size:var(--fs-15)}.settings-option-blurb{font-size:var(--fs-13);color:var(--ink-soft);line-height:var(--lh-normal)}.reminder-setting{margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.reminder-setting h4{margin:0 0 6px;color:var(--heading);font-size:var(--fs-16)}.reminder-time{display:flex;align-items:center;gap:10px;margin:12px 0;font-size:var(--fs-14);color:var(--ink-soft)}.reminder-time select{background:var(--field-bg);color:var(--ink);border:1px solid var(--field-line);border-radius:8px;padding:6px 10px;font:inherit;font-size:var(--fs-16);cursor:pointer}.reminder-btn{border:1px solid var(--line-strong);background:var(--overlay);color:var(--ink);font:inherit;font-size:var(--fs-14);font-weight:600;padding:9px 16px;border-radius:999px;cursor:pointer;transition:background .2s}.reminder-btn:hover{background:var(--overlay-strong)}.reminder-btn.primary{background:var(--gold);color:var(--gold-ink);border-color:transparent}.reminder-btn:disabled{opacity:.6;cursor:default}.settings-account-btn{align-self:flex-start;padding:8px 14px;background:var(--overlay);border:1px solid var(--line-strong);border-radius:10px;color:var(--ink);font:inherit;font-size:var(--fs-14);font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.settings-account-btn:hover:not(:disabled){background:var(--overlay-strong);border-color:var(--gold)}.settings-account-btn:disabled{opacity:.6;cursor:default}.settings-danger{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.settings-danger-link{display:inline-flex;align-items:center;min-height:44px;background:none;border:none;padding:11px 0;margin:-11px 0;color:var(--low);font:inherit;font-size:var(--fs-14);text-decoration:underline;cursor:pointer}.settings-danger-link:hover{text-decoration-thickness:2px}.settings-danger-confirm{display:flex;flex-direction:column;gap:10px}.settings-danger-actions{display:flex;flex-wrap:wrap;gap:10px}.settings-danger-btn{padding:8px 14px;background:var(--overlay);border:1px solid var(--low);border-radius:10px;color:var(--low);font:inherit;font-size:var(--fs-14);font-weight:600;cursor:pointer;transition:background .15s ease}.settings-danger-btn:hover:not(:disabled){background:var(--overlay-strong)}.settings-danger-btn:disabled{opacity:.5;cursor:default}.birth-form .time-unknown-toggle{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;min-height:44px;margin:0 0 6px;padding:6px 0;font-size:var(--fs-14);font-weight:500;letter-spacing:0;text-align:left;color:var(--ink);cursor:pointer}.birth-form .time-unknown-toggle input{width:20px;height:20px;margin:0;padding:0;accent-color:var(--gold)}.time-unknown-hint{grid-column:2;font-size:var(--fs-12);color:var(--ink-soft);line-height:var(--lh-snug)}.gift-redeem{margin-top:16px}.gift-redeem label{display:block;font-size:var(--fs-14);font-weight:600;margin-bottom:6px}.gift-redeem-row{display:flex;gap:8px}.gift-redeem-row input{flex:1;min-width:0;padding:9px 12px;border-radius:9px;border:1px solid var(--field-line);background:var(--panel-2);color:var(--ink);font:inherit;letter-spacing:.06em;text-transform:uppercase;font-size:var(--fs-16)}.gift-msg{margin-top:6px}.patreon-unlock{margin:12px 0 0}.patreon-actions{margin:4px 0 0;font-size:var(--fs-13);color:var(--ink-soft)}.offline-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:14px auto 0;padding:10px 16px;max-width:680px;background:var(--low-tint);border:1px solid var(--low-line);border-radius:12px;color:var(--ink-soft);font-size:var(--fs-14);line-height:var(--lh-normal);text-align:center}.ios-hint{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;margin:14px auto 0;padding:10px 16px;max-width:600px;background:var(--gold-tint);border:1px solid var(--line-strong);border-radius:12px;color:var(--ink-soft);font-size:var(--fs-14);line-height:var(--lh-normal);text-align:center}.ios-hint strong{color:var(--ink)}.ios-hint button{min-width:44px;min-height:44px;margin:-12px 0;background:none;border:none;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-none);cursor:pointer;padding:0}.ios-hint button:hover{color:var(--ink)}.location-section{margin-top:4px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--gold-tint-faint)}.location-row{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.location-search{width:100%;display:flex;flex-direction:column}.locate-btn{flex:0 0 auto;height:44px;padding:0 14px;border:1px solid var(--line-strong);border-radius:9px;background:var(--gold-tint);color:var(--ink);font:inherit;font-size:var(--fs-14);font-weight:600;cursor:pointer;white-space:nowrap;transition:background .2s}.locate-btn:hover:not(:disabled){background:var(--gold-tint-strong)}.locate-btn:disabled{opacity:.6;cursor:default}.location-summary{margin:12px 0 0;padding:9px 12px;border-radius:9px;background:var(--good-tint);border:1px solid var(--good-line);color:var(--ink);font-size:var(--fs-14)}.location-detail{display:block;margin-top:2px;color:var(--ink-soft);font-size:var(--fs-13);font-variant-numeric:tabular-nums}.location-error{margin:10px 0 0;color:var(--low);font-size:var(--fs-13)}.link-toggle{margin-top:10px;min-height:44px;border:none;background:none;color:var(--violet);font:inherit;font-size:var(--fs-13);cursor:pointer;padding:2px 0;text-align:left}.link-toggle:hover{color:var(--ink);text-decoration:underline}.advanced-location{margin-top:10px}@media print{@page{margin:14mm}.hero,.bottom-nav,.settings-mini,.theme-toggle,.date-bar,.period-tabs,.sample-banner,.learn-search{display:none!important}html,body,.app{background:#fff!important;color:#1a1a1a!important}.app{display:block;max-width:100%;padding:0}.report,.birth-form{background:#fff!important;border:1px solid #ccc!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;page-break-inside:avoid;margin-bottom:14px}.report:before,.birth-form:before{display:none!important}h2,h3,h4,.report h3{color:#1a1a1a!important}.chart-intro,p,td,dd{color:#333!important}.footer-disclaimer{opacity:1!important;color:#555!important}}@media print{body.printing-report .app>*:not(main),body.printing-report .app>main>*:not(.report-view),body.printing-report .report-view>*:not(.report-result),body.printing-report .report-result>*:not(.report-doc){display:none!important}body.printing-report{background:#fff!important}body.printing-report .app{max-width:none!important;padding:0!important}body.printing-report .report-doc{box-shadow:none!important;border-radius:0!important;padding:0!important;background:#fff!important}body.printing-report .rpt-cover{min-height:40vh;display:flex;flex-direction:column;justify-content:center}body.printing-report .rpt-appendix{break-before:page}body.printing-report .rpt-appendix .table-wrap{overflow:visible!important;-webkit-mask-image:none!important;mask-image:none!important}body.printing-report .rpt-appendix th,body.printing-report .rpt-appendix td{white-space:normal;height:auto;padding:6px 8px}body.printing-report .rpt-appendix tr{break-inside:avoid}body.printing-report .rpt-section h2,body.printing-report .rpt-appendix h2,body.printing-report .rpt-appendix h3{break-after:avoid}body.printing-report .rpt-section p{orphans:2;widows:2}}.app-crash{max-width:480px;margin:18vh auto 0;padding:28px 24px;text-align:center;color:var(--ink, #ece9ff)}.app-crash h1{font-size:var(--fs-22);margin:0 0 10px}.app-crash p{color:var(--ink-soft, #a8a2cf);line-height:var(--lh-normal);margin:0 0 18px}.app-crash button{border:none;border-radius:9px;padding:10px 22px;cursor:pointer;font:inherit;font-weight:600;background:var(--gold, #e6d3a3);color:var(--gold-ink, #1b2033)}.report-offer{margin:26px auto 0;max-width:680px;padding:18px 20px 16px;background:var(--gold-tint-faint);border:1px solid var(--gold-line);border-radius:14px}.report-offer p{margin:0 0 12px;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-normal)}.report-offer p strong{color:var(--gold)}.report-offer-focus{margin:0 0 14px}.report-offer-focus summary{padding:14px 0;cursor:pointer;color:var(--gold);font-size:var(--fs-14)}.report-offer-focus .report-field{margin-top:10px}.report-field input{display:block;width:100%;box-sizing:border-box;min-height:44px;margin-top:6px;padding:10px 14px;border-radius:12px;border:1px solid var(--field-line);background:var(--field-bg);color:var(--ink);font:inherit;font-size:max(16px,var(--fs-16))}.report-offer-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.report-offer-buy{min-height:44px;border:none;border-radius:999px;padding:10px 22px;background:linear-gradient(135deg,var(--gold),var(--accent));color:var(--gold-ink);font:inherit;font-size:var(--fs-15);font-weight:700;cursor:pointer}.report-offer-buy:hover{filter:brightness(1.06)}.report-offer-buy:disabled{opacity:.6;cursor:default}.report-offer-note{font-size:var(--fs-12);color:var(--ink-soft)}.report-offer .report-offer-trust{margin:10px 0 0;font-size:var(--fs-13);color:var(--ink-soft)}.report-offer .report-offer-level{margin:-6px 0 14px;font-size:var(--fs-14);color:var(--ink-soft)}.report-offer-sample{margin:0 0 14px}.report-offer-sample>summary{padding:14px 0;cursor:pointer;color:var(--gold);font-size:var(--fs-14)}.report-offer-sample-doc{margin-top:12px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:10px}.report-offer-sample-note{font-size:var(--fs-12);color:var(--ink-soft);margin:0 0 10px}.report-view{padding:4px 0 40px}.report-result{max-width:880px;margin:0 auto}.report-doc{max-width:880px;margin:0 auto;padding:44px 48px 40px;background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-panel)}.rpt-cover{margin:0 0 32px;padding:0 0 26px;border-bottom:1px solid var(--line)}.rpt-cover .eyebrow{display:block;margin:0 0 12px}.rpt-cover h1{margin:0 0 12px;font-size:var(--fs-34);line-height:var(--lh-tight);letter-spacing:-.01em}.rpt-meta{margin:0 0 3px;color:var(--ink-soft);font-size:var(--fs-15);font-variant-numeric:tabular-nums}.rpt-meta:last-of-type{margin-bottom:0}.rpt-section{margin:0 0 36px}.rpt-section:last-child{margin-bottom:0}.rpt-section h2{margin:0 0 14px;font-size:var(--fs-24);line-height:var(--lh-tight);color:var(--heading)}.rpt-section p{margin:0 0 17px;max-width:68ch;line-height:var(--lh-loose);color:var(--ink)}.rpt-section p:last-child{margin-bottom:0}.rpt-grounded{margin:30px 0 0;padding-top:18px;border-top:1px solid var(--line);color:var(--ink-faint);font-size:var(--fs-14)}@media (max-width: 720px){.report-doc{padding:28px 20px 26px;border-radius:var(--r-md)}.rpt-cover h1{font-size:var(--fs-28)}.rpt-section h2{font-size:var(--fs-20)}.rpt-section p{line-height:var(--lh-relaxed)}}.rpt-appendix{margin:36px 0 0;padding:28px 0 0;border-top:1px solid var(--line-strong)}.rpt-appendix h2{margin:0 0 6px;font-size:var(--fs-24);line-height:var(--lh-tight);color:var(--heading)}.rpt-appendix h3{margin:28px 0 10px;font-size:var(--fs-16);letter-spacing:.02em;color:var(--ink-soft)}.rpt-appendix table{width:100%}.rpt-appendix-note{margin:0 0 18px;color:var(--ink-faint);font-size:var(--fs-14);line-height:var(--lh-relaxed);max-width:62ch}.rpt-appendix .rpt-plain td{height:auto;padding:2px 10px 12px;white-space:normal;color:var(--ink-soft);font-size:var(--fs-14);line-height:var(--lh-relaxed)}.rpt-balances{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:6px 18px;margin:0}.rpt-balances dt{color:var(--ink-faint);font-size:var(--fs-14)}.rpt-balances dd{margin:0;font-variant-numeric:tabular-nums}.rpt-patterns{margin:0;padding-left:18px}.rpt-patterns li{margin:0 0 4px}@media (max-width: 560px){.rpt-balances{grid-template-columns:minmax(0,1fr);gap:2px}.rpt-balances dt{margin-top:8px}}.report-offer-sample-doc .rpt-section h2{font-size:var(--fs-16);color:var(--heading);margin:0 0 8px}.report-offer-sample-doc .rpt-section p{font-size:var(--fs-14);line-height:var(--lh-relaxed);color:var(--ink-soft);margin:0 0 10px}.order-wait{max-width:560px;margin:40px auto;padding:30px 22px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:14px}.order-wait h2{margin:0 0 10px;color:var(--heading)}.order-wait p{margin:8px 0;color:var(--ink-soft);line-height:var(--lh-relaxed);font-size:var(--fs-15)}.order-wait button{margin-top:14px;border:1px solid var(--line-strong);background:transparent;color:var(--ink);border-radius:999px;padding:8px 18px;font:inherit;cursor:pointer}.order-glyph{margin:0 0 6px;font-size:var(--fs-34);color:var(--gold);animation:order-pulse 2.4s ease-in-out infinite}@keyframes order-pulse{0%,to{opacity:.45;transform:scale(1)}50%{opacity:1;transform:scale(1.12)}}@media (prefers-reduced-motion: reduce){.order-glyph{animation:none}}.partner-invite{margin:14px auto 6px;max-width:680px;padding:14px 16px;border:1px solid var(--line-strong);border-left:3px solid var(--gold);border-radius:12px;background:var(--panel-2);text-align:left}.partner-invite-body{display:flex;gap:12px;align-items:flex-start}.partner-invite-icon{font-size:var(--fs-22);line-height:var(--lh-tight);flex-shrink:0}.partner-invite-body strong{font-size:var(--fs-16)}.partner-invite-body p{margin:3px 0 0;font-size:var(--fs-14);color:var(--ink-soft);line-height:var(--lh-normal)}.partner-invite-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:12px}.partner-invite-link{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:12px}.partner-invite-link input{flex:1 1 220px;min-width:0;padding:8px 10px;border:1px solid var(--field-line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;font-size:var(--fs-16)}.partner-invite-wait{display:flex;gap:8px 12px;align-items:center;flex-wrap:wrap;margin:10px 0 0;font-size:var(--fs-13);color:var(--ink-soft);line-height:var(--lh-normal)}.partner-invite-check{min-height:44px;border:1px solid var(--gold);background:var(--gold-tint);color:var(--gold);border-radius:999px;padding:4px 14px;font:inherit;font-size:var(--fs-13);font-weight:600;cursor:pointer}.partner-invite-check:hover{background:var(--gold-tint-strong)}.partner-invite-check:disabled{opacity:.55;cursor:default}.invite-landing-hero{text-align:center;margin:4px auto 18px;max-width:640px}.invite-landing-hero .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:var(--fs-12);letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:10px}.invite-landing-hero h2{margin:0 0 10px;font-size:var(--fs-24);line-height:var(--lh-snug)}.invite-landing-hero p{margin:0 auto 12px;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-relaxed)}.invite-landing-hero p strong{color:var(--gold)}.invite-landing-points{list-style:none;margin:0 auto;padding:0;display:grid;gap:6px;text-align:left;max-width:520px;font-size:var(--fs-14);color:var(--ink-soft);line-height:var(--lh-normal)}.invite-landing-points li{display:flex;gap:8px;align-items:flex-start}.invite-landing-exit{text-align:center;margin:16px 0 4px}.link-btn{background:none;border:none;color:var(--ink-soft);font:inherit;font-size:var(--fs-14);text-decoration:underline;cursor:pointer}.link-btn:hover{color:var(--ink)}h1,h2,h3,.display{font-family:var(--font-display);font-weight:500;letter-spacing:-.01em;line-height:var(--lh-none);color:var(--heading)}h1{font-size:var(--fs-page);margin:0 0 12px}h2{font-size:var(--fs-section);margin:0 0 10px}h3{font-size:var(--fs-card);margin:0 0 8px}h4{font-family:var(--font-body);font-size:var(--fs-16);font-weight:600;letter-spacing:0}.eyebrow{display:inline-block;font-size:var(--fs-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:10px}.lede{color:var(--ink-soft);font-size:var(--fs-16);line-height:var(--lh-relaxed);max-width:58ch;margin:0 0 16px}.chart-intro{margin:0 0 16px;max-width:64ch;color:var(--ink-soft);line-height:var(--lh-relaxed)}.footer-disclaimer{margin:0 0 10px;max-width:74ch;font-size:var(--fs-13);line-height:var(--lh-normal);color:var(--ink-faint)}.tnum{font-variant-numeric:tabular-nums;font-feature-settings:"tnum"}@media (max-width: 640px){h1{font-size:var(--fs-section)}h2{font-size:var(--fs-card)}h3{font-size:var(--fs-22)}}.app{min-height:100dvh;display:flex;flex-direction:column}.app>main{flex:1}.app>main.is-booting{min-height:100dvh}.page{padding:8px 0 32px}.page-empty{text-align:center;padding:64px 0}.page-empty .lede{margin:0 auto 20px}.page-mark{display:flex;justify-content:center;color:var(--gold);opacity:.85;margin:0 0 14px}.section-header{margin:8px 0 20px}.section-header .lede{margin-bottom:0}.section-header--row{display:flex;align-items:end;justify-content:space-between;gap:16px;flex-wrap:wrap}.bleed{margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(20px,calc(50vw - 50%));padding-right:max(20px,calc(50vw - 50%))}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:999px;padding:12px 26px;font:inherit;font-weight:600;font-size:var(--fs-16);text-decoration:none;cursor:pointer;border:1px solid transparent;transition:transform .15s var(--ease-out),background .15s,border-color .15s}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--gold);color:var(--gold-ink)}.btn-primary:hover{background:var(--gold-strong)}.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line-strong)}.btn-ghost:hover{border-color:var(--gold);color:var(--gold-strong)}.btn-small{min-height:44px;padding:8px 18px;font-size:var(--fs-14)}.card--flat{background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--r-md)}.card--glass{background:var(--panel);border:1px solid var(--line);border-radius:var(--r-lg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:var(--shadow-panel)}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none;display:var(--star-display);contain:strict}.sf-layer{position:absolute;top:-4%;right:-4%;bottom:-4%;left:-4%;will-change:transform}.sf-star{position:absolute;border-radius:50%;background:#fff;color:#ffffffb3;box-shadow:0 0 6px currentColor}.sf-star.gold{background:var(--gold-strong);color:var(--gold-strong)}:root[data-theme=light] .starfield{opacity:.32}:root[data-theme=light] .sf-star{background:var(--ink-faint);color:transparent;box-shadow:none}:root[data-theme=light] .sf-star.gold{background:var(--gold)}:root[data-theme=light] .sf-grain{display:none}.sf-star.twinkle{animation:twinkle 6s ease-in-out infinite}.sf-grain{position:absolute;top:0;right:0;bottom:0;left:0;background-repeat:repeat;background-size:240px 240px;opacity:.05;mix-blend-mode:overlay}@keyframes twinkle{0%,to{transform:scale(.85);opacity:.25}50%{transform:scale(1.5);opacity:.9}}html.anim-paused .sf-star.twinkle{animation-play-state:paused}@media (prefers-reduced-motion: reduce){.sf-star.twinkle{animation:none}}.halo{position:absolute;left:50%;top:50%;width:min(90vw,760px);aspect-ratio:1;transform:translate(-50%,-50%);background:var(--halo-bg);filter:blur(70px);opacity:var(--halo-opacity);border-radius:50%;contain:paint;pointer-events:none;z-index:0}.topbar{display:flex;align-items:center;gap:14px;padding:6px 0 14px;margin-bottom:16px;border-bottom:1px solid var(--line);position:relative;z-index:5}@media (display-mode: standalone){body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--bg-1);z-index:40;pointer-events:none}}.wordmark{display:inline-flex;align-items:center;min-height:44px;flex:none;white-space:nowrap;font-size:var(--fs-22);color:var(--heading);text-decoration:none}.lockup{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;letter-spacing:.02em}.lockup svg{color:var(--gold);flex:none}.chart-switch{position:relative;min-width:0}.chart-switch--pending{visibility:hidden}.chart-switch-btn{display:inline-grid;grid-template-columns:auto auto;column-gap:8px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 14px;color:var(--ink);font:inherit;cursor:pointer;text-align:left;max-width:260px}.chart-switch-btn:hover{border-color:var(--line-strong)}.chart-switch-name{display:block;font-weight:600;font-size:var(--fs-14);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chart-switch-meta{display:block;font-size:var(--fs-12);color:var(--ink-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;grid-column:1}.chart-switch-chev{grid-column:2;grid-row:1 / span 2;display:inline-flex;color:var(--ink-soft);transition:transform .15s}.chart-switch-chev svg{transform:rotate(90deg)}.chart-switch-chev.open svg{transform:rotate(-90deg)}.chart-switch-menu{position:absolute;left:0;top:calc(100% + 8px);z-index:30;min-width:260px;background:var(--panel-solid);border:1px solid var(--line-strong);border-radius:var(--r-md);padding:6px;box-shadow:var(--shadow-panel)}.chart-switch-row{display:flex;align-items:center;gap:4px}.chart-switch-item{flex:1;display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:center;min-height:44px;background:none;border:0;border-radius:var(--r-sm);padding:4px 10px;color:var(--ink);font:inherit;text-align:left;cursor:pointer}.chart-switch-item:hover,.chart-switch-item.active{background:var(--overlay-strong)}.chart-switch-check{display:inline-flex;color:var(--gold);justify-content:center}.chart-switch-del{min-height:44px;min-width:44px;background:none;border:0;color:var(--ink-faint);font:inherit;font-size:var(--fs-12);cursor:pointer;padding:6px 8px;border-radius:var(--r-sm)}.chart-switch-del:hover{color:var(--low);background:var(--overlay)}.chart-switch-new{border-top:1px solid var(--line);border-radius:0;margin-top:4px;padding-top:10px}.topbar-tools{margin-left:auto;display:inline-flex;align-items:center;gap:8px}.topbar-nav{display:none}@media (min-width: 1100px){.topbar-nav{display:inline-flex;align-items:center;gap:2px;margin-left:6px}.app{--topbar-h: 66px}.topbar{position:sticky;top:0;z-index:50;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);padding-left:max(20px,calc(50vw - var(--content-w) / 2));padding-right:max(20px,calc(50vw - var(--content-w) / 2));background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.topbar-tools .auth-controls{flex-wrap:nowrap;margin:0;padding:0;max-width:none}.topbar-tools .auth-guest{display:none}.app .page-back-bar{top:var(--topbar-h, 66px)}.topbar-nav-item{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid transparent;border-radius:999px;background:none;color:var(--ink-soft);font:inherit;font-size:var(--fs-15);font-weight:600;text-decoration:none;cursor:pointer}.topbar-nav-item:hover{color:var(--ink);background:var(--overlay)}.topbar-nav-item[aria-current=page]{color:var(--heading);background:var(--overlay-strong)}.topbar-nav-item:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}.bottom-nav,.app--landing .topbar-nav{display:none}.app{padding-bottom:var(--s-10)}}.settings-mini{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;color:var(--ink-soft);border:1px solid var(--line);background:var(--panel)}.settings-mini:hover{color:var(--gold);border-color:var(--line-strong)}@media (max-width: 640px){.topbar{flex-wrap:wrap;gap:8px;padding:4px 0 10px}.chart-switch{order:3;flex-basis:100%}.chart-switch-btn{max-width:100%;width:100%}.wordmark{font-size:var(--fs-18)}.wordmark .lockup{gap:6px}.wordmark svg{width:22px;height:22px}.topbar-tools{gap:6px;min-width:0}.topbar-tools .auth-controls{flex-wrap:nowrap;gap:6px;margin:0;padding:0;max-width:none;min-width:0}.topbar-tools .auth-guest,.topbar-tools .auth-user,.topbar-tools .auth-link--account{display:none}.settings-mini,.theme-toggle{width:44px;height:44px}.auth-btn{padding:5px 11px;min-height:44px}}.app--landing .topbar{padding-bottom:4px}.landing-hero{position:relative;padding-top:24px;padding-bottom:32px;overflow:hidden}.landing-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(280px,.95fr);gap:32px;align-items:center;max-width:var(--content-w);margin:0 auto}.landing-copy h1{font-size:var(--fs-hero);max-width:12ch}.landing-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.landing-wheel{position:relative;display:grid;place-items:center}.wheel-placeholder{width:min(100%,520px);aspect-ratio:1}.landing-wheel-live{width:min(100%,520px);aspect-ratio:1;pointer-events:none}.landing-wheel-live .wheel{width:100%;height:100%}.landing-fine{margin:14px 0 0;color:var(--ink-faint);font-size:var(--fs-body-sm)}.wp-ring{fill:none;stroke:var(--gold);stroke-width:1.6;opacity:.8}.wp-ring-soft{stroke:var(--silver);stroke-width:.8;opacity:.4}.wp-tick{stroke:var(--silver);stroke-width:1;opacity:.45}.wp-dot{fill:var(--silver)}.wp-dot.gold{fill:var(--gold);filter:drop-shadow(0 0 6px var(--gold))}.wp-chord{fill:none;stroke-width:1.2}.wp-chord.soft{stroke:var(--asp-soft);opacity:.7}.wp-chord.hard{stroke:var(--asp-hard);opacity:.7}.landing-glyphs{position:absolute;bottom:-6px;display:flex;gap:14px;color:var(--gold);opacity:.85}@media (max-width: 760px){.landing-hero-inner{grid-template-columns:1fr;gap:16px;text-align:center}.landing-copy h1{max-width:none;font-size:var(--fs-page)}.landing-copy .lede{margin-left:auto;margin-right:auto}.landing-actions{justify-content:center}.landing-wheel{order:-1}.wheel-placeholder{width:min(78vw,360px)}.landing-glyphs{display:none}}.landing-features{padding:24px 0 8px}.feature-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.feature{padding:18px 18px 16px}.feature-icon{display:inline-flex;color:var(--aurora);margin-bottom:10px}.feature h3{font-size:var(--fs-20);margin-bottom:6px}.feature p{margin:0;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-normal)}.landing-cta{text-align:center;padding:40px 0 24px}.landing-cta .lede{margin:0 auto 16px}.reveal>*{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i, 0) * 60ms)}.reveal .feature-grid>*{opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease-out),transform .5s var(--ease-out);transition-delay:calc(var(--i, 0) * 60ms)}.reveal.is-in>*,.reveal.is-in .feature-grid>*{opacity:1;transform:none}@media (prefers-reduced-motion: reduce){.reveal>*,.reveal .feature-grid>*{opacity:1;transform:none;transition:none}.halo{filter:blur(70px)}}.glyph{display:inline-block;vertical-align:-.2em;flex:none}.sample-banner{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;padding:7px 14px;margin:0 0 10px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel);color:var(--ink-soft);font-size:var(--fs-14)}.sample-banner a{color:var(--gold);font-weight:600;white-space:nowrap}.settings-toggles{list-style:none;padding:0;margin:0;display:grid;gap:10px}.settings-toggle{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;cursor:pointer}.settings-toggle input{margin-top:4px;accent-color:var(--gold);width:18px;height:18px}.settings-toggle strong{display:block}.settings-toggle .settings-hint{margin:2px 0 0}.settings-toggle .settings-options{grid-column:1 / -1;margin-top:6px}@media print{.starfield,.topbar,.bottom-nav,.app-footer,.sample-banner,.halo{display:none!important}}.chart-hero{position:relative;padding-top:8px;padding-bottom:8px;overflow:hidden}.chart-hero .halo{top:42%}.chart-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);gap:24px;align-items:start;max-width:var(--content-w);margin:0 auto}.chart-stage{min-width:0}.chart-rail{position:sticky;top:16px}@media (max-width: 899px){.chart-hero-inner{grid-template-columns:1fr}}.body-key{max-width:640px;margin:10px auto 0}.body-key-list{display:flex;gap:8px;list-style:none;margin:0;padding:2px 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity}.body-key-list::-webkit-scrollbar{display:none}.body-key-list li{scroll-snap-align:start}.body-key-chip{display:inline-flex;align-items:center;gap:6px;flex:none;min-height:44px;padding:6px 13px;border-radius:999px;border:1px solid var(--line);background:var(--overlay);color:var(--ink-soft);font:inherit;font-size:var(--fs-13);white-space:nowrap;cursor:pointer;transition:background .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}.body-key-chip:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}@media (hover: hover){.body-key-chip:hover{border-color:var(--line-strong);color:var(--ink);background:var(--overlay-strong)}}.body-key-chip.is-located{border-color:var(--gold);color:var(--gold);background:var(--overlay-strong)}.wheel-tray{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:14px auto 0;max-width:640px}.tray-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;gap:6px;padding:7px 15px;border-radius:999px;border:1px solid var(--line);background:var(--overlay);color:var(--ink-soft);font:inherit;font-size:var(--fs-13);cursor:pointer;text-decoration:none;transition:background .15s var(--ease-out),border-color .15s var(--ease-out),color .15s var(--ease-out)}.tray-btn:hover{border-color:var(--line-strong);color:var(--ink);background:var(--overlay-strong)}.tray-btn.on{border-color:var(--gold);color:var(--gold)}.tray-select select{min-height:44px;padding:7px 12px;border-radius:999px;border:1px solid var(--field-line);background:var(--panel);color:var(--ink);font:inherit;font-size:var(--fs-16)}.chart-warning{max-width:640px;margin:12px auto 0;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--gold-line);background:var(--gold-tint-faint);color:var(--ink-soft);font-size:var(--fs-14)}.chart-section{margin:40px 0 0}.chart-summary .lede{margin-bottom:12px}.app--full .topbar,.app--full .app-footer,.app--full .sample-banner,.app--full .ios-hint{display:none}.app--full{padding-left:0;padding-right:0}.page-wheel-full{display:grid;place-items:center;align-content:center;min-height:100dvh;padding:8px 0;position:relative}.full-hint{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);left:16px;right:72px;z-index:19;max-width:36ch;margin:0;min-height:44px;display:flex;align-items:center;color:var(--ink-soft);font-size:var(--fs-13);line-height:var(--lh-snug)}.full-close{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);right:14px;z-index:20;display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;border-radius:50%;background:var(--panel-solid);border:1px solid var(--line);color:var(--ink)}.big-three{margin-top:20px;padding-top:18px;padding-bottom:18px;background:var(--panel);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.big-three-inner{max-width:var(--content-w);margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:16px;align-items:center}.bt-item{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:center;min-width:0}.bt-glyph{grid-row:1 / span 2;color:var(--gold);display:inline-flex}.bt-label{font-size:var(--fs-eyebrow);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.bt-sign{font-family:var(--font-display);font-size:var(--fs-24);color:var(--heading);text-decoration:none;line-height:var(--lh-tight);display:inline-flex;align-items:center;min-height:44px;min-width:0;overflow-wrap:anywhere}.bt-sign:hover{color:var(--gold)}.bt-sign.muted{font-size:var(--fs-16)}.bt-deg{grid-column:2;color:var(--ink-soft);font-size:var(--fs-14)}.bt-meta{display:flex;flex-wrap:wrap;gap:6px}.bt-chip{font-size:var(--fs-12);padding:4px 10px;border-radius:999px;border:1px solid var(--line);color:var(--ink-soft);text-transform:capitalize}.bt-meta--plain .bt-chip{text-transform:none}@media (max-width: 760px){.big-three-inner{grid-template-columns:1fr 1fr}.bt-meta{grid-column:1 / -1}}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;scroll-behavior:smooth}.table-wrap[data-overflow=start]{-webkit-mask-image:linear-gradient(to right,#000 82%,transparent 100%);mask-image:linear-gradient(to right,#000 82%,transparent 100%)}.table-wrap[data-overflow=middle]{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 8%,#000 92%,transparent 100%)}.table-wrap[data-overflow=end]{-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 12%);mask-image:linear-gradient(to right,transparent 0%,#000 12%)}.table-wrap:focus-visible{outline:2px solid var(--gold-strong);outline-offset:3px;border-radius:var(--r-sm)}@media (prefers-reduced-motion: reduce){.table-wrap{scroll-behavior:auto}}.planets-table,.dignity-table{width:100%;border-collapse:collapse;font-size:var(--fs-15)}.planets-table th,.planets-table td,.dignity-table th,.dignity-table td{height:44px;padding:9px 10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle;white-space:nowrap}.planets-table thead th,.dignity-table thead th{font-size:var(--fs-eyebrow);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);font-weight:600}.planets-table tbody th,.dignity-table tbody th{font-weight:600}.tbl-glyph{color:var(--gold);margin-right:4px}.planets-locate{display:inline-flex;align-items:center;min-height:44px;margin:-9px 0;padding:9px 0;background:none;border:0;color:inherit;font:inherit;font-weight:600;text-align:left;cursor:pointer}.planets-locate:hover{color:var(--gold)}.planets-locate:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px;border-radius:var(--r-sm)}.row-point th{color:var(--ink-soft);font-weight:500}.pos-link{color:inherit;text-decoration:none;border-bottom:1px dotted var(--line-strong)}.pos-link:hover{color:var(--gold)}.chip{display:inline-block;font-size:var(--fs-12);padding:2px 8px;border-radius:999px;border:1px solid var(--line);margin-right:4px;white-space:nowrap}.chip-good{color:var(--good);border-color:color-mix(in srgb,var(--good) 40%,transparent)}.chip-mid{color:var(--mid);border-color:color-mix(in srgb,var(--mid) 40%,transparent)}.chip-low{color:var(--low);border-color:color-mix(in srgb,var(--low) 40%,transparent)}.muted{color:var(--ink-faint)}.good{color:var(--good)}.low{color:var(--low)}.hint-hover{display:none}@media (hover: hover) and (pointer: fine){.hint-hover{display:inline}.hint-touch{display:none}}.aspectarian-wrap{overflow-x:auto}.aspectarian{border-collapse:collapse;font-size:var(--fs-14)}.aspectarian th,.aspectarian td{width:46px;height:46px;min-width:46px;text-align:center;border:1px solid var(--line);padding:0}.aspectarian th.corner{border:0}.aspectarian thead th{position:sticky;top:0;background:var(--panel-solid)}.aspectarian tbody th{position:sticky;left:0;background:var(--panel-solid);z-index:1}.aspectarian td.empty{border:0}.aspectarian .asp-head{font-size:var(--fs-12);font-weight:600;color:var(--ink-soft)}.asp-cell{width:100%;height:100%;display:inline-flex;align-items:center;justify-content:center;background:none;border:0;padding:0;cursor:pointer;color:inherit}.asp-cell:hover,.asp-cell:focus-visible{background:var(--overlay-strong)}.aspectarian td.asp-conjunction{color:var(--asp-conj)}.aspectarian td.asp-trine,.aspectarian td.asp-sextile{color:var(--asp-soft)}.aspectarian td.asp-square,.aspectarian td.asp-opposition{color:var(--asp-hard)}.aspectarian td.asp-quincunx{color:var(--asp-quincunx)}.aspectarian td.asp-semisextile,.aspectarian td.asp-semisquare,.aspectarian td.asp-sesquiquadrate,.aspectarian td.asp-quintile,.aspectarian td.asp-biquintile{color:var(--asp-minor)}.asp-dissociate{color:var(--gold)}.aspectarian-tip{margin:10px 0 0;font-size:var(--fs-14);min-height:1.4em}.pattern-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.pattern{display:grid;grid-template-columns:160px 1fr;gap:14px;padding:14px;align-items:center}.pattern h3{font-size:var(--fs-20);margin:0 0 4px}.pattern-bodies{margin:0 0 6px;color:var(--ink-soft);font-size:var(--fs-14)}.pattern-subtitle{margin:0 0 4px;font-size:var(--fs-15);font-weight:600}.pattern-copy p.muted{margin:0;font-size:var(--fs-14);line-height:var(--lh-normal)}@media (max-width: 420px){.pattern{grid-template-columns:120px 1fr}.pattern .wheel--mini{width:120px}}.balances{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}.bal-group h3{font-size:var(--fs-18);margin-bottom:8px}.bal-note{margin:8px 0 0;font-size:var(--fs-14);line-height:var(--lh-normal)}.bal-row{display:grid;grid-template-columns:minmax(76px,max-content) minmax(60px,1fr) minmax(28px,max-content);grid-template-rows:auto auto;column-gap:10px;align-items:center;margin-bottom:8px}.bal-label{text-transform:capitalize;font-size:var(--fs-14)}.bal-track{height:10px;border-radius:999px;background:var(--overlay-strong);overflow:hidden}.bal-fill{height:100%;border-radius:999px;background:var(--gold);transition:width .6s var(--ease-out)}.bal-fill.el-fire{background:var(--el-fire)}.bal-fill.el-earth{background:var(--el-earth)}.bal-fill.el-air{background:var(--el-air)}.bal-fill.el-water{background:var(--el-water)}.bal-fill.mo{background:var(--aurora)}.bal-val{text-align:right;font-size:var(--fs-14)}.bal-members{grid-column:2 / span 2;font-size:var(--fs-12)}.hemi{display:grid;grid-template-columns:1fr 1fr;gap:8px}.hemi div{display:flex;justify-content:space-between;padding:8px 10px;border:1px solid var(--line);border-radius:var(--r-sm);font-size:var(--fs-14)}.balances-note{grid-column:1 / -1;font-size:var(--fs-13);margin:0}.sky-strip{padding:12px 14px;margin:14px 0 18px;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.sky-moon{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}.sky-moon svg{color:var(--gold)}.sky-planets{list-style:none;padding:0;margin:0 0 0 auto;display:flex;flex-wrap:wrap;gap:8px 12px;font-size:var(--fs-13);color:var(--ink-soft)}.sky-planets li{display:inline-flex;align-items:center;gap:4px}.sky-planets svg{color:var(--ink-faint)}.learn-topics{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:32px}.learn-topic{padding:16px 18px}.learn-topic h3{font-size:var(--fs-20)}.learn-topic p{margin:0;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-normal)}.learn-search input{padding:9px 12px;border-radius:999px;border:1px solid var(--field-line);background:var(--field-bg);color:var(--ink);font:inherit;min-width:220px}.learn-count{margin:0 0 8px;font-size:var(--fs-14)}.glossary-list{margin:0}.glossary-item{padding:10px 0;border-bottom:1px solid var(--line)}.glossary-item.is-target{background:var(--overlay);margin:0 -10px;padding-left:10px;padding-right:10px;border-radius:var(--r-sm)}.glossary-item dt{font-weight:600;text-transform:capitalize}.glossary-item dt a{color:var(--gold);text-decoration:none}.glossary-item dd{margin:3px 0 0;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-normal)}.glossary-example{display:block;margin-top:4px;color:var(--ink-faint);font-size:var(--fs-14)}.glossary-example-label{color:var(--gold);font-weight:600}.learn-group{font-size:var(--fs-20);margin:22px 0 2px}.learn-group-note{margin:0 0 4px;font-size:var(--fs-14)}.learn-group+.glossary-list,.learn-group-note+.glossary-list{margin-bottom:8px}html[data-motion=reduce] *,html[data-motion=reduce] *:before,html[data-motion=reduce] *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.sky-hero{position:relative;padding-top:8px;padding-bottom:8px;overflow:hidden}.sky-hero .halo{top:44%}.sky-hero-inner{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) var(--rail-w);gap:24px;align-items:start;max-width:var(--content-w);margin:0 auto}.sky-rail{position:sticky;top:16px}@media (max-width: 899px){.sky-hero-inner{grid-template-columns:1fr}.sky-rail{position:static}}.scrubber{max-width:640px;margin:14px auto 0;padding:12px 14px}.scrub-row{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center}.scrub-play{width:44px;height:44px;flex:none;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel-solid);color:var(--gold);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.scrub-play:hover{border-color:var(--gold)}.scrub-range{width:100%;height:44px;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:none;cursor:pointer}.scrub-range::-webkit-slider-runnable-track{height:6px;border-radius:999px;background:var(--overlay-strong);border:1px solid var(--line)}.scrub-range::-moz-range-track{height:6px;border-radius:999px;background:var(--overlay-strong);border:1px solid var(--line)}.scrub-range::-webkit-slider-thumb{-webkit-appearance:none;width:28px;height:28px;margin-top:-12px;border-radius:50%;background:var(--gold);border:1px solid var(--gold-strong);box-shadow:var(--shadow-thumb)}.scrub-range::-moz-range-thumb{width:28px;height:28px;border-radius:50%;background:var(--gold);border:1px solid var(--gold-strong);box-shadow:var(--shadow-thumb)}.scrub-range:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px;border-radius:999px}.scrub-speeds{display:inline-flex;gap:4px}.scrub-speed{min-width:44px;min-height:44px;padding:5px 9px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--ink-soft);font:inherit;font-size:var(--fs-12);cursor:pointer}.scrub-speed.on{border-color:var(--gold);color:var(--gold)}.scrub-meta{display:flex;align-items:center;gap:10px;margin-top:8px;font-size:var(--fs-14)}.scrub-chip{min-height:44px;padding:4px 14px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--ink-soft);font:inherit;font-size:var(--fs-12);cursor:pointer}.scrub-chip:hover{border-color:var(--gold);color:var(--gold)}.scrub-date{color:var(--ink);font-weight:600}.scrub-offset{margin-left:auto}.hits{list-style:none;padding:0;margin:0;display:grid;gap:2px}.hit{border-radius:var(--r-sm);font-size:var(--fs-14)}.hit-open{display:grid;grid-template-columns:auto auto 1fr auto auto;gap:10px;align-items:center;width:100%;min-height:44px;padding:9px 10px;border:0;border-radius:inherit;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.hit-open:focus-visible{outline:2px solid var(--gold-strong);outline-offset:-2px}@media (max-width: 560px){.hit-open{grid-template-columns:auto 1fr auto auto}.hit-open .hit-when{grid-column:1 / -1}}@media (hover: hover){.hit-open:hover{background:var(--overlay-strong)}}@media (hover: hover){.hit-open:hover .hit-why{color:var(--gold)}}.hit:nth-child(odd){background:var(--overlay)}.hit-when{color:var(--ink-soft);font-size:var(--fs-13)}.hit-pair{display:inline-flex;align-items:center;gap:5px;color:var(--ink)}.hit-angle{font-size:var(--fs-12);font-weight:700;color:var(--gold);letter-spacing:.04em}.hit-text{min-width:0}.hit-meta{display:inline-flex;gap:6px;align-items:baseline;color:var(--ink-soft);font-size:var(--fs-13);white-space:nowrap}.hit-dir.applying{color:var(--good)}.hit-dir.separating{color:var(--ink-faint)}.hit-pass{font-size:var(--fs-12);color:var(--ink-faint);white-space:nowrap}.hit-hard .hit-pair{color:var(--asp-hard)}.hit-soft .hit-pair{color:var(--asp-soft)}.hit-conjunction .hit-pair{color:var(--asp-conj)}.sky-rail .hit{font-size:var(--fs-14)}.sky-rail .hit-open{grid-template-columns:auto 1fr auto auto}.sky-rail .hit-when{grid-column:1 / -1}@media (max-width: 560px){.hit-open .hit-pass--words{grid-column:1 / -1;white-space:normal}}.sky-rail .hit-open .hit-pass--words{grid-column:1 / -1;white-space:normal}.cal-strip{list-style:none;display:flex;gap:4px;padding:0 0 6px;margin:0;overflow-x:auto;scroll-snap-type:x proximity}.cal-cell{scroll-snap-align:start;width:44px;min-height:52px;flex:none;display:grid;gap:4px;place-items:center;padding:7px 0;border-radius:var(--r-sm);border:1px solid var(--line);background:color-mix(in srgb,var(--gold) calc(var(--i) * 22%),transparent);color:var(--ink);font:inherit;cursor:pointer}.cal-cell.is-empty{background:none;color:var(--ink-faint)}.cal-cell.is-selected{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.cal-day{font-size:var(--fs-13)}.cal-dots{display:inline-flex;gap:3px;min-height:6px}.cal-dot{width:6px;height:6px;border-radius:50%}.cal-dot.hard{background:var(--asp-hard)}.cal-dot.soft{background:var(--asp-soft)}.events-list{list-style:none;padding:0;margin:0;display:grid;gap:2px}.event{display:grid;grid-template-columns:auto auto 1fr auto;gap:10px;align-items:center;padding:9px 10px;border-radius:var(--r-sm);font-size:var(--fs-14)}.event:nth-child(odd){background:var(--overlay)}.event-date{color:var(--ink-soft);font-size:var(--fs-13);white-space:nowrap}.event-body{color:var(--gold);display:inline-flex}.event-eclipse .event-title{color:var(--gold);font-weight:600}.event-station .event-title{color:var(--asp-hard)}.loops{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.loop{padding:14px 16px}.loop h3{display:flex;align-items:center;gap:8px;font-size:var(--fs-18);margin-bottom:6px}.loop p{margin:2px 0;font-size:var(--fs-14)}.mode-tabs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:0 0 18px}.tab-subtitle{margin:-8px 0 8px;color:var(--heading);font-family:var(--font-body);font-size:var(--fs-16);font-weight:600}.tab-help{margin:-4px 0 12px;font-size:var(--fs-14)}.mode-tab{min-height:44px;display:inline-flex;align-items:center;padding:8px 16px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);font:inherit;font-size:var(--fs-14);cursor:pointer}.mode-tab.active{border-color:var(--gold);color:var(--gold)}.date-inline{margin-left:auto}.date-inline input,.date-inline select{min-height:44px;box-sizing:border-box;padding:7px 12px;border-radius:999px;border:1px solid var(--field-line);background:var(--field-bg);color:var(--ink);font:inherit;font-size:var(--fs-16)}.year-input{width:6.5em}.moon-dial{display:grid;place-items:center;margin:10px 0}.dial-ring{fill:none;stroke:var(--line-strong);stroke-width:1.5}.dial-tick{stroke:var(--ink-faint);stroke-width:1}.dial-marker{fill:var(--gold);filter:drop-shadow(0 0 6px var(--gold))}.dial-label{fill:var(--ink);font-size:13px;font-weight:600}.dial-sub{fill:var(--ink-soft);font-size:11px}.timeline{list-style:none;padding:0;margin:0;display:grid;gap:2px}.timeline li{display:grid;grid-template-columns:auto 1fr;gap:12px;padding:8px 10px;border-radius:var(--r-sm);font-size:var(--fs-14)}.timeline li:nth-child(odd){background:var(--overlay)}.timeline li span:first-child{color:var(--gold)}.timeline--months li{grid-template-columns:8.5em 1fr}.returns-list{list-style:none;padding:0;margin:0;display:grid;gap:8px}.return-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:12px 14px;font-size:var(--fs-15)}.return-date{color:var(--gold);font-weight:600}.return-num{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--overlay-strong);color:var(--gold);font-size:var(--fs-13);font-weight:700}.return-exact{margin-left:auto;display:inline-flex;gap:8px;color:var(--ink-soft);font-size:var(--fs-13)}.saturn-timeline{margin:8px 0 18px}.sat-bar{position:relative;height:56px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel)}.sat-window{position:absolute;top:8px;bottom:20px;background:color-mix(in srgb,var(--gold) 30%,transparent);border:1px solid var(--gold);border-radius:6px}.sat-label{position:absolute;top:-2px;left:50%;transform:translate(-50%);font-size:var(--fs-12);color:var(--gold)}.sat-now{position:absolute;top:4px;bottom:16px;width:2px;background:var(--aurora)}.sat-now-dot{position:absolute;top:-4px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--aurora)}.sat-tick{position:absolute;bottom:3px;transform:translate(-50%);font-size:var(--fs-11);color:var(--ink-faint)}.reading-section{margin:0 0 20px}.reading-section h3{font-size:var(--fs-20);margin-bottom:6px}.reading-section p{margin:0 0 8px;color:var(--ink-soft);line-height:var(--lh-relaxed);max-width:68ch}@media (prefers-reduced-motion: reduce){.bal-fill{transition:none}}.mode-tab-hint{color:var(--ink-faint)}@media (max-width: 640px){.mode-tab-hint{display:none}}.sect-panel{padding:18px 20px;margin:0 0 22px}.sect-head{display:grid;gap:10px;margin-bottom:14px}.sect-badge{display:inline-flex;align-items:center;gap:8px;align-self:start;padding:6px 14px;border-radius:999px;border:1px solid var(--line);font-size:var(--fs-14);font-weight:600}.sect-badge.is-day{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 45%,transparent)}.sect-badge.is-night{color:var(--aurora);border-color:color-mix(in srgb,var(--aurora) 45%,transparent)}.sect-lede{margin:0;color:var(--ink-soft);line-height:var(--lh-relaxed);max-width:68ch}.prof-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start}@media (min-width: 900px){.prof-wrap{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}}.prof-wheel{width:100%;max-width:580px;margin:0 auto;display:block}.prof-ring{fill:none;stroke:var(--line-strong);stroke-width:1.5}.prof-wedge{fill:var(--panel);stroke:var(--line);stroke-width:1;cursor:pointer;transition:fill .16s ease}.prof-spoke:hover .prof-wedge,.prof-wedge:focus-visible{fill:var(--overlay-strong);outline:none}.prof-spoke.is-sel .prof-wedge{stroke:var(--ink-soft);stroke-width:1.6}.prof-spoke.is-now .prof-wedge{fill:color-mix(in srgb,var(--gold) 24%,transparent);stroke:var(--gold);stroke-width:2}.prof-spoke.is-now .prof-wedge{animation:prof-pulse 2.8s ease-in-out infinite}@keyframes prof-pulse{0%,to{stroke-opacity:1}50%{stroke-opacity:.45}}.prof-sign{color:var(--ink)}.prof-spoke.is-now .prof-sign{color:var(--gold)}.prof-lord{fill:var(--ink-soft);font-size:12px}.prof-spoke.is-now .prof-lord{fill:var(--gold);font-weight:600}.prof-ages{fill:var(--ink-faint);font-size:11px}.prof-month{fill:var(--overlay);stroke:var(--line);stroke-width:.75}.prof-month.is-first{fill:color-mix(in srgb,var(--gold) 18%,transparent)}.prof-centre-age{fill:var(--gold);font-size:22px;font-weight:700}.prof-centre-sub{fill:var(--ink-soft);font-size:13px}.prof-detail{padding:16px 18px}.prof-detail h3{margin:4px 0 8px;font-size:var(--fs-20)}.zr-row{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;align-items:center;margin:0 0 10px}@media (max-width: 640px){.zr-row{grid-template-columns:minmax(0,1fr);gap:4px}}.zr-row-label{font-size:var(--fs-12);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.zr-bar{position:relative;display:flex;height:42px;border-radius:var(--r-md);overflow:hidden;border:1px solid var(--line);background:var(--panel)}.zr-seg{position:relative;display:grid;place-items:center;min-width:3px;border:0;border-right:1px solid var(--line);background:var(--overlay);color:var(--ink-soft);font:inherit;font-size:var(--fs-12);padding:0;cursor:pointer;overflow:hidden}.zr-seg:last-child{border-right:0}.zr-bar[role=list] .zr-seg{cursor:default}.zr-seg:hover{background:var(--overlay-strong)}.zr-seg.is-angular{background:color-mix(in srgb,var(--aurora) 22%,transparent)}.zr-seg.is-peak{background:color-mix(in srgb,var(--gold) 30%,transparent);color:var(--gold)}.zr-seg.is-lob{border-right:2px dashed var(--gold)}.zr-seg.is-sel{box-shadow:inset 0 0 0 2px var(--ink-soft)}.zr-seg.is-now{box-shadow:inset 0 0 0 2px var(--gold)}.zr-seg-label{pointer-events:none}.zr-star{position:absolute;top:1px;right:3px;font-size:var(--fs-10);color:var(--gold)}.zr-now{position:absolute;top:0;bottom:0;width:2px;background:var(--aurora);pointer-events:none}.zr-note{margin:0 0 16px;padding:12px 14px;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--r-md);background:var(--overlay);color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-normal)}.zr-note strong{color:var(--ink)}.zr-legend{display:flex;flex-wrap:wrap;gap:14px;margin:10px 0 18px;font-size:var(--fs-12);color:var(--ink-faint)}.zr-legend span{display:inline-flex;align-items:center;gap:6px}.zr-key{width:14px;height:10px;border-radius:3px;border:1px solid var(--line);display:inline-block}.zr-key.is-peak{background:color-mix(in srgb,var(--gold) 30%,transparent);border-color:var(--gold)}.zr-key.is-angular{background:color-mix(in srgb,var(--aurora) 22%,transparent)}.zr-key.is-lob{border-right:2px dashed var(--gold)}.zr-key.is-now{background:var(--aurora);width:3px}.zr-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px;margin:0 0 22px}.zr-cards h3{display:flex;align-items:center;gap:8px;font-size:var(--fs-18);margin:4px 0 6px}.fd-seg{border-right-color:var(--line)}.fd-Sun{background:color-mix(in srgb,var(--gold) 26%,transparent)}.fd-Moon{background:color-mix(in srgb,var(--aurora) 20%,transparent)}.fd-Mercury{background:color-mix(in srgb,var(--el-air) 24%,transparent)}.fd-Venus{background:color-mix(in srgb,var(--el-earth) 24%,transparent)}.fd-Mars{background:color-mix(in srgb,var(--el-fire) 24%,transparent)}.fd-Jupiter{background:color-mix(in srgb,var(--good) 20%,transparent)}.fd-Saturn{background:color-mix(in srgb,var(--el-water) 24%,transparent)}.fd-NorthNode,.fd-SouthNode{background:var(--overlay-strong)}.almuten{padding:18px 20px;margin:0 0 24px}.almuten h2{display:flex;align-items:center;gap:10px;margin:6px 0 8px}.almuten-table th[scope=col],.almuten-table td{text-align:center}.almuten-total th,.almuten-total td{border-top:1px solid var(--line-strong);font-weight:700}.acc-cell{min-width:22ch}.acc-chips{display:flex;flex-wrap:wrap;gap:3px;width:30ch;max-width:100%}.acc-chips .chip{margin:0}.dignity-note{display:block;max-width:34ch;margin-top:4px;font-size:var(--fs-13);line-height:var(--lh-normal)}.alm-asc th,.alm-asc td{background:var(--overlay)}@media (max-width: 600px){.prof-ages{display:none}.zr-legend{gap:8px 12px}}@media (prefers-reduced-motion: reduce){.prof-spoke.is-now .prof-wedge{animation:none}.prof-wedge{transition:none}}.pair-picker{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:end;margin:0 0 18px}.pair-slot{display:grid;gap:5px;min-width:0}.pair-slot-label{font-size:var(--fs-12);color:var(--ink-faint);text-transform:uppercase;letter-spacing:.06em}.pair-slot select{width:100%;padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--field-line);background:var(--field-bg);color:var(--ink);font:inherit;font-size:var(--fs-16)}.pair-swap{height:44px;width:44px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);font-size:var(--fs-16);cursor:pointer}.pair-swap:hover{border-color:var(--gold);color:var(--gold)}.pair-heads{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:10px;margin:0 0 14px}.pair-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel)}.pair-dot{width:10px;height:10px;border-radius:50%;flex:none}.pair-dot--a{background:var(--gold)}.pair-dot--b{background:var(--aurora)}.pair-head--a{border-left:3px solid var(--gold)}.pair-head--b{border-left:3px solid var(--aurora)}.pair-big3{display:flex;flex-wrap:wrap;gap:10px;margin-left:auto;font-size:var(--fs-13);color:var(--ink-soft)}.pair-big3-item{display:inline-flex;align-items:center;gap:3px}.score-ring{display:grid;justify-items:center;gap:4px}.score-ring svg{width:100%;max-width:190px}.sr-track{fill:none;stroke:var(--line);stroke-width:12}.sr-fill{fill:none;stroke:var(--gold);stroke-width:12;stroke-linecap:round;filter:drop-shadow(0 0 8px color-mix(in srgb,var(--gold) 45%,transparent))}.sr-num{fill:var(--ink);font-size:46px;font-weight:700}.sr-of{fill:var(--ink-faint);font-size:12px}.sr-verdict{margin:2px 0 8px;font-size:var(--fs-16);font-weight:600;color:var(--gold);text-align:center}.sr-split{display:flex;width:100%;max-width:220px;height:8px;border-radius:999px;overflow:hidden;border:1px solid var(--line)}.sr-harmony{background:var(--good)}.sr-friction{background:var(--low)}.sr-split-key{display:flex;justify-content:space-between;width:100%;max-width:220px;margin:4px 0 0;font-size:var(--fs-12)}.cat-list{list-style:none;padding:0;margin:0 0 12px;display:grid;gap:10px}.cat-row{display:grid;grid-template-columns:minmax(0,1fr) 160px 2.5em;gap:12px;align-items:center;font-size:var(--fs-14)}@media (max-width: 700px){.cat-row{grid-template-columns:minmax(0,1fr) 2.5em}.cat-label{grid-column:1;grid-row:1}.cat-score{grid-column:2;grid-row:1}.cat-bar{grid-column:1 / -1;grid-row:2}}.cat-bar{position:relative;height:12px;border-radius:999px;background:var(--overlay);border:1px solid var(--line);overflow:hidden}.cat-fill{display:block;height:100%;border-radius:999px}.cat-fill.is-good{background:var(--good)}.cat-fill.is-mid{background:var(--mid)}.cat-fill.is-low{background:var(--low)}.cat-mid-tick{position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--line-strong)}.cat-score{text-align:right;color:var(--ink-soft)}.grid-wrap{margin:0 0 12px}.grid-axis-note{display:flex;gap:16px;margin:0 0 8px;font-size:var(--fs-12);color:var(--ink-faint)}.grid-axis-a{border-left:3px solid var(--gold);padding-left:7px}.grid-axis-b{border-left:3px solid var(--aurora);padding-left:7px}.aspect-grid{border-collapse:collapse;font-size:var(--fs-13)}.aspect-grid th{padding:4px;color:var(--ink-soft);font-weight:500;text-align:center}.aspect-grid thead th{height:44px;border-bottom:1px solid var(--line)}.aspect-grid tbody th{min-width:44px;border-right:1px solid var(--line)}.grid-abbr{font-size:var(--fs-12)}.aspect-grid td{padding:0;width:30px;height:30px;text-align:center}.ag-empty{background:var(--overlay);border:1px solid transparent}.ag-cell button{width:28px;height:28px;display:grid;place-items:center;border:0;border-radius:5px;background:currentColor;color:inherit;cursor:pointer;padding:0}.ag-cell button .glyph{color:var(--bg)}.ag-soft{color:var(--good)}.ag-hard{color:var(--low)}.ag-mixed{color:var(--mid)}.ag-cell button[aria-pressed=true]{outline:2px solid var(--ink);outline-offset:1px}.grid-detail{min-height:2.4em;margin:8px 0 4px;font-size:var(--fs-14);color:var(--ink-soft)}.grid-legend{display:flex;gap:14px;font-size:var(--fs-12);color:var(--ink-faint)}.grid-legend span{display:inline-flex;align-items:center;gap:6px}.ag-key{width:12px;height:12px;border-radius:3px;display:inline-block;background:currentColor}.overlay-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}.overlay-col h3{font-size:var(--fs-16);margin:0 0 8px}.overlay-list{list-style:none;padding:0;margin:0;display:grid;gap:6px}.overlay-row{display:grid;grid-template-columns:30px auto minmax(0,1fr);gap:10px;align-items:center;padding:10px 12px;font-size:var(--fs-14)}.overlay-house{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:var(--overlay-strong);color:var(--gold);font-size:var(--fs-13);font-weight:700}.overlay-bodies{display:inline-flex;gap:3px}.overlay-text{color:var(--ink-soft);line-height:var(--lh-normal)}.comp-big3{display:grid;gap:4px}.comp-big3-item{display:inline-flex;align-items:center;gap:6px}.invite-hero{border:1px solid var(--line);border-radius:var(--r-md);padding:18px 20px;background:var(--panel)}.offer-points{margin:0 0 14px;padding-left:20px;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-relaxed)}.offer-focus{display:grid;gap:5px;margin:0 0 14px;font-size:var(--fs-14);color:var(--ink-soft)}.offer-focus input{padding:9px 12px;border-radius:var(--r-sm);border:1px solid var(--field-line);background:var(--field-bg);color:var(--ink);font:inherit}@media (prefers-reduced-motion: reduce){.sr-fill{transition:none}}.dial-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;align-items:start;margin:0 0 22px}@media (min-width: 900px){.dial-wrap{grid-template-columns:minmax(0,1.1fr) minmax(260px,.9fr)}}.dial{width:100%;max-width:440px;margin:0 auto;display:block}.dial-ring{fill:none;stroke:var(--line-strong);stroke-width:1.2}.dial-tick{stroke:var(--ink-faint);stroke-width:.8}.dial-tick-major{stroke:var(--ink-soft);stroke-width:1.4}.dial-deg{fill:var(--ink-faint);font-size:10px}.dial-mid{stroke:var(--gold);stroke-width:2}.dial-body{color:var(--ink-soft);cursor:pointer}.dial-hit{fill:transparent}.dial-body.is-on{color:var(--gold)}.dial-body.is-sel{color:var(--aurora)}.dial-body:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}.dial-centre{fill:var(--ink);font-size:15px;font-weight:600}.dial-centre-sub{fill:var(--ink-faint);font-size:11px}.dial-detail{padding:16px 18px}.dial-hits{list-style:none;padding:0;margin:6px 0 0;display:grid;gap:6px;font-size:var(--fs-14)}.decl-wrap{margin:0 0 20px}.decl{width:100%;display:block}.decl-band{fill:color-mix(in srgb,var(--gold) 8%,transparent)}.decl-equator{stroke:var(--line-strong);stroke-width:1.4}.decl-limit{stroke:var(--gold);stroke-width:1;stroke-dasharray:4 4;opacity:.7}.decl-axis{fill:var(--ink-faint);font-size:11px}.decl-stem{stroke:var(--line);stroke-width:1}.decl-body{color:var(--ink-soft)}.decl-body.is-oob{color:var(--gold)}.decl-body.is-oob .decl-stem{stroke:var(--gold)}.decl-value{fill:currentColor;font-size:10px}.star-mag{width:12px;height:12px;border-radius:50%;background:var(--gold);flex:none;box-shadow:0 0 8px color-mix(in srgb,var(--gold) 60%,transparent)}.star-sig{min-width:22ch;max-width:46ch;white-space:normal;line-height:var(--lh-normal)}.acg-toggles{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}.acg-toggle{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:var(--ink-faint);cursor:pointer}.acg-toggle.active{border-color:var(--gold);color:var(--gold)}.acg-map-wrap{margin:0 0 12px}.acg-map{width:100%;display:block;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel)}.acg-sea{fill:color-mix(in srgb,var(--el-water) 8%,transparent)}.acg-land{fill:var(--overlay-strong);stroke:var(--line);stroke-width:.3}.acg-grid{stroke:var(--line);stroke-width:.2}.acg-equator{stroke:var(--line-strong);stroke-width:.35}.acg-line{fill:none;stroke-width:.7;opacity:.85;cursor:pointer;vector-effect:non-scaling-stroke}.acg-line:hover,.acg-line.is-hover{stroke-width:2.2;opacity:1}.acg-line-hit{fill:none;stroke:transparent;stroke-width:12;vector-effect:non-scaling-stroke;cursor:pointer}.acg-mc{stroke:var(--gold)}.acg-ic{stroke:var(--el-earth)}.acg-asc{stroke:var(--aurora)}.acg-dsc{stroke:var(--el-fire)}.acg-home circle{fill:var(--gold)}.acg-home-ring{fill:none;stroke:var(--gold);stroke-width:.4;opacity:.8}.acg-hover{min-height:1.6em;margin:8px 0 0;font-size:var(--fs-14);color:var(--ink-soft)}.acg-chip-mc{color:var(--gold);border-color:color-mix(in srgb,var(--gold) 40%,transparent)}.acg-chip-ic{color:var(--el-earth);border-color:color-mix(in srgb,var(--el-earth) 40%,transparent)}.acg-chip-asc{color:var(--aurora);border-color:color-mix(in srgb,var(--aurora) 40%,transparent)}.acg-chip-dsc{color:var(--el-fire);border-color:color-mix(in srgb,var(--el-fire) 40%,transparent)}.earth-mark{color:var(--el-water);font-size:var(--fs-16)}.explore-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:grid;place-items:center;padding:20px;background:var(--scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:sheet-fade .18s ease;overflow-y:auto}.explore-modal{width:min(440px,100%);max-height:min(88dvh,720px);display:flex;flex-direction:column;background:var(--panel-solid, var(--panel-2));border:1px solid var(--line-strong);border-radius:var(--r-lg, 20px);box-shadow:var(--shadow-pop);animation:modal-rise .22s cubic-bezier(.32,.72,0,1)}@keyframes modal-rise{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.explore-modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px 10px}.explore-modal-head h3{margin:0;font-size:var(--fs-20);color:var(--ink)}.explore-close{flex:none;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:transparent;color:var(--ink-faint);font-size:var(--fs-15);cursor:pointer}@media (hover: hover){.explore-close:hover{color:var(--ink);border-color:var(--line-strong)}}.explore-modal-body{padding:0 20px 20px;overflow-y:auto;-webkit-overflow-scrolling:touch}@media (max-width: 480px){.explore-overlay{place-items:end center;padding:0}.explore-modal{width:100%;max-height:92dvh;border-radius:20px 20px 0 0;border-bottom:none;padding-bottom:env(safe-area-inset-bottom,0px)}@keyframes modal-rise{0%{transform:translateY(100%)}to{transform:none}}}@media (prefers-reduced-motion: reduce){.explore-overlay,.explore-modal{animation:none}}.chip--term{cursor:help;border-bottom-style:dashed;text-decoration:underline dotted currentColor 1px;text-underline-offset:2px}.chip--term:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}@media (hover: hover){.chip--term:hover{border-color:currentColor}}.aspect-sheet{width:min(520px,100%)}.aspect-sheet-title{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:var(--fs-18)}.aspect-sheet-meta{margin:0 0 14px;color:var(--ink-faint);font-size:var(--fs-14)}.aspect-sheet-section{margin:0 0 16px}.aspect-sheet-section h4{margin:0 0 5px;font-size:var(--fs-15);color:var(--gold);font-weight:600}.aspect-sheet-section p{margin:0;color:var(--ink-soft);line-height:var(--lh-relaxed);font-size:var(--fs-15)}.aspect-sheet-bodies{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:var(--fs-15);color:var(--ink-soft)}.aspect-sheet-bodies li{display:flex;align-items:baseline;gap:6px}.aspect-sheet-links{margin:0 0 10px;font-size:var(--fs-14)}.asp-cell{cursor:pointer}@media (max-width: 899px){.explore-overlay--aspect{place-items:end center;padding:0;background:var(--scrim-soft);-webkit-backdrop-filter:none;backdrop-filter:none}.explore-overlay--aspect .aspect-sheet{width:100%;max-width:560px;max-height:46dvh;border-radius:20px 20px 0 0;border-bottom:none;padding-bottom:env(safe-area-inset-bottom);transition:max-height .26s cubic-bezier(.32,.72,0,1);animation:sheet-rise .28s cubic-bezier(.32,.72,0,1)}.explore-overlay--aspect .aspect-sheet--full{max-height:92dvh}.aspect-sheet .explore-modal-head{padding-top:6px}}@media (min-width: 900px){.explore-overlay--aspect{place-items:center end;padding:20px 24px}.explore-overlay--aspect .aspect-sheet{width:min(520px,max(340px,calc((100vw - var(--content-w)) / 2 + var(--rail-w) - 24px)))}.aspect-sheet-grab{display:none}}.aspect-sheet-grab{order:-1;width:100%;padding:8px 16px 0;border:0;background:none;cursor:grab;touch-action:none}.aspect-sheet-grabber{display:block;width:40px;height:5px;margin:2px auto 0;border-radius:3px;background:var(--ink-soft);opacity:.5}@media (prefers-reduced-motion: reduce){.explore-overlay--aspect .aspect-sheet{transition:none;animation:none}}.info-aspects li{display:flex;align-items:center;gap:4px}.info-aspects .info-asp{flex:1 1 auto;min-width:0}.info-asp-why,.info-asp-go,.grid-why{flex:none;display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:999px;background:transparent;color:var(--ink-faint);font:inherit;font-size:var(--fs-12);cursor:pointer}.info-asp-why,.info-asp-go{width:44px;height:44px;justify-content:center}.grid-why{margin-left:8px;min-height:44px;padding:3px 12px;border-color:var(--line)}@media (hover: hover){.info-asp-why:hover,.info-asp-go:hover,.grid-why:hover{color:var(--gold);border-color:var(--line-strong)}}.info-asp-why:focus-visible,.info-asp-go:focus-visible,.grid-why:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}.hit-why{display:inline-grid;place-items:center;color:var(--ink-faint)}.hit-open .hit-why{grid-row:1;grid-column:-1;align-self:center}.hits--prose .hit{display:grid;grid-template-columns:auto 1fr auto;gap:2px 10px;align-items:start;padding:8px 10px}.hits--prose .hit-when{grid-column:1 / -1}.hits--prose .hit-pair{padding-top:2px}.hits--prose .hit-why{min-width:44px;min-height:44px;margin:-12px -10px -12px 0;border:0;background:none;font:inherit;cursor:pointer}.report-controls{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px}.report-note{color:var(--ink-faint);font-size:var(--fs-13)}.cal-day-panel{margin:12px 0 0;padding:12px 12px 8px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--panel)}.cal-day-title{margin:0 0 6px;font-size:var(--fs-16);color:var(--ink)}.cal-day-open{margin:10px 0 0}.reading-hits{margin:0 0 8px}.reading-hits .hit-text{white-space:normal}.term-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0;font-size:var(--fs-13);color:var(--ink-faint)}.term-legend-lead{color:var(--ink-faint)}.chip--term-small{font-size:var(--fs-12);padding:2px 9px}.aspect-sheet-note{margin:0 0 4px;color:var(--gold);font-size:var(--fs-14)}.sheet-plain{margin:0 0 16px;color:var(--ink);font-size:var(--fs-16);line-height:var(--lh-relaxed);max-width:58ch}.sheet-plain-part{margin:0 0 14px}.sheet-plain-part h4{margin:0 0 4px;font-size:var(--fs-13);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--gold)}.sheet-plain-part p{margin:0;color:var(--ink);font-size:var(--fs-16);line-height:var(--lh-relaxed);max-width:58ch}.sheet-full{margin:4px 0 16px}.sheet-full>summary{cursor:pointer;color:var(--gold);font-size:var(--fs-15);font-weight:600;padding:8px 0;list-style:none;min-height:44px;display:flex;align-items:center;gap:6px}.sheet-full>summary::-webkit-details-marker{display:none}.sheet-full>summary:before{content:"›";display:inline-block;transition:transform .15s;color:var(--ink-faint)}.sheet-full[open]>summary:before{transform:rotate(90deg)}.sheet-full>summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}.sheet-full>.aspect-sheet-section:first-of-type{margin-top:8px}.load-failure{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:10px;padding:18px 16px;font-size:var(--fs-15)}.load-retry{min-height:44px;padding:10px 18px;border-radius:999px;border:1px solid var(--line-strong);background:var(--overlay);color:var(--ink);font:inherit;font-weight:600;cursor:pointer}@media (hover: hover){.load-retry:hover{background:var(--overlay-strong);border-color:var(--gold)}}.computed-reading{margin:4px 0 8px}.reading-summary{font-size:var(--fs-18);color:var(--ink);max-width:62ch}.reading-range{margin:0;font-size:var(--fs-14);letter-spacing:.02em}.reading-areas{margin:20px 0 24px}.reading-areas h3{font-size:var(--fs-20);margin-bottom:10px}.area-scores{margin:0}.area-scores .cat-label{line-height:var(--lh-normal)}.app-footer{max-width:68ch;margin:48px 0 0;padding:24px 0 8px;border-top:1px solid var(--line)}.app-footer p{margin:0 0 10px}.app-footer p:last-child{margin-bottom:0}.footer-meta{color:var(--ink-soft);font-size:var(--fs-14)}.footer-more{color:var(--ink-faint);font-size:var(--fs-13);line-height:var(--lh-normal)}.footer-more a{color:var(--ink-soft)}.footer-more a:hover{color:var(--ink)}.footer-app{display:inline-block;max-width:100%}@media (max-width: 720px){.app-footer{margin-top:36px;padding:20px 0 4px}}.app-footer .footer-more a{display:inline-flex;align-items:center;min-height:44px;padding:0 1px}.page-back-bar{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;margin:0 -20px 4px;padding:4px 20px 6px;background:color-mix(in srgb,var(--bg-1) 86%,transparent);-webkit-backdrop-filter:blur(18px) saturate(1.3);backdrop-filter:blur(18px) saturate(1.3);border-bottom:1px solid var(--line)}.page-back{display:inline-flex;align-items:center;gap:2px;min-height:44px;padding:6px 14px 6px 6px;border:none;border-radius:999px;background:none;color:var(--gold);font:inherit;font-size:var(--fs-15);font-weight:600;cursor:pointer}.page-back-chev{display:inline-flex;transform:rotate(180deg)}@media (hover: hover){.page-back:hover{color:var(--gold-strong)}}.page-back:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}.confirm-dialog{width:min(400px,100%)}.confirm-body{padding:24px 22px 6px}.confirm-title{margin:0;font-size:var(--fs-20);color:var(--ink)}.confirm-text{margin:10px 0 0;color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-normal)}.confirm-text p{margin:0 0 8px}.confirm-actions{display:flex;gap:10px;padding:18px 22px 22px}.confirm-cancel,.confirm-go{flex:1;min-height:44px;padding:11px 16px;border-radius:12px;font:inherit;font-weight:600;cursor:pointer}.confirm-cancel{border:1px solid var(--line-strong);background:var(--overlay);color:var(--ink)}@media (hover: hover){.confirm-cancel:hover{background:var(--overlay-strong)}}.confirm-go{border:1px solid transparent;background:var(--gold);color:var(--gold-ink)}.confirm-go--destructive{background:var(--low);color:var(--low-ink)}@media (hover: hover){.confirm-go:hover{filter:brightness(1.1)}}.page-today{padding-top:4px}.today-main,.today-rail{min-width:0}@media (min-width: 1100px){.page-today{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,400px);column-gap:48px;align-items:start}.page-today>.today-head{grid-column:1 / -1}.today-rail{position:sticky;top:calc(var(--topbar-h, 66px) + 12px)}.today-rail .chart-section:first-child{margin-top:0}}.today-head{margin:4px 0 16px}.today-head h1{margin:0}.today-head .eyebrow{margin-bottom:6px}.today-head-row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.today-head-titles{min-width:0}.streak-mark{flex:none;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:44px;padding:0 14px 0 11px;margin-top:2px;border:1px solid var(--gold-line);border-radius:22px;background:var(--gold-tint-faint);color:var(--gold-strong);font:inherit;font-size:var(--fs-16);font-weight:600;line-height:var(--lh-none);cursor:pointer;-webkit-tap-highlight-color:transparent}.streak-mark:hover{background:var(--gold-tint)}.streak-mark:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.streak-mark .moon-phase{display:block}.streak-mark.is-quiet{width:44px;padding:0;border-color:var(--line);background:transparent}.streak-mark-n{min-width:1ch}.streak-moment{display:flex;align-items:flex-start;gap:8px;margin-top:14px;padding-top:10px;border-top:1px solid var(--gold)}.streak-moment p{flex:1;margin:0;font-size:var(--fs-15);line-height:var(--lh-normal);color:var(--ink-soft)}.streak-moment strong{color:var(--gold-strong);font-weight:600}.streak-moment-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin:-12px -12px 0 0;border:0;border-radius:22px;background:none;color:var(--ink-faint);cursor:pointer}.streak-moment-close:hover{color:var(--ink)}@media (prefers-reduced-motion: no-preference){.streak-moment{animation:streak-moment-in .7s ease-out both}}@keyframes streak-moment-in{0%{opacity:0}to{opacity:1}}.streak-sheet{padding-bottom:8px}.streak-sheet p{margin:0 0 10px}.streak-sheet-count{font-size:var(--fs-24);font-weight:600;color:var(--ink)}.streak-sheet-h{margin:18px 0 10px;font-family:var(--font-body);font-size:var(--fs-12);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.streak-dots{list-style:none;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:0 0 10px;padding:0}.streak-dot{display:flex;flex-direction:column;align-items:center;gap:6px}.streak-dot-mark{display:inline-block;flex:none;width:16px;height:16px;border-radius:50%;border:1.5px solid var(--line-strong);background:transparent;box-sizing:border-box}.streak-dot.is-checked .streak-dot-mark,.streak-dot.is-today-checked .streak-dot-mark,.streak-dot-mark.is-checked{background:var(--gold);border-color:var(--gold)}.streak-dot.is-missed .streak-dot-mark,.streak-dot-mark.is-missed{border-color:var(--line-strong)}.streak-dot.is-rest .streak-dot-mark,.streak-dot-mark.is-rest{border:1.5px dashed var(--gold)}.streak-dot.is-today .streak-dot-mark,.streak-dot.is-today-checked .streak-dot-mark{box-shadow:0 0 0 3px var(--gold-tint-strong)}.streak-dot.is-today .streak-dot-mark{border-color:var(--gold)}.streak-dot-day{font-size:var(--fs-12);color:var(--ink-faint)}.streak-dot.is-today .streak-dot-day,.streak-dot.is-today-checked .streak-dot-day{color:var(--ink);font-weight:600}.streak-legend{list-style:none;display:flex;flex-wrap:wrap;gap:6px 16px;margin:0 0 16px;padding:0;font-size:var(--fs-13)}.streak-legend li{display:inline-flex;align-items:center;gap:6px}.streak-legend .streak-dot-mark{width:12px;height:12px}.streak-sheet-next{font-weight:600;color:var(--ink)}.streak-sheet-settings a{color:inherit}.today-moon{display:flex;align-items:center;gap:16px;padding:16px 18px;margin:0 0 18px;min-height:108px}.today-moon>.status{flex:1;margin:0;padding:0}.moon-phase{flex:none}.moon-dark{fill:var(--moon-shadow)}.moon-lit{fill:var(--moon-light)}.moon-rim{fill:none;stroke:var(--ink-faint);stroke-width:1}.today-moon-copy strong{display:block;font-size:var(--fs-18);color:var(--heading)}.today-moon-copy p{margin:3px 0 0;color:var(--ink-soft);font-size:var(--fs-15)}.next-up{list-style:none;padding:0;margin:0 0 10px;display:grid;gap:10px}.next-up li{display:contents}.next-card:hover{background:var(--overlay-strong)}.next-card:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}button.next-card,button.passport-link{width:100%;text-align:left;font:inherit;cursor:pointer;border:0;background:none}.next-card{color:inherit;text-decoration:none;display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 16px;align-items:baseline}.next-when{grid-row:1;grid-column:1;font-size:var(--fs-eyebrow);letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--gold)}.next-title{grid-row:2;grid-column:1 / -1;color:var(--heading);font-size:var(--fs-16);line-height:var(--lh-snug)}.next-kind{grid-row:1;grid-column:2;font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.next-date{grid-row:3;grid-column:1 / -1;color:var(--ink-soft);font-size:var(--fs-13)}.next-eclipse{border-color:var(--gold-line)}.next-eclipse .next-when{color:var(--gold-strong)}.next-solar_return .next-when{color:var(--aurora)}.today-doors{display:grid;gap:12px;margin:28px 0 8px}@media (min-width: 620px){.today-doors{grid-template-columns:1fr 1fr}}.today-door{display:grid;gap:4px;padding:16px 18px;text-decoration:none;color:var(--ink)}.today-door strong{color:var(--heading);font-size:var(--fs-16)}.today-door-ico{color:var(--aurora);display:inline-flex}@media (hover: hover){.today-door:hover{border-color:var(--line-strong)}}.today-week{display:flex;align-items:center;gap:14px;padding:14px 18px;margin:0 0 18px;min-height:44px;text-decoration:none;color:var(--ink)}.today-week-ico{flex:none;display:inline-flex;color:var(--gold)}.today-week-copy{display:grid;gap:2px;min-width:0}.today-week-copy .eyebrow{margin-bottom:2px}.today-week-copy strong{color:var(--heading);font-size:var(--fs-16);line-height:var(--lh-snug)}.today-week-copy .muted{font-size:var(--fs-14)}@media (hover: hover){.today-week:hover{border-color:var(--line-strong)}}.page-week{padding-top:4px;max-width:760px}.week-head{margin:4px 0 18px}.week-head h1{margin:0 0 10px}.week-head .eyebrow,.week-theme{margin-bottom:6px}.week-streak{margin:0;color:var(--gold);font-size:var(--fs-14);font-weight:600}.week-pending{margin:0 0 14px;color:var(--ink-soft);font-size:var(--fs-14);font-style:italic}.week-ask{margin:0 0 18px;display:grid;gap:10px;justify-items:center}.week-ask p{margin:0;line-height:var(--lh-normal)}.week-strip{margin:0 0 20px}.week-strip ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.week-strip-day{width:100%;min-height:64px;display:grid;justify-items:center;align-content:center;gap:1px;padding:6px 0;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--overlay);color:var(--ink-soft);font:inherit;cursor:pointer}.week-strip-day:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}@media (hover: hover){.week-strip-day:hover{border-color:var(--line-strong);color:var(--ink)}}.week-strip-day.is-past{opacity:.72}.week-strip-day.is-today{border-color:var(--gold);background:var(--gold-tint);color:var(--heading);opacity:1}.week-strip-day.is-peak .week-strip-tag{color:var(--low)}.week-strip-day.is-quiet .week-strip-tag{color:var(--aurora)}.week-strip-name{font-size:var(--fs-11);letter-spacing:.08em;text-transform:uppercase}.week-strip-num{font-size:var(--fs-18);line-height:var(--lh-none);color:var(--heading)}.week-strip-tag{font-size:var(--fs-10);line-height:var(--lh-snug);min-height:1em;letter-spacing:.04em}.week-chapters{display:grid;gap:12px}.week-chapter{padding:16px 18px 12px;scroll-margin-top:calc(var(--topbar-h, 0px) + 66px)}.week-chapter.is-today{border-color:var(--gold-line);box-shadow:0 0 0 1px var(--gold-line)}.week-chapter.is-folded{padding-bottom:6px}.week-chapter-head .eyebrow{margin-bottom:6px;display:flex;flex-wrap:wrap;align-items:center;gap:6px}.week-chapter-head h2{margin:0;font-size:var(--fs-22);line-height:var(--lh-snug);color:var(--heading)}.week-chip{display:inline-block;padding:1px 8px;border:1px solid var(--line-strong);border-radius:999px;color:var(--ink-soft);letter-spacing:.06em}.week-chip--today{border-color:var(--gold);color:var(--gold-strong)}.week-logged{margin:6px 0 0;color:var(--aurora);font-size:var(--fs-14)}.week-chapter-text{margin:12px 0 8px;max-width:65ch;font-size:var(--fs-16);line-height:var(--lh-relaxed);color:var(--ink)}.week-chapter-moon{margin:8px 0;font-size:var(--fs-14)}.week-chapter-hits h3{margin:12px 0 6px;font-family:inherit;font-size:var(--fs-caption);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.week-chapter-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px}.week-fold{min-height:44px;padding:0}.week-closing{margin:24px 0 8px;font-family:var(--font-display);font-size:var(--fs-20);line-height:var(--lh-snug);color:var(--heading);text-align:center}.week-nav{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 8px}.level-nudge{margin:20px 0 8px;padding:18px 18px 14px}.level-nudge-head strong{display:block;color:var(--heading);font-size:var(--fs-16)}.level-nudge-head p{margin:4px 0 14px;font-size:var(--fs-14);line-height:var(--lh-normal)}.level-nudge-options{display:grid;gap:8px}@media (min-width: 620px){.level-nudge-options{grid-template-columns:repeat(3,1fr)}}.level-option{display:grid;gap:3px;text-align:left;min-height:44px;padding:12px 14px;border-radius:var(--r-sm);border:1px solid var(--line-strong);background:var(--overlay);color:var(--ink);font:inherit;cursor:pointer}@media (hover: hover){.level-option:hover{border-color:var(--gold);background:var(--overlay-strong)}}.level-option-label{font-weight:700}.level-option-blurb{font-size:var(--fs-13);color:var(--ink-soft);line-height:var(--lh-normal)}.level-nudge-skip{margin-top:12px;min-height:44px;padding:8px 4px;border:none;background:none;color:var(--ink-faint);font:inherit;font-size:var(--fs-14);cursor:pointer;text-decoration:underline}@media (hover: hover){.level-nudge-skip:hover{color:var(--ink-soft)}}.page-note{max-width:62ch;margin:18px auto 8px;padding:12px 0 0;border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-relaxed)}.moon-log{margin:22px 0 8px;padding:18px 18px 14px}.moon-log-head strong{display:block;color:var(--heading);font-size:var(--fs-16)}.moon-log-head p{margin:4px 0 14px;font-size:var(--fs-14);line-height:var(--lh-normal)}.moon-log-moods{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.moon-mood{display:grid;justify-items:center;gap:6px;min-height:44px;padding:10px 2px;border-radius:var(--r-sm);border:1px solid var(--line);background:none;color:var(--ink-soft);font:inherit;cursor:pointer}.moon-mood-dot{width:14px;height:14px;border-radius:50%;border:1px solid var(--line-strong);background:var(--overlay)}.moon-mood:nth-child(1) .moon-mood-dot{background:color-mix(in srgb,var(--low) 55%,transparent)}.moon-mood:nth-child(2) .moon-mood-dot{background:color-mix(in srgb,var(--low) 28%,transparent)}.moon-mood:nth-child(3) .moon-mood-dot{background:var(--overlay-strong)}.moon-mood:nth-child(4) .moon-mood-dot{background:color-mix(in srgb,var(--good) 30%,transparent)}.moon-mood:nth-child(5) .moon-mood-dot{background:color-mix(in srgb,var(--good) 60%,transparent)}.moon-mood-label{font-size:var(--fs-12);letter-spacing:.01em;max-width:100%;overflow-wrap:anywhere;text-align:center}.moon-mood.is-picked{border-color:var(--gold);color:var(--ink);background:var(--overlay)}.moon-mood.is-picked .moon-mood-dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--gold) 35%,transparent)}@media (hover: hover){.moon-mood:hover{border-color:var(--line-strong);color:var(--ink)}}.moon-log-note{display:block;margin-top:12px}.moon-log-note input{width:100%;min-height:44px;padding:10px 12px;border-radius:var(--r-sm);border:1px solid var(--field-line);background:var(--field-bg);color:var(--ink);font:inherit;font-size:var(--fs-16)}.moon-log-progress{margin:14px 0 0;color:var(--ink-faint);font-size:var(--fs-13)}.moon-log-pattern{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-relaxed)}.moon-log-pattern strong{color:var(--ink)}.passport{margin:14px 0 0}.passport-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:44px;padding:10px 2px;border:none;border-top:1px solid var(--line);background:none;color:var(--ink-soft);font:inherit;font-size:var(--fs-14);text-align:left;cursor:pointer}@media (hover: hover){.passport-toggle:hover{color:var(--ink)}}.passport-chev{transition:transform .18s var(--ease-out);color:var(--gold)}.passport-chev.open{transform:rotate(180deg)}@media (prefers-reduced-motion: reduce){.passport-chev{transition:none}}.passport-list{list-style:none;padding:0;margin:4px 0 10px;display:grid;gap:2px}.passport-row{display:grid;grid-template-columns:1fr auto;gap:1px 12px;padding:10px;border-radius:var(--r-sm);font-size:var(--fs-14)}.passport-row:nth-child(odd){background:var(--overlay)}.passport-when{grid-row:1;grid-column:1;color:var(--ink-faint);font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase}.passport-kind{grid-row:1;grid-column:2;color:var(--ink-faint);font-size:var(--fs-eyebrow);letter-spacing:.08em;text-transform:uppercase}.passport-title{grid-row:2;grid-column:1 / -1;color:var(--ink)}.passport-date{grid-row:3;grid-column:1 / -1;color:var(--ink-faint);font-size:var(--fs-13)}.chart-progress{margin:18px 0 8px;padding:14px 16px}.chart-progress>summary{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer;list-style:none}.chart-progress>summary::-webkit-details-marker{display:none}.chart-progress-title{display:grid;gap:2px}.chart-progress-title strong{color:var(--heading);font-size:var(--fs-16)}.chart-progress-title .muted{font-size:var(--fs-13);line-height:var(--lh-snug)}.progress-ring{flex:none}.progress-ring-track{fill:none;stroke:var(--line);stroke-width:3}.progress-ring-fill{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;transition:stroke-dasharray .4s var(--ease-out)}@media (prefers-reduced-motion: reduce){.progress-ring-fill{transition:none}}.progress-ring-count{fill:var(--ink);font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.chart-progress-list{list-style:none;padding:0;margin:12px 0 4px;display:grid;gap:2px}.chart-progress-list li{display:grid;grid-template-columns:20px 1fr;gap:8px;align-items:baseline;min-height:36px;padding:6px 4px;font-size:var(--fs-15);line-height:var(--lh-normal)}.chart-progress-list li.is-done{color:var(--ink-soft)}.chart-progress-mark{color:var(--good);font-weight:700}.chart-progress-dismiss{min-height:44px;margin-top:6px;padding:8px 4px;border:none;background:none;color:var(--ink-faint);font:inherit;font-size:var(--fs-14);text-decoration:underline;cursor:pointer}@media (hover: hover){.chart-progress-dismiss:hover{color:var(--ink-soft)}}.chart-progress.is-done{display:flex;align-items:center;gap:14px}.chart-progress.is-done strong{display:block;color:var(--heading)}.chart-progress.is-done p{margin:3px 0 0;font-size:var(--fs-14)}.chart-progress.is-done .chart-progress-dismiss{margin:0 0 0 auto;flex:none}.faq{max-width:70ch;margin:36px 0 0}.faq>h2{margin:0 0 6px;font-size:var(--fs-24)}.faq-item{padding:18px 0;border-top:1px solid var(--line)}.faq-item:first-of-type{border-top:0;padding-top:10px}.faq-item h3{margin:0 0 8px;font-size:var(--fs-16);color:var(--heading)}.faq-item p{margin:0;color:var(--ink-soft);line-height:var(--lh-relaxed)}.moon-log{--mood-1: color-mix(in srgb, var(--low) 55%, transparent);--mood-2: color-mix(in srgb, var(--low) 28%, transparent);--mood-3: var(--overlay-strong);--mood-4: color-mix(in srgb, var(--good) 30%, transparent);--mood-5: color-mix(in srgb, var(--good) 60%, transparent)}.moon-log-cycle{display:flex;align-items:center;gap:18px;margin-top:16px}.moon-ring{flex:none;display:block;overflow:visible}.moon-ring-dot{fill:var(--overlay);stroke:var(--line-strong);stroke-width:1}.moon-ring-dot.is-logged[data-mood="1"]{fill:var(--mood-1)}.moon-ring-dot.is-logged[data-mood="2"]{fill:var(--mood-2)}.moon-ring-dot.is-logged[data-mood="3"]{fill:var(--mood-3)}.moon-ring-dot.is-logged[data-mood="4"]{fill:var(--mood-4)}.moon-ring-dot.is-logged[data-mood="5"]{fill:var(--mood-5)}.moon-ring-dot.is-today{stroke:var(--gold);stroke-width:2}.moon-ring-n{fill:var(--heading);font-family:var(--font-display);font-size:var(--fs-28);font-weight:600}.moon-ring-of{fill:var(--ink-faint);font-size:var(--fs-12);letter-spacing:.04em}.moon-log-cycle .moon-log-progress{margin:0}.moon-log-last{margin:12px 0 0;padding-top:12px;border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--fs-15);line-height:var(--lh-relaxed)}.moon-log-last strong{color:var(--ink)}.moon-log-kept{margin:12px 0 0;font-size:var(--fs-12)}.today-moon-share{margin-left:auto;flex:none}@media (max-width: 480px){.today-moon-share{min-width:44px;justify-content:center;padding-left:10px;padding-right:10px}.today-moon-share>span{display:none}}.passport-row{display:block;padding:0}.passport-link{display:grid;grid-template-columns:1fr auto;gap:1px 12px;min-height:44px;padding:10px;border-radius:var(--r-sm);color:inherit;text-decoration:none}@media (hover: hover){.passport-link:hover{background:var(--overlay-strong)}}.passport-link:focus-visible{outline:2px solid var(--gold-strong);outline-offset:-2px}.chart-progress.is-done{flex-direction:column;align-items:stretch;gap:12px}.chart-progress-head{display:flex;align-items:center;gap:14px}.chart-progress-doors{list-style:none;padding:0;margin:0;display:grid;gap:4px}.chart-progress-door{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;padding:8px 12px;border-radius:var(--r-sm);background:var(--overlay);color:var(--heading);font-size:var(--fs-15);text-decoration:none}@media (hover: hover){.chart-progress-door:hover{background:var(--overlay-strong)}}.chart-progress-door:focus-visible{outline:2px solid var(--gold-strong);outline-offset:2px}.chart-progress-door-arrow{color:var(--gold);font-size:var(--fs-18);line-height:var(--lh-tight)}.reminder-arrives{color:var(--ink)}.medal{flex:none;display:block;overflow:visible}.medal.is-earned{color:var(--gold)}.medal.is-locked{color:var(--ink-faint)}.medal-rim{fill:var(--gold-tint-faint);stroke:currentColor;stroke-width:1.6}.medal.is-earned .medal-rim{fill:var(--gold-tint);stroke-width:2}.medal.is-locked .medal-rim{fill:none;stroke-dasharray:3 3}.medal-inner{fill:none;stroke:currentColor;stroke-width:.8;opacity:.55}.medal-moon-dark{fill:var(--overlay-strong)}.medal-moon-lit{fill:currentColor}.medal-moon-rim{fill:none;stroke:currentColor;stroke-width:1}.medal-corona{fill:none;stroke:currentColor;stroke-width:2.4;stroke-dasharray:2 2.2}.medal-eclipse-disc{fill:var(--panel-solid);stroke:currentColor;stroke-width:1}.medal-eclipse-shadow{fill:var(--scrim)}.medal-ring{fill:none;stroke:currentColor;stroke-width:3}.medal-count{fill:currentColor;font-size:12px;font-weight:700;font-variant-numeric:tabular-nums}.medal-count--long{fill:currentColor;font-size:9.5px}.medal-rx{fill:currentColor;font-size:11px;font-weight:700}.page-badges{max-width:var(--content-w)}.badges-count{margin:4px 0 8px;font-size:var(--fs-18);color:var(--heading);font-variant-numeric:tabular-nums}.badges-offline{margin:0 0 8px;font-size:var(--fs-13)}.badges-group{margin:28px 0 8px}.badges-group-head h2{margin:0;font-size:var(--fs-22)}.badges-group-head .muted{margin:4px 0 12px;font-size:var(--fs-14);line-height:var(--lh-snug)}.badges-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.badges-grid>li{display:flex}.badge-tile{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;min-height:44px;padding:14px 10px 12px;text-align:center;font:inherit;color:var(--ink);background:var(--panel-solid);border:1px solid var(--line);border-radius:var(--r-md);cursor:pointer}.badge-tile.is-earned{border-color:var(--gold-line);background:var(--gold-tint-faint)}.badge-tile:hover{border-color:var(--line-strong)}.badge-tile.is-earned:hover{border-color:var(--gold)}.badge-tile:focus-visible{outline:2px solid var(--gold-line);outline-offset:2px}.badge-medal{position:relative;display:block;margin-bottom:4px}.badge-times{position:absolute;right:-6px;bottom:-2px;min-width:26px;padding:1px 6px;border-radius:999px;font-size:var(--fs-12);font-weight:700;font-variant-numeric:tabular-nums;color:var(--gold-ink);background:var(--gold)}.badge-name{color:var(--heading);font-weight:600;font-size:var(--fs-15);line-height:var(--lh-snug)}.badge-tile.is-locked .badge-name{color:var(--ink)}.badge-line{color:var(--ink-soft);font-size:var(--fs-13);line-height:var(--lh-snug)}.badge-next{color:var(--gold);font-size:var(--fs-13);line-height:var(--lh-snug);font-weight:600}.badge-sheet{display:grid;justify-items:center;gap:8px;padding:4px 4px 12px;text-align:center}.badge-sheet p{margin:0;max-width:34rem}.badge-sheet-status{color:var(--ink-soft);font-size:var(--fs-14)}.badge-sheet-story{font-size:var(--fs-16);line-height:var(--lh-relaxed);color:var(--ink)}.badge-sheet-how{margin:8px 0 0;font-size:var(--fs-15);color:var(--heading)}.badge-card{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:12px 8px 12px 14px;border-color:var(--gold-line)}.badge-card-copy{flex:1;min-width:0}.badge-card-copy p{margin:0 0 2px;line-height:var(--lh-snug);color:var(--ink)}.badge-card-link{display:inline-flex;align-items:center;min-height:44px;color:var(--gold);font-weight:600;text-decoration:none}.badge-card-link:hover{text-decoration:underline}.badge-card-dismiss{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:999px;color:var(--ink-soft);background:transparent;cursor:pointer}.badge-card-dismiss:hover{background:var(--overlay);color:var(--ink)}@media (prefers-reduced-motion: no-preference){.badge-card{animation:badge-card-in .45s var(--ease-out) both}}@keyframes badge-card-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.badge-hint{margin:0 0 16px}.badge-hint-link{display:flex;align-items:center;gap:10px;min-height:44px;color:var(--ink-soft);font-size:var(--fs-14);line-height:var(--lh-snug);text-decoration:none}.badge-hint-link:hover span{color:var(--ink);text-decoration:underline}.page-crash{margin-top:8vh}.page-crash .page-crash-home{margin:14px 0 0}.page-crash .page-crash-home a{display:inline-flex;align-items:center;min-height:44px;color:var(--gold)}@media (prefers-reduced-motion: reduce){.sheet,.explore-overlay--aspect .aspect-sheet{animation:sheet-fade .18s ease;transition:none}}.bottom-nav,.bottom-tab,.topbar,button,.btn,.mode-tab,.tab{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}html.is-native body:before{content:"";position:fixed;top:0;left:0;right:0;height:env(safe-area-inset-top,0px);background:var(--bg-1);z-index:40;pointer-events:none}html.is-native .app{padding-top:calc(env(safe-area-inset-top) + 8px)}html.is-native .footer-meta{display:none}.sheet-close,.date-step,.full-close,.scrub-play,.pair-swap,.explore-close,.info-asp-why,.streak-moment-close{padding:0}.sheet-close svg,.date-step svg,.full-close svg,.scrub-play svg,.pair-swap svg,.explore-close svg,.info-asp-why svg,.streak-moment-close svg{flex:none}.native-paywall{display:grid;gap:12px;margin:12px 0 4px}.native-paywall-account{margin:0;font-size:var(--fs-15);color:var(--ink-soft)}.native-plans{list-style:none;margin:0;padding:0;display:grid;gap:10px}.native-plan{width:100%;min-height:60px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 18px;border-radius:var(--r-md);border:1px solid var(--gold-line);background:var(--gold-tint);color:var(--ink);font:inherit;text-align:left;cursor:pointer}.native-plans li:first-child .native-plan{border-color:var(--gold);background:var(--gold-tint-strong)}.native-plan:disabled{opacity:.6;cursor:default}.native-plan-title{font-weight:600;font-size:var(--fs-16)}.native-plan-price{font-weight:700;font-size:var(--fs-18);color:var(--heading);white-space:nowrap}.native-plan-per{font-weight:400;font-size:var(--fs-13);color:var(--ink-soft)}.native-paywall-terms{margin:0;font-size:var(--fs-12);line-height:var(--lh-normal);color:var(--ink-soft)}.native-paywall-terms a{color:var(--ink-soft)}.native-restore{justify-self:start;min-height:44px;padding:0 4px;border:none;background:none;color:var(--gold);font:inherit;font-size:var(--fs-15);font-weight:600;cursor:pointer}.my-reports{margin:32px 0 0}.my-reports h2{font-size:var(--fs-20);margin:0 0 10px}.my-reports ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.my-report{display:grid;gap:2px;min-height:44px;padding:12px 16px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--panel);color:var(--ink);text-decoration:none}.my-report:hover{border-color:var(--line-strong)}.my-report-name{font-weight:600}.my-report-meta{font-size:var(--fs-13);color:var(--ink-soft)}
