:root{--font-display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--font-sans:"Avenir Next", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--background:#f6efe6;--background-strong:#efe1d1;--surface:#fffbf6b8;--surface-strong:#fff8f0eb;--foreground:#1f1712;--muted:#5d4f44;--line:#5d4f442e;--accent:#b5532f;--accent-strong:#8c3c1d;--shadow:0 24px 60px #653f231f}*{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%;scroll-padding-top:112px}body{min-height:100vh;color:var(--foreground);background:radial-gradient(circle at top left, #b5532f3d, transparent 28%), radial-gradient(circle at right 15%, #8c3c1d2e, transparent 24%), linear-gradient(180deg, var(--background) 0%, #fbf7f2 100%);font-family:var(--font-sans), sans-serif;margin:0}a{color:inherit;text-decoration:none}.site-header{z-index:20;border:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffbf6c7;border-radius:999px;justify-content:space-between;align-items:center;width:min(1120px,100% - 32px);min-height:68px;margin:16px auto 0;padding:10px 12px 10px 18px;display:flex;position:sticky;top:16px;box-shadow:0 18px 44px #653f231a}.site-header-logo{font-family:var(--font-display), serif;letter-spacing:-.04em;align-items:center;gap:10px;font-size:1.45rem;font-weight:700;display:inline-flex}.site-header-logo-mark{color:#fff8f3;background:radial-gradient(circle at 32% 28%, #ffe9d6b8, transparent 26%), linear-gradient(135deg, var(--accent), var(--accent-strong));border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:inline-flex;box-shadow:0 10px 22px #8c3c1d33}.site-header-nav{align-items:center;gap:10px;display:flex}.site-header-account{max-width:min(34vw,260px);color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;overflow:hidden}.ui-display-title,.ui-section-title,.ui-card-title{font-family:var(--font-display), serif;letter-spacing:-.03em;margin:0}.ui-display-title{max-width:12ch;font-size:clamp(2.75rem,5vw,5.5rem);line-height:.95}.ui-section-title{font-size:clamp(2rem,3.4vw,3.1rem)}.ui-card-title{font-size:1.5rem}.ui-body-text,.ui-supporting-text,.ui-card-description{color:var(--muted);margin:0;font-size:1.05rem;line-height:1.7}.ui-eyebrow,.status-label,.timezone-label,.ui-field-label{color:var(--accent-strong);letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;font-weight:700;display:inline-flex}.ui-page-intro,.hero,.subpage-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:32px;padding:40px}.ui-page-intro-compact{background:var(--surface-strong)}.ui-page-intro .ui-eyebrow{margin-bottom:16px}.ui-page-intro .ui-body-text{max-width:64ch}.ui-action-row,.cta-row{flex-wrap:wrap;gap:14px;margin-top:28px;display:flex}.ui-button,.button{min-height:48px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;padding:0 20px;font-weight:700;transition:transform .16s,box-shadow .16s,background-color .16s,border-color .16s;display:inline-flex}.ui-button:hover,.button:hover{transform:translateY(-1px)}.ui-button-primary,.button-primary{color:#fff8f3;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%)}.ui-button-secondary,.button-secondary{background:var(--surface-strong);border-color:var(--line)}.ui-button-ghost{color:var(--accent-strong);background:#b5532f1a}.ui-button-lg{min-height:54px;padding:0 24px}.ui-button:disabled,.button:disabled{cursor:wait;opacity:.78}.ui-card,.card,.status-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:24px}.ui-card-strong{background:var(--surface-strong)}.ui-card-soft{background:#ffffff7a}.ui-card-header{gap:12px;display:grid}.ui-card-body{gap:16px;display:grid}.ui-card>.ui-card-body,.ui-card>.ui-card-description,.ui-card>.ui-inline-links,.ui-card>.stack,.ui-card>.result-grid{margin-top:16px}.ui-inline-links{color:var(--accent-strong);flex-wrap:wrap;gap:16px;font-weight:700;display:flex}.ui-state-notice{min-height:180px}.ui-state-notice-loading{background:linear-gradient(#fffcf8f5,#f0e8dfd6)}.ui-state-notice-error{background:#b5532f14;border-color:#8c3c1d47}.ui-state-notice-success{background:linear-gradient(#fffcf8f5,#e2efe4e6)}.ui-field{gap:10px;display:grid}.ui-field-invalid .ui-field-hint{color:var(--accent-strong)}.ui-input,.form-field input[type=date],.form-field input[type=time],.form-field input[type=text]{width:100%;min-height:54px;color:var(--foreground);font:inherit;background:#ffffffe6;border:1px solid #5d4f442e;border-radius:18px;outline:none;padding:0 16px;transition:border-color .16s,box-shadow .16s,transform .16s}.ui-input:focus,.form-field input:focus{border-color:#b5532f7a;box-shadow:0 0 0 4px #b5532f1a}.ui-input:disabled,.form-field input:disabled{color:#1f171280;background:#f6ebdecc}.ui-field-hint{color:var(--muted);margin:0;line-height:1.6}.ui-toggle-card,.form-toggle{background:#ffffff73;border:1px solid #5d4f4424;border-radius:22px;grid-template-columns:auto 1fr;gap:14px;padding:18px;display:grid}.ui-toggle-card input,.form-toggle input{width:20px;height:20px;accent-color:var(--accent);margin-top:4px}.ui-toggle-card strong,.timezone-panel strong,.result-panel strong,.form-toggle strong{margin-bottom:6px;font-size:1rem;display:block}.ui-toggle-card p,.form-toggle p{color:var(--muted);margin:0;line-height:1.6}.ui-autocomplete,.location-field{position:relative}.ui-autocomplete-menu,.location-menu{z-index:20;background:#fffbf6fa;border:1px solid #5d4f4424;border-radius:20px;gap:8px;width:100%;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);box-shadow:0 24px 50px #653f2329}.ui-autocomplete-option,.location-option,.catalog-chip{cursor:pointer;font:inherit;border:0}.ui-autocomplete-option,.location-option{text-align:left;color:var(--foreground);background:#ffffffe6;border-radius:16px;gap:4px;padding:14px 16px;transition:transform .16s,background-color .16s;display:grid}.ui-autocomplete-option:hover,.ui-autocomplete-option.is-selected,.location-option:hover,.location-option.is-selected{background:#b5532f1f;transform:translateY(-1px)}.ui-autocomplete-option small,.location-option small{color:var(--muted)}.shell{width:min(1120px,100% - 32px);margin:0 auto;padding:48px 0 72px}.auth-shell{gap:24px;max-width:760px;display:grid}.auth-card{background:linear-gradient(180deg, #fffcf8f5, #faf1e7e6), var(--surface-strong)}.auth-form{gap:18px;display:grid}.grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;display:grid}.status-panel{border-radius:24px;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:24px;padding:24px;display:grid}.status-panel strong{font-size:1rem;display:block}.stack>*+*{margin-top:16px}.bullet-list{margin:0;padding-left:20px}.wireframe-shell>*+*{margin-top:24px}.wireframe-section{gap:18px;display:grid}.section-heading h2{font-family:var(--font-display), serif;letter-spacing:-.03em;margin:0;font-size:clamp(2rem,3.4vw,3.1rem)}.wireframe-tag{color:var(--accent-strong);letter-spacing:.08em;text-transform:uppercase;background:#b5532f1a;border-radius:999px;margin-bottom:12px;padding:6px 10px;font-size:.78rem;font-weight:700;display:inline-flex}.wireframe-box,.wireframe-callout,.wireframe-paywall{background:linear-gradient(#fff8f0e6,#f5e6d780);border:1px dashed #8c3c1d61;border-radius:18px}.wireframe-box{min-height:88px}.wireframe-box-tall{min-height:180px}.wireframe-box-medium{min-height:120px}.viewport-grid,.state-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.viewport-card{gap:14px;display:grid}.viewport{background:#ffffff52;border:1px solid #5d4f441f;border-radius:22px;gap:14px;padding:16px;display:grid}.viewport-desktop{min-height:420px}.viewport-mobile{width:min(100%,340px);min-height:520px}.viewport-columns,.wireframe-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.viewport-columns{grid-template-columns:repeat(3,minmax(0,1fr))}.viewport-hero{min-height:150px}.viewport-footer{min-height:64px}.wireframe-callout,.wireframe-paywall{min-height:110px;color:var(--accent-strong);text-align:center;justify-content:center;align-items:center;padding:16px;font-weight:700;display:flex}.wireframe-paywall{background:linear-gradient(135deg,#b5532f24,#8c3c1d14)}.spec-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.spec-card,.rule-card,.error-card,.fallback-card{background:var(--surface-strong)}.spec-meta{color:var(--accent-strong);background:#b5532f1a;border-radius:999px;margin-top:16px;padding:8px 12px;font-size:.85rem;font-weight:700;display:inline-flex}.spec-form{background:#ffffff52;border:1px solid #5d4f441f;border-radius:24px;gap:14px;padding:16px;display:grid}.spec-form-row,.fallback-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.spec-form-mobile,.fallback-grid{grid-template-columns:1fr}.spec-input-card,.spec-toggle-card,.spec-submit-card,.spec-callout{background:linear-gradient(#fffcf8f5,#f6ebded6);border:1px solid #5d4f441f;border-radius:20px;gap:8px;padding:18px;display:grid}.spec-label,.spec-helper,.spec-submit-card span{color:var(--muted)}.spec-label,.spec-toggle-pill{letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;font-weight:700}.spec-toggle-card{grid-template-columns:auto 1fr;align-items:start}.spec-toggle-card p,.fallback-card p,.error-card p{margin:0}.spec-toggle-pill{color:#fff8f3;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);border-radius:999px;align-items:center;min-height:34px;padding:0 12px;display:inline-flex}.spec-callout{color:var(--accent-strong);text-align:center;font-weight:700}.rule-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.form-header h1{max-width:10ch}.birth-form-layout{grid-template-columns:minmax(0,1.65fr) minmax(300px,.95fr);gap:18px;margin-top:24px;display:grid}.birth-form-card,.birth-side-card,.result-card{background:var(--surface-strong)}.form-section-heading{margin-bottom:20px}.form-section-heading h2{font-family:var(--font-display), serif;letter-spacing:-.03em;margin:0;font-size:clamp(1.8rem,2.6vw,2.5rem)}.birth-form{gap:18px;display:grid}.form-field{gap:10px;display:grid}.form-field>span,.timezone-label{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-strong);font-size:.8rem;font-weight:700}.form-field input[type=date],.form-field input[type=time],.form-field input[type=text]{width:100%;min-height:54px;color:var(--foreground);font:inherit;background:#ffffffe6;border:1px solid #5d4f442e;border-radius:18px;outline:none;padding:0 16px;transition:border-color .16s,box-shadow .16s,transform .16s}.form-field input:focus{border-color:#b5532f7a;box-shadow:0 0 0 4px #b5532f1a}.form-field input:disabled{color:#1f171280;background:#f6ebdecc}.form-field small,.timezone-panel p,.form-toggle p,.result-panel small,.result-panel p{color:var(--muted);margin:0;line-height:1.6}.form-toggle{background:#ffffff73;border:1px solid #5d4f4424;border-radius:22px;grid-template-columns:auto 1fr;gap:14px;padding:18px;display:grid}.form-toggle input{width:20px;height:20px;accent-color:var(--accent);margin-top:4px}.form-toggle strong,.timezone-panel strong,.result-panel strong{margin-bottom:6px;font-size:1rem;display:block}.location-field{position:relative}.location-menu{z-index:20;background:#fffbf6fa;border:1px solid #5d4f4424;border-radius:20px;gap:8px;width:100%;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);box-shadow:0 24px 50px #653f2329}.location-option,.catalog-chip{cursor:pointer;font:inherit;border:0}.location-option{text-align:left;color:var(--foreground);background:#ffffffe6;border-radius:16px;gap:4px;padding:14px 16px;transition:transform .16s,background-color .16s;display:grid}.location-option:hover,.location-option.is-selected{background:#b5532f1f;transform:translateY(-1px)}.location-option small{color:var(--muted)}.timezone-panel{background:linear-gradient(#fffcf8f5,#f6ebded6);border:1px solid #5d4f4424;border-radius:22px;padding:18px}.timezone-panel.has-error,.form-alert-error{background:#b5532f14;border-color:#8c3c1d47}.form-alert{color:var(--accent-strong);border-radius:18px;padding:16px 18px}.form-submit{cursor:pointer;width:fit-content;min-width:220px;font:inherit;border:0}.form-submit:disabled{cursor:wait;opacity:.78}.birth-side-card{align-content:start;gap:18px;display:grid}.location-catalog-preview{gap:12px;padding-top:8px;display:grid}.catalog-chips{flex-wrap:wrap;gap:10px;display:flex}.catalog-chip{min-height:38px;color:var(--accent-strong);background:#b5532f1a;border-radius:999px;padding:0 14px}.result-card{margin-top:24px}.result-shell{gap:24px;display:grid}.result-state-card,.result-skeleton-grid,.result-pillars-grid,.result-elements-grid,.result-interpretation-grid,.period-cycles-grid{gap:14px;display:grid}.result-skeleton-grid,.result-pillars-grid,.result-elements-grid,.result-interpretation-grid,.period-cycles-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-sections{gap:18px;display:grid}.preview-section{background:#fffcf8f0;border:1px solid #b5532f3d}.full-section{background:repeating-linear-gradient(-45deg,#fff8f0eb,#fff8f0eb 8px,#f6ebdeeb 8px 16px);border:1px solid #5d4f443d}.element-panel{gap:8px;display:grid}.element-panel-header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.element-panel-header strong{margin-bottom:0}.element-meter{background:#5d4f4429;border-radius:999px;width:100%;height:10px}.element-meter-fill{border-radius:inherit;background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);height:100%}.full-panel{background:#ffffffa3}.period-analysis-section{background:linear-gradient(#f5faf6f5 0%,#fffffff5 100%);border:1px solid #2e5a4c38}.period-analysis-layout{gap:16px;display:grid}.history-section{background:linear-gradient(#fffaf4f5 0%,#fffffffa 100%);border:1px solid #b5532f38}.history-layout,.history-summary-grid,.history-items-grid{gap:14px;display:grid}.history-summary-grid,.history-items-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.history-item-card,.history-paywall-card{gap:8px;display:grid}.period-access-actions{flex-wrap:wrap;gap:10px;display:flex}.period-paywall-card{border:1px solid #2e5a4c2e}.period-cycle-card{gap:6px;display:grid}.period-cycle-current{background:#ebf7f0e0;border-color:#2e5a4c61}.result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.result-panel{background:#ffffff7a;border:1px solid #5d4f441f;border-radius:20px;padding:18px}.state-card{min-height:180px}.calendar-shell,.calendar-sections{gap:24px;display:grid}.calendar-access-card,.calendar-controls-card,.calendar-day-card,.calendar-paywall-card{background:var(--surface-strong)}.calendar-access-actions,.calendar-nav-actions{flex-wrap:wrap;gap:12px;display:flex}.calendar-controls-grid,.calendar-overview-grid,.calendar-content-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.calendar-list{gap:10px;display:grid}@media (max-width:900px){.grid,.spec-grid,.rule-grid,.status-panel,.viewport-grid,.state-grid,.wireframe-row,.viewport-columns,.spec-form-row{grid-template-columns:1fr}.hero,.subpage-header{padding:28px}.landing-cta-block,.birth-form-layout,.result-grid,.result-skeleton-grid,.result-pillars-grid,.result-elements-grid,.result-interpretation-grid,.history-summary-grid,.history-items-grid,.calendar-controls-grid,.calendar-overview-grid,.calendar-content-grid{grid-template-columns:1fr}.landing-v2-cta{grid-template-columns:1fr;justify-items:start}}@media (max-width:640px){.site-header{width:min(100% - 20px,1120px);min-height:60px;margin-top:10px;padding:8px 8px 8px 12px;top:10px}.site-header-logo{font-size:1.2rem}.site-header-logo-mark{width:34px;height:34px}.site-header-account{display:none}.shell{width:min(100% - 20px,1120px);padding:20px 0 48px}.hero h1,.subpage-header h1{font-size:2.6rem}.card,.status-panel{padding:20px}.viewport-mobile{width:100%}.spec-toggle-card,.form-toggle{grid-template-columns:1fr}.form-submit{width:100%}}.landing-shell{gap:24px;display:grid}.landing-hero h1{max-width:14ch}.landing-section{gap:18px;display:grid}.landing-benefits-grid{margin-top:0}.landing-benefit-card{gap:12px;display:grid}.landing-benefit-card h3,.landing-cta-block h2{font-family:var(--font-display), serif;letter-spacing:-.02em;margin:0}.landing-benefit-card h3{font-size:1.55rem}.landing-cta-block{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;display:grid}.landing-cta-block p{margin:12px 0 0}.landing-trust-section{gap:14px;display:grid}.landing-trust-list{gap:10px;margin:0;display:grid}@media (max-width:900px){.landing-cta-block{grid-template-columns:1fr;justify-items:start}}.landing-v2{gap:24px;display:grid}.landing-v2-hero h1{max-width:15ch}.landing-v2-section{gap:16px;display:grid}.landing-v2-feature-grid{margin-top:0}.landing-v2-feature-card{gap:10px;display:grid}.landing-v2-feature-card h3,.landing-v2-flow h2,.landing-v2-cta h2{font-family:var(--font-display), serif;letter-spacing:-.02em;margin:0}.landing-v2-feature-card h3{font-size:1.4rem}.landing-v2-flow{gap:12px;display:grid}.landing-v2-flow-list{color:var(--muted);gap:10px;margin:0;padding-left:20px;line-height:1.6;display:grid}.landing-v2-cta{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px;display:grid}.landing-v2-cta p{color:var(--muted);margin:10px 0 0}.landing-v2-trust{gap:12px;display:grid}.landing-v2-trust-list{gap:8px;margin:0;display:grid}@media (max-width:900px){.landing-v2-cta{grid-template-columns:1fr;justify-items:start}}.birth-form-card{background:var(--surface-strong)}.birth-form{gap:16px;max-width:560px;display:grid}.birth-form-field{gap:8px;display:grid}.birth-form label{letter-spacing:.02em;font-size:.92rem;font-weight:700}.birth-form input[type=date],.birth-form input[type=time],.birth-form input[type=text]{min-height:48px;color:var(--foreground);background:#fffffff0;border:1px solid #5d4f4442;border-radius:12px;padding:0 12px;font-size:1rem}.birth-form input[aria-invalid=true]{border-color:#c83030}.birth-form input:disabled{opacity:.65;cursor:not-allowed}.toggle-row{align-items:center;gap:10px;font-weight:600;display:inline-flex}.toggle-row input{width:18px;height:18px}.field-help{color:var(--muted);margin:0;font-size:.95rem}.field-error{color:#b01919;margin:0;font-size:.88rem;line-height:1.4}.form-submit{justify-self:start;margin-top:6px}.form-submit:disabled{opacity:.75}.submit-success{color:#21672f;margin:0;font-weight:600}
