:root{--bg-primary:#050514;--bg-secondary:#0a0a2e;--bg-card:#0f0f32b3;--bg-card-hover:#191946cc;--text-primary:#e8e6f0;--text-secondary:#9b97b0;--text-accent:#c9a84c;--text-glow:gold;--accent-gold:#c9a84c;--accent-gold-light:#f0d078;--accent-purple:#7b68ee;--accent-purple-light:#a594f9;--accent-blue:#4a6cf7;--accent-cyan:#00d4ff;--accent-rose:#e8457a;--border-subtle:#c9a84c26;--border-glow:#c9a84c66;--shadow-glow:0 0 20px #c9a84c26;--shadow-glow-strong:0 0 40px #c9a84c4d;--font-serif:"Noto Serif KR", serif;--font-sans:"Noto Sans KR", sans-serif;--font-devanagari:"Noto Serif Devanagari", serif;--transition-slow:.6s cubic-bezier(.25, .46, .45, .94);--transition-medium:.35s cubic-bezier(.25, .46, .45, .94);--transition-fast:.2s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg-primary);width:100%;height:100%;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;font-weight:300;line-height:1.7;overflow:hidden}#starfield{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;top:0;left:0}#app{z-index:1;width:100%;height:100%;position:relative;overflow:hidden}.screen-nav{border:1px solid var(--border-subtle);background:#0f0f3280;border-radius:14px;flex-wrap:wrap;justify-content:center;gap:4px;margin-top:32px;padding:5px;display:flex}.screen-nav-btn{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-medium);white-space:nowrap;background:0 0;border:none;border-radius:10px;padding:9px 18px;font-size:.82rem}.screen-nav-btn:hover{color:var(--accent-gold-light);background:#c9a84c0f}.screen-nav-btn.active-nav{color:var(--accent-gold-light);border:1px solid var(--border-glow);cursor:default;background:#c9a84c1f}.back-btn{z-index:10;border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-medium);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f0f3299;border-radius:20px;padding:8px 16px;font-size:.82rem;position:absolute;top:16px;left:20px}.back-btn:hover{border-color:var(--border-glow);color:var(--accent-gold-light);background:#c9a84c14}.nk-list-btn{z-index:10;border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-medium);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0f0f3299;border-radius:20px;padding:8px 16px;font-size:.82rem;position:absolute;top:16px;right:20px}.nk-list-btn:hover{border-color:var(--border-glow);color:var(--accent-gold-light);background:#c9a84c14}.screen{opacity:0;width:100%;height:100%;transition:opacity var(--transition-slow), transform var(--transition-slow);pointer-events:none;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex;position:absolute;top:0;left:0;overflow-y:auto;transform:translateY(12px)}.screen.active{opacity:1;pointer-events:auto;transform:translateY(0)}.screen.exit{opacity:0;transform:translateY(-12px)}h1,h2,h3{font-family:var(--font-serif);color:var(--text-primary);font-weight:700}.text-gold{color:var(--accent-gold)}.text-shimmer{background:linear-gradient(120deg, var(--accent-gold) 0%, var(--accent-gold-light) 30%, var(--text-glow) 50%, var(--accent-gold-light) 70%, var(--accent-gold) 100%);-webkit-text-fill-color:transparent;background-size:200%;-webkit-background-clip:text;background-clip:text;animation:3s ease-in-out infinite shimmer}.btn-primary{border:1px solid var(--border-glow);color:var(--accent-gold-light);font-family:var(--font-serif);cursor:pointer;transition:all var(--transition-medium);letter-spacing:.5px;background:#c9a84c14;border-radius:50px;align-items:center;gap:8px;padding:14px 36px;font-size:1.05rem;animation:2.5s ease-in-out infinite btnGlow;display:inline-flex}.btn-primary:hover{border-color:var(--accent-gold-light);box-shadow:var(--shadow-glow-strong);background:#c9a84c2e;transform:translateY(-2px)}.card{background:var(--bg-card);border:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-medium);border-radius:16px;padding:24px}.card:hover{background:var(--bg-card-hover);border-color:var(--border-glow);box-shadow:var(--shadow-glow)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#c9a84c33;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#c9a84c66}::selection{color:var(--text-primary);background:#c9a84c4d}@keyframes shimmer{0%,to{background-position:-200%}50%{background-position:200%}}@keyframes btnGlow{0%,to{box-shadow:0 0 15px #c9a84c1a}50%{box-shadow:0 0 30px #c9a84c40,0 0 60px #c9a84c1a}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{opacity:0;animation:.6s cubic-bezier(.25,.46,.45,.94) forwards fadeInUp}.delay-1{animation-delay:.1s}.delay-2{animation-delay:.2s}.delay-3{animation-delay:.3s}.delay-4{animation-delay:.4s}.delay-5{animation-delay:.5s}.delay-6{animation-delay:.6s}.delay-7{animation-delay:.7s}.delay-8{animation-delay:.8s}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.typing-cursor:after{content:"|";color:var(--accent-gold);margin-left:2px;animation:1s step-end infinite blink}@keyframes pulseRing{0%{opacity:.6;transform:scale(.8)}50%{opacity:.2;transform:scale(1.1)}to{opacity:.6;transform:scale(.8)}}@keyframes rotateSlow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes drawLine{0%{stroke-dashoffset:1000px}to{stroke-dashoffset:0}}@keyframes glowBreathe{0%,to{filter:brightness()drop-shadow(0 0 8px #c9a84c4d)}50%{filter:brightness(1.2)drop-shadow(0 0 16px #c9a84c99)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.accordion-content{max-height:0;transition:max-height .5s cubic-bezier(.25,.46,.45,.94);overflow:hidden}.accordion-content.open{max-height:800px}.welcome-screen{text-align:center;gap:20px}.welcome-screen .logo-area{margin-bottom:8px}.welcome-screen .logo-symbol{filter:drop-shadow(0 0 12px #c9a84c66);margin-bottom:12px;font-size:3rem;animation:4s ease-in-out infinite float;display:block}.welcome-screen h1{letter-spacing:6px;margin-bottom:8px;font-size:3.2rem}.welcome-screen .subtitle{font-family:var(--font-serif);color:var(--text-secondary);letter-spacing:1px;margin-bottom:32px;font-size:1.1rem}.welcome-screen .intro-text{max-width:520px;color:var(--text-secondary);margin-bottom:40px;font-size:.92rem;line-height:1.9}.welcome-screen .intro-text em{color:var(--accent-gold);font-style:normal}.welcome-screen .soul-counter{color:var(--text-secondary);letter-spacing:1.5px;opacity:0;margin-top:12px;font-size:.8rem;animation:1.5s .5s forwards fadeIn}@keyframes fadeIn{to{opacity:1}}.qna-screen{justify-content:flex-end;padding-bottom:60px}.qna-container{flex-direction:column;gap:16px;width:100%;max-width:600px;max-height:80vh;padding:0 8px;display:flex;overflow-y:auto}.chat-bubble{opacity:0;border-radius:18px;max-width:85%;padding:16px 20px;line-height:1.8;animation:.5s forwards fadeInUp}.chat-bubble.astrologer{background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary);border-bottom-left-radius:4px;align-self:flex-start}.chat-bubble.astrologer .label{color:var(--accent-gold);font-size:.75rem;font-family:var(--font-serif);letter-spacing:1px;margin-bottom:6px}.chat-bubble.concept{color:var(--accent-purple-light);background:#7b68ee14;border:1px solid #7b68ee33;border-radius:12px;align-self:flex-start;max-width:80%;padding:12px 16px;font-size:.85rem}.chat-bubble.concept:before{content:"✦ ";color:var(--accent-purple)}.chat-bubble.user{border:1px solid var(--border-glow);color:var(--accent-gold-light);background:#c9a84c1f;border-bottom-right-radius:4px;align-self:flex-end}.qna-input-area{opacity:0;margin-top:16px;animation:.5s .3s forwards fadeInUp}.qna-input-area input[type=date],.qna-input-area input[type=time],.qna-input-area input[type=text],.qna-input-area select{border:1px solid var(--border-glow);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:all var(--transition-medium);background:#0f0f32cc;border-radius:12px;outline:none;padding:14px 20px;font-size:1rem}.qna-input-area input:focus,.qna-input-area select:focus{border-color:var(--accent-gold-light);box-shadow:0 0 20px #c9a84c26}.qna-input-area .btn-next{border:1px solid var(--border-glow);color:var(--accent-gold-light);font-family:var(--font-serif);cursor:pointer;transition:all var(--transition-medium);background:#c9a84c1a;border-radius:50px;margin-top:12px;padding:12px 28px;font-size:.95rem}.qna-input-area .btn-next:hover{box-shadow:var(--shadow-glow);background:#c9a84c33}.qna-input-area .btn-skip{color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;margin-top:10px;font-size:.85rem;display:block}.qna-input-area .btn-skip:hover{color:var(--text-primary)}.city-suggestions{background:var(--bg-secondary);border:1px solid var(--border-subtle);z-index:10;border-radius:12px 12px 0 0;max-height:200px;position:absolute;bottom:100%;left:0;right:0;overflow-y:auto}.city-suggestions .suggestion-item{cursor:pointer;transition:background var(--transition-fast);padding:10px 20px;font-size:.9rem}.city-suggestions .suggestion-item:hover{background:#c9a84c1a}.analysis-screen{text-align:center;gap:24px}.analysis-screen canvas{border-radius:50%;max-width:400px;max-height:400px}.analysis-text{font-family:var(--font-serif);color:var(--text-secondary);min-height:2em;font-size:1.05rem}.analysis-concept{max-width:480px;color:var(--accent-purple-light);background:#7b68ee0f;border:1px solid #7b68ee26;border-radius:12px;padding:14px 20px;font-size:.88rem;line-height:1.8}.profile-screen{justify-content:flex-start;gap:0;padding-top:40px}.profile-header{text-align:center;margin-bottom:32px}.profile-header h2{margin-bottom:8px;font-size:1.8rem}.profile-header .nakshatra-name{letter-spacing:3px;font-size:2.2rem}.profile-header .nakshatra-sub{color:var(--text-secondary);margin-top:4px;font-size:.95rem}.profile-summary{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:32px;display:flex}.profile-summary .tag{border:1px solid var(--border-subtle);color:var(--text-secondary);background:#0f0f3280;border-radius:20px;padding:6px 16px;font-size:.82rem}.profile-summary .tag strong{color:var(--accent-gold-light);font-weight:500}.profile-summary .tag-tooltip{cursor:help;position:relative}.profile-summary .tag-tooltip .tooltip-text{visibility:hidden;opacity:0;border:1px solid var(--border-glow);width:max-content;max-width:280px;color:var(--text-primary);text-align:left;z-index:20;pointer-events:none;background:#0a0a2ef7;border-radius:10px;padding:10px 14px;font-size:.78rem;font-weight:300;line-height:1.7;transition:opacity .25s,visibility .25s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 4px 20px #0006}.profile-summary .tag-tooltip .tooltip-text:after{content:"";border:6px solid #0000;border-top-color:var(--border-glow);position:absolute;top:100%;left:50%;transform:translate(-50%)}.profile-summary .tag-tooltip:hover .tooltip-text{visibility:visible;opacity:1}.profile-sections{flex-direction:column;gap:12px;width:100%;max-width:680px;display:flex}.profile-section{background:var(--bg-card);border:1px solid var(--border-subtle);transition:border-color var(--transition-medium);border-radius:14px;overflow:hidden}.profile-section:hover{border-color:var(--border-glow)}.profile-section .section-header{cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;padding:18px 22px;display:flex}.profile-section .section-header h3{align-items:center;gap:10px;font-size:1.05rem;font-weight:500;display:flex}.profile-section .section-header .icon{font-size:1.2rem}.profile-section .section-header .arrow{color:var(--text-secondary);transition:transform var(--transition-medium);font-size:.8rem}.profile-section.open .section-header .arrow{transform:rotate(180deg)}.profile-section .section-body{color:var(--text-secondary);padding:0 22px 20px;font-size:.93rem;line-height:1.9}.profile-section .section-body .keyword-list{flex-wrap:wrap;gap:8px;margin:12px 0;display:flex}.profile-section .section-body .keyword{color:var(--accent-gold-light);background:#c9a84c14;border:1px solid #c9a84c33;border-radius:16px;padding:4px 12px;font-size:.8rem}.lucky-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin-top:12px;display:grid}.lucky-item{text-align:center;border:1px solid var(--border-subtle);background:#0f0f3299;border-radius:10px;padding:12px 8px}.lucky-item .lucky-label{color:var(--text-secondary);margin-bottom:4px;font-size:.75rem}.lucky-item .lucky-value{color:var(--accent-gold-light);font-size:.95rem;font-weight:500}.profile-next-btn{margin-top:32px}.names-screen{justify-content:flex-start;gap:24px;padding-top:40px}.names-screen h2{text-align:center;font-size:1.8rem}.name-tabs{border:1px solid var(--border-subtle);background:#0f0f3280;border-radius:12px;gap:4px;padding:4px;display:flex}.name-tab{color:var(--text-secondary);font-family:var(--font-sans);cursor:pointer;transition:all var(--transition-medium);background:0 0;border:none;border-radius:9px;padding:8px 22px;font-size:.88rem}.name-tab:hover{color:var(--text-primary)}.name-tab.active{color:var(--accent-gold-light);border:1px solid var(--border-glow);background:#c9a84c1f}.names-explanation{text-align:center;max-width:560px;color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;line-height:1.8}.names-explanation em{color:var(--accent-gold);font-style:normal}.syllable-badge{border:1px solid var(--accent-gold);font-family:var(--font-serif);color:var(--accent-gold-light);border-radius:50px;margin:12px 0 24px;padding:6px 20px;font-size:1.3rem;animation:2.5s ease-in-out infinite glowBreathe;display:inline-block}.names-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;width:100%;max-width:680px;display:grid}.name-card{background:var(--bg-card);border:1px solid var(--border-subtle);cursor:pointer;transition:all var(--transition-medium);border-radius:14px;padding:20px}.name-card:hover{border-color:var(--border-glow);box-shadow:var(--shadow-glow);transform:translateY(-2px)}.name-card .name-hangul{font-family:var(--font-serif);color:var(--text-primary);margin-bottom:4px;font-size:1.5rem}.name-card .name-meaning{color:var(--text-secondary);font-size:.85rem;line-height:1.6}.name-card .name-detail{border-top:1px solid var(--border-subtle);color:var(--accent-purple-light);margin-top:12px;padding-top:12px;font-size:.83rem;line-height:1.7;display:none}.name-card.expanded .name-detail{display:block}.result-screen{justify-content:flex-start;gap:24px;padding-top:32px}.result-screen h2{text-align:center;font-size:1.8rem}.result-chart-area{width:100%;max-width:360px}.result-chart-area canvas{aspect-ratio:1;border-radius:8px;width:100%}.result-actions{flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px;display:flex}.result-actions button{border:1px solid var(--border-subtle);color:var(--text-secondary);font-family:var(--font-serif);cursor:pointer;transition:all var(--transition-medium);background:#0f0f3299;border-radius:50px;padding:10px 24px;font-size:.9rem}.result-actions button:hover{border-color:var(--border-glow);color:var(--accent-gold-light);background:#c9a84c1a}.shared-banner{text-align:center;background:#c9a84c0d;border:1px solid #c9a84c33;border-radius:16px;margin-bottom:8px;padding:24px;animation:.8s forwards fadeInUp}.shared-banner-text{font-family:var(--font-serif);color:var(--accent-gold-light);letter-spacing:1px;margin-bottom:16px;font-size:1.1rem}.shared-try-btn{animation:2s ease-in-out infinite btnGlow;padding:14px 32px!important;font-size:1rem!important}.share-toast{border:1px solid var(--border-glow);color:var(--accent-gold-light);opacity:0;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;background:#0f0f32f2;border-radius:50px;padding:12px 28px;font-size:.88rem;transition:all .35s;position:fixed;bottom:30px;left:50%;transform:translate(-50%)translateY(20px)}.share-toast.show{opacity:1;transform:translate(-50%)translateY(0)}.nakshatra-list-screen{justify-content:flex-start;gap:0;padding-top:40px}.nakshatra-grid{flex-direction:column;gap:8px;width:100%;max-width:680px;display:flex}.nk-card{background:var(--bg-card);border:1px solid var(--border-subtle);transition:border-color var(--transition-medium);border-radius:12px;overflow:hidden}.nk-card:hover{border-color:var(--border-glow)}.nk-card.nk-open{border-color:var(--border-glow);box-shadow:var(--shadow-glow)}.nk-card-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:12px;padding:14px 18px;display:flex}.nk-symbol{text-align:center;flex-shrink:0;width:36px;font-size:1.4rem}.nk-title{flex-direction:column;flex:1;min-width:0;display:flex}.nk-name-kr{font-family:var(--font-serif);color:var(--text-primary);font-size:1.05rem;font-weight:500}.nk-name-en{color:var(--text-secondary);font-size:.78rem}.nk-deg{color:var(--text-secondary);opacity:.6;flex-shrink:0;font-size:.72rem}.nk-card-body{color:var(--text-secondary);padding:0 18px 16px;font-size:.9rem;line-height:1.8}.nk-info-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin-top:12px;display:grid}.nk-info-item{border:1px solid var(--border-subtle);background:#0f0f3280;border-radius:8px;flex-direction:column;padding:8px 12px;display:flex}.nk-label{color:var(--text-secondary);margin-bottom:2px;font-size:.72rem}.nk-value{color:var(--accent-gold-light);font-size:.85rem}
