@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/prata-cyrillic-CM6pr7xe.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Prata;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/prata-latin-GYbAXMUw.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/manrope-cyrillic-DJ9PYDpy.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/manrope-latin-C46ZzDBF.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0e0b1f;--bg-raised:#1e183eb8;--bg-solid:#1a1533;--line:#2f2850;--text:#ece8f7;--muted:#a39cc0;--gold:#e9c98b;--fire:#f0906b;--earth:#8fc38a;--air:#e8d98a;--water:#7db3ee;--soft:#7db3ee;--hard:#ee7d7d;--serif:Prata, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--sans:Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--title-scale:.92;--title-weight:400;--symbols:"Apple Symbols", "Noto Sans Symbols 2", "Noto Sans Symbols", "Segoe UI Symbol", sans-serif}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;margin:0;font-size:16px;line-height:1.5}body{background:radial-gradient(120% 60% at 50% -10%, #2a2057 0%, transparent 60%), var(--bg);background-attachment:fixed;min-height:100dvh}:root[data-cosmos=on] body{background:0 0}.icon *{transform-box:fill-box;transform-origin:50%}.icon.alive *{stroke-dasharray:90;animation:1.1s ease-out both icon-draw}.icon.alive .spin{animation:1.1s ease-out both icon-draw,14s linear infinite spin}.icon.alive g.spin{transform-box:view-box;animation:14s linear infinite spin}.icon.alive .sway{animation:1.1s ease-out both icon-draw,4s ease-in-out infinite icon-sway}.icon.alive .pulse{animation:1.1s ease-out both icon-draw,3s ease-in-out infinite icon-pulse}.icon.alive .bob{animation:1.1s ease-out both icon-draw,2.6s ease-in-out infinite icon-bob}.icon.alive .blink{animation:1.1s ease-out both icon-draw,2.4s ease-in-out infinite icon-blink}.icon.alive .twinkle{stroke-dasharray:none;animation:3.6s ease-in-out infinite twinkle}.icon.alive .tick{transform-box:view-box;animation:8s steps(12,end) infinite spin}.icon.alive .swing{animation:1.1s ease-out both icon-draw,3.2s ease-in-out infinite icon-swing}.icon.alive .write{stroke-dasharray:6;animation:2.6s ease-in-out infinite icon-write}.icon.alive .hop{animation:2.2s ease-in-out infinite icon-hop}.icon.alive .lean-right{animation:1.1s ease-out both icon-draw,3.4s ease-in-out infinite icon-lean-right}.icon.alive .lean-left{animation:1.1s ease-out both icon-draw,3.4s ease-in-out infinite icon-lean-left}.icon.alive .delay-1{animation-delay:0s,.3s}.icon.alive .delay-2{animation-delay:0s,.6s}.icon.alive .delay-3{animation-delay:0s,.9s}.hero-icon{position:relative}.hero-icon:after{content:"";background:radial-gradient(circle at 50% 4px, var(--gold) 0 2.6px, transparent 3.4px);filter:drop-shadow(0 0 5px #e9c98be6);border-radius:50%;animation:9s linear infinite spin;position:absolute;inset:-10px}.hero{text-align:center;margin:4px 0 18px}.hero-icon{width:76px;height:76px;color:var(--gold);background:radial-gradient(circle at 50% 35%,#e9c98b38,#3a2c7866 70%);border:1px solid #e9c98b66;border-radius:50%;place-items:center;margin:0 auto 12px;animation:.5s ease-out both rise;display:grid;box-shadow:0 0 36px #e9c98b38,inset 0 0 18px #e9c98b1f}.hero h1{background:linear-gradient(110deg,#fff 10%,#e9c98b 55%,#fff 95%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:0 0 6px}.hero-lead{max-width:34ch;color:var(--muted);margin:0 auto;font-size:15px}.panel{background:linear-gradient(170deg,#281f549e,#14102a9e);border:1px solid #ffffff12;border-radius:20px;margin-bottom:12px;padding:14px 16px;box-shadow:inset 0 1px #ffffff0d}.panel>:first-child{margin-top:0}.panel>:last-child{margin-bottom:0}.panel-title{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:12.5px}.revealed{scroll-margin-top:16px}input,textarea,select{scroll-margin:96px}.no-scroll{overflow:hidden}.cosmos{z-index:-1;width:100%;height:100%;position:fixed;inset:0}.app{max-width:480px;min-height:100dvh;padding:20px 20px calc(24px + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.app:has(.dock){padding-bottom:calc(118px + env(safe-area-inset-bottom))}h1{font-family:var(--serif);font-weight:var(--title-weight,500);font-size:calc(28px * var(--title-scale,1));text-wrap:balance;margin:0 0 8px;line-height:1.2}h2{font-family:var(--serif);font-weight:var(--title-weight,500);font-size:calc(20px * var(--title-scale,1));margin:32px 0 12px}.lead{color:var(--muted);margin:0 0 24px}.brand{font-family:var(--serif);letter-spacing:.08em;color:var(--gold);font-size:18px}.quiz{flex-direction:column;flex:1;display:flex}.quiz-header{justify-content:space-between;align-items:center;margin-bottom:48px;display:flex}.progress{gap:6px;margin:0;padding:0;list-style:none;display:flex}.progress li{background:var(--line);border-radius:2px;width:22px;height:3px;transition:background .3s}.progress li.done{background:var(--gold)}.quiz-body{flex:1;animation:.35s ease-out both rise}.quiz-footer{bottom:calc(12px + var(--keyboard,0px));z-index:2;gap:12px;margin-top:24px;display:flex;position:sticky}.field{border:1px solid var(--line);background:var(--bg-raised);width:100%;min-height:52px;color:var(--text);font:inherit;appearance:none;border-radius:14px;padding:12px 16px;font-size:18px}.field::placeholder{color:#6f6890}.field:focus-visible{border-color:var(--gold);outline:none}.field:disabled{opacity:.4}.check{color:var(--muted);align-items:center;gap:10px;margin-top:16px;display:flex}.check input{width:20px;height:20px;accent-color:var(--gold)}.hint{color:var(--muted);margin:10px 2px 0;font-size:14px}.hint-error{color:var(--hard)}.button{color:#1b1430;min-height:52px;font:inherit;cursor:pointer;background:linear-gradient(135deg,#f6dfae,#dcb26f);border:0;border-radius:14px;flex:1;padding:12px 20px;font-weight:600;transition:opacity .2s,transform .1s;box-shadow:0 6px 26px #e9c98b33}.button:active{transform:scale(.98)}.button:disabled{opacity:.35;cursor:default}.button:focus-visible,.choice:focus-visible,.city-options button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.button-ghost{box-shadow:none;color:var(--muted);border:1px solid var(--line);background:0 0;flex:none}.choices{gap:10px;display:grid}.choice{border:1px solid var(--line);background:var(--bg-raised);min-height:56px;color:var(--text);font:inherit;text-align:left;cursor:pointer;border-radius:14px;padding:14px 18px;font-size:17px}.choice.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold)}.city-options{border:1px solid var(--line);background:var(--bg-solid);border-radius:14px;margin:8px 0 0;padding:4px;list-style:none}.city-options button{width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;flex-direction:column;padding:10px 12px;display:flex}.city-options button:hover{background:#241d45}.city-region{color:var(--muted);font-size:13px}.link{color:var(--gold);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:14px;padding:6px 2px;text-decoration:underline}.place-map{margin-top:14px}.place-map-canvas{border:1px solid var(--line);background:var(--bg-raised);isolation:isolate;border-radius:14px;height:240px;overflow:hidden}.place-map-canvas .leaflet-tile-pane{filter:invert()hue-rotate(205deg)brightness(.95)contrast(.9)saturate(.55)}.place-map-canvas .leaflet-tile{width:257px!important;height:257px!important}.place-map-canvas .leaflet-control-attribution{color:var(--muted);background:#0e0b1fb3;font-size:10px}.place-map-canvas .leaflet-control-attribution a{color:var(--muted)}.place-map-canvas .leaflet-bar a{background:var(--bg-raised);color:var(--text);border-color:var(--line)}.splash{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.splash .brand{text-shadow:0 0 28px #e9c98b8c;font-size:34px}.calculating{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.calculating h1,.chart-header h1{background:linear-gradient(110deg,#fff 10%,#e9c98b 55%,#fff 95%);color:#0000;-webkit-background-clip:text;background-clip:text}:root[data-cosmos=on] .orbits{width:min(84vw,380px);height:min(84vw,380px);margin-bottom:4px}:root[data-cosmos=on] .orbits>*{display:none}.steps{text-align:left;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.steps li{color:var(--muted);opacity:.3;padding-left:26px;font-size:15px;transition:opacity .5s,color .5s;position:relative}.steps li:before{content:"";border:1px solid var(--muted);border-radius:50%;width:8px;height:8px;position:absolute;top:.45em;left:4px}.steps li.now{color:var(--text);opacity:1}.steps li.now:before{border-color:var(--gold);animation:1.2s ease-in-out infinite pulse;box-shadow:0 0 10px 2px #e9c98b99}.steps li.done{opacity:.75}.steps li.done:before{border-color:var(--gold);background:var(--gold)}.orbits{width:180px;height:180px;margin-bottom:40px;position:relative}.orbit{border:1px solid var(--line);border-radius:50%;margin:auto;animation:linear infinite spin;position:absolute;inset:0}.orbit:after{content:"";background:var(--gold);border-radius:50%;width:8px;height:8px;position:absolute;top:-4px;left:calc(50% - 4px)}.orbit-1{width:180px;height:180px;animation-duration:9s}.orbit-2{width:124px;height:124px;animation-duration:5s;animation-direction:reverse}.orbit-2:after{background:var(--water)}.orbit-3{width:68px;height:68px;animation-duration:3s}.orbit-3:after{background:var(--fire);width:6px;height:6px;top:-3px;left:calc(50% - 3px)}.core{background:var(--gold);border-radius:50%;width:14px;height:14px;margin:auto;position:absolute;inset:0;box-shadow:0 0 24px 6px #e9c98b59}.chart-header{text-align:center}.chart-header h1{margin-top:16px}.chart-header .lead{margin-bottom:8px}.notice{border:1px solid var(--line);color:var(--muted);border-radius:12px;margin:8px 0 0;padding:12px 14px;font-size:14px}.big-three{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:20px;display:grid}.sign-card{background:linear-gradient(175deg,#34286cb3,#100c24d9);border:1px solid #e9c98b38;border-radius:22px;flex-direction:column;justify-content:flex-end;min-height:168px;padding:12px 10px;animation:.6s ease-out both rise;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffff12,0 10px 30px #04030c73}.sign-card.selected{border-color:var(--gold)}.sign-card .constellation{opacity:.9;width:84%;position:absolute;top:6px;left:8%}.sign-card-top{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;align-items:center;gap:5px;font-size:9.5px;display:flex;position:relative}.sign-card-name{font-family:var(--serif);white-space:nowrap;background:linear-gradient(110deg,#fff 0%,#f1d9a6 60%,#caa15f 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin-top:6px;font-size:16.5px;line-height:1.15;position:relative}.sign-card-degree{color:var(--muted);font-size:12.5px;position:relative}.constellation{color:var(--gold)}.constellation line{stroke:currentColor;stroke-width:.7px;stroke-opacity:.55;stroke-dasharray:1;stroke-dashoffset:1px;animation:1.4s ease-out forwards draw}.constellation circle{fill:#fff;filter:drop-shadow(0 0 2px);animation:3.4s ease-in-out infinite pulse}.orb{background:radial-gradient(circle at 34% 30%,#fff,#c9c4de 45%,#5d5688 100%);border-radius:50%;flex:none;display:inline-block;position:relative;box-shadow:inset -3px -4px 8px #00000073,0 0 10px #ffffff24}.orb-sun{background:radial-gradient(circle at 40% 36%,#fffbe6,#ffd277 45%,#f08a3c 100%);box-shadow:0 0 16px #ffc460bf,inset -2px -3px 6px #be501480}.orb-moon{background:radial-gradient(circle at 36% 32%,#fff,#dcd8ee 45%,#77719d 100%)}.orb-mercury{background:radial-gradient(circle at 34% 30%,#f4ead8,#b3a892 50%,#5d564b 100%)}.orb-venus{background:radial-gradient(circle at 34% 30%,#fff3df,#f0b577 50%,#a45a34 100%);box-shadow:inset -3px -4px 8px #0006,0 0 12px #f0b57766}.orb-mars{background:radial-gradient(circle at 34% 30%,#ffc4a6,#dc4f33 50%,#6b1a14 100%);box-shadow:inset -3px -4px 8px #00000073,0 0 12px #dc4f3373}.orb-jupiter{background:radial-gradient(circle at 34% 30%,#ffffff8c,#0000 55%),repeating-linear-gradient(8deg,#e9c9a0 0 12%,#c08a5a 12% 24%,#f3dcbd 24% 34%,#a8704a 34% 44%)}.orb-saturn{background:radial-gradient(circle at 34% 30%,#fff4d6,#d9b877 50%,#7a5f2f 100%)}.orb-saturn:after{content:"";border:1.5px solid #f0d8a0d9;border-radius:50%;position:absolute;inset:34% -32%;transform:rotate(-18deg)}.orb-uranus{background:radial-gradient(circle at 34% 30%,#eaffff,#86d6d8 50%,#2f7f86 100%)}.orb-neptune{background:radial-gradient(circle at 34% 30%,#cdd9ff,#4d6fe0 50%,#16246e 100%);box-shadow:inset -3px -4px 8px #00000073,0 0 12px #4d6fe073}.orb-pluto{background:radial-gradient(circle at 34% 30%,#e6d6c8,#8f786c 50%,#3a2e2a 100%)}.orb-node{background:radial-gradient(circle,#0000 46%,#e9c98b 50% 62%,#0000 66%);box-shadow:0 0 10px #e9c98b80}.orb-lilith{background:radial-gradient(circle at 34% 30%,#6b4aa8,#24143f 60%,#0c0718 100%);box-shadow:inset -3px -4px 8px #00000080,0 0 12px #965ae680}.orb-asc{background:linear-gradient(#ffd98a 0 50%,#2a2057 50% 100%);box-shadow:0 0 12px #ffc86e8c}.planets-list{margin:0;padding:0;list-style:none}.planets-list li{cursor:pointer;border-bottom:1px solid #ffffff12;grid-template-columns:auto 1.1fr 1fr auto;align-items:center;gap:12px;padding:10px 0;display:grid}.planets-list li:last-child{border-bottom:0}.planets-list li.selected .planet-row-name{color:var(--gold)}.planet-row-sign{align-items:center;gap:6px;font-size:15px;display:flex}.planet-row-degree{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:14px}.planet-row-degree small{font-size:12px;display:block}.moon{filter:drop-shadow(0 0 5px #e9c98b59)}.hero-picture{width:132px;margin:2px auto 14px;animation:.7s ease-out both rise;display:block}.hero-picture .moon{filter:drop-shadow(0 0 26px #f0d9a480);animation:7s ease-in-out infinite hover}.app:after{content:"";z-index:60;pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}.card{border:1px solid var(--line);background:var(--bg-raised);text-align:center;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:14px 6px;display:flex}.card.selected{border-color:var(--gold)}.card-label{color:var(--muted);font-size:13px}.card-glyph{margin:4px 0}.card-value{font-family:var(--serif);font-size:17px}.card-degree,.card-missing{color:var(--muted);font-size:13px}.card-missing{margin-top:12px}.positions{border-collapse:collapse;width:100%;font-size:15px}.positions td{border-bottom:1px solid var(--line);white-space:nowrap;padding:9px 4px}.positions td.glyph{width:30px;color:var(--gold)}.glyph{vertical-align:-.2em;flex:none}.number{text-align:right;color:var(--muted);font-variant-numeric:tabular-nums}.retro{color:var(--hard);font-size:12px;text-decoration:none}.element-fire{color:var(--fire)}.element-earth{color:var(--earth)}.element-air{color:var(--air)}.element-water{color:var(--water)}.elements{gap:10px;margin-bottom:32px;display:grid}.element-row{grid-template-columns:76px 1fr 20px;align-items:center;gap:12px;font-size:15px;display:grid}.bar{background:var(--line);border-radius:4px;height:8px;overflow:hidden}.bar-fill{transform-origin:0;border-radius:4px;height:100%;animation:.8s ease-out .3s both grow;display:block}.fill-fire{background:var(--fire)}.fill-earth{background:var(--earth)}.fill-air{background:var(--air)}.fill-water{background:var(--water)}.reading>h2{margin-bottom:14px}.reading-section{background:linear-gradient(170deg,#281f549e,#14102a9e);border:1px solid #ffffff12;border-radius:20px;margin-bottom:12px;padding:16px 16px 6px;animation:.4s ease-out both rise;box-shadow:inset 0 1px #ffffff0d}.reading h3{color:var(--gold);font-family:var(--serif);align-items:center;gap:10px;margin:0 0 10px;font-size:19px;font-weight:500;display:flex}.reading h3 .glyph{filter:drop-shadow(0 0 6px #e9c98b80);flex:none}.reading-section p{margin:0 0 12px;font-size:16.5px;line-height:1.6}.reading-writing{color:var(--muted);align-items:center;gap:8px;min-height:24px;display:flex}.dots{gap:4px;display:inline-flex}.dots i{background:var(--gold);border-radius:50%;width:5px;height:5px;animation:1.2s ease-in-out infinite pulse}.dots i:nth-child(2){animation-delay:.2s}.dots i:nth-child(3){animation-delay:.4s}.notice p{margin:0 0 12px}.notice .link{margin-top:0}.button-small{flex:none;min-height:44px;font-size:15px}.ask-gender{background:var(--bg-raised);border:1px solid #e9c98b59;border-radius:18px;margin-bottom:14px;padding:14px 16px}.ask-gender p{margin:0 0 10px;font-size:14.5px}.ask-gender-choices{gap:8px;display:flex}.ask-gender-choices .button{flex:1}.dock{--item:calc((min(100vw, 480px) - 24px - 12px) / 5);left:50%;bottom:calc(10px + env(safe-area-inset-bottom));z-index:10;-webkit-backdrop-filter:blur(18px)saturate(1.4);background:#16112ec7;border:1px solid #ffffff17;border-radius:26px;width:calc(min(100vw,480px) - 24px);padding:6px;transition:transform .25s ease-out,opacity .2s;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 12px 34px #04030c99,inset 0 1px #ffffff0f}:root[data-keyboard=open] .dock{opacity:0;pointer-events:none;transform:translate(-50%,140%)}:root[data-keyboard=open] .app:has(.dock){padding-bottom:calc(24px + var(--keyboard,0px))}.dock-light{width:var(--item);pointer-events:none;background:radial-gradient(120% 90% at 50% 0,#e9c98b33,#0000 70%);border-radius:20px;transition:transform .35s cubic-bezier(.3,1.3,.5,1);position:absolute;top:6px;bottom:6px;left:6px;box-shadow:inset 0 1px #e9c98b8c}.dock-item{min-height:54px;color:var(--muted);font:inherit;letter-spacing:.01em;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;border-radius:20px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:0;font-size:11px;transition:color .25s;display:flex;position:relative}.dock-icon{place-items:center;transition:transform .3s cubic-bezier(.3,1.5,.5,1);display:grid}.dock-item.selected{color:var(--gold)}.dock-item.selected .dock-icon{filter:drop-shadow(0 0 7px #e9c98b99);transform:translateY(-1px)scale(1.12)}.dock-item:active .dock-icon{transform:scale(.9)}.dock-main{color:var(--text)}.dock-main .dock-icon{color:#1b1430;background:linear-gradient(145deg,#f8e3b6,#d6a965);border-radius:50%;width:50px;height:50px;margin-top:-26px;box-shadow:0 0 0 5px #16112ee6,0 6px 22px #e9c98b73}.dock-main.selected .dock-icon{filter:none;transform:translateY(-3px)scale(1.06);box-shadow:0 0 0 5px #16112ee6,0 6px 30px #e9c98bcc}.dock-main .dock-icon svg{fill:currentColor;stroke:none}.dock-item:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}.tiles{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tile{min-height:132px;color:var(--text);font:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent;background:linear-gradient(160deg,#3a2c788c,#1a1533b3);border:1px solid #ffffff14;border-radius:20px;flex-direction:column;gap:6px;padding:16px 14px 14px;transition:transform .15s,border-color .2s;animation:.45s ease-out both rise;display:flex;box-shadow:inset 0 1px #ffffff0f}.tile:active{border-color:#e9c98b80;transform:scale(.97)}.tile svg{color:var(--gold);filter:drop-shadow(0 0 8px #e9c98b59);margin-bottom:4px}.tile-title{font-family:var(--serif);font-size:17px;line-height:1.2}.tile-hint{color:var(--muted);font-size:12.5px;line-height:1.35}.tile:first-child{background:linear-gradient(120deg,#e9c98b33,#3a2c788c 55%);border-color:#e9c98b47;grid-column:1/-1;min-height:0}.chat{width:min(100vw,480px);padding:0 14px calc(92px + env(safe-area-inset-bottom));flex-direction:column;transition:padding-bottom .2s ease-out;display:flex;position:fixed;top:0;bottom:0;left:50%;transform:translate(-50%)}:root[data-keyboard=open] .chat{padding-bottom:calc(8px + var(--keyboard,0px))}.chat-top{border-bottom:1px solid #ffffff12;align-items:center;gap:12px;padding:14px 6px 12px;display:flex}.chat-avatar{color:#1b1430;background:linear-gradient(145deg,#f8e3b6,#d6a965);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid;box-shadow:0 0 18px #e9c98b66}.chat-top h1{margin:0;font-size:20px;line-height:1.15}.chat-top p{color:var(--muted);margin:0;font-size:13px}.thread{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-direction:column;flex:1;gap:14px;min-height:0;padding:16px 2px 12px;display:flex;overflow-y:auto}.thread::-webkit-scrollbar{display:none}.chat-welcome{color:var(--gold);text-align:center;margin:auto 0;padding:0 18px}.chat-welcome svg{filter:drop-shadow(0 0 18px #e9c98b99);animation:3.6s ease-in-out infinite twinkle}.chat-welcome h2{color:var(--text);margin:14px 0 8px;font-size:22px}.chat-welcome p{color:var(--muted);margin:0;font-size:15px}.msg{max-width:100%;font-size:16px;line-height:1.55;animation:.3s ease-out both rise}.msg p{margin:0 0 10px}.msg p:last-child{margin-bottom:0}.msg-assistant{border-left:2px solid #e9c98b8c;align-self:stretch;padding:2px 6px 2px 14px}.msg-user{background:linear-gradient(135deg,#e9c98b3d,#785ae64d);border:1px solid #e9c98b40;border-radius:18px 18px 6px;align-self:flex-end;max-width:84%;padding:10px 14px}.msg-error{color:var(--hard);text-align:center;margin:0;font-size:14px}.starters{scrollbar-width:none;gap:8px;margin:0 -14px;padding:2px 14px 10px;display:flex;overflow-x:auto}.starters::-webkit-scrollbar{display:none}.starter{max-width:78%;color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#1e183eb8;border:1px solid #e9c98b4d;border-radius:16px;flex:none;padding:10px 14px;font-size:14.5px;line-height:1.3}.composer{background:#16112eeb;border:1px solid #ffffff1a;border-radius:26px;align-items:flex-end;gap:8px;padding:6px 6px 6px 16px;display:flex}.composer:focus-within{border-color:#e9c98b80}.composer textarea{min-width:0;min-height:40px;color:var(--text);font:inherit;resize:none;background:0 0;border:0;outline:0;flex:1;padding:9px 0;font-size:16px;line-height:1.4}.composer textarea::placeholder{color:var(--muted)}.send{color:#1b1430;cursor:pointer;background:linear-gradient(145deg,#f8e3b6,#d6a965);border:0;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;transition:opacity .2s,transform .1s;display:grid}.send:active{transform:scale(.92)}.send:disabled{opacity:.3}.chat-locked{background:#16112eeb;border:1px solid #e9c98b4d;border-radius:20px;padding:12px 14px}.chat-locked p{margin:0 0 10px;font-size:14.5px}.chat-locked-actions{gap:8px;display:flex}.chat-locked-actions .button{flex:1}.premium-offer{text-align:center;flex-direction:column;display:flex}.today .daily{margin-top:8px}.section-title{font-family:var(--serif);color:var(--muted);margin:22px 0 10px;font-size:17px;font-weight:500}.locked{border:1px solid var(--line);background:var(--bg-raised);border-radius:16px;margin-top:24px;padding:2px 16px 16px}.locked h2{margin-top:16px}.locked>p{color:var(--muted);margin:14px 0}.choice-hint{color:var(--muted);font-size:14px;display:block}.choices-row{grid-template-columns:1fr 1fr}.form-label{color:var(--muted);margin:16px 0 6px;font-size:14px;display:block}.partner-form .button{width:100%;margin-top:20px}.number-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.number-card{text-align:center;align-items:center;animation:.5s ease-out both rise}.number-grid-core .number-card:first-child{background:linear-gradient(120deg,#e9c98b29,#1e183eb8 60%);border-color:#e9c98b59;grid-column:1/-1;padding:18px 16px}.number-grid-core .number-card:first-child .number-value{text-shadow:0 0 26px #e9c98b8c;font-size:64px}.number-grid-core .number-card:first-child .number-theme{font-size:14px}.number-grid-core{grid-template-columns:1fr 1fr}.number-value{font-family:var(--serif);color:var(--gold);font-size:34px;line-height:1.1}.number-theme{color:var(--muted);font-size:12px;line-height:1.35}.tarot-day{flex-direction:column;align-items:center;gap:16px;display:flex}.tarot-day .button{flex:none;width:100%}.tarot-figure{width:176px;margin:0}.tarot-figure-small{width:100%}.tarot-card{aspect-ratio:2/3;perspective:900px;width:100%}.tarot-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .95s cubic-bezier(.3,1.25,.4,1);position:relative;transform:rotateY(180deg)}.tarot-card.face-up .tarot-inner{transform:rotateY(0)}.tarot-face{backface-visibility:hidden;border-radius:10px;place-items:center;display:grid;position:absolute;inset:0}.tarot-face-front{background:#171230;overflow:hidden;box-shadow:0 0 0 1px #e9c98bcc,0 10px 34px #04030cb3,0 0 34px #785ae666}.tarot-face-front img{object-fit:cover;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:100%;height:100%}.tarot-reversed .tarot-face-front img{transform:rotate(180deg)}.tarot-face-back{border:1px solid var(--gold);background:radial-gradient(circle,#e9c98b40,#0000 62%),repeating-linear-gradient(45deg,#e9c98b24 0 6px,#0000 6px 12px),repeating-linear-gradient(-45deg,#e9c98b24 0 6px,#0000 6px 12px),#241b4d;transform:rotateY(180deg);box-shadow:inset 0 0 0 4px #241b4d,inset 0 0 0 5px #e9c98b66,0 10px 34px #04030cb3}.tarot-face-back svg{width:34%;fill:var(--gold);filter:drop-shadow(0 0 10px #e9c98bb3)}.tarot-face-front:after{content:"";opacity:0;pointer-events:none;background:radial-gradient(circle,#fff4d6f2,#e9c98b66 60%,#0000);position:absolute;inset:0}.tarot-card.face-up .tarot-face-front:after{animation:1s ease-out .4s both card-flash}.tarot-caption{font-family:var(--serif);text-align:center;opacity:0;margin-top:10px;font-size:17px;line-height:1.2;transition:opacity .6s .7s}.tarot-caption.shown{opacity:1}.tarot-figure-small .tarot-caption{margin-top:6px;font-size:12.5px}.tarot-flag{color:var(--muted);font-family:var(--sans);letter-spacing:.06em;text-transform:uppercase;margin-top:2px;font-size:11px;display:block}.tarot-name{color:#1b1430;font-family:var(--serif);text-align:center;padding:8px}:root[data-scene=on] .app>div,:root[data-scene=on] .dock{opacity:0;pointer-events:none}.app>div,.dock{transition:opacity .35s}.scene{z-index:30;max-width:480px;padding:calc(18px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom));flex-direction:column;align-items:center;margin:0 auto;animation:.4s both fade;display:flex;position:fixed;inset:0}.scene-close{top:calc(14px + env(safe-area-inset-top))}.scene-title{background:linear-gradient(110deg,#fff 10%,#e9c98b 55%,#fff 95%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:4px 0 6px;font-size:26px}.scene-prompt{min-height:2.8em;color:var(--muted);text-align:center;margin:0;padding:0 34px;font-size:15px;animation:.5s ease-out both rise}.scene-fan .scene-prompt{color:var(--gold);font-family:var(--serif);font-size:20px}.scene-table{flex:1;width:100%;position:relative}.scene-card{will-change:transform;transition:transform .8s cubic-bezier(.25,.9,.3,1),opacity .5s;position:absolute;top:50%;left:50%}.scene-card .tarot-figure{width:100%}.scene-card .tarot-caption{margin-top:6px;font-size:12.5px;position:absolute;left:-30%;right:-30%}.scene-of-one .tarot-caption{font-size:15px}.scene-of-many .tarot-caption{display:none}.scene-card.pickable{cursor:pointer}.scene-card.pickable .scene-card-inner{animation:2.6s ease-in-out infinite fan-wave}.scene-card.riffle-left .scene-card-inner{animation:.62s ease-in-out infinite riffle-left}.scene-card.riffle-right .scene-card-inner{animation:.62s ease-in-out infinite riffle-right}.scene-position{color:var(--gold);text-align:center;opacity:0;margin-bottom:5px;font-size:11.5px;line-height:1.2;transition:opacity .5s;position:absolute;bottom:100%;left:-20%;right:-20%}.scene-position.shown{opacity:1}.scene-foot{width:100%;min-height:56px}.scene-foot .button{width:100%}.scene .scene-next{opacity:0;transition:opacity .5s .3s,transform .5s .3s;transform:translateY(14px)}.scene .scene-next.shown{opacity:1;transform:none}.tarot-card.waiting{animation:3.6s ease-in-out infinite hover}.tarot-card.waiting .tarot-face-back{box-shadow:inset 0 0 0 4px #241b4d,inset 0 0 0 5px #e9c98b66,0 10px 40px #785ae68c}.past-spreads{gap:8px;margin:0;padding:0;list-style:none;display:grid}.past-spread{background:var(--bg-raised);width:100%;color:var(--text);font:inherit;text-align:left;cursor:pointer;border:1px solid #ffffff14;border-radius:14px;padding:12px 14px;display:block}.past-spread.selected{border-color:var(--gold)}.past-spread-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.past-spread-meta{color:var(--muted);font-size:13px}.credit{color:var(--muted);text-align:center;margin:28px 0 0;font-size:12px}.credit a{color:inherit}.tarot-question{resize:none;margin:12px 0;font-size:16px}.tarot .button{width:100%}.spread{grid-template-columns:repeat(3,1fr);gap:14px 10px;margin:24px 0 0;padding:0;list-style:none;display:grid}.spread li{flex-direction:column;gap:6px;display:flex}.spread-position{min-height:2.5em;color:var(--gold);text-align:center;justify-content:center;align-items:flex-end;font-size:12px;line-height:1.25;display:flex}.score{text-align:center;width:150px;margin:8px auto 12px;position:relative}.score-ring{width:100%;display:block}.score-track,.score-fill{fill:none;stroke-width:8px}.score-track{stroke:var(--line)}.score-fill{stroke:var(--gold);stroke-linecap:round;filter:drop-shadow(0 0 6px #e9c98b99)}.score-value{font-family:var(--serif);color:var(--gold);font-size:46px;line-height:1;position:absolute;inset:38px 0 auto}.score-label{color:var(--muted);font-size:13px;position:absolute;inset:90px 0 auto}.score-note{text-align:center;font-size:14px}.synastry{margin:0;padding:0;list-style:none}.synastry li{border-bottom:1px solid var(--line);border-left:3px solid var(--soft);justify-content:space-between;gap:12px;padding:10px 0 10px 12px;font-size:14.5px;display:flex}.synastry li+li{margin-top:6px}.synastry-tension{border-left-color:var(--hard)!important}.synastry-kind{color:var(--muted);flex:none}.wide{width:100%;margin-top:12px}.facts{margin:0 0 8px;padding:0;list-style:none}.facts li{border-bottom:1px solid var(--line);padding:8px 0;font-size:15px}.fact-strong{color:var(--gold)}.lunar-nav{text-transform:capitalize;justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.lunar-nav .link{margin:0;padding:6px 14px;font-size:22px;text-decoration:none}.lunar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.lunar-weekday{color:var(--muted);text-align:center;padding:4px 0;font-size:12px}.lunar-cell{color:var(--text);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:6px 0;font-size:13px;display:flex}.lunar-cell.today{background:var(--bg-raised)}.lunar-cell.syzygy span{color:var(--gold);font-weight:600}.lunar-cell.eclipse span{color:var(--hard);font-weight:600}.lunar-cell.selected{border-color:var(--gold)}.octagram{width:min(100%,320px);margin:0 auto 16px;display:block}.octagram path{fill:none;stroke:var(--gold);stroke-width:.8px}.octagram .octagram-thin{stroke:var(--line);stroke-width:.6px}.octagram g{animation:.6s both fade}.octagram g:nth-of-type(odd){animation-delay:.25s}.octagram-centre{animation-delay:.6s!important}.octagram circle{fill:var(--bg-solid);stroke:var(--gold);stroke-width:.8px}.octagram text{fill:var(--text);font-family:var(--serif);font-size:11px}.octagram-centre circle{fill:#3a2f6b}.octagram-centre text{fill:var(--gold);font-size:13px}.moods{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.mood{border:1px solid var(--line);background:var(--bg-raised);min-height:64px;color:var(--muted);font:inherit;cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:8px 2px;font-size:11px;line-height:1.2;display:flex}.mood-number{font-family:var(--serif);color:var(--text);font-size:20px}.mood.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);color:var(--text)}.diary-text{resize:none;margin-top:12px;font-size:16px}.entries{margin:0;padding:0;list-style:none}.entries p{margin:6px 0}.entry-day{color:var(--muted);justify-content:space-between;font-size:14px;display:flex}.entry-mood.mood-1,.entry-mood.mood-2{color:var(--hard)}.entry-mood.mood-4,.entry-mood.mood-5{color:var(--earth)}.entry-transit{color:var(--muted);font-size:13px}.plans{text-align:left;gap:8px;margin-top:4px;display:grid}.premium-offer+.premium-offer{margin-top:14px}.streak{color:var(--muted);text-align:center;margin:14px 0 0;font-size:14px}.invite{border:1px solid var(--line);border-radius:16px;margin-top:20px;padding:2px 16px 16px}.invite h2{margin-top:16px}.invite p{color:var(--muted);margin:0 0 4px}.sheet-backdrop{z-index:40;-webkit-backdrop-filter:blur(4px);background:#060410b3;justify-content:center;align-items:flex-end;animation:.25s both fade;display:flex;position:fixed;inset:0}.sheet-away{display:none}.sheet{width:100%;max-width:480px;max-height:92dvh;padding:10px 20px calc(20px + env(safe-area-inset-bottom));background:linear-gradient(170deg,#2a2057 0%,#17122f 38%,#120e27 100%);border:1px solid #e9c98b38;border-bottom:0;border-radius:28px 28px 0 0;animation:.38s cubic-bezier(.2,.9,.2,1) both sheet-up;position:relative;overflow-y:auto;box-shadow:0 -20px 60px #04030cb3}.sheet-emblem{color:#1b1430;background:linear-gradient(145deg,#f8e3b6,#d6a965);border-radius:50%;place-items:center;width:58px;height:58px;margin:8px 0 0;display:grid;box-shadow:0 0 34px #e9c98b80}.sheet-emblem svg{animation:3.6s ease-in-out infinite twinkle}.sparks{position:absolute;top:60px;left:50%}.sparks i{background:var(--gold);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:9px;height:9px;animation:1.3s ease-out both spark;position:absolute}.sheet-handle{background:#ffffff38;border-radius:2px;width:40px;height:4px;margin:0 auto 6px;display:block}.sheet-close{width:36px;height:36px;color:var(--muted);cursor:pointer;background:#ffffff14;border:0;border-radius:50%;font-size:22px;line-height:1;position:absolute;top:12px;right:14px}.sheet h2{margin:14px 40px 14px 0;font-size:24px}.tiers{background:#08061499;border-radius:16px;gap:4px;padding:4px;display:flex}.tier{min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;flex:1;font-weight:600;transition:background .2s,color .2s}.tier.selected{color:#1b1430;background:linear-gradient(135deg,#f6dfae,#dcb26f)}.benefits{gap:10px;margin:18px 0;padding:0;list-style:none;display:grid}.benefits li{padding-left:28px;font-size:15.5px;line-height:1.4;animation:.35s ease-out both rise;position:relative}.benefits li:before{content:"";background:var(--gold);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:16px;height:16px;position:absolute;top:.2em;left:2px}.periods{grid-auto-columns:1fr;grid-auto-flow:column;gap:10px;display:grid}.period{color:var(--text);font:inherit;text-align:left;cursor:pointer;background:#08061473;border:1px solid #ffffff1a;border-radius:18px;flex-direction:column;gap:2px;padding:14px 14px 12px;transition:border-color .2s,box-shadow .2s;display:flex;position:relative}.period.selected{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold), 0 0 24px #e9c98b2e}.period-name{color:var(--muted);font-size:14px}.period-price{font-family:var(--serif);font-size:24px}.period-note{color:var(--muted);font-size:12.5px}.period-badge{background:var(--earth);color:#10230f;border-radius:10px;padding:2px 8px;font-size:12px;font-weight:700;position:absolute;top:-9px;right:12px}.sheet-pay{width:100%;margin-top:18px;font-size:17px}.sheet-note{color:var(--muted);margin:0;font-size:14px}.sheet-terms{color:var(--muted);text-align:center;margin:12px 0 0;font-size:12.5px;line-height:1.45}.sheet-status{min-height:52px;color:var(--gold);justify-content:center;align-items:center;gap:10px;margin:18px 0 0;display:flex}.sheet-status-block{border:1px solid var(--line);color:var(--muted);border-radius:14px;margin-top:18px;padding:12px 14px;font-size:14.5px}.sheet-status-block p{margin:0}.sheet-done{color:var(--gold);text-align:center;padding:28px 0 20px;position:relative}.sheet-done svg{filter:drop-shadow(0 0 22px #e9c98bb3);animation:.9s cubic-bezier(.2,1.4,.4,1) both star-in}.sheet-done h2{color:var(--text);margin:12px 0 4px}.sheet-done p{color:var(--muted);margin:0}.facts-list{margin:0 0 4px}.facts-list div{border-bottom:1px solid var(--line);justify-content:space-between;gap:16px;padding:10px 0;display:flex}.facts-list dt{color:var(--muted);font-size:14.5px}.facts-list dd{text-align:right;margin:0}.profile-morning .daily-morning{border-top:0;margin-top:0;padding-top:0}.profile .plan{margin-bottom:0}.plan{background:var(--bg-raised);border:1px solid #ffffff14;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.plan-paid{background:linear-gradient(120deg,#e9c98b29,#1e183eb8 60%);border-color:#e9c98b66}.plan-label,.plan-ends{color:var(--muted);font-size:13px;display:block}.plan-name{font-family:var(--serif);font-size:20px;display:block}.plan-paid .plan-name{color:var(--gold)}.daily{border:1px solid var(--line);background:var(--bg-raised);border-radius:16px;margin:20px 0 8px;padding:4px 16px 16px}.daily-date{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin:14px 0 0;font-size:13px}.gauges{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:14px;display:grid}.gauge{background:linear-gradient(170deg,#281f549e,#14102a9e);border:1px solid #ffffff12;border-radius:20px;flex-direction:column;align-items:center;gap:6px;padding:14px 6px 12px;font-size:13.5px;display:flex}.gauge svg{width:64px}.gauge-track,.gauge-fill{fill:none;stroke-width:5px}.gauge-track{stroke:#ffffff17}.gauge-fill{stroke:var(--gold);stroke-linecap:round;filter:drop-shadow(0 0 5px #e9c98b99);animation:1.1s cubic-bezier(.2,.8,.2,1) both gauge-in}.gauge text{fill:var(--text);font-family:var(--serif);font-size:22px}.day-tomorrow{background:#e9c98b14;border:1px solid #e9c98b4d;border-radius:16px;margin:0 0 12px;padding:12px 14px;font-size:14.5px}.panel .daily-morning{border-top:0;margin-top:0;padding-top:0}.quiz-icon{width:60px;height:60px;margin:0 0 18px}.panel .lunar-nav{margin-top:-4px}.facts.panel{padding:4px 16px}.facts.panel li:last-child{border-bottom:0}.pair-names{background:linear-gradient(110deg,#fff 10%,#e9c98b 55%,#fff 95%);color:#0000;text-align:center;-webkit-background-clip:text;background-clip:text;margin:4px 0 6px}.pair-visual{justify-content:center;align-items:center;gap:6px;display:flex}.pair-visual .score{margin:8px 0 12px}.pair-person{width:56px;height:56px;color:var(--gold);font-family:var(--serif);background:radial-gradient(circle at 50% 35%,#e9c98b3d,#3a2c7873 70%);border:1px solid #e9c98b73;border-radius:50%;flex:none;place-items:center;font-size:26px;display:grid;box-shadow:0 0 24px #e9c98b33}.synastry.panel{padding:6px 14px}.synastry.panel li{border-bottom:0}.arcana{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:6px;display:grid}.arcanum{text-align:center;background:linear-gradient(170deg,#281f549e,#14102a9e);border:1px solid #ffffff12;border-radius:18px;flex-direction:column;align-items:center;gap:2px;padding:12px 6px;animation:.45s ease-out both rise;display:flex}.arcanum-number{font-family:var(--serif);color:var(--gold);font-size:30px;line-height:1.1}.arcanum-name{font-size:13.5px;line-height:1.25}.arcanum-label{color:var(--muted);font-size:11.5px;line-height:1.25}.matrix .wheel-stage{margin-bottom:8px}.timeline{margin:0;padding:0;list-style:none}.timeline>li{border-left:1px solid #e9c98b4d;margin-left:8px;padding:0 0 16px 22px;position:relative}.timeline>li:before{content:"";background:var(--gold);border-radius:50%;width:11px;height:11px;position:absolute;top:4px;left:-6px;box-shadow:0 0 12px #e9c98bcc}.timeline-month{color:var(--gold);font-family:var(--serif);margin-bottom:8px;font-size:18px;display:block}.timeline p{border-left:3px solid var(--soft);background:#1e183e99;border-radius:12px;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 6px;padding:10px 12px;font-size:14.5px;display:flex}.timeline p.hard{border-left-color:var(--hard)}.timeline-day{min-width:1.6em;color:var(--gold);font-family:var(--serif);font-size:18px}.timeline-note{color:var(--muted);font-size:12.5px}.timeline-more{color:var(--muted);margin:0 0 4px 30px;font-size:14px}.mood-bars{align-items:flex-end;gap:5px;height:64px;display:flex}.mood-bar{opacity:.9;background:linear-gradient(#f6dfae,#8a6fd8);border-radius:5px 5px 2px 2px;flex:1;max-width:22px}.mood-bar.mood-1,.mood-bar.mood-2{background:linear-gradient(#ee7d7d,#6a4a9a)}.entries li{background:linear-gradient(170deg,#281f549e,#14102a9e);border:1px solid #ffffff12;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px;margin-bottom:10px;padding:12px 14px;display:grid}.entries li>svg{grid-row:span 3;align-self:start;margin-top:2px}.entries li>p,.entries li>.entry-transit{grid-column:2}.avatar-letter{font-family:var(--serif);font-size:34px;line-height:1}.facts-list.panel{padding:4px 16px}.facts-list.panel div:last-child{border-bottom:0}.daily-hint{color:var(--muted);margin:0 0 4px;font-size:14px}.daily-morning{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;padding-top:14px;font-size:15px;display:flex}.daily-morning label{color:var(--muted);flex:100%}.daily-morning .link{margin-top:0}.daily-time{border:1px solid var(--line);background:var(--bg);min-height:44px;color:var(--text);font-size:16px;font:inherit;font-variant-numeric:tabular-nums;border-radius:12px;padding:8px 12px}.daily-time:focus-visible{outline:2px solid var(--gold);outline-offset:2px}.paywall{background:linear-gradient(175deg,#3c2c76eb,#100c24f5) padding-box padding-box,linear-gradient(150deg,#f6dfae,#e9c98b26 35%,#e9c98b1a 65%,#dcb26f) border-box;border:1px solid #0000;border-radius:28px;margin:30px 0 10px;padding:22px 16px 18px;position:relative;box-shadow:0 20px 60px #04030c99,0 0 60px #e9c98b1a}.paywall-sky{opacity:.45;pointer-events:none;width:170px;position:absolute;top:6px;right:6px}.seal{color:var(--gold);letter-spacing:.14em;text-transform:uppercase;border:1px solid #e9c98b99;border-radius:20px;padding:4px 12px;font-size:11px;display:inline-block;position:relative}.paywall h2{font-size:calc(25px * var(--title-scale,1));background:linear-gradient(110deg,#fff 0%,#f1d9a6 55%,#caa15f 100%);color:#0000;-webkit-background-clip:text;background-clip:text;margin:14px 0 8px;line-height:1.2;position:relative}.paywall-lead{color:var(--muted);margin:0 0 16px;font-size:15px;position:relative}.teasers{margin:0 0 14px;padding:0;list-style:none;position:relative}.teasers li{border-top:1px solid #ffffff14;grid-template-columns:auto 1fr;gap:12px;padding:13px 0;animation:.5s ease-out both rise;display:grid}.teasers h3{color:var(--gold);font-family:var(--serif);margin:0 0 3px;font-size:17px;font-weight:400}.teaser-fact{margin:0 0 6px;font-size:14.5px;line-height:1.4}.teaser-veil{color:var(--muted);filter:blur(4.5px);-webkit-user-select:none;user-select:none;margin:0;font-size:13.5px;line-height:1.45}.paywall-also{color:var(--muted);text-align:center;margin:0 0 14px;font-size:13.5px;position:relative}.paywall-price{color:var(--muted);text-align:center;margin:10px 0 0;font-size:13px;position:relative}.paywall-action{bottom:calc(106px + env(safe-area-inset-bottom));position:sticky}.paywall-action .button{position:relative;overflow:hidden;box-shadow:0 8px 28px #0e0b1fe6,0 0 26px #e9c98b47}.paywall-action .button:after{content:"";background:linear-gradient(105deg,#0000 35%,#ffffff8c 50%,#0000 65%);animation:3.6s ease-in-out infinite glint;position:absolute;inset:0;transform:translate(-120%)}.wheel-stage{position:relative}.wheel-stage:before{content:"";filter:blur(18px);background:radial-gradient(circle,#e9c98b29 0%,#785ae633 45%,#0000 70%);border-radius:50%;animation:6s ease-in-out infinite breathe;position:absolute;inset:4%}.wheel{width:100%;max-width:420px;margin:8px auto 0;display:block;position:relative;overflow:visible}.wheel text{text-anchor:middle;dominant-baseline:central;font-family:var(--symbols);-webkit-user-select:none;user-select:none}.wheel-ring{transform-origin:200px 200px;animation:1.2s cubic-bezier(.2,.7,.2,1) both wheel-in}.sign>path{stroke:var(--line);stroke-width:1px;fill-opacity:.1}.sign{animation:.7s both fade}.sign-fire>path{fill:var(--fire)}.sign-earth>path{fill:var(--earth)}.sign-air>path{fill:var(--air)}.sign-water>path{fill:var(--water)}.sign-fire{color:var(--fire)}.sign-earth{color:var(--earth)}.sign-air{color:var(--air)}.sign-water{color:var(--water)}.tick{stroke:#4a4273;stroke-width:.75px}.inner-circle{fill:#0e0b1f99;stroke:var(--line)}.houses{animation:.8s .5s both fade}.cusp{stroke:#3b3364;stroke-width:.75px}.cusp-axis{stroke:var(--gold);stroke-width:1.25px}.house-number{fill:#6f6890;font-size:9px;font-family:var(--sans)!important}.axis-label{fill:var(--gold);letter-spacing:.04em;font-size:9px;font-weight:600;font-family:var(--sans)!important}.aspect{stroke-width:1px;stroke-dasharray:1;stroke-dashoffset:1px;animation:.9s ease-out forwards draw}.aspect-soft{stroke:var(--soft)}.aspect-hard{stroke:var(--hard)}.planet{transform-origin:200px 200px;cursor:pointer;animation:.9s cubic-bezier(.2,.8,.2,1) both planet-in}.planet-hit{fill:#0000}.planet.selected .planet-glyph{color:var(--gold);filter:drop-shadow(0 0 5px #e9c98bf2)}.planet.selected .planet-dot{fill:var(--gold);r:3}.planet.selected .planet-pointer{stroke:var(--gold)}.aspect.dim{stroke-opacity:.08!important}.aspect.lit{stroke-width:1.8px;stroke-opacity:1!important}.wheel-hint{color:var(--muted);text-align:center;margin:6px 0 4px;font-size:13px}.point-info{background:var(--bg-raised);border:1px solid #e9c98b59;border-radius:18px;margin:8px 0 4px;padding:14px 16px;animation:.3s ease-out both rise}.point-info h3{color:var(--gold);font-family:var(--serif);align-items:center;gap:8px;margin:0;font-size:20px;font-weight:500;display:flex}.point-info p{margin:6px 0 0}.point-where,.point-house{color:var(--muted);font-size:14px}.point-aspects{margin:10px 0 0;padding:0;list-style:none}.point-aspects li{border-left:3px solid var(--soft);justify-content:space-between;gap:10px;padding:7px 0 7px 10px;font-size:14.5px;display:flex}.point-aspects li+li{margin-top:4px}.point-aspects li.hard{border-left-color:var(--hard)}.chart-screen .positions tr{cursor:pointer}.positions tr.selected td{color:var(--gold)}.planet-pointer{fill:none;stroke:#8a82ad;stroke-width:.75px}.planet-dot{fill:var(--text)}.planet-glyph{color:var(--text)}.planet-of-mercury .planet-dot{fill:#d8cbb0}.planet-of-venus .planet-dot{fill:#f0b577}.planet-of-mars .planet-dot{fill:#ee6a4c}.planet-of-jupiter .planet-dot{fill:#e2b98c}.planet-of-saturn .planet-dot{fill:#d9b877}.planet-of-uranus .planet-dot{fill:#86d6d8}.planet-of-neptune .planet-dot{fill:#7d99f2}.planet-of-pluto .planet-dot{fill:#b39a8c}.planet-of-lilith .planet-dot{fill:#a878e8}.planet-sun,.planet-moon{color:var(--gold);filter:drop-shadow(0 0 3px #e9c98be6)}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes riffle-left{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(-58%)rotate(-11deg)}}@keyframes riffle-right{0%,to{transform:translate(0)rotate(0)}50%{transform:translate(58%)rotate(11deg)}}@keyframes fan-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes card-flash{0%{opacity:0}25%{opacity:1}to{opacity:0}}@keyframes hover{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-8px)rotate(1.5deg)}}@keyframes spark{0%{opacity:0;transform:rotate(var(--turn)) translateY(0) scale(.4)}20%{opacity:1}to{opacity:0;transform:rotate(var(--turn)) translateY(calc(-1 * var(--far))) scale(1.2)}}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes star-in{0%{opacity:0;transform:scale(.2)rotate(-90deg)}}@keyframes icon-draw{0%{stroke-dashoffset:90px}to{stroke-dashoffset:0}}@keyframes icon-sway{0%,to{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes icon-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}@keyframes icon-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-1.4px)}}@keyframes icon-blink{0%,to{opacity:1}50%{opacity:.25}}@keyframes icon-swing{0%,to{transform:rotate(-22deg)}50%{transform:rotate(22deg)}}@keyframes icon-write{0%{stroke-dashoffset:6px}45%,80%{stroke-dashoffset:0}to{stroke-dashoffset:-6px}}@keyframes icon-hop{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-2.4px)}}@keyframes icon-lean-right{0%,to{transform:translate(-.8px)}50%{transform:translate(.8px)}}@keyframes icon-lean-left{0%,to{transform:translate(.8px)}50%{transform:translate(-.8px)}}@keyframes gauge-in{0%{stroke-dasharray:0 163.4}}@keyframes twinkle{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(1.12)rotate(18deg)}}@keyframes planet-in{0%{opacity:0;transform:rotate(-40deg)scale(.35)}}@keyframes breathe{0%,to{opacity:.7;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}@keyframes glint{0%,55%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes wheel-in{0%{opacity:0;transform:rotate(-50deg)scale(.92)}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-delay:0s!important}}
