:root{--bg:#0d0a14;--bg-deep:#07050c;--surface:#17111f;--surface-2:#211829;--line:#d6ba8538;--line-strong:#d6ba8580;--gold:#d6ba85;--gold-soft:#efe0c0;--plum:#4a2a5e;--plum-glow:#7b48a059;--text:#ece6f2;--text-muted:#a99db6;--danger:#e08b8b;--radius:14px;--serif:var(--font-serif), "Hiragino Mincho ProN", "Yu Mincho", serif;--sans:var(--font-sans), "Hiragino Sans", "Yu Gothic", sans-serif}*,:before,:after{box-sizing:border-box}html{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;scroll-behavior:smooth}body{background:radial-gradient(1200px 600px at 80% -10%, var(--plum-glow), transparent 60%), radial-gradient(900px 500px at -10% 30%, #4a2a5e40, transparent 60%), var(--bg);color:var(--text);font-family:var(--sans);letter-spacing:.04em;-webkit-font-smoothing:antialiased;background-attachment:fixed;margin:0;font-size:15px;line-height:1.9}a{color:var(--gold)}h1,h2,h3{font-family:var(--serif);margin:0;font-weight:500;line-height:1.5}.container{width:100%;max-width:1080px;margin:0 auto;padding:0 16px}.narrow{max-width:720px}.site-header{z-index:10;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);background:#0d0a14bf;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:60px;display:flex}.logo{font-family:var(--serif);color:var(--gold-soft);letter-spacing:.12em;font-size:17px;text-decoration:none}.logo small{letter-spacing:.3em;color:var(--gold);font-size:9px;line-height:1;display:block}.nav{gap:20px;font-size:13px;display:flex}.nav a{color:var(--text-muted);text-decoration:none}.nav a:hover{color:var(--gold-soft)}@media (max-width:640px){.nav .nav-hide-sm{display:none}}.site-footer{border-top:1px solid var(--line);background:var(--bg-deep);color:var(--text-muted);margin-top:96px;padding:40px 0 32px;font-size:12px}.site-footer nav{flex-wrap:wrap;gap:8px 24px;margin-bottom:20px;display:flex}.site-footer nav a{color:var(--text-muted);text-decoration:none}.disclaimer{opacity:.85;font-size:11px;line-height:1.8}.eyebrow{font-family:var(--serif);color:var(--gold);letter-spacing:.4em;text-transform:uppercase;font-size:11px}.section{padding:88px 0 0}.section-head{text-align:center;margin-bottom:40px}.section-head h2{color:var(--gold-soft);margin-top:8px;font-size:clamp(22px,4vw,30px)}.section-head p{color:var(--text-muted);max-width:560px;margin:12px auto 0}.ornament{background:linear-gradient(90deg, transparent, var(--gold), transparent);width:64px;height:1px;margin:18px auto 0;display:block}.btn{border:1px solid var(--gold);color:#1a1020;font-family:var(--serif);letter-spacing:.1em;cursor:pointer;background:linear-gradient(135deg,#e2c995,#b8945a);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:16px 36px;font-size:16px;text-decoration:none;transition:transform .2s,box-shadow .2s,opacity .2s;display:inline-flex;box-shadow:0 8px 30px #d6ba852e}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 36px #d6ba854d}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-ghost{color:var(--gold-soft);box-shadow:none;background:0 0}.btn-ghost:hover{background:#d6ba8514}.card{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--line);border-radius:var(--radius);padding:28px}.grid{gap:20px;display:grid}.grid-3{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.muted{color:var(--text-muted)}.center{text-align:center}.hero{text-align:center;padding:96px 0 72px;position:relative;overflow:hidden}.hero:before{content:"";aspect-ratio:1;border:1px solid var(--line);pointer-events:none;border-radius:50%;width:min(520px,90vw);position:absolute;top:40px;left:50%;transform:translate(-50%);box-shadow:0 0 0 40px #d6ba8506,0 0 0 90px #d6ba8505}.moon{width:56px;height:56px;box-shadow:inset -14px 4px 0 0 var(--gold-soft);filter:drop-shadow(0 0 18px #efe0c073);border-radius:50%;margin:0 auto 28px}.hero h1{color:var(--gold-soft);letter-spacing:.12em;margin:16px 0 24px;font-size:clamp(30px,7vw,54px);position:relative}.hero h1 em{color:var(--gold);font-style:normal}.hero p{color:var(--text-muted);max-width:520px;margin:0 auto 36px;position:relative}.hero .note{color:var(--text-muted);margin-top:14px;font-size:12px;display:block}.worry{text-align:center;padding:32px 24px}.worry .icon{color:var(--gold);font-size:22px}.worry h3{color:var(--gold-soft);margin:12px 0 6px;font-size:17px}.worry p{color:var(--text-muted);margin:0;font-size:14px}.steps{counter-reset:step}.step{padding-top:40px;position:relative}.step:before{counter-increment:step;content:"0" counter(step);font-family:var(--serif);color:var(--gold);letter-spacing:.2em;font-size:13px;position:absolute;top:18px;left:28px}.step h3{color:var(--gold-soft);margin-bottom:6px;font-size:17px}.step p{color:var(--text-muted);margin:0;font-size:14px}.check-list{margin:0;padding:0;list-style:none}.check-list li{margin:6px 0;padding-left:22px;position:relative}.check-list li:before{content:"✦";color:var(--gold);font-size:11px;position:absolute;top:3px;left:0}.price-card{flex-direction:column;gap:14px;display:flex}.price-card.featured{border-color:var(--line-strong);box-shadow:0 0 60px var(--plum-glow)}.price-card h3{color:var(--gold-soft);font-size:19px}.price{font-family:var(--serif);color:var(--gold);font-size:30px}.price small{color:var(--text-muted);margin-left:4px;font-size:13px}.badge{letter-spacing:.15em;border:1px solid var(--gold);color:var(--gold);border-radius:999px;align-self:flex-start;padding:2px 12px;font-size:11px}.faq details{border-bottom:1px solid var(--line);padding:18px 4px}.faq summary{cursor:pointer;font-family:var(--serif);color:var(--gold-soft);list-style:none}.faq summary:before{content:"Q. ";color:var(--gold)}.faq details p{color:var(--text-muted);margin:10px 0 0;font-size:14px}.form-step{margin-bottom:28px}.form-step .eyebrow{margin-bottom:4px;display:block}.form-step>h2{color:var(--gold-soft);margin-bottom:20px;font-size:20px}.field{margin-bottom:26px}.field>label,.field>legend{color:var(--text);margin-bottom:10px;padding:0;font-size:14px;display:block}.field .optional{color:var(--text-muted);margin-left:6px;font-size:11px}fieldset.field{border:0;margin-inline:0;padding:0}.choices{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px;display:grid}.choice{position:relative}.choice input{opacity:0;pointer-events:none;position:absolute}.choice span{border:1px solid var(--line);color:var(--text-muted);cursor:pointer;background:#ffffff05;border-radius:10px;padding:12px 16px;font-size:14px;transition:all .15s;display:block}.choice input:checked+span{border-color:var(--gold);color:var(--gold-soft);background:#d6ba851a}.choice input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}.input,.textarea{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;background:#ffffff08;border-radius:10px;padding:12px 14px}.input:focus,.textarea:focus{border-color:var(--gold);outline:none}.textarea{resize:vertical;min-height:120px}.hint{color:var(--text-muted);margin-top:6px;font-size:12px}.error{color:var(--danger);margin:12px 0;font-size:14px}.progress{gap:8px;margin-bottom:36px;display:flex}.progress span{background:var(--line);border-radius:3px;flex:1;height:3px}.progress span.on{background:var(--gold)}.form-actions{flex-wrap:wrap;justify-content:space-between;gap:12px;display:flex}.loading{text-align:center;padding:80px 0}.loading .orb{background:radial-gradient(circle at 35% 30%, var(--gold-soft), var(--plum) 60%, transparent 72%);border-radius:50%;width:90px;height:90px;margin:0 auto 28px;animation:2.4s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:.75;transform:scale(.94)}50%{opacity:1;transform:scale(1.05)}}@media (prefers-reduced-motion:reduce){.loading .orb{animation:none}}.result-hero{text-align:center;padding:56px 0 32px}.result-hero h1{color:var(--gold-soft);margin-top:10px;font-size:clamp(24px,5vw,34px)}.score{flex-direction:column;align-items:center;gap:4px;display:flex}.score .num{font-family:var(--serif);color:var(--gold);font-size:56px;line-height:1}.score .num small{font-size:18px}.meter{background:var(--line);border-radius:4px;width:100%;max-width:320px;height:4px;margin:12px 0 6px;overflow:hidden}.meter i{background:linear-gradient(90deg, var(--plum), var(--gold));height:100%;display:block}.tarot{align-items:center;gap:20px;display:flex}.tarot-card{border:1px solid var(--gold);background:radial-gradient(circle at 50% 40%, #d6ba8559, transparent 55%), linear-gradient(160deg, var(--plum), var(--bg-deep));width:72px;height:116px;font-family:var(--serif);color:var(--gold-soft);writing-mode:vertical-rl;letter-spacing:.3em;border-radius:8px;flex:none;justify-content:center;align-items:center;font-size:13px;display:flex}.tarot-card.reversed{transform:rotate(180deg)}.reading-section h2{color:var(--gold-soft);margin-bottom:10px;font-size:18px}.reading-section p{white-space:pre-wrap;margin:0}.care{border-color:#e08b8b66}.cta-box{text-align:center;border-color:var(--line-strong);box-shadow:0 0 80px var(--plum-glow);padding:44px 24px}.cta-box h2{color:var(--gold-soft);margin:8px 0 12px;font-size:22px}.legal h1{color:var(--gold-soft);margin:56px 0 32px;font-size:26px}.legal h2{color:var(--gold-soft);margin:32px 0 8px;font-size:17px}.legal table{border-collapse:collapse;width:100%;font-size:14px}.legal th,.legal td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:14px 10px}.legal th{width:34%;color:var(--gold-soft);font-weight:500}@media (max-width:560px){.legal th,.legal td{width:100%;display:block}.legal th{border-bottom:0;padding-bottom:0}}.placeholder{color:var(--danger)}.report-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:32px 0 8px;display:flex}.report-sheet{background:linear-gradient(180deg, var(--surface-2), var(--surface));border:1px solid var(--line-strong);border-radius:var(--radius);padding:8px clamp(20px,5vw,56px) 40px}.report-opening{white-space:pre-wrap;margin:0 0 32px}.report-fortune{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:24px;padding:20px 0;display:flex}.report-fortune dl{grid-template-columns:auto 1fr;gap:4px 16px;margin:0;font-size:14px;display:grid}.report-fortune dt{color:var(--text-muted)}.report-fortune dd{color:var(--gold-soft);margin:0}.report-section{padding-top:36px}.report-section h2{color:var(--gold-soft);margin:4px 0 14px;font-size:20px}.report-section p{white-space:pre-wrap;margin:0}.report-section.care{border-top:1px solid #e08b8b66;margin-top:32px}.report-footer{border-top:1px solid var(--line);color:var(--text-muted);text-align:center;margin-top:48px;padding-top:20px;font-size:11px}.report-footer p{margin:4px 0}@media print{@page{size:A4;margin:18mm 16mm}:root{--text:#2a2230;--text-muted:#6b6072;--gold:#9a7a3f;--gold-soft:#4a2a5e;--line:#9a7a3f59;--line-strong:#9a7a3f99}body{background:#fff;font-size:11pt}.site-header,.site-footer,.no-print{display:none!important}.report-sheet{background:0 0;border:0;padding:0}.report-section{break-inside:avoid-page}.report-section h2{break-after:avoid}.tarot-card{-webkit-print-color-adjust:exact;print-color-adjust:exact;color:#efe0c0}}.progress-meter{text-align:center;padding:64px 0 24px}.progress-meter .orb{background:radial-gradient(circle at 35% 30%, var(--gold-soft), var(--plum) 60%, transparent 72%);border-radius:50%;width:90px;height:90px;margin:0 auto 24px;animation:2.4s ease-in-out infinite pulse}.progress-status{font-family:var(--serif);color:var(--gold-soft);max-width:520px;min-height:3em;margin:0 auto 8px;font-size:17px}.meter-track{background:var(--line);border-radius:6px;max-width:480px;height:6px;margin:0 auto;overflow:hidden}.meter-track i{background:linear-gradient(90deg, var(--plum), var(--gold));border-radius:6px;height:100%;transition:width .8s ease-out;display:block;box-shadow:0 0 12px #d6ba8580}.meter-percent{font-family:var(--serif);color:var(--gold);margin:10px 0 28px;font-size:22px}.chapter-list{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:#ffffff05;max-width:480px;margin:0 auto 24px;padding:20px 24px;font-size:14px;list-style:none}.chapter-list li{color:var(--text-muted);opacity:.55;gap:10px;padding:4px 0;transition:opacity .4s,color .4s;display:flex}.chapter-list li.done{opacity:1}.chapter-list li.writing{opacity:1;color:var(--gold-soft)}.chapter-list .mark{width:1em;color:var(--gold);flex:none}.chapter-list li.writing .mark{animation:1.6s ease-in-out infinite pulse}@media (prefers-reduced-motion:reduce){.progress-meter .orb,.chapter-list li.writing .mark{animation:none}}
