@font-face{font-family:"Astra Welcome Playfair";src:url("assets/onboarding/PlayfairDisplay-Variable.ttf") format("truetype");font-style:normal;font-weight:400 900;font-display:swap}
@font-face{font-family:"Astra Welcome Inter";src:url("assets/onboarding/Inter-Variable.ttf") format("truetype");font-style:normal;font-weight:100 900;font-display:swap}
:root{
  --bottom-nav-height:72px;
  --forecast-page-background:#040615;
  --onboarding-bg:#040615;
  --bg:#030927;
  --bg2:#071047;
  --panel:#11184d;
  --panel2:#1b2260;
  --line:#343b76;
  --text:#f6f7ff;
  --muted:#a8add0;
  --faint:#7077a6;
  --primary:#626bff;
  --primary2:#7f88ff;
  --cyan:#3fe4ff;
  --green:#4fe49d;
  --pink:#ff5ac8;
  --orange:#ff8656;
  --cream:#fffcec;
  --shadow:0 24px 70px rgba(0,0,0,.42);
  --radius:28px;
  --z-content:1;
  --z-section:10;
  --z-local-overlay:50;
  --z-header:12000;
  --z-dock:11000;
  --app-hero-inline:16px;
  --app-hero-top:21px;
  --app-hero-height:160px;
  --app-hero-following-gap:17px;
  --hero-orbit-center-right:70px;
  --hero-orbit-center-y:75px;
}

/* Compatibility acquisition funnel */
.compat-app-funnel{min-height:calc(100dvh - 150px);display:flex;flex-direction:column;justify-content:center;padding:24px 20px calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 28px)}.compat-app-funnel>h1,.compat-app-entry h1{font-size:clamp(31px,9vw,40px);line-height:1.06}.compat-app-entry{text-align:center;align-items:center}.compat-app-entry>div:first-child p{margin:12px auto 0;max-width:520px;color:#b8c1e5;font-size:17px;line-height:1.45}.compat-app-entry .compat-orbit-visual{min-height:180px}.compat-app-entry>.primary{width:min(100%,520px)}.compat-app-entry>small{margin-top:10px;color:#8f9aca}.compat-app-funnel.compat-micro-screen{margin:0;max-width:none;width:100%}.compat-app-funnel .compat-question-list{width:min(100%,560px)}
body.compat-acquisition-mode .app-top-layer,body.compat-acquisition-mode .compat-forecast-ambient,body.compat-acquisition-mode .time-tabs,body.compat-acquisition-mode .bottom-nav{display:none!important}body.compat-acquisition-mode .main-ui{background:#090f38}body.compat-acquisition-mode #page-compat{padding-bottom:0}body.compat-acquisition-mode .compat-result-view,body.compat-acquisition-mode .compat-preview-view{padding-bottom:calc(env(safe-area-inset-bottom) + 32px)}
.compat-acquisition-screen,.compat-calculating-screen{min-height:100dvh;background:radial-gradient(circle at 50% 42%,rgba(93,78,220,.24),transparent 34%),linear-gradient(180deg,#101851,#090f38 72%);padding:calc(12px + env(safe-area-inset-top)) 20px calc(22px + env(safe-area-inset-bottom));display:flex;flex-direction:column}.compat-acq-header{height:40px;display:flex;align-items:center;justify-content:space-between}.compat-acq-header strong{font-size:18px;letter-spacing:.04em}.compat-acq-header button{width:38px;height:38px;border-radius:50%;color:#c7ceef;background:rgba(255,255,255,.07);font-size:24px}.compat-acq-entry{flex:1;min-height:0;display:grid;grid-template-rows:auto minmax(170px,1fr) auto;align-items:center;text-align:center;padding:16px 0 4px}.compat-acq-entry h1,.compat-question-screen h1,.compat-micro-screen h1{font-size:clamp(32px,9.5vw,44px);line-height:1.04;letter-spacing:-.025em}.compat-acq-entry>div:first-child p,.compat-micro-screen>p{max-width:520px;margin:14px auto 0;color:#bbc4e8;font-size:18px;line-height:1.45}.compat-acq-actions{display:grid;gap:8px}.compat-acq-actions small{color:#9ca7d6;font-size:12px}.compat-orbit-visual{position:relative;width:min(78vw,330px);height:min(52vw,220px);margin:auto;filter:drop-shadow(0 0 30px rgba(102,92,255,.35))}.compat-orbit-visual:before,.compat-orbit-visual:after{content:"";position:absolute;inset:16% 2%;border:1px solid rgba(160,172,255,.28);border-radius:50%;transform:rotate(12deg)}.compat-orbit-visual:after{transform:rotate(-18deg);inset:10% 12%}.compat-orbit-visual .orbit-a,.compat-orbit-visual .orbit-b{position:absolute;top:50%;width:104px;height:104px;border-radius:50%;transform:translateY(-50%);background:radial-gradient(circle at 35% 30%,#c8f1ff 0 5%,#677aff 28%,#4925a5 66%,rgba(64,35,145,.15) 72%);box-shadow:0 0 35px rgba(91,108,255,.62);animation:compat-orbit-float 3.8s ease-in-out infinite}.compat-orbit-visual .orbit-a{left:15%}.compat-orbit-visual .orbit-b{right:15%;animation-delay:-1.9s}.compat-orbit-visual>i{position:absolute;left:50%;top:50%;width:13px;height:13px;border-radius:50%;transform:translate(-50%,-50%);background:white;box-shadow:0 0 18px 7px rgba(149,138,255,.75)}.compat-orbit-visual>b,.compat-orbit-visual>em{position:absolute;width:4px;height:4px;border-radius:50%;background:#c7d5ff;box-shadow:0 0 8px #9facff}.compat-orbit-visual>b{left:18%;top:18%}.compat-orbit-visual>em{right:20%;bottom:17%}.compat-orbit-visual.small{height:140px;transform:scale(.78);margin-block:-10px}.compat-flow-progress{display:flex;align-items:center;justify-content:center;gap:6px;height:42px}.compat-flow-progress i{width:30px;height:4px;border-radius:9px;background:rgba(255,255,255,.13)}.compat-flow-progress i.active{background:linear-gradient(90deg,#7478ff,#a28cff)}.compat-flow-progress small{margin-left:6px;color:#8f9acb}.compat-question-screen,.compat-micro-screen{width:min(100%,560px);margin:auto;flex:1;display:flex;flex-direction:column;justify-content:center;padding:18px 0}.compat-flow-back{align-self:flex-start;margin-bottom:24px;color:#bac3e9;background:none}.compat-question-list{display:grid;gap:10px;margin-top:28px}.compat-question-list button{min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border:1px solid rgba(255,255,255,.1);border-radius:18px;background:rgba(31,37,91,.72);color:white;text-align:left;font-weight:750;font-size:16px}.compat-question-list button:active{transform:scale(.985)}.compat-self-confirm{margin:28px 0 18px;padding:24px;border:1px solid rgba(150,145,255,.22);border-radius:24px;background:rgba(35,39,93,.76)}.compat-self-confirm span{color:#9da8da;font-size:13px}.compat-self-confirm h2{margin-top:6px;font-size:25px}.compat-self-confirm p{margin-top:6px;color:#b9c2e4}.compat-micro-screen>.primary{margin-top:26px}.compat-ready-screen{text-align:center}.compat-linked-names{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:28px;font-weight:800;font-size:19px}.compat-linked-names i{width:42px;height:1px;background:linear-gradient(90deg,#6974ff,#c196ff);box-shadow:0 0 9px #8176ff}.compat-calculating-screen{align-items:center;justify-content:center;text-align:center}.compat-calculating-screen .compat-acq-header{position:absolute;top:calc(12px + env(safe-area-inset-top));left:20px;right:20px}.compat-calculating-screen h1{font-size:30px;line-height:1.15}.compat-calculating-screen p{margin-top:9px;color:#98a3d2}.compat-calculating-orbits{position:relative;width:180px;height:120px;margin-bottom:30px}.compat-calculating-orbits i,.compat-calculating-orbits b{position:absolute;top:24px;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle,#8ba4ff,#5640c6 60%,transparent 64%);animation:compat-orbit-float 1.8s ease-in-out infinite}.compat-calculating-orbits i{left:20px}.compat-calculating-orbits b{right:20px;animation-delay:-.9s}.compat-calculating-orbits span{position:absolute;left:50%;top:60px;width:8px;height:8px;border-radius:50%;background:#fff;box-shadow:0 0 18px #9d91ff}.compat-preview-view{display:grid;gap:18px;padding:calc(12px + env(safe-area-inset-top)) 20px calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 32px);background:radial-gradient(circle at 50% 26%,rgba(91,79,211,.2),transparent 30%)}.compat-preview-view .compat-score-hero{padding-inline:0}.compat-preview-insight,.compat-preview-highlights article{padding:20px;border:1px solid rgba(255,255,255,.09);border-radius:24px;background:rgba(29,33,78,.82)}.compat-preview-insight small,.compat-preview-highlights small{color:#9ca7d8;font-weight:700}.compat-preview-insight h2{margin:6px 0;font-size:22px}.compat-preview-insight p{color:#bdc5e7;line-height:1.45}.compat-preview-highlights{display:grid;grid-template-columns:1fr 1fr;gap:12px}.compat-preview-highlights article{position:relative;min-width:0}.compat-preview-highlights h3{margin:8px 36px 0 0;font-size:17px;line-height:1.2}.compat-preview-highlights strong{position:absolute;right:16px;bottom:18px;color:#aaa2ff}.compat-preview-cta{text-align:center}.compat-preview-cta p{margin-top:9px;color:#939dcc;font-size:13px;line-height:1.35}.compat-more{border-top:1px solid rgba(255,255,255,.08)}.compat-more>summary{padding:16px 0;cursor:pointer;color:#aaaefe;font-weight:750}.compat-result-view>.compat-acq-header{margin:0 10px}.compat-locked-report{position:relative}.compat-locked-report:after{content:"";position:absolute;inset:auto 0 0;height:45%;pointer-events:none;background:linear-gradient(transparent,#090f38)}
@keyframes compat-orbit-float{0%,100%{transform:translateY(-50%) translateY(-3px)}50%{transform:translateY(-50%) translateY(3px)}}@media(prefers-reduced-motion:reduce){.compat-orbit-visual .orbit-a,.compat-orbit-visual .orbit-b,.compat-calculating-orbits i,.compat-calculating-orbits b{animation:none}}@media(max-width:359px){.compat-acquisition-screen{padding-inline:16px}.compat-acq-entry h1,.compat-question-screen h1,.compat-micro-screen h1{font-size:30px}.compat-acq-entry>div:first-child p,.compat-micro-screen>p{font-size:16px}.compat-orbit-visual .orbit-a,.compat-orbit-visual .orbit-b{width:86px;height:86px}.compat-question-list{gap:8px;margin-top:18px}.compat-question-list button{min-height:52px;padding:11px 14px;font-size:15px}.compat-preview-highlights{grid-template-columns:1fr}}@media(min-width:700px){.compat-acquisition-screen,.compat-calculating-screen{min-height:100%}.compat-preview-view{max-width:760px;margin-inline:auto}}
*{box-sizing:border-box}
html,body{width:100%;min-height:100%;margin:0;overflow-x:hidden;font-family:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--text);background:var(--forecast-page-background);}
html{height:auto;min-height:100%;background-color:var(--forecast-page-background)}
body{height:auto;min-height:100dvh;overflow-y:auto;background-color:var(--forecast-page-background);-webkit-overflow-scrolling:touch}
button,input,select{font:inherit;color:inherit}

button{cursor:pointer;border:0;background:none}
.desktop-bg{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(circle at 20% 10%,rgba(91,100,255,.28),transparent 30%),radial-gradient(circle at 85% 85%,rgba(255,65,177,.12),transparent 30%),#07091a;background-attachment:fixed;}
.app-shell{position:relative;z-index:1;width:100%;max-width:none;min-height:100dvh;height:100dvh;margin:0;background:#040615;overflow:visible;border:0;outline:0;box-shadow:none}
@media(max-width:759px){
  .desktop-bg{display:none}
  .app-shell{background:#040615}
}
@media(min-width:760px){.app-shell{width:auto;max-width:430px;min-height:0;height:92vh;margin:4vh auto 0;overflow:hidden;border-radius:38px;box-shadow:0 0 0 1px rgba(255,255,255,.08),var(--shadow)}.app-shell:before{content:"";position:absolute;inset:0;border-radius:38px;pointer-events:none;border:1px solid rgba(255,255,255,.12);z-index:var(--z-local-overlay)}.bottom-nav{border-radius:0 0 36px 36px}}
.hidden{display:none!important}.muted{color:var(--muted)}
h1,h2,h3,p{margin:0}h1{font-size:38px;line-height:1.03;font-weight:900;letter-spacing:-1.2px}h2{font-size:28px;line-height:1.1;font-weight:900;letter-spacing:-.5px}h3{font-size:22px;font-weight:900;line-height:1.15}p{font-size:16px;line-height:1.45;color:var(--muted);font-weight:650}.wide{width:100%}.primary{height:58px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary2));color:white;font-weight:900;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 16px 36px rgba(91,100,255,.28)}.primary.mini{height:42px;padding:0 28px;width:auto}.secondary{height:54px;border-radius:999px;color:#fff;font-weight:900;text-transform:uppercase}.ghost-link{color:var(--muted);font-weight:700}.icon-btn{width:36px;height:36px;display:grid;place-items:center;font-size:25px}.close{position:absolute;right:18px;top:16px;z-index:4;color:white;font-size:42px;line-height:1}.close.dark{color:#38385e}.restore{position:absolute;right:20px;top:22px;color:rgba(255,255,255,.55);font-size:17px}

/* onboarding */
.onboarding{position:absolute;inset:0;padding:22px 18px 28px;display:flex;flex-direction:column;overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(108,96,255,.18),transparent 30%),var(--bg);z-index:20}.onboarding-top{height:44px;display:flex;justify-content:space-between;align-items:center;flex:0 0 auto}.brand-mark{display:flex;align-items:center;gap:10px;font-weight:900}.brand-mark:after{content:"Lunara";font-size:20px}.brand-mark span{width:32px;height:32px;border-radius:12px;background:conic-gradient(from 20deg,var(--cyan),var(--primary),var(--pink),var(--green),var(--cyan));box-shadow:0 0 34px rgba(63,228,255,.35)}.on-step{display:none;flex:1;min-height:0;flex-direction:column;justify-content:center;gap:18px;padding:8px 0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.on-step::-webkit-scrollbar{display:none}.on-step.active{display:flex}.on-step.no-scroll{overflow:hidden}.on-step small{color:#8e94bd;text-align:center;line-height:1.45;font-weight:650}.progress{width:100%;height:6px;background:rgba(255,255,255,.12);border-radius:999px;overflow:hidden}.progress span{display:block;height:100%;background:linear-gradient(90deg,var(--cyan),var(--primary));border-radius:999px}.orb-hero{width:210px;height:210px;border-radius:50%;margin:0 auto;background:radial-gradient(circle at 48% 45%,var(--cream) 0 8%,var(--cyan) 18%,var(--primary) 48%,rgba(110,30,255,.1) 68%);filter:drop-shadow(0 0 32px rgba(93,104,255,.35))}.orb-hero.big:after{content:"✦";font-size:42px;position:absolute}.pulsing{animation:pulse 2.2s infinite}@keyframes pulse{50%{transform:scale(1.05);filter:drop-shadow(0 0 50px rgba(95,105,255,.65))}}@keyframes partnerFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes partnerPulse{0%,100%{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.06)}}@keyframes spin{to{transform:rotate(360deg)}}.choice-grid{display:grid;gap:14px}.choice-grid.two{grid-template-columns:1fr 1fr}.choice-grid.three{grid-template-columns:repeat(3,1fr)}.choice-grid.compact{gap:12px}.choice-card,.choice-tile{position:relative;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.06);border-radius:18px;min-height:110px;padding:14px;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;color:var(--text);font-weight:850;text-align:left}.choice-card b{font-size:38px}.choice-card span,.choice-tile span{font-size:15px}.choice-card.selected,.choice-tile.selected{outline:2px solid var(--primary);background:rgba(98,107,255,.18)}.choice-card.selected:after,.choice-tile.selected:after{content:"✓";position:absolute;top:10px;right:10px;width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--primary)}.choice-tile{align-items:center;text-align:center;min-height:106px}.choice-tile i{font-style:normal;font-size:38px;color:var(--primary2);text-shadow:0 0 20px currentColor}.soft-input,.form-stack input,.form-stack select{width:100%;height:54px;border-radius:18px;border:0;background:rgba(255,255,255,.07);padding:0 16px;color:white;outline:none;font-weight:750}.form-stack{display:grid;gap:12px}.form-stack label{display:grid;gap:8px;color:var(--muted);font-weight:800}.map-picker-btn{height:52px;background:rgba(255,255,255,.08);border:1px solid rgba(127,136,255,.4);text-transform:none;letter-spacing:0}.zodiac-arc{height:150px;margin:6px auto 0;width:300px;border-radius:300px 300px 0 0;border:22px solid rgba(66,228,196,.52);border-bottom:0;box-shadow:0 0 24px rgba(66,228,196,.32);position:relative}.zodiac-arc:after{content:"♈";position:absolute;top:18px;left:50%;transform:translateX(-50%);font-size:40px}.muted-arc{opacity:.6}.avatar-glow{width:132px;height:132px;border-radius:35px;margin:0 auto;display:grid;place-items:center;font-size:68px;background:radial-gradient(circle,var(--cream),var(--cyan),var(--primary));box-shadow:0 0 36px rgba(98,107,255,.5)}

/* layout */
.main-ui{height:100%;display:flex;flex-direction:column;overscroll-behavior:none;background:linear-gradient(180deg,#1a2378 0,#172071 88px,var(--bg) 88px)}.topbar{position:relative;height:62px;margin-bottom:0;display:flex;align-items:center;justify-content:space-between;padding:10px 18px;background:#172071;z-index:8;overflow:hidden;transition:margin-bottom .58s cubic-bezier(.22,.74,.18,1),opacity .46s ease,transform .58s cubic-bezier(.22,.74,.18,1),background-color .42s ease,filter .42s ease;will-change:transform,opacity,margin-bottom}.topbar:after{content:"";position:absolute;left:0;right:0;bottom:-18px;height:30px;pointer-events:none;background:linear-gradient(180deg,rgba(61,81,206,.22),rgba(23,32,113,0));filter:blur(10px);opacity:.78;transition:opacity .42s ease,filter .42s ease}.topbar strong{font-size:20px;position:relative;z-index:2;transition:opacity .42s ease,transform .54s cubic-bezier(.22,.74,.18,1),filter .42s ease}.topbar-stretch-mark{position:absolute;left:50%;top:50%;z-index:1;width:58px;height:58px;border-radius:18px;transform:translate(-50%,-50%) scale(.62);opacity:0;pointer-events:none;background:radial-gradient(circle at 50% 34%,#fff4c3 0 10%,#6fe2ff 24%,#626bff 58%,rgba(98,107,255,.08) 76%);box-shadow:0 0 34px rgba(98,107,255,.28);filter:blur(8px);transition:transform .22s ease,opacity .22s ease,filter .22s ease}.top-actions{display:flex;gap:7px;position:relative;z-index:2;transition:opacity .42s ease,transform .54s cubic-bezier(.22,.74,.18,1),filter .42s ease}.flag{font-size:19px}.page{display:none;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:84px;background:var(--bg);overscroll-behavior:none;-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-y}.page::-webkit-scrollbar{display:none}.page.active{display:block}.page.no-scroll{overflow:hidden}.scroll-content{padding:16px 10px 110px}.bottom-nav{position:absolute;left:0;right:0;bottom:0;height:72px;background:rgba(7,16,71,.96);border-top:1px solid rgba(255,255,255,.06);display:grid;grid-template-columns:repeat(4,1fr);z-index:9;backdrop-filter:blur(10px)}.bottom-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#949bc8;font-weight:900}.bottom-nav button.active{color:white}.bottom-nav i{font-style:normal;font-size:23px}.bottom-nav span{font-size:11px}.simple-head{height:58px;display:flex;align-items:center;justify-content:center;position:sticky;top:0;background:var(--bg);z-index:4}.simple-head h2{font-size:20px}.simple-head .icon-btn{position:absolute;right:14px;color:#ffb84d}
.main-ui.today-tabs-docked .topbar{margin-bottom:-62px;opacity:0;transform:translateY(-100%);filter:blur(8px);pointer-events:none}
.main-ui.today-tabs-docked .topbar strong,.main-ui.today-tabs-docked .top-actions{opacity:0;transform:translateY(-10px) scale(.985);filter:blur(7px)}

/* home */
.hero-card{background:#172078;min-height:312px;padding:18px 0 26px;position:relative;overflow:hidden}.hero-card:before{content:"";position:absolute;right:-34px;bottom:28px;width:136px;height:136px;border-radius:50%;box-shadow:-28px 14px 0 10px rgba(75,38,210,.65)}.hero-card:after{content:"";position:absolute;left:-32px;bottom:-22px;width:136px;height:104px;border-radius:72px 72px 0 0;background:linear-gradient(160deg,#0c4dff,#1c126d)}.sign-row{display:grid;grid-template-columns:repeat(7,48px);justify-content:space-between;align-items:center;gap:10px;padding:2px 24px 22px}.round{flex:0 0 48px;height:48px;border-radius:50%;display:grid;place-items:center;background:rgba(143,150,255,.22);border:2px solid rgba(143,150,255,.55);color:#aeb4ff;font-size:25px;font-weight:900}.round.avatar,.avatar-main{background:radial-gradient(circle at 50% 34%,#ffbe44 0 22%,#ff5b4b 23% 54%,#56156f 55%);color:#fff}.round.active{outline:3px solid #ff3e9e}.plus{font-size:34px}.profile-block{max-width:360px;margin:0 auto;text-align:center;position:relative;z-index:1;display:grid;justify-items:center;gap:10px;padding:6px 24px 0}.avatar-main{width:72px;height:72px;border-radius:50%;display:grid;place-items:center;margin:0 auto;font-size:39px}.avatar-main.small{width:56px;height:56px;margin:0}.profile-block h1{font-size:34px;line-height:1.02;margin:0}.profile-block p{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;font-size:14px;font-weight:850;color:#b2b7e9;margin:0;max-width:100%}.profile-block p span{white-space:nowrap}.pill{height:46px;border-radius:999px;background:linear-gradient(135deg,var(--primary),var(--primary2));padding:0 34px;font-weight:900;color:white}.time-tabs{display:flex;gap:0;overflow:auto;background:rgba(3,9,39,.88);border-bottom:1px solid rgba(255,255,255,.22);position:sticky;top:62px;z-index:10;scrollbar-width:none;transition:top .54s cubic-bezier(.22,.74,.18,1),background-color .42s ease,backdrop-filter .42s ease,box-shadow .42s ease;backdrop-filter:blur(0px)}.time-tabs:before{content:"";position:absolute;left:0;right:0;top:-18px;height:22px;pointer-events:none;background:linear-gradient(180deg,rgba(23,32,113,.28),rgba(23,32,113,0));opacity:0;filter:blur(10px);transition:opacity .42s ease,filter .42s ease}.main-ui.today-tabs-docked .time-tabs{top:0;background:rgba(3,9,39,.78);backdrop-filter:blur(16px);box-shadow:0 10px 28px rgba(2,6,28,.34)}.main-ui.today-tabs-docked .time-tabs:before{opacity:1;filter:blur(16px)}.time-tabs button{min-width:112px;height:60px;color:#7077a0;font-size:21px;font-weight:900;position:relative;transition:color .28s ease,transform .28s ease,opacity .28s ease}.time-tabs button.active{color:white}.time-tabs button.active:after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:2px;background:white}.card{background:var(--panel);border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:0 1px 0 rgba(255,255,255,.04) inset}.notice{display:flex;gap:10px;align-items:flex-start;margin:12px 2px 16px;color:#eef0ff;font-weight:850;font-size:14px}.notice span{font-size:23px}.tip{height:116px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(140deg,#083b99,#273caa 50%,#603994);border-radius:18px;padding:18px;margin-bottom:16px;overflow:hidden}.tip small{font-weight:800;color:#bdc7ff}.tip h3{font-size:24px}.shooting{font-size:64px;filter:drop-shadow(0 0 10px #ffe66c)}.daily-card h2{font-size:31px;margin-bottom:18px}.daily-card .spark{font-size:45px;color:#7e9aff}.daily-card p{color:#f2f3ff;font-size:18px;font-weight:760;margin-bottom:18px}.rating{background:#0d1548;border-radius:18px;padding:16px;margin-bottom:16px}.rating h3{font-size:22px;margin-bottom:8px}.rating p{color:white;margin-bottom:12px}.emoji-row{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.emoji-row button{background:#252d70;border-radius:8px;height:50px;font-size:25px}.yesno{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:10px 6px 22px}.yn-title{display:flex;gap:12px;align-items:center;font-size:24px;font-weight:900}.yn-title.ok:before{content:"✓";background:linear-gradient(135deg,#20c7bd,#5b85ff)}.yn-title.no:before{content:"×";background:linear-gradient(135deg,#9d3d70,#ff496f)}.yn-title:before{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:18px}.yesno ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}.yesno li{font-weight:850;color:#eef0ff;line-height:1.15}.yesno li:before{content:"✓";color:#2fc1cf;margin-right:8px}.yesno .no-col li:before{content:"×";color:#e84b78}.mood-card{position:relative;min-height:164px;display:flex;align-items:center}.mood-card__content{width:100%}.mood-card h2{margin-bottom:18px}.mood-card--locked .ring,.mood-card--locked .ring span{filter:blur(6px);opacity:.45}.mood-card--locked .ring:before{background:rgba(8,12,36,.92)}.mood-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;text-align:center}.ring{--val:65;--col:var(--cyan);width:62px;height:62px;border-radius:50%;margin:0 auto 8px;background:conic-gradient(var(--col) calc(var(--val)*1%),rgba(255,255,255,.35) 0);position:relative;display:grid;place-items:center;font-weight:900}.ring:before{content:"";position:absolute;inset:8px;border-radius:inherit;background:var(--panel)}.ring span{position:relative}.mood-row b{font-size:15px}.h-scroll{display:flex;gap:14px;overflow:auto;margin:0 -10px 16px;padding:0 10px;scrollbar-width:none}.h-scroll::-webkit-scrollbar{display:none}.feed-card{flex:0 0 150px;height:180px;background:var(--panel);border-radius:18px;padding:18px;display:flex;flex-direction:column;justify-content:space-between}.feed-card i{font-style:normal;font-size:46px;color:var(--green);text-shadow:0 0 16px currentColor}.feed-card h3{font-size:23px}.feed-card p{font-size:14px;color:white}.gradient-banner{border-radius:18px;background:linear-gradient(135deg,#0050b8,#172fb3 55%,#56419c);padding:18px;margin-bottom:16px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}.gradient-banner h3{font-size:24px}.gift-ill{font-size:64px}.tarot{background:radial-gradient(circle at 50% 42%,rgba(98,107,255,.45),transparent 38%),var(--panel);text-align:center}.tarot h2{text-align:left}.cards-ill{height:210px;margin:10px auto 18px;position:relative;display:grid;place-items:center}.cards-ill:before,.cards-ill:after{content:"";position:absolute;width:120px;height:160px;background:linear-gradient(160deg,#151438,#4b367d);border:2px solid rgba(255,255,255,.18);border-radius:8px;transform:rotate(-10deg);opacity:.6}.cards-ill:after{transform:rotate(10deg)}.card-front{position:relative;z-index:2;width:140px;height:190px;border-radius:10px;background:linear-gradient(160deg,#170e33,#683872 70%,#151438);border:2px solid rgba(255,255,255,.2);display:grid;place-items:center;font-size:52px}.biorhythm{height:190px;background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,.06));border-radius:15px;margin-top:12px;position:relative;overflow:hidden}.graph-line{position:absolute;left:34px;right:28px;height:2px;background:rgba(255,255,255,.22)}.graph-line.l1{top:40px}.graph-line.l2{top:80px}.graph-line.l3{top:120px}.curve{position:absolute;left:30px;right:30px;top:45px;height:96px;border:3px solid transparent;border-top-color:var(--primary2);border-radius:50%;transform:rotate(-8deg)}.curve.c2{border-top-color:#ff775c;top:74px;transform:rotate(4deg)}.curve.c3{border-top-color:#effd4d;top:90px;transform:rotate(-2deg)}.lunar-row{display:flex;gap:12px;align-items:center;margin-top:14px;background:rgba(255,255,255,.05);padding:13px;border-radius:16px}.moon{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 65% 45%,#fff,#a0a0a0 48%,#282e48 50%)}.text-row{height:54px;display:flex;width:100%;align-items:center;justify-content:space-between;text-align:left;font-size:20px;font-weight:900}.relationship-ill{height:170px;border-radius:18px;background:radial-gradient(circle at 50% 50%,#f45cb8 0 14%,transparent 15%),radial-gradient(circle at 50% 40%,rgba(98,107,255,.3),transparent 38%);display:grid;place-items:center;font-size:90px}.locked{position:relative;overflow:hidden}.locked:after{content:"🔒";position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(180deg,rgba(17,24,77,.52),rgba(3,9,39,.9));font-size:28px;backdrop-filter:blur(1px)}.unlock-block{text-align:center;padding:16px 12px 24px}.unlock-block h3{margin-bottom:14px}.week-card,.month-card{min-height:210px}.category-card{min-height:220px;display:flex;flex-direction:column;justify-content:space-between}.category-card .big-icon{font-size:76px;text-align:center;margin:12px 0;color:var(--green);text-shadow:0 0 18px currentColor}

/* compatibility */
.compat-empty{min-height:calc(100dvh - 150px);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:20px}.score-card{background:#1d245a;border-radius:24px;padding:20px;text-align:left;margin:0 10px 16px}.score-bar{height:12px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden;margin:16px 0}.score-bar span{display:block;height:100%;width:84%;background:linear-gradient(90deg,#24d884,#81f69c)}.area-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px dashed rgba(255,255,255,.14);font-weight:900}.area-row span:first-child{width:28px;color:var(--faint)}.area-row em{margin-left:auto;font-style:normal;color:#8df19f}.deep-card{min-height:145px;background:#20285b;border-radius:20px;padding:20px;margin:0 10px 16px}.deep-card h3{font-size:25px}.deep-card p{margin-top:6px}.planet-report h2{padding:12px 10px}.carousel-promo{min-height:calc(100dvh - 120px);display:flex;flex-direction:column;justify-content:flex-end;padding:26px 28px;text-align:center;background:radial-gradient(circle at 50% 30%,rgba(98,107,255,.28),transparent 34%)}.promo-art{height:360px;display:grid;place-items:center;font-size:170px}.dots{display:flex;gap:8px;justify-content:center;margin:16px 0}.dots span{width:9px;height:9px;border-radius:50%;background:#5b628d}.dots span.active{background:#fff}
.compat-error,.partner-form-error{color:#ffb7c6;text-align:center;margin:10px}.compat-notice{margin:12px 0 0;color:#c9ceef}.partner-relation-field{margin-top:18px}.partner-relation-field select{width:100%;appearance:auto}.partner-modal-card{width:min(100%,560px)}
.compat-foundation-ready{display:grid;gap:7px;margin-top:14px;padding:16px;border:1px solid rgba(156,169,255,.2);border-radius:18px;background:rgba(89,75,166,.14);text-align:left}.compat-foundation-ready strong{font-size:18px}.compat-foundation-ready span{color:#c8ceec;font-size:14px}
.compat-result-view{display:grid;gap:20px;padding-top:10px;padding-bottom:calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 32px)}.compat-back{justify-self:start;background:none;color:#d7dcff;padding:4px 10px}.compat-result-people{text-align:center;color:#c8ceee;font-weight:800;overflow-wrap:anywhere}.compat-result-people span{margin:0 10px;color:#858fd2}.compat-score-hero{text-align:center;padding:0 20px 4px}.compat-score-ring{--compat-progress:calc(var(--compat-score,0)*1%);width:136px;height:136px;margin:0 auto 10px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(28,34,83,.98) 63%,transparent 65%),conic-gradient(from -90deg,#686cff 0,#a789ff var(--compat-progress),rgba(132,142,202,.13) var(--compat-progress));box-shadow:inset 0 0 22px rgba(130,111,255,.16),0 0 26px rgba(91,89,215,.12);animation:compat-ring-in .8s ease-out}.compat-score-ring strong{font-size:36px}.compat-score-hero h1{font-size:clamp(28px,8vw,36px);line-height:1.1}.compat-score-hero p{max-width:680px;margin:8px auto 0;color:#bdc5e8;font-size:18px;line-height:1.45}.compat-result-card,.compat-highlights article{padding:24px;border:1px solid rgba(255,255,255,.09);border-radius:26px;background:linear-gradient(180deg,rgba(37,34,83,.92),rgba(20,23,57,.94))}.compat-result-card{margin:0 10px}.compat-result-card>h2,.compat-highlights>h2{margin:0 0 16px;font-size:clamp(30px,8vw,34px);line-height:1.1;font-weight:800}.compat-highlights{margin:0 10px}.compat-highlights>div{display:grid;gap:18px}.compat-highlights article small{display:block;color:#9da8df;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.compat-highlights article h3,.compat-result-card article h3{margin:6px 0;font-size:21px;line-height:1.2}.compat-highlights article p,.compat-result-card article p,.compat-aspects p{color:#bec5e6;font-size:17px;line-height:1.45}.compat-result-card article{padding:18px 0;border-top:1px solid rgba(255,255,255,.08)}.compat-result-card article:first-of-type{border-top:0}.compat-result-card article small{display:block;margin-top:10px;color:#aeb8e5;font-size:15px;line-height:1.45}.compat-score-row{display:block;padding:0;border-top:1px solid rgba(255,255,255,.08)}.compat-score-row summary{display:grid;grid-template-columns:minmax(0,1fr) auto 20px;gap:10px;align-items:center;padding:16px 0;cursor:pointer;list-style:none}.compat-score-row summary::-webkit-details-marker{display:none}.compat-score-row summary>span{font-weight:750;line-height:1.25}.compat-score-row summary>strong{font-size:15px}.compat-score-row summary>em{font-style:normal;transition:transform .2s}.compat-score-row[open] summary>em{transform:rotate(180deg)}.compat-score-row summary>i{grid-column:1/-1;height:6px;border-radius:8px;background:rgba(255,255,255,.09);overflow:hidden}.compat-score-row i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#686cff,#a789ff)}.compat-category-copy{padding:0 0 18px}.compat-category-copy>p{margin-bottom:14px}.compat-category-copy dl{display:grid;gap:12px}.compat-category-copy dl div{padding-left:12px;border-left:2px solid rgba(143,132,255,.5)}.compat-category-copy dt{font-size:13px;color:#98a4dd;font-weight:800}.compat-category-copy dd{margin-top:3px;color:#d2d7ef;line-height:1.42}.compat-category-copy>small{display:block;margin-top:14px;color:#9da7d4}.compat-aspects>details>summary{cursor:pointer;font-size:20px;font-weight:800}.compat-aspects details details{padding:16px 0;border-top:1px solid rgba(255,255,255,.08)}.compat-aspects details details>summary{cursor:pointer;font-weight:750}.compat-aspects details details>small{display:block;margin-top:7px;color:#949fce}.compat-aspect-meta{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:10px;color:#aeb8e5;font-size:13px}.compat-empty-section{color:#9fa9d4;font-size:16px}.compat-quality{display:flex;justify-content:center;gap:8px;color:#929dc9;font-size:13px;padding:4px 24px;line-height:1.4}.compat-result-actions{display:flex;gap:10px;margin:0 10px}.compat-result-actions>*{flex:1;text-transform:none}@keyframes compat-ring-in{from{opacity:.25;transform:scale(.92);filter:saturate(.5)}to{opacity:1;transform:scale(1);filter:saturate(1)}}@media(prefers-reduced-motion:reduce){.compat-score-ring{animation:none}.compat-score-row summary>em{transition:none}}@media(max-width:389px){.compat-result-card,.compat-highlights article{padding:22px 20px}.compat-score-row summary{grid-template-columns:minmax(0,1fr) auto 18px}.compat-result-actions{flex-direction:column}.compat-score-hero p{font-size:17px}.compat-result-card>h2,.compat-highlights>h2{font-size:30px}}@media(min-width:600px){.compat-highlights>div{grid-template-columns:1fr 1fr}.compat-result-actions{max-width:520px;width:100%;justify-self:center}}

/* birth */
.birth-page{padding-top:10px}.mini-profile{display:flex;gap:14px;align-items:center}.chart-card{padding:0;overflow:hidden}.birth-wheel{height:350px;margin:0 auto;display:grid;place-items:center;position:relative;background:radial-gradient(circle,rgba(98,107,255,.18),transparent 55%)}.wheel-lines{width:300px;height:300px;border-radius:50%;border:18px solid #6571ff;background:repeating-conic-gradient(from 0deg,transparent 0 29deg,rgba(255,255,255,.55) 30deg 31deg),radial-gradient(circle,transparent 0 26%,rgba(255,255,255,.35) 27% 28%,transparent 29% 48%,rgba(255,255,255,.35) 49% 50%,transparent 51%);box-shadow:inset 0 0 0 2px rgba(255,255,255,.7)}.p{position:absolute;font-size:24px}.p1{top:82px;left:112px}.p2{top:125px;right:95px}.p3{top:215px;left:90px}.p4{bottom:88px;right:120px}.p5{top:72px;right:160px}.chart-info{padding:18px;color:white;font-weight:700;line-height:1.45;background:#101848}.segment-tabs{display:grid;grid-template-columns:repeat(3,1fr);background:#202758;border-radius:12px;overflow:hidden;margin-bottom:18px}.segment-tabs button{height:44px;color:white;font-weight:900}.segment-tabs button.active{background:var(--primary)}.big3{display:flex;gap:12px;overflow:auto;margin-bottom:18px}.planet-mini{min-width:132px;height:120px;border-radius:15px;padding:14px;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(135deg,#5b2aac,#ad6655);font-weight:900}.planet-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.planet-card{height:164px;border-radius:18px;padding:18px;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#7a4518,#736b1f)}.planet-card:nth-child(2n){background:linear-gradient(135deg,#4b2ba2,#972c72)}.planet-card:nth-child(3n){background:linear-gradient(135deg,#153c92,#04175a)}.planet-icon{font-size:46px}.wide-planet{grid-column:1/3;height:120px}.section-title{font-size:36px;margin:24px 0 14px}.psychic-cta{display:flex;gap:14px;align-items:center}.advisor-photo{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#7affd0,#5e6bff);color:#081044;font-weight:900;overflow:hidden}.advisor-photo img{width:100%;height:100%;object-fit:cover;display:block}.tab-empty{min-height:360px}.trait-list{display:grid;gap:14px}.trait{padding:18px;border-radius:18px;background:var(--panel)}

/* chat */
.chat-card{display:grid;gap:14px}
.psychic-profile{display:flex;align-items:center;gap:12px}
.bubble{max-width:86%;border-radius:18px;padding:13px 14px;background:#222a69;font-size:17px;font-weight:550;line-height:1.48}
.bubble.incoming{border-bottom-left-radius:4px}
.bubble.outgoing{margin-left:auto;background:#4f5cff;border-bottom-right-radius:4px;font-weight:650}
.chat-shell{height:100%;min-height:0;display:flex;flex-direction:column;gap:14px;overflow:hidden}
.chat-intro{padding:14px 16px;border-radius:18px;background:linear-gradient(135deg,rgba(98,107,255,.18),rgba(63,228,255,.08));border:1px solid rgba(127,136,255,.16);color:var(--text);font-weight:700;line-height:1.45}
.chat-messages{flex:1;min-height:0;display:grid;align-content:start;gap:10px;padding:4px 2px 24px;overflow-y:auto;overscroll-behavior:contain;scroll-padding-bottom:24px}
.chat-empty{padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.05);color:var(--muted);font-weight:650;line-height:1.45}
.chat-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin-top:auto;flex:0 0 auto}
.chat-limit-indicator{grid-column:1/-1;color:#aeb7e5;font-size:12px;font-weight:650;line-height:1.2;padding:0 3px}
.chat-input{min-height:52px;max-height:120px;resize:none;overflow-y:auto;line-height:1.4;padding:14px 16px}
.chat-send{min-height:52px;padding-inline:16px;text-transform:none}
.chat-input:disabled{opacity:.82}
.chat-send:disabled{opacity:.58;cursor:default}
.chat-message{white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}
.chat-library-debug{display:block;margin:-6px 4px 2px;color:#8f96bf;font-size:11px;font-weight:600}

.astra-debug-subscription{position:fixed;top:calc(env(safe-area-inset-top) + 52px);left:calc(env(safe-area-inset-left) + 16px);z-index:calc(var(--z-header) - 1);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#fff}
.astra-debug-subscription__panel{position:absolute;top:0;left:0;width:min(240px,calc(100vw - 32px - env(safe-area-inset-left) - env(safe-area-inset-right)));padding:13px;border:1px solid rgba(225,231,255,.16);border-radius:15px;background:rgba(8,13,39,.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 16px 42px rgba(0,0,0,.38)}
.astra-debug-subscription__panel[hidden]{display:none}
.forecast-plan-pill:focus-visible,.astra-debug-subscription__reset:focus-visible,.astra-debug-subscription__option:has(input:focus-visible){outline:2px solid #9aa9ff;outline-offset:2px}
.astra-debug-subscription__panel strong{display:block;margin:0 0 9px;font-size:12px;letter-spacing:.02em}
.astra-debug-subscription__option{min-height:34px;padding:6px 8px;border-radius:9px;display:flex;align-items:center;gap:9px;color:#dce1ff;font-size:12px;cursor:pointer}
.astra-debug-subscription__option:hover,.astra-debug-subscription__option:has(input:checked){background:rgba(116,132,255,.17);color:#fff}
.astra-debug-subscription__option input{margin:0;accent-color:#7e8eff}
.astra-debug-subscription__reset{width:100%;height:31px;margin-top:8px;border:1px solid rgba(225,231,255,.12);border-radius:9px;background:rgba(255,255,255,.055);color:#cdd3f5;font-size:11px;font-weight:750}
.astra-debug-subscription__reset:disabled{opacity:.42;cursor:default}
.astra-debug-compatibility{display:contents;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#f7f4ff}
.debug-compatibility-menu,.astra-debug-compatibility__panel{position:fixed;z-index:calc(var(--z-header) + 10);width:min(286px,calc(100vw - 24px));padding:8px;border:.75px solid rgba(209,199,255,.18);border-radius:16px;background:rgba(12,11,35,.9);box-shadow:0 18px 48px rgba(0,0,0,.42),inset 0 1px rgba(255,255,255,.04);backdrop-filter:blur(24px) saturate(125%);-webkit-backdrop-filter:blur(24px) saturate(125%);pointer-events:auto}
.debug-compatibility-menu[hidden],.astra-debug-compatibility__panel[hidden]{display:none!important}
.astra-debug-compatibility__panel>strong{display:block;padding:7px 10px 8px;color:#9fa5cc;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.04em;text-transform:uppercase}
.astra-debug-compatibility__panel>button{display:grid;width:100%;min-height:42px;padding:8px 10px;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:10px;border:0;border-radius:11px;color:#d9dcef;background:transparent;font-size:12px;font-weight:500;line-height:1.25;text-align:left}
.astra-debug-compatibility__panel>button:hover,.astra-debug-compatibility__panel>button.is-active{color:#fff;background:rgba(126,110,255,.14)}
.astra-debug-compatibility__panel>button svg{display:block;width:16px;height:16px;opacity:0;color:#9a8fff;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:opacity 180ms ease}
.astra-debug-compatibility__panel>button.is-active svg{opacity:1}
.forecast-plan-pill[aria-expanded="true"]{border-color:rgba(154,143,255,.4);color:#f7f4ff;background:rgba(154,143,255,.16)}
.forecast-plan-pill:focus-visible,.astra-debug-compatibility__panel>button:focus-visible{outline:2px solid #9a8fff;outline-offset:2px}
[data-debug-compatibility-trigger]{appearance:none;-webkit-appearance:none;margin:0;font:inherit;cursor:pointer}
.tag-debug-trigger{appearance:none;-webkit-appearance:none;margin:0;border:0;font:inherit;color:inherit;cursor:pointer}
.chat-status{justify-self:start;padding:6px 10px;color:#aeb7e5;font-size:13px;font-weight:700}
.chat-status:after{content:"";display:inline-block;width:1.2em;text-align:left;animation:chatDots 1.2s steps(4,end) infinite}
.chat-error-block{display:grid;justify-items:start;gap:8px;padding:13px 14px;border:1px solid rgba(255,147,171,.22);border-radius:16px;background:rgba(111,35,67,.2);color:#ffd5df;line-height:1.4}
.chat-error-code{font-size:11px;font-weight:600;color:#d8aeba;overflow-wrap:anywhere}
.chat-retry{padding:7px 12px;border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-weight:800}
.chat-access-card{display:grid;gap:10px;padding:16px;border:1px solid rgba(127,136,255,.24);border-radius:18px;background:linear-gradient(135deg,rgba(98,107,255,.2),rgba(63,228,255,.08));color:var(--text)}
.chat-access-card h4{font-size:19px;line-height:1.2}
.chat-access-card p{font-size:14px;line-height:1.45;color:#e8ebff}
.chat-access-card small{font-size:12px;line-height:1.4;color:#aeb7e5}
@keyframes chatDots{0%{content:""}25%{content:"."}50%{content:".."}75%,100%{content:"..."}}
.blurred{filter:blur(2px);opacity:.6}
.locked-cta{opacity:.72;filter:saturate(.8);cursor:not-allowed}

/* modal */
.modal{position:absolute;inset:0;background:rgba(1,3,20,.72);z-index:30;display:grid;place-items:end center;backdrop-filter:blur(7px)}.modal-card{position:relative;width:100%;max-height:94%;background:#0b1240;border-radius:28px 28px 0 0;padding:28px 18px;overflow:auto;box-shadow:0 -20px 60px rgba(0,0,0,.4)}.full-flow{min-height:88%;display:flex;flex-direction:column;justify-content:center}.partner-step{display:none;gap:18px;flex-direction:column;text-align:center;min-height:0;flex:1}.partner-step.active{display:flex}.partner-step .soft-input{text-align:center}.partner-modal{place-items:center;background:rgba(2,5,26,.82);overflow:hidden}.partner-modal-card{max-height:100%;height:100%;padding:0;border-radius:0;background:radial-gradient(circle at 50% 12%,rgba(120,110,255,.22),transparent 28%),radial-gradient(circle at 78% 18%,rgba(63,228,255,.12),transparent 24%),linear-gradient(180deg,#09103a 0%,#060b28 48%,#04081d 100%);overflow:hidden}.partner-modal-shell{position:relative;height:100%;display:flex;flex-direction:column;padding:18px 18px 28px;overflow:hidden}.partner-modal-shell:before,.partner-modal-shell:after{content:"";position:absolute;border-radius:50%;pointer-events:none;filter:blur(0)}.partner-modal-shell:before{width:240px;height:240px;top:-72px;left:-70px;background:radial-gradient(circle,rgba(110,122,255,.24),transparent 68%)}.partner-modal-shell:after{width:220px;height:220px;right:-82px;top:240px;background:radial-gradient(circle,rgba(63,228,255,.16),transparent 70%)}.partner-modal-top{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:12px;flex:0 0 auto;position:relative;z-index:1}.partner-modal-back,.partner-modal-close{position:static;width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.06);display:grid;place-items:center;color:#fff;font-size:26px}.partner-modal-progress{height:8px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden;box-shadow:inset 0 0 0 1px rgba(255,255,255,.04)}.partner-modal-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#49dbff,#7180ff 55%,#a36dff)}.partner-step-body{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;gap:18px;padding:14px 0 8px;overflow-y:auto;overflow-x:hidden;scrollbar-width:none}.partner-step-body::-webkit-scrollbar{display:none}.partner-step-body--centered{justify-content:center}.partner-step-actions{flex:0 0 auto;padding-top:14px}.partner-copy{max-width:360px;margin:0 auto}.partner-copy p{font-size:15px;line-height:1.42}.partner-astro-hero{height:220px;margin:0 -8px 2px}.partner-persona-figure{height:180px}.partner-gender-grid .persona-card{min-height:240px;padding:18px 18px 22px;border-radius:24px;gap:18px}.partner-gender-grid .persona-card strong{font-size:20px}.partner-gender-grid .persona-mini{height:156px;border-radius:22px}.partner-gender-grid .persona-mini:before{top:24px;width:78px;height:78px}.partner-gender-grid .persona-mini:after{top:90px;width:156px;height:68px;border-radius:88px 88px 24px 24px}.partner-orbit-hero{position:relative;width:290px;height:290px;margin:0 auto 6px;display:grid;place-items:center}.partner-orbit-stars{position:absolute;inset:26px;border-radius:50%;border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 1px rgba(118,128,255,.08) inset}.partner-orbit-stars:before,.partner-orbit-stars:after{content:"";position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.06)}.partner-orbit-stars:before{inset:26px}.partner-orbit-stars:after{inset:58px}.partner-orbit-node{position:absolute;top:50%;width:92px;height:92px;margin-top:-46px;border-radius:50%;display:grid;place-items:center;font-size:34px;color:#fff;background:radial-gradient(circle at 50% 34%,#fff7dd 0,#7ce6ff 28%,#6e74ff 66%,rgba(110,116,255,.12) 100%);box-shadow:0 0 36px rgba(102,118,255,.38);animation:partnerFloat 4.4s ease-in-out infinite}.partner-orbit-node--left{left:8px}.partner-orbit-node--right{right:8px;animation-delay:-2.2s}.partner-orbit-link{position:absolute;left:70px;right:70px;top:50%;height:2px;background:linear-gradient(90deg,rgba(110,120,255,.1),rgba(144,236,255,.95),rgba(110,120,255,.1));box-shadow:0 0 22px rgba(104,201,255,.34)}.partner-orbit-heart{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%;display:grid;place-items:center;font-size:28px;background:radial-gradient(circle,#fff6ef 0,#ff7cc2 42%,rgba(255,124,194,.1) 100%);box-shadow:0 0 28px rgba(255,124,194,.42);animation:partnerPulse 2.2s ease-in-out infinite}.partner-loading-hero{position:relative;width:268px;height:268px;margin:0 auto}.partner-loading-orbit{position:absolute;top:50%;width:90px;height:90px;margin-top:-45px;border-radius:50%;background:radial-gradient(circle at 50% 30%,#fff6e8 0,#91edff 24%,#7078ff 60%,rgba(112,120,255,.08) 100%);box-shadow:0 0 36px rgba(98,107,255,.38);animation:partnerFloat 3.1s ease-in-out infinite}.partner-loading-orbit--left{left:16px}.partner-loading-orbit--right{right:16px;animation-delay:-1.55s}.partner-loading-heart{position:absolute;left:50%;top:50%;width:74px;height:74px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff5ef 0,#ff72b1 36%,#876bff 78%);box-shadow:0 0 32px rgba(255,110,182,.4);animation:partnerPulse 1.9s ease-in-out infinite}.partner-loading-heart:before,.partner-loading-heart:after{content:"";position:absolute;inset:-22px;border-radius:50%;border:1px solid rgba(255,255,255,.12)}.partner-loading-heart:after{inset:-42px;border-color:rgba(111,222,255,.12)}.partner-loading-rings{position:absolute;inset:18px;border-radius:50%;border:1px dashed rgba(148,223,255,.18);animation:spin 12s linear infinite}.partner-step--loading .partner-step-actions{display:none}.map-modal-card{display:grid;gap:14px}.map-search-row{display:grid;grid-template-columns:1fr 112px;gap:10px;align-items:center}.map-search-btn{height:54px}.map-results-head{font-size:13px;color:#8f96bf;text-transform:uppercase;letter-spacing:.12em;font-weight:800}.map-results{display:grid;gap:0;max-height:360px;overflow:auto;border-top:1px solid rgba(255,255,255,.08)}.map-result-btn{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.map-result-btn.selected{background:rgba(98,107,255,.12)}.map-result-title{display:block;font-size:21px;font-weight:850;color:#fff}.map-result-subtitle{display:block;margin-top:4px;font-size:15px;color:#8f96bf}.map-selection{min-height:48px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.05);color:#d7dbff;font-weight:700}.paywall{text-align:center;background:radial-gradient(circle at 50% 12%,rgba(27,205,164,.42),transparent 32%),linear-gradient(180deg,#17215c,#12141d 70%)}.line-art{height:220px;position:relative;margin-bottom:18px}.line-art:before,.line-art:after{content:"";position:absolute;top:40px;width:150px;height:110px;border:3px solid rgba(255,255,255,.9);border-radius:50%;}.line-art:before{left:45px}.line-art:after{right:45px}.line-art{filter:drop-shadow(0 0 18px rgba(255,255,255,.18))}.paywall h2{font-size:35px;font-family:Georgia,serif;font-weight:600}.paywall p{margin:10px 0 20px}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0}.plans button{min-height:140px;border-radius:12px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.05);padding:12px 6px;color:white;position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.plans button.chosen{border-color:var(--primary2);background:linear-gradient(135deg,rgba(98,107,255,.4),rgba(55,167,255,.2))}.plans b{font-size:17px}.plans small{font-size:18px;color:#dbe0ff}.plans em{font-style:normal;font-size:12px;color:#cdd0ec}.badge{position:absolute;left:0;right:0;top:-22px;height:24px;background:#a9bcff;color:#071047;border-radius:8px 8px 0 0;font-size:12px;font-weight:900}.secure{font-size:13px!important}.light-pop{width:74%;max-width:350px;margin:auto;border-radius:18px;background:#eeefff;color:#202033;text-align:left;padding:0 18px 24px}.photo-cut{height:190px;margin:0 -18px 12px;border-radius:18px 18px 0 0;background:radial-gradient(circle at 50% 10%,#fff,transparent 42%),linear-gradient(145deg,#e9edff,#fff);position:relative}.photo-cut:after{content:"👩🏻‍💼";font-size:118px;position:absolute;left:50%;top:52%;transform:translate(-50%,-50%)}.light-pop h2{font-size:25px;color:#202033}.light-pop p{color:#41415d;margin:14px 0 22px}.dark-cta{height:58px;width:100%;background:#28245e;color:white;border-radius:999px;font-weight:850;font-size:19px}
/* Daily tarot overlay sits under the forecast header and covers the dock */
.tarot-modal{
  position:absolute;
  top:calc(env(safe-area-inset-top,0px) + 56px);
  right:0;
  bottom:0;
  left:0;
  z-index:calc(var(--z-dock) - 20);
  isolation:isolate;
  display:grid;
  place-items:stretch;
  width:100%;
  height:auto;
  overflow:hidden;
  overflow:clip;
  overscroll-behavior:none;
  touch-action:none;
  pointer-events:auto;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  opacity:0;
  transform:translate3d(0,16px,0);
  transition:opacity .48s cubic-bezier(.16,1,.3,1),transform .48s cubic-bezier(.16,1,.3,1);
}
.tarot-modal.is-visible{
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion: reduce){
  .tarot-modal{
    transform:none;
    transition:opacity .16s linear;
  }
}
.tarot-modal-card{
  position:relative;
  z-index:1;
  width:100%;
  height:100%;
  max-height:none;
  min-height:0;
  border-radius:0;
  background:transparent;
  padding:8px 0 max(12px,env(safe-area-inset-bottom,0px));
  display:flex;
  flex-direction:column;
  overflow:hidden!important;
  overflow:clip!important;
  overscroll-behavior:none;
  touch-action:none;
}
.tarot-close{
  top:4px;
  right:10px;
  z-index:6;
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  font-size:34px;
  line-height:1;
  color:#eef2ff;
  pointer-events:auto;
  touch-action:manipulation;
}
.tarot-modal-head{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}
.tarot-modal-stage{
  container-type:size;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  flex:1 1 0;
  min-height:0;
  width:100%;
  overflow:visible;
  padding:12px 40px;
}
.tarot-slot{
  --tarot-slot-radius:16px;
  aspect-ratio:300/527;
  padding:0;
  border-radius:var(--tarot-slot-radius);
  overflow:hidden;
}
.tarot-center-card,.tarot-side-card{
  --tarot-slot-radius:16px;
  aspect-ratio:300/527;
  padding:0;
  border-radius:var(--tarot-slot-radius);
  overflow:hidden;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(160deg,#130d30,#2b1f67 52%,#0a143f 100%);
  box-shadow:0 24px 50px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08);
}
.tarot-center-card{
  position:relative;
  z-index:2;
  width:min(210px,70cqw,calc(100cqh * 300 / 527));
  height:auto;
  display:block;
  overflow:visible;
  cursor:pointer;
  perspective:1200px;
  transition:transform .28s ease,box-shadow .28s ease;
  max-width:100%;
  pointer-events:auto;
  touch-action:manipulation;
}
.tarot-center-card.is-idle{animation:tarotCardBreath 3.8s ease-in-out infinite}
.tarot-center-card:focus-visible{outline:2px solid rgba(255,255,255,.85);outline-offset:6px}
.tarot-center-card:not(.revealed):active{transform:scale(.985)}
.tarot-center-card__inner{position:absolute;inset:0;width:100%;height:100%;border-radius:inherit;transform-style:preserve-3d;transition:transform .56s cubic-bezier(.22,.82,.2,1)}
.tarot-center-card.revealed .tarot-center-card__inner{transform:rotateY(180deg)}
.tarot-center-card.is-instant .tarot-center-card__inner{transition:none}
.tarot-center-card__face{position:absolute;inset:0;backface-visibility:hidden;border-radius:inherit;overflow:hidden}
.tarot-center-card__face--front{transform:rotateY(180deg)}
.tarot-center-card__back,.tarot-center-card__front{width:100%;height:100%;border:0;border-radius:inherit;background:transparent;padding:0;display:block;position:relative;overflow:hidden}
.tarot-card-art,.tarot-card-art--front,.tarot-side-card__img,.tarot-preview-card__img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;object-position:center;border-radius:inherit;background:transparent}
.tarot-card-art--front{transition:transform .56s ease;transform-origin:center center}
.tarot-center-card.is-reversed .tarot-card-art--front{transform:rotate(180deg)}
@media (prefers-reduced-motion: reduce){
  .tarot-center-card.is-idle{animation:none}
  .tarot-center-card__inner{
    transform:none!important;
    transition:opacity .4s ease;
  }
  .tarot-center-card.revealed .tarot-center-card__inner{transform:none!important}
  .tarot-center-card__face--front{
    transform:none;
    opacity:0;
  }
  .tarot-center-card.revealed .tarot-center-card__face--front{opacity:1}
  .tarot-center-card.revealed .tarot-center-card__face--back{opacity:0}
}
.tarot-side-card{
  position:absolute;
  top:50%;
  width:min(154px,52cqw,calc(82cqh * 300 / 527));
  height:auto;
  opacity:.8;
  pointer-events:none;
}
.tarot-side-card.left{left:0;transform:translateY(-50%) rotate(-16deg)}
.tarot-side-card.right{right:0;transform:translateY(-50%) rotate(16deg)}
.tarot-preview-card{position:relative;width:auto;height:100%;aspect-ratio:300/527;padding:0;border:0;border-radius:var(--tarot-slot-radius,16px);overflow:hidden;background:#151b4b}
.card-front.tarot-preview-card{position:relative;width:auto;height:100%;aspect-ratio:300/527;padding:0;border:0;border-radius:var(--tarot-slot-radius,16px);overflow:hidden}
.tarot-preview-card__img{transform-origin:center center}
.tarot-preview-card__img.is-reversed{transform:rotate(180deg)}
.tarot-reveal-hint{margin:6px auto 0;padding:0 22px;flex:0 0 auto;text-align:center;color:#cfd8ff;font-size:15px;font-weight:750;letter-spacing:.02em;opacity:.92}
.tarot-result{
  margin:6px auto 0;
  padding:8px 18px 0;
  text-align:center;
  display:grid;
  gap:8px;
  width:min(100%,520px);
  max-width:100%;
  flex:0 0 auto;
  min-height:0;
  overflow:hidden;
  overflow:clip;
  overscroll-behavior:none;
  touch-action:none;
}
.tarot-result h3{font-size:clamp(20px,4.4vh,28px);color:#fff;max-width:100%;overflow-wrap:anywhere}
.tarot-result-orientation{font-size:13px;color:#cfd8ff;font-weight:900;letter-spacing:.08em;text-transform:uppercase;max-width:100%;overflow-wrap:anywhere}
.tarot-result-short{font-size:16px;color:#f3f5ff;font-weight:820;max-width:100%;overflow-wrap:anywhere}
.tarot-result-full{font-size:15px;color:#c4cbed;max-width:100%;margin:0 auto;overflow:hidden;overflow:clip;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;touch-action:none}
.tarot-result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:2px;width:100%;position:relative;z-index:2}
.tarot-action-btn{min-height:48px;min-width:0;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);text-transform:none;letter-spacing:0;font-size:16px;pointer-events:auto;touch-action:manipulation}
.tarot-action-btn.saved{background:linear-gradient(135deg,rgba(98,107,255,.42),rgba(55,167,255,.2));border-color:rgba(141,173,255,.42)}
@keyframes tarotCardBreath{0%,100%{transform:translateY(0) scale(1);box-shadow:0 24px 50px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.08)}50%{transform:translateY(-8px) scale(1.018);box-shadow:0 32px 68px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.12)}}
html.tarot-modal-open,body.tarot-modal-open,body.tarot-modal-open .app-shell{
  overflow:hidden;
  overscroll-behavior:none;
  touch-action:none;
  background:var(--forecast-page-background);
  background-color:var(--forecast-page-background);
  background-image:none;
}
html.tarot-modal-open{
  color-scheme:dark;
  background:var(--forecast-page-background);
}
body.tarot-modal-open .main-ui{
  background:var(--forecast-page-background)!important;
  background-image:none!important;
}
body.tarot-modal-open .main-ui > .page{
  visibility:hidden;
  pointer-events:none;
}
body.tarot-modal-open .main-ui .bottom-nav{
  display:none!important;
}
body.tarot-modal-open .main-ui .compat-forecast-ambient.forecast-static-background{
  display:block!important;
  position:absolute;
  top:var(--app-header-total-height);
  right:0;
  bottom:0;
  left:0;
  z-index:0;
  overflow:hidden;
  pointer-events:none;
  background:var(--forecast-page-background);
}
@media(max-width:759px){
  .tarot-modal{
    position:fixed;
    top:calc(env(safe-area-inset-top,0px) + 56px);
    right:0;
    bottom:0;
    left:0;
    width:100%;
    height:auto;
    min-height:0;
  }
}


/* onboarding redesign */
.onboarding{padding:18px 18px 24px;background:linear-gradient(180deg,#151822 0%,#171a26 58%,#141726 100%)}
.onboarding-chrome{display:grid;gap:12px;flex:0 0 auto}
.onboarding-head{display:grid;grid-template-columns:40px 1fr auto;align-items:center;gap:12px;min-height:42px}
.onboarding-title{font-size:20px;font-weight:900;text-align:center;color:#f7f5f0}
.onboarding-skip{font-size:14px}
.onboarding-progress{height:7px;border-radius:999px;background:rgba(255,255,255,.1);overflow:hidden}
.onboarding-progress span{display:block;width:0;height:100%;border-radius:inherit;background:linear-gradient(90deg,#4dc9ff,#67bfff);transition:width .5s ease}
.on-back{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:42px;line-height:1;background:transparent}
.on-step{gap:16px;padding:6px 0 0}
.on-step-cover{justify-content:space-between}
.step-copy{display:grid;gap:8px}
.step-copy.centered,.on-footer-copy.centered{text-align:center}
.serif-title,.display-title{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.03em;color:#f6f2ea}
.serif-title{font-size:27px;line-height:1.14}
.display-title{font-size:32px;line-height:1.12}
.display-text,.step-copy p{font-size:16px;line-height:1.42;color:#acafbe;font-weight:500}
.on-footer-copy{display:grid;gap:14px}
.on-cta-stack{display:grid;gap:10px;margin-top:auto;padding-top:4px}
.onboarding .primary{height:62px;background:var(--cream);color:#171924;text-transform:none;letter-spacing:0;box-shadow:none;font-size:18px}
.onboarding .primary:disabled{background:#303444;color:#7d8191;cursor:default}
.ghost-pill{height:44px;border-radius:999px;padding:0 18px;background:rgba(255,255,255,.06);color:#f3f5ff;font-weight:700}
.inline-actions{display:flex;justify-content:center}
.cover-space{min-height:44vh;display:grid;place-items:center}
.planet-intro{position:relative;width:240px;height:240px}
.planet-core{position:absolute;left:50%;top:50%;width:60px;height:60px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#8087ff 0,#5f66da 52%,rgba(95,102,218,.12) 72%);box-shadow:0 0 28px rgba(116,122,255,.42)}
.planet-orbit{position:absolute;left:50%;top:50%;border:3px solid rgba(135,143,212,.14);border-radius:50%;transform:translate(-50%,-50%)}
.orbit-a{width:152px;height:152px}
.orbit-b{width:196px;height:196px}
.planet-dot{position:absolute;width:18px;height:18px;border-radius:50%;background:linear-gradient(135deg,#8ea5ff,#5a68f3);box-shadow:0 0 18px rgba(106,120,255,.42)}
.dot-a{top:28px;left:142px}
.dot-b{top:128px;left:56px;width:14px;height:14px}
.dot-c{top:128px;right:44px}
.goal-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.goal-card{position:relative;min-height:138px;padding:16px 14px;border-radius:18px;background:#292d45;border:1px solid rgba(116,125,209,.24);display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;text-align:left}
.goal-card:after{content:"";position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:8px;border:2px solid rgba(213,217,244,.4)}
.goal-card.selected{background:#2f3454;border-color:#6172ff;box-shadow:0 0 0 1px rgba(97,114,255,.5) inset}
.goal-card.selected:after{content:"✓";display:grid;place-items:center;background:#7482ff;border-color:#7482ff;color:#fff;font-weight:900}
.goal-card strong{font-size:16px;line-height:1.28;font-weight:500;color:#f4f1ea}
.goal-icon{font-size:40px;font-style:normal;filter:blur(.2px)}
.glow-mint{color:#82ffe3;text-shadow:0 0 20px rgba(86,255,214,.46)}
.glow-heart{color:#ff8e6d;text-shadow:0 0 22px rgba(255,112,92,.46)}
.glow-violet{color:#8e7bff;text-shadow:0 0 22px rgba(135,105,255,.46)}
.glow-cyan{color:#90eaff;text-shadow:0 0 22px rgba(66,204,255,.46)}
.glow-blue{color:#7bd7ff;text-shadow:0 0 22px rgba(84,210,255,.46)}
.glow-star{color:#6df5df;text-shadow:0 0 22px rgba(88,255,226,.42)}
.focus-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.focus-card{aspect-ratio:1/1;border-radius:18px;padding:14px 10px;background:#292d45;border:1px solid rgba(116,125,209,.2);display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:12px;text-align:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
.focus-icon{display:grid;place-items:center;width:58px;height:58px;font-size:38px;line-height:1}
.focus-card b{font-size:13px;line-height:1.18;font-weight:500;color:#f2efe8}
.focus-card.selected{background:#303659;border-color:#6172ff;box-shadow:0 0 0 1px rgba(97,114,255,.5) inset}
.icon-self{color:#ff9df7;text-shadow:0 0 22px rgba(255,143,241,.48)}
.icon-love{color:#ff7a64;text-shadow:0 0 22px rgba(255,117,95,.5)}
.icon-health{color:#57ffbe;text-shadow:0 0 22px rgba(77,255,180,.48)}
.icon-peace{color:#93b1ff;text-shadow:0 0 22px rgba(122,151,255,.45)}
.icon-worth{color:#5dffe1;text-shadow:0 0 22px rgba(66,255,228,.45)}
.icon-work{color:#b8f5ff;text-shadow:0 0 22px rgba(125,230,255,.42)}
.icon-family{color:#4cffb8;text-shadow:0 0 22px rgba(58,255,180,.45)}
.icon-finance{color:#ffb250;text-shadow:0 0 22px rgba(255,181,74,.48)}
.icon-purpose{color:#ff8cf5;text-shadow:0 0 22px rgba(255,132,236,.48)}
.astro-date-hero{position:relative;height:236px;margin:0 -8px 2px}
.zodiac-dial{position:relative;height:100%;overflow:hidden}
.zodiac-dial:before{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;background:radial-gradient(circle at 8% 46%,rgba(23,26,38,.9),rgba(23,26,38,0) 20%),radial-gradient(circle at 92% 46%,rgba(23,26,38,.9),rgba(23,26,38,0) 20%),linear-gradient(180deg,rgba(23,26,38,.06),rgba(23,26,38,0) 20%)}
.zodiac-dial-ring{position:absolute;left:50%;top:56px;z-index:1;width:414px;height:414px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 50% 0,rgba(169,255,243,.24),transparent 24%),linear-gradient(180deg,#3eebdd 0%,#31cfc1 35%,#214f4b 100%);box-shadow:0 0 26px rgba(47,232,210,.12)}
.zodiac-dial-cut{position:absolute;left:50%;top:112px;z-index:2;width:300px;height:300px;transform:translateX(-50%);border-radius:50%;background:#171a26}
.zodiac-dial-wheel{position:absolute;inset:0;z-index:4;transition:transform .45s ease,opacity .45s ease}
html:not(.registration-canvas) .zodiac-glyph{position:absolute;width:42px;height:42px;display:grid;place-items:center;opacity:.5;filter:blur(2.3px);transition:opacity .35s ease,transform .45s ease,filter .35s ease}
html:not(.registration-canvas) .zodiac-glyph.active{opacity:1;transform:translate(-50%,-50%) scale(1.06);filter:none}
html:not(.registration-canvas) .zodiac-glyph.near{opacity:.62;color:rgba(244,255,251,.62);filter:blur(1.8px)}
html:not(.registration-canvas) .zodiac-glyph.far{opacity:.08;filter:blur(5px)}
html:not(.registration-canvas) .zodiac-glyph-icon{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 8px rgba(255,255,255,.08))}
.zodiac-dial-sector{position:absolute;left:50%;top:60px;z-index:3;width:94px;height:184px;transform:translateX(-50%);clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,rgba(184,255,245,.18),rgba(35,111,102,.38));opacity:.8}
.zodiac-dial-sector span{position:absolute;top:14px;left:50%;z-index:1;display:grid;place-items:center;width:28px;height:28px;transform:translateX(-50%)}
.zodiac-dial-sector span img,.zodiac-sector-icon{width:24px;height:24px;max-width:24px;max-height:24px;object-fit:contain;display:block}
.zodiac-sign-icon{display:block;width:60%;height:60%;max-width:42px;max-height:42px;object-fit:contain}
.compat-conversion-pair span img.compat-pair-header-glyph{display:block;width:28px;height:28px;object-fit:contain}
.zodiac-dial-pointer{position:absolute;left:50%;top:38px;z-index:6;width:0;height:0;transform:translateX(-50%);border-left:12px solid transparent;border-right:12px solid transparent;border-top:22px solid #fff}
.birth-wheel-picker{position:relative;display:grid;grid-template-columns:1.35fr .75fr 1fr;gap:10px;height:182px;margin-top:6px}
.birth-wheel-highlight{position:absolute;left:14px;right:14px;top:50%;height:46px;transform:translateY(-50%);border-radius:14px;background:rgba(255,255,255,.06);box-shadow:0 0 0 1px rgba(255,255,255,.03) inset;pointer-events:none}
.birth-wheel-picker:before,.birth-wheel-picker:after{content:"";position:absolute;left:0;right:0;height:38px;z-index:2;pointer-events:none}
.birth-wheel-picker:before{top:0;background:linear-gradient(180deg,#171a26 20%,rgba(23,26,38,0))}
.birth-wheel-picker:after{bottom:0;background:linear-gradient(0deg,#171a26 20%,rgba(23,26,38,0))}
.birth-wheel-column{position:relative;overflow-y:auto;overflow-x:hidden;scroll-snap-type:y mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;padding:68px 0 68px;-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.9) 22%,#000 34%,#000 66%,rgba(0,0,0,.9) 78%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.9) 22%,#000 34%,#000 66%,rgba(0,0,0,.9) 78%,transparent 100%)}
.birth-wheel-column::-webkit-scrollbar{display:none}
.birth-wheel-list{display:grid}
.birth-wheel-item{height:46px;display:grid;align-items:center;padding:0 14px;color:rgba(211,215,236,.22);font-size:17px;font-weight:650;scroll-snap-align:center;transition:color .2s ease,transform .2s ease,opacity .2s ease,filter .2s ease;opacity:.5;filter:blur(.85px)}
.birth-wheel-item.selected{color:#f5f2ea;font-size:21px;font-weight:800;transform:scale(1.015);opacity:1;filter:none}
.birth-wheel-item.near{color:rgba(211,215,236,.58);opacity:.8;filter:blur(.2px)}
.birth-wheel-item.spacer{opacity:0;pointer-events:none}
.birth-wheel-column.day-column .birth-wheel-item{text-align:center;padding:0;justify-content:center}
.birth-wheel-column.year-column .birth-wheel-item{text-align:right;padding-right:16px}
.astro-time-hero{position:relative;height:238px;margin:0 -8px 2px}
.time-dial{position:relative;height:100%;overflow:hidden}
.time-dial:before{content:"";position:absolute;inset:0;z-index:7;pointer-events:none;background:radial-gradient(circle at 8% 48%,rgba(23,26,38,.9),rgba(23,26,38,0) 20%),radial-gradient(circle at 92% 48%,rgba(23,26,38,.9),rgba(23,26,38,0) 20%)}
.time-dial-ring{position:absolute;left:50%;top:56px;z-index:1;width:414px;height:414px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 50% 0,rgba(169,255,243,.24),transparent 24%),linear-gradient(180deg,#3eebdd 0%,#31cfc1 35%,#214f4b 100%);box-shadow:0 0 26px rgba(47,232,210,.12)}
.time-dial-zodiac,.time-dial-inner-symbols{position:absolute;inset:0;z-index:4;transition:transform .45s ease}
.time-dial-inner-ring{position:absolute;left:50%;top:152px;z-index:2;width:112px;height:112px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle at 50% 22%,rgba(111,255,224,.2),transparent 42%),linear-gradient(180deg,#30f0d0 0%,#19a494 56%,#103c39 100%);box-shadow:0 0 18px rgba(47,232,210,.14)}
.time-dial-inner-ring:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#171a26}
.time-dial-sector{position:absolute;left:50%;top:60px;z-index:5;width:92px;height:188px;transform:translateX(-50%);clip-path:polygon(0 0,100% 0,50% 100%);background:linear-gradient(180deg,rgba(184,255,245,.2),rgba(35,111,102,.38));opacity:.84}
.time-dial-gender{display:none}
.time-dial-pointer{position:absolute;left:50%;top:30px;z-index:8;width:0;height:0;transform:translateX(-50%);border-left:12px solid transparent;border-right:12px solid transparent;border-top:22px solid #fff}
.time-zodiac-glyph,.time-inner-glyph{position:absolute;display:grid;place-items:center;transition:opacity .35s ease,transform .45s ease,filter .35s ease}
.time-zodiac-glyph{width:38px;height:38px;opacity:.48;filter:blur(2.4px)}
.time-zodiac-glyph.active{opacity:1;filter:none;transform:translate(-50%,-50%) scale(1.04)}
.time-zodiac-glyph.near{opacity:.64;filter:blur(1.4px)}
.time-zodiac-glyph.far{opacity:.12;filter:blur(4px)}
.time-zodiac-icon{width:100%;height:100%;object-fit:contain;display:block;filter:drop-shadow(0 0 8px rgba(255,255,255,.08))}
.time-inner-glyph{width:28px;height:28px;font-size:18px;font-weight:800;color:rgba(234,247,245,.34);filter:blur(1.2px)}
.time-inner-glyph.active{color:#f2fffb;filter:none;opacity:1;transform:translate(-50%,-50%) scale(1.08)}
.time-inner-glyph.near{opacity:.72;filter:blur(.5px)}
.time-inner-glyph.far{opacity:.18;filter:blur(2.6px)}
.time-wheel-picker{grid-template-columns:1fr 36px 1fr;height:182px;align-items:stretch}
.time-wheel-colon{display:grid;place-items:center;font-size:34px;font-weight:800;color:#f5f2ea}
.on-step[data-step="5"]{gap:10px;padding-top:2px}
.on-step[data-step="5"] .step-copy{gap:6px}
.on-step[data-step="5"] .serif-title{font-size:24px;line-height:1.08}
.on-step[data-step="5"] .step-copy p{font-size:14px;line-height:1.34}
.on-step[data-step="5"] .astro-time-hero{height:216px;margin:0 -6px 0}
.on-step[data-step="5"] .time-dial:before{background:radial-gradient(circle at 8% 46%,rgba(23,26,38,.9),rgba(23,26,38,0) 20%),radial-gradient(circle at 92% 46%,rgba(23,26,38,.9),rgba(23,26,38,0) 20%),linear-gradient(180deg,rgba(23,26,38,.06),rgba(23,26,38,0) 20%)}
.on-step[data-step="5"] .time-dial-ring{top:56px;width:414px;height:414px;background:radial-gradient(circle at 50% 0,rgba(169,255,243,.24),transparent 24%),linear-gradient(180deg,#3eebdd 0%,#31cfc1 35%,#214f4b 100%);box-shadow:0 0 26px rgba(47,232,210,.12)}
.on-step[data-step="5"] .time-dial-inner-ring{top:152px;width:112px;height:112px}
.on-step[data-step="5"] .time-dial-inner-ring:after{inset:18px}
.on-step[data-step="5"] .time-dial-sector{top:60px;height:184px;width:94px;background:linear-gradient(180deg,rgba(184,255,245,.18),rgba(35,111,102,.38));opacity:.8}
.on-step[data-step="5"] .time-dial-pointer{top:34px}
.on-step[data-step="5"] .time-wheel-picker{height:152px;margin-top:0}
.on-step[data-step="5"] .birth-wheel-highlight{height:42px}
.on-step[data-step="5"] .birth-wheel-column{padding:55px 0}
.on-step[data-step="5"] .birth-wheel-item{height:42px;font-size:16px}
.on-step[data-step="5"] .birth-wheel-item.selected{font-size:19px}
.on-step[data-step="5"] .ghost-pill{height:50px}
.on-step[data-step="5"] .on-cta-stack{gap:8px;padding-top:0}
.on-step[data-step="5"] .primary{height:56px}
.airy{gap:14px}
.large-input,.onboarding .soft-input,.onboarding .form-stack input,.onboarding .form-stack select{height:64px;border-radius:22px;background:#232632;color:#f5f2ec;font-weight:600;font-size:16px}
.onboarding .form-stack label{gap:10px;color:#d2d5e8;font-size:14px;font-weight:700}
.onboarding input::placeholder{font-size:16px}
.map-picker-btn{height:58px;border-radius:20px;background:#232632;border:1px solid rgba(134,150,255,.32);text-transform:none}
.selected-place-preview{min-height:48px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.04);color:#d8dbee;font-weight:600}
.inline-place-results{border-radius:18px;background:#202430;border:1px solid rgba(255,255,255,.07);overflow:hidden}
.inline-place-results-head{padding:12px 16px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#8f96bf;font-weight:800;border-bottom:1px solid rgba(255,255,255,.06)}
.inline-place-results-list{display:grid;max-height:260px;overflow:auto}
.inline-place-results .map-result-btn{padding:14px 16px}
.inline-place-results .map-result-btn.selected{background:rgba(98,107,255,.16)}
.inline-place-results .map-result-title{font-size:18px}
.inline-place-results .map-result-subtitle{font-size:14px}
#openBirthMap,#birthMapModal{display:none!important}
.persona-figure{height:220px;position:relative}
.persona-head,.persona-body{position:absolute;left:50%;transform:translateX(-50%)}
.persona-head{top:8px;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#e7ddff 0,#7fe6ff 52%,rgba(127,230,255,.18) 76%);filter:blur(.5px);box-shadow:0 0 24px rgba(104,230,255,.34)}
.persona-body{top:102px;width:214px;height:118px;border-radius:120px 120px 22px 22px;background:radial-gradient(circle at 50% 8%,#71dcff 0,#16f6ab 42%,rgba(22,246,171,.2) 78%);filter:blur(.7px)}
.persona-grid,.status-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.persona-card,.status-card{background:#25293d;border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:14px;display:grid;gap:14px;text-align:center}
.persona-card.selected,.status-card.selected{border-color:#7282ff;box-shadow:0 0 0 1px rgba(114,130,255,.45) inset;background:#303659}
.persona-card strong,.status-card strong{font-size:16px;font-weight:500;color:#f4f1ea}
.persona-mini{display:block;width:100%;height:122px;border-radius:18px;background:#2b304a;position:relative;overflow:hidden}
.persona-mini:before,.persona-mini:after{content:"";position:absolute;left:50%;transform:translateX(-50%)}
.persona-mini:before{top:18px;width:64px;height:64px;border-radius:50%}
.persona-mini:after{top:72px;width:132px;height:54px;border-radius:70px 70px 20px 20px}
.persona-mini.mint:before{background:radial-gradient(circle,#e7ddff 0,#7fe6ff 58%,transparent 84%)}.persona-mini.mint:after{background:radial-gradient(circle at 50% 10%,#79e2ff 0,#20f7a9 46%,transparent 88%)}
.persona-mini.coral:before{background:radial-gradient(circle,#f4e9ff 0,#ffd39c 52%,transparent 84%)}.persona-mini.coral:after{background:radial-gradient(circle at 50% 10%,#ffd86d 0,#ff7158 44%,transparent 88%)}
.persona-mini.violet:before{background:radial-gradient(circle,#f2f1ff 0,#8b8cff 58%,transparent 84%)}.persona-mini.violet:after{background:radial-gradient(circle at 50% 10%,#8e80ff 0,#34bcff 44%,transparent 88%)}
.persona-mini.plum:before{background:radial-gradient(circle,#cfc6ff 0,#787cff 58%,transparent 84%)}.persona-mini.plum:after{background:radial-gradient(circle at 50% 10%,#747dff 0,#9b004a 46%,transparent 88%)}
.on-step[data-step="8"] .persona-grid{grid-template-columns:1fr 1fr;gap:18px;align-items:stretch}
.on-step[data-step="8"] .persona-card{min-height:376px;padding:18px 18px 24px;gap:20px;border-radius:26px;grid-template-rows:1fr auto}
.on-step[data-step="8"] .persona-card strong{font-size:20px;font-weight:600}
.on-step[data-step="8"] .persona-mini{height:248px;border-radius:24px}
.on-step[data-step="8"] .persona-mini:before{top:28px;width:96px;height:96px}
.on-step[data-step="8"] .persona-mini:after{top:112px;width:200px;height:92px;border-radius:110px 110px 28px 28px}
.status-grid{grid-template-columns:repeat(3,1fr)}
.status-card{padding:12px;align-content:start}
.status-icon{display:block;width:100%;height:96px;border-radius:18px;background:#2b304a;position:relative}
.status-icon:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:58px;height:58px;border-radius:50%}
.status-icon.blue:before{background:radial-gradient(circle,#defcff 0,#6d7cff 54%,transparent 82%)}
.status-icon.heart:before{background:radial-gradient(circle,#fff2d6 0,#ffb43f 34%,#ff685f 66%,transparent 84%);border-radius:18px;transform:translate(-50%,-50%) rotate(45deg)}
.status-icon.pink:before{background:radial-gradient(circle,#fff0ff 0,#f86bdb 44%,#7da8ff 72%,transparent 84%)}
.status-icon.duo:before{background:radial-gradient(circle at 35% 50%,#fff7f7 0,#ff7cdb 36%,transparent 38%),radial-gradient(circle at 65% 50%,#fff7f7 0,#ff7cdb 36%,transparent 38%)}
.status-icon.orange:before{background:radial-gradient(circle,#fff1e8 0,#ffad3d 42%,#ff6c5d 72%,transparent 84%)}
.status-icon.broken:before{background:radial-gradient(circle,#f4f5ff 0,#9ad8ff 34%,#6c73ff 58%,transparent 80%)}
.review-shell{display:grid;gap:22px}
.review-ring{position:relative;width:184px;height:184px;margin:4px auto 0;display:grid;place-items:center}
.review-ring-glow{position:absolute;inset:12px;border-radius:50%;background:radial-gradient(circle,rgba(96,110,255,.28),rgba(63,228,255,.12) 46%,transparent 72%);filter:blur(18px);animation:pulse 2.8s ease-in-out infinite}
.review-ring-track{--progress-deg:0deg;position:absolute;inset:0;border-radius:50%;background:conic-gradient(#59c8ff 0 var(--progress-deg),rgba(255,255,255,.12) var(--progress-deg) 360deg);box-shadow:0 0 26px rgba(89,200,255,.2);transition:background .16s linear}
.review-ring-track:after{content:"";position:absolute;inset:18px;border-radius:50%;background:#181b27;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.review-ring-value{position:relative;font-size:34px;font-weight:900;color:#f5f2ec}
.review-status-block{min-height:132px;align-content:start}
.review-status-text{min-height:28px;font-size:19px;line-height:1.25;color:#f5f7ff;font-weight:800}
.review-card{padding:22px;border-radius:24px;background:linear-gradient(135deg,#5742ff,#5d3dff 40%,#22bfff);display:grid;gap:14px}
.review-card.tall{min-height:220px;align-content:start}
.review-card--carousel{min-width:100%;min-height:220px;align-content:start;box-shadow:0 24px 42px rgba(24,24,64,.24)}
.review-stars{font-size:24px;color:#ffd65d;letter-spacing:.2em}
.review-text{font-size:18px;line-height:1.5;color:#fff}
.review-author{font-size:15px;color:rgba(255,255,255,.82);font-weight:700}
.review-carousel{display:grid;gap:14px;overflow:hidden}
.review-carousel-track{display:flex;transition:transform .65s cubic-bezier(.22,.74,.18,1),opacity .35s ease;will-change:transform}
.review-dots{display:flex;justify-content:center;gap:10px}
.review-dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);transition:transform .25s ease,background-color .25s ease}
.review-dot.active{background:#fff;transform:scale(1.18)}
.editorial-media{height:240px;border-radius:24px;position:relative;overflow:hidden;background:#232735}
.scenic-one{background:linear-gradient(180deg,#d7d0cc,#9fb3c6 58%,#2d354b)}
.orbital-line{position:absolute;left:8%;right:8%;height:160px;border:2px solid rgba(255,255,255,.8);border-radius:50%;top:24px}
.orbital-line.two{left:14%;right:14%;top:44px;height:144px;opacity:.84}
.orbital-node{position:absolute;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 0 10px rgba(255,255,255,.4)}
.node-a{left:18%;top:152px}
.node-b{right:26%;top:84px}

/* Figma registration flow */
.onboarding{
  position:fixed;inset:0;z-index:1000;width:100%;height:100dvh;min-height:100%;
  padding:calc(env(safe-area-inset-top) + 18px) 24px calc(env(safe-area-inset-bottom) + 20px);
  background:
    radial-gradient(80% 38% at 50% 4%,rgba(86,65,193,.22),transparent 72%),
    radial-gradient(65% 30% at 100% 58%,rgba(52,31,128,.15),transparent 78%),
    linear-gradient(180deg,#080914 0%,#080916 100%);
  overflow-x:hidden;overflow-x:clip;overflow-y:hidden;color:#f8f5f1;
}
.onboarding:before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.55;background-image:radial-gradient(circle,rgba(255,255,255,.75) 0 1px,transparent 1.2px);background-size:83px 97px;background-position:15px 21px}
.onboarding>*{position:relative;z-index:1}
.onboarding-chrome{gap:14px;flex:0 0 auto}
.onboarding-head{grid-template-columns:32px 1fr 32px;min-height:32px;gap:8px}
.onboarding-head-spacer{width:32px;height:32px}
.onboarding-title{font-size:15px;line-height:1;font-weight:650;letter-spacing:.01em}
.on-back{width:32px;height:32px;display:grid;place-items:center;padding:0;color:#fff;font-family:Arial,sans-serif;font-size:30px;font-weight:300;line-height:1;background:transparent}
.onboarding-progress{height:6px;background:rgba(255,255,255,.1)}
.onboarding-progress span{background:linear-gradient(90deg,#7558ff,#a78aff);box-shadow:0 0 12px rgba(133,105,255,.55)}
.onboarding.is-welcome{padding:0 24px;background:var(--onboarding-bg)!important}
.onboarding.is-welcome:before{inset:0;opacity:1;background-image:url("assets/onboarding/welcome-star-1.svg"),url("assets/onboarding/welcome-star-2.svg"),url("assets/onboarding/welcome-star-3.svg"),url("assets/onboarding/welcome-star-4.svg"),url("assets/onboarding/welcome-star-5.svg"),url("assets/onboarding/welcome-star-3.svg");background-repeat:no-repeat;background-size:2px 2px,3px 3px,2px 2px,2px 2px,3px 3px,2px 2px;background-position:calc(50% - 135px) 120px,calc(50% + 125px) 140px,calc(50% - 155px) 280px,calc(50% + 145px) 320px,calc(50% - 115px) 420px,calc(50% + 115px) 450px}
.onboarding.is-welcome .onboarding-chrome{display:none}
.on-step{justify-content:flex-start;gap:16px;padding:30px 0 0;overflow-y:auto;overscroll-behavior:contain}
.on-step[data-step="3"],.on-step[data-step="10"],.on-step[data-step="11"],.on-step[data-step="12"],.on-step[data-step="13"]{display:none!important}
.step-copy{display:grid;gap:8px}
.step-copy .serif-title,.on-footer-copy .display-title{font-family:Georgia,"Times New Roman",serif;font-weight:400;letter-spacing:-.035em;color:#fbf8f2}
.step-copy .serif-title{font-size:30px;line-height:1.08;margin:0}
.step-copy p,.display-text{font-size:15px;line-height:1.5;color:rgba(228,228,239,.66)}
.on-cta-stack{margin-top:auto;padding-top:12px;flex:0 0 auto}
.onboarding .primary{height:64px;border-radius:20px;background:linear-gradient(180deg,#f5f1e9,#e9e3da);color:#161520;font-size:17px;font-weight:750}
.onboarding .primary:disabled{background:#282936;color:#77798a}
.onboarding .on-step{width:100%;max-width:100%;overflow-x:hidden}
.onboarding .on-step>*{min-width:0;max-width:100%}
.onboarding.is-welcome .on-step-cover{min-height:100dvh;padding:calc(env(safe-area-inset-top) + 40px) 0 calc(env(safe-area-inset-bottom) + 24px);display:grid;grid-template-rows:320px auto 64px;align-content:start;gap:48px;overflow-y:auto;overflow-x:hidden}
.onboarding.is-welcome .cover-space{position:relative;left:auto;inset-block:auto;min-height:320px;width:100%;max-width:100%;height:320px;transform:none;display:grid;place-items:center;isolation:isolate}
.onboarding.is-welcome .cover-space:before{content:"";position:absolute;left:50%;top:50%;z-index:0;width:460px;height:400px;transform:translate(-50%,-50%);background:url("assets/onboarding/welcome-glow-header.svg") center/460px 400px no-repeat;pointer-events:none}
.onboarding.is-welcome .planet-intro{position:relative;z-index:1;justify-self:center;width:280px;height:280px;margin:0;background:url("assets/onboarding/welcome-celestial.svg") center/280px 280px no-repeat;filter:none;flex:0 0 280px}
.planet-intro>*{display:none}
.onboarding.is-welcome .on-footer-copy{width:100%;display:grid;gap:16px;text-align:left;margin:0}
.onboarding.is-welcome .on-footer-copy .display-title{font-family:"Astra Welcome Playfair",Georgia,"Times New Roman",serif;font-size:32px;font-weight:600;line-height:40px;letter-spacing:0;text-align:left;margin:0;color:#f5f0e8}
.onboarding.is-welcome .on-footer-copy .display-text{font-family:"Astra Welcome Inter",Inter,system-ui,-apple-system,sans-serif;font-size:16px;font-weight:400;line-height:24px;text-align:left;margin:0;color:#9b96b0}
.onboarding.is-welcome .on-cta-stack{width:min(100%,342px);margin:0 auto;padding:0;justify-self:center;transform:translateY(16px)}
.onboarding.is-welcome .welcome-start{position:relative;isolation:isolate;overflow:hidden;appearance:none;-webkit-appearance:none;width:100%;height:64px;min-height:64px;margin:0;padding:0 24px;display:flex;align-items:center;justify-content:space-between;border:.75px solid rgba(160,148,255,.36);border-radius:999px;background:linear-gradient(90deg,rgba(101,88,205,.46) 0%,rgba(55,48,130,.82) 45%,rgba(45,39,111,.88) 100%);box-shadow:inset 0 -1px 3px rgba(0,0,0,.2),inset 0 0 12px rgba(130,115,255,.1),inset 0 1px 2px rgba(215,207,255,.24),0 2px 24px rgba(89,71,229,.16),0 4px 16px rgba(0,0,0,.22);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:#f5f2ff;font-family:"Astra Welcome Inter",Inter,system-ui,-apple-system,sans-serif;font-size:18px;font-weight:600;line-height:1;text-align:left;text-transform:none;letter-spacing:0}
.onboarding.is-welcome .welcome-start span{position:relative;z-index:1;display:block;line-height:20px}
.onboarding.is-welcome .welcome-start img{position:relative;z-index:1;display:block;width:20px;height:20px;flex:0 0 20px;object-fit:contain}
.goal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.goal-card{min-height:110px;border-radius:18px;padding:14px;background:linear-gradient(145deg,rgba(34,35,52,.93),rgba(21,22,36,.94));border:1px solid rgba(255,255,255,.07)}
.goal-icon{font-family:Arial,sans-serif;font-size:29px}
.goal-card strong{font-size:14px;line-height:1.25;font-weight:600}
.focus-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.focus-card{min-height:106px;border-radius:18px;padding:12px 8px;background:linear-gradient(145deg,rgba(34,35,52,.93),rgba(21,22,36,.94));border:1px solid rgba(255,255,255,.07)}
.focus-icon{font-family:Arial,sans-serif;font-size:27px}
.focus-card b{font-size:12px;line-height:1.2;font-weight:600}
.goal-card.selected,.focus-card.selected,.status-card.selected,.persona-card.selected{border-color:#8b6cff;background:linear-gradient(145deg,rgba(91,67,170,.56),rgba(34,27,74,.9));box-shadow:0 0 0 1px rgba(139,108,255,.5),0 12px 26px rgba(52,30,119,.24)}
.status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.status-card{min-height:110px;padding:13px;border-radius:18px;background:linear-gradient(145deg,rgba(34,35,52,.93),rgba(21,22,36,.94));text-align:left;grid-template-columns:44px 1fr;align-items:center}
.status-icon{width:44px;height:44px;border-radius:14px}
.status-icon:before{width:30px;height:30px}
.status-card strong{font-size:14px;text-align:left}
.astro-date-hero,.astro-time-hero{margin-left:-24px;margin-right:-24px}
.large-input,.onboarding .soft-input,.onboarding .form-stack input{border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.06)}
.on-step[data-step="6"]:before{content:"";display:block;height:190px;flex:0 0 190px;background:radial-gradient(circle at 50% 55%,rgba(103,71,255,.45),transparent 34%),radial-gradient(circle at 50% 55%,#6850e8 0 22%,transparent 22.5%),repeating-radial-gradient(ellipse at 50% 55%,rgba(154,133,255,.24) 0 2px,transparent 3px 13px);filter:drop-shadow(0 0 30px rgba(91,66,220,.2))}
.persona-figure{height:235px}
.on-step[data-step="8"] .persona-card{min-height:300px;padding:14px 14px 20px;border-radius:22px}
.on-step[data-step="8"] .persona-mini{height:205px}
.review-shell{margin:auto 0;gap:24px}
.review-ring{width:160px;height:160px}
.review-ring-track{--progress-deg:248.4deg;background:conic-gradient(#9274ff 0 var(--progress-deg),rgba(255,255,255,.1) var(--progress-deg) 360deg);box-shadow:0 0 32px rgba(119,82,255,.3)}
.review-ring-track:after{inset:13px;background:#0d0e1a}
.review-ring--ready .review-ring-track{--progress-deg:360deg}
.review-ring-value{font-size:30px}
.review-status-block{min-height:0}
.onboarding-insight{padding:18px;border:1px solid rgba(166,140,255,.26);border-radius:20px;background:linear-gradient(135deg,rgba(83,57,172,.46),rgba(31,27,73,.58));box-shadow:inset 0 1px rgba(255,255,255,.05)}
.onboarding-insight span{display:block;margin-bottom:9px;font-size:10px;letter-spacing:.16em;color:#b7a5ff;font-weight:800}
.onboarding-insight p{font-size:15px;line-height:1.45;color:#f3efff}
@media (max-height:760px){.onboarding{padding-top:calc(env(safe-area-inset-top) + 12px);padding-bottom:calc(env(safe-area-inset-bottom) + 12px)}.on-step{padding-top:18px;gap:12px}.step-copy .serif-title{font-size:26px}.goal-card,.focus-card{min-height:90px}.on-step[data-step="8"] .persona-card{min-height:250px}.on-step[data-step="8"] .persona-mini{height:165px}.onboarding.is-welcome{padding:0 24px}.onboarding.is-welcome .on-step-cover{grid-template-rows:250px auto 64px;gap:24px;padding-top:calc(env(safe-area-inset-top) + 16px);padding-bottom:calc(env(safe-area-inset-bottom) + 12px)}.onboarding.is-welcome .cover-space{min-height:250px;height:250px}.onboarding.is-welcome .planet-intro{width:240px;height:240px;flex-basis:240px;background-size:240px 240px}}
@media (min-width:600px){.onboarding{left:50%;right:auto;width:430px;transform:translateX(-50%)}}
.feature-orb{width:220px;height:220px;border-radius:36px;margin:0 auto;position:relative}
.guidance-orb{background:radial-gradient(circle at 50% 34%,#fff9e8 0,#7ce0ff 22%,#7f38ff 68%,transparent 70%)}
.guidance-orb:after{content:"";position:absolute;left:50%;bottom:10px;width:92px;height:72px;transform:translateX(-50%);border-radius:16px 16px 28px 28px;background:linear-gradient(180deg,#6d27ff,#4a19b6)}
.heart-orb{background:radial-gradient(circle,#efe4ff 0,#ffbb45 22%,#ff7d5f 48%,transparent 64%)}
.heart-orb:before,.heart-orb:after{content:"";position:absolute;top:48px;width:108px;height:156px;border-radius:108px 108px 0 0;background:linear-gradient(180deg,#ff6a63,#ff7d6c)}
.heart-orb:before{left:40px;transform:rotate(-45deg);transform-origin:0 100%}
.heart-orb:after{right:40px;transform:rotate(45deg);transform-origin:100% 100%}
.binary-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:auto;padding-top:10px}
.binary-btn{height:62px;border-radius:999px;background:#585c69;color:#faf6ef;font-size:18px;font-weight:800}
.binary-btn.accent{background:var(--cream);color:#171924}
.binary-btn.selected{box-shadow:0 0 0 2px rgba(255,255,255,.26) inset}
.social-list{display:grid;gap:12px}
.social-option{min-height:74px;border-radius:18px;padding:0 18px;background:#25293d;border:1px solid rgba(255,255,255,.08);text-align:left;font-size:18px;font-weight:500;color:#f3efe9}
.social-option.selected{background:#303659;border-color:#7282ff;box-shadow:0 0 0 1px rgba(114,130,255,.45) inset}
@media(max-width:390px){
  .focus-grid,.status-grid{grid-template-columns:1fr 1fr}
  .status-card:last-child{grid-column:1/-1}
}

.time-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  overflow:hidden;
  position:relative;
  top:0;
  z-index:7;
  flex:0 0 auto;
  margin-top:0;
  background:#071149;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.08),
    inset 0 -1px 0 rgba(255,255,255,.14);
}

.time-tabs button{
  min-width:0;
  width:100%;
  white-space:nowrap;
}

#page-today .hero-card{
  min-height:252px;
  padding:26px 0 22px;
}

#page-today .profile-block{
  gap:12px;
  padding-top:8px;
}

.main-ui{
  --today-dock-progress:0;
  --today-dock-top:62px;
}

.topbar{
  transform:none;
  opacity:1;
  filter:none;
  margin-bottom:0;
}

.topbar strong,
.top-actions{
  opacity:1;
  transform:none;
  filter:none;
}

.main-ui.today-tabs-docked .topbar,
.main-ui.today-tabs-docked .topbar strong,
.main-ui.today-tabs-docked .top-actions{
  pointer-events:auto;
}

.time-tabs{
  transition:background-color .42s ease,backdrop-filter .42s ease,box-shadow .42s ease;
}

.topbar:after,
.time-tabs:before{
  display:none;
}

.time-tabs{
  border-top:0;
}

.topbar{
  margin-bottom:0;
}

#page-today{
  position:relative;
}

.main-ui.today-tabs-docked .topbar,
.main-ui.today-tabs-docked .topbar strong,
.main-ui.today-tabs-docked .top-actions{
  opacity:1;
  transform:none;
  filter:none;
  pointer-events:auto;
}

#heroAvatarButton{
  border:0;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  font-family:inherit;
  line-height:1;
}

#heroAvatarButton.avatar-launch{
  font-size:48px;
  font-weight:700;
}

.topbar{
  justify-content:center;
  padding:10px 18px;
}

.topbar strong{
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  text-align:center;
  width:max-content;
}

.top-actions{
  position:absolute;
  right:18px;
  top:50%;
  transform:translateY(-50%);
}

.topbar-stretch-mark{
  display:none !important;
}

#profileAvatarButton{
  border:0;
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
  font-family:inherit;
  line-height:1;
}

#profileAvatarButton.avatar-launch{
  font-size:48px;
  font-weight:700;
}

#page-profile .birth-page{
  padding-top:0;
  width:100%;
}

#page-profile .profile-hero-card{
  min-height:300px;
  padding:34px 0 28px;
  margin-bottom:0;
  border-radius:0;
}

#page-profile .chart-card{
  position:relative;
  z-index:2;
  margin-top:-18px;
  border-radius:30px 30px 18px 18px;
  box-shadow:0 -1px 0 rgba(255,255,255,.04) inset;
}

#page-profile .profile-block{
  gap:12px;
  padding-top:10px;
  align-items:center;
  width:100%;
  max-width:100%;
  position:relative;
  z-index:2;
}

#page-profile .profile-block p{
  margin:0;
  justify-content:center;
  gap:8px 16px;
  width:100%;
  max-width:100%;
  flex-wrap:wrap;
}

#page-profile .profile-page{
  background:#090f38;
}

#page-profile .scroll-content{
  padding:0 20px 0;
  width:100%;
}

#page-profile{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(var(--bottom-nav-height, 72px) + env(safe-area-inset-bottom) + 32px);
}

#page-profile .profile-hero-card{
  width:100%;
  max-width:100%;
  margin:0 0 18px;
  padding:30px 20px 24px;
  min-height:auto;
  border-radius:28px;
  background:
    radial-gradient(circle at 22% 88%, rgba(41,91,255,.42), transparent 18%),
    radial-gradient(circle at 86% 70%, rgba(111,57,255,.38), transparent 22%),
    linear-gradient(180deg, #252e93 0%, #272a8d 100%);
  overflow:hidden;
}

#page-profile .profile-block h1,
#page-profile .profile-block #profilePageSummary,
#page-profile .profile-meta-line,
#page-profile .profile-big3{
  width:100%;
  max-width:100%;
  margin-inline:auto;
  text-align:center;
  word-break:break-word;
}

#page-profile .profile-block h1{
  font-size:clamp(42px, 7.6vw, 56px);
  line-height:.94;
  letter-spacing:-0.04em;
}

#page-profile .profile-block #profilePageSummary{
  max-width:100%;
}

#page-profile .profile-block #profilePageSummary span{
  display:block;
  white-space:normal;
  overflow-wrap:anywhere;
}

#page-profile .profile-hero-card::before{
  content:"";
  position:absolute;
  right:-42px;
  bottom:12px;
  width:208px;
  height:208px;
  border-radius:50%;
  border:18px solid rgba(103,52,255,.7);
  border-left-color:transparent;
  border-top-color:transparent;
  transform:rotate(26deg);
  opacity:.82;
}

#page-profile .profile-hero-card::after{
  content:"";
  position:absolute;
  left:-72px;
  bottom:-84px;
  width:196px;
  height:196px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%, #3560ff, #2132b8 68%, #1a1a74 100%);
  opacity:.95;
}

.profile-meta-line,
.profile-big3{
  position:relative;
  z-index:2;
  color:rgba(238,238,255,.78);
  text-align:center;
}

.profile-meta-line{
  font-size:14px;
  line-height:1.45;
  max-width:290px;
}

.profile-big3{
  font-size:15px;
  font-weight:700;
  line-height:1.4;
}

.profile-hero-cta{
  position:relative;
  z-index:2;
  width:min(100%, 320px);
  min-width:0;
  margin-top:4px;
  background:linear-gradient(135deg, #7a82ff 0%, #5867ff 100%);
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 14px 34px rgba(57,61,182,.28);
}

.section-heading{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-bottom:14px;
}

.section-heading h2{
  margin:0;
  font-size:17px;
  line-height:1.15;
}

.section-heading p{
  margin:0;
  color:rgba(222,224,255,.62);
  font-size:13px;
  line-height:1.45;
}

.cosmic-summary-card,
.profile-tools-card,
.quick-sections-card,
.profile-cta-card,
.profile-premium-preview{
  border-radius:28px;
  padding:18px;
  background:linear-gradient(180deg, rgba(31,39,112,.98) 0%, rgba(28,33,97,.98) 100%);
  box-shadow:0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}

.profile-tools-card{
  padding:16px;
  border-radius:30px;
  background:linear-gradient(180deg, rgba(32,40,112,.98) 0%, rgba(26,31,92,.98) 100%);
}

#page-profile .profile-tools-card{
  width:100%;
  max-width:100%;
  margin:0 0 18px;
  padding:16px;
  border-radius:24px;
  box-shadow:0 18px 40px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.04);
}

.cosmic-summary-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:12px;
}

.cosmic-mini-card{
  min-height:108px;
  border-radius:22px;
  padding:16px 14px;
  background:
    radial-gradient(circle at 85% 15%, rgba(122,128,255,.16), transparent 30%),
    linear-gradient(180deg, rgba(55,66,154,.88) 0%, rgba(37,43,118,.88) 100%);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.cosmic-mini-card small{
  color:rgba(216,219,255,.62);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.cosmic-mini-card strong{
  font-size:20px;
  line-height:1.05;
}

.cosmic-mini-card span{
  color:rgba(227,229,255,.62);
  font-size:12px;
  line-height:1.4;
}

.profile-tools-grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:14px;
}

.profile-tools-accordion{
  display:flex;
  flex-direction:column;
  gap:12px;
  width:100%;
}

.tool-accordion{
  width:100%;
  max-width:100%;
  border-radius:20px;
  overflow:hidden;
  background:
    radial-gradient(circle at 84% 14%, rgba(130,121,255,.11), transparent 24%),
    linear-gradient(180deg, rgba(45,54,146,.92) 0%, rgba(35,41,111,.92) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:
    transform .48s cubic-bezier(.22,1,.36,1),
    box-shadow .48s cubic-bezier(.22,1,.36,1),
    background .6s cubic-bezier(.22,1,.36,1),
    border-radius .42s cubic-bezier(.22,1,.36,1);
}

.tool-accordion.open{
  box-shadow:0 14px 28px rgba(22,24,80,.18), inset 0 1px 0 rgba(255,255,255,.05);
}

.tool-accordion[data-tool-accordion="natal"].open,
.tool-accordion[data-tool-accordion="matrix"].open,
.tool-accordion[data-tool-accordion="human-design"].open{
  background:
    radial-gradient(circle at 84% 14%, rgba(168,120,255,.18), transparent 28%),
    linear-gradient(165deg, rgba(17,25,58,.98), rgba(30,18,66,.98));
  box-shadow:0 18px 48px rgba(8,10,26,.34), inset 0 1px 0 rgba(255,255,255,.05);
}

.tool-accordion[data-tool-accordion="natal"] .tool-accordion__head,
.tool-accordion[data-tool-accordion="matrix"] .tool-accordion__head,
.tool-accordion[data-tool-accordion="human-design"] .tool-accordion__head{
  position:relative;
  transition:
    padding .42s cubic-bezier(.22,1,.36,1),
    background .48s cubic-bezier(.22,1,.36,1),
    opacity .32s ease;
}

.tool-accordion[data-tool-accordion="natal"].open .tool-accordion__head,
.tool-accordion[data-tool-accordion="matrix"].open .tool-accordion__head,
.tool-accordion[data-tool-accordion="human-design"].open .tool-accordion__head{
  padding-bottom:10px;
  background:linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}

.tool-accordion[data-tool-accordion="natal"].open .tool-accordion__head::after,
.tool-accordion[data-tool-accordion="matrix"].open .tool-accordion__head::after,
.tool-accordion[data-tool-accordion="human-design"].open .tool-accordion__head::after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:0;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.1) 18%, rgba(255,255,255,.08) 82%, rgba(255,255,255,0));
}

.tool-accordion__head{
  width:100%;
  border:0;
  color:#fff;
  text-align:left;
  padding:14px 14px 12px;
  background:var(--forecast-header-background);
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  box-sizing:border-box;
  transition:transform .42s cubic-bezier(.22,1,.36,1), opacity .28s ease;
}

.tool-accordion__icon{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, rgba(113,125,255,.26), rgba(72,85,189,.16));
  box-shadow:0 10px 22px rgba(46,55,183,.14);
  font-size:22px;
  transition:
    transform .48s cubic-bezier(.22,1,.36,1),
    box-shadow .48s cubic-bezier(.22,1,.36,1),
    background .48s cubic-bezier(.22,1,.36,1),
    filter .48s cubic-bezier(.22,1,.36,1);
}

.tool-accordion__icon.tool-card__icon-chart{
  width:56px;
  height:56px;
  border-radius:50%;
}

.tool-accordion__copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.tool-accordion__copy strong{
  font-size:20px;
  line-height:1.06;
  font-weight:800;
  letter-spacing:-.02em;
  transition:color .42s ease, transform .42s cubic-bezier(.22,1,.36,1);
}

.tool-accordion__copy small{
  color:rgba(226,228,255,.72);
  font-size:11px;
  line-height:1.4;
  transition:color .42s ease, opacity .42s ease, transform .42s cubic-bezier(.22,1,.36,1);
}

.tool-accordion__chevron{
  color:rgba(236,238,255,.82);
  font-size:20px;
  line-height:1;
  transform:rotate(0deg);
  transition:
    transform .42s cubic-bezier(.22,1,.36,1),
    opacity .28s ease,
    color .42s ease;
}

.tool-accordion.open .tool-accordion__chevron{
  transform:rotate(180deg);
}

.tool-accordion__body{
  display:block;
  width:100%;
  max-width:100%;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transform:translateY(-10px);
  padding:0 14px 0;
  box-sizing:border-box;
  pointer-events:none;
  transition:
    max-height .42s cubic-bezier(.22,1,.36,1),
    opacity .28s ease,
    transform .38s cubic-bezier(.22,1,.36,1),
    padding .34s cubic-bezier(.22,1,.36,1);
}

.tool-accordion[data-tool-accordion="natal"] .tool-accordion__body,
.tool-accordion[data-tool-accordion="matrix"] .tool-accordion__body,
.tool-accordion[data-tool-accordion="human-design"] .tool-accordion__body{
  padding:0 14px 0;
}

.tool-accordion.open .tool-accordion__body{
  max-height:2200px;
  opacity:1;
  transform:translateY(0);
  padding:8px 14px 16px;
  pointer-events:auto;
}

.tool-accordion.open .tool-accordion__icon{
  transform:translateY(1px) scale(1.02);
  background:linear-gradient(180deg, rgba(149,156,255,.34), rgba(84,96,205,.2));
  box-shadow:0 16px 30px rgba(46,55,183,.2);
  filter:saturate(1.08);
}

.tool-accordion.open .tool-accordion__copy strong{
  color:#fbf8ff;
  transform:translateY(1px);
}

.tool-accordion.open .tool-accordion__copy small{
  color:rgba(236,238,255,.82);
  transform:translateY(1px);
}

.tool-accordion[data-tool-accordion="natal"].open .tool-accordion__icon,
.tool-accordion[data-tool-accordion="matrix"].open .tool-accordion__icon,
.tool-accordion[data-tool-accordion="human-design"].open .tool-accordion__icon{
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.18), transparent 42%),
    linear-gradient(180deg, rgba(165,136,255,.36), rgba(95,91,225,.22));
  box-shadow:0 18px 36px rgba(83,70,200,.26);
  filter:saturate(1.12) brightness(1.04);
}

.tool-accordion__body p{
  margin:0 0 14px;
  color:rgba(228,231,255,.76);
  font-size:12px;
  line-height:1.5;
}

#page-profile .card,
#page-profile .profile-tools-card,
#page-profile .tool-accordion,
#page-profile .tool-accordion__body{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
}

.tool-accordion__body .secondary{
  min-height:50px;
  font-size:15px;
}

.human-design-icon{position:relative;border-radius:50%}.human-design-icon::before,.human-design-icon::after,.human-design-icon span{content:"";position:absolute;border:1.5px solid rgba(239,236,255,.9);border-radius:50%}.human-design-icon::before{width:25px;height:25px}.human-design-icon::after{width:9px;height:9px;background:rgba(170,156,255,.42)}.human-design-icon span{width:35px;height:15px;border-left-color:transparent;border-right-color:transparent;transform:rotate(-35deg)}
.human-design-hero{padding:18px 4px 16px;text-align:center}.human-design-hero small{display:block;color:rgba(210,205,255,.72);font-size:10px;font-weight:900;letter-spacing:.16em}.human-design-hero h3{margin:7px 0 5px;font-size:29px;line-height:1.05}.human-design-hero p{margin:0!important;color:#f2efff!important;font-size:14px!important;font-weight:750}
.human-design-hero h3,.human-design-hero p,.human-design-primary-item strong,.human-design-insight__title,.human-design-insight__text{word-break:normal;overflow-wrap:break-word;hyphens:none}
.human-design-primary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px;min-width:0}.human-design-primary-item{min-width:0;padding:12px 9px;border-radius:15px;background:linear-gradient(145deg,rgba(109,103,235,.22),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.06)}.human-design-primary-item small{display:block;margin-bottom:6px;color:rgba(222,224,255,.62);font-size:10px}.human-design-primary-item strong{display:block;min-width:0;font-size:clamp(16px,3.8vw,22px);line-height:1.15}
.human-design-insight{display:grid;gap:12px;height:auto;max-height:none;overflow:visible;padding:16px;margin-bottom:12px;border-radius:18px;background:radial-gradient(circle at 88% 12%,rgba(134,105,231,.16),transparent 34%),linear-gradient(180deg,rgba(73,42,131,.52) 0%,rgba(34,24,78,.72) 100%);border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}.human-design-insight__overline{color:rgba(228,230,255,.58);font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.human-design-insight__title{margin:0;color:#fff;font-size:20px;line-height:1.15}.human-design-insight__text{margin:0!important;color:rgba(244,242,255,.84)!important;font-size:14px!important;line-height:1.58!important}.human-design-insight__tags{display:flex;flex-wrap:wrap;gap:8px}.human-design-insight__tag{padding:8px 10px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);color:rgba(244,242,255,.86);font-size:12px;line-height:1.35}
.human-design-inner{margin-top:9px;border-radius:18px;background:rgba(8,12,30,.38);border:1px solid rgba(255,255,255,.06);overflow:hidden;transition:background .38s ease,border-color .38s ease,box-shadow .42s cubic-bezier(.22,1,.36,1),transform .42s cubic-bezier(.22,1,.36,1)}.human-design-inner.is-open{background:rgba(12,16,38,.52);border-color:rgba(255,255,255,.075);box-shadow:0 12px 28px rgba(5,8,22,.2);transform:translateY(-1px)}.human-design-inner__head{width:100%;padding:14px 16px;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left}.human-design-inner__copy{display:grid;gap:4px;min-width:0}.human-design-inner__head strong{font-size:15px;font-weight:700;line-height:1.25}.human-design-inner__copy small{color:rgba(229,232,255,.68);font-size:12px;line-height:1.45}.human-design-inner__head>span:last-child{transition:transform .3s ease}.human-design-inner.is-open .human-design-inner__head>span:last-child{transform:rotate(180deg)}.human-design-inner__body{max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease}.human-design-inner.is-open .human-design-inner__body{max-height:1200px;opacity:1;padding:0 16px 14px}
.human-design-centers-description{margin:0 0 4px!important;color:rgba(229,232,255,.68)!important;font-size:12px!important;line-height:1.45!important}.human-design-centers-list{width:100%;display:grid;gap:0}.human-design-center-row{width:100%;min-width:0;min-height:64px;display:grid;grid-template-columns:minmax(0,1fr) 8px minmax(0,1fr);align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.05)}.human-design-center-row:last-child{border-bottom:0}.human-design-center-name{min-width:0;color:#fff;font-size:15px;font-weight:700;line-height:1.25}.human-design-center-dot{width:7px;height:7px;border-radius:50%;justify-self:center;background:rgba(178,181,216,.25);box-shadow:0 0 0 3px rgba(255,255,255,.02)}.human-design-center-dot.is-defined{background:linear-gradient(135deg,#9c90ff,#7acbea);box-shadow:0 0 0 3px rgba(143,138,255,.09),0 0 10px rgba(126,158,239,.5)}.human-design-center-status{min-width:0;color:rgba(228,230,255,.66);font-size:15px;font-weight:500;line-height:1.25;text-align:right;overflow-wrap:break-word}.human-design-centers-toggle,.human-design-channels-toggle{margin-top:12px;padding:0;border:0;background:none;color:#d9c7ff;font-size:15px;font-weight:700;line-height:1.25;text-align:left}.hd-channel-list{width:100%;display:grid;gap:0}.hd-channel-list-row{width:100%;min-width:0;min-height:64px;display:grid;grid-template-columns:minmax(70px,auto) 20px minmax(0,1fr);align-items:center;gap:10px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.05)}.hd-channel-list-row:last-child{border-bottom:0}.hd-channel-number{color:#fff;font-size:15px;font-weight:700;line-height:1.25}.hd-channel-status-dot{width:9px;height:9px;justify-self:center;border-radius:50%;background:#968cff;box-shadow:0 0 0 5px rgba(143,138,255,.08),0 0 14px rgba(132,139,238,.58)}.hd-channel-main{display:grid;gap:3px;min-width:0}.hd-channel-name{color:rgba(244,242,255,.9);font-size:14px;font-weight:700;line-height:1.3;word-break:normal;overflow-wrap:break-word;hyphens:none}.hd-channel-centers{color:rgba(228,230,255,.62);font-size:12px;font-weight:500;line-height:1.35;word-break:normal;overflow-wrap:break-word;hyphens:none}.hd-channel-main .hd-channel-centers:only-child{color:rgba(228,230,255,.72);font-size:14px;line-height:1.35}.human-design-channels-empty{display:grid;gap:7px;padding:12px 0}.human-design-channels-empty strong{color:#fff;font-size:14px;line-height:1.35}.human-design-channels-empty p{margin:0!important;color:rgba(228,230,255,.62)!important;font-size:12px!important;line-height:1.45!important}.human-design-empty{padding:12px 0 4px!important;margin:0!important}
.human-design-loading{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:12px;padding:24px 4px}.human-design-loading>span{width:22px;height:22px;border:2px solid rgba(255,255,255,.16);border-top-color:#a49aff;border-radius:50%;animation:humanDesignSpin .8s linear infinite}.human-design-loading strong{font-size:13px}.human-design-loading i{grid-column:1/-1;height:10px;border-radius:10px;background:linear-gradient(90deg,rgba(255,255,255,.04),rgba(255,255,255,.1),rgba(255,255,255,.04));background-size:200% 100%;animation:humanDesignShimmer 1.4s ease infinite}.human-design-loading i:nth-of-type(2){width:82%}.human-design-loading i:nth-of-type(3){width:64%}
.human-design-error{display:grid;gap:13px;padding:18px 4px}.human-design-error>strong{font-size:17px}.human-design-error p{margin:0!important}.human-design-error ul{margin:0;padding-left:20px;color:rgba(228,231,255,.76);font-size:12px;line-height:1.7}
@keyframes humanDesignSpin{to{transform:rotate(360deg)}}@keyframes humanDesignShimmer{to{background-position:-200% 0}}
@media(max-width:360px){.human-design-primary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.human-design-primary-item:last-child{grid-column:1/-1}}

#profileToolsAccordion [data-tool-accordion="human-design"].open .tool-accordion__body{max-height:5000px}

.hd-bodygraph-section{width:100%;min-width:0;padding:8px 0 18px;text-align:center}.hd-bodygraph-visual{position:relative;width:100%;min-width:0;background:radial-gradient(circle at 50% 48%,rgba(114,91,225,.13),transparent 46%)}.hd-bodygraph-svg{display:block;width:100%;height:auto;max-width:360px;margin:0 auto;overflow:visible}.hd-bodygraph-orbit{fill:none;stroke:rgba(172,168,232,.12);stroke-width:1}.hd-bodygraph-orbit--inner{stroke:rgba(172,168,232,.08)}.hd-bodygraph-axis{stroke:rgba(177,174,229,.075);stroke-width:1}.hd-bodygraph-glow{fill:rgba(111,86,217,.08);filter:url(#hdSoftGlow)}
.hd-channel-line{vector-effect:non-scaling-stroke;stroke-linecap:round}.hd-channel-line.is-open{stroke:#827fa7;stroke-width:1.25;opacity:.2}.hd-channel-line.is-defined{stroke:url(#hdChannelDefined);stroke-width:3.4;opacity:.92;filter:url(#hdSoftGlow)}
.hd-center .hd-center-shape{vector-effect:non-scaling-stroke;transition:fill .35s ease,stroke .35s ease,filter .35s ease}.hd-center.is-open .hd-center-shape{fill:rgba(18,24,65,.78);stroke:rgba(184,183,224,.38);stroke-width:1.3}.hd-center.is-defined .hd-center-shape{fill:url(#hdCenterFill);stroke:rgba(229,220,255,.88);stroke-width:1.8;filter:url(#hdSoftGlow)}.hd-center-dot{fill:transparent}.hd-center.is-defined .hd-center-dot{fill:#ead59e;filter:url(#hdSoftGlow)}.hd-center-label{fill:rgba(226,225,247,.74);font-size:9px;font-weight:750;letter-spacing:.01em;pointer-events:none}.hd-center.is-defined .hd-center-label{fill:rgba(247,243,255,.94)}
.hd-bodygraph-caption{margin-top:2px;color:rgba(243,241,255,.9);font-size:13px;font-weight:750;line-height:1.45}.hd-bodygraph-meta{margin-top:7px;color:rgba(198,198,229,.5);font-size:8px;font-weight:850;letter-spacing:.16em;line-height:1.5}
@media(max-width:340px){.hd-center-label{font-size:8px}.hd-bodygraph-meta{font-size:7px;letter-spacing:.11em}}

.tool-card{
  text-align:left;
  border:0;
  color:#fff;
  min-height:198px;
  border-radius:24px;
  padding:18px 16px;
  background:
    radial-gradient(circle at 82% 16%, rgba(135,121,255,.15), transparent 28%),
    linear-gradient(180deg, rgba(38,48,138,.98) 0%, rgba(30,34,101,.98) 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  display:flex;
  flex-direction:column;
  gap:12px;
}

.tool-card h3{
  margin:0;
  font-size:19px;
  line-height:1.1;
}

.tool-card p{
  margin:0;
  color:rgba(226,228,255,.68);
  font-size:13px;
  line-height:1.45;
}

.tool-card__icon{
  width:72px;
  height:72px;
  border-radius:22px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg, rgba(113,125,255,.26), rgba(72,85,189,.16));
  box-shadow:0 16px 34px rgba(46,55,183,.22);
  font-size:32px;
}

.tool-card__icon-chart{
  width:78px;
  height:78px;
  border-radius:50%;
  background:radial-gradient(circle at 50% 50%, rgba(104,121,255,.34), rgba(48,59,160,.12));
}

.mini-chart{
  position:relative;
  width:58px;
  height:58px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.78);
}

.mini-chart__ring{
  position:absolute;
  inset:11px;
  border-radius:50%;
  border:2px solid rgba(255,255,255,.24);
}

.mini-chart__axis{
  position:absolute;
  left:50%;
  top:4px;
  width:2px;
  height:50px;
  background:rgba(255,255,255,.5);
  transform-origin:center 25px;
}

.mini-chart__axis.a1{ transform:translateX(-50%) rotate(0deg); }
.mini-chart__axis.a2{ transform:translateX(-50%) rotate(58deg); }
.mini-chart__axis.a3{ transform:translateX(-50%) rotate(118deg); }

.tool-card__icon-matrix,
.tool-card__icon-lunar,
.tool-card__icon-energy{
  color:#fff;
}

.tool-card--matrix .tool-card__icon{
  background:linear-gradient(180deg, rgba(136,112,255,.35), rgba(72,52,176,.18));
}

.tool-card--lunar .tool-card__icon{
  background:linear-gradient(180deg, rgba(120,150,255,.28), rgba(62,77,177,.16));
}

.tool-card--energy .tool-card__icon{
  background:linear-gradient(180deg, rgba(90,240,214,.22), rgba(55,136,165,.12));
}

.quick-sections-card{
  padding-top:16px;
}

.quick-chips{
  display:flex;
  gap:10px;
  overflow-x:auto;
  padding-bottom:2px;
  scrollbar-width:none;
}

.quick-chips::-webkit-scrollbar{
  display:none;
}

.quick-chips button{
  border:0;
  white-space:nowrap;
  border-radius:999px;
  padding:12px 16px;
  color:#fff;
  background:linear-gradient(180deg, rgba(84,93,194,.62), rgba(49,55,134,.68));
  font-weight:700;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.profile-cta-card{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.profile-cta-head{
  display:flex;
  align-items:center;
  gap:14px;
}

.profile-cta-head h3{
  margin:0 0 4px;
  font-size:24px;
}

.profile-cta-head p{
  margin:0;
  color:rgba(227,229,255,.72);
  line-height:1.45;
}

.profile-premium-preview{
  display:flex;
  flex-direction:column;
  gap:16px;
  background:
    radial-gradient(circle at 90% 10%, rgba(122,129,255,.18), transparent 28%),
    linear-gradient(180deg, rgba(28,33,97,.98) 0%, rgba(24,28,84,.98) 100%);
}

.profile-premium-preview h3{
  margin:0 0 6px;
  font-size:22px;
}

.profile-premium-preview p{
  margin:0;
  color:rgba(225,227,255,.68);
  line-height:1.48;
}

.profile-detail-shell{
  display:flex;
  flex-direction:column;
  gap:14px;
  margin-top:4px;
}

.profile-detail-shell.hidden{
  display:none;
}

.profile-detail-shell .chart-card{
  margin-top:0 !important;
  border-radius:28px !important;
  padding-top:18px;
}

.profile-detail-title{
  margin-bottom:18px;
}

.birth-detail-tabs{
  position:relative;
  top:auto;
  margin:0;
}

.birth-detail-tabs button{
  font-size:14px;
}

.overview-card{
  padding:18px;
}

.soft-copy{
  color:rgba(223,226,255,.72);
  line-height:1.55;
}

#page-chat .scroll-content{
  height:100%;
  box-sizing:border-box;
  padding:18px 10px calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 12px);
}

/* Astra messenger */
#page-chat{
  --chat-bg:#030820;
  --chat-panel:rgba(17,27,83,.82);
  --chat-assistant:rgba(29,41,112,.9);
  --chat-user-start:#6468ff;
  --chat-user-end:#4654f6;
  --chat-border:rgba(133,145,255,.22);
  --chat-text:#f7f8ff;
  --chat-muted:#959fd2;
  box-sizing:border-box;
  padding:0 0 calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom));
  overflow:hidden;
  background:transparent;
}

#page-chat.active{
  display:flex;
  height:100%;
  min-height:0;
  flex-direction:column;
  overflow:hidden;
}

.chat-screen{
  position:relative;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  width:100%;
  height:100%;
  min-height:0;
  overflow:hidden;
}

.astra-chat-header{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  min-height:72px;
  padding:10px 18px;
  border-bottom:1px solid rgba(151,163,255,.11);
  background:rgba(3,8,32,.72);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  z-index:2;
}

.astra-chat-avatar-wrap{
  position:relative;
  flex:0 0 auto;
  width:50px;
  height:50px;
}

.astra-chat-avatar{
  display:block;
  width:100%;
  height:100%;
  border-radius:50%;
  object-fit:cover;
  border:1px solid rgba(145,130,255,.48);
  box-shadow:0 0 18px rgba(93,76,255,.2);
}

.astra-online-indicator{
  position:absolute;
  right:-1px;
  bottom:2px;
  width:11px;
  height:11px;
  border:3px solid #080e35;
  border-radius:50%;
  background:#36d76f;
  box-sizing:content-box;
  box-shadow:0 0 9px rgba(54,215,111,.55);
}

.astra-chat-identity{min-width:0;margin-left:12px}
.astra-chat-name{color:var(--chat-text);font-size:17px;font-weight:850;line-height:1.2}
.astra-chat-subtitle{margin-top:3px;color:var(--chat-muted);font-size:12px;font-weight:650}

.chat-messages{
  flex:1 1 auto;
  min-height:0;
  display:block;
  padding:16px 14px 22px;
  overflow-y:auto;
  overscroll-behavior:contain;
  scroll-padding-bottom:24px;
  scrollbar-width:thin;
  scrollbar-color:rgba(142,153,231,.25) transparent;
}

.chat-messages::-webkit-scrollbar{width:4px}
.chat-messages::-webkit-scrollbar-track{background:transparent}
.chat-messages::-webkit-scrollbar-thumb{border-radius:9px;background:rgba(142,153,231,.25)}

.chat-date-divider{
  display:flex;
  align-items:center;
  gap:12px;
  margin:5px 4px 18px;
  color:rgba(158,169,219,.62);
  font-size:11px;
  font-weight:750;
}
.chat-date-divider::before,.chat-date-divider::after{
  content:"";
  height:1px;
  flex:1;
  background:linear-gradient(90deg,transparent,rgba(137,150,217,.18));
}
.chat-date-divider::after{background:linear-gradient(90deg,rgba(137,150,217,.18),transparent)}

.chat-message-row{
  display:flex;
  align-items:flex-end;
  gap:8px;
  width:100%;
  margin:0 0 14px;
  animation:chat-message-in .24s ease-out both;
}
.chat-message-row--user{justify-content:flex-end}
.chat-message-row--assistant{justify-content:flex-start}
.chat-message-column{display:flex;min-width:0;max-width:82%;flex-direction:column}
.chat-message-row--assistant .chat-message-column{max-width:86%}
.chat-bubble{
  padding:12px 15px;
  color:var(--chat-text);
  font-size:15px;
  line-height:1.48;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.chat-bubble--user{
  border-radius:22px 22px 7px 22px;
  background:linear-gradient(135deg,var(--chat-user-start),var(--chat-user-end));
  box-shadow:0 10px 24px rgba(58,64,217,.2),inset 0 1px rgba(255,255,255,.15);
}
.chat-bubble--assistant{
  border:1px solid var(--chat-border);
  border-radius:22px 22px 22px 7px;
  background:linear-gradient(145deg,rgba(30,43,119,.94),rgba(19,29,84,.94));
  box-shadow:0 12px 28px rgba(0,3,24,.22),inset 0 1px rgba(255,255,255,.035);
}
.chat-message-meta{
  display:flex;
  gap:5px;
  align-items:center;
  min-height:16px;
  margin:4px 5px 0;
  color:rgba(157,168,216,.68);
  font-size:10px;
  line-height:1;
}
.chat-message-meta--user{align-self:flex-end}
.chat-message-checks{color:#7381ff;font-weight:900;letter-spacing:-2px}
.chat-message-state{color:var(--chat-muted)}
.chat-message-state--error{color:#ff9db3}

.chat-status{
  display:flex;
  justify-self:auto;
  align-items:center;
  width:max-content;
  margin:2px 0 14px;
  padding:12px 15px;
  border:1px solid var(--chat-border);
  border-radius:19px 19px 19px 7px;
  background:var(--chat-assistant);
  color:var(--chat-muted);
}
.chat-status:after{display:none}
.chat-typing-dot{
  width:5px;
  height:5px;
  margin:0 2px;
  border-radius:50%;
  background:#b9c1ef;
  animation:chat-typing 1.1s infinite ease-in-out;
}
.chat-typing-dot:nth-child(2){animation-delay:.16s}
.chat-typing-dot:nth-child(3){animation-delay:.32s}

.chat-history-loader{
  display:grid;
  gap:9px;
  padding:8px 8px 18px;
}
.chat-history-loader i{
  display:block;
  width:68%;
  height:54px;
  border-radius:20px;
  background:linear-gradient(90deg,rgba(37,48,119,.42),rgba(69,78,158,.62),rgba(37,48,119,.42));
  background-size:220% 100%;
  animation:chat-skeleton 1.25s linear infinite;
}
.chat-history-loader i:nth-child(2){width:55%;justify-self:end}

.chat-welcome{margin-top:8px}
.chat-inline-error{display:flex;align-items:center;gap:8px;margin-top:5px}
.chat-inline-error .chat-retry{padding:5px 9px;font-size:10px}

.chat-scroll-down{
  position:absolute;
  right:18px;
  bottom:112px;
  z-index:4;
  display:grid;
  place-items:center;
  width:38px;
  height:38px;
  border:1px solid rgba(144,155,255,.24);
  border-radius:50%;
  color:#fff;
  background:rgba(28,39,106,.94);
  box-shadow:0 8px 24px rgba(0,3,25,.35);
}
.chat-scroll-down.hidden{display:none}
.chat-scroll-down svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.chat-composer-area{
  flex:0 0 auto;
  padding:8px 12px calc(10px + env(safe-area-inset-bottom));
  border-top:1px solid rgba(137,149,223,.1);
  background:linear-gradient(180deg,rgba(3,8,32,.72),rgba(3,8,32,.97) 35%);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  z-index:3;
}
#chatAccessSlot:empty{display:none}
#chatAccessSlot .chat-access-card{
  gap:6px;
  margin:0 2px 8px;
  padding:12px 14px;
  border-radius:16px;
}
#chatAccessSlot .chat-access-card h4{font-size:15px}
#chatAccessSlot .chat-access-card p{font-size:12px}
#chatAccessSlot .chat-access-card small{display:none}
#chatAccessSlot .chat-access-card .primary{min-height:40px;font-size:12px}
.chat-form{display:block;margin:0}
.chat-limit-indicator{
  display:flex;
  align-items:center;
  min-height:20px;
  padding:0 8px 7px;
  color:rgba(158,169,219,.72);
  font-size:11px;
  font-weight:650;
}
.chat-limit-indicator::before{
  content:"";
  width:13px;
  height:10px;
  margin-right:7px;
  border:1.5px solid currentColor;
  border-radius:6px;
  opacity:.8;
}
.chat-limit-indicator[hidden]{display:none}
.chat-composer-row{display:flex;align-items:flex-end;gap:9px}
.chat-input{
  flex:1 1 auto;
  min-width:0;
  min-height:54px;
  max-height:132px;
  resize:none;
  overflow-y:auto;
  box-sizing:border-box;
  padding:16px 18px;
  border:1px solid rgba(137,149,223,.2);
  border-radius:28px;
  outline:none;
  color:var(--chat-text);
  background:rgba(20,30,82,.72);
  font:inherit;
  font-size:15px;
  line-height:1.4;
  transition:border-color .2s,box-shadow .2s,background .2s;
}
.chat-input::placeholder{color:rgba(158,169,219,.64)}
.chat-input:focus{border-color:rgba(111,117,255,.65);box-shadow:0 0 0 3px rgba(91,96,255,.13)}
.chat-input:disabled{opacity:.65;cursor:not-allowed}
.chat-send-button{
  flex:0 0 54px;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  padding:0;
  border-radius:50%;
  color:white;
  background:linear-gradient(145deg,#6e6bff,#4054f6);
  box-shadow:0 8px 24px rgba(67,74,240,.35),inset 0 1px rgba(255,255,255,.2);
  transition:transform .15s,opacity .2s,filter .2s;
}
.chat-send-button svg{width:24px;height:24px;fill:currentColor}
.chat-send-button:active:not(:disabled){transform:scale(.93)}
.chat-send-button:disabled{opacity:.36;filter:saturate(.55);cursor:default;box-shadow:none}
.chat-send-button:focus-visible,.chat-scroll-down:focus-visible,.chat-retry:focus-visible{
  outline:2px solid #aeb4ff;
  outline-offset:3px;
}

@keyframes chat-message-in{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
@keyframes chat-typing{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes chat-skeleton{to{background-position:-220% 0}}

@media(max-width:359px){
  .astra-chat-header{padding-inline:12px}
  .chat-messages{padding-inline:10px}
  .chat-message-column{max-width:84%}
  .chat-message-row--assistant .chat-message-column{max-width:88%}
  .chat-bubble{padding:11px 13px;font-size:14px}
  .chat-composer-area{padding-inline:9px}
  .chat-send-button{flex-basis:52px;width:52px;height:52px}
}

@media(prefers-reduced-motion:reduce){
  .chat-message-row,.chat-typing-dot,.chat-history-loader i{animation:none}
  .chat-send-button{transition:none}
}

/* destiny matrix */
.destiny-premium{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  display:grid;
  gap:14px;
  padding-bottom:4px;
}

.destiny-premium--empty{
  gap:0;
}

.destiny-matrix-visual,
.destiny-periods-card,
.destiny-period-card,
.destiny-soon-card,
.destiny-timeline-card,
.destiny-sphere-card,
.destiny-advice,
.destiny-empty{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  border-radius:24px;
  background:
    radial-gradient(circle at top, rgba(122,101,255,.18), transparent 46%),
    linear-gradient(180deg, rgba(34,27,79,.84), rgba(13,15,42,.94));
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 20px 42px rgba(5,7,22,.22), inset 0 1px 0 rgba(255,255,255,.05);
}

.destiny-matrix-visual{
  padding:2px 0 0;
  overflow:hidden;
  gap:12px;
  display:grid;
  background:none;
  border:0;
  box-shadow:none;
}

.destiny-matrix-svg{
  width:100%;
  height:auto;
  display:block;
  overflow:visible;
  filter:drop-shadow(0 24px 44px rgba(10,12,36,.16));
}

#profileToolsAccordion [data-tool-accordion="matrix"] .destiny-matrix-svg{
  width:min(100%, 320px);
  justify-self:center;
}

.destiny-matrix-frame{
  fill:rgba(255,255,255,.018);
  stroke:rgba(176,188,255,.22);
  stroke-width:1.15;
  stroke-dasharray:820;
  stroke-dashoffset:0;
}

.destiny-matrix-ring{
  fill:none;
  stroke:rgba(176,188,255,.12);
  stroke-width:1;
  stroke-dasharray:520;
  stroke-dashoffset:0;
}

.destiny-matrix-ring--inner{
  stroke:rgba(176,188,255,.08);
  stroke-dasharray:305;
}

.destiny-matrix-axis{
  stroke:rgba(176,188,255,.18);
  stroke-width:1.1;
  stroke-dasharray:236;
  stroke-dashoffset:0;
}

.destiny-matrix-diagonal{
  stroke:rgba(162,136,255,.16);
  stroke-width:.95;
  stroke-dasharray:4 6, 250;
  stroke-dashoffset:0;
}

.destiny-matrix-node-group{
  pointer-events:none;
  opacity:1;
  transform-origin:160px 160px;
  transform:scale(1);
  transition:
    opacity .26s ease var(--matrix-delay, 0s),
    transform .42s cubic-bezier(.22,1,.36,1) var(--matrix-delay, 0s);
}

.destiny-matrix-node,
.destiny-matrix-core{
  stroke:rgba(255,255,255,.1);
  stroke-width:1.2;
  transition:
    opacity .26s ease var(--matrix-delay, 0s),
    transform .42s cubic-bezier(.22,1,.36,1) var(--matrix-delay, 0s);
}

.destiny-matrix-node--primary{
  fill:rgba(255,255,255,.065);
  filter:drop-shadow(0 0 14px rgba(106,102,255,.18));
}

.destiny-matrix-node--secondary{
  fill:rgba(255,255,255,.038);
}

.destiny-matrix-core{
  fill:url(#destinyMatrixCoreGlow);
  filter:drop-shadow(0 0 28px rgba(126,106,255,.28));
}

.destiny-matrix-node__text,
.destiny-matrix-core__text{
  fill:#fff;
  font-weight:800;
  dominant-baseline:middle;
  transition:
    opacity .26s ease var(--matrix-delay, 0s),
    transform .42s cubic-bezier(.22,1,.36,1) var(--matrix-delay, 0s);
}

.destiny-matrix-node__text{
  font-size:17px;
}

.destiny-matrix-core__text{
  font-size:30px;
}

.destiny-matrix-caption,
.destiny-period-card__eyebrow,
.destiny-soon-card__eyebrow,
.destiny-timeline-card__head span,
.destiny-empty__copy span,
.destiny-sphere-card__head span{
  fill:rgba(229,232,255,.56);
  color:rgba(229,232,255,.56);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
}

.destiny-matrix-caption--soft{
  fill:rgba(240,242,255,.78);
  font-size:12px;
  letter-spacing:.02em;
  text-transform:none;
  font-weight:600;
}

.destiny-matrix-caption--core{
  transition:
    opacity .26s ease .24s,
    transform .42s cubic-bezier(.22,1,.36,1) .24s;
}

.destiny-period-card,
.destiny-periods-card,
.destiny-soon-card,
.destiny-timeline-card,
.destiny-advice,
.destiny-empty{
  padding:18px;
  display:grid;
  gap:10px;
}

.destiny-period-card h4,
.destiny-periods-header h4,
.destiny-soon-card h4,
.destiny-advice h4,
.destiny-empty h4{
  margin:0;
  color:#fff;
  font-size:25px;
  line-height:1.08;
}

.destiny-period-card p,
.destiny-periods-header p,
.destiny-soon-card p,
.destiny-timeline-item p,
.destiny-sphere-card p,
.destiny-advice__item p,
.destiny-empty p{
  margin:0;
  color:rgba(242,243,255,.84);
  line-height:1.58;
}

.destiny-periods-card{
  width:100%;
  box-sizing:border-box;
  display:grid;
  gap:12px;
  overflow:hidden;
  padding:2px 0 0;
}

.destiny-periods-card--empty{
  padding:0;
}

.destiny-inner-accordion{
  width:100%;
  box-sizing:border-box;
  border-radius:18px;
  background:rgba(8,12,30,.38);
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;
  transition:
    background .38s ease,
    border-color .38s ease,
    box-shadow .42s cubic-bezier(.22,1,.36,1),
    transform .42s cubic-bezier(.22,1,.36,1);
}

.destiny-inner-accordion.is-open{
  background:rgba(12,16,38,.52);
  border-color:rgba(255,255,255,.075);
  box-shadow:0 12px 28px rgba(5,8,22,.2);
  transform:translateY(-1px);
}

.destiny-inner-accordion-header{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  padding:14px 16px;
  background:none;
  border:0;
  color:inherit;
  text-align:left;
  transition:background .32s ease, padding .34s cubic-bezier(.22,1,.36,1);
}

.destiny-inner-accordion.is-open .destiny-inner-accordion-header{
  background:linear-gradient(180deg, rgba(255,255,255,.028), rgba(255,255,255,0));
}

.destiny-inner-accordion-copy{
  display:grid;
  gap:4px;
  min-width:0;
}

.destiny-inner-accordion-title{
  display:block;
  font-size:15px;
  font-weight:700;
  color:#fff;
  line-height:1.25;
  transition:color .32s ease, transform .38s cubic-bezier(.22,1,.36,1);
}

.destiny-inner-accordion.is-open .destiny-inner-accordion-title{
  color:#f7f3ff;
  transform:translateY(1px);
}

.destiny-inner-accordion-subtitle{
  display:block;
  color:rgba(229,232,255,.68);
  font-size:12px;
  line-height:1.45;
}

.destiny-inner-accordion-arrow{
  flex:0 0 auto;
  color:rgba(228,230,255,.54);
  font-size:15px;
  line-height:1;
  transition:transform .34s cubic-bezier(.22,1,.36,1), color .32s ease;
}

.destiny-inner-accordion.is-open .destiny-inner-accordion-arrow{
  transform:rotate(180deg);
}

.destiny-inner-accordion-content{
  display:grid;
  gap:10px;
  max-height:0;
  opacity:0;
  overflow:hidden;
  transform:translateY(-8px);
  padding:0 16px 0;
  pointer-events:none;
  transition:
    max-height .38s cubic-bezier(.22,1,.36,1),
    opacity .24s ease,
    transform .32s cubic-bezier(.22,1,.36,1),
    padding .28s cubic-bezier(.22,1,.36,1);
}

.destiny-inner-accordion.is-open .destiny-inner-accordion-content{
  max-height:2600px;
  opacity:1;
  transform:translateY(0);
  padding:0 16px 14px;
  pointer-events:auto;
}

.destiny-energy-list,
.destiny-lines-list{
  width:100%;
  display:grid;
  gap:0;
}

.destiny-lines-content{
  display:grid;
  gap:0;
}

.destiny-energy-row,
.destiny-line-row{
  width:100%;
  box-sizing:border-box;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  min-height:64px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}

.destiny-energy-row:last-child,
.destiny-line-row:last-child{
  border-bottom:0;
}

.destiny-line-row{
  min-width:0;
}

.destiny-energy-row div{
  display:flex;
  justify-content:space-between;
  gap:10px;
  color:#fff;
  align-items:center;
  min-width:0;
}

.destiny-energy-name{
  min-width:0;
  flex:1 1 auto;
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
  margin:0;
}

.destiny-energy-value{
  min-width:0;
  flex:0 1 auto;
  margin-left:auto;
  color:rgba(228,230,255,.66);
  font-size:15px;
  line-height:1.25;
  font-weight:500;
  text-align:right;
  overflow-wrap:anywhere;
}

.destiny-line-title{
  min-width:0;
  flex:1 1 auto;
  color:#fff;
  font-size:15px;
  font-weight:700;
  line-height:1.25;
}

.destiny-line-numbers{
  min-width:0;
  flex:0 1 auto;
  color:rgba(228,230,255,.66);
  font-size:15px;
  line-height:1.25;
  font-weight:500;
  text-align:right;
  overflow-wrap:anywhere;
}

.destiny-lines-empty{
  width:100%;
  box-sizing:border-box;
  display:grid;
  gap:8px;
  padding:12px 13px;
  border-radius:14px;
  background:rgba(255,255,255,.035);
  border:1px solid rgba(255,255,255,.045);
}

.destiny-lines-empty h5{
  margin:0;
  color:#fff;
  font-size:15px;
  line-height:1.3;
}

.destiny-lines-empty p{
  margin:0;
  color:rgba(232,234,255,.72);
  font-size:13px;
  line-height:1.5;
}

.destiny-section-toggle{
  margin-top:12px;
  padding:0;
  border:0;
  background:none;
  color:#d9c7ff;
  font-weight:700;
  font-size:15px;
  line-height:1.25;
  text-align:left;
}

@media (max-width: 420px){
  .destiny-energy-row,
  .destiny-line-row{
    display:grid;
  }

  .destiny-energy-row div,
  .destiny-line-row{
    grid-template-columns:1fr;
    display:grid;
  }

  .destiny-energy-value,
  .destiny-line-numbers{
    text-align:left;
  }
}

.destiny-periods-header{
  display:grid;
  gap:8px;
}

.destiny-periods-carousel{
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  padding-bottom:2px;
}

.destiny-periods-carousel::-webkit-scrollbar{
  display:none;
}

.destiny-period-list{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:100%;
  gap:0;
  align-items:stretch;
}

.destiny-periods-overline{
  display:block;
  color:rgba(229,232,255,.56);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:700;
}

.destiny-periods-title{
  margin:0;
}

.destiny-periods-subtitle{
  margin:0;
}

.destiny-period-item{
  display:grid;
  grid-template-columns:60px minmax(0,1fr);
  gap:12px;
  align-items:stretch;
  width:100%;
  min-width:0;
  min-height:168px;
  padding:14px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(73,51,145,.44), rgba(24,20,65,.72));
  border:1px solid rgba(255,255,255,.07);
  scroll-snap-align:start;
  scroll-snap-stop:always;
  box-sizing:border-box;
  transition:
    transform .36s cubic-bezier(.22,1,.36,1),
    box-shadow .36s ease,
    border-color .32s ease,
    background .36s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
}

.destiny-period-item.is-current{
  background:linear-gradient(180deg, rgba(92,76,194,.4), rgba(29,23,74,.66));
  border-color:rgba(164,160,255,.26);
  box-shadow:0 0 28px rgba(117,98,255,.16);
}

.destiny-period-item:active{
  transform:scale(.992);
}

.destiny-period-number{
  width:60px;
  height:60px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:radial-gradient(circle at 50% 32%, rgba(255,255,255,.18), rgba(117,99,255,.2) 44%, rgba(36,28,92,.3) 100%);
  border:1px solid rgba(255,255,255,.08);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 8px 20px rgba(8,10,29,.24);
}

.destiny-period-item.is-current .destiny-period-number{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.1), 0 0 26px rgba(136,119,255,.24);
}

.destiny-period-number span{
  color:#fff;
  font-size:24px;
  line-height:1;
  font-weight:800;
}

.destiny-period-content{
  display:grid;
  gap:4px;
  min-width:0;
  align-content:start;
}

.destiny-period-label{
  color:#fff;
  font-size:14px;
  font-weight:800;
  letter-spacing:.01em;
}

.destiny-period-meta,
.destiny-period-heading{
  color:rgba(229,232,255,.7);
  font-size:12px;
  line-height:1.4;
}

.destiny-period-title{
  margin:1px 0 0;
  color:#fff;
  font-size:18px;
  line-height:1.18;
}

.destiny-period-text{
  margin:0;
  color:rgba(242,243,255,.84);
  line-height:1.45;
  overflow-wrap:anywhere;
}

.destiny-period-dots{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:8px;
  padding:2px 0 0;
}

.destiny-period-dot{
  width:8px;
  height:8px;
  border-radius:999px;
  border:0;
  padding:0;
  background:rgba(214,217,255,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  transition:
    transform .28s cubic-bezier(.22,1,.36,1),
    background .28s ease,
    box-shadow .28s ease,
    opacity .28s ease;
}

.destiny-period-dot.is-active{
  background:#cfc6ff;
  transform:scale(1.45);
  box-shadow:0 0 16px rgba(160,140,255,.42);
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-frame,
#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-ring,
#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-axis,
#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-diagonal{
  opacity:0;
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-frame{
  stroke-dashoffset:820;
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-ring{
  stroke-dashoffset:520;
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-ring--inner{
  stroke-dashoffset:305;
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-axis{
  stroke-dashoffset:236;
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-diagonal{
  stroke-dashoffset:250;
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-node-group{
  opacity:0;
  transform:scale(.82);
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-node,
#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-core,
#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-node__text,
#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-core__text,
#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-caption--core{
  opacity:0;
  transform:scale(.88);
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-visual__subtitle{
  opacity:0;
  transform:translateY(4px);
}

.destiny-matrix-visual__subtitle{
  display:grid;
  gap:4px;
  padding:0 8px;
  text-align:center;
  transition:opacity .28s ease, transform .42s cubic-bezier(.22,1,.36,1);
}

.destiny-matrix-visual__subtitle p{
  margin:0;
  color:rgba(235,236,255,.86);
  font-size:13px;
  line-height:1.55;
  font-weight:600;
}

.destiny-matrix-visual__meta{
  color:rgba(228,230,255,.58);
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1.4;
}

.destiny-matrix-visual__precision{
  color:rgba(235,236,255,.74);
  font-size:12px;
  line-height:1.4;
}

.destiny-matrix-stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:10px;
}

.destiny-matrix-stat{
  min-width:0;
  padding:14px;
  border-radius:18px;
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  display:grid;
  gap:6px;
  align-content:start;
  transition:
    opacity .28s ease,
    transform .42s cubic-bezier(.22,1,.36,1),
    border-color .32s ease,
    box-shadow .36s ease;
}

.destiny-matrix-stat small{
  display:block;
  color:rgba(228,230,255,.62);
  font-size:12px;
  line-height:1.3;
  margin-bottom:2px;
}

.destiny-matrix-stat strong{
  display:block;
  color:#fff;
  font-size:18px;
  line-height:1.25;
  font-weight:800;
}

.destiny-matrix-stat span{
  display:block;
  color:rgba(244,242,255,.96);
  font-size:18px;
  line-height:1.2;
  font-weight:800;
  overflow-wrap:anywhere;
}

.destiny-personal-insight{
  display:grid;
  gap:12px;
  padding:16px;
  border-radius:18px;
  background:linear-gradient(180deg, rgba(73,42,131,.52) 0%, rgba(34,24,78,.72) 100%);
  border:1px solid rgba(255,255,255,.06);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04);
  transition:opacity .28s ease, transform .42s cubic-bezier(.22,1,.36,1);
}

.destiny-personal-overline{
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:rgba(228,230,255,.58);
}

.destiny-personal-title{
  margin:0;
  font-size:18px;
  color:#fff;
  line-height:1.1;
}

.destiny-personal-text{
  margin:0;
  color:rgba(244,242,255,.84);
  font-size:14px;
  line-height:1.55;
}

.destiny-personal-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}

.destiny-personal-tag{
  padding:8px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.06);
  color:rgba(244,242,255,.86);
  font-size:12px;
  line-height:1.35;
}

.destiny-personal-based{
  color:rgba(228,230,255,.62);
  font-size:12px;
  line-height:1.45;
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-matrix-stat{
  opacity:0;
  transform:translateY(10px) scale(.96);
}

#profileToolsAccordion [data-tool-accordion="matrix"]:not(.open) .destiny-personal-insight{
  opacity:0;
  transform:translateY(10px) scale(.98);
}

#profileToolsAccordion [data-tool-accordion="matrix"] .destiny-matrix-stat:nth-child(1){
  transition-delay:.14s;
}

#profileToolsAccordion [data-tool-accordion="matrix"] .destiny-matrix-stat:nth-child(2){
  transition-delay:.22s;
}

#profileToolsAccordion [data-tool-accordion="matrix"] .destiny-matrix-stat:nth-child(3){
  transition-delay:.3s;
}

.destiny-soon-card{
  position:relative;
}

.destiny-soon-card::after{
  content:"";
  position:absolute;
  inset:auto 18px 0 18px;
  height:1px;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(178,168,255,.28), rgba(255,255,255,0));
}

.destiny-timeline{
  display:grid;
  gap:10px;
}

.destiny-timeline-item{
  display:grid;
  grid-template-columns:14px minmax(0,1fr);
  gap:12px;
  align-items:start;
  padding:12px 10px;
  border-radius:18px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.05);
}

.destiny-timeline-item__line{
  position:relative;
  width:14px;
  min-height:56px;
}

.destiny-timeline-item__line::before{
  content:"";
  position:absolute;
  left:50%;
  top:4px;
  bottom:4px;
  width:1px;
  transform:translateX(-50%);
  background:linear-gradient(180deg, rgba(183,192,255,.12), rgba(183,192,255,.48), rgba(183,192,255,.12));
}

.destiny-timeline-item__line::after{
  content:"";
  position:absolute;
  left:50%;
  top:0;
  width:10px;
  height:10px;
  border-radius:50%;
  transform:translateX(-50%);
  background:rgba(217,222,255,.42);
  box-shadow:0 0 0 4px rgba(255,255,255,.04);
}

.destiny-timeline-item__copy{
  display:grid;
  gap:4px;
}

.destiny-timeline-item__copy small{
  color:rgba(229,232,255,.58);
  font-size:12px;
}

.destiny-timeline-item__copy strong{
  color:#fff;
  font-size:18px;
  line-height:1.2;
}

.destiny-timeline-item.is-active{
  background:linear-gradient(180deg, rgba(92,76,194,.28), rgba(29,23,74,.48));
  border-color:rgba(164,160,255,.22);
  box-shadow:0 0 26px rgba(117,98,255,.14);
}

.destiny-timeline-item.is-active .destiny-timeline-item__line::after{
  background:#d3cbff;
  box-shadow:0 0 0 4px rgba(150,128,255,.14), 0 0 20px rgba(177,163,255,.32);
}

.destiny-sphere-grid{
  width:100%;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.destiny-sphere-card{
  padding:16px;
  display:grid;
  gap:10px;
}

.destiny-sphere-card__head{
  display:grid;
  gap:4px;
}

.destiny-sphere-card__head strong{
  color:#fff;
  font-size:20px;
  line-height:1.2;
}

.destiny-advice__list{
  display:grid;
  gap:10px;
}

.destiny-advice__item{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
}

.destiny-advice__item span{
  color:#d8cfff;
  font-size:14px;
  padding-top:3px;
}

.destiny-based-on{
  color:rgba(229,232,255,.6);
  font-size:12px;
  line-height:1.45;
  padding:0 2px;
}

.destiny-empty{
  gap:14px;
}

.destiny-empty__copy{
  display:grid;
  gap:8px;
}

.destiny-empty__cta{
  justify-self:start;
}

@media (min-width:720px){
  .destiny-sphere-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:420px){
  .destiny-matrix-visual{
    padding:2px 0 0;
  }

  .destiny-matrix-node__text{
    font-size:15px;
  }

  .destiny-matrix-core__text{
    font-size:27px;
  }

  .destiny-matrix-caption{
    font-size:9px;
  }

  .destiny-matrix-stats{
    grid-template-columns:1fr;
  }

  .destiny-matrix-stat strong{
    font-size:17px;
  }

  .destiny-matrix-stat span{
    font-size:17px;
  }

  .destiny-period-item{
    grid-template-columns:52px minmax(0,1fr);
    gap:10px;
    min-height:158px;
    padding:12px;
  }

  .destiny-period-number{
    width:52px;
    height:52px;
  }

  .destiny-period-number span{
    font-size:21px;
  }

  .destiny-period-title{
    font-size:17px;
  }
}

/* Compatibility conversion result */
.compat-conversion-view{
  --compat-accent:#7d75ff;
  display:grid;
  gap:24px;
  padding:14px 14px calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 92px);
  background:
    radial-gradient(circle at 50% 8%,rgba(100,82,232,.2),transparent 24%),
    var(--bg);
}
.compat-conversion-view>section{animation:compat-conversion-in .45s ease both}
.compat-conversion-view>section>small{
  display:block;
  margin-bottom:7px;
  color:#9da8dc;
  font-size:11px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.compat-conversion-view h2{font-size:25px;line-height:1.12}
.compat-conversion-hero{text-align:center;padding:4px 6px 2px}
.compat-conversion-pair{display:flex;align-items:center;justify-content:center;margin:2px 0 22px}
.compat-conversion-pair>div{display:grid;justify-items:center;gap:6px;min-width:88px}
.compat-conversion-pair span{
  display:grid;
  place-items:center;
  width:62px;
  height:62px;
  border:1px solid rgba(165,153,255,.34);
  border-radius:50%;
  color:#fff;
  background:radial-gradient(circle at 35% 28%,#7885ff,#312472 66%,#121842);
  box-shadow:0 0 25px rgba(99,82,238,.28);
  font-size:29px;
}
.compat-conversion-pair small{max-width:100px;color:#cbd1f1;font-weight:750;overflow-wrap:anywhere}
.compat-conversion-pair>i{width:68px;height:1px;background:linear-gradient(90deg,#756cff,#c097ff,#756cff);box-shadow:0 0 12px #756cff}
.compat-conversion-hero>h1{max-width:560px;margin:0 auto 18px;font-size:clamp(27px,8vw,38px);line-height:1.08}
.compat-conversion-score{
  width:150px;
  height:150px;
  margin:0 auto 15px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:
    radial-gradient(circle,#151c54 61%,transparent 63%),
    conic-gradient(from -90deg,#6b71ff calc(var(--compat-score,78)*1%),rgba(137,148,214,.13) 0);
  box-shadow:0 0 42px rgba(92,80,231,.22);
  animation:compat-score-reveal .7s ease-out;
}
.compat-conversion-score strong{font-size:38px}
.compat-conversion-hero>h2{max-width:540px;margin:auto}
.compat-conversion-hero>p{max-width:600px;margin:10px auto;color:#bdc5e8;line-height:1.48}
.compat-conversion-hero>em{display:block;margin-top:10px;color:#8792c5;font-size:11px;font-style:normal}
.compat-conversion-teaser{padding:2px 7px}
.compat-conversion-teaser p{color:#e6e8fa;font-size:18px;line-height:1.5}
.compat-conversion-teaser strong{display:block;margin-top:12px;color:#aca7ff;font-size:15px;line-height:1.4}
.compat-conversion-transition{margin:-6px 7px 0;color:#aaa5df;font-size:14px;line-height:1.5}
.compat-conversion-insight,.compat-conversion-node,.compat-conversion-partner,.compat-conversion-value{
  padding:22px;
  border:1px solid rgba(151,145,255,.14);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(37,34,88,.88),rgba(17,22,61,.92));
}
.compat-conversion-insight{border-color:rgba(118,212,207,.18);background:linear-gradient(145deg,rgba(29,55,92,.88),rgba(18,27,66,.94))}
.compat-conversion-insight p,.compat-conversion-node>p,.compat-conversion-partner>p{margin-top:11px;color:#d1d6ef;line-height:1.5}
.compat-conversion-insight>strong{display:block;margin-top:15px;padding-left:12px;border-left:2px solid #73d7d0;color:#bff3eb;line-height:1.42}
.compat-conversion-subtitle{color:#9da7d4!important;font-size:13px}
.compat-full-reveal,.compat-category-full{margin-top:13px;color:#d6daf0;line-height:1.48;animation:compat-unlock-in .38s ease both}
.compat-conversion-section{padding:0 2px}
.compat-conversion-section>h2{margin-bottom:14px}
.compat-conversion-categories{display:grid;gap:11px}
.compat-conversion-category{
  padding:17px;
  border:1px solid rgba(148,157,223,.12);
  border-radius:21px;
  background:rgba(26,32,80,.76);
}
.compat-conversion-category header{display:flex;align-items:center;justify-content:space-between}
.compat-conversion-category header>div{display:flex;align-items:baseline;gap:10px}
.compat-conversion-category header small{color:#c9cfee;font-weight:800}
.compat-conversion-category header strong{font-size:18px}
.compat-conversion-category header>span{color:#aaa5ff}
.compat-conversion-progress{height:5px;margin:12px 0;border-radius:9px;background:rgba(255,255,255,.08);overflow:hidden}
.compat-conversion-progress i{display:block;width:var(--compat-category-score);height:100%;border-radius:inherit;background:linear-gradient(90deg,#6870ff,#a583ff);animation:compat-progress-in .7s ease-out}
.compat-conversion-category>p{color:#bfc6e7;font-size:14px;line-height:1.45}
.compatibility-locked-content{position:relative;min-height:92px;margin-top:12px;overflow:hidden;border-radius:16px}
.compatibility-locked-preview{display:grid;gap:8px;padding:9px 6px;filter:blur(10px);opacity:.52;mask-image:linear-gradient(#000 20%,transparent)}
.compatibility-locked-preview i{display:block;width:100%;height:10px;border-radius:8px;background:rgba(199,204,255,.3)}
.compatibility-locked-preview i:nth-child(2){width:83%}
.compatibility-locked-preview i:nth-child(3){width:65%}
.compatibility-lock-overlay{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  color:#e9eaff;
  background:linear-gradient(transparent,rgba(16,21,61,.72));
}
.compatibility-lock-overlay span{font-size:20px;color:#a9a4ff}
.compatibility-lock-overlay strong{max-width:260px;text-align:center;font-size:12px}
.compatibility-lock-overlay:focus-visible{outline:2px solid #b8b4ff;outline-offset:-3px}
.compat-conversion-partner>em{display:block;margin-top:13px;color:#8994c6;font-size:11px;font-style:normal;line-height:1.4}
.compat-conversion-timeline{display:grid;gap:0;list-style:none}
.compat-conversion-timeline li{position:relative;display:grid;grid-template-columns:34px 1fr;gap:10px;min-height:70px}
.compat-conversion-timeline li:not(:last-child)::after{content:"";position:absolute;left:16px;top:33px;bottom:0;width:1px;background:rgba(139,148,219,.22)}
.compat-conversion-timeline li>span{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:white;background:#6269e8;font-size:12px;font-weight:850}
.compat-conversion-timeline li.is-locked>span{background:rgba(76,85,142,.55);color:#a6afd9}
.compat-conversion-timeline strong{display:block;padding-top:5px}
.compat-conversion-timeline p{margin-top:5px;color:#b9c1e2;font-size:13px;line-height:1.42}
.compat-conversion-timeline small{display:block;margin-top:5px;color:#8792c4}
.compat-active-recommendations{display:grid;gap:10px}
.compat-active-recommendations article{padding:17px;border:1px solid rgba(148,157,223,.12);border-radius:20px;background:rgba(26,32,80,.72)}
.compat-active-recommendations h3{font-size:16px}
.compat-active-recommendations p{margin-top:6px;color:#bdc5e7;font-size:14px;line-height:1.45}
.compat-conversion-view.is-active{padding-bottom:calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 28px)}
@keyframes compat-conversion-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes compat-score-reveal{from{opacity:.2;transform:scale(.9)}to{opacity:1;transform:none}}
@keyframes compat-progress-in{from{width:0}}
@keyframes compat-unlock-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@media(max-width:359px){
  .compat-conversion-view{padding-inline:10px}
  .compat-conversion-insight,.compat-conversion-node,.compat-conversion-partner,.compat-conversion-value{padding:19px 17px}
  .compat-conversion-hero>h1{font-size:26px}
  .compat-conversion-score{width:132px;height:132px}
}
@media(min-width:600px){
  .compat-conversion-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
  .compat-conversion-view{max-width:720px;margin:auto}
}
@media(prefers-reduced-motion:reduce){
  .compat-conversion-view>section,.compat-conversion-score,.compat-conversion-progress i,.compat-full-reveal,.compat-category-full{animation:none}
}

/* Premium compatibility reading */
.compat-conversion-view{
  --compat-surface:linear-gradient(145deg,rgba(27,34,87,.9),rgba(10,15,49,.96));
  gap:20px;
  padding:0 14px calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 96px);
  background:
    radial-gradient(circle at 50% 4%,rgba(104,79,246,.24),transparent 25%),
    radial-gradient(circle at 95% 28%,rgba(47,163,255,.1),transparent 22%),
    linear-gradient(180deg,#070d2c,#05091f 52%,#070b27);
}
.compat-icon{display:block;width:22px;height:22px;flex:0 0 auto}
.compat-result-topbar{
  position:sticky;
  top:0;
  z-index:12;
  display:grid;
  grid-template-columns:44px 1fr 44px;
  align-items:center;
  min-height:62px;
  margin:0 -14px;
  padding:env(safe-area-inset-top) 14px 0;
  border-bottom:1px solid rgba(162,154,255,.12);
  background:rgba(6,11,38,.84);
  backdrop-filter:blur(18px);
}
.compat-result-topbar>strong{text-align:center;font-size:17px}
.compat-result-back{
  width:40px;height:40px;display:grid;place-items:center;border-radius:14px;
  color:#eef0ff;background:rgba(255,255,255,.06)
}
.compat-result-back .compat-icon{transform:rotate(180deg)}
.compat-conversion-hero{
  position:relative;
  min-height:210px;
  margin:0 -14px -4px;
  padding:28px 18px 18px;
  overflow:hidden;
}
.compat-conversion-hero::before,.compat-conversion-hero::after{
  content:"";position:absolute;border:1px solid rgba(147,137,255,.13);border-radius:50%;pointer-events:none
}
.compat-conversion-hero::before{width:330px;height:130px;left:50%;top:33px;transform:translateX(-50%) rotate(-8deg)}
.compat-conversion-hero::after{width:250px;height:155px;left:50%;top:19px;transform:translateX(-50%) rotate(12deg)}
.compat-conversion-pair{position:relative;z-index:1;gap:6px;margin:0}
.compat-conversion-pair>div{min-width:104px;gap:5px}
.compat-conversion-pair span{
  width:92px;height:92px;border:2px solid transparent;
  background:
    radial-gradient(circle at 35% 28%,#9aa6ff,#342579 64%,#10163c) padding-box,
    linear-gradient(135deg,#7be2ff,#8a72ff,#d39aff) border-box;
  box-shadow:0 0 34px rgba(104,81,242,.32);
  font-size:39px;animation:compat-avatar-in .6s ease both
}
.compat-conversion-pair>div:nth-child(3) span{animation-delay:.12s}
.compat-conversion-pair strong{max-width:110px;color:#f7f7ff;font-size:15px;overflow-wrap:anywhere}
.compat-conversion-pair small{font-size:11px;color:#939dcc}
.compat-conversion-pair>i{
  position:relative;width:58px;height:58px;display:grid;place-items:center;border:0;border-radius:50%;
  color:#b9a9ff;background:radial-gradient(circle,rgba(135,104,255,.25),transparent 67%);
  box-shadow:none;animation:compat-orbit-in .8s .2s ease both
}
.compat-conversion-pair>i::before{content:"";position:absolute;left:-28px;right:-28px;top:50%;height:1px;background:linear-gradient(90deg,transparent,#8d7eff,transparent);z-index:-1}
.compat-overall-card,.compat-analysis-card,.compat-factor-card,.compat-conversion-main-cta{
  border:1px solid rgba(150,144,255,.16);background:var(--compat-surface);box-shadow:inset 0 1px rgba(255,255,255,.035),0 18px 42px rgba(0,0,20,.16)
}
.compat-overall-card{padding:22px;border-radius:28px}
.compat-overall-card>small,.compat-conversion-main-cta>small{color:#a5a8d3;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.compat-overall-card>h1{margin-top:5px;font-size:25px}
.compat-overall-layout{display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:center;margin:20px 0}
.compat-overall-layout .compat-conversion-score{width:116px;height:116px;margin:0}
.compat-overall-layout .compat-conversion-score strong{font-size:29px}
.compat-overall-layout h2{font-size:20px}
.compat-overall-layout p{margin-top:7px;color:#bac2e5;font-size:13px;line-height:1.45}
.compat-overall-card>em{display:block;margin-top:15px;color:#7f89b9;font-size:10px;font-style:normal;text-align:center}
.compat-overall-card .compat-conversion-categories{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.compat-overall-card .compat-conversion-category{padding:11px 12px;border-radius:16px;background:rgba(255,255,255,.035)}
.compat-overall-card .compat-conversion-category header small{font-size:11px}
.compat-overall-card .compat-conversion-category header strong{font-size:13px}
.compat-overall-card .compat-conversion-category header>.compat-icon{width:13px;height:13px;color:#8984d9}
.compat-overall-card .compat-conversion-progress{height:4px;margin:8px 0 0}
.compat-overall-card .compat-conversion-categories{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.compat-overall-card .compatibility-metric-card{
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-width:0;
  min-height:70px;
  padding:12px 14px;
  border-radius:18px;
  box-sizing:border-box;
}
.compatibility-metric-header{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  min-width:0;
  min-height:20px;
}
.compat-overall-card .compatibility-metric-title{
  min-width:0;
  color:#c9cfee;
  font-size:15px;
  font-weight:700;
  line-height:1.12;
  overflow-wrap:normal;
  word-break:normal;
  hyphens:none;
}
.compat-overall-card .compatibility-metric-value{
  flex:0 0 auto;
  color:#fff;
  font-size:19px;
  font-weight:800;
  line-height:1.05;
  white-space:nowrap;
  text-align:right;
}
.compat-overall-card .compatibility-metric-progress{
  width:100%;
  min-width:0;
  height:5px;
  margin:9px 0 0;
  overflow:hidden;
  box-sizing:border-box;
}
.compat-conversion-insight,.compat-conversion-node,.compat-conversion-partner,.compat-conversion-value{
  position:relative;padding:23px;border-radius:27px;background:var(--compat-surface);overflow:hidden
}
.compat-conversion-insight{
  border-color:rgba(91,217,213,.24);
  background:radial-gradient(circle at 100% 0,rgba(87,213,216,.15),transparent 35%),linear-gradient(145deg,rgba(24,59,91,.94),rgba(18,25,67,.96))
}
.compat-conversion-insight>small{display:flex!important;align-items:center;gap:6px}
.compat-conversion-insight>small .compat-icon{width:15px;height:15px}
.compat-conversion-transition{margin:2px 10px;padding-left:14px;border-left:2px solid rgba(152,126,255,.65);font-size:15px;color:#c5c3ec}
.compat-analysis-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  width:100%;
  min-width:0;
}
.relationship-accordion{
  width:100%;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(150,144,255,.16);
  border-radius:22px;
  background:linear-gradient(145deg,rgba(27,34,87,.9),rgba(10,15,49,.96));
  box-shadow:inset 0 1px rgba(255,255,255,.035),0 14px 34px rgba(0,0,20,.13);
}
.relationship-accordion-trigger{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 24px;
  align-items:center;
  gap:13px;
  width:100%;
  min-width:0;
  min-height:82px;
  padding:16px 18px;
  color:#f7f7ff;
  text-align:left;
}
.relationship-accordion-trigger:focus-visible{
  outline:2px solid #aaa2ff;
  outline-offset:-3px;
  border-radius:21px;
}
.relationship-accordion-trigger:disabled{opacity:.76}
.relationship-accordion-icon{
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:14px;
  color:#b8adff;
  background:rgba(125,108,255,.12);
}
.relationship-accordion-icon .compat-icon{width:23px;height:23px}
.relationship-accordion-heading{display:grid;gap:4px;min-width:0}
.relationship-accordion-title{font-size:19px;line-height:1.15}
.relationship-accordion-subtitle{
  display:-webkit-box;
  min-width:0;
  overflow:hidden;
  color:#9da6d2;
  font-size:13px;
  line-height:1.3;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.relationship-accordion-status{display:grid;place-items:center;width:24px;color:#a9a1f4}
.relationship-accordion-status>.compat-icon{width:21px;height:21px}
.relationship-accordion-chevron{display:block;transition:transform 220ms ease;transform:rotate(90deg)}
.relationship-accordion-chevron .compat-icon{width:22px;height:22px}
.relationship-accordion.is-open .relationship-accordion-chevron{transform:rotate(-90deg)}
.relationship-accordion-panel{
  display:grid;
  grid-template-rows:0fr;
  overflow:hidden;
  opacity:0;
  transition:grid-template-rows 220ms ease,opacity 180ms ease;
}
.relationship-accordion.is-open .relationship-accordion-panel{grid-template-rows:1fr;opacity:1;height:auto;overflow:visible}
.relationship-accordion-panel-inner{
  min-height:0;
  overflow:hidden;
  margin:0 18px;
  border-top:1px solid rgba(155,149,224,.13);
}
.relationship-accordion.is-open .relationship-accordion-panel-inner{min-height:min-content;overflow:visible;padding:15px 0 18px}
.relationship-accordion-teaser,.relationship-accordion-copy{
  white-space:pre-wrap;
  overflow-wrap:anywhere;
  color:#cbd0e9;
  font-size:14px;
  line-height:1.52;
}
.relationship-accordion-teaser{color:#e0e2f3;font-weight:650}
.relationship-accordion-copy{margin-top:10px}
.relationship-accordion.is-locked .relationship-accordion-trigger{cursor:pointer}
.compat-analysis-card{position:relative;padding:19px;border-radius:24px;overflow:hidden}
.compat-analysis-card>header{display:flex;align-items:flex-start;gap:12px}
.compat-analysis-card>header>span{width:40px;height:40px;display:grid;place-items:center;border-radius:13px;color:#b8adff;background:rgba(125,108,255,.12)}
.compat-analysis-card h3{font-size:17px}
.compat-analysis-card header p{margin-top:3px;color:#939dc8;font-size:11px;line-height:1.35}
.compat-analysis-teaser{margin-top:14px;color:#cbd0e9;font-size:13px;line-height:1.48}
.compatibility-locked-content{min-height:112px;margin-top:13px}
.compatibility-locked-preview{gap:9px;padding:12px 7px;filter:blur(12px);opacity:.27}
.compatibility-locked-preview span{display:block;width:100%;height:9px;border-radius:8px;background:rgba(200,205,255,.48)}
.compatibility-locked-preview span:nth-child(2){width:84%}
.compatibility-locked-preview span:nth-child(3){width:94%}
.compatibility-locked-preview span:nth-child(4){width:61%}
.compatibility-lock-overlay{
  gap:5px;border-radius:16px;
  background:radial-gradient(circle at 50% 50%,rgba(115,91,255,.2),transparent 35%),linear-gradient(transparent,rgba(11,16,53,.84))
}
.compatibility-lock-overlay .compat-icon{width:27px;height:27px;color:#c3b9ff;filter:drop-shadow(0 0 10px rgba(145,119,255,.65))}
.compatibility-lock-overlay small{color:#979fca;font-size:10px}
.compat-section-lead{margin:-5px 0 17px;color:#929cc8;font-size:13px;line-height:1.45}
.compat-conversion-timeline{padding:18px;border:1px solid rgba(146,139,255,.12);border-radius:24px;background:rgba(18,24,67,.62)}
.compat-conversion-timeline li{min-height:76px}
.compat-conversion-timeline li>span{border:1px solid rgba(153,144,255,.24);background:rgba(75,66,143,.5)}
.compat-factor-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  width:100%;
  min-width:0;
}
.planet-accordion-icon{
  color:#c1b4ff;
  background:radial-gradient(circle at 35% 28%,rgba(123,211,255,.17),rgba(125,108,255,.12));
}
.planet-accordion-icon .compat-icon{width:25px;height:25px}
.compat-factor-card{position:relative;min-width:0;padding:16px;border-radius:21px;overflow:hidden}
.compat-factor-card>span{width:36px;height:36px;display:grid;place-items:center;margin-bottom:10px;border-radius:50%;color:#b7adff;background:rgba(128,105,255,.12)}
.compat-factor-card h3{font-size:16px}.compat-factor-card small{display:block;margin-top:3px;color:#969fc9;font-size:10px;line-height:1.3}
.compat-factor-card p{margin-top:10px;color:#c2c8e2;font-size:12px;line-height:1.42}
.compat-factor-card .compatibility-locked-content{min-height:82px}
.compat-conversion-main-cta{display:grid;justify-items:center;gap:9px;padding:25px 20px;border-radius:28px;text-align:center;background:radial-gradient(circle at 50% 0,rgba(144,103,255,.26),transparent 42%),linear-gradient(145deg,#24205d,#111744)}
.compat-conversion-main-cta>span{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;color:#fff;background:linear-gradient(135deg,#846fff,#5e56e7);box-shadow:0 0 25px rgba(118,91,255,.38)}
.compat-conversion-main-cta p{color:#bdc5e5;font-size:13px;line-height:1.45}
.compat-conversion-main-cta button{margin-top:5px}
.compat-conversion-main-cta>small{text-transform:none;letter-spacing:0}
@keyframes compat-avatar-in{from{opacity:0;transform:scale(.82) translateY(8px)}to{opacity:1;transform:none}}
@keyframes compat-orbit-in{from{opacity:0;transform:scale(.7) rotate(-25deg)}to{opacity:1;transform:none}}
@media(max-width:359px){
  .compat-conversion-pair span{width:78px;height:78px}
  .compat-conversion-pair>div{min-width:88px}
  .compat-conversion-pair>i{width:44px}
  .compat-overall-layout{grid-template-columns:96px 1fr;gap:13px}
  .compat-overall-layout .compat-conversion-score{width:94px;height:94px}
  .compat-overall-layout .compat-conversion-score strong{font-size:24px}
  .compat-overall-card{padding:18px}
  .compat-factor-grid{grid-template-columns:1fr}
}
@media(max-width:339px){
  .compat-overall-card .compat-conversion-categories{grid-template-columns:minmax(0,1fr)}
}
@media(min-width:600px){
  .compat-analysis-grid{grid-template-columns:minmax(0,1fr)}
  .compat-overall-card .compat-conversion-categories{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){
  .compat-conversion-pair span,.compat-conversion-pair>i{animation:none}
  .relationship-accordion-panel,.relationship-accordion-chevron{transition:none}
}

/* Final compact FREE / ACTIVE compatibility pipeline */
.compat-conversion-view{gap:12px}
.compat-compact-hero{
  min-height:0;
  margin:0 -6px;
  padding:16px 8px 8px;
}
.compat-compact-hero::before{width:280px;height:90px;top:22px}
.compat-compact-hero::after{display:none}
.compat-compact-hero .compat-conversion-pair{align-items:center}
.compat-compact-hero .compat-conversion-pair>div{min-width:86px}
.compat-compact-hero .compat-conversion-pair span{width:62px;height:62px;font-size:28px}
.compat-compact-hero .compat-conversion-pair>div>strong{font-size:13px}
.compat-compact-hero>p{max-width:560px;margin:12px auto 0;color:#b9c1e3;font-size:13px;line-height:1.4}
.compat-hero-result{
  position:relative;
  display:grid!important;
  align-content:center;
  justify-items:center;
  gap:2px!important;
  min-width:92px!important;
}
.compat-hero-result::before,.compat-hero-result::after{
  content:"";position:absolute;top:50%;width:35px;height:2px;background:linear-gradient(90deg,transparent,#795fff)
}
.compat-hero-result::before{right:100%}
.compat-hero-result::after{left:100%;transform:scaleX(-1)}
.compat-hero-result>strong{font-size:30px!important;line-height:1}
.compat-hero-result>small{font-size:10px!important}
.compat-free-balance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.compat-free-balance article{
  display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:9px;min-width:0;padding:12px;
  border:1px solid rgba(148,150,224,.13);border-radius:17px;background:rgba(24,31,78,.76)
}
.compat-free-balance article>span{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;color:#64d69b;background:rgba(74,198,137,.11)}
.compat-free-balance article:nth-child(2)>span{color:#ff768b;background:rgba(255,93,125,.11)}
.compat-free-balance small{display:block;color:#9da6d1;font-size:10px}
.compat-free-balance strong{display:block;margin-top:3px;font-size:12px;line-height:1.25}
.compat-conversion-insight,.compat-conversion-node,.compat-conversion-partner,.compat-conversion-value{padding:17px;border-radius:20px}
.compat-conversion-insight h2,.compat-conversion-node h2,.compat-conversion-partner h2,.compat-conversion-value h2{font-size:19px}
.compat-conversion-insight p,.compat-conversion-node>p,.compat-conversion-partner>p{font-size:13px;line-height:1.45}
.compat-free-strongest{
  padding:16px;border:1px solid rgba(150,144,255,.16);border-radius:20px;background:var(--compat-surface)
}
.compat-free-strongest>small{color:#9da8dc;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.compat-free-strongest>header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px}
.compat-free-strongest>header strong{font-size:17px}.compat-free-strongest>header b{font-size:18px}
.compat-free-strongest>.compat-conversion-progress{height:5px;margin:9px 0 0}
.compat-free-area-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}
.compat-free-area-tile{
  display:flex;align-items:center;justify-content:space-between;gap:7px;min-width:0;padding:10px 11px;
  border:1px solid rgba(147,142,222,.12);border-radius:13px;color:#bec4e2;background:rgba(255,255,255,.025);font-size:11px;text-align:left
}
.compat-free-area-tile .compat-icon{width:14px;height:14px;color:#9b93e8}
.compat-conversion-section>h2{font-size:20px;margin-bottom:10px}
.compat-now-grid{display:flex;gap:9px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}
.compat-now-grid::-webkit-scrollbar{display:none}
.compat-now-grid article{
  flex:0 0 150px;padding:13px;border:1px solid rgba(149,143,229,.13);border-radius:16px;background:rgba(24,31,78,.72)
}
.compat-now-grid article>span{display:grid;place-items:center;width:29px;height:29px;border-radius:9px;color:#aca1ff;background:rgba(125,108,255,.12)}
.compat-now-grid .compat-icon{width:16px;height:16px}
.compat-now-grid h3{margin-top:8px;font-size:13px}.compat-now-grid p{margin-top:5px;color:#aeb6d9;font-size:11px;line-height:1.35}
.relationship-accordion-trigger{grid-template-columns:44px minmax(0,1fr) auto 24px;min-height:76px;padding:14px 16px}
.planet-accordion-trigger{grid-template-columns:44px minmax(0,1fr) 24px}
.relationship-accordion-score{font-size:14px;white-space:nowrap}
.relationship-accordion-title{font-size:17px}.relationship-accordion-subtitle{font-size:12px}
.relationship-accordion{border-radius:18px}
.compat-conversion-timeline{padding:13px 14px;border-radius:18px}
.compat-conversion-timeline li{min-height:61px}
.compat-factor-grid,.compat-analysis-grid{gap:9px}
@media(max-width:349px){
  .compat-free-balance{grid-template-columns:minmax(0,1fr)}
  .compat-compact-hero .compat-conversion-pair>div{min-width:72px}
  .compat-compact-hero .compat-conversion-pair span{width:54px;height:54px}
  .compat-hero-result{min-width:76px!important}
}

/* Keep this final in the cascade: iOS focus-zooms controls computed below 16px. */
@media (hover:none) and (pointer:coarse){
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"]),textarea,select{font-size:16px!important}
  input:not([type="checkbox"]):not([type="radio"]):not([type="range"])::placeholder,textarea::placeholder{font-size:16px!important}
}

/* Universal Astra Premium paywall */
.paywall-modal{
  --paywall-bg:#03071f;
  --paywall-panel:rgba(15,23,72,.92);
  --paywall-card:rgba(22,30,86,.88);
  --paywall-border:rgba(139,104,255,.34);
  --paywall-primary:#9457ff;
  --paywall-secondary:#5c63ff;
  --paywall-text:#f8f7ff;
  --paywall-muted:#acb0d3;
  position:fixed;
  top:calc(env(safe-area-inset-top,0px) + 56px);
  right:0;
  bottom:0;
  left:0;
  z-index:calc(var(--z-header) - 1);
  display:flex;
  flex-direction:column;
  align-items:stretch;
  justify-content:stretch;
  place-items:stretch;
  width:100%;
  height:auto;
  min-height:0;
  overflow:hidden;
  overflow:clip;
  overscroll-behavior:none;
  touch-action:none;
  color:var(--paywall-text);
  background:var(--paywall-bg);
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.paywall-modal.hidden{display:none}
html.paywall-open,body.paywall-open,body.paywall-open .app-shell{
  overflow:hidden;
  overscroll-behavior:none;
}
body.paywall-pair-open .forecast-plan-pill{display:none!important}
body.paywall-pair-open #settingsBtn{display:none!important}
body.paywall-open .main-ui .bottom-nav{display:none!important}
body.paywall-open .app-native-scroller,
body.paywall-open #homeContent,
body.paywall-open #compatContent{
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:none;
}
.paywall-shell{
  position:relative;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  width:100%;
  min-height:0;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 13%,rgba(115,70,255,.22),transparent 30%),
    radial-gradient(circle at 100% 55%,rgba(55,99,255,.12),transparent 35%),
    linear-gradient(180deg,#080d30 0%,#03071f 100%);
  animation:paywallEnter .28s ease-out both;
}
.paywall-shell::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.32;
  background-image:radial-gradient(circle,rgba(255,255,255,.65) 0 1px,transparent 1.2px);
  background-size:73px 67px;
  mask-image:linear-gradient(to bottom,#000,transparent 42%);
}
.paywall-header{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(44px,1fr) auto minmax(92px,1fr);
  align-items:center;
  flex:0 0 auto;
  min-height:48px;
  padding:0 12px;
  border-bottom:1px solid rgba(255,255,255,.055);
}
.paywall-header strong{font-size:15px;letter-spacing:.01em;text-align:center}
.paywall-close{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border-radius:12px;
  color:#fff;
}
.paywall-close svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.paywall-restore{
  justify-self:end;
  min-height:40px;
  padding:0 4px;
  color:#c8cae3;
  font-size:11px;
  font-weight:650;
}
.paywall-scroll{
  position:relative;
  z-index:1;
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  overflow:clip;
  overscroll-behavior:none;
  touch-action:none;
  scrollbar-width:none;
  padding:8px 14px max(12px,env(safe-area-inset-bottom));
}
.paywall-scroll::-webkit-scrollbar,.paywall-carousel::-webkit-scrollbar{display:none}
.paywall-carousel-wrap{min-width:0}
.paywall-carousel{
  display:flex;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x mandatory;
  overscroll-behavior:none;
  scrollbar-width:none;
  touch-action:pan-x;
}
.paywall-slide{
  display:flex;
  flex:0 0 100%;
  flex-direction:column;
  align-items:center;
  justify-content:flex-end;
  min-width:0;
  height:clamp(172px,27dvh,220px);
  padding:4px 12px 6px;
  scroll-snap-align:center;
  text-align:center;
}
.paywall-slide h2{
  margin:2px 0 3px;
  color:#f4f1ff;
  font-family:Georgia,serif;
  font-size:clamp(22px,6vw,29px);
  font-weight:500;
  line-height:1.08;
}
.paywall-slide p{
  max-width:350px;
  margin:0;
  color:var(--paywall-muted);
  font-size:12px;
  line-height:1.3;
}
.paywall-visual{
  position:relative;
  display:grid;
  place-items:center;
  width:min(240px,72vw);
  height:112px;
  margin-bottom:1px;
  filter:drop-shadow(0 0 18px rgba(132,87,255,.32));
}
.paywall-star{
  width:42px;height:42px;
  clip-path:polygon(50% 0,59% 41%,100% 50%,59% 59%,50% 100%,41% 59%,0 50%,41% 41%);
  background:radial-gradient(circle,#fff 0 12%,#c7b8ff 28%,#7e57ff 58%,transparent 70%);
  box-shadow:0 0 28px #8d62ff;
}
.paywall-orbit{position:absolute;width:174px;height:64px;border:1px solid rgba(173,151,255,.55);border-radius:50%;transform:rotate(15deg)}
.paywall-orbit:nth-of-type(2){width:142px;height:86px;transform:rotate(-28deg)}
.paywall-planet{position:absolute;width:11px;height:11px;border-radius:50%;background:#b59cff;box-shadow:0 0 12px #a67eff;transform:translate(-78px,18px)}
.paywall-planet:last-child{width:16px;height:16px;transform:translate(72px,-24px)}
.paywall-visual--compatibility i{position:absolute;width:128px;height:78px;border:1px solid rgba(175,146,255,.64);border-radius:50%;transform:translateX(-35px) rotate(17deg)}
.paywall-visual--compatibility i:nth-child(2){transform:translateX(35px) rotate(-17deg)}
.paywall-visual--compatibility i::after{content:"";position:absolute;top:8px;left:26px;width:13px;height:13px;border-radius:50%;background:#a986ff;box-shadow:0 0 17px #9f79ff}
.paywall-visual--compatibility b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;font-size:26px;background:radial-gradient(circle,#fff,#a376ff 45%,transparent 72%);text-shadow:0 0 12px #fff}
.paywall-visual--reading i{position:absolute;width:105px;height:105px;border:1px solid rgba(185,163,255,.55);border-radius:50%;background:repeating-conic-gradient(from 0deg,rgba(183,159,255,.45) 0 1deg,transparent 1deg 30deg)}
.paywall-visual--reading i::before,.paywall-visual--reading i::after{content:"";position:absolute;inset:12px;border:1px solid rgba(171,144,255,.35);border-radius:50%}
.paywall-visual--reading i::after{inset:29px}
.paywall-visual--reading b{z-index:1;font-size:29px;color:#fff;text-shadow:0 0 18px #956eff}
.paywall-visual--chat svg{width:116px;height:88px;fill:none;stroke:#ae91ff;stroke-width:2;filter:drop-shadow(0 0 10px #7653dd)}
.paywall-dots{display:flex;align-items:center;justify-content:center;gap:8px;height:21px}
.paywall-dots button{width:7px;height:7px;padding:0;border-radius:50%;background:rgba(194,196,224,.32);transition:.2s ease}
.paywall-dots button.is-active{width:9px;height:9px;background:#fff;box-shadow:0 0 10px rgba(164,131,255,.8)}
.paywall-modules{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin:4px 0 10px}
.paywall-modules button{
  min-width:0;
  min-height:57px;
  padding:7px 3px 6px;
  border:1px solid rgba(157,161,219,.18);
  border-radius:11px;
  color:#aeb2d4;
  background:rgba(15,24,72,.62);
  font-size:9px;
  line-height:1.12;
}
.paywall-modules button.is-active{color:#fff;border-color:rgba(154,105,255,.55);background:rgba(95,66,190,.22);box-shadow:inset 0 0 18px rgba(129,88,255,.13)}
.paywall-modules svg{display:block;width:25px;height:25px;margin:0 auto 4px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.paywall-email{display:grid;gap:6px;margin-top:16px;color:#d8daef;font-size:12px;font-weight:650}
.paywall-email input{width:100%;min-height:48px;padding:0 14px;border:1px solid rgba(180,184,229,.22);border-radius:14px;color:#f8f7ff;background:rgba(16,25,73,.78);font-size:16px}
.paywall-email input:focus{outline:2px solid #e4d7ff;outline-offset:2px}
.paywall-pricing{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:16px}
.paywall-pricing.is-single{grid-template-columns:1fr}
.paywall-plan{
  position:relative;
  display:flex;
  align-items:center;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  min-height:112px;
  padding:12px 4px 8px;
  border:1px solid rgba(180,184,229,.2);
  border-radius:13px;
  color:#e9e9fb;
  background:rgba(16,25,73,.78);
}
.paywall-plan.is-selected{border-color:#a258ff;background:linear-gradient(160deg,rgba(94,61,179,.5),rgba(30,31,91,.88));box-shadow:0 0 22px rgba(143,65,255,.24),inset 0 1px rgba(255,255,255,.1)}
.paywall-plan__badge{position:absolute;top:-15px;left:-1px;right:-1px;height:19px;padding:3px;border-radius:9px 9px 0 0;color:#fff;background:linear-gradient(90deg,#7a5dff,#a44ee5);font-size:9px;font-weight:800}
.paywall-plan strong{font-size:11px}
.paywall-plan b{margin-top:5px;font-size:19px;white-space:nowrap}
.paywall-plan small{margin-top:3px;color:#aeb2d2;font-size:9px;white-space:nowrap}
.paywall-plan em{margin-top:4px;color:#cdb8ff;font-size:9px;font-style:normal;font-weight:750}
.paywall-trust{display:grid;grid-template-columns:.85fr .9fr 1.25fr;gap:5px;margin-top:9px}
.paywall-trust>div{display:flex;align-items:center;gap:5px;min-width:0;min-height:51px;padding:6px;border:1px solid rgba(175,179,225,.15);border-radius:10px;color:#d8daef;background:rgba(13,21,61,.66);font-size:8px;line-height:1.18}
.paywall-trust svg{flex:0 0 23px;width:23px;height:23px;fill:none;stroke:#d9d8f2;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.paywall-status{min-height:15px;margin:5px 2px 0;color:#b9c4ff;font-size:10px;line-height:1.25;text-align:center}
.paywall-status.is-error{color:#ffc5d2}
.paywall-cta{width:100%;min-height:56px;margin-top:auto;border:1px solid rgba(214,177,255,.4);border-radius:16px;color:#fff;background:linear-gradient(135deg,var(--paywall-primary),#712ad1 55%,var(--paywall-secondary));box-shadow:0 10px 28px rgba(100,43,220,.36),inset 0 1px rgba(255,255,255,.2);font-size:17px;font-weight:850}
.paywall-cta:active{transform:scale(.98)}
.paywall-cta:disabled,.paywall-restore:disabled{opacity:.6;cursor:wait}
.paywall-modal[data-product="pair"] .paywall-cta{
  display:flex;
  align-items:center;
  justify-content:center;
  height:44px;
  min-height:44px;
  border:1px solid rgba(160,148,255,.28);
  border-radius:999px;
  color:#fff;
  background:linear-gradient(90deg,rgba(55,48,130,.63),rgba(55,48,130,.42));
  box-shadow:inset 0 -1px 3px rgba(0,0,0,.15),inset 0 1px 2px rgba(200,190,255,.22),0 4px 16px rgba(0,0,0,.2),0 2px 24px rgba(89,71,229,.12);
  font-size:15px;
  font-weight:600;
  text-transform:none;
}
.paywall-modal[data-product="pair"] .paywall-cta:active{transform:none}
.paywall-modal[data-product="pair"] .paywall-cta.is-cta-glow{animation:paywallPairCtaGlow .9s ease-out 1 both}
.paywall-modal[data-product="pair"] .paywall-scroll{
  padding-bottom:max(4px,env(safe-area-inset-bottom));
  overflow:auto;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
}
.paywall-modal[data-product="pair"] .paywall-scroll>*{flex-shrink:0}
.paywall-modal[data-product="pair"] .paywall-terms{margin-top:5px}
.paywall-modal[data-product="pair"] .paywall-legal{margin-top:4px}
.paywall-terms{margin:7px 0 0;color:#8f94b9;font-size:9px;line-height:1.25;text-align:center}
.paywall-legal{
  margin:6px 0 0;
  color:#8f94b9;
  font-size:11px;
  font-weight:650;
  line-height:1.35;
  text-align:center;
  text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}
.paywall-legal a,
.paywall-legal button{
  display:inline;
  width:auto;
  min-height:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  color:#c4b5ff;
  background:none;
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  letter-spacing:inherit;
  vertical-align:baseline;
  text-decoration:underline;
  text-align:inherit;
}
.paywall-legal span{
  font:inherit;
  font-size:inherit;
  font-weight:inherit;
  line-height:inherit;
  color:inherit;
  vertical-align:baseline;
}
.paywall-skip-foot{margin-top:4px;opacity:.72}
.paywall-pair-copy{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin:18px 2px 8px;
  color:var(--paywall-text);
}
.paywall-pair-copy.hidden{display:none}
.paywall-pair-copy h2{
  margin:0;
  color:#f4f1ff;
  font-family:Georgia,serif;
  font-size:clamp(24px,6.4vw,32px);
  font-weight:500;
  line-height:1.15;
}
.paywall-pair-copy p{
  margin:0;
  color:var(--paywall-muted);
  font-size:14px;
  line-height:1.4;
}
.paywall-pair-copy ul{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.paywall-pair-copy ul:empty,
.paywall-pair-copy p:empty{display:none}
.paywall-pair-copy li{
  position:relative;
  padding-left:16px;
  color:#e9e9fb;
  font-size:14px;
  line-height:1.4;
}
.paywall-pair-copy li strong{
  display:block;
  margin-bottom:2px;
  color:#c4b5ff;
  font-size:12px;
  font-weight:750;
}
.paywall-pair-copy li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:6px;
  height:6px;
  border-radius:50%;
  background:#9a8fff;
  box-shadow:0 0 8px rgba(154,143,255,.45);
}
.paywall-modal[data-product="pair"] [data-paywall-plus-only],
.paywall-modal[data-product="pair"] #paywallPlans{
  display:none!important;
}
.paywall-modal:not([data-product="pair"]) [data-paywall-pair-only]{
  display:none!important;
}
.paywall-modal[data-product="pair"] .paywall-trust{display:none!important}
.paywall-pair-card{
  --compat-figma-surface:rgba(13,14,36,.72);
  --compat-figma-border:rgba(191,178,255,.12);
  display:flex;
  width:100%;
  margin:2px 0 0;
  padding:16px 16px 14px;
  border:.75px solid var(--compat-figma-border);
  border-radius:24px;
  background:var(--compat-figma-surface);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  color:#f7f4ff;
}
.paywall-pair-card .compat-figma-pair{width:100%}
.paywall-pair-card .compat-figma-score-value{stroke:url(#paywall-pair-score-gradient);transition:none}
.paywall-pair-stars{
  position:absolute;
  inset:0;
  z-index:0;
  width:100%;
  height:100%;
  pointer-events:none;
  color:#fff;
  opacity:.02;
}
.paywall-modal[data-product="pair"] .paywall-shell::before{opacity:.018}
.paywall-pair-bridge{
  position:relative;
  display:grid;
  place-items:center;
  flex:1 1 auto;
  min-width:0;
  height:96px;
  margin:0 -4px;
  color:rgba(196,181,255,.88);
}
.paywall-pair-thread{
  position:absolute;
  left:0;
  right:0;
  top:50%;
  z-index:0;
  width:100%;
  height:48px;
  transform:translateY(-58%);
  overflow:visible;
  pointer-events:none;
}
.paywall-pair-thread-path{
  fill:none;
  stroke:currentColor;
  stroke-dasharray:1;
  stroke-dashoffset:1;
}
.paywall-pair-thread.is-drawn .paywall-pair-thread-path{
  stroke-dashoffset:0;
  transition:stroke-dashoffset .7s ease-out;
}
.paywall-pair-thread-dot{opacity:.9}
.paywall-pair-bridge .compat-figma-score{position:relative;z-index:1;margin:0}
.paywall-pair-copy ul.paywall-pair-slides{
  gap:14px;
  min-height:100%;
}
.paywall-pair-copy li.paywall-pair-slide{
  display:flex;
  align-items:stretch;
  gap:12px;
  min-height:28dvh;
  padding:16px 16px 14px 12px;
  border:.75px solid rgba(191,178,255,.14);
  border-radius:20px;
  background:rgba(13,14,36,.55);
  box-shadow:inset 0 1px rgba(255,255,255,.03);
  opacity:0;
  transform:translateY(18px);
}
.paywall-pair-copy li.paywall-pair-slide.is-revealed{
  opacity:1;
  transform:none;
  transition:opacity .55s ease,transform .55s ease;
}
.paywall-pair-copy li.paywall-pair-slide::before{content:none}
.paywall-pair-slide-arc{
  display:block;
  flex:0 0 18px;
  width:18px;
  color:rgba(196,181,255,.7);
  pointer-events:none;
}
.paywall-pair-slide-arc svg{display:block;width:18px;height:100%;min-height:72px}
.paywall-pair-slide-copy{
  display:flex;
  flex:1 1 auto;
  flex-direction:column;
  min-width:0;
  gap:6px;
}
.paywall-pair-slide-copy strong{
  display:block;
  margin:0;
  color:#c4b5ff;
  font-size:13px;
  font-weight:750;
  letter-spacing:.01em;
}
.paywall-pair-tease{
  position:relative;
  overflow:hidden;
}
.paywall-pair-copy .paywall-pair-tease-clear{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:4;
  line-clamp:4;
  overflow:hidden;
  text-overflow:ellipsis;
  margin:0;
  color:#e9e9fb;
  font-size:14px;
  font-weight:400;
  line-height:1.45;
}
.paywall-modal[data-product="pair"] .paywall-pair-copy{margin-top:12px}
.compat-paid-pair-block .compat-paid9-key-card>p{white-space:pre-wrap}
.paywall-modal button,
.paywall-modal input,
.paywall-modal a{touch-action:manipulation}
.paywall-modal button:focus-visible{outline:2px solid #e4d7ff;outline-offset:2px}
@keyframes paywallEnter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@keyframes paywallPairCtaGlow{
  0%{box-shadow:inset 0 -1px 3px rgba(0,0,0,.15),inset 0 1px 2px rgba(200,190,255,.22),0 4px 16px rgba(0,0,0,.2),0 2px 24px rgba(89,71,229,.12)}
  40%{box-shadow:inset 0 -1px 3px rgba(0,0,0,.15),inset 0 1px 2px rgba(200,190,255,.28),0 4px 16px rgba(0,0,0,.2),0 0 28px 6px rgba(154,143,255,.38)}
  100%{box-shadow:inset 0 -1px 3px rgba(0,0,0,.15),inset 0 1px 2px rgba(200,190,255,.22),0 4px 16px rgba(0,0,0,.2),0 2px 24px rgba(89,71,229,.12)}
}
@media(max-height:720px){
  .paywall-scroll{padding-top:3px}
  .paywall-slide{height:166px}
  .paywall-visual{height:101px;transform:scale(.88)}
  .paywall-modules button{min-height:52px}
  .paywall-plan{min-height:104px}
  .paywall-trust>div{min-height:46px}
  .paywall-pair-card{padding:12px 12px 10px}
  .paywall-pair-copy li.paywall-pair-slide{min-height:24dvh;padding:12px 12px 10px 10px}
  .paywall-modal[data-product="pair"] .paywall-pair-copy{margin-top:8px;gap:8px}
}
@media(max-width:340px){
  .paywall-scroll{padding-inline:10px}
  .paywall-header{grid-template-columns:42px 1fr 88px;padding-inline:8px}
  .paywall-header strong{font-size:14px}
  .paywall-restore{font-size:9px}
  .paywall-legal button{font-size:inherit;font-weight:inherit}
  .paywall-slide{padding-inline:3px}
  .paywall-slide h2{font-size:21px}
  .paywall-modules{gap:4px}
  .paywall-pricing{gap:4px}
  .paywall-plan b{font-size:17px}
  .paywall-trust{grid-template-columns:1fr}
  .paywall-trust>div{min-height:38px}
}
@media(prefers-reduced-motion:reduce){
  .paywall-shell{animation:none}
  .paywall-dots button{transition:none}
  .paywall-carousel{scroll-behavior:auto}
  .paywall-pair-thread-path,.paywall-pair-thread.is-drawn .paywall-pair-thread-path{stroke-dashoffset:0;transition:none}
  .paywall-pair-copy li.paywall-pair-slide{opacity:1;transform:none;transition:none}
  .paywall-modal[data-product="pair"] .paywall-cta.is-cta-glow{animation:none}
}

/* Single fixed compatibility subscription dock */
.main-ui{position:relative;transform:none;filter:none;perspective:none;contain:none;isolation:auto}
#page-compat{padding-bottom:0}
#page-compat{
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
}
.compat-conversion-view.is-free{
  padding-bottom:calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 24px);
}
.compat-conversion-view.is-free.has-premium-dock{
  padding-bottom:calc(var(--compatibility-premium-dock-height,260px) + var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 24px);
}
.compat-conversion-view.is-active{
  padding-bottom:calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 24px);
}
.compatibility-premium-dock{
  position:absolute;
  left:14px;
  right:14px;
  bottom:calc(var(--bottom-nav-height,72px) + env(safe-area-inset-bottom) + 10px);
  z-index:20;
  max-width:692px;
  margin-inline:auto;
  padding:17px;
  overflow:hidden;
  border:1px solid rgba(168,82,255,.58);
  border-radius:23px;
  color:#f7f6ff;
  background:
    radial-gradient(circle at 100% 0,rgba(155,72,255,.2),transparent 34%),
    linear-gradient(145deg,rgba(42,28,112,.98),rgba(16,23,72,.98));
  box-shadow:0 18px 50px rgba(0,0,0,.5),0 0 28px rgba(141,67,255,.2),inset 0 1px rgba(255,255,255,.08);
}
.compatibility-premium-dock__content{position:relative;z-index:1}
.compatibility-premium-dock__content h2{max-width:calc(100% - 52px);font-size:21px;line-height:1.15}
.compatibility-premium-dock__content>p{max-width:calc(100% - 30px);margin-top:6px;color:#b6b9db;font-size:12px;line-height:1.35}
.compatibility-premium-dock__crown{
  position:absolute;
  top:15px;
  right:16px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:#b45cff;
  filter:drop-shadow(0 0 10px rgba(174,70,255,.45));
}

/* Figma Forecast / node 20:15 */
.forecast-appbar{display:flex;width:100%;align-items:center;justify-content:center}
.forecast-plan-pill{display:none}
.forecast-gift{display:none!important}

.main-ui[data-active-page="today"]{
  --bottom-nav-height:68px;
  --forecast-header-row-height:56px;
  --forecast-header-background:#160d33;
  --forecast-page-background:#040615;
  position:relative;
  background:var(--forecast-page-background);
  min-height:0;
  height:100%;
  overflow:hidden;
  overscroll-behavior:none;
}
.main-ui{
  --bottom-nav-height:68px;
  --forecast-header-row-height:56px;
  --forecast-header-background:#160d33;
  --app-header-total-height:calc(env(safe-area-inset-top) + var(--forecast-header-row-height));
  --app-header-sentinel-height:0px;
}
.app-top-layer{display:contents}
.main-ui .topbar{
  flex:0 0 calc(var(--forecast-header-row-height) + env(safe-area-inset-top));
  height:calc(var(--forecast-header-row-height) + env(safe-area-inset-top));
  padding:env(safe-area-inset-top) 0 0;
  margin:0;
  display:block;
  overflow:hidden;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
}
@media(max-width:759px){
  .main-ui .app-top-layer{
    position:fixed;
    top:0;
    right:0;
    left:0;
    z-index:var(--z-header);
    display:block;
    width:100%;
    height:var(--app-header-total-height);
    isolation:isolate;
    pointer-events:none;
    background:var(--forecast-header-background);
  }
  .main-ui .app-top-layer::after{
    position:absolute;
    right:0;
    bottom:calc(-1 * var(--app-header-sentinel-height));
    left:0;
    z-index:0;
    height:var(--app-header-sentinel-height);
    pointer-events:none;
    background:inherit;
    content:"";
  }
  .main-ui:is([data-active-page="today"],[data-active-page="compat"])::before{
    content:"";
    position:fixed;
    top:calc(var(--forecast-header-row-height) + env(safe-area-inset-top));
    right:0;
    bottom:0;
    left:0;
    z-index:0;
    pointer-events:none;
    background:var(--forecast-page-background);
  }
  .main-ui .app-top-layer .topbar{
    position:relative;
    top:0;
    left:0;
    right:0;
    z-index:1;
    width:100%;
    overflow:visible;
    background:transparent;
    transform:none;
    filter:none;
    transition:none;
    will-change:auto;
    pointer-events:auto;
  }
  .main-ui .app-top-layer :is(#topTitle,.top-actions){transition:none}
}
@media(min-width:760px){
  .main-ui .topbar{position:fixed;top:4vh;right:auto;left:50%;z-index:var(--z-header);width:430px;border-radius:38px 38px 0 0;transform:translateX(-50%);pointer-events:auto}
}
.main-ui .topbar:after{display:none}
.main-ui .forecast-appbar{position:relative;height:56px;padding:0 var(--app-hero-inline)}
.main-ui .forecast-appbar #topTitle{
  position:absolute;
  left:50%;
  top:9px;
  width:auto;
  transform:translateX(-50%);
  color:#f7f4ff;
  font-family:Marcellus,Georgia,serif;
  font-size:26px;
  font-weight:400;
  line-height:34px;
  letter-spacing:3px;
}
.main-ui .forecast-plan-pill{
  position:absolute;
  left:var(--app-hero-inline);
  top:16px;
  display:inline-flex;
  height:24px;
  align-items:center;
  justify-content:center;
  gap:5px;
  padding:0 10px 0 9px;
  overflow:hidden;
  border:.5px solid rgba(209,199,255,.16);
  border-radius:999px;
  color:rgba(209,204,242,.8);
  background:rgba(217,209,255,.1);
  box-shadow:0 1px 4px rgba(0,0,0,.08);
  backdrop-filter:blur(7px);
  font-size:10px;
  font-weight:600;
  line-height:24px;
  letter-spacing:.8px;
  transition:width 400ms cubic-bezier(.22,1,.36,1),padding 400ms cubic-bezier(.22,1,.36,1),gap 400ms cubic-bezier(.22,1,.36,1);
  will-change:width;
}
.forecast-plan-pill img{width:4px;height:4px}
.forecast-plan-pill__tariff{
  display:inline-flex;
  align-items:center;
  gap:5px;
  white-space:nowrap;
  transition:opacity 240ms ease,transform 400ms cubic-bezier(.22,1,.36,1);
}
.forecast-plan-pill__back{
  position:absolute;
  left:50%;
  top:50%;
  display:grid;
  place-items:center;
  width:14px;
  height:14px;
  opacity:0;
  transform:translate(-50%,-50%) scale(.86);
  pointer-events:none;
  transition:opacity 240ms ease,transform 400ms cubic-bezier(.22,1,.36,1);
}
.forecast-plan-pill__back-icon{display:block;width:14px;height:14px}
.main-ui .forecast-plan-pill.is-compat-back{
  gap:0;
  min-width:24px;
  padding:0 8px;
}
.main-ui .forecast-plan-pill.is-compat-back .forecast-plan-pill__tariff{
  position:absolute;
  opacity:0;
  transform:scale(.94);
  pointer-events:none;
}
.main-ui .forecast-plan-pill.is-compat-back .forecast-plan-pill__back{
  position:relative;
  left:auto;
  top:auto;
  opacity:1;
  transform:none;
}
@media (prefers-reduced-motion:reduce){
  .main-ui .forecast-plan-pill,
  .forecast-plan-pill__tariff,
  .forecast-plan-pill__back{
    transition:none!important;
  }
}
.main-ui .top-actions{position:absolute;right:var(--app-hero-inline);top:9px;transform:none}
.main-ui #settingsBtn{width:38px;height:38px;border:.5px solid rgba(255,255,255,.12);border-radius:19px;background:rgba(255,255,255,.06);box-shadow:0 1px 4px rgba(0,0,0,.08);backdrop-filter:blur(7px)}
.main-ui #settingsBtn img{width:14px;height:14px}
.main-ui .time-tabs{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important}
.main-ui>.page{position:relative;z-index:var(--z-content);padding-top:var(--app-header-total-height)}
.main-ui[data-active-page="today"] .forecast-static-background,
.main-ui[data-active-page="profile"] .forecast-static-background,
.main-ui[data-active-page="chat"] .forecast-static-background{
  position:absolute;
  top:var(--app-header-total-height);
  right:0;
  bottom:0;
  left:0;
  z-index:0;
  display:block;
  overflow:hidden;
  pointer-events:none;
  background:var(--forecast-page-background);
}
.main-ui[data-active-page="today"] .forecast-static-background .forecast-glow,
.main-ui[data-active-page="profile"] .forecast-static-background .forecast-glow,
.main-ui[data-active-page="chat"] .forecast-static-background .forecast-glow{position:absolute}
.main-ui[data-active-page="today"] #page-today{position:relative;z-index:1;height:100%;min-height:0;flex:1 1 0%;padding:var(--app-header-total-height) 0 0;overflow:hidden;background:transparent}
.main-ui[data-active-page="today"] #page-today.active{display:flex;flex-direction:column}
.main-ui[data-active-page="today"] #homeContent{
  width:100%;
  height:100%;
  min-height:0;
  flex:1 1 0%;
  padding:0 0 calc(var(--bottom-nav-height) + max(8px,env(safe-area-inset-bottom)) + var(--dock-viewport-inset,0px) + 28px);
}
.main-ui[data-active-page="today"] #homeContent::-webkit-scrollbar{display:none}
.main-ui[data-active-page="today"] #page-today,.forecast-main{touch-action:pan-y}
.forecast-main{position:relative;min-height:max(700px,calc(100dvh - 56px - env(safe-area-inset-top)));overflow-x:hidden;overflow-y:visible;background:transparent;color:#f8f7ff}
.forecast-glow{position:absolute;display:block;max-width:none;pointer-events:none}
.forecast-glow--upper{left:-10px;top:-90px;width:680px;height:660px}
.forecast-glow--header{left:-20px;top:-100px;width:660px;height:400px}
.forecast-glow--lower{left:-70px;top:250px;width:580px;height:540px}
.forecast-glow--left{left:-180px;top:14px;width:460px;height:440px}
.compat-forecast-ambient{display:none}
.app-hero-glass-skin{overflow:hidden;border:1px solid rgba(154,140,255,.18);border-radius:26px;background:linear-gradient(124.69deg,#171e59 3.42%,#101536 49.66%,#28164d 96.58%);box-shadow:0 18px 45px -14px rgba(0,0,0,.55),inset 0 1px rgba(255,255,255,.08)}
.forecast-hero{position:absolute;z-index:1;left:var(--app-hero-inline);right:var(--app-hero-inline);top:var(--app-hero-top);height:var(--app-hero-height)}
.forecast-hero__visual{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none}
.forecast-orbit-composition{position:absolute;right:0;top:0;display:block;width:260px;height:160px;max-width:none;pointer-events:none;object-fit:contain;image-rendering:auto}
.forecast-orbit-sign{overflow:visible;pointer-events:none;transform-box:fill-box;transform-origin:center}
.forecast-orbit-line,.forecast-orbit-core{stroke-dasharray:1;stroke-dashoffset:0}
.forecast-orbit-point,.forecast-orbit-question{transform-box:view-box;transform-origin:190px 75px}
.main-ui.forecast-entering .forecast-hero,.main-ui.forecast-entering .hero-card-eyebrow__icon,.main-ui.forecast-entering .hero-card-eyebrow>span,.main-ui.forecast-entering .hero-card-eyebrow__divider,.main-ui.forecast-entering .hero-card-copy__primary,.main-ui.forecast-entering .hero-card-copy__accent,.main-ui.forecast-entering .hero-card-copy__caption,.main-ui.forecast-entering .hero-card-copy__line,.main-ui.forecast-entering .hero-card-copy__line-dot,.main-ui.forecast-entering .forecast-period-nav,.main-ui.forecast-entering .forecast-copy h1,.main-ui.forecast-entering .forecast-copy>p,.main-ui.forecast-entering .forecast-insight,.main-ui.forecast-entering .forecast-mood,.main-ui.forecast-entering .forecast-tarot{will-change:transform,opacity}
.main-ui.forecast-entering :is(button,a,input,textarea,select,[role="button"]){pointer-events:none!important}
.main-ui.forecast-entering .forecast-hero{animation:forecast-enter-hero 780ms 0ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .hero-card-eyebrow__icon,.main-ui.forecast-entering .hero-card-eyebrow>span{animation:forecast-enter-soft 620ms 150ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .hero-card-copy__primary{animation:forecast-enter-copy 620ms 220ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .hero-card-copy__accent{animation:forecast-enter-copy 620ms 290ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .hero-card-copy__caption{animation:forecast-enter-soft 600ms 360ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-orbit-core{animation:forecast-orbit-draw 1200ms 160ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-orbit-line--inner{animation:forecast-orbit-draw 1150ms 220ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-orbit-line--ellipse{animation:forecast-orbit-draw 1100ms 350ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-orbit-question,.main-ui.forecast-entering .forecast-orbit-sign{animation:forecast-enter-question 560ms 250ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-orbit-point{animation:forecast-enter-orbit-point 1050ms 280ms cubic-bezier(.22,1,.36,1) both}
.main-ui.forecast-entering .forecast-period-nav{animation:forecast-enter-soft 560ms 600ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-copy h1{animation:forecast-enter-copy 650ms 720ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-copy>p{animation:forecast-enter-soft 620ms 830ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-insight{animation:forecast-enter-insight 650ms 1000ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-mood{animation:forecast-enter-mood 650ms 1180ms cubic-bezier(.16,1,.3,1) both}
.main-ui.forecast-entering .forecast-tarot{animation:forecast-enter-tarot 700ms 1330ms cubic-bezier(.16,1,.3,1) both}
@keyframes forecast-enter-hero{from{opacity:.08;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes forecast-enter-soft{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes forecast-enter-copy{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes forecast-enter-insight{from{opacity:0;transform:translateY(6px) scale(.997)}to{opacity:1;transform:none}}
@keyframes forecast-enter-mood{from{opacity:0;transform:translateY(7px) scale(.997)}to{opacity:1;transform:none}}
@keyframes forecast-enter-tarot{from{opacity:0;transform:translateY(8px) scale(.997)}to{opacity:1;transform:none}}
@keyframes forecast-orbit-draw{from{stroke-dashoffset:1;opacity:.15}to{stroke-dashoffset:0;opacity:1}}
@keyframes forecast-enter-question{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
@keyframes forecast-enter-orbit-point{0%{opacity:0}12%{opacity:.75}55%{opacity:1}100%{opacity:1}}
.main-ui:is(.forecast-entering,.compatibility-entering) .hero-card-eyebrow__divider{transform-origin:left center;animation:hero-divider-reveal 620ms 210ms cubic-bezier(.16,1,.3,1) both}
.main-ui:is(.forecast-entering,.compatibility-entering) .hero-card-copy__line{transform-origin:left center;animation:hero-divider-reveal 600ms 500ms cubic-bezier(.16,1,.3,1) both}
.main-ui:is(.forecast-entering,.compatibility-entering) .hero-card-copy__line-dot{animation:hero-divider-point-reveal 420ms 580ms cubic-bezier(.16,1,.3,1) both}
@keyframes hero-divider-reveal{from{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}
@keyframes hero-divider-point-reveal{from{opacity:0}to{opacity:1}}
.hero-card-eyebrow{position:absolute;left:24px;top:14px;z-index:2;display:flex;height:28px;align-items:center;gap:8px;color:#b2aaef;font-size:10px;font-weight:500;line-height:20px;letter-spacing:.12px;white-space:nowrap}
.hero-card-eyebrow__icon{position:relative;display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center}
.hero-card-eyebrow__icon img{display:block;width:28px;height:28px;max-width:none;object-fit:contain;image-rendering:auto}
.hero-card-eyebrow__divider{width:35px;height:1px;margin-left:-3px}
.hero-card-copy__title{position:absolute;left:24px;top:49px;z-index:2;display:flex;width:min(52vw,205px);height:62px;min-width:0;margin:0;flex-direction:column;align-items:flex-start;justify-content:flex-start}
.hero-card-copy__primary{display:block;width:100%;height:29px;color:#f5f3ff;font-family:"Cormorant Garamond",Georgia,serif;font-size:27px;font-weight:500;line-height:29px;letter-spacing:-.27px;white-space:nowrap}
.hero-card-copy__accent{display:block;width:100%;height:33px;overflow:hidden;color:#d9cbff;font-family:"Cormorant Garamond",Georgia,serif;font-size:34px;font-weight:600;line-height:33px;letter-spacing:.2px;white-space:nowrap;text-overflow:ellipsis}
.forecast-hero .hero-card-copy__accent{overflow:visible;text-overflow:clip}
.forecast-hero__name{position:relative;top:3px;display:block;width:max-content;max-width:min(58vw,226px);overflow:visible;white-space:nowrap;text-overflow:clip}
.forecast-hero__name.is-long{font-size:30px;letter-spacing:0}
.forecast-hero__name.is-extra-long{font-size:26px;letter-spacing:-.1px}
.hero-card-copy__caption{position:absolute;left:24px;top:120px;z-index:2;color:#adb0d2;font-size:13px;font-weight:400;line-height:18px;letter-spacing:.156px;white-space:nowrap}
.hero-card-copy__line{position:absolute;left:20px;top:148px;z-index:2;width:160px;height:1px}
.hero-card-copy__line-dot{position:absolute;left:100px;top:147px;z-index:2;width:3px;height:3px}
@media(max-width:380px){.hero-card-copy__title{width:188px}.hero-card-copy__accent{font-size:32px;letter-spacing:0}}
.forecast-period-content{--forecast-copy-to-insight-gap:44px;position:relative;z-index:2;min-height:inherit;padding:calc(var(--app-hero-top) + var(--app-hero-height) + var(--app-hero-following-gap)) 20px 0;pointer-events:none}
.forecast-period-content button{pointer-events:auto}
.forecast-copy{position:relative;z-index:2}
.forecast-period-nav{display:grid;height:27px;align-items:center}
.forecast-period-nav--today{grid-template-columns:minmax(0,1fr) auto}
.forecast-period-nav--three-column{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)}
.forecast-date{height:18px;margin:0;padding:0;align-self:center;color:#8f96c8;font-size:12px;font-weight:500;line-height:18px;letter-spacing:.18px}
.forecast-date--center{grid-column:2;justify-self:center;text-align:center;white-space:nowrap}
.forecast-period-button{height:27px;padding:0 10px;border:1px solid rgba(160,143,255,.24);border-radius:999px;color:#e4deff;background:rgba(255,255,255,.04);box-shadow:0 6px 16px -8px rgba(0,0,0,.35);font-size:12px;font-weight:500;line-height:14px;letter-spacing:.18px}
.forecast-period-button--previous{grid-column:1;justify-self:start}
.forecast-period-button--next{grid-column:-2/-1;justify-self:end}
.forecast-period-button:disabled{pointer-events:none}
.forecast-copy h1{margin:0;padding-top:14px;color:#f8f7ff;font-size:30px;font-weight:700;line-height:34px;letter-spacing:.45px}
.forecast-copy p{max-width:345px;margin-top:5px;color:#a9afd3;font-size:14px;font-weight:400;line-height:20px;letter-spacing:.21px}
.forecast-period-content--loading{pointer-events:none}
.forecast-period-nav--loading{display:flex;justify-content:center}
.forecast-skeleton{display:block;overflow:hidden;border-radius:999px;background:linear-gradient(90deg,rgba(117,100,208,.08),rgba(172,158,255,.18),rgba(117,100,208,.08));background-size:220% 100%;animation:forecast-skeleton-shimmer 1.35s ease-in-out infinite}
.forecast-skeleton--date{width:128px;height:14px;margin:6px auto}
.forecast-skeleton--headline{width:min(100%,330px);height:27px;margin-top:18px;border-radius:8px}
.forecast-skeleton--headline-short{width:72%;margin-top:7px}
.forecast-skeleton--body{width:100%;height:14px;margin-top:14px;border-radius:6px}
.forecast-skeleton--body-short{width:82%;margin-top:7px}
.forecast-skeleton--pill{width:106px;height:22px}
.forecast-skeleton--insight-title{width:68%;height:22px;margin-top:12px;border-radius:7px}
.forecast-insight--loading{min-height:126px}
.forecast-period-content--error .forecast-retry{display:block;margin:0 auto;padding-inline:18px}
@keyframes forecast-skeleton-shimmer{0%{background-position:100% 0}100%{background-position:-120% 0}}
@media(prefers-reduced-motion:reduce){.forecast-skeleton{animation:none}}
.forecast-lower{position:relative;z-index:2;margin-top:var(--forecast-copy-to-insight-gap)}
.forecast-insight{width:100%;height:auto;padding:14px 16px;overflow:hidden;border:1px solid rgba(191,178,255,.12);border-radius:24px;background:linear-gradient(0deg,rgba(31,28,56,.15),rgba(10,10,26,.05) 60%,rgba(0,0,0,.08)),rgba(13,14,36,.72);box-shadow:0 4px 16px rgba(0,0,0,.22),inset 0 -2px 10px rgba(0,0,0,.15),inset 0 1px 8px rgba(178,166,255,.06);backdrop-filter:blur(12px)}
.forecast-insight__label{display:inline-flex;height:22px;align-items:center;gap:4px;padding:0 8px 0 7px;border:.5px solid rgba(143,130,245,.16);border-radius:999px;color:rgba(140,135,255,.75);background:rgba(115,92,255,.06);font-size:8.5px;font-weight:600;line-height:12px;letter-spacing:.8px}
.forecast-insight__label img{width:9px;height:9px}
.forecast-insight h2{margin-top:9px;color:#f7f5ff;font-size:19px;font-weight:600;line-height:24px;letter-spacing:.228px}
.forecast-insight p{margin-top:6px;color:#b8bbd7;font-size:13.5px;font-weight:400;line-height:20px;letter-spacing:.162px}
.forecast-continuation{display:grid;gap:28px;margin-top:28px}
.forecast-mood,.forecast-tarot{border:1px solid rgba(191,178,255,.12);border-radius:24px;background:linear-gradient(0deg,rgba(31,28,56,.15),rgba(10,10,26,.05) 60%,rgba(0,0,0,.08)),rgba(13,14,36,.72);box-shadow:0 4px 16px rgba(0,0,0,.22),inset 0 -2px 10px rgba(0,0,0,.15),inset 0 1px 8px rgba(178,166,255,.06);backdrop-filter:blur(12px)}
.forecast-mood{height:149px;padding:18px 20px 22px;touch-action:pan-y}
.forecast-section-label{display:inline-flex;height:22px;align-items:center;gap:4px;padding:0 8px 0 7px;border:.5px solid rgba(143,130,245,.16);border-radius:999px;color:rgba(140,135,255,.75);background:rgba(115,92,255,.06);font-size:8.5px;font-weight:600;line-height:12px;letter-spacing:.8px}
.forecast-section-label img{width:9px;height:9px}
.forecast-mood__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:7px}
.forecast-mood__metric{display:flex;min-width:0;flex-direction:column;align-items:center;gap:5px;touch-action:pan-y}
.forecast-mood__ring{position:relative;display:grid;width:60px;height:60px;flex:0 0 60px;place-items:center;border-radius:50%;background:#101126;box-shadow:inset 0 1px 6px rgba(0,0,0,.38);touch-action:pan-y}
.forecast-mood__ring svg{position:absolute;inset:0;display:block;width:60px;height:60px;overflow:visible;pointer-events:none}
.forecast-mood__ring circle{pointer-events:none}
.forecast-mood__track,.forecast-mood__active-arc{fill:none;vector-effect:non-scaling-stroke}
.forecast-mood__track{stroke:rgba(124,128,173,.18)}
.forecast-mood__progress-glow{stroke:var(--ring-color);stroke-width:5;stroke-linecap:round;filter:blur(3px)}
.forecast-mood__progress{stroke:var(--ring-color);stroke-width:3;stroke-linecap:round}
.forecast-mood__ring span{position:relative;z-index:1;color:#f5f4ff;font-size:13.5px;font-weight:600;line-height:17px;letter-spacing:.12px}
.forecast-mood__name{color:#afb3d0;font-size:12.5px;font-weight:500;line-height:15px;white-space:nowrap}
.forecast-tarot{display:flex;height:500px;margin-bottom:32px;padding:18px 20px 32px;flex-direction:column;align-items:center;text-align:center}
.forecast-section-label--tarot{display:flex;width:max-content;margin:0 0 22px;align-self:flex-start}
.forecast-tarot__badge-icon{position:relative;width:10px;height:11px}
.forecast-tarot__badge-icon::before,.forecast-tarot__badge-icon::after{position:absolute;width:6px;height:8px;border:.75px solid currentColor;border-radius:1.5px;content:""}
.forecast-tarot__badge-icon::before{left:1px;top:2px;transform:rotate(-12deg);opacity:.65}
.forecast-tarot__badge-icon::after{left:3px;top:1px;background:rgba(115,92,255,.08)}
.forecast-tarot__preview{--tarot-slot-radius:16px;position:relative;display:block;width:min(calc(300px * 300 / 527),100%);height:auto;aspect-ratio:300/527;margin:0 auto;flex:0 0 auto;padding:0;background:#151b4b;border-radius:var(--tarot-slot-radius);overflow:hidden;filter:drop-shadow(0 12px 16px rgba(0,0,0,.24))}
.forecast-tarot__image,.forecast-tarot__preview .forecast-tarot__image,.forecast-tarot__preview .tarot-preview-card__img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:inherit;background:transparent}
.forecast-tarot__preview--back{overflow:hidden;border-radius:inherit;filter:none}
.tarot-card-back-image{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:inherit;background:transparent;filter:none;user-select:none;-webkit-user-drag:none}
.forecast-tarot__preview .is-reversed{transform:rotate(180deg);transform-origin:center center}
.forecast-tarot p{margin:26px 0 18px;color:#aeb2ce;font-size:12.5px;font-weight:400;line-height:16px;letter-spacing:.15px}
.forecast-tarot__button{display:block;width:260px;height:42px;margin:0 auto;border:.75px solid rgba(160,148,255,.28);border-radius:999px;color:#f5f2ff;background:linear-gradient(104deg,rgba(89,78,194,.72),rgba(117,83,207,.62));box-shadow:0 8px 22px -10px rgba(88,62,207,.7),inset 0 1px rgba(255,255,255,.12);font-size:14px;font-weight:600;line-height:18px;letter-spacing:.14px;backdrop-filter:blur(10px)}
.forecast-tarot__button:active{transform:translateY(1px)}
@keyframes forecast-period-exit-forward{to{opacity:0;transform:translateY(-5px);filter:blur(2px)}}
@keyframes forecast-period-enter-forward{from{opacity:0;transform:translateY(7px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@keyframes forecast-period-exit-backward{to{opacity:0;transform:translateY(5px);filter:blur(2px)}}
@keyframes forecast-period-enter-backward{from{opacity:0;transform:translateY(-6px);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
.forecast-period-exit--forward{animation:forecast-period-exit-forward 250ms ease forwards;pointer-events:none}
.forecast-period-enter--forward{animation:forecast-period-enter-forward 400ms cubic-bezier(.22,.72,.22,1) both}
.forecast-period-exit--backward{animation:forecast-period-exit-backward 250ms ease forwards;pointer-events:none}
.forecast-period-enter--backward{animation:forecast-period-enter-backward 400ms cubic-bezier(.22,.72,.22,1) both}
@media(prefers-reduced-motion:reduce){.forecast-period-exit--forward,.forecast-period-enter--forward,.forecast-period-exit--backward,.forecast-period-enter--backward{animation-duration:1ms}}
@media(prefers-reduced-motion:reduce){
  .main-ui.forecast-entering .forecast-hero,.main-ui.forecast-entering .hero-card-eyebrow__icon,.main-ui.forecast-entering .hero-card-eyebrow>span,.main-ui.forecast-entering .hero-card-eyebrow__divider,.main-ui.forecast-entering .hero-card-copy__primary,.main-ui.forecast-entering .hero-card-copy__accent,.main-ui.forecast-entering .hero-card-copy__caption,.main-ui.forecast-entering .hero-card-copy__line,.main-ui.forecast-entering .hero-card-copy__line-dot,.main-ui.forecast-entering .forecast-orbit-core,.main-ui.forecast-entering .forecast-orbit-line,.main-ui.forecast-entering .forecast-orbit-question,.main-ui.forecast-entering .forecast-orbit-sign,.main-ui.forecast-entering .forecast-orbit-point,.main-ui.forecast-entering .forecast-period-nav,.main-ui.forecast-entering .forecast-copy h1,.main-ui.forecast-entering .forecast-copy>p,.main-ui.forecast-entering .forecast-insight,.main-ui.forecast-entering .forecast-mood,.main-ui.forecast-entering .forecast-tarot{animation:forecast-enter-reduced 200ms ease both}
  @keyframes forecast-enter-reduced{from{opacity:0}to{opacity:1}}
}
.dock-bottom-anchor{width:100%;height:0;flex:0 0 0;pointer-events:none}
.main-ui .bottom-nav{position:fixed;left:50%;right:auto;bottom:calc(max(8px,env(safe-area-inset-bottom)) + var(--dock-viewport-inset,0px));z-index:var(--z-dock);isolation:isolate;width:min(calc(100vw - 28px),402px);height:68px;padding:5px;transform:translateX(-50%) translateY(var(--dock-switch-offset-y,0px));border:.75px solid rgba(163,150,255,.12);border-radius:26px;background:linear-gradient(90deg,rgba(13,18,51,.88),rgba(20,24,69,.82));box-shadow:0 8px 20px -8px rgba(0,0,0,.28);backdrop-filter:blur(18px);pointer-events:auto}
.main-ui.compatibility-result-active>.bottom-nav{display:none!important}
.main-ui .bottom-nav.at-document-bottom{position:absolute;bottom:auto}
.main-ui .bottom-nav.dock-position-settling{transition:transform 120ms cubic-bezier(.22,.74,.18,1)}
.main-ui .bottom-nav.dock-position-switching{transition:none!important}
.main-ui .bottom-nav button{min-width:0;height:58px;padding:0;gap:4px;overflow:visible;border:1px solid transparent;border-radius:21px;color:#8f93a8;font-weight:500;transition:color 160ms ease,background-color 160ms ease,border-color 160ms ease}
.main-ui .bottom-nav button.active{border-color:rgba(184,171,255,.12);color:#fff;background:rgba(57,68,143,.24);box-shadow:inset 0 1px rgba(255,255,255,.035),0 2px 7px rgba(38,29,104,.12);backdrop-filter:blur(7px)}
.main-ui .bottom-nav i{display:flex;width:24px;height:24px;flex:0 0 24px;align-items:center;justify-content:center;overflow:visible;font-size:0;line-height:0}
.main-ui .bottom-nav i img{display:block;width:24px;height:24px;overflow:visible;object-fit:contain;filter:brightness(0) saturate(100%) invert(63%) sepia(8%) saturate(624%) hue-rotate(193deg) brightness(91%) contrast(86%);transition:filter 160ms ease}
.main-ui .bottom-nav button.active i img{filter:brightness(0) invert(1)}
.main-ui .bottom-nav span{display:block;height:12px;flex:0 0 12px;font-size:10.5px;font-weight:500;line-height:12px;letter-spacing:.12px;text-align:center}
.main-ui .bottom-nav button.active span{font-size:10.5px;font-weight:600;letter-spacing:.12px}

/* Figma Settings / nodes 113:93, 119:230, 119:442 */
html:has(body.settings-open),
body.settings-open{
  height:100dvh;
  overflow:hidden;
  overscroll-behavior:none;
}
body.settings-open .app-shell{
  height:100dvh;
  min-height:0;
  overflow:hidden;
  background:var(--forecast-page-background);
}
body.settings-open .main-ui{background:var(--forecast-page-background)}
body.settings-open .main-ui > :not(.forecast-static-background){display:none!important}
.settings-view{
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  overscroll-behavior:none;
  color:#f5f3ff;
  background:transparent;
}
.settings-header{
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:2;
  height:calc(56px + env(safe-area-inset-top));
  padding-top:env(safe-area-inset-top);
  overflow:visible;
  isolation:isolate;
  border:0;
  background:none;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
}
.settings-header::before{
  position:absolute;
  top:0;
  right:0;
  left:0;
  z-index:0;
  height:calc(env(safe-area-inset-top) + 128px);
  pointer-events:none;
  background:linear-gradient(180deg,
    var(--forecast-page-background) 0,
    rgba(4,6,21,.92) 22%,
    rgba(10,8,30,.4) 52%,
    rgba(10,8,30,.12) 74%,
    transparent 100%);
  backdrop-filter:blur(20px) saturate(118%);
  -webkit-backdrop-filter:blur(20px) saturate(118%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 34%,rgba(0,0,0,.72) 58%,rgba(0,0,0,.32) 78%,transparent 100%);
  mask-image:linear-gradient(180deg,#000 0%,#000 34%,rgba(0,0,0,.72) 58%,rgba(0,0,0,.32) 78%,transparent 100%);
  content:"";
}
.settings-header__bar{position:relative;z-index:1;display:grid;width:100%;height:56px;grid-template-columns:56px 1fr 56px;align-items:center;padding:0 10px}
.settings-header h1{margin:0;color:#f5f3ff;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:18px;font-weight:600;line-height:24px;text-align:center}
.settings-back{display:block;width:56px;height:56px;padding:0;border:0;outline:0;background:transparent;-webkit-tap-highlight-color:transparent}
.settings-back img{display:block;width:56px;height:56px}
.settings-back:focus-visible{outline:0;filter:brightness(1.08)}
.settings-back:active{opacity:.78}
.settings-content{
  position:relative;
  z-index:1;
  display:flex;
  width:100%;
  height:100%;
  min-height:0;
  flex:1 1 0%;
  max-width:none;
  margin:0 auto;
  padding:calc(100px + env(safe-area-inset-top)) 16px calc(24px + max(8px,env(safe-area-inset-bottom)) + var(--dock-viewport-inset,0px) + 28px);
  flex-direction:column;
  gap:24px;
}
.settings-content::-webkit-scrollbar{display:none}
.settings-section{display:flex;flex-direction:column;gap:8px}
.settings-section h2{margin:0;color:rgba(155,143,191,.6);font-size:11px;font-weight:600;line-height:14px;letter-spacing:1px}
.settings-card,.settings-group{border:0;border-radius:24px;color:#f5f3ff;background:rgba(13,14,36,.72);box-shadow:0 4px 16px rgba(0,0,0,.22),inset 0 -2px 10px rgba(0,0,0,.15),inset 0 1px 8px rgba(178,166,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.settings-account{display:grid;width:100%;min-height:65px;grid-template-columns:32px minmax(0,1fr) 6px;gap:12px;align-items:center;padding:16px;text-align:left}
.settings-account__avatar{display:grid;width:32px;height:32px;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.05)}
.settings-account__avatar img{display:block;width:16px;height:16px}
.settings-account__copy{display:flex;min-width:0;flex-direction:column;gap:2px}
.settings-account__copy strong{overflow:hidden;font-size:15px;font-weight:600;line-height:18px;text-overflow:ellipsis;white-space:nowrap}
.settings-account__copy small{color:#9b8fbf;font-size:13px;font-weight:400;line-height:16px}
.settings-chevron{display:block;width:6px;height:10px;flex:0 0 6px}
.settings-subscription{display:flex;width:100%;min-height:123px;padding:16px;flex-direction:column;align-items:flex-start;gap:12px;text-align:left}
.settings-subscription__head{display:flex;align-items:center;gap:8px}
.settings-subscription__head strong{font-size:16px;font-weight:600;line-height:19px}
.settings-subscription__head small{padding:2px 6px;border-radius:6px;color:#9b8fbf;background:rgba(255,255,255,.05);font-size:10px;font-weight:600;line-height:12px}
.settings-subscription__description{color:#9b8fbf;font-size:13px;line-height:16px}
.settings-subscription__link{display:flex;align-items:center;gap:8px;color:#9b8fbf;font-size:14px;font-weight:500;line-height:17px}
.settings-group{overflow:hidden}
.settings-row{position:relative;display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:0;color:#f5f3ff;background:transparent;font-family:inherit;font-size:15px;font-weight:500;line-height:19px;text-align:left}
.settings-row+ .settings-row::before{position:absolute;top:0;right:0;left:0;height:.5px;background:rgba(255,255,255,.06);content:""}
.settings-row>span:first-child{min-width:0}
.settings-row input[type="checkbox"]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.settings-row input[type="checkbox"]+i{position:relative;width:44px;height:26px;flex:0 0 44px;border-radius:999px;background:#1b1d38;box-shadow:inset 0 1px 2px rgba(0,0,0,.3);transition:background-color 160ms ease}
.settings-row input[type="checkbox"]+i::after{position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.35);content:"";transition:transform 160ms ease}
.settings-row input[type="checkbox"]:checked+i{background:#6150a9}
.settings-row input[type="checkbox"]:checked+i::after{transform:translateX(18px)}
.settings-row input[type="checkbox"]:focus-visible+i{outline:2px solid #a89cff;outline-offset:2px}
.settings-value{display:flex;flex:0 0 auto;align-items:center;gap:8px;color:#9b8fbf;font-size:13px;font-weight:400}
.settings-time-row input[type="time"]{width:49px;padding:0;border:0;outline:0;color:#9b8fbf;background:transparent;font:400 13px/16px Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;text-align:right;-webkit-appearance:none;appearance:none}
.settings-time-row input[type="time"]::-webkit-calendar-picker-indicator{position:absolute;inset:0;width:auto;height:auto;opacity:0;cursor:pointer}
.settings-row--description{min-height:88px}
.settings-row--description>span{display:flex;max-width:240px;flex-direction:column;gap:2px}
.settings-row--description b{font-weight:500}
.settings-row--description small{color:#9b8fbf;font-size:13px;font-weight:400;line-height:16px}
.settings-link-row{min-height:51px}
a.settings-row{text-decoration:none;color:#f5f3ff}
.settings-row.hidden + .settings-row::before{display:none}
.settings-destructive{justify-content:flex-start;color:#cf5264}
.settings-destructive>img{display:block;width:18px;height:18px}
.settings-logout{display:flex;width:max-content;min-height:36px;align-items:center;gap:10px;padding:0;border:0;color:#cf5264;background:transparent;font-size:15px;font-weight:500}
.settings-logout img{display:block;width:18px;height:18px}
.settings-version{margin:4px 0 0;color:rgba(155,143,191,.35);font-size:11px;line-height:14px;text-align:center}
.settings-row:active,.settings-account:active,.settings-subscription:active,.settings-logout:active{opacity:.76}
@media(max-width:374px){.settings-row{padding-right:14px;padding-left:14px}.settings-row--description>span{max-width:220px}.settings-account__copy small{font-size:12px}}
@media(min-width:760px){body.settings-open .app-shell{height:92vh;min-height:0;overflow:hidden}}
@media(max-width:370px){
  .forecast-copy h1{font-size:27px;line-height:31px}
  .forecast-copy p{font-size:13px;line-height:18px}
  .forecast-mood{padding-right:14px;padding-left:14px}
  .forecast-mood__metrics{gap:2px}
  .forecast-avatar{left:auto;right:-1px}
}

/* Figma Connection - Main / node 54:326 */
.main-ui[data-active-page="compat"]{--forecast-page-background:#040615;background:var(--forecast-page-background)}
.main-ui[data-active-page="compat"] .compat-forecast-ambient{
  position:fixed;
  top:var(--app-header-total-height);
  right:0;
  bottom:0;
  left:0;
  z-index:0;
  display:block;
  overflow:hidden;
  pointer-events:none;
  background:var(--forecast-page-background);
}
.main-ui[data-active-page="compat"] .compat-forecast-ambient .forecast-glow{position:absolute}
body.settings-open .main-ui .forecast-static-background,
body.settings-open .main-ui .compat-forecast-ambient{
  position:absolute;
  top:0;
  right:0;
  bottom:0;
  left:0;
  z-index:0;
  display:block;
  overflow:hidden;
  pointer-events:none;
  background:var(--forecast-page-background);
}
body.settings-open .main-ui .forecast-static-background .forecast-glow,
body.settings-open .main-ui .compat-forecast-ambient .forecast-glow{position:absolute}
.main-ui[data-active-page="compat"]:has(#page-compat.compat-main-empty-page){min-height:0;height:100%;overflow:hidden;overscroll-behavior:none}
#page-compat{background:transparent}
#page-compat.compat-main-empty-page{height:100%;min-height:0;flex:1 1 0%;overflow:hidden;overscroll-behavior:none;background:transparent}
#page-compat.compat-main-empty-page.active{display:flex;flex-direction:column}
#page-compat.compat-main-empty-page #compatContent{
  width:100%;
  height:100%;
  min-height:0;
  flex:1 1 0%;
}
#page-compat.compat-main-empty-page #compatContent::-webkit-scrollbar{display:none}
.main-ui[data-active-page="compat"]:has(#page-compat.compatibility-result-page){min-height:0;height:100%;overflow:hidden;overscroll-behavior:none}
#page-compat.compatibility-result-page{height:100%;min-height:0;flex:1 1 0%;overflow:hidden;overscroll-behavior:none;background:transparent}
#page-compat.compatibility-result-page.active{display:flex;flex-direction:column}
#page-compat.compatibility-result-page #compatContent{width:100%;height:100%;min-height:0;flex:1 1 0%;overflow:hidden;background:transparent}
#page-compat.compatibility-result-page #compatContent>.compat-conversion-view{
  height:100%!important;
  min-height:0;
  max-height:none!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}
#page-compat.compatibility-result-page #compatContent>.compat-conversion-view.compat-figma-result--loading{
  overflow:hidden!important;
  overflow-y:hidden!important;
  overflow-x:hidden!important;
  overscroll-behavior:none;
  touch-action:none;
  -webkit-overflow-scrolling:auto;
}
html:has(.compat-figma-result--loading),
body:has(.compat-figma-result--loading),
body:has(.compat-figma-result--loading) .app-shell{
  overflow:hidden!important;
  overscroll-behavior:none;
  touch-action:none;
}
#page-compat.compatibility-result-page #compatContent>.compat-conversion-view::-webkit-scrollbar{display:none}
.compat-main{position:relative;display:flex;width:min(calc(100% - (var(--app-hero-inline) * 2)),398px);min-height:calc(100dvh - var(--forecast-header-row-height) - env(safe-area-inset-top));margin:var(--app-hero-top) auto 0;padding:0 0 calc(var(--bottom-nav-height) + max(8px,env(safe-area-inset-bottom)) + var(--dock-viewport-inset,0px) + 28px);flex-direction:column;gap:var(--app-hero-following-gap);overflow:visible;background:transparent}
.compat-main__hero{position:relative;z-index:1;display:block;align-self:center;width:calc(100vw - (var(--app-hero-inline) * 2));height:var(--app-hero-height);flex:0 0 var(--app-hero-height)}
.compat-main__orbit-group{--compat-orbit-center-right:53px;--compat-orbit-center-y:80px;position:absolute;z-index:1;inset:0;pointer-events:none;transform:translate(calc(var(--compat-orbit-center-right) - var(--hero-orbit-center-right)),calc(var(--hero-orbit-center-y) - var(--compat-orbit-center-y)))}
.compat-main__orbit{position:absolute;display:block;max-width:none;pointer-events:none;opacity:.68}
.compat-main__orbit--outer{right:calc(var(--compat-orbit-center-right) - 115px);top:27px;width:230px;height:105px;transform:rotate(22deg)}
.compat-main__orbit--inner{right:calc(var(--compat-orbit-center-right) - 72.5px);top:47px;width:145px;height:65px;transform:rotate(22deg)}
.compat-main__motif{position:absolute;top:47px;right:20px;width:66px;height:66px}
.compat-main__orbit-stroke{stroke-dasharray:1;stroke-dashoffset:0}
.main-ui.compatibility-entering #page-compat :is(button,a,input,textarea,select,[role="button"]){pointer-events:none!important}
.main-ui.compatibility-entering .compat-main__hero,.main-ui.compatibility-entering .hero-card-eyebrow__icon,.main-ui.compatibility-entering .hero-card-eyebrow>span,.main-ui.compatibility-entering .hero-card-eyebrow__divider,.main-ui.compatibility-entering .hero-card-copy__title,.main-ui.compatibility-entering .hero-card-copy__caption,.main-ui.compatibility-entering .hero-card-copy__line,.main-ui.compatibility-entering .hero-card-copy__line-dot,.main-ui.compatibility-entering .compat-main__saved,.main-ui.compatibility-entering .compat-main__saved>* ,.main-ui.compatibility-entering .compat-main__cta,.main-ui.compatibility-entering .compat-main__note{will-change:transform,opacity}
.main-ui.compatibility-entering .compat-main__hero{animation:compatibility-enter-hero 780ms 0ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .hero-card-eyebrow__icon{animation:compatibility-enter-scale 480ms 130ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .hero-card-eyebrow>span{animation:compatibility-enter-soft 560ms 170ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__orbit-stroke--outer{animation:compatibility-orbit-draw 1100ms 180ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__orbit-stroke--inner{animation:compatibility-orbit-draw 1050ms 240ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__orbit-stroke--motif{animation:compatibility-orbit-draw 1000ms 290ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__motif-fill{animation:compatibility-enter-fade 550ms 260ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__orbit-dot{animation:compatibility-enter-fade 420ms 470ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .hero-card-copy__title{animation:compatibility-enter-copy 660ms 300ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .hero-card-copy__caption{animation:compatibility-enter-soft 600ms 390ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__saved{animation:compatibility-enter-panel 680ms 750ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__saved>.compat-main__badge{animation:compatibility-enter-soft 520ms 820ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__saved>h2{animation:compatibility-enter-soft 560ms 880ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__cta{animation:compatibility-enter-cta 620ms 900ms cubic-bezier(.16,1,.3,1) both}
.main-ui.compatibility-entering .compat-main__note{animation:compatibility-enter-soft 600ms 1050ms cubic-bezier(.16,1,.3,1) both}
@keyframes compatibility-enter-hero{from{opacity:.05;transform:translateY(5px) scale(.996)}to{opacity:1;transform:none}}
@keyframes compatibility-enter-soft{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
@keyframes compatibility-enter-copy{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}
@keyframes compatibility-enter-scale{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
@keyframes compatibility-enter-panel{from{opacity:0;transform:translateY(7px) scale(.997)}to{opacity:1;transform:none}}
@keyframes compatibility-enter-cta{from{opacity:0;transform:translateY(6px) scale(.992)}to{opacity:1;transform:none}}
@keyframes compatibility-enter-fade{from{opacity:0}to{opacity:1}}
@keyframes compatibility-orbit-draw{from{stroke-dashoffset:1;opacity:.12}to{stroke-dashoffset:0;opacity:1}}
@media(prefers-reduced-motion:reduce){
  .main-ui.compatibility-entering .compat-main__hero,.main-ui.compatibility-entering .hero-card-eyebrow__icon,.main-ui.compatibility-entering .hero-card-eyebrow>span,.main-ui.compatibility-entering .hero-card-eyebrow__divider,.main-ui.compatibility-entering .compat-main__orbit-stroke,.main-ui.compatibility-entering .compat-main__motif-fill,.main-ui.compatibility-entering .compat-main__orbit-dot,.main-ui.compatibility-entering .hero-card-copy__title,.main-ui.compatibility-entering .hero-card-copy__caption,.main-ui.compatibility-entering .hero-card-copy__line,.main-ui.compatibility-entering .hero-card-copy__line-dot,.main-ui.compatibility-entering .compat-main__saved,.main-ui.compatibility-entering .compat-main__saved>*,.main-ui.compatibility-entering .compat-main__cta,.main-ui.compatibility-entering .compat-main__note{animation:forecast-enter-reduced 180ms ease both}
}
.compat-main__saved{position:relative;display:flex;width:calc(100vw - (var(--app-hero-inline) * 2));height:auto;min-height:0;align-self:center;padding:16px;flex-direction:column;gap:8px;overflow:hidden;border:1px solid rgba(191,178,255,.12);border-radius:24px;background:linear-gradient(0deg,rgba(31,28,56,.15),rgba(10,10,26,.05) 60%,rgba(0,0,0,.08)),rgba(13,14,36,.72);box-shadow:0 4px 16px rgba(0,0,0,.22),inset 0 -2px 10px rgba(0,0,0,.15),inset 0 1px 8px rgba(178,166,255,.06);backdrop-filter:blur(12px)}
.compat-main__badge{display:inline-flex;width:max-content;max-width:none;height:22px;align-items:center;gap:4px;padding:0 8px 0 7px;flex-wrap:nowrap;white-space:nowrap;border:1px solid rgba(143,130,245,.16);border-radius:999px;color:rgba(140,135,255,.75);background:rgba(115,92,255,.06);font-size:8.5px;font-weight:600;letter-spacing:.8px}
.compat-main__badge img{width:9px;height:10px}
.compat-main__badge span{width:auto;max-width:none;flex:0 0 auto;white-space:nowrap;overflow-wrap:normal;word-break:normal}
.compat-main__saved h2{color:#f7f5ff;font-size:19px;font-weight:600;line-height:24px;letter-spacing:.228px}
.compat-main--with-people{gap:16px}
.compat-main__saved--populated{gap:6px;padding:16px 16px 14px}
.compat-main__saved--populated .compat-main__badge{width:max-content;max-width:none;height:24px;flex:0 0 24px}
.compat-main__saved--populated .compat-main__badge img{width:10px;height:12px}
.compat-main__people-list,.compat-main__people-extra-inner{display:flex;width:100%;min-width:0;flex-direction:column;gap:6px}
.compat-main__person{display:flex;width:100%;height:61px;min-height:61px;align-items:center;gap:12px;padding:13px 12px;overflow:hidden;border:0;border-radius:12px;color:inherit;background:transparent;text-align:left}
.compat-main__person:active{background:rgba(115,92,255,.035)}
.compat-main__person:focus-visible{outline:1px solid rgba(160,148,255,.34);outline-offset:-1px}
.compat-main__person-avatar{display:grid;width:34px;height:34px;flex:0 0 34px;place-items:center;overflow:hidden;border-radius:17px;color:rgba(153,145,209,.9);background:rgba(64,56,115,.22);font-size:14px;font-weight:600;line-height:normal}
.compat-main__person-copy{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:2px;overflow:hidden;line-height:normal}
.compat-main__person-copy strong,.compat-main__person-copy small{display:block;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compat-main__person-copy strong{color:#f7f5ff;font-size:15px;font-weight:500}
.compat-main__person-copy small{color:rgba(122,127,168,.7);font-size:12px;font-weight:400}
.compat-main__person-divider{width:min(300px,100%);height:1px;min-height:1px;background:rgba(140,128,217,.07)}
.compat-main__more-region{display:flex;width:100%;min-width:0;flex-direction:column;gap:0}
.compat-main__people-extra{display:block;width:100%;height:0;min-width:0;min-height:0;overflow:hidden}
.compat-main__people-extra-inner{min-height:0;padding-top:6px;overflow:hidden}
.compat-main__more-region.is-expanded .compat-main__people-extra{height:auto}
.compat-main__show-more{display:flex;width:calc(100% + 2px);height:34px;min-height:34px;align-items:center;justify-content:center;gap:6px;padding:0;border:0;color:rgba(140,128,245,.6);background:transparent;font-size:13px;font-weight:500;line-height:normal}
.compat-main__show-more img{display:block;width:10px;height:6px;transition:transform 600ms cubic-bezier(.16,1,.3,1)}
.compat-main__show-more.is-expanded img{transform:rotate(180deg)}
.compat-main__cta{position:relative;width:calc(100vw - (var(--app-hero-inline) * 2));height:44px;flex:0 0 44px;align-self:center;border:1px solid rgba(160,148,255,.28);border-radius:999px;color:#fff;background:linear-gradient(90deg,rgba(160,150,255,.18),rgba(120,110,230,.06) 35%,rgba(80,70,200,.02) 65%,rgba(100,90,210,.1)),rgba(55,48,130,.45);box-shadow:0 2px 24px rgba(89,71,229,.12),0 4px 16px rgba(0,0,0,.2),inset 0 -1px 3px rgba(0,0,0,.15),inset 0 1px 2px rgba(200,190,255,.22);font-size:15px;font-weight:600;backdrop-filter:blur(10px)}
.compat-main__note{margin:0;color:#7a7fa8;font-size:11px;font-weight:400;line-height:16px;text-align:center}
@media(prefers-reduced-motion:reduce){.compat-main__show-more img{transition:none}}
@media(max-width:370px){.compat-main{width:calc(100% - (var(--app-hero-inline) * 2))}.compat-main__motif{width:60px;height:60px;flex-basis:60px}.compat-main__note br{display:none}}

/* Shared native scroll physics for Forecast, Compatibility and Chat. */
.app-native-scroller{
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior-x:auto;
  overscroll-behavior-y:contain;
  touch-action:pan-y;
  scroll-behavior:auto;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
}

/* Figma Chat — current source of truth / node 384:483 */
.main-ui[data-active-page="chat"]{--forecast-page-background:#040615;background:var(--forecast-page-background)}
#page-chat{
  position:relative;
  z-index:1;
  box-sizing:border-box;
  padding-top:calc(var(--forecast-header-row-height) + env(safe-area-inset-top));
  padding-right:0;
  padding-bottom:0;
  padding-left:0;
  overflow:hidden;
  background:transparent;
}
#page-chat .chat-screen{
  --chat-composer-bottom:calc(var(--bottom-nav-height) + max(8px,env(safe-area-inset-bottom)) + 15px);
  --chat-scroll-bottom-clearance:calc(var(--chat-composer-bottom) + 65px);
  --chat-scroll-button-bottom:calc(var(--chat-composer-bottom) + 61px);
  position:relative;
  display:flex;
  width:100%;
  height:100%;
  min-height:0;
  flex:1 1 0%;
  flex-direction:column;
  gap:0;
  padding-top:0;
  overflow:hidden;
  background:transparent;
}
#page-chat .chat-dialog-toolbar{
  position:absolute;
  top:26px;
  right:20px;
  left:20px;
  z-index:10;
  display:flex;
  width:auto;
  min-height:36px;
  flex:none;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0;
  padding:0 12px;
  border:.5px solid rgba(255,255,255,.03);
  border-radius:18px;
  background:rgba(13,14,36,.72);
  box-shadow:inset 0 1px rgba(255,255,255,.018);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
#page-chat .chat-dialog-selector,
#page-chat .chat-new-dialog,
#page-chat .chat-dialog-menu__item,
#page-chat .chat-quick-question{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  color:inherit;
  font:inherit;
}
#page-chat .chat-dialog-selector{
  display:flex;
  min-width:0;
  height:35px;
  flex:1 1 auto;
  align-items:center;
  gap:8px;
  padding:0;
  text-align:left;
  background:transparent;
}
#page-chat .chat-dialog-selector__mark{
  display:grid;
  width:20px;
  height:20px;
  flex:0 0 20px;
  place-items:center;
  border:1px solid rgba(140,120,255,.15);
  border-radius:50%;
  background:rgba(140,120,255,.1);
}
#page-chat .chat-dialog-selector__mark img{display:block;width:12px;height:12px}
#page-chat .chat-dialog-selector__title{
  min-width:0;
  overflow:hidden;
  color:#c8c8e6;
  font-size:13px;
  font-weight:500;
  line-height:16px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
#page-chat .chat-dialog-selector__chevron{
  display:block;
  width:18px;
  height:18px;
  flex:0 0 18px;
  transition:transform 180ms cubic-bezier(.22,1,.36,1);
}
#page-chat .chat-dialog-selector[aria-expanded="true"] .chat-dialog-selector__chevron{transform:rotate(180deg)}
#page-chat .chat-new-dialog{
  min-height:28px;
  flex:0 0 auto;
  padding:0 12px;
  border-radius:999px;
  color:rgba(255,255,255,.8);
  background:rgba(255,255,255,.035);
  font-size:11px;
  font-weight:500;
  line-height:14px;
  white-space:nowrap;
}
#page-chat .chat-dialog-menu{
  position:absolute;
  top:42px;
  right:0;
  left:0;
  z-index:10;
  display:flex;
  max-height:min(320px,50dvh);
  padding:6px;
  flex-direction:column;
  gap:3px;
  overflow-y:auto;
  border:1px solid rgba(199,189,255,.1);
  border-radius:16px;
  background:rgba(13,14,36,.94);
  box-shadow:0 18px 44px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  transform-origin:top center;
  animation:chat-dialog-menu-in 180ms cubic-bezier(.22,1,.36,1) both;
}
#page-chat .chat-dialog-menu[hidden]{display:none}
#page-chat .chat-dialog-menu__item{
  display:flex;
  width:100%;
  min-width:0;
  padding:10px;
  flex-direction:column;
  gap:3px;
  border-radius:11px;
  text-align:left;
  background:transparent;
}
#page-chat .chat-dialog-menu__item.is-active{background:rgba(140,120,255,.1)}
#page-chat .chat-dialog-menu__item strong{overflow:hidden;color:#f7f4ff;font-size:13px;font-weight:600;line-height:16px;text-overflow:ellipsis;white-space:nowrap}
#page-chat .chat-dialog-menu__item small{overflow:hidden;color:#8f94ba;font-size:11px;font-weight:400;line-height:14px;text-overflow:ellipsis;white-space:nowrap}
#page-chat .chat-dialog-menu__empty{padding:12px;color:#8f94ba;font-size:12px;text-align:center}
#page-chat .chat-empty-state{
  position:relative;
  z-index:1;
  display:flex;
  width:100%;
  flex:0 0 auto;
  margin:0;
  flex-direction:column;
  gap:12px;
}
#page-chat .chat-empty-state[hidden]{display:none}
#page-chat .chat-welcome-bubble{
  box-sizing:border-box;
  width:auto;
  max-width:min(280px,100%);
  height:auto;
  min-height:0;
  max-height:none;
  padding:12px 16px 14px;
  overflow:visible;
  border:.5px solid rgba(199,189,255,.1);
  border-radius:18px 18px 18px 6px;
  color:#f7f4ff;
  background:rgba(31,33,61,.38);
  box-shadow:inset 0 -1px 4px rgba(0,0,0,.05),inset 0 1px 6px rgba(191,184,255,.07);
  font-size:15px;
  font-weight:400;
  line-height:1.4;
  white-space:normal;
  overflow-wrap:break-word;
  word-break:normal;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  animation:chat-empty-item-in 320ms 100ms cubic-bezier(.22,1,.36,1) both;
}
#page-chat .chat-quick-questions{display:flex;flex-direction:column;gap:8px}
#page-chat .chat-quick-question{
  display:flex;
  width:100%;
  height:40px;
  align-items:center;
  gap:10px;
  padding:0 10px;
  border:.5px solid rgba(255,255,255,.03);
  border-radius:12px;
  color:#c8c8e6;
  background:rgba(255,255,255,.02);
  font-size:13px;
  font-weight:400;
  line-height:16px;
  text-align:left;
  animation:chat-empty-item-in 320ms cubic-bezier(.22,1,.36,1) both;
}
#page-chat .chat-quick-question:nth-child(1){animation-delay:150ms}
#page-chat .chat-quick-question:nth-child(2){animation-delay:200ms}
#page-chat .chat-quick-question:nth-child(3){animation-delay:250ms}
#page-chat .chat-quick-question:nth-child(4){animation-delay:300ms}
#page-chat .chat-quick-question img{display:block;width:16px;height:16px;flex:0 0 16px}
#page-chat .chat-quick-question:active{transform:scale(.987);border-color:rgba(191,178,255,.12)}
#page-chat .chat-quick-question:disabled{opacity:.5}
#page-chat .chat-messages{
  position:absolute;
  inset:0;
  z-index:1;
  display:block;
  height:auto;
  flex:none;
  min-height:0;
  padding:74px 20px 0;
  scroll-padding-bottom:24px;
  background:transparent;
}
#page-chat .chat-messages::after{position:absolute;top:100%;left:0;width:1px;height:1px;content:"";pointer-events:none}
#page-chat .chat-message-stream{
  box-sizing:border-box;
  display:block;
  width:100%;
  min-width:0;
  min-height:min-content;
  padding-bottom:var(--chat-scroll-bottom-clearance);
  overflow:visible;
  background:transparent;
}
#page-chat .chat-messages::-webkit-scrollbar{display:none}
#page-chat .chat-message-row{margin-bottom:14px}
#page-chat .chat-bubble--assistant{
  border:.5px solid rgba(199,189,255,.1);
  border-radius:18px 18px 18px 6px;
  background:rgba(31,33,61,.52);
  box-shadow:inset 0 -1px 4px rgba(0,0,0,.05),inset 0 1px 6px rgba(191,184,255,.07);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
#page-chat .chat-bubble--user{
  border:1px solid rgba(178,166,255,.14);
  background:linear-gradient(135deg,rgba(92,82,198,.88),rgba(54,61,151,.9));
  box-shadow:0 8px 20px rgba(30,24,105,.18),inset 0 1px rgba(255,255,255,.1);
}
#page-chat .chat-composer-area{
  position:absolute;
  right:0;
  bottom:var(--chat-composer-bottom);
  left:0;
  z-index:20;
  flex:none;
  margin:0;
  padding:0 20px 1px;
  border:0;
  background:transparent;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  pointer-events:auto;
}
#page-chat .chat-limit-indicator{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
  white-space:nowrap;
}
#page-chat .chat-composer-row{
  box-sizing:border-box;
  display:flex;
  width:100%;
  min-height:48px;
  align-items:center;
  gap:12px;
  padding:6px 12px 6px 16px;
  border:.5px solid rgba(255,255,255,.03);
  border-radius:24px;
  background:rgba(13,14,36,.72);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}
#page-chat .chat-input{
  min-width:0;
  min-height:34px;
  max-height:96px;
  padding:7px 0;
  overflow-y:auto;
  border:0;
  border-radius:0;
  color:#f7f4ff;
  background:transparent;
  box-shadow:none;
  font-size:14px;
  font-weight:400;
  line-height:20px;
}
#page-chat .chat-input::placeholder{color:#a9afd3;opacity:1}
#page-chat .chat-input:focus{border:0;box-shadow:none}
#page-chat .chat-send-button{
  display:grid;
  width:34px;
  height:34px;
  flex:0 0 34px;
  place-items:center;
  border:.5px solid rgba(191,178,255,.12);
  border-radius:50%;
  color:#fff;
  background:rgba(191,178,255,.12);
  box-shadow:none;
}
#page-chat .chat-send-button img{display:block;width:14px;height:14px}
#page-chat .chat-send-button:disabled{opacity:.52;filter:none;background:rgba(191,178,255,.12)}
#page-chat .chat-scroll-down{right:20px;bottom:var(--chat-scroll-button-bottom)}
@keyframes chat-dialog-menu-in{from{opacity:0;transform:translateY(-3px) scale(.98)}to{opacity:1;transform:none}}
@keyframes chat-empty-item-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  #page-chat .chat-dialog-menu,
  #page-chat .chat-welcome-bubble,
  #page-chat .chat-quick-question{animation:none}
  #page-chat .chat-dialog-selector__chevron{transition:none}
}
@media(max-width:359px){
  #page-chat .chat-dialog-toolbar{right:16px;left:16px;width:auto;margin:0}
  #page-chat .chat-empty-state{width:100%;margin-right:0;margin-left:0}
  #page-chat .chat-messages{padding-right:16px;padding-left:16px}
  #page-chat .chat-composer-area{padding-right:16px;padding-left:16px}
  #page-chat .chat-send-button{width:34px;height:34px;flex-basis:34px}
}

/* Figma Profile - Main / node 91:157 */
.main-ui[data-active-page="profile"]{--forecast-page-background:#040615;min-height:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--forecast-page-background)}
#page-profile{height:100%;min-height:0;flex:1 1 0%;padding:calc(var(--forecast-header-row-height) + env(safe-area-inset-top)) 0 0;overflow:hidden;overscroll-behavior:none;background:transparent}
#page-profile.active{display:flex;flex-direction:column}
#page-profile .profile-main{width:min(100%,430px);height:100%;min-height:0;flex:1 1 0%;margin:0 auto;padding:33px 16px calc(var(--bottom-nav-height) + max(8px,env(safe-area-inset-bottom)) + var(--dock-viewport-inset,0px) + 28px);overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;touch-action:pan-y;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#page-profile .profile-main::-webkit-scrollbar{display:none}
#page-profile .profile-dossier{position:relative;width:100%;min-height:92px;margin:0 0 21px;padding:0;overflow:visible;border-radius:0;background:transparent;box-shadow:none}
#page-profile .profile-dossier::before,#page-profile .profile-dossier::after{display:none}
#page-profile .profile-dossier .profile-block{display:flex;width:100%;max-width:none;min-height:92px;align-items:flex-start;justify-items:initial;gap:0;padding:0 112px 0 0;flex-direction:column;text-align:left}
#page-profile .profile-dossier #profilePageName{width:100%;margin:0 0 5px;color:#f7f5ff;font-size:32px;font-weight:500;line-height:36px;letter-spacing:0;text-align:left}
#page-profile .profile-dossier #profilePageSummary{display:block;width:100%;margin:0 0 4px;color:#b8bbd7;font-size:13px;font-weight:400;line-height:18px;text-align:left}
#page-profile .profile-dossier #profilePageSummary span{white-space:normal;overflow-wrap:break-word}
#page-profile .profile-dossier .profile-meta-line{width:100%;max-width:none;margin:0;color:#b8bbd7;font-size:13px;font-weight:400;line-height:18px;text-align:left}
#page-profile .profile-dossier .profile-big3{display:none}
#page-profile #profileAvatarButton{position:absolute;top:50%;right:24px;z-index:2;display:grid;width:72px;height:72px;margin:0;place-items:center;transform:translateY(-50%);border:1px solid rgba(191,178,255,.12);border-radius:50%;color:#f7f5ff;background:rgba(255,255,255,.03);box-shadow:inset 0 0 0 4px #07091d,inset 0 0 0 5px rgba(191,178,255,.12),0 0 28px rgba(93,76,255,.06);font-family:Marcellus,Georgia,serif;font-size:24px;font-weight:400}
#page-profile #profileAvatarButton.avatar-launch{font-size:26px;font-weight:400}
#page-profile .profile-hero-cta{width:auto;min-height:34px;margin-top:9px;padding:0 18px;font-size:12px}
#page-profile .profile-hero-cta[hidden]{display:none}
#page-profile .profile-tools-card{width:100%;margin:0 0 33px;padding:0;border-radius:0;background:transparent;box-shadow:none}
#page-profile .profile-section-heading{gap:6px;margin:0 0 12px}
#page-profile .profile-section-heading p{color:#b8bbd7;font-size:13px;font-weight:400;line-height:18px}
#page-profile .profile-section-pill{display:flex;width:max-content;min-height:19px;align-items:center;gap:6px;margin:0;padding:4px 10px 4px 8px;border:.5px solid rgba(143,130,245,.16);border-radius:999px;color:rgba(140,135,255,.75);background:rgba(115,92,255,.06);font-size:9px;font-weight:600;line-height:11px;letter-spacing:.8px}
#page-profile .profile-section-pill img{display:block;width:10px;height:10px;flex:0 0 10px}
#page-profile .profile-tools-accordion{gap:8px}
#page-profile .tool-accordion{border:1px solid rgba(191,178,255,.06);border-radius:24px;background:rgba(13,14,36,.72);box-shadow:0 4px 8px rgba(0,0,0,.22),inset 0 -2px 10px rgba(0,0,0,.15),inset 0 1px 8px rgba(178,166,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#page-profile .tool-accordion__head{min-height:60px;padding:14px 16px;gap:12px}
#page-profile .tool-accordion__icon{display:grid;width:32px;height:32px;flex:0 0 32px;place-items:center;border-radius:8px;background:transparent;box-shadow:none}
#page-profile .tool-accordion__icon img{display:block;width:20px;height:20px}
#page-profile .tool-accordion__copy{gap:2px}
#page-profile .tool-accordion__copy strong{font-size:14px;font-weight:600;line-height:17px;letter-spacing:0}
#page-profile .tool-accordion__copy small{color:#b8bbd7;font-size:12px;font-weight:400;line-height:15px}
#page-profile .tool-accordion__chevron{display:grid;width:14px;height:14px;place-items:center;transform:none}
#page-profile .tool-accordion__chevron img{display:block;width:14px;height:14px}
#page-profile .tool-accordion.open .tool-accordion__chevron{transform:rotate(90deg)}
#page-profile .tool-accordion.open{background:linear-gradient(165deg,rgba(17,25,58,.98),rgba(30,18,66,.98))}
#page-profile .tool-accordion.open .tool-accordion__icon{transform:none;background:transparent;box-shadow:none;filter:none}
#page-profile .profile-access{display:flex;width:100%;margin:0;flex-direction:column;gap:12px}
#page-profile .profile-access-card{position:relative;display:flex;width:100%;padding:18px;flex-direction:column;gap:12px;overflow:hidden;border:1px solid rgba(191,178,255,.06);border-radius:24px;background:rgba(13,14,36,.72);box-shadow:0 4px 8px rgba(0,0,0,.22),inset 0 -2px 10px rgba(0,0,0,.15),inset 0 1px 8px rgba(178,166,255,.06);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
#page-profile .profile-access-card__head{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:12px}
#page-profile .profile-access-card__head strong{color:#f7f5ff;font-family:Marcellus,Georgia,serif;font-size:22px;font-weight:400;line-height:27px}
#page-profile .profile-access-card__head span{color:rgba(140,135,255,.75);font-size:12px;font-weight:600;line-height:15px;white-space:nowrap}
#page-profile .profile-access-card__line{height:1px;background:linear-gradient(90deg,rgba(140,135,255,.3),transparent)}
#page-profile .profile-access-card ul{display:flex;margin:0;padding:0;flex-direction:column;gap:8px;list-style:none}
#page-profile .profile-access-card li{display:flex;align-items:flex-start;gap:8px;color:#b8bbd7;font-size:13px;font-weight:400;line-height:17px}
#page-profile .profile-access-card li::before{width:14px;height:14px;flex:0 0 14px;background:url("assets/profile/check.svg") center/14px 14px no-repeat;content:""}
#page-profile .profile-access-card__cta{width:100%;height:42px;border:1px solid rgba(160,148,255,.28);border-radius:999px;color:#f7f5ff;background:linear-gradient(90deg,rgba(160,150,255,.18),rgba(120,110,230,.06) 35%,rgba(80,70,200,.02) 65%,rgba(100,90,210,.1)),rgba(55,48,130,.45);box-shadow:0 2px 24px rgba(89,71,229,.12),0 4px 16px rgba(0,0,0,.2),inset 0 -1px 3px rgba(0,0,0,.15),inset 0 1px 2px rgba(200,190,255,.22);font-size:13px;font-weight:600}
#page-profile .profile-access-card__cta[hidden]{display:none}
#page-profile .profile-detail-shell{margin-top:20px}
@media(max-width:370px){#page-profile .profile-main{padding-right:12px;padding-left:12px}#page-profile .profile-dossier .profile-block{padding-right:96px}#page-profile #profileAvatarButton{right:12px}#page-profile .tool-accordion__head{padding-right:12px;padding-left:12px;gap:9px}#page-profile .tool-accordion__copy small{font-size:11px}}
.compatibility-premium-dock__crown .compat-icon{width:31px;height:31px}
.compatibility-premium-dock ul{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px 13px;
  margin:13px 0 14px;
  padding:0;
  list-style:none;
}
.compatibility-premium-dock li{
  position:relative;
  min-width:0;
  padding-left:19px;
  color:#d7d8ed;
  font-size:11px;
  line-height:1.3;
}
.compatibility-premium-dock li::before{
  content:"";
  position:absolute;
  left:1px;
  top:2px;
  width:10px;
  height:6px;
  border-left:1.5px solid #a789ff;
  border-bottom:1.5px solid #a789ff;
  transform:rotate(-45deg);
}
.compatibility-premium-dock__button{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  width:100%;
  min-height:54px;
  padding:12px 16px;
  border:1px solid rgba(203,151,255,.38);
  border-radius:15px;
  color:white;
  background:linear-gradient(135deg,#755dff,#8e27db);
  box-shadow:0 10px 26px rgba(91,39,208,.34),inset 0 1px rgba(255,255,255,.15);
  font-size:16px;
  font-weight:850;
}
.compatibility-premium-dock__button .compat-icon{width:19px;height:19px}
.compatibility-premium-dock__button:focus-visible{outline:2px solid #e0c9ff;outline-offset:3px}
.compatibility-premium-dock__button:disabled{opacity:.68;cursor:wait}
@media(max-width:349px){
  .compatibility-premium-dock{left:10px;right:10px;padding:14px}
  .compatibility-premium-dock__content h2{font-size:19px}
  .compatibility-premium-dock ul{grid-template-columns:minmax(0,1fr);gap:5px;margin:10px 0 11px}
  .compatibility-premium-dock__button{min-height:50px}
}

/* Standalone Connection flow. It reuses the existing partner mechanics and API layer. */
.partner-modal-center{display:grid;min-width:0;gap:0}
.partner-modal-title{display:none;color:#f7f5ff;font-size:15px;font-weight:650;line-height:20px;text-align:center}
.time-dial-planet-ring{position:absolute;inset:0;z-index:3;transition:transform .45s cubic-bezier(.22,.74,.18,1)}
.time-planet-glyph{position:absolute;display:grid;width:28px;height:28px;place-items:center;color:rgba(221,215,255,.25);opacity:.24;filter:blur(1.6px);transition:opacity .35s ease,filter .35s ease,transform .45s ease}
.time-planet-glyph.near{opacity:.52;filter:blur(.5px)}
.time-planet-glyph.active{color:#f7f4ff;opacity:1;filter:none}
.time-planet-glyph.far{opacity:.12;filter:blur(2px)}
.time-planet-icon{display:block;width:22px;height:22px;overflow:visible;vector-effect:non-scaling-stroke}
.partner-name-hero{display:grid;width:190px;height:190px;margin:0 auto;place-items:center}
.partner-name-hero img{display:block;width:100%;height:100%;object-fit:contain}
.partner-gender-portrait{display:flex;width:100%;height:156px;align-items:flex-end;justify-content:center;overflow:hidden;border-radius:20px}
.partner-gender-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom}
.partner-orbit-heart img{display:block;width:44px;height:44px}
.partner-orbit-node span{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#fff 0 8%,#9eeaff 22%,#7b7cff 58%,rgba(123,124,255,.18) 100%);box-shadow:inset 0 1px 3px rgba(255,255,255,.48)}
.partner-orbit-stars i{position:absolute;inset:26px;border:1px solid rgba(170,159,255,.1);border-radius:50%}
.partner-orbit-stars i:last-child{inset:58px}
.connection-completion-visual{position:relative;width:180px;height:180px;margin:0 auto;display:grid;place-items:center;isolation:isolate}
.connection-completion-visual:before{content:"";position:absolute;inset:20px;z-index:-1;border-radius:50%;background:radial-gradient(circle at 48% 42%,rgba(112,96,217,.11),rgba(31,27,73,.035) 58%,transparent 76%);pointer-events:none}
.connection-completion-ring{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;transform:rotate(-90deg);transform-origin:50% 50%;shape-rendering:geometricPrecision}
.connection-completion-ring-track,.connection-completion-ring-value{fill:none;stroke-width:8}
.connection-completion-ring-track{stroke:rgba(157,148,188,.14)}
.connection-completion-ring-value{stroke:url(#connectionCompletionGradient);stroke-dasharray:100;stroke-dashoffset:100;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(119,100,224,.2));transition:stroke-dashoffset 140ms linear}
.connection-completion-percent{position:relative;display:block;min-width:76px;color:#f5f0e8;font-family:"Astra Welcome Inter",Inter,system-ui,-apple-system,sans-serif;font-size:30px;font-weight:600;line-height:36px;letter-spacing:-.02em;text-align:center;font-variant-numeric:tabular-nums lining-nums}
.connection-completion-kicker{color:#aaa0ff;font-size:11px;font-weight:700;line-height:14px;letter-spacing:.14em}
.connection-completion-copy{display:grid;gap:8px}
.connection-insight{width:min(100%,360px);margin:0 auto;text-align:left}
.connection-completion-error{display:grid;gap:10px;color:#ffd3dc;text-align:center}
.connection-completion-error p{margin:0}

html.connection-route,html.connection-route body{width:100%;height:var(--connection-stable-height,100dvh);min-height:var(--connection-stable-height,100dvh);overflow:hidden;overscroll-behavior:none;background:var(--registration-canvas-color);background-color:var(--registration-canvas-color)}
html.connection-route body{position:fixed;inset:0;-webkit-overflow-scrolling:auto}
.connection-route .desktop-bg,.connection-route #onboarding,.connection-route #mainUi,.connection-route #settingsView{display:none!important}
.connection-route .app-shell{width:100%;max-width:none;height:var(--connection-stable-height,100dvh);min-height:var(--connection-stable-height,100dvh);margin:0;overflow:hidden;border:0;border-radius:0;background:transparent;box-shadow:none}
.connection-route .app-shell::before{display:none}
.connection-route .partner-modal{position:fixed;inset:0;display:block!important;width:100%;height:var(--connection-stable-height,100dvh);padding:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}
.connection-route .partner-modal-card{width:100%;max-width:none;height:100%;max-height:none;margin:0;border:0;border-radius:0;background:transparent;box-shadow:none}
.connection-route .partner-modal-shell{width:min(100%,430px);height:100%;margin:0 auto;padding:calc(env(safe-area-inset-top) + 12px) var(--registration-canvas-inline) calc(env(safe-area-inset-bottom) + 20px);background:transparent}
.connection-route .partner-modal-shell::before,.connection-route .partner-modal-shell::after{content:none;display:none;background:none}
.connection-route .partner-modal-top{position:relative;display:block;height:58px;flex:0 0 58px;background:transparent;border:0}
.connection-route .partner-modal-center{position:absolute;right:0;bottom:3px;left:0;display:block}
.connection-route .partner-modal-title{display:none!important}
.connection-route .partner-modal-progress{width:100%;height:3px;background:rgba(255,255,255,.09);box-shadow:none}
.connection-route .partner-modal-progress span{background:linear-gradient(90deg,#7f70ff,#b889ff);transition:width .46s cubic-bezier(.16,1,.3,1)}
.connection-route .partner-modal-back{position:absolute;top:0;left:0;z-index:2}
.connection-route .partner-modal-close{display:none!important}
.connection-route .partner-modal[data-connection-step="intro"] .partner-modal-top{height:40px;flex-basis:40px}
.connection-route .partner-modal[data-connection-step="intro"] .partner-modal-center{display:none}
.connection-route .partner-modal[data-connection-step="intro"] .partner-modal-top{position:fixed;top:calc(env(safe-area-inset-top) + 12px);right:24px;left:24px;z-index:3;width:auto;flex:0 0 auto}
.connection-route .partner-modal[data-connection-step="intro"] .partner-step[data-pstep="0"]{position:relative}
.connection-route .partner-modal[data-connection-step="intro"] .partner-step-body{position:fixed;top:calc(env(safe-area-inset-top) + 64px);right:24px;left:24px;z-index:1;display:grid;height:auto;min-height:0;grid-template-rows:320px auto;align-content:start;gap:48px;padding:0;overflow:visible}
.connection-route .partner-modal[data-connection-step="intro"] .partner-orbit-hero{align-self:center;justify-self:center}
.connection-route .partner-modal[data-connection-step="intro"] .partner-copy{display:grid;width:100%;max-width:none;margin:0;gap:16px;text-align:left}
.connection-route .partner-modal[data-connection-step="intro"] .partner-copy .serif-title{margin:0;color:#f5f0e8;font-family:"Astra Welcome Playfair",Georgia,"Times New Roman",serif;font-size:32px;font-weight:600;line-height:40px;letter-spacing:0;text-align:left}
.connection-route .partner-modal[data-connection-step="intro"] .partner-copy p{width:100%;margin:0;color:#9b96b0;font-family:"Astra Welcome Inter",Inter,system-ui,-apple-system,sans-serif;font-size:16px;font-weight:400;line-height:24px;text-align:left}
.connection-route .partner-modal[data-connection-step="intro"] .partner-step-actions.on-cta-stack{position:fixed;right:24px;bottom:calc(var(--connection-stable-height,100dvh) - 742px - env(safe-area-inset-top));left:24px;z-index:2;width:auto;height:64px;margin:0;padding:0}
.connection-route .partner-modal[data-connection-step="name"] .partner-modal-shell{padding:calc(env(safe-area-inset-top) + 2px) 24px calc(env(safe-area-inset-bottom) + 16px)}
.connection-route .partner-modal[data-connection-step="name"] .partner-modal-top{position:relative;display:block;height:60px;flex:0 0 60px}
.connection-route .partner-modal[data-connection-step="name"] .partner-modal-back{top:8px;left:0;width:81px;height:28px;padding:6px;border:0;border-radius:99px;background:transparent url("assets/compatibility/connection-name-chevron-left.svg") 6px center/16px 16px no-repeat;color:transparent;font-size:0}
.connection-route .partner-modal[data-connection-step="name"] .partner-modal-center{position:static;display:block}
.connection-route .partner-modal[data-connection-step="name"] .partner-modal-title{position:absolute;top:0;right:81px;left:81px;display:flex!important;height:44px;align-items:center;justify-content:center;color:#f5f0e8;font-family:"Astra Welcome Inter",Inter,system-ui,-apple-system,sans-serif;font-size:16px;font-weight:500;line-height:normal;text-align:center}
.connection-route .partner-modal[data-connection-step="name"] .partner-modal-progress{position:absolute;top:54px;right:0;left:0;width:100%;height:6px;overflow:hidden;border:.5px solid rgba(128,115,217,.1);border-radius:999px;background:rgba(20,18,41,.45);box-shadow:inset 0 .5px 2px rgba(0,0,0,.25)}
.connection-route .partner-modal[data-connection-step="name"] .partner-modal-progress span{height:100%;border:.5px solid rgba(166,153,255,.22);border-radius:999px;background:linear-gradient(90deg,rgba(153,140,255,.302),rgba(115,102,235,.051) 50%,rgba(128,115,242,.18)),rgba(97,82,224,.85);box-shadow:inset 0 0 4px rgba(140,122,255,.15),inset 0 .75px 1.5px rgba(191,178,255,.35),0 0 8px -1px rgba(102,82,229,.18);opacity:.8}
.connection-route .partner-modal[data-connection-step="name"] .partner-step[data-pstep="1"]{gap:0}
.connection-route .partner-modal[data-connection-step="name"] .partner-step-body{display:grid;grid-template-rows:150px auto 52px;flex:0 0 auto;align-content:start;gap:12px;padding:12px 0 0;overflow:visible}
.connection-route .partner-modal[data-connection-step="name"] .partner-name-hero{display:grid;width:100%;height:150px;margin:0;place-items:center}
.connection-route .partner-modal[data-connection-step="name"] .partner-name-hero img{display:block;width:280px;height:140px;max-width:none;object-fit:contain}
.connection-route .partner-modal[data-connection-step="name"] .partner-copy{display:grid;width:100%;max-width:none;margin:0;gap:8px;text-align:left}
.connection-route .partner-modal[data-connection-step="name"] .partner-copy .serif-title{margin:0;color:#f5f0e8;font-family:"Astra Welcome Playfair",Georgia,"Times New Roman",serif;font-size:32px;font-weight:600;line-height:36px;letter-spacing:0;text-align:left}
.connection-route .partner-modal[data-connection-step="name"] .partner-copy p{width:100%;margin:0;color:#9b96b0;font-family:"Astra Welcome Inter",Inter,system-ui,-apple-system,sans-serif;font-size:15px;font-weight:400;line-height:22px;text-align:left}
.connection-route .partner-modal[data-connection-step="name"] .partner-step-actions.on-cta-stack{position:fixed;right:24px;bottom:calc(var(--connection-stable-height,100dvh) - 742px - env(safe-area-inset-top));left:24px;z-index:2;width:auto;height:64px;margin:0;padding:0}
.connection-route .partner-modal[data-connection-step="name"] #partnerNameNext::after{background-image:url("assets/onboarding/name-arrow-right.svg")}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-modal-shell{padding:calc(env(safe-area-inset-top) + 2px) 24px calc(env(safe-area-inset-bottom) + 20px)}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-modal-top{position:relative;display:block;height:60px;flex:0 0 60px}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-modal-back{top:8px;left:0;width:81px;height:28px;padding:6px;border:0;border-radius:99px;background:transparent url("assets/onboarding/focus-chevron-left.svg") 6px center/16px 16px no-repeat;color:transparent;font-size:0}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-modal-center{position:static;display:block}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-modal-title{position:absolute;top:0;right:81px;left:81px;display:flex!important;height:44px;align-items:center;justify-content:center;color:#f5f0e8;font-family:"Astra Welcome Inter",Inter,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:normal;text-align:center}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-modal-progress{position:absolute;top:54px;right:0;left:0;width:100%;height:6px;overflow:hidden;border:.5px solid rgba(128,115,217,.1);border-radius:999px;background:rgba(20,18,41,.45);box-shadow:inset 0 .5px 2px rgba(0,0,0,.25)}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-modal-progress span{height:100%;border:.5px solid rgba(166,153,255,.22);border-radius:999px;background:linear-gradient(90deg,rgba(153,140,255,.3),rgba(115,102,235,.05) 50%,rgba(128,115,242,.18)),rgba(97,82,224,.85);box-shadow:inset 0 0 4px rgba(140,122,255,.15),inset 0 .75px 1.5px rgba(191,178,255,.35),0 0 8px -1px rgba(102,82,229,.18);opacity:.8}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-step[data-pstep="2"]{gap:0;padding:10px 0 0;overflow:visible}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-step-body{display:flex;flex:1 1 auto;justify-content:flex-start;gap:16px;padding:0;overflow:visible}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-copy{display:grid;flex:0 0 104px;width:100%;max-width:none;margin:0;gap:10px;text-align:left}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-copy .serif-title{max-width:342px;margin:0;color:#f5f0e8;font-family:"Astra Welcome Playfair",Georgia,serif;font-size:30px;font-weight:600;line-height:36px;letter-spacing:0;text-align:left}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-copy p{margin:0;color:#9b96b0;font-family:"Astra Welcome Inter",Inter,system-ui,sans-serif;font-size:15px;font-weight:400;line-height:22px;text-align:left}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-picker{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:0 0 140px;width:100%;height:140px;min-height:140px;gap:0;margin:0;overflow:hidden}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-highlight{position:absolute;left:0;right:0;top:50%;z-index:0;height:40px;transform:translateY(-50%);border:.5px solid rgba(178,166,242,.18);border-radius:14px;background:linear-gradient(0deg,rgba(140,128,235,.08),rgba(115,102,217,.03) 40%,rgba(64,51,166,0)),rgba(56,46,107,.18);box-shadow:inset 0 -1px 4px rgba(20,15,46,.12),inset 0 1px 6px rgba(166,153,255,.06),0 0 12px -2px rgba(89,71,184,.08);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-picker:before,.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-picker:after{content:"";position:absolute;left:0;right:0;z-index:3;height:32px;pointer-events:none}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-picker:before{top:0;background:linear-gradient(180deg,#040615,rgba(4,6,21,0))}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-picker:after{bottom:0;background:linear-gradient(0deg,#040615,rgba(4,6,21,0))}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-column{position:relative;z-index:1;min-width:0;height:140px;overflow-y:auto;overflow-x:hidden;padding:50px 0;scroll-snap-type:y mandatory;scroll-behavior:smooth;scrollbar-width:none;-webkit-overflow-scrolling:touch;-webkit-mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent);mask-image:linear-gradient(180deg,transparent,#000 20%,#000 80%,transparent)}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-column+.birth-wheel-column{border-left:.5px solid rgba(142,132,199,.1)}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-item{height:40px;padding:0 8px;display:grid;place-items:center;color:#9b96b0;font-family:"Astra Welcome Inter",Inter,system-ui,sans-serif;font-size:15px;font-weight:400;line-height:18px;text-align:center;scroll-snap-align:center;opacity:.24;filter:none;transition:color .18s ease,opacity .18s ease}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-item.near{color:#9b96b0;opacity:.55}
.connection-route .partner-modal[data-connection-step="birthDate"] .birth-wheel-item.selected{color:#f5f0e8;font-size:17px;font-weight:600;opacity:1}
.connection-route .partner-modal[data-connection-step="birthDate"] .partner-step-actions.on-cta-stack{position:fixed;right:0;bottom:calc(var(--connection-stable-height,100dvh) - 742px - env(safe-area-inset-top));left:0;z-index:4;width:auto;height:64px;margin:0;padding:0}
.connection-route .partner-modal[data-connection-step="birthDate"] #partnerDateNext{width:100%;max-width:none;height:64px;min-height:64px;margin:0;padding:0 24px;display:flex;align-items:center;justify-content:space-between;text-transform:none}
.connection-route .partner-modal[data-connection-step="birthDate"] #partnerDateNext:after{content:"";position:static;width:20px;height:20px;flex:0 0 20px;background:url("assets/onboarding/focus-arrow-right.svg") center/20px 20px no-repeat}

/* Connection — Birth Time screen chrome; dial visuals come only from registrationBirthTime.css. */
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-modal-shell{padding:calc(env(safe-area-inset-top) + 2px) 24px calc(env(safe-area-inset-bottom) + 16px)}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-modal-top{position:relative;display:block;height:60px;flex:0 0 60px}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-modal-back{top:8px;left:0;width:81px;height:28px;padding:6px;border:0;border-radius:99px;background:transparent url("assets/onboarding/focus-chevron-left.svg") 6px center/16px 16px no-repeat;color:transparent;font-size:0}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-modal-center{position:static;display:block}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-modal-title{position:absolute;top:0;right:81px;left:81px;display:flex!important;height:44px;align-items:center;justify-content:center;color:#f5f0e8;font-family:"Astra Welcome Inter",Inter,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:normal;text-align:center}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-modal-progress{position:absolute;top:54px;right:0;left:0;width:100%;height:6px;overflow:hidden;border:.5px solid rgba(128,115,217,.1);border-radius:999px;background:rgba(20,18,41,.45);box-shadow:inset 0 .5px 2px rgba(0,0,0,.25)}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-modal-progress span{height:100%;border:.5px solid rgba(166,153,255,.22);border-radius:999px;background:linear-gradient(90deg,rgba(153,140,255,.302),rgba(115,102,235,.051) 50%,rgba(128,115,242,.18)),rgba(97,82,224,.85);box-shadow:inset 0 0 4px rgba(140,122,255,.15),inset 0 .75px 1.5px rgba(191,178,255,.35),0 0 8px -1px rgba(102,82,229,.18);opacity:.8}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-step[data-pstep="3"]{gap:10px;padding:10px 0 0;overflow:hidden;text-align:left}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-step-body{display:flex;flex:0 0 auto;justify-content:flex-start;gap:16px;padding:0;overflow:visible}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-copy{display:grid;flex:0 0 138px;width:100%;max-width:none;margin:0;gap:8px;text-align:left}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-copy .serif-title{max-width:342px;margin:0;color:#f5f0e8;font-family:"Astra Welcome Playfair",Georgia,serif;font-size:30px;font-weight:600;line-height:36px;letter-spacing:0;text-align:left}
.connection-route .partner-modal[data-connection-step="birthTime"] .partner-copy p{margin:0;color:#9b96b0;font-family:"Astra Welcome Inter",Inter,system-ui,sans-serif;font-size:15px;font-weight:400;line-height:22px;text-align:left}
.connection-route .partner-modal[data-connection-step="birthTime"] .birth-time-bottom-actions{display:grid;grid-template-rows:64px 48px;flex:0 0 122px;width:100%;height:122px;gap:10px;margin:0;padding:0}
.connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeNext{width:100%;max-width:none;height:64px;min-height:64px;margin:0;padding:0 24px;display:flex;align-items:center;justify-content:space-between;text-transform:none}
.connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeNext:after{content:"";position:static;width:20px;height:20px;flex:0 0 20px;background:url("assets/onboarding/focus-arrow-right.svg") center/20px 20px no-repeat}
.connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeUnknown{width:100%;height:48px;margin:0;padding:0 16px;border:0;outline:0;background:transparent;background-color:transparent;background-image:none;border-radius:0;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none;color:#9b96b0;font-family:"Astra Welcome Inter",Inter,system-ui,sans-serif;font-size:15px;font-weight:500;line-height:normal}
.connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeUnknown:before,.connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeUnknown:after{content:none!important;display:none!important}

/* Connection — Birth Place chrome; component visuals come only from registrationBirthPlace.css. */
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-modal-shell{padding:calc(env(safe-area-inset-top) + 2px) 24px calc(env(safe-area-inset-bottom) + 20px)}
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-modal-top{position:relative;display:block;height:60px;flex:0 0 60px}
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-modal-back{top:8px;left:0;width:81px;height:28px;padding:6px;border:0;border-radius:99px;background:transparent url("assets/onboarding/birth-place-chevron-left.svg") 6px center/16px 16px no-repeat;color:transparent;font-size:0}
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-modal-center{position:static;display:block}
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-modal-title{position:absolute;top:0;right:81px;left:81px;display:flex!important;height:44px;align-items:center;justify-content:center;color:#f5f0e8;font-family:"Astra Welcome Inter",Inter,system-ui,sans-serif;font-size:16px;font-weight:500;line-height:normal;text-align:center}
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-modal-progress{position:absolute;top:54px;right:0;left:0;width:100%;height:6px;overflow:hidden;border:.5px solid rgba(128,115,217,.1);border-radius:999px;background:rgba(20,18,41,.45);box-shadow:inset 0 .5px 2px rgba(0,0,0,.25)}
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-modal-progress span{height:100%;border:.5px solid rgba(166,153,255,.22);border-radius:999px;background:linear-gradient(90deg,rgba(153,140,255,.3),rgba(115,102,235,.05) 50%,rgba(128,115,242,.18)),rgba(97,82,224,.85);box-shadow:inset 0 0 4px rgba(140,122,255,.15),inset 0 .75px 1.5px rgba(191,178,255,.35),0 0 8px -1px rgba(102,82,229,.18);opacity:.8}
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-step[data-pstep="4"]{gap:0;padding:0;overflow:visible;text-align:left}
.connection-route .partner-modal[data-connection-step="birthPlace"] .partner-step-actions.on-cta-stack{position:fixed;right:24px;bottom:calc(var(--connection-stable-height,100dvh) - 742px - env(safe-area-inset-top));left:24px;z-index:4;width:auto;height:64px;margin:0;padding:0}

.connection-route .partner-step{min-height:0}
.connection-route .partner-step-body{gap:clamp(10px,2.2dvh,18px);padding:clamp(8px,1.8dvh,16px) 0 4px;overflow:hidden}
.connection-route .partner-step-actions{padding-top:12px}
.connection-route .partner-copy{display:grid;gap:7px}
.connection-route .partner-copy .serif-title{margin:0;color:#f7f5ff;font-family:Georgia,serif;font-size:clamp(28px,7.7vw,34px);font-weight:400;line-height:1.06;letter-spacing:-.025em}
.connection-route .partner-copy p{margin:0;color:#aeb2d2;font-size:14px;line-height:19px}
.connection-route .partner-orbit-hero{width:280px;height:280px;min-width:280px;min-height:280px;flex:0 0 280px;margin-bottom:0}
.connection-route .partner-orbit-hero>img:first-child{display:block;width:280px;height:280px;max-width:none;object-fit:contain;image-rendering:auto}
.connection-route .partner-name-hero{width:clamp(145px,40vw,180px);height:clamp(145px,40vw,180px)}
.connection-route .partner-step .soft-input{height:56px;border:1px solid rgba(190,178,255,.13);border-radius:18px;color:#f7f5ff;background:rgba(32,31,76,.38);box-shadow:inset 0 1px rgba(255,255,255,.04);font-size:16px;outline:none;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.connection-route .partner-step .soft-input:focus{border-color:rgba(175,151,255,.42);box-shadow:inset 0 1px rgba(255,255,255,.08)}
.connection-route .partner-astro-hero{height:clamp(185px,26dvh,220px)}
.connection-route .birth-wheel-picker{flex:0 0 var(--registration-wheel-picker-height,150px);height:var(--registration-wheel-picker-height,150px);min-height:var(--registration-wheel-picker-height,150px)}
.connection-route .partner-gender-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.connection-route .partner-gender-grid .persona-card{min-height:220px;height:220px}
.connection-route .partner-modal[data-connection-step="genderRelationship"] .partner-step[data-pstep="5"]{justify-content:flex-start}
.connection-route .partner-modal[data-connection-step="genderRelationship"] .partner-step[data-pstep="5"] .partner-step-body{
  justify-content:flex-start;
  gap:18px;
  padding:24px 0 4px;
}
.connection-route .partner-modal[data-connection-step="genderRelationship"] .partner-step[data-pstep="5"] .step-copy{
  position:static;
  inset-block-start:auto;
  width:100%;
  max-width:none;
  margin:0;
  text-align:left;
}
.connection-route .partner-modal[data-connection-step="genderRelationship"] .partner-step[data-pstep="5"] .step-copy .serif-title,
.connection-route .partner-modal[data-connection-step="genderRelationship"] .partner-step[data-pstep="5"] .step-copy p{text-align:left}
.connection-route .partner-modal[data-connection-step="genderRelationship"] #showCompatibility{text-transform:none}
.connection-route .partner-gender-portrait{height:clamp(125px,20dvh,165px)}
.connection-route .partner-relation-field{margin-top:0}
.connection-route #partnerRelationType{padding:0 44px 0 16px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23cfc7ff' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='m7 10 5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center}
.connection-route .partner-form-error{min-height:18px;margin:0;font-size:13px}
.connection-route .partner-step--completion .partner-step-body{justify-content:center}
.connection-route .connection-completion-visual{width:clamp(150px,22dvh,180px);height:clamp(150px,22dvh,180px)}
.connection-route #connectionCompletionCta{text-transform:none}
.connection-route .connection-insight{height:100px;min-height:100px}
@media(max-height:720px){
  .connection-route .partner-modal-shell{padding-top:calc(env(safe-area-inset-top) + 8px);padding-bottom:calc(env(safe-area-inset-bottom) + 10px)}
  .connection-route .partner-step-body{gap:8px;padding-top:6px}
  .connection-route .partner-copy .serif-title{font-size:27px}
  .connection-route .partner-copy p{font-size:13px;line-height:17px}
  .connection-route .partner-astro-hero{height:178px}
  .connection-route .birth-wheel-picker{flex-basis:132px;height:132px;min-height:132px}
  .connection-route .partner-gender-portrait{height:118px}
  .connection-route .connection-insight p{font-size:14px;line-height:19px}
}
@media(max-height:760px){
  .connection-route .partner-modal[data-connection-step="birthDate"] .partner-step[data-pstep="2"]{gap:4px;padding-top:5px}
  .connection-route .partner-modal[data-connection-step="intro"] .partner-step-body{top:calc(env(safe-area-inset-top) + 40px);grid-template-rows:250px auto;gap:24px}
  .connection-route .partner-modal[data-connection-step="intro"] .partner-orbit-hero{width:240px;height:240px;min-width:240px;min-height:240px;flex-basis:240px}
  .connection-route .partner-modal[data-connection-step="intro"] .partner-orbit-hero>img:first-child{width:240px;height:240px}
  .connection-route .partner-modal[data-connection-step="intro"] .partner-copy .serif-title{font-size:32px;line-height:40px}
  .connection-route .partner-modal[data-connection-step="intro"] .partner-copy p{font-size:16px;line-height:24px}
  .connection-route .partner-modal[data-connection-step="intro"] .partner-step-actions.on-cta-stack{bottom:calc(var(--connection-stable-height,100dvh) - 568px - env(safe-area-inset-top))}
  .connection-route .partner-modal[data-connection-step="name"] .partner-step-actions.on-cta-stack{bottom:calc(var(--connection-stable-height,100dvh) - 568px - env(safe-area-inset-top))}
}
@media(max-height:760px){
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-modal-shell{padding-top:calc(env(safe-area-inset-top) + 2px);padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-step[data-pstep="3"]{gap:8px;padding-top:6px}
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-step-body{gap:8px;padding:0}
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-copy{flex-basis:111px;gap:4px}
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-copy .serif-title{font-size:26px;line-height:30px}
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-copy p{font-size:13px;line-height:17px}
  .connection-route .partner-modal[data-connection-step="birthTime"] .birth-time-bottom-actions{grid-template-rows:58px 40px;flex-basis:106px;height:106px;gap:8px}
  .connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeNext{height:58px;min-height:58px}
  .connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeUnknown{height:40px}
}
@media(max-height:720px){
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-step[data-pstep="3"]{gap:6px;padding-top:4px}
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-step-body{gap:6px}
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-copy{flex-basis:108px}
  .connection-route .partner-modal[data-connection-step="birthTime"] .partner-copy .serif-title{font-size:25px;line-height:29px}
  .connection-route .partner-modal[data-connection-step="birthTime"] .birth-time-bottom-actions{grid-template-rows:56px 34px;flex-basis:96px;height:96px;gap:6px}
  .connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeNext{height:56px;min-height:56px}
  .connection-route .partner-modal[data-connection-step="birthTime"] #partnerTimeUnknown{height:34px}
}
@media(min-width:760px){
  .connection-route .app-shell,.connection-route .partner-modal-card{width:100%;height:var(--connection-stable-height,100dvh);margin:0;border-radius:0}
}
@media(prefers-reduced-motion:reduce){
  .connection-route .partner-orbit-node,.connection-route .partner-orbit-heart{animation:none!important}
}

/* Figma Compatibility - Detail Free / node 555:603 */
.compat-figma-result{
  --compat-figma-surface:rgba(13,14,36,.72);
  --compat-figma-border:rgba(191,178,255,.12);
  --compat-locked-label:#7a7fa8;
  --compat-relationship-accent:#9a8fff;
  --compat-relationship-muted:var(--compat-locked-label);
  display:block;
  position:relative;
  width:100%;
  max-width:720px;
  height:100%!important;
  min-height:0;
  max-height:none!important;
  margin:0 auto;
  padding:0;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  overscroll-behavior-y:contain;
  scroll-padding-bottom:var(--compat-result-scroll-bottom-clearance);
  touch-action:pan-y;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  color:#f7f4ff;
  background:transparent;
  --compat-result-scroll-bottom-clearance:calc(max(16px,env(safe-area-inset-bottom)) + 24px);
}
.compat-conversion-view.compat-figma-result{padding-bottom:0}
.compat-figma-result::-webkit-scrollbar{display:none}
body.compat-result-entering :is(.app-top-layer,.bottom-nav,#page-compat) :is(button,a,input,textarea,select,[role="button"]){pointer-events:none!important}
.compat-figma-result.is-entering [data-compat-enter]{
  --compat-enter-delay:0ms;
  --compat-enter-duration:500ms;
  opacity:0;
  transform:translate3d(0,7px,0);
  filter:blur(2px);
  will-change:opacity,transform,filter;
  transition:
    opacity var(--compat-enter-duration) ease var(--compat-enter-delay),
    transform var(--compat-enter-duration) cubic-bezier(.22,1,.36,1) var(--compat-enter-delay),
    filter var(--compat-enter-duration) ease var(--compat-enter-delay);
}
.compat-figma-result.is-entering.is-entered [data-compat-enter]{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
.compat-figma-result.is-entering [data-compat-enter="summary"]{--compat-enter-duration:620ms;transform:translate3d(0,8px,0);filter:blur(3px)}
.compat-figma-result.is-entering [data-compat-enter="summary-person"]{--compat-enter-delay:90ms;--compat-enter-duration:520ms;transform:translate3d(0,4px,0);filter:blur(0)}
.compat-figma-result.is-entering [data-compat-enter="score"]{--compat-enter-delay:140ms;--compat-enter-duration:560ms;transform:scale(.985);filter:blur(0)}
.compat-figma-result.is-entering [data-compat-enter="score-label"]{--compat-enter-delay:200ms;--compat-enter-duration:440ms;transform:none;filter:blur(0)}
.compat-figma-result.is-entering [data-compat-enter="summary-label"]{--compat-enter-delay:220ms;--compat-enter-duration:460ms;transform:translate3d(0,4px,0);filter:blur(0)}
.compat-figma-result.is-entering [data-compat-enter="summary-title"]{--compat-enter-delay:280ms;--compat-enter-duration:500ms;transform:translate3d(0,5px,0);filter:blur(1px)}
.compat-figma-result.is-entering [data-compat-enter="summary-open"]{--compat-enter-delay:330ms;--compat-enter-duration:500ms;transform:translate3d(0,5px,0);filter:blur(1px)}
.compat-figma-result.is-entering [data-compat-enter="summary-locked"]{--compat-enter-delay:400ms;--compat-enter-duration:420ms;transform:translate3d(0,4px,0);filter:blur(1px)}
.compat-figma-result.is-entering [data-compat-enter="subheader"]{--compat-enter-delay:600ms;--compat-enter-duration:440ms;transform:translate3d(0,-4px,0);filter:none}
.compat-figma-result.is-entering [data-compat-enter="primary-cta"]{--compat-enter-delay:730ms;--compat-enter-duration:460ms;transform:translate3d(0,6px,0)}
.compat-figma-result.is-entering [data-compat-enter="cta-note"]{--compat-enter-delay:800ms;--compat-enter-duration:420ms;transform:translate3d(0,5px,0);filter:blur(1px)}
.compat-figma-result.is-entering [data-compat-enter="secondary-cta"]{--compat-enter-delay:870ms;--compat-enter-duration:460ms;transform:translate3d(0,6px,0)}
.compat-figma-result.is-entering [data-compat-enter="dynamics"]{--compat-enter-delay:980ms;--compat-enter-duration:500ms}
.compat-figma-result.is-entering [data-compat-enter="relationship-cards"]{--compat-enter-delay:1070ms;--compat-enter-duration:520ms}
.compat-figma-result.is-entering [data-compat-enter="inside"]{--compat-enter-delay:1170ms;--compat-enter-duration:480ms}
.compat-figma-result.is-entering [data-compat-enter="locked-groups"]{--compat-enter-delay:1240ms;--compat-enter-duration:500ms}
.compat-figma-result.is-entering [data-compat-enter="disclaimer"]{--compat-enter-delay:1320ms;--compat-enter-duration:420ms}
.compat-figma-result.is-entering:not(.is-entered) .compat-figma-score-value{stroke-dashoffset:100!important}
.compat-figma-result.is-entering .compat-figma-score-value{transition:stroke-dashoffset 750ms cubic-bezier(.16,1,.3,1) 120ms}
.compat-figma-result.has-premium-dock{padding-bottom:0}
.compat-figma-subheader{
  position:relative;
  z-index:12;
  display:flex;
  align-items:center;
  gap:12px;
  width:100%;
  min-height:48px;
  padding:12px 16px;
  border:0;
  outline:0;
  color:inherit;
  background:transparent;
  background-color:transparent;
  background-image:none;
  box-shadow:none;
  backdrop-filter:none;
  -webkit-backdrop-filter:none;
  font:inherit;
  text-align:left;
  cursor:pointer;
  appearance:none;
  -webkit-appearance:none;
  -webkit-tap-highlight-color:transparent;
}
.compat-figma-subheader::before,.compat-figma-subheader::after{content:none;background:none;box-shadow:none}
.compat-figma-subheader:hover,.compat-figma-subheader:active,.compat-figma-subheader:focus{border:0;background:transparent;background-color:transparent;background-image:none;box-shadow:none;transform:none}
.compat-figma-subheader>*{pointer-events:none}
.compat-figma-subheader strong{font-size:14px;font-weight:600;line-height:1;letter-spacing:1px;text-transform:uppercase}
.compat-figma-back-icon{display:grid;place-items:center;width:16px;height:24px;flex:0 0 16px;color:#9a8fff}
.compat-figma-back-icon img{display:block;width:16px;height:16px}
.compat-figma-content{display:flex;flex-direction:column;gap:20px;width:100%;height:auto;min-height:0;max-height:none;padding:8px 16px var(--compat-result-scroll-bottom-clearance);overflow:visible}
.compat-figma-result.compat-figma-result--loading{display:flex;flex-direction:column;overflow:hidden!important;overscroll-behavior:none;touch-action:none}
.compat-figma-loading-content{display:grid;flex:1 1 auto;width:100%;min-height:0;height:100%;place-items:center;padding:0;overflow:hidden;overscroll-behavior:none;touch-action:none}
.compat-figma-loading-heart{position:relative;display:grid;place-items:center;width:88px;height:80px}
.compat-figma-loading-heart::before{content:"";position:absolute;inset:8px;border-radius:50%;background:radial-gradient(circle,rgba(157,122,255,.38),transparent 68%);filter:blur(8px);animation:compat-figma-loading-heart-glow 1.15s ease-in-out infinite;pointer-events:none}
.compat-figma-loading-heart svg{position:relative;z-index:1;display:block;width:64px;height:64px;transform-origin:center;animation:compat-figma-loading-heart-beat 1.15s ease-in-out infinite;filter:drop-shadow(0 0 16px rgba(157,122,255,.42))}
.compat-figma-loading-heart svg path{fill:#d8d0ff;stroke:#9a8fff;stroke-width:.6}
@keyframes compat-figma-loading-heart-beat{0%,100%{transform:scale(1);opacity:.88}14%{transform:scale(1.14);opacity:1}28%{transform:scale(.96);opacity:.9}42%{transform:scale(1.08);opacity:1}70%{transform:scale(1);opacity:.88}}
@keyframes compat-figma-loading-heart-glow{0%,100%{opacity:.55;transform:scale(.92)}14%,42%{opacity:1;transform:scale(1.08)}70%{opacity:.6;transform:scale(.96)}}
@keyframes compat-figma-loading-heart-fade{0%,100%{opacity:.48}50%{opacity:1}}
.compat-figma-summary-card{
  display:flex;
  flex-direction:column;
  gap:16px;
  width:100%;
  padding:20px 20px 28px;
  overflow:hidden;
  border:.75px solid var(--compat-figma-border);
  border-radius:24px;
  background:var(--compat-figma-surface);
  box-shadow:inset 0 1px rgba(255,255,255,.025);
}
.compat-figma-pair{display:flex;align-items:center;justify-content:space-between;width:100%}
.compat-figma-person{display:flex;flex:0 0 92px;flex-direction:column;align-items:center;gap:6px;min-width:92px;text-align:center}
.compat-figma-zodiac-sphere{
  position:relative;
  display:block;
  width:66px;
  height:66px;
  border:1.5px solid rgba(178,155,255,.4);
  border-radius:50%;
  overflow:hidden;
  background:#141530;
}
.compat-figma-zodiac-slot,.compat-figma-moon-slot{position:absolute;left:50%;display:grid;place-items:center;margin:0;padding:0;transform:translateX(-50%);pointer-events:none}
.compat-figma-zodiac-slot{top:7px;width:28px;height:27px}
.compat-figma-moon-slot{bottom:7px;width:17px;height:17px}
.compat-figma-zodiac-slot .compat-figma-zodiac-glyph{display:block;width:25px;height:25px;max-width:25px;max-height:25px;margin:0;object-fit:contain;image-rendering:auto}
.compat-figma-moon-slot .compat-figma-moon{display:block;width:15px;height:15px;max-width:15px;max-height:15px;margin:0;object-fit:contain;opacity:.9}
.compat-figma-person>strong{width:100%;max-width:92px;overflow:visible;font-size:13px;font-weight:600;line-height:1.12;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-align:center}
.compat-figma-person>strong.is-long{font-size:12px;line-height:1.15}
.compat-figma-person>small{width:100%;max-width:92px;color:#7a7fa8;font-size:11px;line-height:1;white-space:nowrap;text-align:center}
.compat-figma-score{position:relative;display:grid;place-items:center;width:96px;height:96px;margin:0 -4px}
.compat-figma-score svg{position:absolute;inset:0;display:block;width:96px;height:96px;overflow:visible;transform:rotate(-90deg)}
.compat-figma-score circle{fill:none;stroke-width:6}
.compat-figma-score-track{stroke:rgba(191,178,255,.14)}
.compat-figma-score-value{stroke:url(#compat-figma-score-gradient);stroke-linecap:round;filter:drop-shadow(0 0 5px rgba(117,92,255,.35));transition:stroke-dashoffset 650ms cubic-bezier(.22,1,.36,1)}
.compat-figma-score strong{position:relative;max-width:72px;font-size:clamp(22px,6.15vw,25px);font-weight:600;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.5px;text-align:center;white-space:nowrap}
.compat-figma-divider{width:100%;height:1px;background:rgba(191,178,255,.09)}
.compat-figma-summary-copy{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;height:auto;min-height:0;overflow:visible;isolation:auto}
.compat-figma-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  height:19px;
  min-height:19px;
  flex:0 0 19px;
  box-sizing:border-box;
  padding:0 10px 0 8px;
  border:.5px solid rgba(143,130,245,.24);
  border-radius:999px;
  color:#9a8fff;
  background:rgba(115,92,255,.15);
}
.compat-figma-pill>img,.compat-figma-pill>svg{display:block;flex:0 0 auto;align-self:center;width:10px;height:10px;margin:0;object-fit:contain}
.compat-figma-pill>b{display:block;margin:0;padding:0;transform:translateY(1px);font-size:9px;font-weight:600;line-height:1;letter-spacing:.8px;text-transform:uppercase;white-space:nowrap}
.compat-figma-summary-copy h1,.compat-figma-section h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500}
.compat-figma-summary-copy h1{margin:0;max-width:100%;overflow:visible;font-size:22px;line-height:27px;white-space:normal;overflow-wrap:break-word;text-overflow:unset;flex:0 0 auto;display:block}
.compat-figma-summary-text{position:relative;display:grid;width:100%;max-width:100%;gap:0;overflow:visible}
.compat-figma-summary-open{position:relative;z-index:1;margin:0;color:#f6f3ff;font-size:14px;font-weight:700;line-height:1.45}
.compat-figma-result.is-free .compat-figma-summary-copy{overflow:visible}
.compat-figma-result.is-free .compat-figma-summary-text{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:visible}
.compat-figma-result.is-free .compat-figma-summary-open{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  flex:0 0 auto;
}
.compat-figma-result.is-free .compat-figma-summary-locked{position:relative;flex:1 1 auto;min-height:96px;overflow:visible}
.compat-figma-result.is-free .compat-figma-summary-locked::before{
  content:"";
  position:absolute;
  left:-12px;
  right:-12px;
  bottom:-18px;
  z-index:2;
  height:96px;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(13,14,36,0) 0%,rgba(13,14,36,.06) 42%,rgba(13,14,36,.28) 72%,rgba(13,14,36,.55) 100%);
  -webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 58%,#000 100%);
  mask-image:linear-gradient(180deg,transparent 0%,#000 58%,#000 100%);
}
.compat-figma-summary-locked{
  position:relative;
  height:auto;
  min-height:0;
  max-height:none;
  margin-top:0;
  padding-top:0;
  overflow:visible;
  border:0;
  background:none;
  box-shadow:none;
}
.compat-figma-summary-locked-fade{
  display:block;
  box-sizing:border-box;
  width:auto;
  max-width:none;
  margin:-4px -12px -6px;
  padding:4px 12px 36px;
  overflow:visible;
  mask-image:linear-gradient(180deg,#000 0%,#000 42%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.16) 88%,transparent 100%);
  -webkit-mask-image:linear-gradient(180deg,#000 0%,#000 42%,rgba(0,0,0,.55) 70%,rgba(0,0,0,.16) 88%,transparent 100%);
  mask-repeat:no-repeat;
  -webkit-mask-repeat:no-repeat;
  mask-size:100% 100%;
  -webkit-mask-size:100% 100%;
}
.compat-figma-summary-locked-copy{
  display:block;
  width:auto;
  max-width:none;
  margin:0;
  padding:0;
  box-sizing:border-box;
  color:rgba(246,243,255,.76);
  font-size:14px;
  font-weight:700;
  line-height:1.45;
  filter:blur(2.5px);
  -webkit-filter:blur(2.5px);
  user-select:none;
  pointer-events:none;
}
.compat-figma-summary-lock{position:absolute;z-index:3;left:50%;top:50%;display:grid;place-items:center;width:40px;height:40px;transform:translate(-50%,-50%);pointer-events:none}
.compat-figma-summary-lock img{display:block;width:30px;height:37px;filter:drop-shadow(0 0 3px rgba(38,26,77,.3))}
.compat-figma-actions{display:flex;flex-direction:column;gap:8px;width:100%;text-align:center}
.compat-figma-actions>small:empty{display:none}
.compat-figma-primary,.compat-figma-secondary{display:flex;align-items:center;justify-content:center;width:100%;height:44px;border-radius:999px;font-size:14px;text-transform:none}
.compat-figma-primary{
  border:1px solid rgba(160,148,255,.28);
  color:#fff;
  background:linear-gradient(90deg,rgba(55,48,130,.63),rgba(55,48,130,.42));
  box-shadow:inset 0 -1px 3px rgba(0,0,0,.15),inset 0 1px 2px rgba(200,190,255,.22),0 4px 16px rgba(0,0,0,.2),0 2px 24px rgba(89,71,229,.12);
  font-size:15px;
  font-weight:600;
}
.compat-figma-actions>small{color:#7a7fa8;font-size:11px;line-height:1.3}
.compat-figma-secondary{border:1px solid rgba(143,130,245,.24);color:#adb2d3;background:transparent;font-weight:500}
.compat-figma-section{display:flex;flex-direction:column;gap:12px;width:100%}
.compat-figma-section>header{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.compat-figma-section h2{margin:0;font-size:22px;line-height:1.1}
.compat-figma-sphere-list{display:flex;flex-direction:column;gap:8px;width:100%}
.compat-figma-sphere-row{
  width:100%;
  border:.75px solid var(--compat-figma-border);
  border-radius:20px;
  color:#f7f4ff;
  background:var(--compat-figma-surface);
}
button.compat-figma-sphere-row,.compat-figma-result.is-free .compat-figma-sphere-row.is-locked{display:flex;align-items:center;justify-content:space-between;min-height:54px;padding:16px;text-align:left}
.compat-figma-row-title{display:flex;align-items:center;gap:10px;min-width:0}
.compat-figma-row-title>img{display:block;width:18px;height:18px;object-fit:contain}
.compat-figma-row-title>span,.compat-figma-row-title>strong{font-size:14px;font-weight:400;line-height:1}
.compat-figma-sphere-row.is-locked .compat-figma-row-title{opacity:.6;color:var(--compat-locked-label)}
.compat-figma-small-lock{display:block;width:14px;height:14px;object-fit:contain}
.compat-figma-attraction{display:block;overflow:hidden;padding:0;transform:translateY(0);transition:background-color 480ms cubic-bezier(.16,1,.3,1),border-color 480ms ease,box-shadow 550ms cubic-bezier(.16,1,.3,1),transform 550ms cubic-bezier(.16,1,.3,1)}
.compat-figma-attraction.is-open:not(.is-closing){background-color:rgba(17,18,46,.78);border-color:rgba(191,178,255,.17);box-shadow:inset 0 1px 0 rgba(255,255,255,.035),0 10px 28px rgba(5,7,24,.13);transform:translateY(-1px)}
.compat-figma-attraction-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:49px;padding:8px 16px;color:#f7f4ff;text-align:left}
.compat-figma-attraction-trigger .compat-figma-row-title>strong{font-size:15px;font-weight:600;opacity:.94;transition:opacity 480ms cubic-bezier(.16,1,.3,1),color 480ms ease}
.compat-figma-attraction.is-open:not(.is-closing) .compat-figma-attraction-trigger .compat-figma-row-title>strong{opacity:1}
.compat-figma-attraction-score{display:flex;align-items:center;gap:8px;color:#9a8fff;font-size:15px;font-weight:700;white-space:nowrap;opacity:.82;transform:translateX(0);transition:opacity 480ms cubic-bezier(.16,1,.3,1),transform 480ms cubic-bezier(.16,1,.3,1)}
.compat-figma-attraction.is-open:not(.is-closing) .compat-figma-attraction-score{opacity:1;transform:translateX(-1px)}
.compat-figma-attraction-score img{display:block;width:14px;height:14px;transform:rotate(0) scale(1);transition:transform 520ms cubic-bezier(.16,1,.3,1)}
.compat-figma-attraction:not(.is-open) .compat-figma-attraction-score img,.compat-figma-attraction.is-closing .compat-figma-attraction-score img{transform:rotate(180deg) scale(.96)}
.compat-figma-attraction .relationship-accordion-panel{display:block;height:0;padding:0;overflow:hidden;opacity:1}
.compat-figma-attraction.is-open:not(.is-closing) .relationship-accordion-panel{height:auto;overflow:visible}
.compat-figma-attraction .relationship-accordion-panel-inner{min-height:0;margin:0;padding:0 16px 16px;box-sizing:border-box;overflow:hidden;border:0}
.compat-figma-attraction.is-open:not(.is-closing) .relationship-accordion-panel-inner{min-height:min-content;overflow:visible}
.compat-figma-result.is-free .compat-figma-attraction .compat-figma-attraction-copy:empty{padding:0}
.compat-figma-result.is-free .compat-figma-attraction.is-empty{background-color:var(--compat-figma-surface);border-color:var(--compat-figma-border);box-shadow:none;transform:none}
.compat-figma-result.is-free .compat-figma-attraction.is-empty .relationship-accordion-panel{height:0!important;min-height:0;padding:0}
.compat-figma-result.is-free .compat-figma-attraction.is-empty .compat-figma-attraction-score img{transform:rotate(180deg) scale(.96)}
.compat-figma-result.is-free .compat-figma-attraction:has(.compat-figma-attraction-copy:empty){background-color:var(--compat-figma-surface);border-color:var(--compat-figma-border);box-shadow:none;transform:none}
.compat-figma-result.is-free .compat-figma-attraction:has(.compat-figma-attraction-copy:empty) .relationship-accordion-panel{height:0!important;min-height:0;padding:0}
.compat-figma-attraction-copy{opacity:0;transform:translateY(-5px)}
.compat-figma-attraction.is-open .compat-figma-attraction-copy{opacity:1;transform:translateY(0)}
.compat-figma-attraction-copy,.compat-figma-attraction-copy p{overflow-wrap:anywhere;white-space:pre-wrap}
.compat-figma-attraction-copy p{margin:0;color:#adb2d3;font-size:13px;line-height:18px}
.compat-figma-attraction-copy strong{color:#f7f4ff;font-weight:700}
.compat-figma-index-section{gap:8px}
.compat-figma-index-card{width:100%;overflow:hidden;border:.75px solid var(--compat-figma-border);border-radius:18px;background:var(--compat-figma-surface)}
.compat-figma-index-row{display:flex;align-items:center;justify-content:space-between;width:100%;height:58px;padding:0 20px;border-bottom:1px solid rgba(191,178,255,.06);color:rgba(247,244,255,.8);background:transparent;font-size:14px;font-weight:500;text-align:left}
.compat-figma-index-row>span{color:var(--compat-locked-label);opacity:.6}
.compat-figma-index-row:last-child{border-bottom:0}
.compat-figma-result.is-free .compat-figma-sphere-row.is-locked,.compat-figma-result.is-free .compat-figma-index-row.is-locked,.compat-figma-result.is-free .compat-figma-summary-locked{cursor:default;pointer-events:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.compat-figma-disclaimer{margin:0;color:#7a7fa8;font-size:10px;line-height:1.3;text-align:center}
.compat-figma-result:is(.is-paid-9,.is-full-29){--compat-result-scroll-bottom-clearance:calc(max(24px,env(safe-area-inset-bottom)) + 24px)}
.compat-paid9-content{gap:20px;padding-top:8px}
.compat-paid9-summary-copy{height:auto;min-height:0;overflow:visible;isolation:auto}
.compat-paid9-summary-copy h1{white-space:normal;overflow:visible;text-overflow:unset}
.compat-paid9-summary-text{margin:0;color:#adb2d3;font-size:14px;font-weight:400;line-height:20px}
.compat-paid9-share{flex:0 0 44px}
.compat-paid9-sphere{--paid9-relationship-accent:var(--compat-relationship-muted);display:block;padding:0;background:var(--compat-figma-surface)}
.compat-paid9-sphere.is-open{--paid9-relationship-accent:var(--compat-relationship-accent)}
.compat-paid9-sphere .compat-figma-row-title>strong{font-size:15px;font-weight:600}
.compat-paid9-sphere .compat-figma-attraction-score{color:var(--paid9-relationship-accent);transition:color 320ms ease,opacity 480ms cubic-bezier(.16,1,.3,1),transform 480ms cubic-bezier(.16,1,.3,1)}
.compat-paid9-accent-icon{display:block;flex:0 0 auto;color:var(--paid9-relationship-accent);background:currentColor;transition:color 320ms ease,transform 500ms cubic-bezier(.16,1,.3,1);-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:contain;mask-size:contain}
.compat-paid9-relationship-icon{width:18px;height:18px}
.compat-paid9-relationship-chevron{width:14px;height:14px;transition:color 320ms ease,transform 520ms cubic-bezier(.16,1,.3,1)}
.compat-paid9-accent-icon--zap{-webkit-mask-image:url('assets/compatibility/result/zap.svg');mask-image:url('assets/compatibility/result/zap.svg')}
.compat-paid9-accent-icon--message{-webkit-mask-image:url('assets/compatibility/result/message.svg');mask-image:url('assets/compatibility/result/message.svg')}
.compat-paid9-accent-icon--frown{-webkit-mask-image:url('assets/compatibility/result/frown.svg');mask-image:url('assets/compatibility/result/frown.svg')}
.compat-paid9-accent-icon--chevron-up{-webkit-mask-image:url('assets/compatibility/result/chevron-up.svg');mask-image:url('assets/compatibility/result/chevron-up.svg')}
.compat-paid9-sphere .compat-paid9-relationship-chevron{transform:rotate(0) scale(1)}
.compat-paid9-sphere:not(.is-open) .compat-paid9-relationship-chevron,.compat-paid9-sphere.is-closing .compat-paid9-relationship-chevron{transform:rotate(180deg) scale(.96)}
.compat-paid9-sphere .compat-figma-attraction-copy{display:flex;flex-direction:column;gap:4px;max-height:none;overflow:visible;-webkit-line-clamp:unset;line-clamp:unset}
.compat-paid9-sphere .compat-figma-attraction-copy p{margin:0;max-height:none;overflow:visible;text-overflow:unset;white-space:pre-wrap;-webkit-line-clamp:unset;line-clamp:unset;-webkit-box-orient:unset}
.compat-paid9-section{gap:16px}
.compat-paid9-section>header{gap:8px}
.compat-paid9-section .compat-figma-pill>img[src$="/chart.svg"]{width:12px;height:12px}
.compat-paid9-checklist-pill{gap:3px}
.compat-paid9-checklist-pill>img{width:18px!important;height:11px!important}
.compat-paid9-key-card{display:flex;flex-direction:column;gap:16px;width:100%;padding:24px;border:.75px solid var(--compat-figma-border);border-radius:24px;background:var(--compat-figma-surface);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.compat-paid9-key-card>strong{color:#9a8fff;font-size:14px;font-weight:600;line-height:1.2}
.compat-paid9-key-card>p{margin:0;color:#adb2d3;font-size:14px;line-height:20px}
.compat-paid9-tip{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border:.5px solid rgba(143,130,245,.24);border-radius:16px;background:rgba(115,92,255,.15)}
.compat-paid9-tip>img{display:block;width:20px;height:20px;flex:0 0 20px}
.compat-paid9-tip p{margin:0;color:#f7f4ff;font-size:13px;font-weight:400;line-height:18px}
.compat-paid9-tip strong{font-weight:700}
.compat-paid9-action-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:16px;border:.75px solid var(--compat-figma-border);border-radius:20px;background:var(--compat-figma-surface)}
.compat-paid9-action-card header{display:flex;align-items:center;gap:12px}
.compat-paid9-action-card header>span{display:grid;place-items:center;width:22px;height:22px;flex:0 0 22px;border:.5px solid rgba(143,130,245,.24);border-radius:50%;color:#9a8fff;background:rgba(115,92,255,.15);font-size:10px;font-weight:700}
.compat-paid9-action-card header>strong{color:#f7f4ff;font-size:14px;font-weight:600;line-height:1.2}
.compat-paid9-action-card>p{margin:0;color:#adb2d3;font-size:13px;line-height:17px}
.compat-paid9-full-picture>header{gap:8px}
.compat-paid9-index-card{width:100%;overflow:hidden;border:.75px solid var(--compat-figma-border);border-radius:18px;background:var(--compat-figma-surface);opacity:.65}
.compat-paid9-index-row{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:58px;padding:12px 20px;border:0;border-bottom:1px solid rgba(191,178,255,.06);color:#f7f4ff;background:transparent;text-align:left}
.compat-paid9-index-row:last-child{border-bottom:0}
.compat-paid9-index-row>span{display:flex;min-width:0;flex-direction:column;gap:2px}
.compat-paid9-index-row strong{overflow:hidden;color:#f7f4ff;font-size:14px;font-weight:500;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.compat-paid9-index-row small{overflow:hidden;color:#7a7fa8;font-size:12px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.compat-figma-result.is-paid-9 .compat-paid9-index-row.is-locked{pointer-events:none;cursor:default;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.compat-full29-content{gap:28px;padding-top:8px}
.compat-full29-content .compat-paid9-section{gap:16px}
.compat-full29-content .compat-paid9-section>header{gap:8px}
.compat-figma-result.is-full-29 .compat-figma-attraction-copy p,.compat-figma-result.is-full-29 .compat-paid9-key-card>p,.compat-figma-result.is-full-29 .compat-paid9-action-card>p{font-weight:400}
.compat-full29-cards-icon{position:relative;display:block;width:12px;height:10px;flex:0 0 12px}
.compat-full29-cards-icon i{position:absolute;display:block;width:8px;height:7px;border:1px solid currentColor;border-radius:2px}
.compat-full29-cards-icon i:first-child{left:0;top:2px}
.compat-full29-cards-icon i:last-child{right:0;top:0;background:rgba(115,92,255,.15)}
.compat-full29-behind-card{display:flex;flex-direction:column;gap:16px;width:100%;padding:24px;border:.75px solid var(--compat-figma-border);border-radius:24px;background:var(--compat-figma-surface);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.compat-full29-behind-card p{margin:0;color:#adb2d3;font-size:13px;font-weight:400;line-height:1.5}
.compat-full29-behind-card .compat-full29-behind-lead{color:#f7f4ff;font-size:14px}
.compat-full29-actions{gap:16px}
.compat-full29-path-icon,.compat-full29-planet-pill-icon{width:12px!important;height:12px!important}
.compat-full29-scenario-list{display:flex;flex-direction:column;width:100%;margin:0;padding:0 12px;list-style:none}
.compat-full29-scenario-step{position:relative;display:grid;grid-template-columns:24px minmax(0,1fr);gap:16px;min-height:71px;margin:0;padding:0}
.compat-full29-scenario-step:not(:last-child)::after{content:"";position:absolute;left:11.5px;top:24px;bottom:0;width:1px;background:rgba(143,130,245,.28)}
.compat-full29-scenario-step>span{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;border:1px solid rgba(143,130,245,.28);border-radius:50%;color:#d7d4ed;background:#08091d;font-size:11px;font-weight:600;line-height:1}
.compat-full29-scenario-step.is-active>span{border-color:#9181ff;color:#0b0b22;background:#9181ff}
.compat-full29-scenario-step>div{display:flex;min-width:0;flex-direction:column;gap:3px;padding:1px 0 14px}
.compat-full29-scenario-step strong{color:#f7f4ff;font-size:15px;font-weight:600;line-height:1.25}
.compat-full29-scenario-step.is-active strong{color:#9a8fff}
.compat-full29-scenario-step p{margin:0;color:#adb2d3;font-size:13px;font-weight:400;line-height:1.45}
.compat-full29-planet-list{display:flex;flex-direction:column;gap:6px;width:100%}
.compat-full29-planet{border:.75px solid var(--compat-figma-border);border-radius:16px;background:var(--compat-figma-surface);box-shadow:none}
.compat-full29-planet-trigger{display:grid;grid-template-columns:20px minmax(0,1fr) 14px;gap:12px;min-height:54px;padding:8px 12px;color:#f7f4ff}
.compat-full29-planet-symbol{display:grid;place-items:center;width:20px;height:20px;color:#9a8fff;font-family:Georgia,"Times New Roman",serif;font-size:18px;line-height:1}
.compat-full29-planet-label{display:flex;min-width:0;flex-direction:column;gap:2px}
.compat-full29-planet-label strong{font-size:14px;font-weight:600;line-height:1.15}
.compat-full29-planet-label small{overflow:hidden;color:#7a7fa8;font-size:11px;font-weight:400;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
.compat-full29-planet-chevron{display:block;width:12px;height:12px;opacity:.8;transform:rotate(180deg);transition:transform 420ms cubic-bezier(.16,1,.3,1)}
.compat-full29-planet.is-open .compat-full29-planet-chevron{transform:rotate(0)}
.compat-full29-planet .relationship-accordion-panel-inner{margin:0 12px;padding:0 0 0 32px;border-top:0}
.compat-full29-planet.is-open .relationship-accordion-panel{height:auto;overflow:visible}
.compat-full29-planet.is-open .relationship-accordion-panel-inner{min-height:min-content;overflow:visible;padding:0 0 14px 32px}
.compat-full29-planet-copy{display:flex;flex-direction:column;gap:10px;overflow:visible}
.compat-full29-planet-copy p{margin:0;color:#adb2d3;font-size:13px;font-weight:400;line-height:1.45;overflow-wrap:anywhere;white-space:pre-wrap}
.compat-full29-planet-copy .compat-full29-planet-lead{color:#f7f4ff}
.compat-full29-data-quality{display:block;margin:8px 0 0;color:#7a7fa8;font-size:11px;line-height:1.3;text-align:center}
.compat-full29-chat-card{display:flex;flex-direction:column;gap:12px;width:100%;padding:20px;border:.75px solid var(--compat-figma-border);border-radius:24px;background:rgba(18,19,52,.86);box-shadow:inset 0 1px rgba(255,255,255,.025)}
.compat-full29-chat-card h2{margin:0;font-family:"Cormorant Garamond",Georgia,serif;color:#f7f4ff;font-size:22px;font-weight:500;line-height:1.12}
.compat-full29-chat-card p{margin:0 0 4px;color:#adb2d3;font-size:13px;font-weight:400;line-height:18px}
.compat-full29-chat-card .compat-figma-primary{margin-top:0;flex:0 0 44px}
.compat-paid9-full-cta{flex:0 0 44px}
.compat-figma-result:is(.is-paid-9,.is-full-29).is-unlocking [data-paid9-reveal]{opacity:0;transform:translate3d(0,8px,0)}
.compat-figma-result:is(.is-paid-9,.is-full-29) [data-paid9-reveal]{will-change:opacity,transform;transition:opacity 520ms ease calc(var(--paid9-order,0) * 70ms),transform 720ms cubic-bezier(.22,1,.36,1) calc(var(--paid9-order,0) * 70ms)}
.compat-figma-result:is(.is-paid-9,.is-full-29).is-unlocked [data-paid9-reveal]{opacity:1;transform:translate3d(0,0,0)}
.compat-figma-result:is(.is-paid-9,.is-full-29) .compat-paid9-content>:nth-child(2){--paid9-order:1}
.compat-figma-result:is(.is-paid-9,.is-full-29) .compat-paid9-content>:nth-child(3){--paid9-order:2}
.compat-figma-result:is(.is-paid-9,.is-full-29) .compat-paid9-content>:nth-child(4){--paid9-order:3}
.compat-figma-result:is(.is-paid-9,.is-full-29) .compat-paid9-content>:nth-child(5){--paid9-order:4}
.compat-figma-result:is(.is-paid-9,.is-full-29) .compat-paid9-content>:nth-child(6){--paid9-order:5}
.compat-figma-result:is(.is-paid-9,.is-full-29) .compat-paid9-content>:nth-child(7){--paid9-order:6}
.compat-figma-result.is-full-29 .compat-paid9-content>:nth-child(8){--paid9-order:7}
.compat-figma-result.is-full-29 .compat-paid9-content>:nth-child(9){--paid9-order:8}
.compat-figma-result.is-full-29 .compat-paid9-content>:nth-child(10){--paid9-order:9}
.compat-figma-result button:focus-visible{outline:2px solid #b8aeff;outline-offset:2px}
.compat-figma-result button:active{transform:scale(.99)}
@media(max-width:359px){
  .compat-figma-content{padding-inline:12px}
  .compat-figma-summary-card{padding:17px 17px 24px}
  .compat-figma-person{flex-basis:84px;min-width:84px}
  .compat-figma-person>strong,.compat-figma-person>small{max-width:84px}
  .compat-figma-zodiac-sphere{width:58px;height:58px}
  .compat-figma-zodiac-slot{top:6px;width:25px;height:23px}
  .compat-figma-moon-slot{bottom:6px;width:15px;height:15px}
  .compat-figma-zodiac-slot .compat-figma-zodiac-glyph{width:22px;height:22px;max-width:22px;max-height:22px}
  .compat-figma-moon-slot .compat-figma-moon{width:13px;height:13px;max-width:13px;max-height:13px}
  .compat-figma-score,.compat-figma-score svg{width:86px;height:86px}
  .compat-figma-summary-copy h1{font-size:21px}
}
@media(prefers-reduced-motion:reduce){
  .compat-figma-result [data-compat-enter]{transition:none!important;animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
  .compat-figma-score-value{transition:none}
  .compat-figma-attraction,.compat-figma-attraction-trigger .compat-figma-row-title>strong,.compat-figma-attraction-score,.compat-figma-attraction-score img,.compat-paid9-accent-icon{transition-duration:.01ms!important;transition-delay:0ms!important}
  .compat-figma-loading-heart::before{animation:none;opacity:.7;transform:none}
  .compat-figma-loading-heart svg{animation:compat-figma-loading-heart-fade 1.8s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(157,122,255,.28))}
  .compat-figma-result:is(.is-paid-9,.is-full-29) [data-paid9-reveal]{transition:none!important;opacity:1!important;transform:none!important}
}

/* Paid compat funnel on go.askastra.guru — A→D shell, apex chrome stays untouched. */
html.go-funnel-route,html.go-funnel-route body{
  width:100%;
  height:var(--go-stable-height,var(--registration-stable-height,100dvh));
  min-height:var(--go-stable-height,var(--registration-stable-height,100dvh));
  overflow:hidden;
  overscroll-behavior:none;
  background:var(--registration-canvas-color,#040615);
}
html.go-funnel-route .bottom-nav,
html.go-funnel-route #settingsBtn,
html.go-funnel-route .forecast-appbar,
html.go-funnel-route #settingsView,
html.go-funnel-route #page-today,
html.go-funnel-route #page-chat,
html.go-funnel-route #page-profile,
html.go-funnel-route .partner-modal-close,
html.go-funnel-route .paywall-skip-foot,
html.go-funnel-route .compatibility-premium-dock,
html.go-funnel-route [data-open-plus],
html.go-funnel-route [data-full29-chat],
html.go-funnel-route .compat-full29-chat-card,
html.go-funnel-route .compat-acq-header,
html.go-funnel-route .on-step:not([data-step="7"]):not([data-step="4"]):not([data-step="5"]):not([data-step="6"]),
html.go-funnel-route .partner-step:not([data-pstep="1"]):not([data-pstep="2"]){
  display:none!important;
}
html.go-funnel-route[data-go-step="a"] #onboarding{
  display:flex!important;
  position:fixed;
  inset:0;
  z-index:20;
  width:100%;
  height:var(--go-stable-height,var(--registration-stable-height,100dvh));
  background:transparent;
}
html.go-funnel-route[data-go-step="a"] #mainUi,
html.go-funnel-route[data-go-step="b"] #mainUi,
html.go-funnel-route[data-go-step="a"] #partnerModal{
  display:none!important;
}
html.go-funnel-route[data-go-step="c"] #onboarding,
html.go-funnel-route[data-go-step="d"] #onboarding{
  display:none!important;
}
html.go-funnel-route[data-go-step="c"] #mainUi,
html.go-funnel-route[data-go-step="d"] #mainUi{
  display:flex!important;
}
html.go-funnel-route[data-go-step="c"] #page-compat,
html.go-funnel-route[data-go-step="d"] #page-compat{
  display:block!important;
  padding-bottom:calc(env(safe-area-inset-bottom) + 24px);
}
html.go-funnel-route .compat-figma-loading-content{
  min-height:0;
  height:100%;
  display:grid;
  place-items:center;
  align-content:center;
  gap:18px;
  text-align:center;
  overflow:hidden;
  overscroll-behavior:none;
  touch-action:none;
}
html.go-funnel-route .compat-figma-loading-caption{
  margin:0;
  color:#f5f0e8;
  font-family:"Astra Welcome Inter",Inter,system-ui,sans-serif;
  font-size:16px;
  font-weight:500;
  line-height:22px;
}
html.go-funnel-route .compat-go-bridge{
  margin:0 0 8px;
  color:#9b96b0;
  font-size:14px;
  line-height:20px;
  text-align:center;
}
html.go-funnel-route .paywall-pair-cta-lead{
  margin:8px 2px 0;
  color:#d8daef;
  font-size:13px;
  line-height:1.35;
  text-align:center;
}
html.go-funnel-route .go-boot-error{
  padding:48px 24px;
  color:#f5f0e8;
  text-align:center;
}
