:root { color-scheme: light; --navy:#0b1d38; --ink:#17263c; --gold:#c79b4b; --paper:#fbf8f1; --line:#ddd1bd; --muted:#697386; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Arial, sans-serif; line-height:1.55; }
.beta-header { min-height:70px; padding:12px clamp(20px,5vw,72px); display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); color:var(--muted); font-size:13px; text-transform:uppercase; letter-spacing:.08em; }
.beta-brand { display:flex; align-items:center; gap:10px; color:var(--navy); text-decoration:none; font-family:Georgia,serif; font-size:20px; text-transform:none; letter-spacing:0; }
main { width:min(1040px,calc(100% - 32px)); margin:0 auto; padding:70px 0 100px; }
.beta-intro { max-width:720px; margin-bottom:34px; }
.eyebrow { color:var(--gold); font-size:12px; font-weight:700; letter-spacing:.13em; }
h1,h2,h3 { color:var(--navy); font-family:Georgia,serif; font-weight:600; }
h1 { font-size:clamp(38px,6vw,64px); line-height:1.04; margin:10px 0 18px; }
.beta-panel,.report { background:#fff; border:1px solid var(--line); border-radius:20px; padding:clamp(22px,4vw,44px); box-shadow:0 18px 45px rgba(11,29,56,.07); }
.field-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.advanced-options { margin-top:24px; padding:15px 18px; border:1px solid var(--line); border-radius:12px; background:#fffcf6; }
.advanced-options summary { color:var(--navy); font-size:14px; font-weight:700; cursor:pointer; }
.advanced-options>p { margin:10px 0 16px; color:var(--muted); font-size:13px; }
.advanced-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
label { display:grid; gap:7px; font-size:13px; font-weight:700; color:var(--navy); }
label small { font-weight:400; color:var(--muted); }
input,select,textarea { width:100%; border:1px solid #bdb5a8; border-radius:9px; padding:12px; background:#fff; color:var(--ink); font:inherit; }
textarea { resize:vertical; }
input:focus,select:focus,textarea:focus { outline:2px solid rgba(199,155,75,.3); border-color:var(--gold); }
button { margin-top:22px; border:0; border-radius:999px; padding:14px 22px; background:var(--navy); color:#fff; font-weight:700; cursor:pointer; }
button:disabled { opacity:.55; cursor:wait; }
.location-field { grid-column:1 / -1; }
.location-lookup { margin-top:7px; }
.location-results { display:grid; gap:6px; margin-top:8px; }
.location-result { width:100%; margin:0; padding:10px 13px; border:1px solid var(--line); border-radius:9px; background:#fff; color:var(--ink); text-align:left; font-weight:400; line-height:1.35; }
.location-result:hover,.location-result:focus { border-color:var(--gold); background:#fff8e9; outline:none; }
.location-result strong { color:var(--navy); }
.location-searching { color:var(--muted); font-size:13px; padding:7px 2px; }
.selected-coordinates { margin:9px 0 0; color:var(--navy); font-size:13px; }
.location-attribution { margin:8px 0 0; color:var(--muted); font-size:12px; }
.location-attribution a { color:inherit; }
.privacy { color:var(--muted); font-size:13px; }
.purchase-consent { grid-template-columns:18px 1fr; align-items:start; margin-top:24px; color:var(--muted); font-size:13px; font-weight:400; line-height:1.5; }
.purchase-consent input { width:16px; height:16px; margin-top:2px; accent-color:var(--navy); }
.purchase-consent a,.privacy a { color:var(--navy); }
.payment-panel { margin-top:26px; padding:23px; border:1px solid #dfcda9; border-radius:14px; background:#fffcf6; }
.payment-panel h2 { margin:3px 0 8px; font-size:27px; }
.payment-panel>p:not(.eyebrow):not(.payment-note) { color:var(--muted); font-size:14px; }
#paypal-buttons { max-width:360px; margin-top:17px; }
.payment-note { min-height:1.5em; margin:11px 0 0; color:var(--muted); font-size:13px; }
.beta-status { margin:24px 0; padding:18px 22px; border:1px solid var(--line); border-radius:12px; background:#fff8e9; }
.report { margin-top:30px; }
.report-head { display:flex; justify-content:space-between; gap:20px; align-items:flex-start; border-bottom:1px solid var(--line); padding-bottom:24px; }
.report-head h2 { font-size:36px; margin:0 0 6px; }
.pillars { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:28px 0; }
.pillar { text-align:center; padding:18px 10px; background:#f5ecdc; border:1px solid #dfcda9; border-radius:12px; }
.pillar strong { display:block; font-family:"Arial Unicode MS",Arial,sans-serif; font-size:30px; color:var(--navy); }
.pillar span { color:var(--muted); font-size:12px; text-transform:uppercase; }
.timing-summary { margin:28px 0; padding:22px; border:1px solid #dfcda9; border-radius:14px; background:#fffcf6; }
.timing-summary h3 { font-size:25px; margin:2px 0 14px; }
.timing-summary>p:last-child { margin:15px 0 0; color:var(--muted); font-size:14px; }
.timing-pillars { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.timing-pillars span { display:block; padding:14px 12px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--muted); font-size:12px; }
.timing-pillars b { display:block; margin-bottom:4px; color:var(--navy); font-size:26px; font-family:"Arial Unicode MS",Arial,sans-serif; }
.report-section { padding:28px 0; border-top:1px solid var(--line); }
.report-section h3 { font-size:30px; margin:0 0 12px; }
.evidence { color:var(--muted); font-size:14px; }
.prompts { background:#f5ecdc; border-left:3px solid var(--gold); padding:14px 18px; }
.error { border-color:#b55345; background:#fff0ed; color:#7b2f27; }
@media (max-width:700px) { .field-grid,.advanced-grid,.pillars,.timing-pillars { grid-template-columns:1fr; } .beta-header>span { display:none; } main { padding-top:42px; } }
@media print { .beta-header,.beta-intro,.beta-panel,.beta-status,.report-actions { display:none!important; } main { width:auto; padding:0; } .report { border:0; box-shadow:none; margin:0; padding:0; } .report-section { break-inside:avoid; } }

/* Continue the compass's bronze-and-ink identity into the reading flow. */
:root { color-scheme:dark; --navy:#eee4cc; --ink:#e5ddcc; --gold:#cbb075; --paper:#100e0b; --line:#514631; --muted:#b9af9d; }
body { background:radial-gradient(ellipse at top right,#302619 0,transparent 65%),var(--paper); }
[hidden] { display:none!important; }
a { color:var(--gold); text-underline-offset:4px; }
.beta-panel,.report { background:#17140f; border-radius:2px; box-shadow:none; }
.beta-intro h1 { font-weight:400; }
.beta-header { background:#100e0be8; }
.beta-header>a:last-child { text-transform:none; letter-spacing:0; }
input,select,textarea { background:#100e0b; border-color:#6d614e; border-radius:2px; font-size:16px; }
button { border-radius:2px; background:var(--gold); color:#17140f; min-height:44px; }
.advanced-options,.payment-panel,.timing-summary,.prompts,.pillar,.timing-pillars span,.beta-status { background:#211c14; border-color:var(--line); border-radius:2px; }
.location-result { background:#191610; color:var(--ink); border-radius:2px; }
.location-result:hover,.location-result:focus { background:#30281b; }
.error { background:#321b16; color:#ffd6c9; }
#birth-details>summary { color:var(--gold); font-size:17px; cursor:pointer; padding:0 0 22px; overflow-wrap:anywhere; }
.evidence summary { cursor:pointer; padding:10px 0; }
.reading-footer { margin-top:36px; font-size:13px; color:var(--muted); }
.reading-footer button { margin:0 0 0 20px; background:none; border:1px solid var(--line); color:var(--muted); }
.report-section p { white-space:pre-line; max-width:68ch; line-height:1.8; }
.report-head { flex-wrap:wrap; }
.report-head h2 { overflow-wrap:anywhere; }
button:focus-visible,summary:focus-visible,a:focus-visible { outline:2px solid var(--gold); outline-offset:4px; }
@media(max-width:700px) { .pillars { grid-template-columns:repeat(2,minmax(0,1fr)); } .reading-footer button { margin:16px 0; display:block; } .beta-header { flex-wrap:wrap; gap:10px; } }
