/* Local serif fallbacks keep the site usable without third-party font requests. */
:root{color-scheme:dark;--gold:#f3dfb1;--text:#eee9ff;--muted:#bcb4dc;--line:#9d8dcc66}*{box-sizing:border-box}body{margin:0;background:#0c1038;color:var(--text);font-family:'Noto Serif SC','Songti SC',SimSun,serif;min-height:100vh;line-height:1.8}button,input,select{font:inherit}button,a,input,select{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}a{color:inherit;text-decoration:none}#stars,.nebula{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:-3}.nebula{z-index:-2;background:radial-gradient(ellipse at 8% 20%,#7b39cd60,transparent 40%),radial-gradient(ellipse at 92% 70%,#6330aa66,transparent 30%),radial-gradient(ellipse at 50% 110%,#2966c280,transparent 50%);filter:blur(15px)}header{max-width:1200px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:28px 40px;gap:24px;border-bottom:1px solid #c8b1ff15}.brand{display:flex;align-items:center;gap:12px;font-size:28px;letter-spacing:4px;color:#faf0d7}.brand-icon{font-size:44px;line-height:1;border:1px solid #c5a5e8;border-radius:50%;width:52px;height:52px;text-align:center;color:#e2b9ff}.astrolabe{position:absolute;z-index:-1;top:180px;left:50%;width:1100px;height:1100px;transform:translateX(-50%);border:1px solid #9d76ff44;border-radius:50%;box-shadow:0 0 70px #8553d21a,inset 0 0 80px #413b9b22;pointer-events:none;overflow:hidden}.astrolabe:before,.astrolabe:after,.orbit{content:'';position:absolute;inset:6%;border:1px solid #ad8ee75e;border-radius:50%}.astrolabe:after{inset:10%;border:2px solid #d5aaff66;box-shadow:0 0 20px #b883ff66}.orbit{inset:16%;border:1px dashed #9d8bff66;background:repeating-conic-gradient(from 0deg,#c19aff16 0deg 1deg,transparent 1deg 30deg)}.symbols{position:absolute;inset:22%;color:#b78ce870;font-size:72px;line-height:3;letter-spacing:40px;text-align:center}main{max-width:1040px;margin:60px auto;padding:0 26px}.glass{background:linear-gradient(125deg,#a47bdc30,#252d735c 55%,#6679b440);border:1px solid #c5b0ed99;border-radius:30px;box-shadow:inset 0 0 25px #a8a8ff16,0 0 0 3px #9d83dc0c,0 20px 80px #04082750;backdrop-filter:blur(8px)}.hero{text-align:center;padding:44px 42px 64px;min-height:670px;max-width:850px;margin:auto;border-top-color:#ffe2e7;position:relative}.hero:before,.report-card:before{content:'✦';position:absolute;color:#f7dfbe;top:-20px;left:50%;font-size:24px;text-shadow:0 0 20px #ffd9fe}.eyebrow{font:10px/2 Arial,sans-serif;letter-spacing:5px;color:#bfa7d9}.hero-symbol{font-size:82px;color:#ceaeef;text-shadow:0 0 40px #c288e9;margin:16px 0 4px}h1{font-size:clamp(26px,3.6vw,46px);font-weight:600;line-height:1.5;margin:16px 0;color:#fff3de;letter-spacing:2px}p{color:#d5cce9}.hero>p{font-size:19px}.entry{max-width:580px;margin:42px auto 0;padding:28px 34px;text-align:left;border-color:#f6d7e8;box-shadow:0 0 16px #dba3ec33,inset 0 0 30px #afa8ff20}label{display:block;font-size:19px;margin-bottom:14px}input,select{width:100%;padding:14px 18px;border:1px solid #c1b9ee66;background:#a8aed51a;color:#fff;border-radius:12px;outline:none}input:focus,select:focus{border-color:#d9b6ff;box-shadow:0 0 12px #b18bff55}select option{background:#24204c}button{border:1px solid #b5a4e988;background:#6a67c12b;color:var(--text);padding:13px 26px;border-radius:30px;transition:.2s}button:hover{background-color:#9874db55;transform:translateY(-1px)}.primary{background:linear-gradient(105deg,#0869ec,#5143ed 55%,#bb54ed);border-color:#bfbcff;box-shadow:0 0 15px #b77aff55,inset 0 0 16px #66d6ff55;color:#fff6e5;font-size:20px}.entry button{width:100%;margin:22px 0 16px}.entry button span{float:right}.entry small{display:block;text-align:center;color:#d5cce9;font-size:13px}footer{text-align:center;color:#c4abd2;font-size:13px;padding:32px 20px 50px;letter-spacing:2px}footer small{display:block;color:#827fa5;font-size:11px;margin-top:14px;letter-spacing:0}#progress{min-width:240px;font-size:14px;color:#e0cceb}.track{height:5px;background:#7a79ad33;border-radius:9px;margin-top:10px;overflow:hidden}.track i{display:block;height:100%;background:linear-gradient(90deg,#7667ff,#e8b9e7);border-radius:9px;transition:width .3s}.question{padding:42px 56px;max-width:860px;margin:auto}.question h1{text-align:center;font-size:30px}.question .hint{text-align:center;color:#d6c7ed;margin-bottom:30px}.divider{display:flex;align-items:center;gap:16px;color:#9c81c7;margin:25px 0}.divider:before,.divider:after{content:'';height:1px;background:#b69bd133;flex:1}.options{display:grid;gap:18px}.option{text-align:left;padding:22px 26px;display:flex;align-items:center;gap:20px;min-height:90px;border-radius:50px;background:linear-gradient(110deg,#a5a4db22,#6064ba22);font-size:18px;box-shadow:inset 0 0 20px #b8baff11}.option b{color:#e8ceaa;font-size:24px;font-weight:400}.option.selected{border-color:#f8ceff;box-shadow:0 0 0 2px #b29cfa77,0 0 22px #ba60f899,inset 0 0 22px #6576ed55;background:linear-gradient(110deg,#3763ae66,#9b4bcb44)}.nav-buttons{display:flex;justify-content:center;gap:18px;margin-top:38px}.zodiac-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:24px 0}.zodiac-choice{border-radius:15px;font-size:14px;padding:14px 6px}.zodiac-choice span{display:block;font-size:30px;color:#d4b1ef}.selected{border-color:#f3d1f6;background:#a57beb55}.relationship{display:flex;gap:16px;justify-content:center;margin:20px 0}.report{max-width:850px}.report-head{text-align:center;margin-bottom:38px}.report-head h1{color:var(--gold);font-size:40px}.report-head .moon{font-size:56px;color:#fce1b9;text-shadow:0 0 24px #e8c7dc}.report-card{position:relative;padding:26px 30px;margin:24px 0;border-color:#d9c291aa;border-radius:20px;box-shadow:0 0 0 3px #b18ad222,inset 0 0 25px #c7b7ff14}.report-card h2,.report-card h3{color:var(--gold);font-weight:500;letter-spacing:2px;margin:0 0 14px}.report-card p,.report-card li{font-size:15px;color:#e2d5cf;line-height:2}.report-card h3{border-bottom:1px solid #b99a6b33;padding-bottom:10px;margin-top:24px;font-size:18px}.tags{display:flex;flex-wrap:wrap;gap:10px}.tag{border:1px solid #b99bc355;border-radius:20px;padding:3px 14px;font-size:12px;color:#d8c2e8}.scores{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.score{text-align:center;font:12px Arial;color:#cbb6d7}.score strong{display:block;font:26px/1.7 Georgia;color:var(--gold)}.section-title{text-align:center;font-size:26px;color:var(--gold);margin:70px 0 30px}.section-title span{display:inline-block;border:1px solid #d6b77a;border-radius:35px;padding:8px 28px;box-shadow:0 0 15px #ae83c666}.own{border-color:#f9dcaa;box-shadow:0 0 22px #e6c79533}.loading{text-align:center;padding:80px 20px}.spinner{width:70px;height:70px;border:1px solid #b294e4;border-top:3px solid #f4d5ed;border-radius:50%;margin:24px auto;animation:spin 2s linear infinite}.error{color:#ffcedd}#message{position:fixed;bottom:30px;left:50%;transform:translateX(-50%);background:#342556f2;color:#fff0d5;padding:12px 24px;border:1px solid #ba91ca;border-radius:16px;display:none;z-index:20;max-width:90%}.back{font-size:14px;color:#c6b1da}.empty{text-align:center;padding:35px}ul{padding-left:22px}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1500px){main{margin-top:90px}}@media(max-width:650px){header{padding:20px}.brand{font-size:21px;letter-spacing:2px}.brand-icon{width:38px;height:38px;font-size:32px}#progress{min-width:130px;font-size:11px}main{padding:0 16px;margin:30px auto}.hero{padding:32px 18px;min-height:600px}.hero>p{font-size:14px}.hero-symbol{margin-top:30px}.entry{padding:22px 20px;margin-top:30px;border-radius:22px}.eyebrow{font-size:8px;letter-spacing:3px}.astrolabe{width:850px;height:850px;top:200px}.question{padding:28px 20px;border-radius:24px}.question h1{font-size:25px}.option{padding:19px;font-size:16px;gap:14px;min-height:96px}.hint{font-size:13px}.zodiac-grid{grid-template-columns:repeat(3,1fr)}.report-head h1{font-size:30px}.report-card{padding:22px 20px}.report-card p,.report-card li{font-size:14px}.scores{gap:4px}.score{font-size:10px}.score strong{font-size:22px}.section-title{font-size:20px}.nav-buttons button{padding:12px 20px}.hero h1{font-size:27px}}

body{overflow-x:hidden}.brand{flex-shrink:0;white-space:nowrap}#progress:empty{display:none}.astrolabe{max-width:none}header{position:relative} @media(max-width:650px){.brand{font-size:21px}.hero h1{font-size:clamp(22px,5vw,27px)}.eyebrow{letter-spacing:2px}.entry{padding:22px 16px}}

/* Keep the zodiac heading close to the surrounding report cards. */
.section-title{margin:24px 0 0}
