:root{--ink:#192024;--muted:#687178;--line:#d8dee4;--surface:#ffffff;--surface-soft:#f5f7fa;--surface-tint:#edf7f5;--teal:#047c78;--teal-dark:#025c59;--coral:#d95f46;--amber:#c47d20;--violet:#6f58a8;--shadow:0 16px 42px rgba(25,32,36,0.1)}*{box-sizing:border-box}html{color:var(--ink);background:var(--surface-soft);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}body{margin:0;overflow-x:hidden}button,input,select{font:inherit;min-width:0}button{cursor:pointer}a{color:inherit;text-decoration:none}.app-shell{min-height:100vh;background:linear-gradient(180deg,rgba(237,247,245,.8),rgba(245,247,250,0) 420px),var(--surface-soft)}.topbar{border-bottom:1px solid rgba(216,222,228,.8);justify-content:space-between;padding:18px clamp(18px,5vw,56px)}.brand,.topbar{align-items:center;display:flex}.brand{font-weight:800;gap:10px}.brand-mark{align-items:center;background:var(--ink);border-radius:8px;color:#ffffff;display:inline-flex;height:34px;justify-content:center;width:34px}.top-actions{display:flex}.nav-pill,.top-actions{align-items:center;gap:8px}.nav-pill{border:1px solid var(--line);border-radius:999px;color:var(--muted);display:inline-flex;font-size:14px;min-height:38px;padding:0 14px}.main-grid{display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(280px,430px) minmax(320px,1fr);margin:0 auto;max-width:1240px;padding:clamp(22px,4vw,46px) clamp(18px,5vw,56px) 56px}.intro-block{display:grid;grid-gap:18px;gap:18px;min-width:0}.headline{font-size:clamp(34px,5vw,58px);letter-spacing:0;line-height:.98;margin:0;max-width:680px}.subhead{color:var(--muted);font-size:18px;line-height:1.55;margin:0;max-width:640px}.checkout-panel,.report-panel,.result-panel,.tool-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-width:0}.tool-panel{padding:22px}.panel-title-row{align-items:center;display:flex;justify-content:space-between;margin-bottom:18px}.panel-title{font-size:18px;font-weight:800;margin:0}.tiny-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.form-grid{display:grid;grid-gap:14px;gap:14px}.field{display:grid;grid-gap:7px;gap:7px;min-width:0}.field label{color:var(--ink);font-size:14px;font-weight:700}.field input,.field select{background:#ffffff;border:1px solid var(--line);border-radius:8px;color:var(--ink);min-height:46px;padding:0 12px;width:100%}.field input:focus,.field select:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(4,124,120,.14);outline:none}.location-combobox{position:relative}.location-menu{background:#ffffff;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;left:0;margin-top:6px;max-height:260px;overflow:auto;padding:6px;position:absolute;right:0;top:100%;z-index:20}.location-menu button{align-items:flex-start;background:transparent;border:0;border-radius:7px;color:var(--ink);display:grid;grid-gap:3px;gap:3px;min-height:48px;padding:9px 10px;text-align:left}.location-menu button:hover{background:var(--surface-tint)}.location-menu strong{font-size:14px}.location-menu span{color:var(--muted);font-size:12px}.two-col{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}.checkbox-row{align-items:center;border:1px solid var(--line);border-radius:8px;display:flex;gap:10px;min-height:46px;padding:0 12px}.checkbox-row input{accent-color:var(--teal);height:16px;width:16px}.checkbox-row span{font-size:14px;font-weight:700}.form-error{color:var(--coral);font-size:13px;font-weight:700;line-height:1.4;margin:0}.form-success{background:var(--surface-tint);border:1px solid rgba(4,124,120,.2);border-radius:8px;color:var(--teal-dark);font-size:13px;font-weight:800;padding:11px 12px}.form-hint,.form-success{line-height:1.45;margin:0}.form-hint{color:var(--muted);font-size:12px}.ghost-button,.primary-button,.secondary-button{align-items:center;border-radius:8px;display:inline-flex;font-weight:800;gap:9px;justify-content:center;min-height:48px;padding:0 16px;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.primary-button{background:var(--teal);border:1px solid var(--teal);color:#ffffff;width:100%}.primary-button:disabled{cursor:wait;opacity:.72;transform:none}.ghost-button:hover,.primary-button:hover,.secondary-button:hover{transform:translateY(-1px)}.primary-button:disabled:hover{transform:none}.secondary-button{background:var(--ink);border:1px solid var(--ink);color:#ffffff}.ghost-button{background:transparent;border:1px solid var(--line);color:var(--ink)}.result-panel{min-height:680px;overflow:hidden}.result-top{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding:24px}.result-title{font-size:clamp(25px,3vw,36px);letter-spacing:0;line-height:1.05;margin:4px 0 0}.result-subtitle{color:var(--muted);font-size:14px;line-height:1.5;margin:8px 0 0}.note-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.note-row span{background:var(--surface-tint);border:1px solid rgba(4,124,120,.2);border-radius:999px;color:var(--teal-dark);font-size:12px;font-weight:800;line-height:1;padding:7px 9px}.chart-stage{align-items:center;background:linear-gradient(90deg,rgba(4,124,120,.08) 1px,transparent 0),linear-gradient(180deg,rgba(25,32,36,.06) 1px,transparent 0),#fbfcfd;background-size:28px 28px;display:grid;grid-template-columns:minmax(270px,420px) minmax(260px,1fr);grid-gap:22px;gap:22px;padding:26px}.chart-wrap{aspect-ratio:1;max-width:420px;min-width:0;width:100%}.chart-svg{display:block;height:100%;width:100%}.chart-circle{fill:#ffffff;stroke:var(--ink);stroke-width:1.5}.chart-ring{fill:none;stroke:rgba(25,32,36,.22);stroke-width:1}.chart-line{stroke:rgba(25,32,36,.18);stroke-width:1}.chart-aspect{stroke-linecap:round;stroke-width:1.4}.chart-symbol{dominant-baseline:middle;fill:var(--ink);font-size:15px}.chart-symbol,.zodiac-label{font-weight:800;text-anchor:middle}.zodiac-label{fill:var(--muted);font-size:10px;letter-spacing:0}.big-three{display:grid;grid-gap:12px;gap:12px}.insight-card,.price-card,.report-section,.stat-card,.table-card{background:#ffffff;border:1px solid var(--line);border-radius:8px}.stat-card{display:grid;grid-gap:5px;gap:5px;padding:15px}.stat-card strong{font-size:20px}.stat-card span{color:var(--muted);font-size:13px}.content-strip{display:grid;grid-gap:20px;gap:20px;grid-template-columns:minmax(260px,.95fr) minmax(300px,1.05fr);padding:24px}.section-heading{align-items:center;display:flex;font-size:16px;font-weight:800;gap:8px;margin:0 0 12px}.insights-grid{display:grid;grid-gap:12px;gap:12px}.insight-card{display:grid;grid-gap:6px;gap:6px;padding:15px}.insight-card strong{font-size:15px}.insight-card p{color:var(--muted);font-size:14px;line-height:1.5;margin:0}.planet-table{border-collapse:collapse;width:100%}.planet-table td,.planet-table th{border-bottom:1px solid var(--line);font-size:14px;padding:12px;text-align:left}.planet-table th{color:var(--muted);font-size:12px;letter-spacing:.07em;text-transform:uppercase}.planet-table tr:last-child td{border-bottom:0}.unlock-band{align-items:center;background:var(--ink);color:#ffffff;display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr auto;padding:22px 24px}.unlock-band p{color:rgba(255,255,255,.78);line-height:1.45;margin:6px 0 0}.empty-state{min-height:620px;padding:48px 24px;text-align:center}.empty-orbit,.empty-state{align-items:center;display:grid;justify-items:center}.empty-orbit{border:1px solid var(--line);border-radius:50%;height:170px;margin-bottom:22px;position:relative;width:170px}.empty-orbit:after,.empty-orbit:before{border:1px solid rgba(4,124,120,.4);border-radius:50%;content:"";inset:25px;position:absolute}.empty-orbit:after{border-color:rgba(217,95,70,.38);inset:52px}.empty-state h2{font-size:28px;letter-spacing:0;margin:0 0 8px}.empty-state p{color:var(--muted);line-height:1.5;margin:0;max-width:420px}.checkout-main,.report-main{margin:0 auto;max-width:940px;padding:clamp(24px,5vw,58px) clamp(18px,5vw,56px)}.checkout-panel,.report-panel{padding:clamp(22px,4vw,34px)}.checkout-grid{display:grid;grid-gap:22px;gap:22px;grid-template-columns:minmax(260px,1fr) minmax(260px,340px)}.price-card{display:grid;grid-gap:14px;gap:14px;padding:20px}.price{align-items:baseline;display:flex;gap:8px;margin:10px 0 18px}.price strong{font-size:38px}.check-list{color:var(--muted);display:grid;grid-gap:12px;gap:12px;line-height:1.45;margin:18px 0 0;padding:0}.check-list li{gap:8px;list-style:none}.check-list li,.checkout-context{align-items:flex-start;display:flex}.checkout-context{background:var(--surface-tint);border:1px solid rgba(4,124,120,.2);border-radius:8px;gap:10px;margin-top:18px;padding:14px}.checkout-context span,.checkout-context strong{display:block}.checkout-context strong{font-size:15px}.checkout-context span{color:var(--muted);font-size:13px;line-height:1.45;margin-top:3px}.account-email-form,.checkout-email-form{display:grid;grid-gap:12px;gap:12px}.checkout-legal-links{border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:10px 14px;padding-top:14px}.checkout-legal-links a{color:var(--teal-dark);font-size:13px;font-weight:800}.legal-footer{align-items:center;color:var(--muted);display:flex;font-size:13px;gap:14px;justify-content:space-between;margin:0 auto;max-width:1240px;padding:0 clamp(18px,5vw,56px) 34px}.legal-footer nav{display:flex;flex-wrap:wrap;gap:10px 16px}.legal-footer a{color:var(--ink);font-weight:800}.legal-main{margin:0 auto;max-width:920px;padding:clamp(24px,5vw,58px) clamp(18px,5vw,56px)}.legal-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);min-width:0;padding:clamp(22px,4vw,36px)}.legal-header{border-bottom:1px solid var(--line);padding-bottom:22px}.legal-header h1{font-size:clamp(34px,5vw,54px);line-height:1;margin:8px 0 12px}.legal-header p:last-child{color:var(--muted);font-size:17px;line-height:1.55;margin:0;max-width:720px}.legal-sections{display:grid;grid-gap:24px;gap:24px;padding-top:24px}.legal-section h2{font-size:21px;line-height:1.2;margin:0 0 10px}.legal-section li,.legal-section p{color:var(--muted);line-height:1.65}.legal-section p{margin:0 0 12px}.legal-section p:last-child{margin-bottom:0}.legal-section ul{display:grid;grid-gap:8px;gap:8px;margin:0;padding-left:20px}.legal-note{border-top:1px solid var(--line);margin-top:28px;padding-top:18px}.legal-note strong{display:block;font-size:15px;margin-bottom:6px}.legal-note p{color:var(--muted);line-height:1.55;margin:0}.account-main{margin:0 auto;max-width:980px;padding:clamp(24px,5vw,58px) clamp(18px,5vw,56px)}.account-panel{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:24px;gap:24px;min-width:0;padding:clamp(22px,4vw,34px)}.account-hero{align-items:flex-start;border-bottom:1px solid var(--line);display:flex;gap:18px;justify-content:space-between;padding-bottom:22px}.account-icon{align-items:center;background:var(--surface-tint);border:1px solid rgba(4,124,120,.2);border-radius:8px;color:var(--teal);display:grid;flex:0 0 auto;height:58px;justify-items:center;width:58px}.library-section{display:grid;grid-gap:14px;gap:14px}.library-list{display:grid;grid-gap:12px;gap:12px}.library-card{align-items:center;background:#ffffff;border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:16px;gap:16px;grid-template-columns:1fr auto;padding:18px}.library-card h3{font-size:20px;line-height:1.15;margin:4px 0 6px}.library-card p{color:var(--muted);line-height:1.45;margin:0}.account-empty-state{align-items:flex-start;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;color:var(--muted);display:flex;gap:12px;padding:18px}.account-empty-state h3{color:var(--ink);font-size:18px;margin:0 0 6px}.account-empty-state p{line-height:1.5;margin:0}.report-header{border-bottom:1px solid var(--line);margin-bottom:22px;padding-bottom:22px}.report-header h1{font-size:clamp(30px,5vw,48px);line-height:1;margin:8px 0 10px}.report-sections{display:grid;grid-gap:14px;gap:14px}.saved-report-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:minmax(260px,420px) minmax(220px,1fr);margin-bottom:18px}.saved-chart-card{align-items:center;background:linear-gradient(90deg,rgba(4,124,120,.08) 1px,transparent 0),linear-gradient(180deg,rgba(25,32,36,.06) 1px,transparent 0),#fbfcfd;background-size:28px 28px;border:1px solid var(--line);border-radius:8px;display:grid;justify-items:center;min-width:0;padding:18px}.saved-summary{align-content:start;display:grid;grid-gap:12px;gap:12px}.report-section{padding:18px}.report-section h2{font-size:18px;margin:0 0 8px}.report-section p{color:var(--muted);line-height:1.65;margin:0}.report-locked{align-items:center;background:var(--ink);border-radius:8px;color:#ffffff;display:grid;grid-gap:18px;gap:18px;grid-template-columns:1fr auto;margin-top:18px;padding:20px}.report-unlocked{background:var(--surface-tint);border:1px solid rgba(4,124,120,.22);border-radius:8px;margin-top:18px;padding:20px}.report-generating{align-items:center;background:#fff8ee;border:1px solid rgba(196,125,32,.26);border-radius:8px;color:var(--ink);display:grid;grid-gap:18px;gap:18px;grid-template-columns:1fr auto;margin-top:18px;padding:20px}.report-generating h2,.report-locked h2,.report-unlocked h2{font-size:22px;line-height:1.12;margin:4px 0 8px}.report-locked p{color:rgba(255,255,255,.78);line-height:1.55;margin:0}.report-unlocked p{color:var(--muted);line-height:1.55;margin:0}.report-generating p{color:#6d4b1c;line-height:1.55;margin:0}.location-warning{align-items:flex-start;background:#fff8ee;border:1px solid rgba(196,125,32,.26);border-radius:8px;color:var(--amber);display:flex;gap:10px;margin-top:14px;padding:14px}.location-warning p{color:#6d4b1c;line-height:1.5;margin:0}@media (max-width:980px){.chart-stage,.checkout-grid,.content-strip,.library-card,.main-grid,.report-generating,.report-locked,.saved-report-grid{grid-template-columns:1fr}.headline{font-size:42px}.unlock-band{grid-template-columns:1fr}.library-card .secondary-button,.report-generating .ghost-button,.report-locked .secondary-button,.unlock-band .secondary-button{width:100%}}@media (max-width:620px){.topbar{align-items:flex-start;gap:12px}.top-actions,.topbar{flex-direction:column}.top-actions{align-items:stretch;width:100%}.nav-pill{justify-content:center;width:100%}.main-grid{padding-inline:14px}.two-col{grid-template-columns:1fr}.account-panel,.chart-stage,.content-strip,.result-top,.tool-panel,.unlock-band{padding:18px}.headline{font-size:34px}.account-hero{align-items:stretch;flex-direction:column}.legal-footer{align-items:flex-start;flex-direction:column}}