:root{color-scheme:dark;--gold:#dfbf86;--muted:#b4a9c5;--line:#3c304b}*{box-sizing:border-box}body{margin:0;background:#100d1a;color:#f5effa;font:15px/1.65 system-ui,sans-serif}header,main,footer{max-width:1200px;margin:auto}header{padding:26px 24px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}a{color:inherit;text-decoration:none}button{cursor:pointer;font:inherit;color:inherit;border:1px solid var(--line);background:transparent;border-radius:9px;padding:10px 18px}.brand{color:var(--gold);letter-spacing:3px;font-family:Georgia,serif;font-size:22px}nav{display:flex;align-items:center;gap:28px}nav button{border:0;padding:6px}nav a{color:var(--gold)}main{padding:24px}.preview{font-size:12px;color:var(--muted);margin-bottom:20px}.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:24px}.scene{position:relative;overflow:hidden;min-height:570px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(ellipse at 30% 50%,#382146,transparent 65%);display:flex;align-items:center;padding:40px 25px;gap:28px}.scene img{width:160px;height:auto;z-index:1;transform:rotate(-12deg);filter:drop-shadow(0 0 23px #d2a94b55);animation:float 6s ease-in-out infinite}.orbit{position:absolute;left:-25px;top:26%;width:300px;height:300px;border:1px solid #b7914644;border-radius:50%;box-shadow:0 0 0 18px #bd9c4820,0 0 0 40px #bd9c4809;animation:glow 5s ease-in-out infinite}.orbit:after{content:'✦';position:absolute;left:50%;top:-18px;color:var(--gold);font-size:25px}.copy{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:3px;color:var(--gold)}h1{font:36px/1.3 Georgia,serif}h1 em{font-style:normal;color:var(--gold)}p{color:var(--muted)}.copy p:last-child{font-size:13px}.scene>button{position:absolute;right:14px;bottom:14px;font-size:11px;padding:5px 10px;color:var(--muted)}.reading{border:1px solid var(--line);border-radius:20px;padding:30px;background:linear-gradient(130deg,#251d32,#1b1526)}.steps{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);letter-spacing:1px}.steps b{color:var(--gold)}h2{font:27px/1.3 Georgia,serif;margin:24px 0 10px}.reading>p{font-size:13px}.topics{display:flex;gap:9px;margin:25px 0}.topics button{flex:1;padding:13px 4px;font-size:25px;background:#ffffff03;color:var(--muted)}.topics span{display:block;font-size:10px}.topics .selected{background:#d9b87720;border-color:var(--gold);color:var(--gold)}label{font-size:13px}label small{font-size:10px;margin-left:8px;color:var(--muted)}textarea{display:block;width:100%;resize:vertical;min-height:110px;margin-top:10px;border:1px solid var(--line);border-radius:10px;background:#130e1e;padding:15px;font:13px/1.6 system-ui;color:#fff}.count{text-align:right;font-size:11px;color:var(--muted);margin:6px 0 15px}.gold{background:linear-gradient(120deg,#e4c999,#d7b47b);color:#24192b;border:0;font-weight:600}.reading .gold{width:100%}.hint{text-align:center;font-size:11px!important}.privacy{font-size:11px;color:var(--muted)}.how{text-align:center;padding:50px 0 32px}.three{display:grid;grid-template-columns:repeat(3,1fr);gap:25px;margin-top:30px}.three article{padding:20px;border-top:1px solid var(--line)}.three span{color:var(--gold);font-family:Georgia;font-size:25px}h3{font-size:16px;font-weight:500}.three p{font-size:13px}.bottom{display:flex;justify-content:space-between;align-items:center;background:#21192e;border:1px solid var(--line);padding:25px 32px;border-radius:16px}.bottom h2{margin-top:8px}.bottom p:last-child{font-size:12px}footer{padding:35px 24px;display:flex;gap:30px;align-items:center;color:var(--muted);font-size:11px}footer .brand{font-size:15px}footer small{margin-left:auto}dialog{max-width:430px;width:90%;background:#241b31;border:1px solid var(--line);border-radius:18px;padding:26px}dialog::backdrop{background:#000a}dialog p{white-space:pre-line}button:focus-visible,a:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:4px}.paused *{animation-play-state:paused!important}@keyframes float{50%{transform:translateY(-14px) rotate(-7deg)}}@keyframes glow{50%{opacity:.4;transform:scale(1.05)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}@media(max-width:900px){.hero{grid-template-columns:1fr}.scene{min-height:340px;justify-content:center}.orbit{left:calc(50% - 260px);top:30px}nav{gap:12px;font-size:12px}h1{font-size:34px}}@media(max-width:550px){header{padding:20px 16px;display:block}.brand{font-size:20px}nav{justify-content:space-between;margin-top:18px;gap:8px}main{padding:16px}.scene{padding:25px 18px;gap:18px;min-height:320px}.scene img{width:110px}h1{font-size:27px}.copy p:last-child{font-size:11px}.orbit{width:210px;height:210px;left:-10px;top:50px}.reading{padding:22px}.three{grid-template-columns:1fr;gap:0}.how{padding-top:35px}.bottom{display:block;padding:22px}.bottom button{width:100%;margin-top:10px}footer{flex-wrap:wrap;gap:14px}footer small{margin-left:0}}
[hidden]{display:none!important}.journey{padding:25px 0 55px}.journey>h1{max-width:800px}.card-grid{display:grid;grid-template-columns:repeat(13,1fr);gap:10px;max-height:440px;overflow-y:auto;padding:14px 6px;margin:20px 0}.pick-card{padding:0;border:2px solid transparent;transition:transform .18s,border-color .18s}.pick-card img{width:100%;display:block;border-radius:7px}.pick-card.picked{border-color:var(--gold);transform:translateY(-5px);box-shadow:0 0 16px #dabc7866}button:disabled{opacity:.5;cursor:default}.spread{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:35px 0}.spread article{background:#231a2f;border:1px solid var(--line);padding:24px;border-radius:15px}.spread img{display:block;width:100%;max-width:170px;height:auto;margin:20px auto;border-radius:9px}.spread img.reversed{transform:rotate(180deg)}.spread h2{font-size:23px}.spread small,.reading-note{color:var(--gold)}.history-item{display:block;width:100%;text-align:left;margin:12px 0;padding:18px}.history-item small,.history-item strong{display:block}.history-item small{color:var(--muted);margin-bottom:6px}.bottom{gap:16px}@media(max-width:650px){.card-grid{grid-template-columns:repeat(6,1fr);gap:7px}.spread{grid-template-columns:1fr}.spread article{padding:20px}.spread img{max-width:140px}.journey h1{font-size:28px}}
.admin-form{max-width:500px}.admin-form label{display:block;margin:18px 0}.admin-form input,select{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid var(--line);border-radius:8px;background:#231a2f;color:white}form>label{display:block;margin:15px 0}.ai-answer p{white-space:pre-wrap}.ai-answer{padding:24px;border:1px solid var(--line);border-radius:14px;margin-top:24px}
.checkout-products{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:25px 0}.checkout-panel{padding:24px;border:1px solid var(--line);border-radius:14px;background:#231a2f}.checkout-panel button{margin:8px 8px 8px 0}@media(max-width:650px){.checkout-products{grid-template-columns:1fr}}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:22px 0}.admin-tabs button{border:1px solid var(--line);padding:9px 13px}.admin-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px}.admin-record{margin:15px 0;overflow-wrap:anywhere}.admin-record h2{margin-top:0}.admin-record button{margin:8px}.admin-form textarea{min-height:140px}.admin-form input[readonly]{opacity:.65}

nav #header-points{color:var(--gold);border:1px solid var(--line);border-radius:20px;padding:5px 12px;white-space:nowrap}header nav{flex-wrap:wrap}
/* Celestial theme: responsive layout, functional controls stay in the DOM. */
body{background:#0b0a18;color:#f8f2ff}header,main,footer{max-width:1440px}header{padding:20px 40px;background:#080813;border-bottom:1px solid #76608266}.brand{display:flex;align-items:center;gap:14px;font-size:20px;letter-spacing:4px;color:#f0d39a}.compass{display:inline-grid;place-items:center;width:42px;height:42px;border:1px solid #dec18a;border-radius:50%;font-size:42px;font-family:Georgia;line-height:1}header nav{gap:25px}header nav a{border-bottom:2px solid #e8c578;padding:8px 10px}main{padding:0}.preview{position:absolute;left:-9999px}.hero{position:relative;isolation:isolate;grid-template-columns:minmax(0,1.5fr) minmax(370px,1fr);gap:28px;padding:32px 40px 30px;background:linear-gradient(90deg,#09081533,#09081522 50%,#100c2088),url('/celestial-night.png') center 60%/cover;min-height:620px}.scene{border:0;border-radius:0;background:none;min-height:540px;display:block;padding:65px 0;overflow:visible}.scene .copy{z-index:3;max-width:390px}.copy .eyebrow{font-size:11px;letter-spacing:5px;color:#eee7ff}.copy h1{font-size:clamp(38px,4vw,58px);line-height:1.07;letter-spacing:-1px;margin:14px 0 24px;text-shadow:0 3px 18px #080714}.copy h1 em{color:#c9acec}.copy p:last-child{font-size:17px;line-height:1.5;color:#e0d5ef;text-shadow:0 2px 8px #000}.scene img{position:absolute;right:5%;top:100px;width:clamp(160px,18vw,240px);transform:rotate(14deg);filter:drop-shadow(0 0 28px #ce9e7066);z-index:2;animation:celestial-float 7s ease-in-out infinite}.orbit{left:auto;right:-3%;top:170px;width:300px;height:180px;border:2px solid #efd28d;transform:rotate(-35deg);box-shadow:0 0 16px #e8bc89aa,inset 0 0 12px #ba87ed55;z-index:2;animation:celestial-glow 5s ease-in-out infinite}.orbit:after{left:82%;top:8px;text-shadow:0 0 14px #fff}.scene>button{right:auto;left:0;bottom:4px;background:#0e0a1888}.reading{align-self:center;padding:26px;border:1px solid #ad8dc0;border-radius:16px;background:linear-gradient(135deg,#43304de0,#151428eb);box-shadow:inset 0 1px 5px #dfb8f733,0 10px 40px #0005;backdrop-filter:blur(12px)}.reading h2{font-size:31px;margin:0 0 16px;font-weight:400}.steps{font-size:11px;letter-spacing:0;justify-content:center;gap:24px;margin:14px 0 24px}.steps b{color:#f2d38b}.topics{margin:0 0 18px;gap:10px}.topics button{border:1px solid #736087;background:#12112366;border-radius:8px;font-size:29px;padding:7px 5px;line-height:1.4}.topics span{font-size:11px;line-height:1.25;min-height:28px}.topics .selected{border-color:#f2d382;background:#241d3188;box-shadow:0 0 12px #dfaf4822}.reading label small{display:none}.reading textarea{background:linear-gradient(130deg,#51436288,#2e2b4388);border-color:#82718e;min-height:100px;font-size:12px;margin-top:4px}.reading textarea::placeholder{color:#c5bbd8}.count{margin-top:-24px;margin-right:9px;position:relative;pointer-events:none;margin-bottom:22px}.gold{background:linear-gradient(#f7dd93,#c99f50);color:#18101e;border:1px solid #eccb7f;box-shadow:0 3px 12px #0002}.reading .gold{height:46px}.google-button{margin-top:12px;width:100%;background:#fff;color:#191524;border-radius:7px;padding:8px;font-weight:500}.google-button span{color:#4285f4;font-weight:800;font-size:22px;margin-right:9px}.hint{color:#cbc1dc;margin:9px 0}.privacy{display:block;text-align:center;font-size:10px}.how{padding:0 40px 24px;background:linear-gradient(#101021bb,#18152bb8),url('/celestial-night.png') center 72%/cover;border-bottom:1px solid #b7956177}.reflection-note{font-size:11px;margin:0 -40px;padding:15px;border-bottom:1px solid #b7956177;color:#d4c9e0}.how h2{font-size:28px;margin:20px 0}.three{margin:16px 0 0;gap:30px;text-align:left}.three article{position:relative;border:0;padding:0 0 0 83px;min-height:76px}.three span{position:absolute;left:0;top:3px;width:64px;height:64px;border:1px solid #e9cb8c;border-radius:50%;display:grid;place-items:center;font-size:34px}.three h3{font:18px Georgia;margin:8px 0;color:#f3dfb8}.three p{margin:4px 0;color:#cfc4de;font-size:12px}.bottom{display:grid;grid-template-columns:1fr 1fr;padding:0;gap:0;border:0;border-radius:0;background:linear-gradient(#090817c9,#0c0b1bb0),url('/celestial-night.png') center bottom/cover;border-bottom:1px solid #b7956177}.bottom article{position:relative;overflow:hidden;padding:32px 40px 24px 140px;min-height:200px}.bottom article+article{border-left:1px solid #b7956177;padding-left:38px;padding-right:130px}.bottom h2{font-size:25px;position:relative;z-index:1}.bottom p{font-size:13px;position:relative;z-index:1}.bottom button{min-width:235px;position:relative;z-index:1}.bottom .payment-note{font-size:10px}.promo-orb,.promo-moon{position:absolute;color:#e3c183;text-shadow:0 0 25px #bf86ef;pointer-events:none}.promo-orb{left:15px;top:35px;font-size:100px}.promo-moon{right:25px;top:15px;font-size:130px}footer{padding:20px 40px;background:#090815;flex-wrap:wrap;gap:22px}.journey{padding:35px 40px}.bottom #promo-invite{border-color:#dcc18d}.brand span.compass{font-size:36px}.scene.paused img,.scene.paused .orbit{animation-play-state:paused!important}@keyframes celestial-float{50%{transform:translateY(-12px) rotate(10deg)}}@keyframes celestial-glow{50%{opacity:.55;filter:drop-shadow(0 0 12px #f5d387)}}
@media(min-width:1100px){.scene .copy{max-width:360px}.scene img{right:0;top:140px}.scene .orbit{right:-35px;top:215px}.copy p:last-child{max-width:315px}}
@media(max-width:1000px){header{padding:18px 24px}.hero{grid-template-columns:minmax(0,1fr) minmax(330px,1fr);padding:25px;gap:15px}.copy h1{font-size:38px}.scene img{right:0;top:260px;width:160px}.orbit{top:310px;right:-15px;width:200px;height:125px}.scene .copy{max-width:100%}.bottom article{padding-left:35px}.promo-orb{opacity:.15}.bottom article+article{padding-right:35px}.promo-moon{opacity:.2}}
@media(max-width:700px){header{display:block;padding:16px 20px 0}.brand{font-size:17px;letter-spacing:3px}.compass{width:35px;height:35px}header nav{justify-content:space-between;gap:8px;margin-top:14px;font-size:12px;padding:5px 0}.hero{display:flex;flex-direction:column;padding:0 16px 20px;gap:5px;background-position:35% top}.scene{width:100%;min-height:345px;padding:170px 5px 0}.scene img{width:145px;top:16px;right:20%;}.orbit{top:85px;right:14%;width:220px;height:90px}.scene .copy{max-width:100%;}.copy h1{font-size:36px;margin:8px 0 12px}.copy p:last-child{font-size:14px;margin:0 0 18px}.copy .eyebrow{font-size:9px;letter-spacing:3px}.scene>button{bottom:auto;top:14px;left:0;font-size:9px;opacity:.8}.reading{width:100%;padding:20px 16px;border-radius:12px}.reading h2{font-size:27px}.steps{gap:18px}.topics span{font-size:10px}.how{padding:0 18px 22px}.reflection-note{margin:0 -18px;font-size:10px;padding:14px 24px}.how h2{font-size:25px}.three{grid-template-columns:1fr;gap:18px}.three article{padding-left:72px}.three span{width:52px;height:52px;font-size:28px}.bottom{grid-template-columns:1fr}.bottom article,.bottom article+article{border-left:0;padding:26px 24px;min-height:180px}.bottom article+article{border-top:1px solid #b7956177}.bottom button{width:100%;margin:0}.bottom h2{font-size:24px}.journey{padding:25px 16px}footer{padding:22px 18px;font-size:10px;gap:16px}footer .brand{width:100%}}
@media(prefers-reduced-motion:reduce){.scene img,.orbit{animation:none}}
.bottom>button{grid-column:1/-1;justify-self:center;margin:12px}.hero .scene .copy{pointer-events:none}
@media(max-width:700px){.scene img{width:125px;top:10px}.orbit{top:65px}}

.scene img{border-radius:13px;clip-path:inset(3% 7% round 12px)}

.scene img{clip-path:none;border-radius:12px}

/* Large celestial rings centered on the hero card. */
.hero{overflow:hidden}.scene .orbit{left:auto;right:calc(5% + clamp(80px,9vw,120px) - 210px);top:calc(100px + clamp(120px,13.5vw,180px) - 210px);width:420px;height:420px;border:0;box-shadow:none;transform:none;animation:none;pointer-events:none;z-index:2;background:radial-gradient(circle,#efb75508 30%,#b789dc22 48%,transparent 70%)}
.scene .orbit:after{display:none}.orbit-ring{position:absolute;inset:0;border-radius:50%;border:1px solid #f8d58a88;box-shadow:0 0 20px #edb65c55,inset 0 0 16px #cc98ea33;animation:grand-orbit-spin 18s linear infinite}.orbit-ring:before,.orbit-ring:after{content:'';position:absolute;border-radius:50%;width:9px;height:9px;background:#fff3c5;top:50%;left:-5px;box-shadow:0 0 8px 3px #ffd987,0 0 26px 8px #e8a64b88}.orbit-ring:after{left:auto;right:-4px;width:5px;height:5px;top:50%;background:#ead9ff;box-shadow:0 0 14px 4px #c896ff}.ring-one{border-top:3px solid #ffe5ac;border-left-color:transparent;animation-duration:12s}.ring-two{inset:25px;border:1px dashed #f7d99999;animation-direction:reverse;animation-duration:24s;box-shadow:0 0 0 7px #ddae5510}.ring-three{inset:55px -22px;border:2px solid #ffe6a0;border-bottom-color:#f0c57922;transform:rotate(-30deg);animation:grand-orbit-tilt 15s linear infinite;box-shadow:0 0 15px #ffce79aa,inset 0 0 9px #ffce7944}.orbit-stars{position:absolute;inset:0;display:grid;place-items:start center;font-size:25px;color:#ffe5a3;text-shadow:0 0 8px #fff,0 0 22px #efb454;animation:grand-orbit-spin 30s linear infinite}.scene>button{z-index:5}.scene.paused .orbit *,.scene.paused .orbit *:before,.scene.paused .orbit *:after{animation-play-state:paused!important}
@keyframes grand-orbit-spin{to{transform:rotate(360deg)}}@keyframes grand-orbit-tilt{from{transform:rotate(-30deg) scaleY(.65)}to{transform:rotate(330deg) scaleY(.65)}}
@media(max-width:700px){.scene .orbit{width:245px;height:245px;right:calc(20% + 62.5px - 122.5px);top:-19px}.ring-two{inset:16px}.ring-three{inset:35px -10px}.orbit-stars{font-size:19px}.scene{padding-top:210px;min-height:385px}}
@media(prefers-reduced-motion:reduce){.orbit *,.orbit *:before,.orbit *:after{animation:none!important}}

.reading{position:relative;z-index:4}
@media(min-width:1100px){.scene .orbit{right:calc(clamp(80px,9vw,120px) - 210px);top:calc(140px + clamp(120px,13.5vw,180px) - 210px)}}
@media(min-width:701px) and (max-width:1000px){.scene .orbit{width:320px;height:320px;right:-80px;top:220px}}

.invitation-dialog{max-width:570px;padding:30px;background:linear-gradient(135deg,#30213e,#171326)}.invitation-dialog h2{color:#f1d39a;margin-top:0}.invite-rules{font-size:13px;line-height:1.7}.invite-mode{font-size:12px;color:#e8c682}.invite-stats{display:flex;justify-content:space-between;gap:16px;padding:18px 0;margin:15px 0;border-block:1px solid #76608266;color:#f4d690}.invitation-dialog input{display:block;width:100%;margin:8px 0 16px;padding:13px;border:1px solid #77618c;border-radius:8px;background:#0e0b19;color:#eee;font-size:14px}.invite-actions{display:flex;gap:12px}.invite-actions button{flex:1}.invite-status{min-height:22px;font-size:13px;color:#e8d8b2}

.topup-choices{display:flex;flex-wrap:wrap;gap:10px;margin:16px 0}.topup-choices button{flex:1;min-width:70px}.checkout-panel input[type=number]{display:block;width:100%;max-width:320px;background:#130e1e;color:#fff;border:1px solid #77618c;border-radius:9px;padding:12px;margin:8px 0;font:inherit}

.order-pagination{display:flex;align-items:center;justify-content:center;gap:18px;margin:22px 0}.order-pagination button:disabled{opacity:.35;cursor:default}
