@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=DM+Sans:opsz,wght@9..40,300;9..40,400;9..40,500;9..40,600&display=swap";.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:40px;padding:0 var(--space-4);font-family:var(--font-ui);font-size:var(--font-size-label);font-weight:500;line-height:1;border:1px solid transparent;border-radius:var(--radius-md);background:none;color:var(--text-primary);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--transition),border-color var(--transition),color var(--transition)}.ui-btn--sm{height:32px;padding:0 var(--space-3);font-size:var(--font-size-caption)}.ui-btn--block{width:100%}.ui-btn--primary{background:var(--accent);color:#fff}.ui-btn--primary:hover:not(:disabled){background:var(--accent-hover)}.ui-btn--secondary{background:var(--bg-secondary);color:var(--accent);border-color:var(--accent)}.ui-btn--secondary:hover:not(:disabled){background:var(--accent-light)}.ui-btn--ghost{background:none;color:var(--text-secondary)}.ui-btn--ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.ui-btn--danger{background:var(--error);color:#fff}.ui-btn:disabled{opacity:.5;cursor:not-allowed}.ui-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-segmented{display:inline-flex;gap:2px;padding:3px;background:var(--bg-tertiary);border-radius:var(--radius-md)}.ui-segmented__item{border:none;background:none;font-family:var(--font-ui);font-size:var(--font-size-label);font-weight:500;color:var(--text-secondary);padding:6px 14px;border-radius:calc(var(--radius-md) - 3px);cursor:pointer;white-space:nowrap;text-decoration:none;transition:background var(--transition),color var(--transition)}.ui-segmented__item:hover:not(.is-selected):not([aria-selected=true]):not([aria-pressed=true]){color:var(--text-primary)}.ui-segmented__item.is-selected,.ui-segmented__item[aria-selected=true],.ui-segmented__item[aria-pressed=true]{background:var(--bg-secondary);color:var(--accent);box-shadow:var(--shadow-sm)}.ui-segmented__item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-field{display:flex;flex-direction:column;gap:var(--space-2)}.ui-label{font-size:var(--font-size-label);font-weight:500;color:var(--text-secondary)}.ui-input{width:100%;height:40px;padding:0 var(--space-3);font-family:var(--font-ui);font-size:var(--font-size-body);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);transition:border-color var(--transition),box-shadow var(--transition)}.ui-input::placeholder{color:var(--text-muted)}.ui-input:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px var(--accent-light)}.ui-input[aria-invalid=true]{border-color:var(--error)}textarea.ui-input{height:auto;min-height:88px;padding:var(--space-3);resize:vertical}.ui-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:var(--space-5)}.ui-table{width:100%;border-collapse:collapse}.ui-table th{text-align:left;font-size:var(--font-size-caption);text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:500;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border)}.ui-table td{font-size:var(--font-size-label);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);vertical-align:middle}.ui-table tbody tr:last-child td{border-bottom:none}.ui-table tbody tr{transition:background var(--transition)}.ui-table--rows tbody tr:hover td{background:var(--bg-hover)}.ui-settings-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:52px;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--border)}.ui-settings-row:last-child{border-bottom:none}.ui-settings-row__label{font-size:var(--font-size-label);color:var(--text-primary)}.ui-settings-row__hint{font-size:var(--font-size-caption);color:var(--text-muted);margin-top:2px}.ui-toggle{width:40px;height:22px;flex-shrink:0;border:none;border-radius:12px;background:var(--border);position:relative;cursor:pointer;transition:background var(--transition)}.ui-toggle[aria-checked=true]{background:var(--accent)}.ui-toggle:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--shadow-sm);transition:left var(--transition)}.ui-toggle[aria-checked=true]:after{left:20px}.ui-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.ui-empty-state{text-align:center;padding:var(--space-6) var(--space-4)}.ui-empty-state__icon{width:40px;height:40px;margin:0 auto var(--space-3);border-radius:50%;background:var(--accent-light);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:18px}.ui-empty-state__title{font-size:var(--font-size-label);font-weight:600;margin:0 0 var(--space-1)}.ui-empty-state__text{font-size:var(--font-size-caption);color:var(--text-muted);margin:0 auto var(--space-4);max-width:44ch}.ui-dialog-backdrop{position:fixed;inset:0;z-index:1000;background:#1a161459;display:flex;align-items:center;justify-content:center;padding:var(--space-4)}.ui-dialog{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--space-5);max-width:400px;width:100%}.ui-dialog__title{font-family:var(--font-display);font-size:var(--font-size-h3);font-weight:500;margin:0 0 var(--space-2)}.ui-dialog__body{font-size:var(--font-size-body);color:var(--text-secondary);margin:0 0 var(--space-4)}.ui-dialog__actions{display:flex;justify-content:flex-end;gap:var(--space-2)}@font-face{font-family:Astronomicon Local;src:url(../fonts/Astronomicon.subset.woff2) format("woff2"),url(../fonts/Astronomicon.ttf) format("truetype");font-display:block}body.quick-open-active{overflow:hidden}.quick-open-popover.hidden{display:none}.quick-open-popover{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:22px}.quick-open-backdrop{position:absolute;inset:0;background:#1a161459}.quick-open-dialog{position:relative;z-index:1;width:min(460px,100%);max-height:min(640px,calc(100vh - 44px));display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg)}.quick-open-head{display:grid;grid-template-columns:minmax(0,1fr) 34px;gap:12px;align-items:start;padding:var(--space-4);border-bottom:1px solid var(--border);background:var(--bg-secondary)}.quick-open-title{margin:0;font-family:var(--font-display);font-size:28px;font-weight:500;line-height:1;color:var(--text-primary)}.quick-open-subtitle{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.45}.quick-open-close{width:32px;height:32px;border:1px solid rgba(30,58,95,.1);border-radius:8px;background:#ffffffd1;color:var(--text-secondary);font-size:22px;line-height:1;cursor:pointer}.quick-open-close:hover{background:var(--gold-pale);color:var(--text-primary)}.quick-open-list{display:grid;gap:8px;min-height:120px;overflow:auto;padding:12px}.quick-open-list--busy{pointer-events:none;opacity:.58}.quick-open-status,.quick-open-empty{padding:28px 18px;color:var(--text-secondary);font-size:14px;text-align:center}.quick-open-empty--error{color:var(--error)}.quick-open-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;width:100%;padding:12px;border:1px solid rgba(30,58,95,.08);border-radius:10px;background:#f9f7f27a;color:inherit;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--transition),background var(--transition),transform var(--transition)}.quick-open-item:hover{border-color:#b8935a5c;background:#fff;transform:translateY(-1px)}.quick-open-item:focus-visible,.quick-open-close:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #1e3a5f24}.quick-open-item-main{min-width:0;display:grid;gap:3px}.quick-open-item-title{color:var(--text-primary);font-size:14px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.quick-open-item-meta{color:var(--text-secondary);font-size:12.5px;line-height:1.35;overflow-wrap:anywhere}.quick-open-item-action{padding:5px 9px;border-radius:999px;background:var(--accent-light);color:var(--accent);font-size:12px;font-weight:600;white-space:nowrap}.chart-picker-search-row{padding:12px 18px 6px}.chart-picker-search{width:100%;padding:9px 12px;border:1px solid rgba(30,58,95,.12);border-radius:10px;background:#ffffffe6;color:var(--text-primary);font:inherit;font-size:14px}.chart-picker-search:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #1e3a5f24}.chart-picker-tags{display:flex;flex-wrap:wrap;gap:6px;padding:0 18px 8px}.chart-picker-tags[hidden]{display:none}.chart-picker-tag{padding:4px 10px;border:1px solid rgba(30,58,95,.12);border-radius:999px;background:#f9f7f299;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}.chart-picker-tag:hover{border-color:#b8935a5c;color:var(--text-primary)}.chart-picker-tag.is-active{background:var(--accent-light);border-color:var(--accent);color:var(--accent);font-weight:600}@media(max-width:520px){.quick-open-popover{align-items:flex-end;padding:10px}.quick-open-dialog{max-height:calc(100vh - 20px);border-radius:14px}.quick-open-title{font-size:24px}.quick-open-item{grid-template-columns:minmax(0,1fr)}.quick-open-item-action{justify-self:start}}@font-face{font-family:Noto Sans Symbols Local;src:url(../fonts/NotoSansSymbols.subset.woff2) format("woff2"),url(../fonts/NotoSansSymbols.ttf) format("truetype");font-display:block}@font-face{font-family:"Noto Sans Symbols 2 Local";src:url(../fonts/NotoSansSymbols2.subset.woff2) format("woff2"),url(../fonts/NotoSansSymbols2.ttf) format("truetype");font-display:block}:root{--bg-primary: #F9F7F2;--bg-secondary: #FFFFFF;--bg-tertiary: #F0EDE4;--bg-hover: #EDE9E0;--text-primary: #1A1614;--text-secondary: #5C554E;--text-muted: #7A6F63;--accent: #1E3A5F;--accent-hover: #2E4E7A;--accent-light: #EBF0F7;--gold: #B8935A;--gold-hover: #C9A46A;--gold-pale: #F5EDDF;--success: #2B7A4B;--warning: #B07D10;--error: #B83232;--border: #E0DDD7;--border-focus: #1E3A5F;--shadow-sm: 0 1px 3px rgba(26,22,20,.05), 0 1px 2px rgba(26,22,20,.03);--shadow-md: 0 4px 16px rgba(26,22,20,.08), 0 2px 6px rgba(26,22,20,.04);--shadow-lg: 0 12px 32px rgba(26,22,20,.1), 0 4px 12px rgba(26,22,20,.06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--font-size-caption: 12px;--font-size-label: 14px;--font-size-body: 16px;--font-size-h3: 20px;--font-size-h2: 28px;--font-size-h1: 40px;--density-space-1: 4px;--density-space-2: 6px;--density-space-3: 8px;--density-space-4: 10px;--density-space-5: 12px;--density-control-height: 32px;--density-touch-target: 40px;--density-radius: 10px;--density-surface-padding: 12px;--density-row-padding: 7px 10px;--density-surface-shadow: 0 1px 3px rgba(26, 22, 20, .045);--transition: .2s ease;--transition-soft: .42s cubic-bezier(.22, 1, .36, 1);--motion-soft: cubic-bezier(.22, 1, .36, 1);--font-ui: "DM Sans", system-ui, -apple-system, sans-serif;--font-display: "Cormorant Garamond", Georgia, serif;--font-symbol: "Astronomicon Local", "Noto Sans Symbols Local", "Noto Sans Symbols 2 Local", "Segoe UI Symbol", "Apple Symbols", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--glyph-scale: 1.2}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-ui);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body::selection{background:#b8935a3d}.workspace-compact{--workspace-gap: var(--density-space-4);--workspace-surface-radius: var(--density-radius);--workspace-surface-padding: var(--density-surface-padding);--workspace-control-height: var(--density-control-height)}.workspace-compact .btn-new,.workspace-compact .btn-logout,.workspace-compact .btn-call,.workspace-compact .btn-ghost{min-height:var(--workspace-control-height);padding:6px 11px;border-radius:8px;font-size:12px;gap:6px}.workspace-compact .btn-new{box-shadow:0 6px 14px #1e3a5f24}.workspace-compact .btn-new:hover{box-shadow:0 8px 18px #1e3a5f2e}.workspace-compact .clients-header{gap:14px;margin-bottom:var(--workspace-gap)}.workspace-compact .header-account-pill{display:flex;align-items:center;gap:7px;min-width:0;padding:6px 9px;border-radius:var(--workspace-surface-radius);box-shadow:var(--density-surface-shadow)}.workspace-compact .header-account-label{font-size:9px;letter-spacing:.1em}.workspace-compact .header-account-value{font-size:12px;line-height:1.25}.workspace-compact .header-plan-status{min-height:20px;padding:0 7px;font-size:9px}.workspace-compact .clients-dialog{padding:14px}.workspace-compact .clients-dialog-card{padding:16px;border-radius:var(--radius-md);box-shadow:var(--shadow-md)}.workspace-compact .clients-dialog-header{gap:12px;margin-bottom:12px}.workspace-compact .clients-dialog-kicker{margin-bottom:3px;font-size:9px}.workspace-compact .clients-dialog-title{margin-bottom:4px;font-size:24px;line-height:1}.workspace-compact .clients-dialog-copy{font-size:12px;line-height:1.4}.workspace-compact .clients-dialog-close{width:32px;height:32px;border-radius:8px;font-size:18px}.workspace-compact .clients-dialog-grid{gap:0 12px}.workspace-compact .clients-dialog-actions{gap:8px;margin-top:4px}.workspace-compact .clients-dialog-cancel,.workspace-compact .clients-dialog-submit{min-width:0}.workspace-compact .form-group{gap:4px;margin-bottom:12px}.workspace-compact .form-label{font-size:10px;letter-spacing:.08em}.workspace-compact .form-group input,.workspace-compact .form-group select,.workspace-compact .form-group textarea{min-height:var(--workspace-control-height);padding:7px 9px;border-radius:8px;font-size:13px}.workspace-compact .profile-icon-btn,.workspace-compact .compact-icon-btn{width:28px;height:28px;min-width:28px;min-height:28px}.compact-icon-btn{display:inline-grid;place-items:center;padding:0;border:1px solid rgba(30,58,95,.1);border-radius:7px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--transition),border-color var(--transition),background var(--transition)}.compact-icon-btn:hover,.compact-icon-btn:focus-visible{color:var(--text-primary);border-color:#1e3a5f33;background:#1e3a5f0b}.compact-icon-btn--danger:hover,.compact-icon-btn--danger:focus-visible{color:var(--error);border-color:#b832323d;background:#b832320f}.workspace-compact .footer{margin-top:16px;font-size:11px}@media(max-width:720px){.workspace-compact{--workspace-control-height: var(--density-touch-target)}.workspace-compact .profile-icon-btn,.workspace-compact .compact-icon-btn{width:var(--density-touch-target);height:var(--density-touch-target);min-width:var(--density-touch-target);min-height:var(--density-touch-target)}}.container,.login-shell,.clients-shell,.calendar-shell,.profile-shell,.account-settings-shell,.chart-header-compact,.chart-layout,.forecast-header,.forecast-toolbar,.forecast-summary,.natal-header,.natal-content,.forecast-new-header,.forecast-new-layout:not(.hidden),.synastry-header,.synastry-layout:not(.hidden),.call-shell:not([hidden]),.join-lobby:not([hidden]){animation:page-arrive .56s var(--motion-soft) both}.birth-form,.form-section,.form-summary-card,.advanced-fields,.data-panel,.chart-wheel-container,.workspace-main,.workspace-panel,.workspace-card,.clients-table-wrap,.profile-main:not(.hidden),.profile-card,.account-settings-card,.natal-section,.forecast-summary-card,.forecast-table-container,.solar-container,.biwheel-container,.timeline-container,.forecast-new-panel,.forecast-new-wheel-shell,.synastry-panel,.call-panel,.join-lobby-box,.story-panel,.auth-card{animation:element-arrive .48s var(--motion-soft) both}.client-inline-chips{display:flex;flex-wrap:wrap;gap:6px}.client-inline-chip{display:inline-flex;align-items:center;max-width:100%;padding:3px 8px;border:1px solid rgba(30,58,95,.1);border-radius:999px;background:var(--accent-light);color:var(--accent);font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:1.3;text-decoration:none;cursor:pointer}.client-inline-chip:hover{border-color:#1e3a5f38;background:#fff}.client-inline-chip.is-active{border-color:#b8935a6b;background:var(--gold-pale);color:var(--text-primary)}.profile-card,.account-settings-section,.natal-section,.forecast-summary-card,.forecast-new-panel,.synastry-panel{animation-delay:.04s}@keyframes page-arrive{0%{opacity:0;transform:translateY(14px);filter:blur(6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes element-arrive{0%{opacity:0;transform:translateY(10px) scale(.992)}to{opacity:1;transform:translateY(0) scale(1)}}.astro-symbol,.planet-symbol,.planet-symbol-text,.sign-symbol-text,.aspect-symbol-text,.symbol-cell,.planet-icon{font-family:var(--font-symbol);font-variant-ligatures:none;text-rendering:geometricPrecision}.planet-symbol-svg{overflow:visible;transform-origin:center center;transition:transform .15s ease,filter .15s ease}.astro-symbol,.planet-icon{font-size:calc(1em * var(--glyph-scale));line-height:1;vertical-align:middle}.planet-icon-svg svg{transform:scale(var(--glyph-scale));transform-origin:center}.container{max-width:480px;margin:0 auto;padding:16px 14px;min-height:100vh;display:flex;flex-direction:column}.header{text-align:center;margin-bottom:20px}.logo{font-family:var(--font-display);font-size:28px;font-weight:400;letter-spacing:.04em;color:var(--text-primary);margin-bottom:4px;line-height:1.2;display:flex;align-items:center;justify-content:center;gap:10px}.logo-mark{width:28px;height:28px;flex-shrink:0}.subtitle{font-size:13px;line-height:1.4;color:var(--text-muted)}.index-header-links{margin-top:12px;display:inline-flex;flex-wrap:wrap;gap:8px;justify-content:center}.index-header-link{min-height:34px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(30,58,95,.12);background:#ffffffd1;color:var(--text-primary);text-decoration:none;font-size:13px;font-weight:500;transition:var(--transition)}.index-header-link:hover{border-color:#b8935a6b;background:#fffffff0;transform:translateY(-1px)}.form-container{flex:1}.birth-form{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:28px 24px;box-shadow:var(--shadow-md);border:1px solid var(--border)}.form-section+.form-section{margin-top:24px;padding-top:22px;border-top:1px solid rgba(30,58,95,.08)}.form-section-heading{margin-bottom:16px}.form-section-title{margin:0;font-family:var(--font-display);font-size:26px;font-weight:500;line-height:.98;letter-spacing:-.02em;color:var(--text-primary)}.form-section-copy{margin:8px 0 0;font-size:13px;line-height:1.55;color:var(--text-secondary)}.form-group{margin-bottom:20px}.form-label{display:block;font-size:13px;font-weight:500;color:var(--text-secondary);margin-bottom:7px;letter-spacing:.02em}.name-inputs{display:flex;gap:8px}.name-inputs input{flex:1;min-width:0}.date-inputs,.time-inputs{display:flex;gap:8px;align-items:center}.date-inputs input,.date-inputs select,.time-inputs input{flex:1;min-width:0}.time-separator{font-size:20px;color:var(--text-muted);font-weight:400}.place-autocomplete-wrapper{position:relative}.place-suggestions{position:absolute;top:calc(100% + 3px);left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);max-height:220px;overflow-y:auto;z-index:120;display:none;box-shadow:var(--shadow-md)}.place-suggestions.active{display:block}.place-suggestion{padding:9px 12px;cursor:pointer;font-size:14px;border-bottom:1px solid var(--border);transition:background var(--transition)}.place-suggestion:last-child{border-bottom:none}.place-suggestion:hover{background:var(--gold-pale)}input,select{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:14px;font-family:var(--font-ui);background:var(--bg-secondary);color:var(--text-primary);transition:border-color var(--transition),box-shadow var(--transition)}input:focus,select:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px #1e3a5f1a}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=tab]:focus-visible{outline:2px solid var(--border-focus);outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(pointer:coarse){button,[role=button],[role=tab],input[type=checkbox],input[type=radio]{touch-action:manipulation}}input::placeholder{color:var(--text-muted)}input[type=number]{font-family:var(--font-mono)}.checkbox-label{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14px;color:var(--text-secondary);cursor:pointer}.checkbox-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.coords-display{margin-top:12px;padding:14px;background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border)}.coords-row{display:flex;flex-direction:column;gap:8px}.coords-label{font-size:12px;color:var(--text-muted);font-weight:500;letter-spacing:.04em;text-transform:uppercase}.coords-inputs{display:flex;flex-direction:column;gap:8px}.coord-input-group{display:flex;align-items:center;gap:2px;font-family:var(--font-mono);font-size:13px;color:var(--text-secondary)}.coord-num{width:36px;padding:6px 4px;text-align:center;border:1.5px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:13px;background:var(--bg-secondary)}.coord-num.coord-sec{width:52px}.coord-dir{padding:6px 4px;border:1.5px solid var(--border);border-radius:4px;font-family:var(--font-mono);font-size:13px;background:var(--bg-secondary);margin-left:4px}.coord-num:focus,.coord-dir:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 2px #1e3a5f14}.hidden{display:none!important}.page-loader{position:fixed;inset:0;z-index:9999;background:radial-gradient(circle at 50% 38%,rgba(184,147,90,.18),transparent 26%),radial-gradient(circle at 50% 62%,rgba(30,58,95,.08),transparent 32%),var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;opacity:1;visibility:visible;transition:opacity .46s var(--motion-soft),visibility .46s step-end,filter .46s var(--motion-soft)}.page-loader.fade-out{opacity:0;visibility:hidden;filter:blur(10px);pointer-events:none}.page-loader .pl-spinner{width:38px;height:38px;border:1px solid rgba(184,147,90,.22);border-top-color:#1e3a5fb8;border-right-color:#b8935a9e;border-radius:50%;box-shadow:0 0 0 8px #b8935a0f,0 16px 36px #1a161414;animation:pl-spin 1.05s cubic-bezier(.65,0,.35,1) infinite}.page-loader .pl-text{color:var(--text-muted);font-size:.9rem;letter-spacing:.02em;animation:loader-text-breathe 1.8s ease-in-out infinite}@keyframes pl-spin{to{transform:rotate(360deg)}}@keyframes loader-text-breathe{0%,to{opacity:.56;transform:translateY(0)}50%{opacity:.9;transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}.hint{display:block;font-size:12px;color:var(--text-muted);margin-top:5px}.advanced-fields{margin:8px 0 18px;border:1px solid rgba(30,58,95,.1);border-radius:var(--radius-md);background:#f0ede475;overflow:hidden}.advanced-fields summary{list-style:none}.advanced-fields summary::-webkit-details-marker{display:none}.advanced-fields-summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 18px;cursor:pointer}.advanced-fields-summary-copy{display:grid;gap:3px}.advanced-fields-title{font-size:14px;font-weight:600;color:var(--text-primary)}.advanced-fields-copy{font-size:12px;line-height:1.5;color:var(--text-secondary)}.advanced-fields-chevron{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:#ffffffb3;border:1px solid rgba(30,58,95,.08);color:var(--accent);font-size:18px;line-height:1;transition:transform var(--transition)}.advanced-fields[open] .advanced-fields-chevron{transform:rotate(45deg)}.advanced-fields-content{padding:0 18px 18px}.advanced-fields-content .coords-display{margin-top:0;margin-bottom:16px}.advanced-fields-content .form-group:last-child{margin-bottom:0}.form-summary-card{margin:6px 0 14px;padding:16px 18px;border-radius:var(--radius-md);background:linear-gradient(180deg,#ebf0f7b8,#ffffffeb);border:1px solid rgba(30,58,95,.08)}.form-summary-title{margin:0 0 10px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:#1e3a5fb8}.form-summary-list{display:grid;gap:10px}.form-summary-item{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--text-secondary)}.form-summary-item.is-complete{color:var(--text-primary)}.form-summary-dot{width:10px;height:10px;border-radius:999px;background:#1e3a5f33;box-shadow:0 0 0 5px #1e3a5f0d;flex-shrink:0}.form-summary-item.is-complete .form-summary-dot{background:var(--success);box-shadow:0 0 0 5px #2b7a4b1a}.submit-note{margin:0 0 6px;font-size:12px;line-height:1.5;color:var(--text-secondary)}.submit-btn{width:100%;padding:13px 24px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-xl);font-size:15px;font-weight:500;font-family:var(--font-ui);cursor:pointer;transition:background var(--transition),transform var(--transition),box-shadow var(--transition);margin-top:8px;letter-spacing:.02em}.submit-btn:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 6px 20px #1e3a5f40}.submit-btn:active{transform:scale(.98);box-shadow:none}.submit-btn:disabled{background:var(--text-muted);cursor:not-allowed;transform:none;box-shadow:none}.index-page .container{padding:12px 14px}.index-page .header{margin-bottom:14px}.index-page .subtitle{max-width:340px;margin:0 auto;font-size:12px;line-height:1.35}.index-page .index-header-links{margin-top:10px}.index-page .birth-form{padding:22px 22px 24px}.index-page .form-section+.form-section{margin-top:18px;padding-top:16px}.index-page .form-section-heading{margin-bottom:10px}.index-page .form-section-title{font-size:23px;line-height:1}.index-page .form-group{margin-bottom:14px}.index-page .form-label{margin-bottom:6px}.index-page input,.index-page select{min-height:44px;padding:9px 14px}.index-page .hint{font-size:11.5px}.index-page .advanced-fields{margin:2px 0 14px}.index-page .advanced-fields-summary{min-height:46px;padding:9px 14px}.index-page .advanced-fields-title{font-size:13px}.index-page .advanced-fields-chevron{width:26px;height:26px}.index-page .submit-btn{min-height:48px;padding:12px 22px;margin-top:2px}.index-page{background:linear-gradient(180deg,#ffffffc2,#f9f7f200 520px),linear-gradient(90deg,rgba(30,58,95,.035) 0 1px,transparent 1px 100%),var(--bg-primary);background-size:auto,72px 72px,auto}.index-page .landing-shell{max-width:1220px;padding:18px 22px 34px;gap:0}.landing-header{position:sticky;top:0;z-index:80;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:18px;align-items:center;margin:0 -6px 42px;padding:10px 12px;border:1px solid rgba(30,58,95,.08);border-radius:18px;background:#f9f7f2e0;backdrop-filter:blur(18px);box-shadow:0 10px 34px #1a16140f;text-align:left}.landing-logo{margin:0;color:var(--text-primary);text-decoration:none;justify-content:flex-start;font-size:26px}.landing-nav,.landing-header-actions{display:flex;align-items:center;justify-content:center;gap:8px}.landing-nav a{padding:8px 10px;border-radius:999px;color:var(--text-secondary);font-size:13px;font-weight:600;text-decoration:none}.landing-nav a:hover{background:#1e3a5f0f;color:var(--text-primary)}.index-page .landing-header-actions{margin-top:0;justify-content:flex-end}.index-header-link-primary{background:var(--accent);border-color:var(--accent);color:#fff}.index-header-link-primary:hover{background:var(--accent-hover);color:#fff}.landing-auth-link{background:#ffffffa3}.landing-auth-link-primary{border-color:#b8935a52;background:var(--gold-pale);color:var(--text-primary)}.landing-auth-link-primary:hover{border-color:#b8935a7a;background:#fffffff5}.landing-main{display:grid;gap:clamp(54px,7vw,78px)}.landing-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(410px,.82fr);gap:clamp(32px,5vw,68px);align-items:center;min-height:min(620px,calc(100svh - 188px))}.landing-hero-copy{max-width:690px}.landing-kicker{margin:0 0 12px;color:var(--gold);font-size:12px;font-weight:600;letter-spacing:.16em;line-height:1.3;text-transform:uppercase}.landing-hero-title,.landing-section h2,.landing-final-cta h2{margin:0;font-family:var(--font-display);color:var(--text-primary);font-weight:500;letter-spacing:0}.landing-hero-title{max-width:760px;font-size:clamp(58px,8vw,104px);line-height:.88}.landing-hero-text{max-width:650px;margin:24px 0 0;color:var(--text-secondary);font-size:19px;line-height:1.58}.landing-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.landing-primary-cta,.landing-secondary-cta{min-height:48px;display:inline-flex;align-items:center;justify-content:center;padding:0 20px;border-radius:999px;font-size:14px;font-weight:600;text-decoration:none;transition:transform var(--transition),box-shadow var(--transition),background var(--transition),border-color var(--transition)}.landing-primary-cta{background:var(--accent);color:#fff;box-shadow:0 12px 28px #1e3a5f33}.landing-primary-cta:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 16px 34px #1e3a5f38}.landing-secondary-cta{border:1px solid rgba(30,58,95,.14);background:#ffffffbd;color:var(--text-primary)}.landing-secondary-cta:hover{border-color:#b8935a66;background:#fff;transform:translateY(-1px)}.landing-proof-strip{display:flex;flex-wrap:wrap;gap:8px;margin-top:26px}.landing-proof-strip span,.landing-social-proof-grid span{display:inline-flex;align-items:center;min-height:34px;padding:0 12px;border:1px solid rgba(30,58,95,.1);border-radius:999px;background:#ffffffb3;color:var(--text-secondary);font-size:13px;font-weight:600}.landing-proof-strip span:before,.landing-social-proof-grid span:before{content:"";width:6px;height:6px;margin-right:8px;border-radius:999px;background:var(--gold);box-shadow:0 0 0 4px #b8935a1f;flex:0 0 auto}.landing-hero-panel{min-width:0}.landing-preview-card{position:relative;overflow:hidden;padding:18px;border:1px solid rgba(30,58,95,.12);border-radius:18px;background:linear-gradient(180deg,#fffffffa,#f6f3ebf0),#fff;box-shadow:0 24px 70px #1a161421}.landing-preview-card:before{content:"";position:absolute;inset:0;border-top:3px solid rgba(184,147,90,.44);pointer-events:none}.landing-preview-head,.landing-preview-grid{display:flex;align-items:center;justify-content:space-between;gap:14px}.landing-preview-head span,.landing-preview-grid span{color:var(--text-muted);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase}.landing-preview-head strong{padding:5px 10px;border-radius:999px;background:#2b7a4b1a;color:var(--success);font-size:12px}.landing-preview-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:16px;padding:4px;border:1px solid rgba(30,58,95,.08);border-radius:12px;background:#1e3a5f0a}.landing-preview-tab{min-height:34px;border:0;border-radius:8px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;font-weight:600;line-height:1.2;cursor:pointer;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.landing-preview-tab:hover{color:var(--text-primary)}.landing-preview-tab.is-active{background:#fff;color:var(--accent);box-shadow:0 6px 16px #1a161414}.landing-preview-stage{min-height:406px;display:grid;margin-top:16px}.landing-preview-pane{display:grid;align-content:start;gap:14px;min-width:0;animation:preview-pane-in .34s var(--motion-soft) both}.landing-preview-pane[hidden]{display:none}@keyframes preview-pane-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.landing-product-frame{display:grid;grid-template-columns:54px minmax(0,1fr);min-height:230px;overflow:hidden;border:1px solid rgba(30,58,95,.1);border-radius:14px;background:#fff}.landing-product-sidebar{display:grid;align-content:start;gap:10px;padding:14px 12px;background:var(--accent)}.landing-product-sidebar span{width:30px;height:30px;border-radius:8px;background:#ffffff24}.landing-product-sidebar span:first-child{background:#ffffffeb}.landing-product-main{display:grid;gap:14px;align-content:start;padding:16px}.landing-product-person{display:flex;align-items:center;gap:12px;padding-bottom:14px;border-bottom:1px solid rgba(30,58,95,.08)}.landing-product-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,#1e3a5feb,#2f5d5bd1),var(--accent);box-shadow:inset 0 0 0 5px #ffffff38}.landing-product-person span,.landing-product-context span,.landing-timeline-preview span,.landing-chat-bubble span{display:block;color:var(--text-muted);font-size:11px;font-weight:600;letter-spacing:.1em;line-height:1.3;text-transform:uppercase}.landing-product-person strong{display:block;margin-top:3px;color:var(--text-primary);font-size:18px;line-height:1.16}.landing-product-context{display:grid;gap:10px}.landing-product-context div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid rgba(30,58,95,.07)}.landing-product-context div:last-child{border-bottom:0}.landing-product-context strong{color:var(--text-primary);font-size:13px;white-space:nowrap}.landing-preview-wheel{position:relative;width:min(276px,66vw);aspect-ratio:1;margin:6px auto 2px;border:1px solid rgba(30,58,95,.18);border-radius:50%;background:repeating-conic-gradient(from -8deg,rgba(30,58,95,.12) 0deg 1deg,transparent 1deg 30deg),conic-gradient(from 22deg,rgba(184,147,90,.18),transparent 18%,rgba(47,93,91,.13),transparent 44%,rgba(30,58,95,.12),transparent 72%,rgba(184,147,90,.18)),radial-gradient(circle,transparent 0 31%,rgba(184,147,90,.18) 31.5% 32.5%,transparent 33% 52%,rgba(30,58,95,.14) 52.5% 53.5%,transparent 54%);animation:landing-wheel-drift 34s linear infinite}@keyframes landing-wheel-drift{to{transform:rotate(360deg)}}.landing-preview-wheel:before,.landing-preview-wheel:after,.landing-preview-wheel span{content:"";position:absolute;border-radius:50%}.landing-preview-wheel:before{inset:16%;border:1px dashed rgba(184,147,90,.42)}.landing-preview-wheel:after{inset:47%;background:var(--accent)}.landing-preview-wheel span{width:10px;height:10px;background:var(--gold);box-shadow:0 0 0 5px #b8935a1f}.landing-preview-wheel span:nth-child(1){top:10%;left:48%}.landing-preview-wheel span:nth-child(2){right:16%;top:32%}.landing-preview-wheel span:nth-child(3){left:24%;bottom:18%}.landing-preview-wheel span:nth-child(4){right:28%;bottom:13%;background:#2f5d5b}.landing-preview-note{padding:16px;border:1px solid rgba(184,147,90,.22);border-radius:14px;background:#ffffffc2}.landing-preview-note strong{color:var(--text-primary);font-size:14px}.landing-preview-note p{margin:6px 0 0;color:var(--text-secondary);font-size:13px;line-height:1.55}.landing-preview-grid{margin-top:14px}.landing-preview-grid div{flex:1;padding:12px 0 0;border-top:1px solid rgba(30,58,95,.08)}.landing-preview-grid strong{display:block;margin-top:6px;color:var(--text-primary);font-size:16px}.landing-timeline-preview{display:grid;gap:1px;overflow:hidden;border:1px solid rgba(30,58,95,.09);border-radius:14px;background:#1e3a5f14}.landing-timeline-preview div{position:relative;display:grid;gap:5px;padding:13px 14px 13px 34px;background:#ffffffdb}.landing-timeline-preview div:before{content:"";position:absolute;left:14px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px #b8935a21}.landing-timeline-preview strong{color:var(--text-primary);font-size:14px;line-height:1.35}.landing-chat-preview{display:grid;gap:12px;min-height:374px;align-content:center;padding:16px;border:1px solid rgba(30,58,95,.1);border-radius:14px;background:linear-gradient(180deg,#ebf0f7b8,#ffffffd6),#fff}.landing-chat-bubble{max-width:86%;padding:14px 15px;border-radius:8px;font-size:13px;line-height:1.5}.landing-chat-bubble-user{justify-self:end;background:var(--accent);color:#fff;box-shadow:0 10px 22px #1e3a5f29}.landing-chat-bubble-assistant{justify-self:start;border:1px solid rgba(30,58,95,.1);background:#fff;color:var(--text-secondary)}.landing-chat-bubble strong{display:block;margin-top:8px;color:var(--text-primary);font-size:14px}.landing-chat-bubble p{margin:6px 0 0}.landing-social-proof{display:grid;grid-template-columns:minmax(0,.76fr) minmax(0,1fr);gap:20px;align-items:center;padding:22px 0;border-top:1px solid rgba(30,58,95,.08);border-bottom:1px solid rgba(30,58,95,.08)}.landing-social-proof p{margin:0;color:var(--text-secondary);font-size:15px;line-height:1.55}.landing-social-proof-grid{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.landing-section{display:grid;gap:28px}.landing-section-intro{max-width:760px}.landing-section h2,.landing-final-cta h2{font-size:clamp(38px,5vw,62px);line-height:.94}.landing-section-intro>p:not(.landing-kicker),.landing-final-cta>p:not(.landing-kicker){margin:16px 0 0;color:var(--text-secondary);font-size:17px;line-height:1.62}.landing-card-grid{display:grid;gap:14px}.landing-card-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-card-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.landing-main>section[id]{scroll-margin-top:88px}.landing-badge{display:inline-block;font-family:var(--font-ui);font-size:var(--font-size-caption);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--accent);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:100px;padding:1px var(--space-2);vertical-align:middle}.landing-section-note{font-size:var(--font-size-label);color:var(--text-muted)}.landing-card,.landing-quote{padding:20px;border:1px solid rgba(30,58,95,.09);border-radius:8px;background:#ffffffbd;box-shadow:0 10px 28px #1a16140d}.landing-card h3{margin:0;color:var(--text-primary);font-size:17px;line-height:1.25}.landing-card p,.landing-quote p{margin:10px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.58}.landing-workflow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid rgba(30,58,95,.1);border-radius:18px;background:#1e3a5f1a}.landing-workflow div{min-height:230px;padding:24px;background:#ffffffd1}.landing-workflow span{display:inline-flex;margin-bottom:42px;color:var(--gold);font-family:var(--font-mono);font-size:13px;font-weight:800}.landing-workflow h3{margin:0;color:var(--text-primary);font-size:20px;line-height:1.18}.landing-workflow p{margin:10px 0 0;color:var(--text-secondary);font-size:14px;line-height:1.6}.landing-feature-list{display:grid;border-top:1px solid rgba(30,58,95,.1)}.landing-feature-list div{display:grid;grid-template-columns:minmax(210px,.32fr) minmax(0,1fr);gap:28px;padding:20px 0;border-bottom:1px solid rgba(30,58,95,.1)}.landing-feature-list strong{color:var(--text-primary);font-size:16px}.landing-feature-list span{color:var(--text-secondary);font-size:15px;line-height:1.58}.landing-quote{margin:0}.landing-quote p{margin-top:0;color:var(--text-primary);font-size:16px}.landing-quote cite{display:block;margin-top:18px;color:var(--text-muted);font-size:13px;font-style:normal;font-weight:600}.landing-form-section{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(360px,520px);gap:clamp(24px,4vw,56px);align-items:start;padding:36px;border:1px solid rgba(30,58,95,.09);border-radius:24px;background:linear-gradient(135deg,#ebf0f7b8,#ffffffc7 45%,#f5eddf80)}.landing-form-section .landing-section-intro{position:sticky;top:112px}.index-page .landing-form-section .birth-form{padding:22px 22px 24px}.landing-faq-list{display:grid;gap:8px}.landing-faq-list details{border:1px solid rgba(30,58,95,.09);border-radius:8px;background:#ffffffbd}.landing-faq-list summary{min-height:58px;display:flex;align-items:center;padding:16px 18px;color:var(--text-primary);font-size:15px;font-weight:600;cursor:pointer}.landing-faq-list p{margin:0;padding:0 18px 18px;color:var(--text-secondary);font-size:14px;line-height:1.62}.landing-final-cta{display:grid;justify-items:center;padding:clamp(42px,7vw,72px) 24px;border-radius:24px;background:var(--accent);color:#fff;text-align:center}.landing-final-cta .landing-kicker,.landing-final-cta h2,.landing-final-cta p{color:#fff}.landing-final-cta .landing-kicker{opacity:.72}.landing-final-cta p{max-width:640px}.landing-final-cta>p:not(.landing-kicker){color:#ffffffe0}.landing-final-cta>p.landing-hero-trial:not(.landing-kicker){color:#ffffffb8;margin-top:14px}.landing-final-cta .landing-primary-cta{margin-top:24px;background:#fff;color:var(--accent)}.error-message{margin-top:14px;padding:12px 14px;background:#fef2f2;border:1px solid #FECACA;border-radius:var(--radius-sm);color:var(--error);font-size:13.5px}.footer{text-align:center;padding:24px 0 8px;font-size:12px;color:var(--text-muted)}.chart-container{max-width:1400px;margin:0 auto;padding:16px;min-height:100vh}.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border)}.back-btn{display:flex;align-items:center;gap:6px;padding:8px 16px;background:var(--bg-tertiary);border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13.5px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition);text-decoration:none;font-family:var(--font-ui)}.back-btn:hover{background:var(--bg-secondary);color:var(--text-primary);border-color:#1a161433}.birth-info{text-align:center}.birth-info h2{font-family:var(--font-display);font-size:22px;font-weight:400;margin-bottom:4px}.birth-info p{font-size:13.5px;color:var(--text-muted)}.chart-main{display:grid;grid-template-columns:3fr 2fr;gap:16px;min-height:calc(100vh - 100px)}@media(max-width:1024px){.chart-main{grid-template-columns:1fr}}.chart-wheel-container{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:12px;box-shadow:var(--shadow-md);border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:500px;position:relative}.chart-wheel-wrapper{width:100%;max-width:600px;aspect-ratio:1;overflow:hidden;box-sizing:border-box;padding-block:16px;cursor:grab;border-radius:var(--radius-sm)}.chart-wheel-wrapper:active{cursor:grabbing}#chartWheel{width:100%;height:100%;transition:transform .15s ease-out;transform-origin:center center}.zoom-controls{display:flex;gap:4px;margin-top:12px}.zoom-controls-float{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);overflow:hidden;padding:3px;display:flex;flex-direction:column;gap:2px}.zoom-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-sm);font-size:15px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition)}.zoom-btn:hover{background:var(--accent-light);color:var(--accent)}.zoom-btn:active{transform:scale(.92)}.data-panel{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden}.tabs{display:flex;border-bottom:1px solid var(--border);background:var(--bg-tertiary)}.tab-btn{flex:1;padding:10px 6px;background:none;border:none;font-size:12.5px;font-weight:500;font-family:var(--font-ui);color:var(--text-muted);cursor:pointer;transition:all var(--transition);position:relative}.tab-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.tab-btn.active{color:var(--accent);background:var(--bg-secondary)}.tab-btn.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--accent)}.tab-content{flex:1;overflow-y:auto;padding:16px}.tab-pane{display:none}.tab-pane.active{display:block}.section-title{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.08em}.data-table{width:100%;border-collapse:collapse;font-size:13.5px}.data-table th,.data-table td{padding:9px 11px;text-align:left;border-bottom:1px solid var(--border)}.data-table th{font-weight:500;color:var(--text-muted);font-size:11px;text-transform:uppercase;letter-spacing:.06em;background:var(--bg-tertiary)}.data-table tr:hover{background:var(--bg-tertiary)}.data-table tr.active-row{background:#1e3a5f14;border-left:3px solid var(--accent)}.data-table tr[data-planet]{cursor:pointer}.data-table .mono{font-family:var(--font-mono);font-size:12.5px}.planet-icon{font-size:17px;margin-right:5px}.retro-badge{display:inline-block;padding:1px 5px;background:#fef3c7;color:#92400e;font-size:10px;font-weight:600;border-radius:4px;margin-left:5px;vertical-align:middle}.retro-indicator{display:inline-flex;align-items:center;justify-content:center;min-width:1.05em;height:1.05em;margin-left:4px;padding:0 .28em;border-radius:999px;background:#fee2e2;color:#991b1b;font-size:10px;font-family:var(--font-ui);line-height:1;font-weight:600;vertical-align:middle}.retro-indicator--small{font-size:9px;min-width:.95em;height:.95em}.retro-indicator--micro{font-size:8px;min-width:.9em;height:.9em;margin-left:2px;padding:0 .2em}.planet-symbol-cell{display:inline-flex;align-items:center;gap:4px}.planet-status-group{display:inline-flex;align-items:center;gap:3px;font-family:var(--font-ui)}.planet-status-group .retro-indicator{margin-left:0}.planet-status-badge{display:inline-flex;align-items:center;justify-content:center;min-width:1.05em;height:1.05em;padding:0 .28em;border-radius:999px;border:1px solid transparent;font-family:var(--font-ui);font-size:10px;line-height:1;font-weight:600;vertical-align:middle}.planet-status-badge--small{font-size:9px;min-width:.95em;height:.95em}.planet-status-badge--stationary{background:#d4c08438;color:var(--accent);border-color:#b8935a2e}.planet-status-badge--dignity{letter-spacing:.02em;text-transform:uppercase}.planet-status-badge--sun-relation{letter-spacing:.01em}.planet-status-badge--cazimi{background:#d4af3738;color:#8a6d12;border-color:#d4af3759}.planet-status-badge--combust{background:#b832321a;color:#8f2f2f;border-color:#b8323229}.planet-status-badge--under_rays{background:#b8935a1f;color:#866231;border-color:#b8935a2e}.planet-status-badge--solar-phase{letter-spacing:.01em}.planet-status-badge--oob{background:#b832321f;color:#8f2f2f;border-color:#b8323233;letter-spacing:.01em}.planet-status-badge--oriental{background:#1e3a5f14;color:var(--accent);border-color:#1e3a5f24}.planet-status-badge--occidental{background:#5a46781a;color:#5a4678;border-color:#5a467829}.planet-status-badge--out-of-bounds{background:#a0522d1f;color:sienna;border-color:#a0522d33;letter-spacing:.01em}.planet-status-badge--domicile{background:#2b7a4b1a;color:#1f5d39;border-color:#2b7a4b29}.planet-status-badge--exaltation{background:#1e3a5f1a;color:var(--accent);border-color:#1e3a5f29}.planet-status-badge--detriment{background:#b8323214;color:#8f2f2f;border-color:#b8323224}.planet-status-badge--fall{background:#b8935a24;color:#866231;border-color:#b8935a33}.planet-position-main{white-space:nowrap}.planet-position-meta{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.planet-meta-chip{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:0 6px;border-radius:999px;background:#e6e0d4cc;color:var(--text-secondary);font-size:10px;line-height:1;white-space:nowrap}.planet-meta-chip--stationary{background:#d4c08438;color:var(--accent)}.planet-meta-chip--speed-slow{background:#3b82f624;color:#2563eb}.planet-meta-chip--speed-fast{background:#ef444424;color:#dc2626}.planet-speed-col,.planet-speed-cell{width:72px;text-align:center;white-space:nowrap}.planets-table--speed-hidden .planet-speed-col,.planets-table--speed-hidden .planet-speed-cell{display:none}.house-angular td{font-weight:600;color:var(--accent)}.aspect-harmonious{color:var(--success)}.aspect-tense{color:var(--error)}.aspect-neutral{color:var(--text-secondary)}.balance-subtabs{display:inline-flex;gap:6px;padding:4px;margin-bottom:16px;background:#f0ede4b8;border:1px solid rgba(30,58,95,.08);border-radius:999px}.balance-subtab-btn{min-height:34px;padding:0 14px;border:none;border-radius:999px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.balance-subtab-btn.active{background:var(--bg-secondary);color:var(--accent);box-shadow:var(--shadow-sm)}.balance-subtab-panel{display:none}.balance-subtab-panel.active{display:block}.balance-section{margin-bottom:24px}.balance-title{font-size:13px;font-weight:500;margin-bottom:12px;color:var(--text-primary)}.balance-row{display:grid;grid-template-columns:108px minmax(0,1fr) 3ch;grid-template-areas:"label bar value";align-items:center;column-gap:10px;margin-bottom:8px;min-width:0}.balance-label{grid-area:label;font-size:13px;color:var(--text-secondary);min-width:0;overflow-wrap:anywhere}.balance-bar-container{grid-area:bar;height:7px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;min-width:0}.balance-bar{height:100%;border-radius:4px;transition:width .5s ease}.balance-value{grid-area:value;font-size:12.5px;font-family:var(--font-mono);color:var(--text-muted);text-align:right;justify-self:end;white-space:nowrap}.bar-fire{background:linear-gradient(90deg,#f97316,#ea580c)}.bar-earth{background:linear-gradient(90deg,#84cc16,#65a30d)}.bar-air{background:linear-gradient(90deg,#06b6d4,#0891b2)}.bar-water{background:linear-gradient(90deg,#3b82f6,#2563eb)}.config-card{background:var(--bg-tertiary);border-radius:var(--radius-sm);padding:14px;margin-bottom:10px;border:1px solid var(--border)}.config-card h4{font-size:13.5px;font-weight:500;margin-bottom:8px;display:flex;align-items:center;gap:6px;color:var(--text-primary)}.config-card p{font-size:12.5px;color:var(--text-secondary);margin-bottom:4px}.config-planets{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.planet-tag{padding:3px 9px;background:var(--bg-secondary);border-radius:10px;font-size:12px;font-weight:500;border:1px solid var(--border)}.aspect-grid{width:100%;border-collapse:collapse;font-size:10px;margin-top:8px}.aspect-grid th,.aspect-grid td{width:20px;height:20px;min-width:20px;text-align:center;vertical-align:middle;border:1px solid var(--border);font-size:11px;padding:2px}.aspect-grid th{background:var(--bg-tertiary);font-weight:500;font-size:10px;color:var(--text-muted)}.aspect-grid td{color:var(--text-muted)}.aspect-grid .grid-harmonious{background:#2b7a4b1f;color:#1a6638;font-weight:600}.aspect-grid .grid-tense{background:#b832321f;color:#a02020;font-weight:600}.aspect-grid .grid-neutral{background:#b07d101f;color:#8a6010;font-weight:600}.aspect-grid td.grid-hover{box-shadow:inset 0 0 0 2px var(--accent);background:#1e3a5f24;color:var(--accent);font-weight:600}.dignities-list{display:flex;flex-direction:column;gap:7px;margin-top:12px}.dignity-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:var(--radius-sm);font-size:13px}.dignity-planet{font-weight:500}.dignity-label{font-size:12px}.dignity-domicile{background:#2b7a4b1a;border-left:3px solid #2B7A4B}.dignity-exaltation{background:#1e3a5f1a;border-left:3px solid #1E3A5F}.dignity-detriment{background:#b832321a;border-left:3px solid #B83232}.dignity-fall{background:#b8935a1f;border-left:3px solid #B8935A}.dispositor-panel{display:grid;gap:14px}.dispositor-panel--tabs{gap:12px}.dispositor-tabs{display:inline-grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(100%,420px);padding:3px;border:1px solid rgba(30,58,95,.1);border-radius:10px;background:#f0ede4b8}.dispositor-tab{appearance:none;min-height:34px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);cursor:pointer;padding:8px 10px;font-family:var(--font-ui);font-size:12px;font-weight:600;line-height:1.1;transition:background var(--transition),color var(--transition),box-shadow var(--transition)}.dispositor-tab:hover{color:var(--accent)}.dispositor-tab.active{background:#fffffff0;color:var(--accent);box-shadow:0 6px 14px #1a16140f}.dispositor-tab-panel{display:none}.dispositor-tab-panel.active{display:block}.dispositor-jones-card,.dispositor-section{border:1px solid rgba(30,58,95,.1);border-radius:16px;background:linear-gradient(145deg,#fffffff0,#f7f1e7c7);padding:14px;box-shadow:0 10px 24px #1a16140d}.dispositor-card-kicker{display:block;margin-bottom:5px;color:#1e3a5fad;font-size:9px;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.dispositor-jones-card h4,.dispositor-section h4{margin:0;color:var(--text-primary);font-family:var(--font-display, serif);font-size:19px;font-weight:600;line-height:1.05}.dispositor-jones-card p{margin:8px 0 0;color:var(--text-secondary);font-size:12px;line-height:1.45}.dispositor-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.dispositor-options{position:relative;flex:0 0 auto}.dispositor-options-toggle{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:30px;max-width:132px;border:1px solid rgba(30,58,95,.16);border-radius:8px;background:#ffffffd1;color:var(--accent);cursor:pointer;padding:6px 8px;font-family:var(--font-ui);font-size:11px;font-weight:600;line-height:1.1;transition:background var(--transition),border-color var(--transition),box-shadow var(--transition)}.dispositor-options-toggle:hover,.dispositor-options-toggle[aria-expanded=true]{background:#fff;border-color:#1e3a5f47;box-shadow:0 6px 16px #1a16140f}.dispositor-options-toggle span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dispositor-options-chevron{color:#1e3a5f94;font-size:12px;line-height:1}.dispositor-options-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;width:min(238px,calc(100vw - 34px));overflow:hidden;border:1px solid rgba(30,58,95,.16);border-radius:10px;background:#fffffff5;box-shadow:0 18px 42px #1a161429}.dispositor-options-group{display:grid}.dispositor-options-divider{height:1px;background:#1e3a5f1a}.dispositor-option-row{display:flex;align-items:center;gap:10px;min-height:40px;padding:9px 12px;color:var(--text-primary);cursor:pointer;font-size:13px;font-weight:600;line-height:1.15;border-bottom:1px solid rgba(30,58,95,.08)}.dispositor-option-row:last-child{border-bottom:0}.dispositor-option-row:hover{background:#1e3a5f0d}.dispositor-option-row input{appearance:auto;width:16px;height:16px;flex:0 0 16px;margin:0;padding:0;border:0;border-radius:0;box-shadow:none;accent-color:var(--accent)}.dispositor-mode-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:-2px 0 12px;border-bottom:1px solid rgba(30,58,95,.1)}.dispositor-mode-tab{position:relative;appearance:none;border:0;border-radius:10px 10px 0 0;background:transparent;color:var(--text-secondary);cursor:pointer;padding:9px 6px 11px;font-size:11px;font-weight:600;line-height:1.15;transition:color var(--transition),background var(--transition)}.dispositor-mode-tab:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:3px;border-radius:999px 999px 0 0;background:transparent}.dispositor-mode-tab:hover,.dispositor-mode-tab.active{color:var(--accent);background:#1e3a5f0d}.dispositor-mode-tab.active:after{background:#4a90e2}.dispositor-main-rulers{display:flex;flex-wrap:wrap;gap:8px}.dispositor-main-chip{display:inline-flex;align-items:center;gap:4px;border:1px solid rgba(184,147,90,.24);border-radius:999px;background:#b8935a1a;color:var(--text-primary);padding:6px 7px;font-size:12px;font-weight:600}.dispositor-main-chip b{display:inline-grid;place-items:center;min-width:18px;height:18px;border-radius:999px;background:#1e3a5f1f;color:var(--accent);font-size:11px}.dispositor-compact-diagram{display:grid;gap:8px}.dispositor-compact-group{overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;scrollbar-width:thin}.dispositor-compact-graph{position:relative;width:max(100%,var(--graph-width));min-width:var(--graph-width);height:var(--graph-height)}.dispositor-compact-lines{position:absolute;inset:0;width:var(--graph-width);height:var(--graph-height);overflow:visible;pointer-events:none}.dispositor-compact-lines path{fill:none;stroke:#1a1614e6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dispositor-compact-lines marker path{fill:none;stroke:#1a1614e6;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dispositor-compact-mutual{stroke-width:2}.dispositor-compact-node{position:absolute;z-index:2;display:grid;grid-template-rows:34px 18px;align-items:start;justify-items:center;width:42px;min-height:56px;color:var(--text-primary)}.dispositor-compact-node--static{position:relative;left:auto;top:auto;flex:0 0 42px}.dispositor-compact-symbol{display:inline-grid;place-items:center;width:42px;height:34px;color:var(--text-primary);line-height:1}.dispositor-compact-node--main .dispositor-compact-symbol{color:var(--text-primary);filter:drop-shadow(0 1px 0 rgba(26,22,20,.1))}.dispositor-compact-node--repeat{opacity:.72}.dispositor-cycle-table{display:grid;gap:9px;overflow-x:auto;overflow-y:hidden;padding:2px 0 6px;scrollbar-width:thin}.dispositor-cycle-row,.dispositor-cycle-branch-row{display:inline-flex;align-items:flex-start;gap:5px;min-width:max-content}.dispositor-cycle-row{padding-bottom:4px}.dispositor-cycle-branches{display:grid;gap:5px}.dispositor-cycle-arrow{flex:0 0 34px;width:34px;height:34px;margin-top:1px;color:#1a1614e6}.dispositor-cycle-arrow path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dispositor-house-label{display:block;max-width:74px;color:var(--text-primary);font-family:var(--font-ui);font-size:12px;font-weight:500;line-height:1.05;text-align:center;white-space:nowrap}.dispositor-open-modal-btn{width:100%;margin-top:14px;border:1px solid rgba(30,58,95,.18);border-radius:12px;background:#1e3a5f14;color:var(--accent);cursor:pointer;padding:10px 12px;font-size:12px;font-weight:600;transition:background var(--transition),transform var(--transition),border-color var(--transition)}.dispositor-open-modal-btn:hover{background:#1e3a5f1f;border-color:#1e3a5f47;transform:translateY(-1px)}.dispositor-modal-open{overflow:hidden}.dispositor-modal-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#1a161459;padding:var(--space-4)}.dispositor-modal{width:min(960px,100%);max-height:min(86vh,820px);overflow:auto;border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg-secondary);box-shadow:var(--shadow-lg);padding:var(--space-5)}.dispositor-modal-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid rgba(30,58,95,.12)}.dispositor-modal-head h3{margin:0;color:var(--text-primary);font-family:var(--font-display, serif);font-size:clamp(26px,4vw,38px);font-weight:600;line-height:1}.dispositor-modal-close{display:inline-grid;place-items:center;width:38px;height:38px;border:1px solid rgba(30,58,95,.14);border-radius:999px;background:#ffffff9e;color:var(--text-secondary);cursor:pointer;font-size:28px;line-height:1}.dispositor-modal-summary{display:grid;gap:8px;margin-bottom:18px}.dispositor-diagram{display:grid;gap:18px}.dispositor-diagram-group{border:1px solid rgba(30,58,95,.1);border-radius:18px;background:#ffffff94;padding:14px}.dispositor-diagram-group-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.dispositor-diagram-group-title{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:20px}.dispositor-cycle-mark{color:#1e3a5f6b;font-size:13px}.dispositor-diagram-count{display:inline-grid;place-items:center;min-width:24px;height:24px;border-radius:999px;background:#1e3a5f1a;color:var(--accent);font-size:12px;font-weight:600}.dispositor-chain-list{display:grid;gap:12px;overflow-x:auto;padding-bottom:4px}.dispositor-graph{position:relative;width:var(--graph-width);min-width:100%;height:var(--graph-height);overflow:visible}.dispositor-graph-lines{position:absolute;inset:0;width:var(--graph-width);height:var(--graph-height);overflow:visible;pointer-events:none}.dispositor-graph-lines path{fill:none;stroke:#1e3a5f70;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.dispositor-graph-lines marker path{fill:#1e3a5f7a;stroke:none}.dispositor-chain-row{width:max-content;min-width:100%}.dispositor-chain-path{display:flex;align-items:center;gap:0;min-height:42px}.dispositor-chain-node{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border:1px solid rgba(30,58,95,.16);border-radius:10px;background:#f8f7f3eb;color:var(--text-primary);box-shadow:0 6px 16px #1a16140f;font-size:18px;z-index:2}.dispositor-modal .dispositor-chain-node{width:44px;height:44px;flex-basis:44px}.dispositor-node-retro{position:absolute;right:6px;bottom:4px;color:#d94b4b;font-family:var(--font-ui);font-size:10px;font-weight:600;line-height:1}.dispositor-chain-node--main{border-color:#4a90e2d1;box-shadow:0 0 0 1px #4a90e247,0 8px 18px #1e3a5f14}.dispositor-chain-node--external{border-style:dashed}.dispositor-chain-arrow{display:inline-flex;align-items:center;justify-content:center;width:28px;color:#1e3a5f7a;font-size:18px;font-weight:600}.dispositor-empty{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.45}@media(max-width:680px){.dispositor-modal-overlay{align-items:stretch;padding:10px}.dispositor-modal{max-height:calc(100vh - 20px);border-radius:18px;padding:16px}.dispositor-mode-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}.data-table tr[data-planet],.data-table tr[data-aspect]{cursor:pointer}.data-table tr[data-planet]:hover td,.data-table tr[data-aspect]:hover td{background:var(--bg-hover)}.data-table tr.active-row{background:#1e3a5f1a!important;border-left:3px solid var(--accent)}.data-table tr.aspect-hover-row{background:#1e3a5f14;border-left:3px solid var(--accent)}.planet-group:hover .planet-symbol-text,.planet-group:hover .planet-symbol-svg,.planet-symbol-svg.is-active{filter:drop-shadow(0 0 4px rgba(30,58,95,.4))}.aspect-line{cursor:pointer;transition:opacity .15s,stroke-width .15s}.body-action-menu,.forecast-new-body-action-menu{position:fixed;z-index:35;min-width:92px;padding:8px;border:1px solid rgba(30,58,95,.14);border-radius:12px;background:#fffffff0;box-shadow:0 14px 36px #1e3a5f29;backdrop-filter:blur(12px)}.body-action-menu-title,.forecast-new-body-action-menu-title{margin:0 0 6px;color:var(--text-secondary);font-size:10px;font-weight:600;line-height:1.2;text-align:center}.body-action-menu-controls,.forecast-new-body-action-menu-controls{display:flex;gap:6px;align-items:center;justify-content:center}.body-action-toggle,.forecast-new-body-action-toggle{min-width:30px;min-height:30px;padding:0;font-weight:600;color:var(--text-muted)}.forecast-new-body-action-menu .settings-check-option{display:inline-flex;align-items:center;justify-content:center;gap:0;min-width:30px;min-height:30px;padding:0;border:1px solid rgba(212,201,181,.6);border-radius:999px;background:#ffffffd1}.forecast-new-body-action-menu .settings-check-option-glyph{display:inline-flex;align-items:center;justify-content:center;min-width:0;height:auto;padding:0;background:transparent;font-size:15px;line-height:1}.forecast-new-body-action-menu .settings-check-option--icon-only{min-width:30px;padding-inline:0}.forecast-new-body-action-menu[data-menu-scope=natal] .settings-check-option--pill{display:inline-flex;align-items:center;justify-content:center;min-width:34px;min-height:32px;border:1px solid rgba(30,58,95,.12);border-radius:999px;background:#ffffffc7;cursor:pointer}.forecast-new-body-action-menu[data-menu-scope=natal] .forecast-new-body-action-toggle{min-width:30px;min-height:30px;padding:0;font-weight:600;color:var(--text-muted)}.forecast-new-body-action-menu[data-menu-scope=natal] .settings-check-option-glyph{font-size:15px}.forecast-new-body-action-menu[data-menu-scope=natal] .settings-check-option--pill[aria-pressed=true],.settings-check-option--pill[aria-pressed=true],.body-action-toggle[aria-pressed=true],.forecast-new-body-action-toggle[aria-pressed=true],.forecast-new-body-action-menu .settings-check-option[aria-pressed=true]{border-color:#1e3a5f57;background:var(--accent-light);color:var(--accent)}.chart-layout .planet-group.matrix-hidden,.chart-layout .aspect-line.matrix-hidden,.chart-layout .aspect-symbol-group.matrix-hidden{opacity:0!important;pointer-events:none!important;visibility:hidden}.text-muted{color:var(--text-muted);font-size:13px;text-align:center;padding:20px}.chart-tooltip{display:none;position:absolute;background:#fff;border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px 14px;font-size:13px;line-height:1.5;box-shadow:var(--shadow-lg);z-index:1000;pointer-events:none;box-sizing:border-box;width:max-content;min-width:max-content;max-width:min(420px,calc(100vw - 24px));white-space:normal;overflow-wrap:anywhere}.chart-tooltip strong{font-size:14px;color:var(--text-primary)}.section-divider{height:1px;background:var(--border);margin:14px 0}.subsection-title{font-size:11px;font-weight:600;color:var(--text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.07em}.settings-panel{position:absolute;top:50px;right:10px;background:#fff;border:1px solid var(--border);border-radius:var(--radius-md);padding:16px;box-shadow:var(--shadow-lg);z-index:100;min-width:220px;max-height:70vh;overflow-y:auto}.settings-panel.hidden{display:none}.settings-panel h4{font-size:13.5px;font-weight:600;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);color:var(--text-primary)}.settings-section{margin-bottom:14px}.settings-label{display:block;font-size:11px;font-weight:500;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.07em}.settings-select{width:100%;padding:8px 10px;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:13px;background:#fff;cursor:pointer;font-family:var(--font-ui)}.settings-select:focus{outline:none;border-color:var(--border-focus)}.settings-size-control{display:flex;align-items:center;gap:10px}.settings-size-control input[type=range]{flex:1;accent-color:var(--accent)}.settings-size-control span{min-width:44px;text-align:right;font-size:12px;color:var(--text-secondary)}.planet-toggles{display:flex;flex-wrap:wrap;gap:5px}.planet-toggle{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:12px;cursor:pointer;transition:background .15s;border:1px solid var(--border)}.planet-toggle:hover{background:var(--bg-secondary)}.planet-toggle input{margin:0;accent-color:var(--accent)}.planet-toggle--icon-only{justify-content:center;min-width:42px;min-height:34px;padding:4px 6px}.planet-toggle-symbol{display:inline-flex;align-items:center;justify-content:center;min-width:18px;line-height:1;color:var(--text-primary)}.planet-toggle.disabled{opacity:.5;background:var(--bg-tertiary)}.btn-apply{width:100%;padding:9px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font-ui);cursor:pointer;transition:background .15s}.btn-apply:hover{background:var(--accent-hover)}.toast{position:fixed;right:20px;bottom:20px;background:var(--text-primary);color:#fff;border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);padding:11px 16px;font-size:13px;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:10001;max-width:360px;font-family:var(--font-ui)}.toast.visible{opacity:1;transform:translateY(0)}.toast.success{background:var(--success)}.toast.error{background:var(--error)}.locale-switcher{display:flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;border:1.5px solid var(--border);background:var(--bg-primary);color:var(--text-secondary)}.locale-switcher--inline{position:static;z-index:auto;margin-left:8px;flex-shrink:0}.locale-switcher--floating{position:fixed;top:12px;right:12px;z-index:12000;box-shadow:var(--shadow-md)}.locale-switcher-label{font-size:12px;line-height:1;color:var(--text-muted)}.locale-switcher-select{width:auto;min-width:84px;appearance:none;-webkit-appearance:none;-moz-appearance:none;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary);background-image:linear-gradient(45deg,transparent 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,transparent 50%);background-position:calc(100% - 12px) calc(50% - 1px),calc(100% - 7px) calc(50% - 1px);background-size:5px 5px,5px 5px;background-repeat:no-repeat;color:var(--text-primary);font-size:12px;line-height:1.2;padding:4px 22px 4px 8px;font-family:var(--font-ui);box-shadow:none}.header .locale-switcher--inline{display:inline-flex;margin:10px auto 0}.chart-header-compact .locale-switcher--inline,.forecast-header .locale-switcher--inline,.header-content .locale-switcher--inline{margin-left:6px}@media(max-width:768px){.birth-form,.clients-dialog-card,.chart-dialog-card{padding:24px 18px 20px}.name-inputs{display:grid;grid-template-columns:1fr;gap:10px}.date-inputs{display:grid;grid-template-columns:minmax(72px,.85fr) minmax(0,1.45fr) minmax(92px,1fr);gap:10px;align-items:stretch}.time-inputs{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px;align-items:center}.time-separator{justify-self:center;align-self:center}input,select{min-height:46px}.place-suggestion{display:flex;align-items:center;min-height:52px;padding:12px 14px;line-height:1.35}.form-section+.form-section{margin-top:22px;padding-top:20px}.form-section-title{font-size:24px}.index-page .birth-form{padding:20px 18px 22px}.index-page .name-inputs{display:flex;gap:8px}.index-page .date-inputs,.index-page .time-inputs{gap:8px}.index-page input,.index-page select{min-height:44px}.index-page .form-section+.form-section{margin-top:16px;padding-top:14px}.index-page .form-section-title{font-size:22px}.coords-display{padding:13px}.coords-inputs{gap:10px}.coord-input-group{gap:4px}.coord-num,.coord-dir{min-height:38px}.chart-wheel-wrapper{width:100vw;height:100vw;max-height:90vh;touch-action:pinch-zoom pan-x pan-y}.chart-layout{flex-direction:column}.side-panel{width:100%;max-height:none;min-height:0;overflow:hidden}.aspect-grid th,.aspect-grid td{width:24px;height:24px;font-size:11px}.data-table.compact td,.data-table.compact th{padding:6px 8px;font-size:12px}.settings-panel{left:10px;right:10px;min-width:auto}.locale-switcher--floating{top:8px;right:8px;padding:5px 6px}.locale-switcher-label{display:none}}@media(max-width:480px){.container{padding:14px 12px 18px}.birth-form{padding:22px 16px 18px;border-radius:18px}.form-section+.form-section{margin-top:20px;padding-top:18px}.form-section-heading{margin-bottom:14px}.form-section-title{font-size:22px}.form-section-copy{font-size:12px}.form-group{margin-bottom:18px}.form-label{margin-bottom:8px}.date-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.date-inputs select{grid-column:1 / -1;order:-1}.time-inputs{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);gap:8px}.time-separator{font-size:18px}.coords-display{padding:12px}.advanced-fields-summary{padding:14px 14px 14px 15px;gap:10px}.advanced-fields-content{padding:0 14px 14px}.advanced-fields-title{font-size:13px}.index-page .container{padding:10px 12px 16px}.index-page .birth-form{padding:18px 16px;border-radius:16px}.index-page .form-section+.form-section{margin-top:15px;padding-top:13px}.index-page .form-section-heading{margin-bottom:9px}.index-page .form-section-title{font-size:21px}.index-page .form-group{margin-bottom:13px}.index-page .form-label{margin-bottom:6px}.index-page .advanced-fields-summary{padding:9px 12px 9px 13px}.index-page .advanced-fields-title{font-size:12.5px}.advanced-fields-copy,.submit-note{font-size:11.5px}.form-summary-card{padding:14px 15px}.coord-input-group{flex-wrap:wrap;gap:6px}.coord-num{width:44px;padding:8px 4px}.coord-num.coord-sec{width:66px}.coord-dir{min-width:52px;margin-left:0;padding:8px 4px}#balances-list{padding-right:18px}.balance-subtabs{display:grid;grid-template-columns:1fr 1fr;width:100%}.balance-subtab-btn{width:100%}.balance-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label label" "bar value";row-gap:6px;column-gap:12px}.balance-label,.balance-value{font-size:12px}.balance-value{min-width:3ch}}.chart-presets-row{position:relative;display:flex;gap:6px;align-items:center;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--border)}.chart-presets-row .preset-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 12px}.chart-presets-picker-btn{padding:5px 8px!important}.chart-presets-icon{width:14px;height:14px;flex-shrink:0}.chart-presets-popover{position:absolute;top:calc(100% + 4px);right:0;z-index:60;min-width:220px;max-width:280px;background:var(--bg-primary);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #0000002e;padding:8px}.chart-presets-popover.hidden{display:none}.chart-presets-popover-header{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted, var(--text-secondary));padding:2px 6px 8px}.chart-presets-popover-empty{padding:6px 6px 4px;font-size:.82rem;color:var(--text-secondary)}.chart-presets-popover-list{display:flex;flex-direction:column;gap:2px;max-height:260px;overflow-y:auto}.chart-presets-popover-item{display:flex;align-items:stretch;gap:4px;border-radius:6px;transition:background .15s ease}.chart-presets-popover-item:hover{background:var(--bg-hover, rgba(0, 0, 0, .04))}.chart-presets-popover-apply{flex:1 1 auto;text-align:left;background:transparent;border:none;color:var(--text-primary);padding:7px 8px;font-size:.85rem;cursor:pointer;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-presets-popover-delete{background:transparent;border:none;color:var(--text-secondary);width:26px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;border-radius:6px;transition:color .15s ease,background .15s ease}.chart-presets-popover-delete:hover{color:var(--danger, #d04848);background:#d0484814}.chart-presets-popover-delete svg{width:12px;height:12px}@media(max-width:980px){.landing-header{grid-template-columns:1fr auto}.landing-nav{display:none}.landing-hero,.landing-social-proof,.landing-form-section{grid-template-columns:1fr}.landing-hero{min-height:0}.landing-card-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}.landing-social-proof-grid{justify-content:flex-start}.landing-form-section .landing-section-intro{position:static}}@media(max-width:760px){.index-page .landing-shell{padding:12px 14px 24px}.landing-header{position:static;grid-template-columns:1fr;margin:0 0 34px}.landing-logo,.index-page .landing-header-actions{justify-content:center}.landing-main{gap:54px}.landing-hero-title{font-size:48px}.landing-hero-text{font-size:17px}.landing-preview-card{padding:16px}.landing-preview-stage{min-height:auto}.landing-preview-wheel{width:min(250px,76vw);margin:20px auto}.landing-card-grid-3,.landing-card-grid-4,.landing-workflow{grid-template-columns:1fr}.landing-workflow{gap:1px}.landing-workflow div{min-height:0}.landing-workflow span{margin-bottom:28px}.landing-feature-list div{grid-template-columns:1fr;gap:8px}.landing-form-section{padding:22px 16px;border-radius:18px}}@media(max-width:520px){.index-page .landing-shell{padding-inline:12px}.landing-header-actions{width:100%}.index-page .landing-header-actions .index-header-link{flex:1;min-width:calc(50% - 4px);padding-inline:10px;text-align:center}.landing-hero-title{font-size:42px}.landing-hero-actions{display:grid}.landing-primary-cta,.landing-secondary-cta{width:100%}.landing-preview-grid{display:grid;grid-template-columns:1fr}.landing-product-frame{grid-template-columns:44px minmax(0,1fr)}.landing-product-sidebar{padding:12px 8px}.landing-product-sidebar span{width:28px;height:28px}.landing-product-context div{grid-template-columns:1fr;gap:4px}.landing-product-context strong{white-space:normal}.landing-chat-preview{min-height:320px;padding:12px}.landing-chat-bubble{max-width:100%}.landing-section h2,.landing-final-cta h2{font-size:36px}.landing-card,.landing-quote{padding:18px}}.login-page{min-height:100vh;margin:0;background:var(--bg-primary);color:var(--text-primary)}.login-shell{min-height:100vh;max-width:520px;margin:0 auto;padding:32px 20px;display:flex;align-items:center;justify-content:center}.login-card{position:relative;overflow:hidden;isolation:isolate}.login-kicker{margin:0;font-size:12px;font-weight:600;letter-spacing:.2em;text-transform:uppercase}.login-card{align-self:center;width:100%;padding:30px;border-radius:var(--radius-xl);background:var(--bg-secondary);border:1px solid var(--border);box-shadow:var(--shadow-md)}.login-card-frame,.login-card-glow,.login-card-orbit{position:absolute;pointer-events:none}.login-card-frame{inset:16px;border-radius:26px;border:1px solid rgba(184,147,90,.16)}.login-card-glow,.login-card-orbit{display:none}.login-header,.status-banner,.auth-view{position:relative;z-index:1}.login-header{margin-bottom:24px}.login-brand{margin:0 0 8px;font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:#5c554ef2}.login-kicker{margin-bottom:14px;color:#1e3a5fb8}.login-title{margin:0;font-family:var(--font-display);font-size:clamp(34px,4.4vw,48px);font-weight:500;line-height:.98;letter-spacing:-.03em}.login-subtitle{margin:12px 0 0;max-width:32ch;color:#5c554ef0;line-height:1.6}.status-banner{margin-bottom:18px;padding:13px 15px;border-radius:18px;border:1px solid transparent;font-size:14px;line-height:1.45}.status-banner[data-tone=error]{background:#b8323214;border-color:#b8323229;color:#8f2727}.status-banner[data-tone=success]{background:#2b7a4b1a;border-color:#2b7a4b2e;color:#1f6a40}.status-banner[data-tone=info]{background:#1e3a5f14;border-color:#1e3a5f24;color:#21476d}.auth-view[hidden]{display:none}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.login-card .ui-field{margin-bottom:16px}.field-grid .ui-field{margin-bottom:0}.password-input-wrap .ui-input{padding-right:44px}.field-grid{display:grid;gap:12px}.field-grid-2{grid-template-columns:1fr 1fr}.field-label-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.field label{font-size:14px;font-weight:600;color:#1a1614d6}.field input{width:100%;min-height:52px;padding:14px 15px;border-radius:16px;border:1px solid rgba(30,58,95,.12);background:#ffffffeb;color:var(--text-primary);font-size:15px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.field input::placeholder{color:#5c554ead}.field input:focus-visible,.btn:focus-visible,.link-btn:focus-visible,.ghost-icon-btn:focus-visible{outline:2px solid rgba(30,58,95,.28);outline-offset:2px}.field input:focus{border-color:#1e3a5f99;box-shadow:0 0 0 4px #1e3a5f14;background:#fff}.field input[aria-invalid=true]{border-color:#b8323273;box-shadow:0 0 0 4px #b8323214}.plan-choice-field{border:0;padding:0}.plan-choice-field legend{margin-bottom:8px;font-size:14px;font-weight:600;color:#1a1614d6}.plan-choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plan-choice-card{position:relative;min-height:138px;display:flex;flex-direction:column;justify-content:space-between;gap:12px;padding:14px;border-radius:18px;border:1px solid rgba(30,58,95,.12);background:#ffffffd1;cursor:pointer;transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease}.plan-choice-card:hover{transform:translateY(-1px);border-color:#b8935a57;background:#fffffff5}.plan-choice-card:has(input:checked){border-color:#1e3a5f7a;background:var(--accent-light);box-shadow:var(--shadow-sm)}.plan-choice-card input{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}.plan-choice-card:has(input:focus-visible){outline:2px solid rgba(30,58,95,.28);outline-offset:2px}.plan-choice-main{display:grid;gap:6px}.plan-choice-title{font-size:15px;font-weight:600;color:var(--text-primary)}.plan-choice-copy{font-size:12px;line-height:1.45;color:#5c554eeb}.plan-choice-badge{align-self:flex-start;min-height:24px;display:inline-flex;align-items:center;padding:0 9px;border-radius:999px;background:#b8935a29;color:#76562d;font-size:11px;font-weight:600}.password-input-wrap{position:relative}.password-input-wrap input{padding-right:98px}.field-error,.field-hint,.view-message{margin:0;font-size:13px;line-height:1.45}.field-error{color:#9c1c1c}.field-hint{color:#8b5b00}.view-message{color:#5c554ef0}.delivery-warning{margin-top:16px;border:1px solid rgba(176,125,16,.22);background:#f5eddfeb;border-radius:18px;padding:12px 14px;display:grid;gap:4px}.delivery-warning-title{margin:0;font-size:13px;line-height:1.35;font-weight:600;color:#7a4f00}.delivery-warning-text{margin:0;font-size:13px;line-height:1.45;color:#6e4a00}.btn{width:100%;min-height:52px;border:0;border-radius:18px;padding:13px 16px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .16s ease,opacity .16s ease,box-shadow .16s ease,background .16s ease,border-color .16s ease}.btn:hover:not(:disabled){transform:translateY(-1px)}.btn:disabled,.link-btn:disabled,.ghost-icon-btn:disabled{opacity:.58;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:#1e3a5f0d;color:var(--text-primary);border:1px solid rgba(30,58,95,.12)}.btn-google{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:#fffffff0;color:#172338;border:1px solid rgba(30,58,95,.12);box-shadow:var(--shadow-sm)}.btn-google-icon{flex:0 0 auto}.link-btn,.ghost-icon-btn{background:transparent;border:0;color:#1e4c79;font:inherit;cursor:pointer}.link-btn{padding:0;text-align:left}.ghost-icon-btn{position:absolute;top:50%;right:10px;transform:translateY(-50%);min-height:36px;padding:0 10px;border-radius:12px;color:#5c554ee6}.login-divider{display:flex;align-items:center;gap:14px;margin:20px 0;color:#5c554ee0;font-size:13px}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:#1e3a5f1f}.login-secondary-auth{margin-top:18px}.login-secondary-auth--register{margin-top:0}.stack-actions{display:grid;gap:12px;margin-top:18px}.stack-actions.compact{margin-top:14px}.auth-back-link{margin-top:18px;justify-self:start}.switch-auth-cta{margin-top:18px;display:flex;align-items:center;gap:8px;color:#5c554ef0;font-size:14px}.register-login-cta{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;margin-bottom:20px;padding:12px 14px;border:1px solid rgba(30,58,95,.1);border-radius:18px;background:#ffffff94;color:#5c554ef0;font-size:14px}.register-login-btn{width:auto;min-width:104px;min-height:42px;padding:9px 16px;border-radius:14px}@media(max-width:1080px){.login-shell{max-width:520px}.login-card{max-width:100%;margin:0 auto}}@media(max-width:720px){.login-shell{padding:14px}.login-card{padding:24px 20px;border-radius:26px}.field-grid-2,.plan-choice-grid{grid-template-columns:1fr}.field-label-row{align-items:flex-start;flex-direction:column;gap:6px}.switch-auth-cta{flex-wrap:wrap}}@media(max-width:560px){.login-shell{min-height:100vh;padding:10px;align-items:stretch}.login-card{min-height:0;padding:20px 16px 18px;border-radius:22px;box-shadow:var(--shadow-md)}.login-card-frame,.login-card-orbit,.login-card-glow{display:none}.login-header{margin-bottom:18px}.login-kicker{display:none}.login-title{font-size:clamp(32px,8vw,42px)}.login-subtitle{margin-top:8px;max-width:none}.login-secondary-auth{margin-top:16px}.login-divider{margin:14px 0 12px}.switch-auth-cta{margin-top:16px;padding-top:14px;border-top:1px solid rgba(30,58,95,.1)}.register-login-cta{margin-bottom:16px}.auth-back-link{margin-top:14px}.login-page[data-auth-kind=pending] .login-header,.login-page[data-auth-kind=success] .login-header,.login-page[data-auth-kind=warning] .login-header{text-align:center}.login-page[data-auth-kind=pending] .login-subtitle,.login-page[data-auth-kind=success] .login-subtitle,.login-page[data-auth-kind=warning] .login-subtitle{max-width:none;margin-left:auto;margin-right:auto}.login-page[data-auth-kind=pending] .view-message,.login-page[data-auth-kind=success] .view-message,.login-page[data-auth-kind=warning] .view-message{padding:16px 18px;border-radius:18px;text-align:center;font-size:14px;line-height:1.6}.login-page[data-auth-kind=pending] .view-message{background:#1e3a5f0f;border:1px solid rgba(30,58,95,.12);color:#21476d}.login-page[data-auth-kind=success] .view-message{background:#2b7a4b14;border:1px solid rgba(43,122,75,.16);color:#1f6a40}.login-page[data-auth-kind=warning] .view-message{background:#f5eddff0;border:1px solid rgba(176,125,16,.2);color:#5c554ef5}.login-page[data-auth-kind=pending] .auth-view,.login-page[data-auth-kind=success] .auth-view,.login-page[data-auth-kind=warning] .auth-view{display:grid;gap:16px}}
