@import"https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;600;700&display=swap";:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh;width:100%}#root{width:100vw}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.loading-spinner-container{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:2rem}.loading-spinner{border:4px solid rgba(139,92,246,.1);border-top-color:#8b5cf6;border-radius:50%;animation:spin 1s linear infinite;position:relative}.spinner-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);border:3px solid transparent;border-top-color:#8b5cf6;border-radius:50%;animation:spin .7s linear infinite reverse}.loading-spinner-container.small .loading-spinner{width:24px;height:24px;border-width:3px}.loading-spinner-container.small .spinner-inner{width:16px;height:16px;border-width:2px}.loading-spinner-container.medium .loading-spinner{width:48px;height:48px;border-width:4px}.loading-spinner-container.medium .spinner-inner{width:32px;height:32px;border-width:3px}.loading-spinner-container.large .loading-spinner{width:64px;height:64px;border-width:5px}.loading-spinner-container.large .spinner-inner{width:48px;height:48px;border-width:4px}.loading-text{color:#666;font-size:.95rem;margin:0;animation:pulse 1.5s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.fortune-card-link{text-decoration:none;display:block;height:100%}.fortune-card{position:relative;z-index:10;background:linear-gradient(135deg,#1d223de6,#1a1f3acc);border:1px solid rgba(212,175,55,.3);border-radius:12px;padding:2rem;cursor:pointer;transition:all .4s var(--transition-smooth);overflow:hidden}.fortune-card:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,rgba(212,175,55,.05));opacity:0;transition:opacity .4s var(--transition-smooth)}.fortune-card:hover{transform:translateY(-8px);border-color:#d4af3799;box-shadow:0 8px 32px #d4af3733}.fortune-card:hover:before{opacity:1}.fortune-card-icon{position:relative;z-index:2;font-size:3rem;margin-bottom:1rem;text-align:center;filter:drop-shadow(0 0 8px rgba(212,175,55,.5))}.fortune-card-title{position:relative;z-index:2;font-family:var(--font-serif);font-size:1.5rem;color:var(--color-gold);text-align:center;margin-bottom:.5rem;letter-spacing:.1em}.fortune-card-desc{position:relative;z-index:2;font-size:.9rem;color:var(--color-text-secondary);text-align:center;letter-spacing:.05em}.fortune-card-border{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:2px;background:linear-gradient(90deg,transparent,var(--color-gold),transparent);transition:width .4s var(--transition-smooth)}.fortune-card:hover .fortune-card-border{width:80%}.home-page{position:relative;z-index:10;min-height:100vh;padding:2rem;width:100%}.home-header{text-align:center;margin-bottom:4rem;padding-top:3rem}.home-title{font-family:var(--font-serif);font-size:3.5rem;font-weight:700;color:var(--color-gold);letter-spacing:.2em;margin-bottom:1rem;text-shadow:0 0 20px rgba(212,175,55,.5)}.home-subtitle{font-size:1.1rem;color:var(--color-text-secondary);letter-spacing:.15em;font-weight:300}.fortune-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;padding-bottom:4rem;max-width:1200px;margin:0 auto}.fortune-card-link{flex:0 1 280px;min-width:280px;max-width:350px}.error-message{text-align:center;padding:2rem;margin:2rem auto;max-width:500px;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:12px}@media(max-width:768px){.home-page{padding:1rem}.home-title{font-size:2.5rem}.home-subtitle{font-size:.9rem}.fortune-grid{grid-template-columns:1fr;gap:1.5rem}}:root{--color-void: #0a0e27;--color-midnight: #1a1f3a;--color-deep-indigo: #2d3561;--color-void-purple: #1e1535;--color-gold: #d4af37;--color-bronze: #cd7f32;--color-pale-jade: #a8c5a0;--color-silver: #c0c0c0;--color-text-primary: #f5f5f5;--color-text-secondary: #b8b8b8;--color-text-accent: var(--color-gold);--font-serif: "Noto Serif SC", "Cormorant Garamond", serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--transition-smooth: cubic-bezier(.4, 0, .2, 1);--transition-breathing: cubic-bezier(.45, .05, .55, .95)}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}@media(max-width:768px){html{font-size:calc(16px * 100vw / 375)}}body{font-family:var(--font-sans);background:var(--color-void);color:var(--color-text-primary);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh;position:relative}.celestial-bg{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;opacity:.3}.celestial-bg svg{width:100%;height:100%}h1,h2,h3,h4,h5,h6{font-family:var(--font-serif);font-weight:600;letter-spacing:.05em;color:var(--color-text-accent)}h1{font-size:2.5rem;margin-bottom:var(--spacing-lg)}h2{font-size:2rem;margin-bottom:var(--spacing-md)}h3{font-size:1.5rem;margin-bottom:var(--spacing-sm)}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes breathe{0%,to{opacity:.6}50%{opacity:1}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes drawLine{to{stroke-dashoffset:0}}.fade-in{animation:fadeIn .8s var(--transition-breathing) forwards}.breathe{animation:breathe 4s var(--transition-breathing) infinite}.rotate-slow{animation:rotate 120s linear infinite}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-midnight)}::-webkit-scrollbar-thumb{background:var(--color-deep-indigo);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-gold)}.fortune-detail-page{position:relative;z-index:1;min-height:100vh;padding:2rem;max-width:800px;margin:0 auto}.back-btn{background:transparent;border:1px solid rgba(212,175,55,.3);color:var(--color-gold);padding:.5rem 1.5rem;border-radius:8px;cursor:pointer;font-size:1rem;transition:all .3s var(--transition-smooth);margin-bottom:2rem}.back-btn:hover{border-color:var(--color-gold);background:#d4af371a}.fortune-detail-container{background:linear-gradient(135deg,#1d223dcc,#1a1f3a99);border:1px solid rgba(212,175,55,.3);border-radius:16px;padding:3rem}.fortune-detail-title{font-family:var(--font-serif);font-size:2rem;color:var(--color-gold);text-align:center;margin-bottom:2rem;letter-spacing:.15em}.fortune-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-family:var(--font-serif);color:var(--color-text-accent);font-size:1rem;letter-spacing:.1em}.form-group input[type=text],.form-group input[type=date],.form-group select{background:#0a0e2799;border:1px solid rgba(212,175,55,.3);border-radius:8px;padding:.75rem 1rem;color:var(--color-text-primary);font-size:1rem;transition:all .3s var(--transition-smooth)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-gold);box-shadow:0 0 12px #d4af374d}.radio-group{display:flex;gap:2rem}.radio-group label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:var(--color-text-secondary)}.radio-group input[type=radio]{accent-color:var(--color-gold)}.submit-btn{background:linear-gradient(135deg,var(--color-gold),var(--color-bronze));border:none;color:var(--color-void);padding:1rem 2rem;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s var(--transition-smooth);margin-top:1rem;letter-spacing:.1em}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #d4af3766}.submit-btn:disabled{opacity:.6;cursor:not-allowed}.fortune-result{margin-top:3rem;padding:2rem;background:#0a0e2799;border:1px solid rgba(212,175,55,.3);border-radius:12px}.fortune-result h3{font-family:var(--font-serif);color:var(--color-gold);margin-bottom:1rem;text-align:center;letter-spacing:.15em}.fortune-result p{color:var(--color-text-primary);line-height:1.8;font-size:1.1rem;letter-spacing:.05em;white-space:pre-wrap;word-wrap:break-word}.loading-container{margin-top:3rem;text-align:center}.error-message{margin-top:2rem;padding:1.5rem;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:12px;text-align:center}.error-message p{color:#fca5a5;font-size:1rem;margin:0}.seo-content-container{margin-top:4rem;color:var(--color-text-secondary)}.seo-section{margin-bottom:3rem;background:#0a0e2766;padding:2rem;border-radius:12px;border:1px solid rgba(212,175,55,.1)}.seo-section h2{font-family:var(--font-serif);color:var(--color-gold);font-size:1.5rem;margin-bottom:1.5rem;letter-spacing:.1em;border-bottom:1px solid rgba(212,175,55,.2);padding-bottom:.5rem;display:inline-block}.seo-section p{line-height:1.8;font-size:1.05rem;text-align:justify}.faq-list{display:flex;flex-direction:column;gap:1.5rem}.faq-item h3{color:var(--color-text-primary);font-size:1.1rem;margin-bottom:.5rem;font-weight:600}.faq-item p{margin:0;font-size:1rem;color:var(--color-text-secondary)}@media(max-width:768px){.fortune-detail-page{padding:1rem}.fortune-detail-container{padding:2rem 1.5rem}.fortune-detail-title{font-size:1.5rem}}.language-switcher{position:fixed;top:1rem;right:1rem;z-index:1000;padding:.5rem 1rem;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:20px;color:#fff;cursor:pointer;transition:all .3s ease;font-size:.9rem}.language-switcher:hover{background:#fff3;transform:translateY(-2px)}
