@import"https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap";:root{--cosmos-deep: #0a0e1a;--cosmos-navy: #161b33;--card-bg: rgba(22, 27, 51, .85);--ethereal-gold: #fde047;--ethereal-blue: #7dd3fc;--ethereal-purple: #c084fc;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .15);--glass-shadow: 0 15px 50px rgba(0, 0, 0, .6);--glass-blur: blur(20px);--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--radius-card: 32px;--radius-pill: 50px;--border-radius-card: var(--radius-card);--border-radius-pill: var(--radius-pill);--cosmos-card: var(--card-bg)}html,body{width:100%;min-height:100%;background-color:var(--cosmos-deep);color:var(--text-primary);font-family:Noto Sans JP,sans-serif;line-height:1.6;overflow-x:hidden}body{background-image:radial-gradient(circle at 20% 30%,rgba(45,27,78,.4) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(22,27,51,.4) 0%,transparent 50%),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='400' height='400' viewBox='0 0 800 800'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1' stroke-opacity='0.05'%3E%3Ccircle cx='400' cy='400' r='1'/%3E%3Ccircle cx='100' cy='100' r='1'/%3E%3Ccircle cx='700' cy='150' r='1'/%3E%3Ccircle cx='200' cy='600' r='1'/%3E%3Ccircle cx='600' cy='650' r='1'/%3E%3C/g%3E%3C/svg%3E");background-attachment:fixed}.App-header{padding:3rem 1rem 1.5rem;text-align:center}.header-logo-wrapper{width:100%;max-width:600px;margin:0 auto 1.5rem;display:flex;justify-content:center;align-items:center}.header-logo-image{width:100%;height:auto;filter:drop-shadow(0 0 20px rgba(253,224,71,.3))}.subtitle{color:var(--ethereal-blue);font-size:1rem;margin-top:.8rem;opacity:.9;letter-spacing:.15em}.section-card{background:var(--card-bg)!important;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border)!important;border-radius:var(--radius-card)!important;padding:3rem 2.5rem!important;margin-bottom:3rem!important;box-shadow:var(--glass-shadow)!important}.section-title{color:var(--ethereal-gold)!important;font-family:Cinzel,serif!important;font-size:1.6rem!important;font-weight:700!important;display:flex!important;align-items:center!important;gap:.8rem!important;margin-bottom:2.5rem!important;background:transparent!important;text-shadow:0 0 15px rgba(253,224,71,.3)!important}button,.btn-unified,.level-up-button,.ai-chat-button,.new-fortune-button,.submit-button,.generate-fortune-button,.back-button,.reset-data-button,.retry-button,.tutorial-button-banner,.clear-results,.clear-all{width:100%!important;max-width:340px!important;min-height:56px!important;height:auto!important;border-radius:var(--radius-pill)!important;font-weight:700!important;font-size:1rem!important;display:flex!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;transition:all .3s cubic-bezier(.175,.885,.32,1.275)!important;border:none!important;outline:none!important;text-decoration:none!important;margin:1.2rem auto!important;padding:.8rem 1.5rem!important;white-space:normal!important;text-align:center!important;line-height:1.4!important}.theme-gold,.level-up-button,.submit-button,.generate-fortune-button,.clear-results,.retry-button,.ai-chat-button,.clear-all,.tutorial-button-banner{background:linear-gradient(135deg,#fef08a 0%,#facc15 100%)!important;color:#000!important;box-shadow:0 4px 15px #fde0474d!important}.theme-gold:hover,.level-up-button:hover,.submit-button:hover,.generate-fortune-button:hover,.clear-results:hover,.retry-button:hover,.ai-chat-button:hover,.clear-all:hover,.tutorial-button-banner:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #fde04780!important}.new-fortune-button,.back-button{background:linear-gradient(135deg,#fef08a 0%,#facc15 100%)!important;color:#000!important;box-shadow:0 4px 15px #fde0474d!important}.new-fortune-button:hover,.back-button:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 25px #fde04780!important}.theme-ghost{background:rgba(255,255,255,.1)!important;color:var(--text-secondary)!important;border:1px solid rgba(255,255,255,.25)!important}.theme-ghost:hover{background:rgba(255,255,255,.18)!important;color:#fff!important}.top-share-container{display:flex;justify-content:center;margin-bottom:2rem}.share-card-button{background:linear-gradient(135deg,#fef08a 0%,#facc15 100%)!important;color:#000!important;box-shadow:0 4px 15px #fde04766!important;border:none!important;padding:.8rem 2rem!important;font-weight:800!important;letter-spacing:.05em}.share-card-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 8px 25px #fde04799!important}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:flex;justify-content:center;align-items:center;z-index:10000;padding:2rem}.share-modal-content{background:var(--cosmos-navy);padding:2rem;border-radius:var(--radius-card);border:1px solid var(--glass-border);max-width:900px;width:100%;text-align:center;position:relative;box-shadow:0 20px 60px #000c}.share-image-preview{width:100%;height:auto;border-radius:12px;box-shadow:0 10px 30px #00000080;margin-bottom:2rem}.share-modal-instructions{color:var(--ethereal-blue);margin-bottom:2rem;font-size:1.1rem}.share-modal-actions button{margin:0!important}.close-modal-button{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important}input,select,textarea,.form-input,.form-select,.period-dropdown{background-color:#facc15!important;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E"),linear-gradient(135deg,#fef08a 0%,#facc15 100%)!important;background-repeat:no-repeat,no-repeat!important;background-position:right 1.5rem center,center!important;background-size:1.2rem,cover!important;color:#000!important;border:1px solid var(--ethereal-gold)!important;border-radius:var(--radius-pill)!important;height:56px!important;width:100%!important;max-width:340px!important;padding:0 1.5rem!important;outline:none!important;font-size:1rem!important;font-weight:700!important;display:block!important;margin:1rem auto!important;cursor:pointer!important;-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important}select option{background-color:#fff;color:#000}.App-footer{padding:3rem 1rem;margin-top:2rem;border-top:1px solid var(--glass-border);background:linear-gradient(to top,rgba(10,14,26,.95),transparent);text-align:center}.footer-content{max-width:1000px;margin:0 auto}.footer-links{display:flex;justify-content:center;align-items:center;gap:3rem;margin-bottom:2.5rem;flex-wrap:wrap}.footer-note{color:var(--text-muted);font-size:.9rem}.footer-note p{margin:.5rem 0}.footer-link{color:var(--text-secondary);text-decoration:none;font-size:1rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.footer-link:hover{color:var(--ethereal-blue)}.footer-seo-content,.related-keywords,.seo-keywords{display:none!important}@media (max-width: 768px){.section-card{padding:2rem 1.5rem!important}.footer-links{gap:1.5rem}}.tutorial-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(5,6,15,.9);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .5s ease-out}.tutorial-modal{background:linear-gradient(145deg,var(--cosmos-navy),var(--cosmos-deep));border:1px solid var(--glass-border);border-radius:30px;box-shadow:var(--glass-shadow);max-width:650px;width:90%;max-height:85vh;display:flex;flex-direction:column;overflow:hidden;position:relative;animation:slideUp .6s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.tutorial-progress{background:rgba(255,255,255,.03);padding:1.2rem 2.5rem;display:flex;align-items:center;gap:1.2rem;color:var(--text-secondary);border-bottom:1px solid var(--glass-border)}.progress-bar{flex:1;height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--ethereal-blue),var(--ethereal-violet),var(--ethereal-gold));border-radius:2px;transition:width .5s cubic-bezier(.65,0,.35,1);box-shadow:0 0 10px #7dd3fc80}.progress-text{font-size:.85rem;font-family:Cinzel,serif;letter-spacing:.1em;opacity:.7}.tutorial-header{position:absolute;top:1.2rem;right:1.2rem;z-index:10}.close-button{background:rgba(255,255,255,.05);border:1px solid var(--glass-border);color:var(--text-primary);width:36px;height:36px;border-radius:50%;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.close-button:hover{background:rgba(255,255,255,.15);transform:rotate(90deg)}.tutorial-content{padding:2.5rem;flex:1;overflow-y:auto;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:350px}.tutorial-step{width:100%;animation:fadeIn .4s ease-out}.step-image{font-size:4.5rem;margin-bottom:2rem;display:block;filter:drop-shadow(0 0 20px rgba(125,211,252,.3));animation:float 4s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.tutorial-step h3{font-size:1.8rem;color:var(--ethereal-gold);margin-bottom:1.5rem;font-weight:700;letter-spacing:.05em;text-shadow:0 0 10px rgba(253,224,71,.3)}.step-description{font-size:1.05rem;color:var(--text-secondary);line-height:1.8;margin-bottom:1.5rem}.tutorial-footer{padding:1.5rem 2.5rem;display:flex;justify-content:space-between;gap:1.5rem;background:rgba(0,0,0,.2)}.tutorial-footer button{padding:.9rem 2rem;border-radius:40px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.prev-button{background:transparent;color:var(--text-muted);border:1px solid var(--glass-border)}.prev-button:hover:not(:disabled){background:rgba(255,255,255,.05);color:var(--text-primary)}.next-button{background:linear-gradient(135deg,var(--ethereal-blue) 0%,var(--ethereal-violet) 100%);color:var(--cosmos-deep);border:none;flex:1;max-width:200px;box-shadow:0 4px 15px #667eea4d}.next-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.start-button{background:linear-gradient(135deg,var(--ethereal-gold) 0%,#fff 100%);color:var(--cosmos-deep);border:none;flex:1;max-width:250px;box-shadow:0 4px 20px #d4af3766}.start-button:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 10px 30px #d4af3799}@media (max-width: 480px){.tutorial-modal{width:95%;border-radius:20px}.tutorial-content{padding:1.5rem}.tutorial-step h3{font-size:1.4rem}.tutorial-footer{padding:1rem 1.5rem}}.mode-selection-container{max-width:1100px;width:100%;margin:0 auto;padding:1rem 1.5rem 2rem;display:flex;flex-direction:column;align-items:center}.tutorial-info-box{width:100%;max-width:800px;margin-top:1rem;margin-bottom:3.5rem}.mode-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:2rem;width:100%;margin-bottom:2rem}.mode-card{border-radius:var(--radius-card);padding:2.5rem 2rem;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;position:relative;overflow:hidden;box-shadow:var(--glass-shadow);border:1px solid rgba(255,255,255,.1);text-align:center;min-height:400px}.mode-card:hover{transform:translateY(-12px) scale(1.02);border-color:#ffffff4d;box-shadow:0 30px 60px #00000080}.mode-icon{font-size:4rem;margin-bottom:1.5rem;filter:drop-shadow(0 0 15px rgba(255,255,255,.2))}.mode-header{margin-bottom:1.5rem}.mode-title{font-size:1.8rem;font-weight:800;margin-bottom:.3rem;font-family:Cinzel,serif;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.mode-subtitle{font-size:1rem;font-weight:600;color:#ffffffe6;letter-spacing:.1em}.mode-description{font-size:1rem;line-height:1.7;color:#ffffffd9;margin-bottom:auto;padding:0 .5rem}.mode-footer{margin-top:2rem;display:flex;flex-direction:column;gap:.5rem;font-size:.9rem;color:#ffffffb3;font-weight:600}.reset-data-section.section-card{max-width:700px;width:100%;background:rgba(67,56,202,.45)!important;border:1px solid rgba(125,211,252,.5)!important;box-shadow:0 0 50px #4338ca66!important;margin-top:2rem}.reset-buttons{display:flex;gap:1.5rem;flex-wrap:wrap;justify-content:center}.reset-data-button{flex:none;width:100%!important;max-width:360px!important}@media (max-width: 768px){.mode-cards{grid-template-columns:1fr}.mode-card{min-height:auto;padding:2rem 1.5rem}}.location-picker-container{position:relative;width:100%}.location-search-wrapper{position:relative;display:flex;flex-direction:column;gap:.5rem}.location-input{width:100%;padding:.8rem 1rem;background:rgba(0,0,0,.2);border:1px solid var(--glass-border);border-radius:12px;color:var(--text-primary);font-size:1rem}.suggestions-list{position:absolute;top:100%;left:0;right:0;z-index:1000;background:var(--cosmos-navy);border:1px solid var(--glass-border);border-radius:12px;margin-top:.5rem;max-height:200px;overflow-y:auto;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}.suggestion-item{padding:.8rem 1rem;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;border-bottom:1px solid rgba(255,255,255,.05)}.suggestion-item:last-child{border-bottom:none}.suggestion-item:hover{background:rgba(255,255,255,.1);color:var(--text-primary)}.manual-input-link{font-size:.8rem;color:var(--ethereal-blue);cursor:pointer;text-align:right;margin-top:.3rem;text-decoration:underline}.manual-coords-inputs{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.5rem}.api-error-message{color:#fca5a5;font-size:.8rem;margin-top:.3rem}.map-preview{margin-top:1rem;height:200px;width:100%;border-radius:12px;border:1px solid var(--glass-border);overflow:hidden}.input-form-container{max-width:650px;width:calc(100% - 2rem);margin:2rem auto;padding:3.5rem 2.5rem;background:var(--cosmos-card);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--border-radius-card);box-shadow:var(--glass-shadow);color:var(--text-primary)}.input-form-container h2{font-family:Cinzel,serif;font-size:2.2rem;color:var(--ethereal-gold);text-align:center;margin-bottom:3rem;text-shadow:0 0 20px rgba(253,224,71,.4)}.birth-form{display:flex;flex-direction:column;gap:2rem}.input-group{display:flex;flex-direction:column;gap:.8rem}.input-group label{font-size:1rem;font-weight:700;color:var(--ethereal-blue);margin-left:.5rem}.birth-date-inputs{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.8rem}.time-precision-selector{display:flex;gap:1rem;margin-bottom:.5rem}.precision-option{flex:1;padding:1rem;background:rgba(255,255,255,.03);border:1px solid var(--glass-border);border-radius:var(--border-radius-pill);cursor:pointer;text-align:center;font-size:.95rem;transition:all .3s ease;color:var(--text-secondary)}.precision-option.selected{background:rgba(125,211,252,.15);border-color:var(--ethereal-blue);color:var(--ethereal-blue);font-weight:700;box-shadow:0 0 15px #7dd3fc33}.error-message{color:#fca5a5;font-size:.85rem;margin-top:.4rem;padding-left:1rem}@media (max-width: 480px){.input-form-container{padding:2.5rem 1.5rem}.birth-date-inputs{grid-template-columns:1fr;gap:.8rem}.time-precision-selector{flex-direction:column}}.result-header-container{padding:1.5rem 1rem;text-align:center;background:rgba(10,14,26,.9);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(125,211,252,.2);margin-bottom:2rem;position:sticky;top:0;z-index:100;box-shadow:0 10px 30px #00000080}.back-button-wrapper{display:flex;justify-content:center;margin:1rem auto;padding:0 1rem;width:100%}.result-title-text{font-family:Cinzel,serif;font-size:1.6rem;color:var(--ethereal-gold);text-shadow:0 0 15px rgba(253,224,71,.4);margin:0;font-weight:700;letter-spacing:.2em}@media (max-width: 768px){.result-title-text{font-size:1.2rem;letter-spacing:.1em}}.zodiac-basics-container{display:flex;flex-direction:column;gap:2.5rem}.zodiac-display-section{text-align:center;padding:4rem 2rem!important;background:rgba(251,191,36,.25)!important;border:1px solid rgba(253,224,71,.5)!important;box-shadow:0 20px 60px #0009,0 0 30px #fde04733!important}.zodiac-icon{font-size:6rem;display:block;margin-bottom:1.5rem;filter:drop-shadow(0 0 25px rgba(253,224,71,.6))}.zodiac-name{font-size:3rem;font-weight:800;color:#fff;text-shadow:0 0 20px rgba(253,224,71,.8),0 4px 10px rgba(0,0,0,.5);font-family:Cinzel,serif;letter-spacing:.25em}.personality-text{color:#fff;line-height:1.9;text-align:left;font-size:1.15rem;background:rgba(255,255,255,.05);padding:2.5rem;border-radius:24px;border:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.zodiac-name{font-size:2.2rem}.zodiac-icon{font-size:4.5rem}}.share-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);display:flex;justify-content:center;align-items:center;z-index:10000;padding:1.5rem;animation:fadeIn .3s ease-out}.share-modal-content{background:var(--cosmos-navy);padding:2.5rem;border-radius:var(--radius-card);border:1px solid var(--glass-border);max-width:850px;width:100%;text-align:center;position:relative;box-shadow:0 30px 80px #000000e6;animation:scaleUp .3s cubic-bezier(.175,.885,.32,1.275)}.share-modal-title{color:var(--ethereal-gold);font-family:Cinzel,serif;font-size:1.4rem;margin-bottom:1rem}.share-modal-instructions{color:var(--text-secondary);margin-bottom:2rem;font-size:1rem;line-height:1.6}.share-image-preview{width:100%;height:auto;border-radius:16px;box-shadow:0 10px 40px #0009;margin-bottom:2.5rem;border:1px solid rgba(255,255,255,.1)}.share-modal-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.share-modal-actions button{margin:0!important;flex:1;min-width:200px}.close-modal-button{background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:var(--radius-pill);font-weight:700;cursor:pointer;transition:all .3s ease}.close-modal-button:hover{background:rgba(255,255,255,.2)!important}@keyframes scaleUp{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@media (max-width: 600px){.share-modal-content{padding:1.5rem}.share-modal-title{font-size:1.2rem}.share-modal-actions button{min-width:100%}}.level-1-section{max-width:900px;margin:0 auto;padding:0 1rem 5rem}.level-1-section .section-card{background:rgba(251,191,36,.18)!important;border:1px solid rgba(253,224,71,.4)!important;box-shadow:0 15px 50px #0009,0 0 20px #fde0471a!important}.section-intro{margin-bottom:2rem;color:var(--text-secondary);font-size:1.1rem}.fortune-selector{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-bottom:3rem;padding:2.5rem;background:rgba(253,224,71,.05);border-radius:var(--radius-card);border:1px solid rgba(253,224,71,.1)}.period-dropdown{width:100%!important;max-width:340px!important}.five-fortunes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:1.5rem;margin-top:2rem}.fortune-item-card{background:rgba(253,224,71,.08);border:1px solid rgba(253,224,71,.2);border-radius:24px;padding:2rem;transition:all .3s ease}.fortune-item-card:hover{background:rgba(253,224,71,.15);transform:translateY(-5px)}.fortune-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.2rem;border-bottom:1px solid rgba(253,224,71,.2);padding-bottom:.8rem}.fortune-item-label{font-weight:800;color:var(--ethereal-gold);font-size:1.1rem;letter-spacing:.1em}.important-days-section{margin-top:3rem;padding:2rem;background:rgba(253,224,71,.15);border-radius:24px;border:1px solid rgba(253,224,71,.3)}.important-days-title{color:#fff;text-shadow:0 0 10px rgba(253,224,71,.5);margin-bottom:1.5rem;font-size:1.2rem}@media (max-width: 768px){.five-fortunes-grid{grid-template-columns:1fr}}.level-3-section{max-width:1000px;margin:0 auto;padding:0 1rem 6rem}.level-3-section .section-card{background:rgba(15,23,42,.95)!important;border:1px solid rgba(125,211,252,.4)!important;box-shadow:0 15px 50px #0009,0 0 20px #7dd3fc1a!important;padding:3rem 2.5rem!important;margin-bottom:3rem!important;border-radius:var(--radius-card)!important}.section-intro{margin-bottom:2.5rem;color:var(--text-secondary);font-size:1.1rem;line-height:1.8;text-align:center;max-width:800px;margin-left:auto;margin-right:auto}.ten-planets-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));gap:2rem}.planet-group{background:rgba(125,211,252,.05);padding:2.2rem;border-radius:28px;border:1px solid rgba(125,211,252,.1)}.group-title{color:var(--ethereal-blue);font-size:1.2rem;margin-bottom:1.8rem;padding-bottom:1rem;border-bottom:1px solid rgba(125,211,252,.2);letter-spacing:.1em;font-weight:700}.planet-item{margin-bottom:1.2rem}.planet-title-line{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:rgba(125,211,252,.08);border-radius:var(--radius-pill);cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);border:1px solid rgba(125,211,252,.1)}.planet-title-line:hover{background:rgba(125,211,252,.18);border-color:#7dd3fc66;transform:translate(8px);box-shadow:0 5px 15px #0000004d}.planet-emoji{font-size:1.3rem}.planet-name{flex:1;font-weight:700;color:#fff;font-size:1.05rem}.zodiac-emoji{font-size:1.2rem}.zodiac-sign{color:var(--ethereal-gold);font-weight:700;font-size:1.1rem}.detail-toggle{color:var(--text-muted);font-size:.9rem}.planet-detail-accordion{margin-top:1rem;padding:2rem;background:rgba(10,14,26,.7);border-radius:24px;border:1px solid rgba(125,211,252,.2);animation:slideDown .4s ease-out}.planet-detail-text p{margin-bottom:1.2rem;line-height:1.9;color:var(--text-secondary);font-size:1rem}.planet-detail-text p:last-child{margin-bottom:0}.soul-portrait-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;max-width:900px;margin:0 auto}.soul-portrait-card{background:linear-gradient(135deg,rgba(147,51,234,.15) 0%,rgba(79,70,229,.1) 100%)!important;border:1px solid rgba(192,132,252,.4)!important;position:relative;overflow:hidden}.soul-portrait-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:linear-gradient(90deg,var(--ethereal-purple),var(--ethereal-blue))}.soul-portrait-card .item-icon{font-size:1.6rem;margin-right:.8rem;vertical-align:middle}.soul-portrait-card .analysis-item-title{border-left:none;padding-left:0;font-size:1.5rem;background:linear-gradient(to right,#e9d5ff,#bfdbfe);-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center}.soul-portrait-card .analysis-item-text{font-size:1.15rem;line-height:2.2;color:#f1f5f9;text-shadow:0 2px 4px rgba(0,0,0,.2)}.generating-message{text-align:center;padding:5rem 2rem;background:rgba(125,211,252,.03);border-radius:32px;border:1px solid rgba(125,211,252,.1);margin:2rem 0}.generating-message p{margin-top:2rem;color:var(--ethereal-blue);font-size:1.2rem;letter-spacing:.1em}.analysis-cta{padding:4rem 2rem;text-align:center;background:rgba(255,255,255,.02);border:1px dashed rgba(125,211,252,.3);border-radius:32px}.cta-text{margin-bottom:2.5rem;font-size:1.2rem;color:var(--text-secondary);line-height:1.6}.fortune-selector{display:flex;flex-direction:column;gap:1.5rem;align-items:center;margin-bottom:4rem;padding:3rem;background:rgba(125,211,252,.05);border-radius:32px;border:1px solid rgba(125,211,252,.1)}.five-fortunes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:2rem;margin-top:2rem}.fortune-item-card{background:rgba(12,22,45,.6);border:1px solid rgba(125,211,252,.2);padding:2.5rem;border-radius:32px;transition:all .3s ease}.fortune-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.8rem;border-bottom:1px solid rgba(125,211,252,.2);padding-bottom:1.2rem}.fortune-item-label{font-weight:800;color:var(--ethereal-blue);font-size:1.2rem;letter-spacing:.1em}.fortune-item-content p{line-height:1.9;color:#fff;font-size:1.05rem}.action-buttons-list{display:flex;flex-direction:column;gap:1rem;align-items:center}@keyframes slideDown{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.ten-planets-grid,.analysis-grid,.five-fortunes-grid{grid-template-columns:1fr}.level-3-section .section-card{padding:2.5rem 1.5rem!important}.analysis-item-card,.fortune-item-card{padding:2rem 1.5rem}.analysis-item-title{font-size:1.2rem}}.loading-screen-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;gap:2rem}.loading-message{color:var(--ethereal-blue);font-size:1.2rem;letter-spacing:.2em;animation:pulse 2s infinite ease-in-out}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1;text-shadow:0 0 15px var(--ethereal-blue)}}.error-screen-container{max-width:500px;margin:4rem auto;padding:2.5rem;background:rgba(220,38,38,.1);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid rgba(220,38,38,.3);border-radius:20px;text-align:center;box-shadow:var(--glass-shadow)}.error-icon{font-size:3rem;margin-bottom:1rem}.error-title{color:#fca5a5;font-size:1.5rem;margin-bottom:1rem}.error-message{color:var(--text-secondary);line-height:1.6;margin-bottom:2rem}.error-guidance{font-size:.9rem;color:var(--text-muted)}.step-by-step-result{min-height:100vh;padding-bottom:5rem;background:var(--cosmos-deep);background-image:radial-gradient(circle at 20% 30%,rgba(45,27,78,.4) 0%,transparent 50%),radial-gradient(circle at 80% 70%,rgba(22,27,51,.4) 0%,transparent 50%);color:var(--text-primary);font-family:Noto Sans JP,sans-serif}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.step-by-step-result>div{animation:fadeIn .8s ease-out}.ad-banner{margin:20px 0;display:flex;justify-content:center;align-items:center}.demo-ad{background:linear-gradient(135deg,#f8f9ff 0%,#e8efff 100%);border:1px solid rgba(102,126,234,.2);border-radius:12px;box-shadow:0 4px 12px #667eea1a;overflow:hidden;transition:all .3s ease;font-family:Noto Sans JP,sans-serif}.demo-ad:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea26}.demo-ad__header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:rgba(102,126,234,.1);border-bottom:1px solid rgba(102,126,234,.15)}.demo-ad__label{font-size:.7rem;color:var(--ethereal-blue);font-weight:600;text-transform:uppercase;letter-spacing:.5px}.demo-ad__close{color:#888;cursor:pointer;font-size:.9rem;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.demo-ad__close:hover{background:rgba(136,136,136,.1);color:#555}.demo-ad__content{display:flex;padding:15px;align-items:center;gap:15px}.demo-ad__image{font-size:2.5rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:60px;height:60px;background:linear-gradient(135deg,var(--ethereal-blue) 0%,var(--ethereal-violet) 100%);border-radius:12px;box-shadow:0 2px 8px #667eea4d}.demo-ad__text{flex:1;min-width:0}.demo-ad__title{margin:0 0 8px;font-size:1rem;font-weight:600;color:#333;line-height:1.3}.demo-ad__description{margin:0 0 12px;font-size:.85rem;color:#666;line-height:1.4;white-space:pre-line}.demo-ad__button{background:linear-gradient(135deg,var(--ethereal-blue) 0%,var(--ethereal-violet) 100%);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;font-family:inherit}.demo-ad__button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.demo-ad--small{max-width:320px}.demo-ad--small .demo-ad__content{padding:12px;gap:10px}.demo-ad--small .demo-ad__image{width:45px;height:45px;font-size:1.8rem}.demo-ad--small .demo-ad__title{font-size:.9rem}.demo-ad--small .demo-ad__description{font-size:.75rem}.demo-ad--medium{max-width:728px;width:100%}.demo-ad--large{max-width:300px;flex-direction:column}.demo-ad--large .demo-ad__content{flex-direction:column;text-align:center;padding:20px}.demo-ad--large .demo-ad__image{width:80px;height:80px;font-size:3rem;margin-bottom:10px}.ad-banner--level-transition{margin:30px 0;padding:20px;background:rgba(102,126,234,.03);border-radius:15px}.ad-banner--level-transition .demo-ad{background:linear-gradient(135deg,#fff 0%,#f8f9ff 100%);border:2px solid rgba(102,126,234,.15)}.ad-banner--result-bottom{margin:25px 0;border-top:1px solid rgba(102,126,234,.1);padding:25px 20px 0}.ai-fortune-container .ad-banner--level-transition,.ai-fortune-container .ad-banner--result-bottom{padding:20px;margin:25px 0}.ad-banner--chat-inline{margin:15px 0}.ad-banner--chat-inline .demo-ad{background:rgba(102,126,234,.05);border:1px solid rgba(102,126,234,.1)}.ad-banner--sidebar{position:sticky;top:20px;margin:0;padding:20px}.adsense-container{display:block;width:100%;max-width:728px;margin:20px auto;min-height:90px;text-align:center}.adsense-container--level-transition{margin:30px auto;padding:20px;background:rgba(102,126,234,.03);border-radius:15px;width:100%;max-width:728px}.adsense-container--result-bottom{margin:25px auto;border-top:1px solid rgba(102,126,234,.1);padding-top:25px;width:100%;max-width:728px}.adsense-container--sidebar{position:sticky;top:20px;margin:0 auto;width:100%;max-width:300px}.adsense-container--chat-inline{margin:15px auto;width:100%;max-width:728px}.adsbygoogle{display:block!important;width:100%!important;min-width:300px!important;min-height:90px!important;margin:0 auto!important;background:rgba(240,240,240,.05)!important;border:1px solid rgba(200,200,200,.2)!important;position:relative!important;z-index:1000!important}.adsense-container--level-transition .adsbygoogle,.adsense-container--result-bottom .adsbygoogle{max-width:728px!important;height:auto!important}.adsense-container--sidebar .adsbygoogle{max-width:300px!important;width:300px!important;height:250px!important}.adsense-container--chat-inline .adsbygoogle{max-width:728px!important;height:auto!important}@media (max-width: 768px){.demo-ad--medium{max-width:100%}.demo-ad__content{padding:12px;gap:12px}.demo-ad__image{width:50px;height:50px;font-size:2rem}.demo-ad__title{font-size:.9rem}.demo-ad__description{font-size:.8rem}.demo-ad__button{padding:6px 12px;font-size:.75rem}.ad-banner--level-transition{padding:15px;margin:20px 0}.ad-banner--sidebar{display:none}.adsense-container{max-width:320px;margin:15px auto}.adsense-container--level-transition{max-width:100%;margin:20px auto;padding:15px}.adsense-container--result-bottom{max-width:100%;margin:20px auto}.adsbygoogle{min-width:300px!important;max-width:320px!important}.adsense-container--level-transition .adsbygoogle,.adsense-container--result-bottom .adsbygoogle,.adsense-container--chat-inline .adsbygoogle{max-width:320px!important}}@media (max-width: 480px){.demo-ad__content{flex-direction:column;text-align:center;padding:15px}.demo-ad__image{margin-bottom:10px}.ad-banner--level-transition{padding:10px;margin:15px 0}}.ai-fortune-container{max-width:900px;width:100%;margin:0 auto;padding:0 1rem 6rem}.ai-chat-header{margin-bottom:2rem;padding:2.5rem;background:rgba(192,132,252,.12)!important;border-radius:var(--radius-card);border:1px solid rgba(192,132,252,.3)!important;box-shadow:0 15px 40px #0006,0 0 20px #c084fc1a!important}.ai-info{display:flex;align-items:center;gap:2rem}.ai-avatar{font-size:4rem;background:rgba(192,132,252,.2);width:100px;height:100px;display:flex;align-items:center;justify-content:center;border-radius:50%;border:2px solid rgba(192,132,252,.4);box-shadow:0 0 30px #c084fc4d}.ai-details h1{font-size:1.8rem;color:var(--ethereal-purple);margin-bottom:.5rem;text-shadow:0 0 10px rgba(192,132,252,.4)}.ai-details p{color:var(--text-secondary);font-size:1rem}.current-level-tag{display:inline-block;background:rgba(192,132,252,.2);color:var(--ethereal-purple)!important;padding:.4rem 1rem;border-radius:var(--radius-pill);font-size:.85rem!important;margin-top:.8rem!important;border:1px solid rgba(192,132,252,.3);font-weight:600}.messages-container{display:flex;flex-direction:column;gap:2rem;margin-bottom:3rem;min-height:400px}.message{display:flex;flex-direction:column;max-width:90%}.message.user-message{align-self:flex-end}.message.ai-message{align-self:flex-start}.message-content{display:flex;gap:1.2rem;align-items:flex-start}.user-message .message-content{flex-direction:row}.message-avatar{font-size:1.8rem;width:45px;height:45px;background:rgba(255,255,255,.1);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid rgba(255,255,255,.2)}.user-avatar{background:rgba(192,132,252,.3);border-color:#c084fc80}.message-bubble{padding:1.5rem 1.8rem;border-radius:24px;font-size:1.05rem;line-height:1.7;position:relative;box-shadow:0 5px 15px #0003}.ai-message .message-bubble{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#fff;border-top-left-radius:4px}.user-message .message-bubble{background:rgba(192,132,252,.25)!important;border:1px solid rgba(192,132,252,.4)!important;color:#fff;border-top-right-radius:4px}.message-time{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.8rem;text-align:right}.typing-indicator{display:flex;gap:6px;padding:5px 10px}.typing-indicator span{width:8px;height:8px;background:var(--ethereal-purple);border-radius:50%;animation:typing 1.4s infinite ease-in-out;opacity:.4}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,to{transform:translateY(0);opacity:.4}50%{transform:translateY(-8px);opacity:1}}.input-container{position:sticky;bottom:2rem;z-index:100;margin-top:2rem}.input-wrapper{background:rgba(30,41,59,.8)!important;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(192,132,252,.4)!important;border-radius:var(--radius-pill);padding:.6rem .6rem .6rem 2rem;display:flex;align-items:center;gap:1rem;box-shadow:0 10px 40px #00000080}.message-input{flex:1;background:transparent!important;border:none!important;color:#fff!important;font-size:1.1rem;padding:.8rem 0;resize:none;max-height:150px;outline:none!important}.send-button{width:56px!important;height:56px!important;border-radius:50%!important;background:var(--ethereal-purple)!important;color:#fff!important;display:flex;align-items:center;justify-content:center;font-size:1.4rem;transition:all .3s ease!important;margin:0!important}.send-button:hover:not(:disabled){transform:scale(1.1) rotate(10deg);box-shadow:0 0 20px #c084fc99}.suggestions-container{margin-top:4rem;text-align:center}.suggestions-container h4{color:var(--text-secondary);margin-bottom:1.5rem;font-weight:500}.suggestion-chips{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}.suggestion-chip{background:rgba(192,132,252,.1)!important;border:1px solid rgba(192,132,252,.3)!important;border-radius:var(--radius-pill)!important;padding:.8rem 1.5rem!important;color:#fff!important;display:flex;align-items:center;gap:.8rem;cursor:pointer;transition:all .3s ease!important;width:auto!important;max-width:none!important;height:auto!important;margin:0!important}.suggestion-chip:hover{background:rgba(192,132,252,.2)!important;border-color:var(--ethereal-purple)!important;transform:translateY(-2px)}.chip-icon{font-size:1.2rem}.back-button-container{margin-bottom:1.5rem}.bottom-navigation{display:flex;justify-content:center;margin-top:3rem}@media (max-width: 768px){.ai-info{flex-direction:column;text-align:center;gap:1rem}.ai-avatar{width:80px;height:80px;font-size:3rem}.message{max-width:95%}.message-content{gap:.8rem}.message-avatar{width:35px;height:35px;font-size:1.4rem}.message-bubble{padding:1rem 1.2rem;font-size:1rem}.input-wrapper{padding-left:1.2rem}}*{margin:0;padding:0;box-sizing:border-box}html{font-size:16px}body{font-family:Noto Sans JP,Hiragino Sans,Hiragino Kaku Gothic ProN,sans-serif;font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{width:100%;min-height:100vh}
