*{box-sizing:border-box}
:root{
  --bg:#071426;--bg2:#0b1b31;--panel:#0c1d33;--panel2:#10243d;
  --text:#f5f0e6;--muted:#9fb2c8;--gold:#d8aa68;--gold2:#f0cf93;--line:#29415e
}
html{scroll-behavior:smooth}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 15% 0%,#17375c55,transparent 35%),linear-gradient(180deg,var(--bg),#050b14);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}
button,input,select{font:inherit} button{cursor:pointer}
.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:24px;padding:14px 22px;background:#071426ed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);min-width:max-content}
.brand-mark{font-size:1.8rem}.brand strong{display:block;font-family:Georgia,serif;font-size:1.32rem;font-weight:500}.brand small{display:block;color:var(--muted);font-size:.72rem}
.main-nav{display:flex;gap:5px;flex:1;justify-content:center;flex-wrap:wrap}
.nav-link,.text-link{border:0;background:transparent;color:var(--muted);padding:8px 10px;border-radius:9px}
.nav-link:hover,.text-link:hover{color:var(--text);background:#ffffff0b}
.view{display:none}.view.active{display:block}
.hero{min-height:72vh;display:grid;grid-template-columns:1.25fr .75fr;gap:40px;align-items:center;max-width:1220px;margin:auto;padding:70px 28px}
.hero h1{font-family:Georgia,serif;font-size:clamp(2.6rem,6vw,5.5rem);line-height:1.02;font-weight:500;margin:.3em 0}
.hero p{font-size:1.15rem;line-height:1.7;color:#c3d0de;max-width:760px}
.eyebrow{text-transform:uppercase;letter-spacing:.22em;color:var(--gold2);font-size:.78rem}
.hero-actions,.button-grid{display:flex;gap:10px;flex-wrap:wrap}
.btn{border:1px solid transparent;border-radius:12px;padding:12px 16px;font-weight:700}
.btn-primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:#24190c}
.btn-secondary{background:#122942;color:var(--text);border-color:#365370}
.btn-ghost{background:transparent;color:var(--text);border-color:#365370}
.btn:hover{filter:brightness(1.08)}
.full{width:100%;margin-top:10px}.hidden{display:none!important}
.mascot-card{background:linear-gradient(180deg,#102742,#0a1728);border:1px solid #34516f;border-radius:28px;padding:25px;text-align:center;box-shadow:0 30px 100px #0007}
.space-orbit{height:310px;position:relative;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#315c8a 0 8%,#173250 25%,#091625 55%,transparent 56%);overflow:hidden}
.space-orbit:before,.space-orbit:after{content:"";position:absolute;border:1px solid #d8aa6866;border-radius:50%;inset:35px;transform:rotate(-18deg)}
.space-orbit:after{inset:70px;transform:rotate(36deg)}
.monkey{font-size:6rem;z-index:2}.helmet{position:absolute;font-size:9rem;color:#d8e6f555;z-index:1;transform:scaleX(1.15)}.planet{position:absolute;border-radius:50%;background:var(--gold);width:18px;height:18px}.planet-a{top:52px;right:70px}.planet-b{bottom:62px;left:54px;width:11px;height:11px}
.workspace{display:grid;grid-template-columns:minmax(320px,430px) minmax(0,1fr);gap:20px;max-width:1500px;margin:auto;padding:24px}
.control-panel{position:sticky;top:92px;height:max-content;background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:20px;padding:20px}
.section-heading h2,.section-heading.compact h2{font-family:Georgia,serif;font-size:2rem;font-weight:500;margin:.25em 0 .8em}
label{display:grid;gap:7px;margin:12px 0;color:#d9e3ee;font-size:.92rem}
input,select{width:100%;border:1px solid #365370;background:#081628;color:var(--text);border-radius:10px;padding:11px 12px;outline:none}
input:focus,select:focus{border-color:var(--gold);box-shadow:0 0 0 3px #d8aa6822}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.check-row{display:grid;grid-template-columns:1fr 1fr;gap:7px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto}
.status,.legal-note{color:var(--muted);font-size:.85rem;line-height:1.5}
.preview-stage{display:grid;place-items:center;min-height:70vh}
#skyPoster,#moonPoster{width:min(100%,760px);height:auto;background:#060b14;border-radius:9px;box-shadow:0 30px 100px #0008}
.astral-output{display:grid;grid-template-columns:minmax(0,760px) minmax(280px,1fr);gap:20px;align-items:start}
.chart-wrap{display:grid;place-items:center;background:#091323;border:1px solid var(--line);border-radius:20px;padding:12px}
#astralChart{width:100%;height:auto}.report{background:linear-gradient(180deg,var(--panel),var(--panel2));border:1px solid var(--line);border-radius:18px;padding:22px;line-height:1.65}
.report h3{font-family:Georgia,serif;font-size:1.5rem;font-weight:500;color:var(--gold2)}
.report h4{font-family:Georgia,serif;font-size:1.15rem;margin-bottom:.3em}.report p{color:#c5d2df}
.planet-table{width:100%;border-collapse:collapse;font-size:.9rem}.planet-table td{padding:7px 4px;border-bottom:1px solid #ffffff12}.planet-table td:last-child{text-align:right;color:var(--gold2)}
.compat-result{display:grid;grid-template-columns:240px 1fr;gap:24px;align-items:center;min-height:450px}
.score-ring{width:200px;height:200px;border-radius:50%;display:grid;place-items:center;margin:auto;font-family:Georgia,serif;font-size:3rem;border:16px solid var(--gold);background:#081628}
.site-footer{display:flex;justify-content:space-between;gap:16px;padding:24px;color:var(--muted);border-top:1px solid var(--line)}
@media(max-width:1100px){.astral-output{grid-template-columns:1fr}}
@media(max-width:850px){.site-header{align-items:flex-start;flex-wrap:wrap}.main-nav{order:3;width:100%;justify-content:flex-start;overflow:auto;flex-wrap:nowrap}.hero,.workspace{grid-template-columns:1fr}.control-panel{position:static}.compat-result{grid-template-columns:1fr}}
@media(max-width:560px){.hero{padding:42px 16px}.workspace{padding-left:12px;padding-right:12px}.form-grid{grid-template-columns:1fr}.check-row{grid-template-columns:1fr}.site-footer{flex-direction:column}}

.button-grid{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.preview-stage{align-items:start;padding-top:4px}

.license-box{align-self:end;margin:12px 0;padding:11px 12px;border:1px solid #365370;border-radius:10px;background:#081628;display:grid;gap:4px}
.license-label{font-size:.82rem;color:#9fb2c8}.license-box strong{color:#f0cf93}.license-box small{color:#9fb2c8;line-height:1.35}
.btn-buy{background:linear-gradient(135deg,#8c6ad8,#c69aff);color:#130d20;border-color:#d5bdff;margin-bottom:10px}
.btn-buy:disabled{opacity:.55;cursor:not-allowed;filter:none}
.license-premium{border-color:#7abb8a;background:#0b2a20}.license-premium strong{color:#9be1ad}
.payment-notice{max-width:720px;margin:70px auto;padding:30px;border:1px solid #29415e;border-radius:20px;background:#0c1d33;text-align:center;color:#f5f0e6;font-family:Inter,system-ui,sans-serif}
.payment-notice h1{font-family:Georgia,serif;color:#f0cf93}.payment-notice a{color:#f0cf93}

.place-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:stretch}
.place-search-row .btn{white-space:nowrap;padding-inline:13px}
.place-results{display:grid;gap:7px;margin:-4px 0 10px}
.place-result{display:grid;gap:3px;width:100%;text-align:left;border:1px solid #365370;background:#0a1a2d;color:var(--text);border-radius:10px;padding:10px 12px;cursor:pointer}
.place-result:hover,.place-result:focus{border-color:var(--gold);background:#102945}
.place-result strong{font-weight:650}.place-result small{color:var(--muted)}
.place-status{margin:.35rem 0}.advanced-location{margin:.4rem 0;color:var(--muted)}
.advanced-location summary{cursor:pointer;color:#d9e3ee}.osm-attribution{font-size:.76rem;color:var(--muted);margin:.4rem 0 1rem}
@media(max-width:560px){.place-search-row{grid-template-columns:1fr}.place-search-row .btn{width:100%}}

.version-badge{display:inline-block;margin-bottom:10px;padding:5px 9px;border:1px solid #d8aa68;border-radius:999px;color:#f0cf93;font-size:.75rem}
