.app-shell { position: relative; min-height: 100%; overflow: hidden; isolation: isolate; }
.aurora { position: absolute; z-index: -2; border-radius: 50%; filter: blur(90px); opacity: .28; pointer-events: none; }
.aurora-one { width: 520px; height: 520px; background: #7c3aed; top: -180px; left: 42%; }
.aurora-two { width: 460px; height: 460px; background: #2d63ff; top: 420px; right: -260px; opacity: .15; }
.topbar { width: min(1180px, calc(100% - 48px)); height: 86px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(255,255,255,.09); }
.brand { display: inline-flex; align-items: center; gap: 7px; color: #fff; font-size: 14px; font-weight: 800; letter-spacing: .045em; text-decoration: none; }
.brand-mark { display: inline-block; color: #ff385f; background: none; border: 0; text-shadow: 0 0 14px rgba(255,56,95,.35); font-size: 18px; font-weight: 400; line-height: 1; transform: none; }
.topbar-actions { display: flex; align-items: center; gap: 22px; }
.live-pill { display: inline-flex; align-items: center; gap: 8px; color: #a9a9bd; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.live-pill span { width: 7px; height: 7px; border-radius: 50%; background: #58d6ad; box-shadow: 0 0 12px #58d6ad; }
.hero { width: min(1180px, calc(100% - 48px)); min-height: 680px; margin: 0 auto; display: grid; grid-template-columns: 1.02fr .98fr; align-items: center; gap: 42px; padding: 70px 0 88px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; margin: 0 0 23px; color: #c7b5ff; font-size: 12px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
h1 { max-width: 760px; margin: 0; color: #fbfaff; font-size: clamp(56px, 6.1vw, 88px); line-height: .94; letter-spacing: -.065em; font-weight: 900; }
h1 em { color: transparent; background: linear-gradient(100deg,#a78bfa 4%,#e879f9 58%,#f5b9d6); -webkit-background-clip: text; background-clip: text; font-style: normal; }
.lede { max-width: 610px; margin: 29px 0 0; color: #aaa8bc; font-size: 18px; line-height: 1.65; }
.primary-cta { display: inline-flex; align-items: center; gap: 10px; margin-top: 34px; padding: 8px 9px 8px 20px; min-height: 56px; border: 1px solid rgba(255,255,255,.24); color: #fff; background: linear-gradient(112deg,#6d3fd5,#9a43dc 55%,#b437b2); font: inherit; font-weight: 800; box-shadow: 0 16px 46px rgba(124,58,237,.32), inset 0 1px rgba(255,255,255,.18); cursor: pointer; }
.primary-cta > span { display: grid; place-items: center; width: 39px; height: 39px; margin-left: 6px; color: #402263; background: #fff; }
.trust-row { display: flex; flex-wrap: wrap; gap: 20px; margin-top: 23px; color: #737287; font-size: 12px; }
.trust-row span { display: inline-flex; align-items: center; gap: 7px; }
.trust-row i { width: 4px; height: 4px; background: #7456e8; border-radius: 50%; }
.cosmic-machine { position: relative; min-height: 520px; display: grid; place-items: center; }
.machine-halo { position: absolute; width: 360px; height: 360px; border-radius: 50%; background: radial-gradient(circle,rgba(168,85,247,.18),rgba(45,99,255,.04) 52%,transparent 70%); box-shadow: inset 0 0 70px rgba(168,85,247,.08); }
.orbit { position: absolute; border: 1px solid rgba(179,158,255,.16); border-radius: 50%; transform: rotate(-18deg); }
.orbit::before { content:""; position:absolute; inset:9px; border:1px dashed rgba(255,255,255,.06); border-radius:inherit; }
.orbit-outer { width: 440px; height: 440px; animation: spin 34s linear infinite; }
.orbit-mid { width: 315px; height: 315px; animation: spin-reverse 22s linear infinite; }
.orbit-inner { width: 188px; height: 188px; animation: spin 15s linear infinite; }
.planet { position:absolute; display:block; border-radius:50%; box-shadow:0 0 20px currentColor; }
.planet-a { width:12px;height:12px;top:42px;left:66px;background:#a78bfa;color:#a78bfa; }
.planet-b { width:8px;height:8px;right:2px;top:138px;background:#f0abfc;color:#f0abfc; }
.planet-c { width:7px;height:7px;left:18px;bottom:36px;background:#60a5fa;color:#60a5fa; }
.heart-core { position:absolute; display:grid;place-items:center;width:88px;height:88px;color:#fbddff;background:linear-gradient(145deg,rgba(146,79,229,.72),rgba(78,38,136,.52));border:1px solid rgba(255,255,255,.2); box-shadow:0 0 60px rgba(168,85,247,.42),inset 0 0 24px rgba(255,255,255,.08); transform:rotate(45deg); }
.heart-core svg { transform:rotate(-45deg); }
.profile-chip,.data-card { position:absolute; background:rgba(10,11,31,.72); border:1px solid rgba(255,255,255,.13); box-shadow:0 18px 54px rgba(0,0,0,.34); backdrop-filter:blur(14px); }
.profile-chip { display:flex;align-items:center;gap:12px;min-width:164px;padding:11px 13px; }
.profile-chip .avatar { display:grid;place-items:center;width:34px;height:34px;background:linear-gradient(145deg,#7447d8,#b84bc6);font-weight:900;color:#fff; }
.profile-chip small,.profile-chip strong { display:block; }
.profile-chip small{color:#77758d;font-size:8px;letter-spacing:.13em}
.profile-chip strong{color:#f4f0ff;font-size:12px;margin-top:2px}
.profile-a{left:-2px;top:122px}
.profile-b{right:-8px;bottom:118px}
.data-card{min-width:112px;padding:10px 12px;color:#a9a3bb;font-size:10px;text-transform:uppercase;letter-spacing:.08em}
.data-card svg,.data-card .venus{color:#c084fc;margin-right:5px}
.data-card strong{display:block;color:#fff;font-size:11px;margin-top:5px}
.data-one{right:16px;top:90px}
.data-two{left:45px;bottom:80px}
.first-step { width: min(1180px, calc(100% - 48px)); margin: 0 auto 90px; padding: 46px; background: linear-gradient(140deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); border:1px solid rgba(255,255,255,.11); box-shadow:0 36px 90px rgba(0,0,0,.25); }
.section-intro span{color:#9b7df0;font-size:11px;font-weight:800;letter-spacing:.14em}
.section-intro h2{margin:9px 0 5px;color:#fff;font-size:32px;letter-spacing:-.04em}
.section-intro p{margin:0;color:#858397}
.profile-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:29px}
.profile-preview{padding:20px;text-align:left;background:rgba(5,6,23,.58);border:1px solid rgba(255,255,255,.1)}
.profile-preview header{display:flex;align-items:center;justify-content:space-between;color:#817f92;font-size:10px;letter-spacing:.14em}
.profile-preview header b{display:grid;place-items:center;width:27px;height:27px;color:#fff;background:#6f42d4}
.field-preview{margin-top:20px;padding:12px;border-bottom:1px solid rgba(255,255,255,.1)}
.field-preview small,.field-preview span{display:block}
.field-preview small{color:#6f6c7f;font-size:8px;letter-spacing:.13em}
.field-preview span{margin-top:7px;color:#aaa7b6;font-size:13px}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
.field-row div{height:44px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.06)}
@keyframes spin{to{transform:rotate(342deg)}}
@keyframes spin-reverse{to{transform:rotate(-378deg)}}
@media(max-width:850px){.hero{grid-template-columns:1fr;padding-top:58px}.cosmic-machine{min-height:450px}.hero-copy{text-align:center}.lede{margin-inline:auto}.trust-row{justify-content:center}.profile-preview-grid{grid-template-columns:1fr}.live-pill{display:none}}
@media(max-width:560px){.topbar,.hero,.first-step{width:min(100% - 28px,1180px)}.topbar{height:72px}h1{font-size:49px}.lede{font-size:15px}.hero{padding-top:44px}.cosmic-machine{min-height:390px;transform:scale(.82);margin:-30px -45px}.orbit-outer{width:400px;height:400px}.profile-a{left:18px}.profile-b{right:18px}.first-step{padding:24px}.trust-row{gap:11px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}

/* Product shell */
.star-noise { position: fixed; inset: 0; z-index: -1; pointer-events: none; opacity: .36; background-image: radial-gradient(circle at 12% 18%, rgba(255,255,255,.9) 0 1px, transparent 1.4px), radial-gradient(circle at 73% 31%, rgba(192,132,252,.8) 0 1px, transparent 1.5px), radial-gradient(circle at 38% 77%, rgba(96,165,250,.75) 0 1px, transparent 1.4px); background-size: 190px 190px, 260px 260px, 330px 330px; mask-image: linear-gradient(to bottom, black, transparent 86%); }
button, input { font: inherit; }
button { -webkit-tap-highlight-color: transparent; }
.brand-button { padding: 0; border: 0; background: none; cursor: pointer; }
.topbar-compact { height: 72px; }
.hero-actions { display: flex; align-items: stretch; flex-wrap: wrap; gap: 12px; margin-top: 34px; }
.hero-actions .primary-cta,.hero-actions .demo-link { margin-top: 0; }
.demo-link { min-height: 56px; padding: 8px 16px 8px 9px; display: inline-flex; align-items: center; gap: 11px; color: #eee9fa; border: 1px solid rgba(192,132,252,.28); border-radius: 9px; background: linear-gradient(125deg,rgba(109,63,213,.22),rgba(59,35,112,.34)); box-shadow: inset 0 1px rgba(255,255,255,.07),0 12px 32px rgba(19,10,46,.2); text-align: left; cursor: pointer; transition: border-color .18s,background .18s,transform .18s,box-shadow .18s; }
.demo-link:hover { border-color: rgba(216,180,254,.52); background: linear-gradient(125deg,rgba(124,58,237,.32),rgba(81,46,143,.42)); box-shadow: inset 0 1px rgba(255,255,255,.1),0 16px 38px rgba(42,19,92,.28); transform: translateY(-1px); }
.demo-link:focus-visible { outline: 3px solid rgba(192,132,252,.28); outline-offset: 3px; }
.demo-link > span:last-child,.demo-link strong,.demo-link small { display: block; }
.demo-link strong { color: #f8f4ff; font-size: 12px; line-height: 1.2; }
.demo-link small { margin-top: 4px; color: #9189a7; font-size: 8px; letter-spacing: .04em; }
.demo-play { display: grid; place-items: center; flex: 0 0 38px; width: 38px; height: 38px; color: #f4d9ff; border: 1px solid rgba(216,180,254,.24); border-radius: 8px; background: linear-gradient(145deg,rgba(139,92,246,.52),rgba(217,70,239,.28)); box-shadow: 0 0 24px rgba(168,85,247,.18); font-size: 11px; padding-left: 2px; }
.heart-core span { display: block; transform: rotate(-45deg); font-size: 35px; }
.primary-cta b { color: #ffd9f5; font-size: 18px; }
.aspect-thread { position: absolute; height: 1px; transform-origin: left center; background: linear-gradient(90deg,transparent,#a78bfa,transparent); opacity: .33; }
.thread-one { width: 235px; left: 123px; top: 207px; transform: rotate(22deg); }
.thread-two { width: 185px; left: 172px; bottom: 172px; transform: rotate(-34deg); background: linear-gradient(90deg,transparent,#60a5fa,transparent); }
.astro-explainer { position: relative; width: min(1180px, calc(100% - 48px)); margin: -38px auto 58px; padding: 32px; overflow: hidden; border: 1px solid rgba(255,255,255,.105); border-radius: 18px; background: linear-gradient(135deg,rgba(20,16,47,.82),rgba(8,9,28,.72)); box-shadow: 0 34px 90px rgba(0,0,0,.3),inset 0 1px rgba(255,255,255,.045); backdrop-filter: blur(18px); }
.astro-explainer::before { content:""; position: absolute; width: 420px; height: 240px; top: -150px; right: 8%; border-radius: 50%; background: radial-gradient(circle,rgba(168,85,247,.18),transparent 68%); pointer-events: none; }
.astro-explainer-copy { position: relative; display: grid; grid-template-columns: minmax(0,.9fr) minmax(320px,1.1fr); align-items: end; gap: 58px; }
.astro-explainer-kicker { margin: 0 0 10px; color: #aa8df6!important; font-size: 9px!important; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.astro-explainer h2 { margin: 0; color: #fff; font-size: clamp(27px,3vw,41px); line-height: 1.02; letter-spacing: -.045em; }
.astro-explainer h2 em { color: #d8b4fe; font-style: normal; }
.astro-explainer-copy > p { margin: 0 0 1px; color: #aaa6b8; font-size: 14px; line-height: 1.7; }
.astro-role-grid { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin-top: 26px; }
.astro-role { --astro-role: 192,132,252; min-width: 0; min-height: 78px; padding: 13px 14px; display: flex; align-items: center; gap: 12px; border: 1px solid rgba(var(--astro-role),.17); border-radius: 11px; background: rgba(var(--astro-role),.045); }
.astro-role-attraction { --astro-role: 244,114,182; }.astro-role-communication { --astro-role: 96,165,250; }.astro-role-emotions { --astro-role: 167,139,250; }.astro-role-frictions { --astro-role: 251,191,36; }
.astro-role-symbol { flex: 0 0 auto; min-width: 42px; color: rgb(var(--astro-role)); font-size: 24px; line-height: 1; text-align: center; text-shadow: 0 0 20px rgba(var(--astro-role),.26); }
.astro-role-symbol i { color: #696477; font-size: 10px; font-style: normal; vertical-align: 4px; }
.astro-role strong,.astro-role small { display: block; }
.astro-role strong { overflow: hidden; color: #eeeaf7; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.astro-role small { margin-top: 5px; color: #777387; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.astro-source-line { position: relative; margin: 18px 0 0; padding-top: 16px; color: #777285; border-top: 1px solid rgba(255,255,255,.065); font-size: 10px; line-height: 1.6; }
.astro-source-line > span { display: inline-grid; place-items: center; width: 16px; height: 16px; margin-right: 7px; color: #93e4ca; border: 1px solid rgba(88,214,173,.22); border-radius: 50%; background: rgba(21,81,72,.12); font-size: 8px; vertical-align: -2px; }
.home-footer,.result-footer { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 26px 0 34px; display: flex; align-items: center; justify-content: space-between; color: #625f73; border-top: 1px solid rgba(255,255,255,.07); font-size: 11px; }
.home-footer button,.result-footer button { color: #7e7a8f; border: 0; background: transparent; cursor: pointer; }
.home-footer button small,.result-footer button small { margin-left: 5px; padding: 3px 6px; color: #a98de9; border: 1px solid rgba(169,141,233,.25); border-radius: 12px; font-size: 8px; text-transform: uppercase; }

/* Profile flow */
.form-view { min-height: 100svh; }
.form-stage { width: min(1120px, calc(100% - 48px)); margin: 0 auto; padding: 46px 0 70px; }
.guided-demo-bar { position: fixed; z-index: 30; top: 82px; left: 50%; width: min(700px,calc(100% - 28px)); min-height: 58px; margin: 0; padding: 9px 10px 9px 13px; display: flex; align-items: center; justify-content: space-between; gap: 16px; color: #eee8fb; border: 1px solid rgba(192,132,252,.3); border-radius: 11px; background: linear-gradient(110deg,rgba(75,40,145,.92),rgba(31,21,67,.96)); box-shadow: 0 16px 42px rgba(16,7,42,.42),inset 0 1px rgba(255,255,255,.08); backdrop-filter: blur(18px); transform: translateX(-50%); }
.guided-demo-bar > span { min-width: 0; display: flex; align-items: center; gap: 11px; }
.guided-demo-bar > span > i { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; color: #e9d5ff; border-radius: 50%; background: rgba(124,58,237,.34); box-shadow: 0 0 18px rgba(168,85,247,.18); font-size: 9px; font-style: normal; padding-left: 2px; }
.guided-demo-bar strong,.guided-demo-bar small { display: block; }
.guided-demo-bar strong { font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.guided-demo-bar small { max-width: 420px; margin-top: 4px; overflow: hidden; color: #9b93aa; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.guided-demo-bar button { flex: 0 0 auto; min-height: 34px; padding: 0 12px; color: #ded2ef; border: 1px solid rgba(255,255,255,.11); border-radius: 7px; background: rgba(255,255,255,.045); font-size: 9px; font-weight: 750; cursor: pointer; }
.guided-demo-bar button:hover { color: #fff; border-color: rgba(216,180,254,.35); background: rgba(124,58,237,.16); }
.form-steps { width: min(530px, 100%); margin: 0 auto 42px; display: grid; grid-template-columns: 1fr 80px 1fr; align-items: center; color: #666378; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.form-steps > span { display: flex; align-items: center; gap: 10px; }
.form-steps > span:last-child { justify-content: flex-end; }
.form-steps b { display: grid; place-items: center; width: 28px; height: 28px; color: #7d7890; border: 1px solid rgba(255,255,255,.12); border-radius: 50%; font-size: 10px; }
.form-steps i { height: 1px; background: linear-gradient(90deg,rgba(124,58,237,.8),rgba(255,255,255,.1)); }
.form-steps .active { color: #f2eaff; }
.form-steps .active b,.form-steps .done b { color: #fff; border-color: #8b5cf6; background: #7142d5; box-shadow: 0 0 25px rgba(124,58,237,.35); }
.form-layout { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: 80px; }
.form-aside h1 { margin: 8px 0 23px; font-size: clamp(47px,5vw,68px); line-height: .98; }
.form-aside > p:not(.eyebrow) { max-width: 440px; color: #8e8b9e; line-height: 1.65; }
.form-aside > p strong { color: #dfd5f7; }
.privacy-card { margin-top: 34px; padding: 17px; display: flex; gap: 14px; max-width: 430px; color: #65d2b1; border: 1px solid rgba(88,214,173,.16); background: rgba(21,81,72,.09); }
.privacy-card > span { font-size: 10px; padding-top: 2px; }
.privacy-card strong,.privacy-card small { display: block; }
.privacy-card strong { color: #b8e8da; font-size: 12px; }
.privacy-card small { margin-top: 5px; color: #718b86; font-size: 10px; line-height: 1.5; }
.profile-form { padding: 30px; min-height: 545px; background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025)); border: 1px solid rgba(255,255,255,.12); border-radius: 14px; box-shadow: 0 42px 100px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.05); backdrop-filter: blur(18px); }
.profile-form > header { display: flex; align-items: center; justify-content: space-between; padding-bottom: 20px; color: #8d87a2; border-bottom: 1px solid rgba(255,255,255,.08); font-size: 10px; font-weight: 800; letter-spacing: .14em; }
.profile-form > header b { display: grid; place-items: center; width: 31px; height: 31px; color: #fff; background: linear-gradient(145deg,#7447d8,#b84bc6); border-radius: 7px; box-shadow: 0 8px 20px rgba(124,58,237,.24); }
.form-error { margin: 17px 0 -1px; padding: 11px 13px; color: #ffd2dc; border: 1px solid rgba(251,113,133,.25); border-radius: 7px; background: rgba(136,19,55,.14); font-size: 11px; }
.field { display: block; margin-top: 20px; }
.field > span { display: block; margin: 0 0 8px 2px; color: #777286; font-size: 9px; font-weight: 800; letter-spacing: .13em; }
.field > span em { display: inline-flex; align-items: center; margin-left: 6px; padding: 3px 6px; color: #8f879e; border: 1px solid rgba(255,255,255,.08); border-radius: 999px; background: rgba(255,255,255,.025); font-size: 7px; font-style: normal; font-weight: 750; letter-spacing: .08em; vertical-align: 1px; }
.required-star { margin-left: 3px; color: #fb7185; font-size: 12px; font-style: normal; line-height: 0; text-shadow: 0 0 10px rgba(251,113,133,.45); }
.sr-only { position: absolute!important; width: 1px!important; height: 1px!important; padding: 0!important; margin: -1px!important; overflow: hidden!important; clip: rect(0,0,0,0)!important; white-space: nowrap!important; border: 0!important; }
.field input { width: 100%; height: 52px; padding: 0 14px; color: #f8f5ff; border: 1px solid rgba(255,255,255,.1); outline: none; background: rgba(5,6,21,.58); color-scheme: dark; transition: border-color .18s,box-shadow .18s,background .18s; }
.field input::placeholder { color: #565366; }
.field input:focus { border-color: rgba(167,139,250,.58); background: rgba(10,10,31,.8); box-shadow: 0 0 0 3px rgba(124,58,237,.1),0 10px 24px rgba(0,0,0,.18); }
.field.demo-active > span { color: #d8c7ff; }
.field.demo-active input { border-color: rgba(216,180,254,.68); background: rgba(25,14,56,.78); box-shadow: 0 0 0 3px rgba(124,58,237,.13),0 12px 34px rgba(60,24,120,.22); }
.field.has-error > span { color: #f1a9b8; }
.field.has-error input { border-color: rgba(251,113,133,.6); background: rgba(73,15,38,.18); box-shadow: 0 0 0 3px rgba(251,113,133,.075),0 12px 30px rgba(50,4,24,.12); }
.field.has-error input:focus { border-color: #fb7185; box-shadow: 0 0 0 3px rgba(251,113,133,.14),0 12px 30px rgba(50,4,24,.2); }
.ambiguity-choice { margin: 18px 0 0; padding: 14px; color: #b9acce; border: 1px solid rgba(245,181,91,.22); border-radius: 8px; background: rgba(120,70,12,.07); }
.ambiguity-choice legend { padding: 0 6px; color: #f0c98c; font-size: 10px; font-weight: 800; letter-spacing: .06em; }
.ambiguity-choice p { margin: 0 0 10px; color: #81788c; font-size: 9px; line-height: 1.45; }
.ambiguity-choice > div { display: flex; flex-wrap: wrap; gap: 9px; }
.ambiguity-choice label { display: flex; align-items: center; gap: 6px; padding: 7px 9px; color: #c8c0d5; border: 1px solid rgba(255,255,255,.08); border-radius: 6px; font-size: 9px; cursor: pointer; }
.ambiguity-choice input { accent-color: #9b62e8; }
.ambiguity-choice.has-error { border-color: rgba(251,113,133,.52); background: rgba(73,15,38,.14); box-shadow: 0 0 0 3px rgba(251,113,133,.06); }
.ambiguity-choice.has-error legend { color: #f3a9b8; }
.field > small { display: block; margin: 7px 2px 0; color: #615e70; font-size: 9px; }
.field-help { color: #666174!important; }
.field-error-message { display: flex!important; align-items: center; gap: 6px; margin-top: 8px!important; color: #fb91a4!important; font-size: 9px!important; font-weight: 700; letter-spacing: .01em; line-height: 1.4; }
.field-error-message span { flex: 0 0 auto; color: #fb7185; font-size: 8px; text-shadow: 0 0 9px rgba(251,113,133,.55); }
.ambiguity-choice > .field-error-message { margin: 10px 1px 0!important; }
.field-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 13px; }
.location-input-wrap { position: relative; }
.location-input-wrap input { padding-right: 54px; }
.location-input-wrap button { position: absolute; width: 40px; height: 38px; right: 7px; top: 7px; color: #cbb9ff; border: 1px solid rgba(167,139,250,.18); background: rgba(124,58,237,.16); cursor: pointer; }
.location-input-wrap button:disabled { opacity: .55; cursor: wait; }
.location-field.has-selection input { border-color: rgba(167,139,250,.55); background: linear-gradient(90deg,rgba(124,58,237,.13),rgba(5,6,21,.62)); box-shadow: inset 3px 0 #966bea,0 0 0 3px rgba(124,58,237,.055); }
.location-field.has-selection:not(.has-error) > span { color: #aaa0bf; }
.location-status { min-height: 13px; line-height: 1.4; }
.location-status b { color: #92dfc7; font-weight: 750; }
.city-results { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; margin-top: 13px; max-height: 136px; overflow: auto; scrollbar-width: thin; scrollbar-color: #5c3aa4 transparent; }
.city-option { position: relative; min-height: 58px; padding: 9px 10px; display: grid; grid-template-columns: 22px 1fr auto; gap: 7px; align-items: center; text-align: left; color: #aaa6b9; border: 1px solid rgba(255,255,255,.07); background: rgba(255,255,255,.025); cursor: pointer; transition: color .18s,border-color .18s,background .18s,box-shadow .18s,transform .18s; }
.city-option:hover { color: #fff; border-color: rgba(167,139,250,.28); background: rgba(124,58,237,.09); }
.city-option > span:first-child { color: #8e6ce4; }
.city-option.is-selected { color: #fff; border-color: rgba(192,132,252,.58); background: linear-gradient(112deg,rgba(124,58,237,.25),rgba(217,70,239,.11)); box-shadow: inset 3px 0 #a974ef,0 8px 24px rgba(81,33,150,.2),0 0 0 1px rgba(192,132,252,.08); }
.city-option.is-selected:hover { border-color: rgba(216,180,254,.78); background: linear-gradient(112deg,rgba(124,58,237,.31),rgba(217,70,239,.14)); transform: translateY(-1px); }
.city-option.is-selected > span:first-child { display: grid; place-items: center; width: 20px; height: 20px; color: #fff; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; background: linear-gradient(145deg,#8b5cf6,#c34bd5); box-shadow: 0 0 16px rgba(192,132,252,.38); font-size: 10px; }
.city-option.is-selected strong { color: #fff; }
.city-option.is-selected small { color: #aaa1bb; }
.city-option.is-selected i { color: #d9c0ff; font-weight: 800; }
.geocode-attribution { grid-column: 1 / -1; margin: 3px 1px 0; color: #5f5a6d; font-size: 8px; }
.geocode-attribution a { color: #8171a9; text-decoration: none; }
.geocode-attribution a:hover { color: #c3acef; }
.city-option strong,.city-option small { display: block; }
.city-option strong { color: #ddd7ea; font-size: 11px; font-weight: 650; }
.city-option small { margin-top: 3px; color: #6d697a; font-size: 8px; }
.city-option i { color: #5f5a6e; font-size: 7px; font-style: normal; text-transform: uppercase; }
.form-actions { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 25px; }
.primary-cta.compact { min-height: 49px; margin: 0; padding: 6px 7px 6px 16px; font-size: 12px; }
.primary-cta.compact span { width: 35px; height: 35px; }
.secondary-button { min-height: 46px; padding: 0 16px; color: #aaa4b8; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); cursor: pointer; }
.secondary-button:hover { color: #fff; border-color: rgba(255,255,255,.22); }
.micro-footer { padding: 18px 20px 20px; display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 7px 18px; text-align: center; color: #555264; border-top: 1px solid rgba(255,255,255,.06); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.service-credit { color: #464252; font-size: 7px; font-weight: 400; letter-spacing: .015em; text-transform: none; opacity: .62; }
.service-credit a { color: #625973; text-decoration: none; }
.service-credit a:hover,.service-credit a:focus-visible { color: #a995c5; text-decoration: underline; text-underline-offset: 2px; }

/* Analysis machine */
.analysis-view { min-height: 100svh; overflow-x: clip; overflow-y: visible; }
.aurora-analysis { width: 720px; height: 720px; left: calc(50% - 360px); top: 80px; background: #5221b3; opacity: .17; }
.analysis-stage { width: min(1180px, calc(100% - 48px)); margin: 0 auto; padding: 36px 0 60px; }
.analysis-head { text-align: center; }
.analysis-head .eyebrow { margin-bottom: 13px; }
.analysis-head h1 { display: flex; align-items: baseline; justify-content: center; gap: clamp(14px,3vw,34px); max-width: none; font-size: clamp(43px,6vw,78px); }
.analysis-head h1 span:last-child { color: #bdb6ff; }
.analysis-head h1 b { color: #8656e6; font-size: .55em; font-weight: 300; }
.analysis-head > p:last-child { margin-top: 13px; color: #747184; font-size: 11px; }
.analysis-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 16px; margin-top: 32px; }
.sky-console,.pipeline-panel { background: rgba(7,8,26,.72); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; box-shadow: 0 30px 80px rgba(0,0,0,.28); backdrop-filter: blur(15px); }
.sky-console { position: relative; min-height: 590px; overflow: hidden; }
.console-top { height: 48px; padding: 0 16px; display: flex; align-items: center; justify-content: space-between; color: #777286; border-bottom: 1px solid rgba(255,255,255,.07); font-size: 9px; letter-spacing: .12em; }
.console-top i { color: #61d8b5; font-style: normal; }
.console-top i::before { content: ''; display: inline-block; width: 5px; height: 5px; margin-right: 6px; border-radius: 50%; background: #61d8b5; box-shadow: 0 0 9px #61d8b5; }
#synastry-canvas { display: block; width: 100%; height: 410px; }
.chart-legends { position: absolute; inset: auto 16px 12px; display: flex; gap: 16px; color: #706c80; font-size: 8px; text-transform: uppercase; }
.chart-legends span { display: flex; align-items: center; gap: 5px; }
.chart-legends i { width: 6px; height: 6px; border-radius: 50%; }
.legend-a { background: #c084fc; }.legend-b { background: #60a5fa; }
.planet-role-guide { margin: 10px 14px 0; }
.planet-role-heading { display: block; margin: 0 0 7px 2px; color: #625d70; font-size: 7px; font-weight: 850; letter-spacing: .13em; }
.planet-role-guide > div { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; }
.planet-role { --role-rgb: 192,132,252; min-width: 0; min-height: 51px; padding: 8px 9px; display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1.05fr); align-items: center; gap: 6px; opacity: .58; border: 1px solid rgba(var(--role-rgb),.13); border-radius: 8px; background: rgba(var(--role-rgb),.025); transition: opacity .35s,border-color .35s,background .35s,box-shadow .35s,transform .35s; }
.planet-role > span,.planet-role b,.planet-role small,.planet-role strong { display: block; min-width: 0; }
.planet-role b { color: rgb(var(--role-rgb)); font-size: 13px; font-weight: 550; line-height: 1; white-space: nowrap; }
.planet-role small { margin-top: 4px; overflow: hidden; color: #8a8495; font-size: 6px; text-overflow: ellipsis; white-space: nowrap; }
.planet-role i { color: #4f4a5a; font-size: 8px; font-style: normal; }
.planet-role strong { overflow: hidden; color: #c0bacb; font-size: 7px; font-weight: 750; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }
.planet-role-attraction { --role-rgb: 232,121,249; }.planet-role-communication { --role-rgb: 96,165,250; }.planet-role-emotions { --role-rgb: 167,139,250; }.planet-role-frictions { --role-rgb: 251,191,36; }
.planet-role.is-complete { opacity: .76; }
.planet-role.is-active { opacity: 1; border-color: rgba(var(--role-rgb),.48); background: rgba(var(--role-rgb),.09); box-shadow: inset 2px 0 rgb(var(--role-rgb)),0 0 22px rgba(var(--role-rgb),.12); transform: translateY(-2px); }
.planet-role.is-active b,.planet-role.is-active strong { color: #fff; }.planet-role.is-active i { color: rgb(var(--role-rgb)); }
.pipeline-panel { padding: 15px; }
.analysis-live { position: relative; min-height: 86px; margin-bottom: 11px; padding: 14px 15px; display: grid; grid-template-columns: 33px minmax(0,1fr) auto; align-items: center; gap: 12px; overflow: hidden; color: #f8f4ff; border: 1px solid rgba(192,132,252,.32); border-radius: 10px; background: linear-gradient(110deg,rgba(124,58,237,.2),rgba(217,70,239,.075) 48%,rgba(96,165,250,.055)); box-shadow: inset 0 1px rgba(255,255,255,.07),0 14px 35px rgba(49,20,93,.2),0 0 30px rgba(124,58,237,.055); isolation: isolate; }
.analysis-live::before { content: ''; position: absolute; z-index: -1; width: 130px; height: 130px; right: -58px; top: -72px; border-radius: 50%; background: rgba(192,132,252,.16); filter: blur(26px); }
.analysis-live-pulse { position: relative; display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid rgba(216,180,254,.32); border-radius: 50%; background: rgba(124,58,237,.19); box-shadow: 0 0 22px rgba(168,85,247,.24); }
.analysis-live-pulse::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #d8b4fe; box-shadow: 0 0 13px #c084fc; animation: analysis-pulse 1.65s ease-in-out infinite; }
.analysis-live-label,.analysis-live-title,.analysis-live-detail { display: block; }
.analysis-live-label { margin-bottom: 5px; color: #a98ce9; font-size: 7px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.analysis-live-title { overflow: hidden; color: #f8f4ff; font-size: 12px; font-weight: 720; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.analysis-live-detail { margin-top: 4px; overflow: hidden; color: #8c849d; font-size: 8px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.analysis-live-count { align-self: start; min-width: 40px; padding: 5px 7px; color: #d9c6ff; border: 1px solid rgba(192,132,252,.2); border-radius: 999px; background: rgba(5,6,21,.3); font-size: 8px; font-variant-numeric: tabular-nums; text-align: center; }
.analysis-steps { margin: 0; padding: 0; list-style: none; }
.analysis-steps li { min-height: 50px; padding: 8px 6px; display: flex; align-items: center; gap: 11px; opacity: .27; border-bottom: 1px solid rgba(255,255,255,.055); transition: opacity .3s,transform .3s; }
.analysis-steps li.done:not(.active) { opacity: .69; }
.analysis-steps li.active { margin-inline: -5px; padding-inline: 11px 6px; opacity: 1; border-color: rgba(192,132,252,.16); border-radius: 7px; background: linear-gradient(90deg,rgba(124,58,237,.17),transparent); box-shadow: inset 2px 0 #a875ef; transform: translateX(3px); }
.step-check { display: grid; place-items: center; flex: 0 0 auto; width: 27px; height: 27px; color: #706989; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; font-size: 8px; }
.analysis-steps .done .step-check { color: #aef0dc; border-color: rgba(88,214,173,.3); background: rgba(88,214,173,.09); }
.analysis-steps .active .step-check { color: #fff; border-color: rgba(216,180,254,.58); background: linear-gradient(145deg,#7544d8,#a94ac7); box-shadow: 0 0 17px rgba(168,85,247,.31); }
.analysis-steps strong,.analysis-steps small { display: block; }
.analysis-steps strong { color: #e5e0ee; font-size: 11px; font-weight: 620; }
.analysis-steps small { max-width: 315px; margin-top: 3px; overflow: hidden; color: #696678; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.analysis-steps li.active strong { color: #fff; }
.analysis-steps li.active small { color: #aaa0bb; }
.analysis-cancel { min-height: 38px; margin: 13px auto 0; padding: 0 13px; display: flex; align-items: center; justify-content: center; color: #746f82; border: 1px solid rgba(255,255,255,.075); border-radius: 7px; background: rgba(255,255,255,.018); font: inherit; font-size: 9px; cursor: pointer; transition: color .18s,border-color .18s,background .18s; }
.analysis-cancel:hover,.analysis-cancel:focus-visible { color: #d4cddf; border-color: rgba(255,255,255,.17); background: rgba(255,255,255,.045); outline: none; }
.comic-relief { margin-top: 12px; padding: 12px; border: 1px dashed rgba(245,158,11,.2); border-radius: 8px; background: rgba(120,70,12,.06); }
.comic-relief span,.comic-relief strong,.comic-relief small { display: block; }
.comic-relief span { color: #9b7a48; font-size: 7px; letter-spacing: .12em; }
.comic-relief strong { margin-top: 5px; color: #c9bca7; font-size: 10px; }
.comic-relief small { margin-top: 4px; color: #675d50; font-size: 7px; }
.suspense-panel { height: 0; margin-top: 0; overflow: hidden; text-align: center; opacity: 0; transition: height .5s,margin .5s,opacity .5s; }
.suspense-panel.visible { height: 76px; margin-top: 18px; opacity: 1; }
.suspense-panel span,.suspense-panel strong,.suspense-panel small { display: block; }
.suspense-panel span { color: #b897ff; }.suspense-panel strong { margin-top: 5px; color: #fff; font-size: 16px; }.suspense-panel small { margin-top: 3px; color: #6f6b7e; font-size: 9px; }
.suspense-panel.final strong { text-shadow: 0 0 22px #a855f7; }
@keyframes analysis-pulse { 0%,100% { opacity: .5; transform: scale(.78); } 50% { opacity: 1; transform: scale(1.16); } }

/* Reveal */
.result-view { padding-bottom: 20px; }
.aurora-result { width: 780px; height: 520px; top: -180px; left: calc(50% - 390px); background: linear-gradient(90deg,#4338ca,#a21caf); opacity: .25; }
.reveal { width: min(1040px, calc(100% - 48px)); margin: 0 auto; padding: 66px 0 39px; text-align: center; animation: reveal-in .8s cubic-bezier(.2,.8,.2,1) both; }
.reveal-kicker { display: flex; justify-content: center; align-items: center; gap: 14px; margin-bottom: 22px; }
.reveal-kicker span { color: #b89aff; font-size: 9px; font-weight: 800; letter-spacing: .14em; }
.reveal-kicker i { padding: 5px 8px; color: #70cbae; border: 1px solid rgba(88,214,173,.18); border-radius: 12px; background: rgba(88,214,173,.06); font-size: 8px; font-style: normal; }
.reveal h1 { max-width: none; display: flex; justify-content: center; align-items: baseline; gap: clamp(16px,4vw,48px); font-size: clamp(58px,9vw,118px); }
.reveal h1 span:last-of-type { color: transparent; background: linear-gradient(105deg,#d8cbff,#bc8cff,#e397f0); background-clip: text; -webkit-background-clip: text; }
.reveal h1 b { color: #6e42c7; font-size: .38em; font-weight: 250; }
.duo-name { display: inline-block; margin: 22px 0 0; padding: 7px 12px; color: #dccdff; border: 1px solid rgba(192,132,252,.24); background: rgba(124,58,237,.1); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.reveal h2 { margin: 19px 0 0; color: #f8f5ff; font-size: clamp(24px,3vw,40px); letter-spacing: -.045em; }
.reveal-summary { max-width: 700px; margin: 14px auto 0; color: #a3a0b1; font-size: 15px; line-height: 1.55; }
.remarkable-badge { display: inline-block; margin-top: 21px; padding: 9px 13px; color: #f3d5a2; border: 1px solid rgba(245,158,11,.28); border-radius: 7px; background: rgba(120,70,12,.1); font-size: 8px; letter-spacing: .09em; text-transform: uppercase; }
.result-cards { width: min(1180px, calc(100% - 48px)); margin: 12px auto 0; display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.result-card { position: relative; min-height: 0; padding: 24px; overflow: hidden; background: linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.024)); border: 1px solid rgba(255,255,255,.11); border-radius: 12px; box-shadow: 0 24px 65px rgba(0,0,0,.2); }
.result-card::after { content: ''; position: absolute; width: 130px; height: 130px; right: -55px; top: -55px; border-radius: 50%; filter: blur(35px); opacity: .17; background: currentColor; }
.result-card.magenta { color: #e879f9; }.result-card.blue { color: #60a5fa; }.result-card.violet { color: #a78bfa; }.result-card.amber { color: #f5b55b; }
.result-card header { display: flex; align-items: center; gap: 14px; }
.category-symbol { display: grid; place-items: center; width: 44px; height: 44px; color: currentColor; border: 1px solid color-mix(in srgb,currentColor 35%,transparent); border-radius: 10px; background: color-mix(in srgb,currentColor 9%,transparent); font-family: Georgia,serif; font-size: 22px; }
.result-card header small,.result-card header strong { display: block; }
.result-card header small { color: #7f7b8e; font-size: 8px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.result-card header strong { margin-top: 3px; color: #fff; font-size: 23px; letter-spacing: -.035em; }
.result-card-summary { margin: 17px 0 0; color: #aaa5b5; font-size: 12px; line-height: 1.6; }
.result-proofs { display: grid; gap: 9px; margin-top: 17px; padding-top: 15px; border-top: 1px solid rgba(255,255,255,.07); }
.result-proofs-label { color: #6f687a; font-size: 7px; font-weight: 900; letter-spacing: .14em; }
.result-proof { position: relative; z-index: 1; padding: 12px 13px; color: inherit; border: 1px solid color-mix(in srgb,currentColor 15%,transparent); border-radius: 9px; background: rgba(5,6,21,.3); }
.result-proof > span,.result-proof > strong { display: block; }
.result-proof > span { color: color-mix(in srgb,currentColor 72%,#777); font-size: 7px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.result-proof > strong { margin-top: 6px; color: #f2eef7; font-size: 13px; line-height: 1.35; }
.result-proof > p { margin: 7px 0 0; color: #918b9c; font-size: 10.5px; line-height: 1.58; }
.result-actions { width: min(1180px, calc(100% - 48px)); margin: 26px auto 48px; display: flex; justify-content: center; align-items: center; gap: 12px; }
.result-actions .primary-cta { margin: 0; }
.deep-dive { width: min(980px, calc(100% - 48px)); margin: 0 auto 70px; }
.deep-dive details { margin-top: 10px; background: rgba(255,255,255,.025); border: 1px solid rgba(255,255,255,.08); border-radius: 10px; }
.deep-dive summary { min-height: 72px; padding: 16px 20px; display: flex; align-items: center; justify-content: space-between; cursor: pointer; list-style: none; }
.deep-dive summary::-webkit-details-marker { display: none; }
.deep-dive summary b,.deep-dive summary small { display: block; }.deep-dive summary b { color: #e9e4f1; font-size: 13px; }.deep-dive summary small { margin-top: 4px; color: #6c6878; font-size: 9px; }
.deep-dive summary i { color: #8e6add; font-size: 18px; font-style: normal; transition: transform .2s; }
.deep-dive details[open] summary i { transform: rotate(45deg); }
.details-content { padding: 8px 20px 24px; border-top: 1px solid rgba(255,255,255,.06); }
.full-synthesis { max-width: 800px; margin: 20px 0; color: #a39eae; line-height: 1.7; }
.analysis-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.analysis-columns > div { padding: 16px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: rgba(5,6,21,.35); }
.details-content h3 { margin: 0 0 12px; color: #e9e3f4; font-size: 12px; }
.analysis-columns ul { margin: 0; padding: 0; list-style: none; }
.analysis-columns li + li { margin-top: 14px; }
.analysis-columns li p,.analysis-columns > div > p { margin: 0; color: #918c9e; font-size: 10px; line-height: 1.55; }
.evidence-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 7px; }
.evidence-tags span { padding: 4px 6px; color: #9180bd; border: 1px solid rgba(145,128,189,.16); border-radius: 4px; font-size: 7px; }
.lead-evidence { margin: -5px 0 20px; padding: 11px 12px; border: 1px solid rgba(167,139,250,.09); border-radius: 7px; background: rgba(124,58,237,.035); }
.lead-evidence > small { color: #6f6684; font-size: 7px; font-weight: 800; letter-spacing: .12em; }
.chart-snapshots { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 17px 0 24px; }
.chart-snapshot { padding: 15px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: rgba(5,6,21,.35); }
.chart-snapshot header { display: grid; grid-template-columns: 25px 1fr; align-items: center; }
.chart-snapshot header > span { grid-row: span 2; display: grid; place-items: center; width: 24px; height: 24px; color: #fff; background: #6941bd; border-radius: 5px; font-size: 9px; }
.chart-snapshot header strong { color: #e8e3f0; font-size: 12px; }.chart-snapshot header small { color: #666174; font-size: 8px; }
.planet-pills { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 13px; }
.planet-pills span { padding: 6px 7px; color: #9b96a6; border: 1px solid rgba(255,255,255,.06); border-radius: 5px; font-size: 8px; }.planet-pills b { margin-right: 4px; color: #b99bff; }.planet-pills i { color: #6e6978; font-style: normal; }
.chart-snapshot footer { margin-top: 11px; color: #5e5969; font-size: 7px; }
.category-audit-intro { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin: 2px 0 12px; }
.category-audit-intro h3 { flex: 0 0 auto; margin: 0; }
.category-audit-intro p { max-width: 600px; margin: 0; color: #6f697b; font-size: 8px; line-height: 1.5; text-align: right; }
.category-audits { display: grid; gap: 10px; margin-bottom: 26px; }
.category-audit { --audit-color: #a855f7; overflow: hidden; border: 1px solid color-mix(in srgb,var(--audit-color) 20%,transparent); border-radius: 9px; background: rgba(5,6,21,.4); }
.category-audit.magenta { --audit-color: #ef5da8; }.category-audit.blue { --audit-color: #60a5fa; }.category-audit.violet { --audit-color: #a78bfa; }.category-audit.amber { --audit-color: #f5b55b; }
.category-audit-header { display: grid; grid-template-columns: 30px minmax(120px,1fr) auto; align-items: center; gap: 10px; padding: 12px 14px; background: linear-gradient(100deg,color-mix(in srgb,var(--audit-color) 8%,transparent),transparent 55%); }
.category-audit-symbol { display: grid; place-items: center; width: 29px; height: 29px; color: var(--audit-color); border: 1px solid color-mix(in srgb,var(--audit-color) 30%,transparent); border-radius: 7px; font-size: 15px; }
.category-audit-header > div > small,.category-audit-header > div > strong { display: block; }.category-audit-header > div > small { color: #777183; font-size: 7px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }.category-audit-header > div > strong { margin-top: 2px; color: #e7e1ed; font-size: 12px; }
.category-audit-totals { display: flex; gap: 7px; margin: 0; }
.category-audit-totals div { min-width: 82px; padding: 7px 9px; border: 1px solid rgba(255,255,255,.06); border-radius: 6px; background: rgba(255,255,255,.018); }
.category-audit-totals dt { color: #686273; font-size: 7px; font-weight: 800; text-transform: uppercase; }.category-audit-totals dd { margin: 2px 0 0; color: #cfc7da; font: 700 10px ui-monospace,SFMono-Regular,Consolas,monospace; }
.category-factor-head,.category-factor-row { display: grid; grid-template-columns: minmax(240px,2fr) .78fr .52fr .68fr .78fr; align-items: center; gap: 9px; padding: 8px 14px; }
.category-factor-head { color: #5f596b; border-top: 1px solid rgba(255,255,255,.055); border-bottom: 1px solid rgba(255,255,255,.055); background: rgba(255,255,255,.018); font-size: 6px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.category-factor-row { min-height: 52px; color: #898393; font-size: 8px; }.category-factor-row + .category-factor-row { border-top: 1px solid rgba(255,255,255,.04); }
.category-factor-row > strong { color: #d8d0e2; font: 700 9px ui-monospace,SFMono-Regular,Consolas,monospace; }.category-factor-row > span:not(.category-factor-name) { font-variant-numeric: tabular-nums; }
.category-factor-name b,.category-factor-name small,.category-factor-name code { display: block; }.category-factor-name b { color: #cfc8d7; font-size: 8px; }.category-factor-name small { margin-top: 3px; color: #777181; line-height: 1.35; }.category-factor-name code { margin-top: 3px; color: #514b5c; font-size: 6px; }
.category-factor-polarity { display: flex; align-items: center; gap: 5px; }.category-factor-polarity i { display: grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; font-style: normal; font-weight: 900; }.category-factor-row.supportive .category-factor-polarity i { color: #67ddb4; background: rgba(103,221,180,.09); }.category-factor-row.challenging .category-factor-polarity i { color: #f5b55b; background: rgba(245,181,91,.09); }
.aspect-table { border: 1px solid rgba(255,255,255,.07); border-radius: 8px; overflow: hidden; }
.aspect-table > div { min-height: 44px; padding: 8px 12px; display: grid; grid-template-columns: 1fr 1.2fr 1fr .7fr .9fr; align-items: center; gap: 7px; border-bottom: 1px solid rgba(255,255,255,.05); color: #918c9d; font-size: 8px; }.aspect-table > div:last-child { border: 0; }.aspect-table b { color: #d2c5ef; }.aspect-table i { color: #9d7ae5; font-style: normal; }.aspect-table code { overflow: hidden; color: #5d5869; text-overflow: ellipsis; }
.method-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 18px; }
.method-grid article { padding: 15px; border: 1px solid rgba(255,255,255,.07); border-radius: 8px; background: rgba(5,6,21,.35); }.method-grid span { color: #8564ce; font-size: 7px; letter-spacing: .12em; }.method-grid h3 { margin: 7px 0 8px; }.method-grid p { margin: 0; color: #817c8d; font-size: 9px; line-height: 1.55; }
.formula-card { margin-top: 12px; padding: 15px; border: 1px solid rgba(96,165,250,.12); border-radius: 8px; background: rgba(30,64,175,.05); }.formula-card strong { display: block; color: #bdcaeb; font-size: 10px; }.formula-card code { display: block; margin-top: 8px; color: #759de1; font-size: 9px; }.formula-card p { margin: 8px 0 0; color: #6f7180; font-size: 8px; }
.disclaimer { margin: 14px 0; padding: 13px; color: #888291; border-left: 2px solid #7456e8; background: rgba(116,86,232,.045); font-size: 9px; line-height: 1.55; }.source-links { display: flex; flex-wrap: wrap; gap: 8px; }.source-links a { color: #8069b4; font-size: 8px; text-decoration: none; }.source-links a:hover { color: #c2aaff; }
.mobile-reset { display: none; }
@keyframes reveal-in { from { opacity: 0; transform: translateY(16px) scale(.985); filter: blur(8px); } to { opacity: 1; transform: none; filter: none; } }

@media(max-width:900px){
  .form-layout{grid-template-columns:1fr;gap:32px}.form-aside{text-align:center}.form-aside > p:not(.eyebrow),.privacy-card{margin-inline:auto}.analysis-grid{grid-template-columns:1fr}.sky-console{min-height:480px}.pipeline-panel{display:grid;grid-template-columns:1fr .7fr;gap:12px}.comic-relief{margin-top:0}.method-grid{grid-template-columns:1fr}.category-factor-head,.category-factor-row{grid-template-columns:minmax(210px,1.7fr) .78fr .52fr .68fr .78fr}
}
@media(max-width:620px){
  .proof-strip{margin-top:-8px;gap:9px;overflow:hidden;font-size:7px;white-space:nowrap}.home-footer{padding-bottom:24px}.form-stage{width:min(100% - 26px,1120px);padding-top:27px}.form-steps{grid-template-columns:1fr 34px 1fr;margin-bottom:27px}.form-steps > span{font-size:8px}.form-layout{gap:22px}.form-aside h1{font-size:43px}.form-aside > p:not(.eyebrow){font-size:12px}.privacy-card{margin-top:20px;text-align:left}.profile-form{min-height:auto;padding:20px}.field-grid{grid-template-columns:1fr 1fr}.field input{height:49px;font-size:14px}.city-results{grid-template-columns:1fr;max-height:154px}.city-option{min-height:62px}.field-error-message{font-size:10px!important}.micro-footer{padding:15px 18px 18px;gap:5px}.micro-footer > span{width:100%;font-size:8px;line-height:1.45}.service-credit{font-size:7px;opacity:.52}.form-actions{position:sticky;bottom:8px;z-index:3;padding-top:9px;background:linear-gradient(transparent,rgba(7,8,25,.94) 30%)}.analysis-stage{width:min(100% - 24px,1180px);padding-top:26px}.analysis-head h1{font-size:42px}.analysis-head > p:last-child{padding-inline:14px;line-height:1.4}.analysis-grid{margin-top:22px}.sky-console{min-height:400px}.console-top{height:42px}#synastry-canvas{height:332px}.chart-legends{gap:9px;flex-wrap:wrap}.pipeline-panel{display:block;padding:11px}.analysis-live{position:sticky;z-index:8;top:max(8px,env(safe-area-inset-top));min-height:90px;margin:-1px -1px 10px;padding:13px 12px;grid-template-columns:30px minmax(0,1fr) auto;gap:10px;background:linear-gradient(110deg,rgba(63,31,124,.97),rgba(51,21,78,.96) 58%,rgba(20,32,72,.96));box-shadow:0 13px 34px rgba(0,0,0,.4),inset 0 1px rgba(255,255,255,.09);backdrop-filter:blur(18px)}.analysis-live-pulse{width:28px;height:28px}.analysis-live-title{font-size:12px}.analysis-live-detail{max-width:100%;font-size:8px}.analysis-live-count{min-width:38px;padding-inline:6px}.analysis-steps li{min-height:48px}.analysis-steps li.active{margin-inline:-3px;padding-inline:9px 5px}.analysis-cancel{width:100%;min-height:43px;margin-top:11px}.comic-relief{margin-top:11px}.reveal{width:min(100% - 26px,1040px);padding-top:40px}.reveal-kicker{gap:8px;flex-wrap:wrap}.reveal h1{gap:11px;font-size:52px}.duo-name{margin-top:17px}.reveal h2{font-size:25px}.reveal-summary{font-size:13px}.result-cards{width:min(100% - 24px,1180px);grid-template-columns:1fr;gap:10px}.result-card{min-height:0;padding:18px}.result-card-summary{font-size:12px}.result-proof{padding:11px}.result-proof>strong{font-size:13px}.result-proof>p{font-size:11px;line-height:1.58}.result-actions{width:min(100% - 24px,1180px);flex-direction:column}.result-actions button{width:100%;justify-content:center}.deep-dive{width:min(100% - 24px,980px);margin-bottom:88px}.deep-dive summary{min-height:68px;padding:14px}.details-content{padding:6px 14px 19px}.analysis-columns,.chart-snapshots{grid-template-columns:1fr}.aspect-table > div{grid-template-columns:1fr 1fr .7fr}.aspect-table > div span:nth-of-type(2),.aspect-table code{display:none}.formula-card code{white-space:normal}.result-footer{display:none}.mobile-reset{position:fixed;z-index:12;left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom));display:block;height:48px;color:#fff;border:1px solid rgba(255,255,255,.2);background:linear-gradient(105deg,#6d3fd5,#ad3db3);box-shadow:0 14px 40px rgba(0,0,0,.5);font-weight:800}
}
@media(max-width:620px){.category-audit-intro{display:block}.category-audit-intro p{margin-top:5px;font-size:10px;text-align:left}.category-audit-header{grid-template-columns:30px 1fr}.category-audit-header > div > small{font-size:8px}.category-audit-header > div > strong{font-size:14px}.category-audit-totals{grid-column:1/-1}.category-audit-totals div{flex:1;min-width:0}.category-audit-totals dt{font-size:8px}.category-audit-totals dd{font-size:12px}.category-factor-head{display:none}.category-factor-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px;padding:14px;font-size:10px}.category-factor-row > strong{font-size:11px}.category-factor-name{grid-column:1/-1;padding-bottom:4px}.category-factor-name b{font-size:10px}.category-factor-name small{font-size:9px}.category-factor-name code{font-size:7px}.category-factor-row > [data-label]::before{content:attr(data-label);display:block;margin-bottom:3px;color:#5f596b;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.category-factor-polarity{display:block}.category-factor-polarity i{display:inline-grid;margin-right:5px}}
@media(max-width:620px){.sky-console{min-height:535px}.planet-role-guide{margin:9px 10px 0}.planet-role-guide > div{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.planet-role{min-height:48px}.planet-role-heading{font-size:6px}}
@media(max-width:900px){.astro-explainer-copy{grid-template-columns:1fr;gap:14px}.astro-role-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.astro-explainer{width:min(100% - 28px,1180px);margin-top:-24px;padding:22px 18px;border-radius:14px}.astro-explainer h2{font-size:29px}.astro-explainer-copy>p{font-size:12px}.astro-role{min-height:70px;padding:11px 9px;gap:8px}.astro-role-symbol{min-width:32px;font-size:20px}.astro-role strong{font-size:9px}.astro-role small{font-size:7px}.astro-source-line{font-size:9px}}
@media(max-width:850px){.hero-actions{justify-content:center}}
@media(max-width:560px){.hero-actions{width:min(100%,360px);margin:30px auto 0;display:grid;grid-template-columns:1fr;gap:10px}.hero-actions .primary-cta,.hero-actions .demo-link{width:100%;justify-content:center}.demo-link{padding-right:12px}.demo-link > span:last-child{min-width:180px}.trust-row{margin-top:20px;padding-top:14px;border-top:1px solid rgba(255,255,255,.065)}.guided-demo-bar{top:max(8px,env(safe-area-inset-top));padding:9px}.guided-demo-bar > span{gap:8px}.guided-demo-bar > span > i{display:none}.guided-demo-bar small{max-width:170px}.guided-demo-bar button{padding:0 9px;font-size:8px}}
@media(max-width:350px){.astro-role-grid{grid-template-columns:1fr}.astro-role{min-height:62px}.astro-role strong{font-size:10px}.astro-role small{font-size:8px}}
@media(max-width:410px){.brand{font-size:13px}.field-grid{grid-template-columns:1fr}.reveal h1{font-size:45px}.result-card header strong{font-size:21px}}
