@import "https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;700&family=Noto+Serif+JP:wght@400;500;700&display=swap";:root{--bg-primary:#0a0a0f;--bg-secondary:#12121a;--bg-tertiary:#1a1a2e;--bg-card:#16162a;--bg-card-hover:#1e1e38;--gold-primary:gold;--gold-light:gold;--gold-dark:gold;--gold-glow:#ffd7004d;--gold-subtle:#ffd70014;--text-primary:#e8e8f0;--text-secondary:#fff;--text-muted:#fff;--border-color:#ffd70033;--border-subtle:#ffffff0f;--danger:#e74c3c;--success:#2ecc71;--shadow-gold:0 0 20px #ffd70026;--shadow-card:0 4px 24px #0006;--font-display:"Cinzel", "Noto Serif JP", serif;--font-body:"Noto Sans JP", sans-serif;--font-serif:"Noto Serif JP", serif;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--transition:.3s cubic-bezier(.4, 0, .2, 1)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.7}body:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20%,#ffd70008 0%,#0000 50%),radial-gradient(at 80% 20%,#6450c808 0%,#0000 50%),radial-gradient(at 50% 80%,#ffd70005 0%,#0000 50%),radial-gradient(1px 1px at 10% 15%,#dcdcf099 50%,#0000 50%),radial-gradient(2px 2px at 25% 8%,#c8c8dc66 50%,#0000 50%),radial-gradient(1px 1px at 40% 62%,#dcdcf080 50%,#0000 50%),radial-gradient(1.5px 1.5px at 55% 25%,#d2d2e666 50%,#0000 50%),radial-gradient(1px 1px at 72% 45%,#dcdcf099 50%,#0000 50%),radial-gradient(2px 2px at 85% 72%,#c8c8dc4d 50%,#0000 50%),radial-gradient(1px 1px at 15% 82%,#dcdcf080 50%,#0000 50%),radial-gradient(1.5px 1.5px at 62% 92%,#d2d2e666 50%,#0000 50%),radial-gradient(1px 1px at 92% 18%,#dcdcf099 50%,#0000 50%),radial-gradient(2px 2px at 35% 38%,#c8c8dc4d 50%,#0000 50%),radial-gradient(1px 1px at 5% 52%,#dcdcf080 50%,#0000 50%),radial-gradient(1.5px 1.5px at 78% 88%,#d2d2e666 50%,#0000 50%),radial-gradient(1px 1px at 48% 5%,#dcdcf080 50%,#0000 50%),radial-gradient(2px 2px at 94% 58%,#c8c8dc4d 50%,#0000 50%);animation:4s ease-in-out infinite alternate twinkle;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;opacity:.1;will-change:transform;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23C0C0C8' stroke-width='0.5'%3E%3Ccircle cx='100' cy='100' r='95'/%3E%3Ccircle cx='100' cy='100' r='90'/%3E%3Cline x1='100' y1='5' x2='100' y2='15'/%3E%3Cline x1='100' y1='185' x2='100' y2='195'/%3E%3Cline x1='5' y1='100' x2='15' y2='100'/%3E%3Cline x1='185' y1='100' x2='195' y2='100'/%3E%3Cline x1='167' y1='33' x2='173' y2='27'/%3E%3Cline x1='33' y1='167' x2='27' y2='173'/%3E%3Cline x1='167' y1='167' x2='173' y2='173'/%3E%3Cline x1='33' y1='33' x2='27' y2='27'/%3E%3Ccircle cx='100' cy='100' r='70'/%3E%3Ccircle cx='100' cy='100' r='45'/%3E%3Cline x1='100' y1='30' x2='100' y2='170'/%3E%3Cline x1='30' y1='100' x2='170' y2='100'/%3E%3Cline x1='50' y1='50' x2='150' y2='150' stroke-width='0.3'/%3E%3Cline x1='150' y1='50' x2='50' y2='150' stroke-width='0.3'/%3E%3Cpath d='M60 100A40 40 0 0 1 100 60' stroke-width='0.4'/%3E%3Cpath d='M140 100A40 40 0 0 1 100 140' stroke-width='0.4'/%3E%3Cpath d='M100 60A40 40 0 0 1 140 100' stroke-width='0.3'/%3E%3Cpath d='M100 140A40 40 0 0 1 60 100' stroke-width='0.3'/%3E%3Ccircle cx='100' cy='100' r='5'/%3E%3Ccircle cx='100' cy='100' r='2' fill='%23C0C0C8'/%3E%3Ccircle cx='100' cy='100' r='15' stroke-dasharray='3 5'/%3E%3C/g%3E%3C/svg%3E") 50%/contain no-repeat;width:750px;height:750px;animation:120s linear infinite astrolabe-rotate;position:fixed;top:-250px;right:-250px}#root{z-index:1;min-height:100vh;position:relative}.main-content{scrollbar-width:thin;scrollbar-color:#141414cc #0000004d}.main-content::-webkit-scrollbar{width:4px}.main-content::-webkit-scrollbar-track{background:#0000004d}.main-content::-webkit-scrollbar-thumb{background:#141414cc;border-radius:2px}h1,h2,h3,h4{font-family:var(--font-display);color:var(--gold-primary);letter-spacing:.05em}a{color:var(--gold-primary);transition:color var(--transition);text-decoration:none}a:hover{color:var(--gold-light)}.btn{border-radius:var(--radius-sm);font-family:var(--font-body);cursor:pointer;transition:transform var(--transition), box-shadow var(--transition), border-color var(--transition);appearance:none;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 28px;font-size:.95rem;font-weight:500;display:inline-flex}.btn-gold{color:#0a0a0f;box-shadow:none;filter:none;background:gold;border:1px solid gold;outline:none}.btn-gold:hover{box-shadow:none;color:#0a0a0f;background:gold;transform:translateY(-1px)}.btn-outline{border:1px solid var(--border-color);color:var(--gold-primary);background:0 0}.btn-outline:hover{background:var(--gold-subtle);border-color:var(--gold-primary)}.plan-section-label{letter-spacing:.08em;vertical-align:middle;border-radius:10px;margin-left:8px;padding:2px 8px;font-size:.6rem;font-weight:700;display:inline-block}.plan-section-label-expert{color:#b8a0ff;background:#a882ff26;border:1px solid #a882ff4d}.card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:all var(--transition);padding:24px}.card:hover{border-color:var(--border-color);background:var(--bg-card-hover)}.input{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-body);transition:border-color var(--transition);padding:12px 16px;font-size:1rem}.input:focus{border-color:var(--gold-primary);box-shadow:0 0 0 2px var(--gold-glow);outline:none}.input::placeholder{color:#666680}.select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23FFD700' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:36px}.label{color:var(--text-secondary);margin-bottom:6px;font-size:.85rem;font-weight:500;display:block}.divider{background:linear-gradient(90deg, transparent, var(--border-color), transparent);border:none;height:1px;margin:24px 0}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes glow{0%,to{box-shadow:0 0 5px var(--gold-glow)}50%{box-shadow:0 0 20px var(--gold-glow), 0 0 40px #ffd7001a}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes borderGlow{0%,to{border-color:#ffd70033}50%{border-color:#ffd70080}}@keyframes sparkle{0%{opacity:0;transform:scale(.5)rotate(0)}50%{opacity:1;transform:scale(1)rotate(180deg)}to{opacity:0;transform:scale(.5)rotate(360deg)}}@keyframes textReveal{0%{opacity:0;filter:blur(4px)}to{opacity:1;filter:blur()}}@keyframes twinkle{0%{opacity:.6}50%{opacity:1}to{opacity:.8}}@keyframes astrolabe-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade{animation:.5s ease-out fadeIn}.fortune-page,.compat-page{max-width:800px;margin:0 auto}.page-title{text-align:center}.page-desc,.page-description,.page-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:24px;font-size:.9rem}:fullscreen{background:var(--bg-primary)}.app-layout:fullscreen:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 20%,#ffd70008 0%,#0000 50%),radial-gradient(at 80% 20%,#6450c808 0%,#0000 50%),radial-gradient(at 50% 80%,#ffd70005 0%,#0000 50%),radial-gradient(1px 1px at 10% 15%,#dcdcf099 50%,#0000 50%),radial-gradient(2px 2px at 25% 8%,#c8c8dc66 50%,#0000 50%),radial-gradient(1px 1px at 40% 62%,#dcdcf080 50%,#0000 50%),radial-gradient(1.5px 1.5px at 55% 25%,#d2d2e666 50%,#0000 50%),radial-gradient(1px 1px at 72% 45%,#dcdcf099 50%,#0000 50%),radial-gradient(2px 2px at 85% 72%,#c8c8dc4d 50%,#0000 50%),radial-gradient(1px 1px at 15% 82%,#dcdcf080 50%,#0000 50%),radial-gradient(1.5px 1.5px at 62% 92%,#d2d2e666 50%,#0000 50%),radial-gradient(1px 1px at 92% 18%,#dcdcf099 50%,#0000 50%),radial-gradient(2px 2px at 35% 38%,#c8c8dc4d 50%,#0000 50%),radial-gradient(1px 1px at 5% 52%,#dcdcf080 50%,#0000 50%),radial-gradient(1.5px 1.5px at 78% 88%,#d2d2e666 50%,#0000 50%),radial-gradient(1px 1px at 48% 5%,#dcdcf080 50%,#0000 50%),radial-gradient(2px 2px at 94% 58%,#c8c8dc4d 50%,#0000 50%);animation:4s ease-in-out infinite alternate twinkle;position:fixed;inset:0}.app-layout:fullscreen:after{content:"";pointer-events:none;z-index:0;opacity:.1;will-change:transform;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg fill='none' stroke='%23C0C0C8' stroke-width='0.5'%3E%3Ccircle cx='100' cy='100' r='95'/%3E%3Ccircle cx='100' cy='100' r='90'/%3E%3Cline x1='100' y1='5' x2='100' y2='15'/%3E%3Cline x1='100' y1='185' x2='100' y2='195'/%3E%3Cline x1='5' y1='100' x2='15' y2='100'/%3E%3Cline x1='185' y1='100' x2='195' y2='100'/%3E%3Cline x1='167' y1='33' x2='173' y2='27'/%3E%3Cline x1='33' y1='167' x2='27' y2='173'/%3E%3Cline x1='167' y1='167' x2='173' y2='173'/%3E%3Cline x1='33' y1='33' x2='27' y2='27'/%3E%3Ccircle cx='100' cy='100' r='70'/%3E%3Ccircle cx='100' cy='100' r='45'/%3E%3Cline x1='100' y1='30' x2='100' y2='170'/%3E%3Cline x1='30' y1='100' x2='170' y2='100'/%3E%3Cline x1='50' y1='50' x2='150' y2='150' stroke-width='0.3'/%3E%3Cline x1='150' y1='50' x2='50' y2='150' stroke-width='0.3'/%3E%3Cpath d='M60 100A40 40 0 0 1 100 60' stroke-width='0.4'/%3E%3Cpath d='M140 100A40 40 0 0 1 100 140' stroke-width='0.4'/%3E%3Cpath d='M100 60A40 40 0 0 1 140 100' stroke-width='0.3'/%3E%3Cpath d='M100 140A40 40 0 0 1 60 100' stroke-width='0.3'/%3E%3Ccircle cx='100' cy='100' r='5'/%3E%3Ccircle cx='100' cy='100' r='2' fill='%23C0C0C8'/%3E%3Ccircle cx='100' cy='100' r='15' stroke-dasharray='3 5'/%3E%3C/g%3E%3C/svg%3E") 50%/contain no-repeat;width:1000px;height:1000px;animation:120s linear infinite astrolabe-rotate;position:fixed;top:-300px;right:-300px}.presentation-mode{background:var(--bg-primary);min-height:100vh;padding:60px 40px;position:relative;overflow-y:auto}.presentation-mode:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(at 30% 20%,#ffd7000d 0%,#0000 50%),radial-gradient(at 70% 80%,#643cb40a 0%,#0000 50%),radial-gradient(circle,#ffd70005 0%,#0000 70%);position:fixed;inset:0}.presentation-mode>*{z-index:1;position:relative}.presentation-mode h1,.presentation-mode .result-title{text-align:center;background:linear-gradient(135deg, var(--gold-light), var(--gold-primary), var(--gold-dark));-webkit-text-fill-color:transparent;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;margin-bottom:40px;font-size:2.8rem;animation:3s ease-in-out infinite shimmer,1s ease-out textReveal}.presentation-mode .result-section{border-radius:var(--radius-md);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#16162acc;border:1px solid #ffd70026;max-width:860px;margin:0 auto 28px;padding:28px 32px;font-size:1.15rem;line-height:2;animation:.7s ease-out both slideUp}.presentation-mode .result-section:first-child{animation-delay:.1s}.presentation-mode .result-section:nth-child(2){animation-delay:.2s}.presentation-mode .result-section:nth-child(3){animation-delay:.3s}.presentation-mode .result-section:nth-child(4){animation-delay:.4s}.presentation-mode .result-section:nth-child(5){animation-delay:.5s}.presentation-mode .result-section:nth-child(6){animation-delay:.6s}.presentation-mode .result-section:nth-child(7){animation-delay:.7s}.presentation-mode .result-section:nth-child(8){animation-delay:.8s}.presentation-mode .section-title{text-align:center;letter-spacing:.08em;font-size:1.3rem;animation:.8s ease-out both textReveal}.presentation-mode .reading-text{font-family:var(--font-serif);color:var(--text-primary);font-size:1.1rem;line-height:2.2}.presentation-mode .result-table th{letter-spacing:.05em;background:#ffd7001a;font-size:.9rem}.presentation-mode .result-table td{padding:12px 16px;font-size:1.05rem}@media (width<=768px){.presentation-mode{padding:24px 16px}.presentation-mode h1,.presentation-mode .result-title{font-size:1.8rem}.presentation-mode .result-section{padding:20px;font-size:1rem}.presentation-mode .reading-text{font-size:.95rem}body:after{width:400px;height:400px;top:-150px;right:-150px}}@media (prefers-reduced-motion:reduce){body:before{opacity:.8;animation:none}body:after{animation:none}}
