@charset "UTF-8";
:root{color-scheme:dark;--ink:#eee9f5;--muted:#aaa3bb;--gold:#e9cd94;--border:#ffffff16;--paper:#1d1b33;--serif:"Noto Serif SC","Songti SC","SimSun",serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;color:var(--ink);font-family:"Microsoft YaHei","PingFang SC",sans-serif;background:radial-gradient(ellipse at 72% 5%,#37305270,transparent 34%),radial-gradient(ellipse at 0 45%,#3e284245,transparent 32%),#131326;font-size:14px;line-height:1.7}button,input,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:5px}input:focus,select:focus{outline:1px solid var(--gold);border-color:var(--gold)}[hidden]{display:none!important}.sky{position:absolute;inset:0 0 auto;height:850px;pointer-events:none;overflow:hidden;z-index:-1}.sky i{position:absolute;width:2px;height:2px;background:#e4d7f5;border-radius:50%;animation:twinkle 4s ease-in-out infinite;box-shadow:0 0 7px #f7dca866}.header{height:104px;max-width:1240px;padding:0 32px;margin:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border)}.brand{display:flex;gap:14px;align-items:center;font-family:var(--serif);font-size:23px;letter-spacing:3px}.brand-moon{font-size:43px;color:var(--gold);font-family:serif;line-height:1}.brand small{display:block;font-family:Arial,sans-serif;font-size:8px;letter-spacing:3px;color:var(--muted);margin-top:3px}.header nav{display:flex;gap:30px;align-items:center;color:#c2b9d0;font-size:12px}.text-button{border:0;background:none;padding:0;color:inherit}#history-count{display:inline-flex;border:1px solid #756582;border-radius:50%;width:20px;height:20px;justify-content:center;align-items:center;font-size:10px;margin-left:4px}main{max-width:1176px;margin:auto}.hero{min-height:630px;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:30px}.eyebrow{color:var(--gold);font-size:10px;letter-spacing:3px;text-transform:uppercase;display:flex;gap:12px;align-items:center}.eyebrow>span{height:1px;background:var(--gold);width:30px}.hero h1{font-family:var(--serif);font-size:clamp(40px,4.2vw,64px);line-height:1.55;letter-spacing:3px;font-weight:400;margin:20px 0}.hero h1 em{font-style:normal;color:var(--gold)}.hero-description{color:var(--muted);font-size:14px;line-height:2.2;letter-spacing:1px;margin:0 0 30px}.gold-button{display:inline-flex;justify-content:center;align-items:center;gap:34px;border:1px solid #f0d8aa;background:linear-gradient(120deg,#f1d8ab,#d8b67d);color:#342638;padding:13px 25px;border-radius:5px;font-weight:600;box-shadow:0 5px 30px #d3ad6a13;transition:transform .2s,box-shadow .2s}.gold-button:hover{transform:translateY(-2px);box-shadow:0 6px 26px #e7c68c29}.hero-note{color:#90859f;font-size:11px;margin-top:22px;letter-spacing:2px}.hero-note>span{color:var(--gold);margin-right:9px}.hero-art{position:relative;display:flex;flex-direction:column;align-items:center;isolation:isolate}.illustration{width:100%;max-width:510px;filter:drop-shadow(0 20px 60px #a18ac82a);animation:float 7s ease-in-out infinite;z-index:1}.orbit{position:absolute;border:1px solid #c8a4e528;border-radius:50%;width:90%;aspect-ratio:1;top:-1%;transform:rotate(-20deg);z-index:-1}.orbit-two{width:79%;top:5%;border-style:dashed;animation:orbit 100s linear infinite}.orbit-star{position:absolute;color:var(--gold);font-family:serif;font-size:40px}.star-one{left:4%;top:12%;animation:twinkle 5s ease-in-out infinite}.star-two{right:0;top:50%;font-size:30px}.character-note{text-align:center;color:#b9adc9;font-size:11px;z-index:2;margin-top:-12px}.character-note b{display:block;color:var(--gold);font-size:12px;font-weight:400;letter-spacing:2px;margin-bottom:4px}.atelier{padding:26px 0 60px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:25px}.section-heading h2{font-family:var(--serif);font-size:25px;letter-spacing:1px;font-weight:400;margin:12px 0 0}.open-badge{color:#b4a2c5;font-size:11px;border:1px solid var(--border);border-radius:30px;padding:5px 12px;white-space:nowrap}.mode-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:22px}.mode-tabs button{text-align:left;display:grid;grid-template-columns:45px 1fr;align-items:center;column-gap:10px;background:#1e1c325e;border:1px solid var(--border);border-radius:10px;padding:23px 22px;transition:background .25s,border-color .25s,transform .25s}.mode-tabs button:hover{transform:translateY(-3px);background:#29243d}.mode-tabs button.selected{background:linear-gradient(120deg,#3d3148,#272137);border-color:#a88a62}.mode-icon{font-family:serif;color:#cab0dc;font-size:36px;line-height:1}.selected .mode-icon{color:var(--gold)}.mode-tabs b{display:block;font-size:17px;font-weight:400;letter-spacing:2px}.mode-tabs small{display:block;font-size:8px;color:#998ba8;letter-spacing:1.5px;margin-top:4px}.mode-tabs em{grid-column:1/-1;font-style:normal;color:var(--muted);font-size:11px;margin-top:17px}.workbench{display:grid;grid-template-columns:1fr 1fr;background:#1a182dc9;border:1px solid var(--border);border-radius:15px;overflow:hidden;box-shadow:0 20px 90px #0002}.form-panel{padding:35px;border-right:1px solid var(--border)}.step-title{display:flex;gap:15px;align-items:start;margin-bottom:24px}.step-title>span{font-size:22px;color:var(--gold);margin-top:1px}.step-title h3{font-size:19px;font-family:var(--serif);font-weight:400;letter-spacing:1px;margin:0 0 8px}.step-title p{color:var(--muted);font-size:11px;margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-panel label{font-size:12px;display:block;color:#c7bfd2}.optional{color:#80788e;font-size:10px;margin-left:5px}input:not([type=radio]):not([type=checkbox]),select{width:100%;background:#131225;border:1px solid #ffffff1a;border-radius:5px;color:#e6dfec;padding:11px 12px;margin:8px 0 15px;min-height:44px}input::placeholder{color:#635c74}select{cursor:pointer}fieldset{border:0;padding:0;margin:12px 0 20px;min-width:0}legend{font-size:12px;color:#c7bfd2;margin:0 0 10px}.date-row{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:12px}.check-label{padding-top:34px}.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:8px 0 24px}.choices label{position:relative;text-align:center;border:1px solid #ffffff13;border-radius:6px;padding:15px 5px;background:#151326;cursor:pointer;transition:border-color .2s,background .2s}.choices label:has(input:checked){border-color:#a88a62;background:#3b2e3d}.choices label:has(input:focus-visible){outline:2px solid var(--gold)}.choices input{position:absolute;opacity:0;width:1px;height:1px}.choices label>span{display:block;color:#c6a8d8;font-size:25px;line-height:1.3;margin-bottom:10px}.choices b{display:block;font-size:11px;font-weight:400}.choices small{display:block;color:#8c819c;font-size:9px;margin-top:4px}.consent{display:flex!important;gap:8px;font-size:10px!important;line-height:1.8;color:#9d92ad!important;margin-bottom:20px;align-items:start}.consent input{margin:4px 0 0;accent-color:#b998cb;flex:none}.submit-button{width:100%;font-size:13px}.field-note{font-size:10px;line-height:1.8;color:#8b819b;margin:12px 0 0}.ritual-panel{position:relative;padding:28px 32px 25px;display:flex;flex-direction:column;align-items:center;background:radial-gradient(ellipse at 50% 40%,#68457630,transparent 65%);min-height:530px}.ritual-caption{width:100%;display:flex;justify-content:space-between;color:#8e7ca0;font-size:8px;letter-spacing:2px}.ritual-caption>span:last-child{font-size:20px;line-height:1}.ritual-stage{width:100%;height:280px;display:flex;align-items:center;justify-content:center;position:relative;margin-top:10px}.tarot-deck{display:flex;gap:13px;justify-content:center;perspective:1000px;width:100%}.tarot-card{width:27%;max-width:122px;height:188px;border:0;background:none;padding:0;perspective:900px;transform:rotate(-6deg) translateY(8px);transition:transform .5s,filter .5s}.tarot-card:nth-child(2){transform:translateY(-8px)}.tarot-card:nth-child(3){transform:rotate(6deg) translateY(8px)}.tarot-card:disabled{opacity:1;cursor:default}.tarot-card:not(:disabled):hover{transform:translateY(-15px);filter:drop-shadow(0 0 10px #c8a1ff44)}.card-inner{position:relative;display:block;width:100%;height:100%;transform-style:preserve-3d;transition:transform .85s cubic-bezier(.2,.7,.2,1)}.flipped .card-inner{transform:rotateY(180deg)}.card-back,.card-front{position:absolute;inset:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;border:1px solid #b49bc3;border-radius:7px;box-shadow:0 12px 30px #0005}.card-back{background:repeating-linear-gradient(45deg,#ffffff02 0 1px,transparent 1px 13px),linear-gradient(160deg,#493556,#24203c);outline:1px solid #c2a57555;outline-offset:-8px}.card-back:before{content:"";position:absolute;width:65%;aspect-ratio:1;border:1px solid #cdb0835c;border-radius:50%}.card-back i{font-size:42px;font-style:normal;color:var(--gold);line-height:1}.card-back b{position:absolute;bottom:18px;font-size:10px;letter-spacing:4px;color:#baa1c8;font-weight:400}.card-front{transform:rotateY(180deg);background:radial-gradient(ellipse at 50% 25%,#fcf1d5,#d4bddc);color:#483550;outline:1px solid #77597977;outline-offset:-8px;padding:14px 6px}.card-front .card-symbol{font-size:38px;line-height:1.3;margin-bottom:13px;color:#77527e}.card-front b{font-size:14px;letter-spacing:2px}.card-front small{font-size:9px;margin-top:8px}.card-front .position{font-size:8px;letter-spacing:2px;position:absolute;top:13px}.ritual-panel h3{font-size:17px;font-family:var(--serif);font-weight:400;letter-spacing:2px;margin:0 0 12px}.ritual-panel>p{text-align:center;font-size:11px;color:var(--muted);line-height:1.9;margin:0}.reading-status{color:var(--gold)!important;min-height:32px;padding-top:10px;max-width:100%}.reading-status.error{color:#f0b5bc!important}.ritual-bottom{width:100%;display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);margin-top:auto;padding-top:18px;color:#71617e;font-size:14px}.ritual-bottom p{text-align:center;font-size:10px;line-height:1.9;margin:0}.birth-orbit{width:230px;height:230px;position:relative;display:none;align-items:center;justify-content:center}.birth-orbit>b{font-size:68px;color:#d1acd8;font-weight:400}.birth-ring{position:absolute;inset:0;border:1px solid #b9a07855;border-radius:50%}.birth-ring.inner{inset:25px;border-style:dashed;animation:orbit 45s linear infinite}.birth-ring:before,.birth-ring:after{content:"";position:absolute;inset:30px;border:1px solid #b9a07825;transform:rotate(45deg)}.birth-ring:after{transform:rotate(15deg)}.node{position:absolute;width:8px;height:8px;border:1px solid #cab6db;background:#4d395d;border-radius:50%}.n1{top:-3px;left:50%}.n2{top:25%;right:7%}.n3{bottom:25%;right:7%}.n4{bottom:-3px;left:50%}.n5{bottom:25%;left:7%}.n6{top:25%;left:7%}.generating .node,.complete .node{background:var(--gold);box-shadow:0 0 14px var(--gold);animation:twinkle 2s ease-in-out infinite}.n2{animation-delay:.3s!important}.n3{animation-delay:.6s!important}.n4{animation-delay:.9s!important}.n5{animation-delay:1.2s!important}.n6{animation-delay:1.5s!important}.sign-vessel{display:none;position:relative;width:135px;height:230px;padding-top:74px;transform-origin:50% 90%}.vessel{position:relative;height:150px;width:135px;background:linear-gradient(90deg,#674453,#95616b 50%,#573948);border:1px solid #cea887;border-radius:8px 8px 40px 40px;display:flex;flex-direction:column;align-items:center;box-shadow:inset 0 0 0 7px #36253b44,0 15px 40px #0004}.vessel>span{position:absolute;top:12px;color:#b99a83;font-family:var(--serif);font-size:12px}.vessel b{font-family:var(--serif);font-size:25px;color:#f1d8a6;letter-spacing:6px;font-weight:400;margin-top:39px}.vessel small{font-size:8px;color:#bba193;margin-top:8px;letter-spacing:3px}.sticks{position:absolute;inset:0 8px auto;height:150px;display:flex;justify-content:center;align-items:end;gap:6px;transform:rotate(5deg)}.sticks i{display:block;background:linear-gradient(90deg,#ad865c,#e6c796,#b2946a);height:130px;width:13px;border-radius:3px;transform:rotate(-9deg)}.sticks i:nth-child(2){height:145px;transform:rotate(-4deg)}.sticks i:nth-child(3){height:155px;transform:rotate(1deg)}.sticks i:nth-child(4){height:142px;transform:rotate(10deg)}.sticks i:nth-child(5){height:125px;transform:rotate(13deg)}[data-mode=birth] .tarot-deck,[data-mode=daily] .tarot-deck{display:none}[data-mode=birth] .birth-orbit,[data-mode=daily] .sign-vessel{display:flex}.sign-vessel{flex-direction:column}.generating[data-mode=daily] .sign-vessel{animation:shake .28s ease-in-out 6}.generating[data-mode=tarot] .tarot-card{animation:shuffle 1.3s ease-in-out 2}.generating[data-mode=tarot] .tarot-card:nth-child(2){animation-delay:.15s}.generating[data-mode=tarot] .tarot-card:nth-child(3){animation-delay:.3s}.complete .sign-vessel .sticks i:nth-child(3){transform:translateY(-22px) rotate(-3deg);transition:transform 1s}.reading-result{position:relative;border:1px solid #b6956355;background:radial-gradient(ellipse at 50% 0,#b48b5433,transparent 45%),#211c30;border-radius:15px;padding:35px 54px;text-align:center;animation:appear .7s ease-out;scroll-margin-top:25px}.result-heading{display:flex;justify-content:space-between;align-items:center}.result-heading>span{font-size:10px;color:#95859e}.result-heading .eyebrow{font-size:8px}.result-seal{font-size:45px;color:var(--gold);margin:25px 0 7px}.result-keyword{color:#b99acb;font-size:11px;letter-spacing:6px}.reading-result h2{font-family:var(--serif);font-size:38px;font-weight:400;letter-spacing:4px;color:#f3dfb8;margin:15px 0 20px}.result-summary{max-width:690px;margin:0 auto 25px;color:#c6b9d0;line-height:2.2;font-size:13px}.result-basis{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin:15px 0 35px}.result-basis span{font-size:10px;padding:5px 12px;border:1px solid #b294bf30;border-radius:4px;color:#bba3ca}.result-basis p{width:100%;font-size:10px;color:#84748e;margin:5px 0 0}.result-chapters{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;text-align:left;border-top:1px solid var(--border);padding-top:30px}.chapter small{color:#977ba8;font-family:serif;font-size:22px}.chapter h3{font-family:var(--serif);font-weight:400;color:#dfc8e8;font-size:17px;letter-spacing:1px}.chapter p{font-size:12px;color:#ac9cba;line-height:2}.little-task{display:flex;text-align:left;align-items:center;gap:20px;margin:28px 0 20px;padding:22px;background:#ffffff04;border:1px solid var(--border);border-radius:8px}.little-task>span{font-size:30px;color:var(--gold)}.little-task small{color:#927f9e;font-size:10px}.little-task p{font-size:13px;margin:5px 0;color:#d9c7e4}.lucky-color{margin-left:auto;flex:none;border-left:1px solid var(--border);padding-left:22px}.lucky-color b{display:block;color:var(--gold);font-size:13px;font-weight:400;margin-top:5px}.result-actions{display:flex;justify-content:center;gap:15px;margin:25px 0 5px}.outline-button{border:1px solid #b69bca55;color:#d9c2e4;padding:12px 22px;border-radius:5px;background:none}.outline-button:hover{background:#ffffff08}.closing{text-align:center;padding:90px 0 70px}.closing>span{color:var(--gold);font-size:30px}.closing p{font-family:var(--serif);font-size:22px;color:#b6a4c7;line-height:1.9;letter-spacing:2px}.closing small{font-size:8px;letter-spacing:3px;color:#6d607d}footer{border-top:1px solid var(--border);max-width:1240px;margin:auto;padding:30px 32px 40px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;color:#9e8daf;font-size:11px}footer>span{font-family:var(--serif);font-size:16px;letter-spacing:1px}footer small{font-family:sans-serif;font-size:9px;display:block;color:#6d607d;letter-spacing:1px;margin-top:4px}footer>div{display:flex;gap:22px;font-size:10px}dialog{background:#211b32;color:var(--ink);border:1px solid #a98ab555;border-radius:12px;width:min(92vw,600px);max-height:85vh;padding:25px;box-shadow:0 25px 100px #0008}dialog::backdrop{background:#090814cc;backdrop-filter:blur(5px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--border);padding-bottom:15px;margin-bottom:20px}.dialog-heading h2{font-family:var(--serif);font-size:23px;font-weight:400;margin:0}.dialog-heading button{border:0;background:none;font-size:26px;color:#bd9bca}#dialog-body p{font-size:12px;line-height:2;color:#b6a5c3}#dialog-body h3{font-size:14px;color:#dfc7ec;font-weight:400}.history-row{display:block;width:100%;background:#ffffff04;border:1px solid var(--border);padding:15px;margin-bottom:10px;border-radius:6px;text-align:left}.history-row b{display:block;font-weight:400;font-size:14px;color:var(--gold)}.history-row small{color:#a28baf;font-size:10px}.busy form{opacity:.7}.busy .mode-tabs{pointer-events:none}.busy #begin-reading{pointer-events:none}body.revealing .reading-result{display:none}
.poster-preview{display:block;max-width:100%;max-height:56vh;width:auto;height:auto;margin:0 auto 20px;border-radius:6px}#download-poster{display:flex;margin:0 auto;max-width:320px}
@keyframes twinkle{0%,100%{opacity:.35}50%{opacity:1}}@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes shuffle{0%,100%{filter:brightness(1)}50%{transform:translateY(-20px) rotate(0);filter:brightness(1.3)}}@keyframes shake{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}@keyframes appear{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:1500px){.hero{min-height:670px}}@media(max-width:1240px){main{margin:0 32px}.hero{min-height:580px}}@media(max-width:900px){.hero h1{font-size:43px}.hero{gap:15px;min-height:520px}.form-panel{padding:25px}.ritual-panel{padding:24px 20px}.mode-tabs button{padding:20px 15px;grid-template-columns:33px 1fr}.mode-icon{font-size:29px}.mode-tabs em{font-size:10px}.tarot-card{height:160px}.choices small{font-size:8px}.reading-result{padding:30px}.result-chapters{gap:20px}.header nav{gap:18px}}
@media(max-width:650px){.header{height:83px;padding:0 20px}.brand{font-size:18px;gap:8px;letter-spacing:2px}.brand small{font-size:6px;letter-spacing:2px}.brand-moon{font-size:34px}.header nav>a{display:none}.header nav{font-size:10px}.hero{grid-template-columns:1fr;gap:0;text-align:center;padding-top:44px}.hero-copy .eyebrow{justify-content:center;font-size:8px;letter-spacing:2px}.hero h1{font-size:42px;line-height:1.5;letter-spacing:2px;margin:20px 0}.hero-description{font-size:12px;margin-bottom:23px}.hero-note{font-size:9px;letter-spacing:1px}.hero-art{width:88%;max-width:380px;margin:45px auto 20px}.orbit{width:93%}.character-note{margin-top:-7px}.character-note span{font-size:10px}.character-note b{font-size:10px}.illustration{animation-duration:9s}main{margin:0 18px}.atelier{padding-top:35px;padding-bottom:35px}.section-heading{align-items:start}.section-heading h2{font-size:20px;max-width:245px;line-height:1.6}.section-heading .eyebrow{font-size:8px;letter-spacing:2px}.open-badge{font-size:8px;padding:4px 7px;margin-top:5px}.mode-tabs{gap:7px;margin-bottom:15px}.mode-tabs button{display:flex;flex-direction:column;text-align:center;padding:16px 4px 13px;gap:8px;border-radius:7px}.mode-tabs b{font-size:13px;letter-spacing:1px}.mode-icon{font-size:28px}.mode-tabs small{font-size:6px;letter-spacing:.4px;margin-top:5px}.mode-tabs em{display:none}.workbench{grid-template-columns:1fr}.form-panel{padding:23px 20px;border-right:0;border-bottom:1px solid var(--border)}.form-row{gap:12px}.choices{gap:8px}.choices small{font-size:8px}.ritual-panel{min-height:465px;padding:24px}.ritual-stage{height:260px}.tarot-card{height:177px;max-width:110px}.ritual-bottom{margin-top:18px}.ritual-panel h3{font-size:16px}.reading-result{padding:23px 20px}.result-heading{flex-direction:column;gap:5px}.reading-result h2{font-size:29px;letter-spacing:2px}.result-summary{font-size:12px;text-align:left}.result-chapters{grid-template-columns:1fr;gap:14px;text-align:left}.chapter h3{display:inline-block;margin:0 0 0 14px}.chapter p{margin:10px 0}.little-task{flex-wrap:wrap;gap:12px;padding:16px}.little-task>div:not(.lucky-color){flex:1;min-width:170px}.lucky-color{border-left:0;border-top:1px solid var(--border);width:100%;padding:10px 0 0;margin:0}.lucky-color b{display:inline;margin-left:10px}.result-actions{flex-direction:column}.closing{padding:55px 0}.closing p{font-size:19px}.closing small{font-size:6px;letter-spacing:2px}footer{padding:25px 20px 30px;gap:15px;justify-content:center;text-align:center}footer>div{gap:14px;flex-wrap:wrap;justify-content:center;font-size:9px}footer>small{width:100%}.sky{height:1000px}.sky i:nth-child(2n){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.illustration,.orbit{transform:none!important}}
