@import url(https://fonts.googleapis.com/css2?family=Libre+Baskerville:wght@400;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Inter:wght@400;500;700&display=swap);@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;700&display=swap);:root{--primary-light:#818cf8;--primary-dark:#3730a3;--secondary-color:#64748b;--background-color:#f8f9ff;--text-color:#1e293b;--text-secondary:#64748b;--border-color:#e2e8f0;--hover-color:#f1f5f9;--wood-color:#22c55e;--fire-color:#ef4444;--earth-color:#f59e0b;--metal-color:#64748b;--water-color:#3b82f6;--shadow-sm:0 1px 3px #0000000d,0 1px 2px #0000001a;--shadow:0 4px 6px #0000000d,0 5px 15px #0000001a;--shadow-lg:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--en-font:"Gowun Batang",serif;--ko-font:"Gowun Batang",serif;--border-radius:12px;--serif-font:"Merriweather",serif;--sans-font:"Inter",Arial,sans-serif;color-scheme:light}body{background-color:#f8f9ff;background-color:var(--background-color);color:#1e293b;color:var(--text-color)}.font-primary{font-family:Cormorant Garamond,serif;font-family:var(--font-primary)}.font-secondary{font-family:Gowun Batang,serif;font-family:var(--font-secondary)}.font-sans{font-family:Inter,Arial,sans-serif;font-family:var(--font-sans)}.font-serif{font-family:Merriweather,serif;font-family:var(--font-serif)}.font-display{font-family:Libre Baskerville,serif;font-family:var(--font-display)}.text-ko{font-weight:400;font-weight:var(--font-weight-regular);letter-spacing:-.025em;letter-spacing:var(--tracking-tight);line-height:1.625;line-height:var(--leading-relaxed)}.text-en,.text-ko{font-family:Gowun Batang,serif;font-family:var(--font-secondary)}.section-header{font-family:Libre Baskerville,serif!important;font-family:var(--font-display)!important}.hero-title{font-size:clamp(3.2rem,8vw,4.5rem)!important}.hero-title,h2.en,h2.ko{color:#1e293b;color:var(--text-color);font-family:Libre Baskerville,serif!important;font-family:var(--font-display)!important;font-weight:400;font-weight:var(--font-weight-regular);letter-spacing:-.025em;letter-spacing:var(--tracking-tight);line-height:1.4}h2.en,h2.ko,h2.section-header{font-size:clamp(1.25rem,3vw,1.75rem)}h2.section-header{color:#1e293b;color:var(--text-color);font-family:Libre Baskerville,serif!important;font-family:var(--font-display)!important;font-weight:400;font-weight:var(--font-weight-regular);letter-spacing:-.025em;letter-spacing:var(--tracking-tight);line-height:1.4}body{background-color:var(--background-color)!important;color:var(--text-color)!important;font-size:16px;letter-spacing:-.01em;line-height:1.7}.font-serif,h1,h2,h3,h4,h5,h6{font-family:Merriweather,serif!important;font-family:var(--font-serif)!important}h1,h2,h3,h4,h5,h6{color:#1e293b;color:var(--text-color);font-weight:700;line-height:1.3;margin-bottom:1rem}h1{font-size:2.5rem;letter-spacing:-.03em}h2{font-size:2rem}h2,h3{letter-spacing:-.02em}h3{font-size:1.5rem}.en{font-family:Gowun Batang,serif!important}.en .cormorant-font{font-family:Cormorant Garamond,serif!important}.ko{font-family:Gowun Batang,serif!important;font-weight:400;letter-spacing:-.02em;line-height:1.8}.container{margin:0 auto;max-width:1200px;padding:2.5rem;position:relative}.header{animation:fadeIn 1.2s ease-out;margin-bottom:3.5rem;padding-top:2rem;position:relative;text-align:center}.header h1{-webkit-text-fill-color:#0000;text-fill-color:#0000;background:linear-gradient(90deg,#3730a3,#4f46e5);background:linear-gradient(to right,var(--primary-dark),var(--primary-color));-webkit-background-clip:text;background-clip:text;font-size:2.8rem;font-weight:700;margin-bottom:1.2rem}.header p{color:#64748b;color:var(--secondary-color);font-size:1.3rem;line-height:1.7;margin:0 auto;max-width:650px}.language-toggle{background-color:initial;border:1px solid #4f46e5;border:1px solid var(--primary-color);border-radius:12px;border-radius:var(--border-radius);color:#4f46e5;color:var(--primary-color);cursor:pointer;font-size:.95rem;font-weight:500;padding:.6rem 1.25rem;position:absolute;right:0;top:0;transition:all .3s ease;transition:var(--transition);z-index:1}.language-toggle:hover{background-color:#4f46e5;background-color:var(--primary-color);box-shadow:0 4px 8px #4f46e540;color:#fff;transform:translateY(-2px)}.card{border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d,0 5px 15px #0000001a;margin-bottom:1.75rem}.card:hover{box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.card:after{background:linear-gradient(90deg,#4f46e5,#818cf8)}.form-control:focus{box-shadow:0 0 0 3px #4f46e526}.form-control::placeholder{color:#94a3b8;font-style:italic}.btn-primary{background:linear-gradient(90deg,#4f46e5,#818cf8);background:linear-gradient(to right,var(--primary-color),var(--primary-light));border:none;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px #4f46e540;color:#fff;cursor:pointer;font-weight:600;letter-spacing:.01em;overflow:hidden;padding:.8rem 1.8rem;position:relative;transition:all .3s ease}.btn-primary:hover{box-shadow:0 7px 14px #4f46e54d;transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary:after{background:#ffffff80;border-radius:100%;content:"";height:5px;left:50%;opacity:0;position:absolute;top:50%;transform:scale(1) translate(-50%);transform-origin:50% 50%;width:5px}.btn-primary:hover:after{animation:ripple 1s ease-out}@keyframes ripple{0%{opacity:.5;transform:scale(0)}to{opacity:0;transform:scale(20)}}.chat-container{scroll-behavior:smooth}.message{border-radius:12px;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;margin-bottom:1.2rem;padding:1.2rem}.user-message{background:linear-gradient(135deg,#4f46e5,#3730a3)}.bot-message{border:1px solid #e2e8f0}.user-message:before{border-left:8px solid #3730a3}.bot-message:before{border-right:8px solid #e2e8f0}.chat-header h2:after{background:linear-gradient(90deg,#0000,#818cf8,#0000)}.chart-display{background:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 5px 15px #0000001a;box-shadow:var(--shadow);padding:2rem}.chart-display h3{color:#1e293b;color:var(--text-color);display:inline-block;font-family:Gowun Batang,serif;font-family:var(--font-secondary);font-weight:700;font-weight:var(--font-weight-bold);left:50%;letter-spacing:-.05em;letter-spacing:var(--tracking-tighter);margin-bottom:2rem;position:relative;text-align:center;transform:translateX(-50%)}.chart-display h3:after{background:linear-gradient(90deg,#0000,#818cf8,#0000);background:linear-gradient(to right,#0000,var(--primary-light),#0000);bottom:-10px;content:"";height:2px;left:0;position:absolute;width:100%}.western-chart{background:#fcfcff;border-radius:12px;border-radius:var(--border-radius);padding:1.5rem}.digestible-western-chart,.western-chart{margin:0 auto;max-width:800px;overflow:visible;width:100%}.chart-section{margin-bottom:2rem}.chart-section,.chart-section h2{text-align:center}.chart-grid{justify-items:center}.form-group.has-dropdown{z-index:99998}.error-message{background-color:#fee2e2;border:1px solid #ef4444;border-radius:.375rem;color:#b91c1c;margin-bottom:1rem;padding:.75rem;text-align:center}.error-message .ko{font-family:Gowun Batang,serif;font-family:var(--font-secondary)}.error-message .en{font-family:Inter,Arial,sans-serif;font-family:var(--font-sans)}.birth-details-form{display:flex;flex-direction:column;gap:2rem;position:relative;z-index:1}.form-sections-container{display:flex;flex-direction:column;gap:2rem;width:100%}.form-section{background:var(--card-bg);width:100%}@media (min-width:768px){.form-sections-container{flex-direction:row;gap:2rem}.form-section{flex:1 1}}.submit-button-container{text-align:center}.submit-button{background:#007bff;border-radius:25px;padding:12px 30px;transition:all .3s ease}.submit-button:hover{background:#0056b3}.submit-button:disabled{background:#ccc}.charts-container{margin-top:30px}.chart-section{margin-bottom:40px}.chart-section h2{color:#333;margin-bottom:20px}.chart-grid{grid-gap:20px;gap:20px;grid-template-columns:1fr 1fr}.chat-container{background:#f8f9fa;border-radius:8px;height:400px;margin-bottom:20px;overflow-y:auto;padding:20px}.message{border-radius:8px;margin-bottom:15px;padding:10px 15px}.user-message{background:#007bff}.bot-message{background:#e9ecef;color:#333}.input-group{border:1px solid #e2e8f0;border-radius:12px}.input-group textarea{border-radius:12px}.input-group button:disabled{cursor:not-allowed;opacity:.7;transform:none}.loading-fullscreen{background:#ffffffe6;bottom:0;right:0;z-index:1000}.crystal-ball-loading{box-shadow:0 4px 6px #0000000d,0 5px 15px #0000001a,0 0 15px #4f46e54d,inset 0 0 10px #ffffff80}@media (max-width:768px){.crystal-ball-loading{font-size:2.5rem;margin:1.5rem auto;padding:1.5rem;scroll-margin:1rem}}.crystal-ball-loading:before{animation:fadeInOut 3s ease-in-out infinite;animation-delay:.5s;content:"✨";font-size:1.5rem;position:absolute;right:10px;top:-10px}@media (max-width:768px){.crystal-ball-loading:before{font-size:1.2rem;right:5px;top:-5px}}.crystal-ball-loading:after{animation:fadeInOut 3s ease-in-out infinite;animation-delay:1s;bottom:0;content:"✨";font-size:1.5rem;left:10px;position:absolute}@media (max-width:768px){.crystal-ball-loading:after{bottom:0;font-size:1.2rem;left:5px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(-15px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.App{background:linear-gradient(135deg,#f8f9ff,#eef2ff);background:linear-gradient(135deg,var(--background-color) 0,#eef2ff 100%);min-height:100vh;overflow:hidden;padding:2rem 0;position:relative}.App:before{background-image:radial-gradient(circle at 10% 20%,#4f46e508 0,#0000 20%),radial-gradient(circle at 85% 60%,#7c3aed08 0,#0000 30%),radial-gradient(circle at 40% 80%,#4f46e508 0,#0000 25%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.city-search-fullscreen{background:#fff;bottom:0;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;right:0;top:0;width:100vw;z-index:9999}.city-search-header{align-items:center;border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);display:flex;gap:.5rem;padding:1rem;position:sticky;top:0;z-index:10000}.city-search-header,.city-search-input{background:#fff;box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;box-shadow:var(--shadow-sm)}.city-search-input{-webkit-appearance:none;appearance:none;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);flex:1 1;font-size:1rem;min-height:44px;padding:.9rem 1.2rem;width:100%}.city-search-input:focus{border-color:#4f46e5;border-color:var(--primary-color);box-shadow:0 0 0 3px #4f46e526;outline:none}.city-search-close{align-items:center;background:none;border:none;border-radius:12px;border-radius:var(--border-radius);color:#64748b;color:var(--secondary-color);cursor:pointer;display:flex;font-size:1.5rem;height:44px;justify-content:center;padding:.5rem;transition:all .3s ease;transition:var(--transition);width:44px}.city-search-close:hover{background:#f5f5f5;color:#4f46e5;color:var(--primary-color)}.city-search-dropdown{border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 5px 15px #0000001a;box-shadow:var(--shadow);left:0;margin-top:4px;max-height:200px;overflow-y:auto;position:absolute;top:calc(100% + 4px);width:100%;z-index:99999}.autocomplete-results,.city-search-dropdown{background-color:#fff;background-color:var(--card-bg)}.autocomplete-results{padding:.5rem 0;position:relative;z-index:100000}.autocomplete-item{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);cursor:pointer;padding:.75rem 1rem;transition:background-color .2s}.autocomplete-item:last-child{border-bottom:none}.autocomplete-item:hover{background-color:#f1f5f9;background-color:var(--hover-color)}.form-group label{color:#1e293b;color:var(--text-color);display:block;font-size:.95rem;font-weight:500;letter-spacing:-.01em;margin-bottom:.5rem}.city-search-dropdown .city-name{color:#1e293b;color:var(--text-color);font-size:.875rem;margin-bottom:.25rem}.city-search-dropdown .no-results{color:#64748b;color:var(--text-secondary);font-size:.875rem;padding:.75rem 1rem;text-align:center}@media (max-width:768px){.container{padding:1.25rem}.grid-cols-2,.grid-cols-4{grid-template-columns:1fr}.header h1{font-size:2.2rem}.card{padding:1.25rem}.message{max-width:90%}.chart-display{margin:1rem 0;padding:1.25rem}.nav-tabs{flex-direction:column;gap:.5rem;padding:0}.nav-tabs .nav-link{border-radius:12px;border-radius:var(--border-radius);margin-right:0;text-align:center}.nav-tabs .nav-link.active,.nav-tabs .nav-link:hover{background:#4f46e51a}.autocomplete-results{max-height:60vh;padding:.75rem}.autocomplete-item{padding:1rem}}a:focus,button:focus,input:focus{outline:3px solid #4f46e566;outline-offset:2px}.grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.flex-center{justify-content:center}.flex-between,.flex-center{align-items:center;display:flex}.flex-between{justify-content:space-between}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.loading-skeleton{animation:shimmer 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;border-radius:12px;border-radius:var(--border-radius)}.element-analysis{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-bottom:1.5rem;margin-top:1.5rem}.element-box{align-items:center;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;box-shadow:var(--shadow-sm);display:flex;flex:1 1;flex-direction:column;font-size:1.15rem;font-weight:600;justify-content:center;padding:1.25rem .5rem;text-align:center}.element-wood{background:#22c55e;background:var(--wood-color);color:#fff}.element-fire{background:#ef4444;background:var(--fire-color);color:#fff}.element-earth{background:#f59e0b;background:var(--earth-color);color:#fff}.element-metal{background:#64748b;background:var(--metal-color);color:#fff}.element-water{background:#3b82f6;background:var(--water-color);color:#fff}.modality-cardinal{background:#a78bfa;color:#fff}.modality-fixed{background:#14b8a6;color:#fff}.modality-mutable{background:#fbbf24;color:#fff}.loading-fullscreen{align-items:center;background:#f8f9ff;background:var(--background-color);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:99999}.day-stems-row,.loading-fullscreen{display:flex;justify-content:center}.day-stems-row{align-items:stretch;flex-wrap:nowrap;gap:1rem}.day-stems-row>div{flex:1 1;min-width:0}.lang-en .form-control,.lang-ko .form-control{font-family:Inter,Arial,sans-serif!important;font-family:var(--font-sans)!important}input.form-control,select.form-control,textarea.form-control{font-family:inherit!important}.mobile-break{display:none}@media (max-width:600px){.mobile-break{display:inline}}.split-view{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;min-height:calc(100vh - 200px)}.split-chart{padding-right:10px}.split-chart,.split-chat{height:auto;overflow-y:auto}.split-chat{padding-left:10px}.chart-type-toggle{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.toggle-btn{background:#0000;border:2px solid #007bff;border-radius:20px;color:#007bff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.toggle-btn:hover{background:#007bff1a}.toggle-btn.active{background:#007bff;color:#fff}.split-chart .chart-display,.split-chat .card{display:flex;flex-direction:column;height:100%}.split-chat .chat-container{flex:1 1;overflow-y:auto;padding:1rem}.split-chat .input-group{background:#fff;border-top:1px solid #e5e7eb;margin-top:auto;padding:1rem}@media (max-width:768px){.split-view{grid-template-columns:1fr;min-height:auto}.split-chart,.split-chat{height:auto;padding:0}}.charts-container{display:flex;flex-direction:column;gap:2rem;padding:1rem}.chart-section{background:#fff;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 5px 15px #0000001a;box-shadow:var(--shadow);padding:1.5rem}.chart-section h2{border-bottom:2px solid #e2e8f0;border-bottom:2px solid var(--border-color);color:#3730a3;color:var(--primary-dark);font-size:1.6rem;margin-bottom:1.5rem;padding-bottom:.75rem;position:relative}.chart-section h2:after{background:#4f46e5;background:var(--primary-color);bottom:-2px;content:"";height:2px;left:0;position:absolute;width:80px}.chart-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.saju-chart,.western-chart{background:#fcfcff;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;box-shadow:var(--shadow-sm);margin:0 auto;max-width:800px;padding:1.5rem;width:100%}.saju-chart h3,.western-chart h3{border-bottom:1px solid #e2e8f0;border-bottom:1px solid var(--border-color);color:#3730a3;color:var(--primary-dark);font-size:1.3rem;margin-bottom:1.25rem;padding-bottom:.5rem}.form-section{background:#fff;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 5px 15px #0000001a;box-shadow:var(--shadow);margin-bottom:1.5rem;padding:1.5rem;position:relative;z-index:1}.form-control{padding:.75rem;transition:border-color .2s ease}.form-control:focus{border-color:#4f46e5;border-color:var(--primary-color);box-shadow:0 0 0 2px #4f46e51a;outline:none}.submit-button{background:#4f46e5;background:var(--primary-color);border:none;border-radius:12px;border-radius:var(--border-radius);box-shadow:0 4px 6px #0000000d,0 5px 15px #0000001a;box-shadow:var(--shadow);color:#fff;cursor:pointer;font-size:1.1rem;font-weight:500;padding:1rem;position:relative;transition:background-color .2s ease;width:100%;z-index:0}.submit-button:hover{background:#3730a3;background:var(--primary-dark)}.submit-button:disabled{background:#e2e8f0;background:var(--border-color);cursor:not-allowed}.chart-card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:16px;overflow:visible;width:100%}.chart-card-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;cursor:pointer;display:flex;justify-content:space-between;padding:12px 16px}.chart-card-header h3{color:#333;font-size:1.1rem;margin:0}.toggle-icon{color:#666;font-size:1.5rem;line-height:1;-webkit-user-select:none;user-select:none}.chart-card-body{display:none;padding:16px;text-align:left}.chart-card-body.expanded{display:block}@media (max-width:768px){.chart-card-header{padding:16px}.chart-card-header h3{font-size:1.2rem}.chart-card-body{padding:0 16px}.chart-card-body.expanded{padding:16px}}.main-tabs{display:flex;gap:10px;margin-bottom:20px}.main-tab{background:#f8f9fa;border:none;border-radius:6px;cursor:pointer;flex:1 1;font-size:1rem;padding:12px;transition:all .3s ease}.main-tab.active{background:#007bff;color:#fff}.profile-autocomplete{position:relative;width:100%}.profile-autocomplete.has-dropdown{z-index:99998}.name-suggestions{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 4px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:100%;z-index:1000}.suggestion-item{cursor:pointer;padding:8px 12px;transition:background-color .2s}.suggestion-item:hover{background-color:#f5f5f5}.form-group{margin-bottom:1.5rem;position:relative;z-index:0}.person-chart{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem;padding:1rem}.person-chart h3{border-bottom:2px solid #eee;color:#333;margin-bottom:1rem;padding-bottom:.5rem}.person-chart:last-child{margin-bottom:0}@media (max-width:768px){.person-chart{margin-bottom:1rem;padding:.75rem}}.login-container{align-items:center;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-box{background:#fff;border-radius:20px;box-shadow:0 10px 25px #0000001a;max-width:400px;padding:40px;text-align:center;width:100%}.login-box h1{color:#333;margin-bottom:20px}.login-box p{color:#666;line-height:1.6;margin-bottom:30px}.google-signin-button{align-items:center;background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;cursor:pointer;display:flex;font-size:16px;gap:10px;justify-content:center;padding:12px 24px;transition:background-color .3s;width:100%}.google-signin-button:hover{background-color:#f8f8f8}.google-signin-button img{height:24px;width:24px}@media (max-width:768px){.chart-type-toggle{border-bottom:1px solid #eee;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.5rem}.chart-type-toggle .toggle-btn{flex:1 1;font-size:.9rem;margin:0 .25rem;padding:.5rem;white-space:nowrap}.chat-tab{height:calc(100vh - 200px);overflow:hidden}.chat-tab .card{border-radius:0;box-shadow:none;margin:0}.chat-container{padding:.5rem}.message{font-size:.95rem;margin-bottom:.75rem;max-width:85%;padding:.75rem}.sample-prompts{padding:.5rem}.sample-prompts .btn{font-size:.8rem;padding:.25rem .5rem}.input-group{padding:.5rem}.input-group textarea{font-size:.95rem}}.wooju-card{background:#f4e8f9;border:2px solid #e0d3ec;border-radius:2rem;box-shadow:0 8px 32px #5b45ff1a,0 1.5px 8px #2c1f4a14;color:#2c1f4a;font-family:Playfair Display,serif;margin:auto;padding:2rem;position:relative;text-align:center;width:320px}.wooju-card:before{background:#d1c3e6;border-radius:4px;content:"";display:block;height:8px;left:50%;opacity:.5;position:absolute;top:.5rem;transform:translateX(-50%);width:60px}.brand{font-size:1.5rem;margin-bottom:.5rem}.headline,.zodiac-pair{font-size:2rem;margin-bottom:1rem}.compatibility{border-radius:50px;font-size:1rem;padding:1rem}.iphone-frame{align-items:center;background-image:url('data:image/svg+xml;utf8,<svg width="300" height="600" viewBox="0 0 300 600" xmlns="http://www.w3.org/2000/svg"><rect x="20" y="20" width="260" height="560" rx="40" ry="40" fill="%231c1c1e" stroke="%23a49dbf" stroke-width="4"/><rect x="30" y="30" width="240" height="540" rx="30" ry="30" fill="white"/><rect x="115" y="40" width="70" height="20" rx="10" ry="10" fill="%23111"/><circle cx="155" cy="50" r="2" fill="%232f80ed"/></svg>');background-position:50%;background-repeat:no-repeat;background-size:contain;height:600px;margin:0 auto;padding:0;width:300px}.iphone-frame,.iphone-frame .wooju-card{display:flex;flex-direction:column;justify-content:flex-start;position:relative}.iphone-frame .wooju-card{align-items:stretch;background:linear-gradient(135deg,#f8eef8,#f4e8f9);border:none;border-radius:20px;box-shadow:none;margin-top:50px;min-height:500px;width:220px;z-index:10}.screen-content{align-items:center;display:flex;flex-direction:column;gap:12px;height:100%;justify-content:flex-start;padding:16px 12px}.iphone-homebar,.iphone-notch,.iphone-status-bar{display:none}.brand{color:#5b45ff;font-size:1.25rem;margin-bottom:.25rem}.headline{font-size:1.5rem;font-weight:700;line-height:1.2;margin-bottom:.75rem}.zodiac-pair{align-items:center;display:flex;font-size:1.75rem;gap:8px;margin-bottom:.75rem}.zodiac{display:inline-block}.plus{color:#5b45ff;font-size:1.25rem}.compatibility{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff80;border:1px solid #b29ac8;border-radius:24px;display:inline-block;font-size:.9rem;line-height:1.4;padding:.75rem 1rem}.compatibility p{margin:0}.custom-wooju-screen{align-items:center;background:none;display:flex;flex-direction:column;height:100%;justify-content:flex-start;padding:32px 0 0;width:100%}.wooju-brand{color:#1e293b;color:var(--text-color);font-family:Cormorant Garamond,serif;font-family:var(--font-primary);font-size:clamp(2.5rem,8vw,3.5rem);font-weight:500;font-weight:var(--font-weight-medium);letter-spacing:-.025em;letter-spacing:var(--tracking-tight);margin-bottom:10px;margin-top:-35px;text-align:center;text-transform:none}@media (max-width:768px){.wooju-brand{margin-top:-45px}}.wooju-headline{color:#1e293b;color:var(--text-color);font-family:Cormorant Garamond,serif;font-family:var(--font-primary);font-size:3rem;font-size:var(--text-5xl);font-weight:700;font-weight:var(--font-weight-bold);letter-spacing:-.025em;letter-spacing:var(--tracking-tight);margin-bottom:38px;margin-top:10px;text-align:center;text-transform:uppercase}.zodiac-pair-row{align-items:flex-end;display:flex;gap:8px;justify-content:center;margin-bottom:24px}.zodiac-col{flex-direction:column;gap:10px}.zodiac-circle,.zodiac-col{align-items:center;display:flex}.zodiac-circle{background:#faf7fd;border-radius:50%;height:78px;justify-content:center;width:78px}.zodiac-glyph{color:#2c1f4a;font-family:Noto Sans Symbols,Cormorant Garamond,serif;font-size:2.7rem;font-weight:700;line-height:1}.zodiac-label{color:#2c1f4a;font-family:Cormorant Garamond,serif;font-size:1.1rem;font-weight:400;letter-spacing:.01em;margin-top:8px;opacity:.7}.zodiac-plus{align-self:flex-end;color:#bcb6d6;font-size:1.7rem;font-weight:400;margin-bottom:36px}.compatibility-ellipse-wrap{align-items:center;display:flex;height:90px;justify-content:center;margin-top:18px;position:relative;width:210px}.compatibility-ellipse{height:90px;left:0;position:absolute;top:0;width:210px;z-index:1}.compatibility-ellipse-text{align-items:center;background:none;color:#2c1f4a;display:flex;font-family:Playfair Display,serif;font-size:1.15rem;font-weight:500;height:90px;justify-content:center;line-height:1.35;margin:0 auto;padding:0 8px;position:relative;text-align:center;width:180px;z-index:2}.compatibility-ellipse-text span{display:block;margin:0 auto;width:100%}.hero-section h1{color:#1e293b;color:var(--text-color);font-family:Libre Baskerville,serif;font-family:var(--font-display);font-size:3rem;font-size:var(--text-5xl);font-weight:400;font-weight:var(--font-weight-regular);line-height:1.25;line-height:var(--leading-tight);margin-bottom:20px;max-width:800px;text-align:left}.cormorant-font{font-family:Cormorant Garamond,serif!important;font-weight:400;letter-spacing:.01em}.profile-loading-message{color:#64748b;color:var(--text-secondary);font-size:1rem;font-size:var(--text-base);margin:1rem 0;text-align:center}.en .form-control,.ko .form-control,.lang-en .form-control,.lang-ko .form-control,.profile-loading-message,.profile-loading-message.en,.profile-loading-message.ko{font-family:Inter,Arial,sans-serif!important;font-family:var(--font-sans)!important}.form-control{background-color:#fff;border:1px solid #e2e8f0;border:1px solid var(--border-color);border-radius:12px;border-radius:var(--border-radius);box-shadow:0 1px 3px #0000000d,0 1px 2px #0000001a;box-shadow:var(--shadow-sm);color:#1e293b;color:var(--text-color);font-size:1rem;padding:.9rem 1.2rem;transition:all .3s ease;width:100%}.en .form-control,.lang-en .form-control{font-family:Inter,Arial,sans-serif!important;font-family:var(--font-sans)!important}.ko .form-control,.lang-ko .form-control{font-family:Gowun Batang,serif!important;font-family:var(--font-secondary)!important}.section-header{font-family:Libre Baskerville,serif;font-family:var(--font-display)}.form-section h2,.section-header{color:#1e293b;color:var(--text-color);font-size:clamp(1.25rem,3vw,1.75rem);font-weight:400;font-weight:var(--font-weight-regular);letter-spacing:-.025em;letter-spacing:var(--tracking-tight);line-height:1.4}.form-section h2{font-family:Libre Baskerville,serif!important;font-family:var(--font-display)!important;font-style:italic}.loading-prompt-btn{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%);background-size:200% 100%;height:32px;min-width:120px}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}:root{--primary-color:#4f46e5;--primary-light:#6366f1;--primary-dark:#4338ca;--text-color:#1f2937;--text-secondary:#6b7280;--border-color:#e5e7eb;--card-bg:#fff;--shadow-sm:0 1px 2px 0 #0000000d;--shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-md:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-lg:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--border-radius:0.5rem;--transition:all 0.3s ease;--font-primary:"Cormorant Garamond",serif;--font-secondary:"Gowun Batang",serif;--font-sans:"Inter",Arial,sans-serif;--font-serif:"Merriweather",serif;--font-display:"Libre Baskerville",serif;--font-weight-regular:400;--font-weight-medium:500;--font-weight-bold:700;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em}body{font-family:Inter,Arial,sans-serif;font-family:var(--font-sans);font-size:1rem;font-size:var(--text-base);font-weight:400;font-weight:var(--font-weight-regular);letter-spacing:-.025em;letter-spacing:var(--tracking-tight);line-height:1.5;line-height:var(--leading-normal)}.font-primary{font-family:Cormorant Garamond,serif!important;font-family:var(--font-primary)!important}.font-secondary{font-family:Gowun Batang,serif!important;font-family:var(--font-secondary)!important}.font-sans{font-family:Inter,Arial,sans-serif!important;font-family:var(--font-sans)!important}.font-serif{font-family:Merriweather,serif!important;font-family:var(--font-serif)!important}.font-display{font-family:Libre Baskerville,serif!important;font-family:var(--font-display)!important}.font-regular{font-weight:400;font-weight:var(--font-weight-regular)}.font-medium{font-weight:500;font-weight:var(--font-weight-medium)}.font-bold{font-weight:700;font-weight:var(--font-weight-bold)}.text-xs{font-size:.75rem;font-size:var(--text-xs)}.text-sm{font-size:.875rem;font-size:var(--text-sm)}.text-base{font-size:1rem;font-size:var(--text-base)}.text-lg{font-size:1.125rem;font-size:var(--text-lg)}.text-xl{font-size:1.25rem;font-size:var(--text-xl)}.text-2xl{font-size:1.5rem;font-size:var(--text-2xl)}.text-3xl{font-size:1.875rem;font-size:var(--text-3xl)}.text-4xl{font-size:2.25rem;font-size:var(--text-4xl)}.text-5xl{font-size:3rem;font-size:var(--text-5xl)}.leading-none{line-height:1;line-height:var(--leading-none)}.leading-tight{line-height:1.25;line-height:var(--leading-tight)}.leading-snug{line-height:1.375;line-height:var(--leading-snug)}.leading-normal{line-height:1.5;line-height:var(--leading-normal)}.leading-relaxed{line-height:1.625;line-height:var(--leading-relaxed)}.leading-loose{line-height:2;line-height:var(--leading-loose)}.tracking-tighter{letter-spacing:-.05em;letter-spacing:var(--tracking-tighter)}.tracking-tight{letter-spacing:-.025em;letter-spacing:var(--tracking-tight)}.tracking-normal{letter-spacing:0;letter-spacing:var(--tracking-normal)}.tracking-wide{letter-spacing:.025em;letter-spacing:var(--tracking-wide)}.tracking-wider{letter-spacing:.05em;letter-spacing:var(--tracking-wider)}.tracking-widest{letter-spacing:.1em;letter-spacing:var(--tracking-widest)}.chat-header h2{color:#1f2937;color:var(--text-color);font-size:1.5rem;font-size:var(--text-2xl);font-weight:400;font-weight:var(--font-weight-regular);line-height:1.4}.chat-header h2,.message{font-family:Gowun Batang,serif!important;font-family:var(--font-secondary)!important;letter-spacing:-.025em;letter-spacing:var(--tracking-tight)}.message{line-height:1.625;line-height:var(--leading-relaxed)}.loading-message,.message{font-size:1rem;font-size:var(--text-base)}.loading-message{color:#6b7280;color:var(--text-secondary)}.loading-message,.sample-prompts button,.sample-prompts p{font-family:Gowun Batang,serif!important;font-family:var(--font-secondary)!important}.sample-prompts button{font-size:.875rem;font-size:var(--text-sm);font-weight:500;font-weight:var(--font-weight-medium)}.input-group{align-items:center;background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--border-radius);display:flex;gap:.5rem;margin-top:auto;padding:.75rem}.input-group textarea{background:#0000;border:none;border-radius:.5rem;border-radius:var(--border-radius);flex:1 1;font-size:1rem;font-size:var(--text-base);line-height:1.5;line-height:var(--leading-normal);max-height:200px;min-height:40px;outline:none;padding:.75rem;resize:none}.input-group button,.input-group textarea{font-family:Gowun Batang,serif!important;font-family:var(--font-secondary)!important}.input-group button{align-items:center;background:linear-gradient(135deg,#f0e6ff,#e6e6ff);border:none;border-radius:50%;box-shadow:0 2px 8px #6b4bcc26;color:#6b4bcc;cursor:pointer;display:flex;font-size:1.2rem;font-weight:500;font-weight:var(--font-weight-medium);height:40px;justify-content:center;line-height:1;padding:0;transition:all .3s ease;width:40px}.input-group button:hover{background:linear-gradient(135deg,#e6e6ff,#f0e6ff);box-shadow:0 4px 12px #6b4bcc33;transform:translateY(-1px)}@media (max-width:768px){.chat-header h2{font-size:1.25rem;font-size:var(--text-xl)}.loading-message,.message{font-size:.875rem;font-size:var(--text-sm)}.sample-prompts button{font-size:.75rem;font-size:var(--text-xs)}.input-group textarea{font-size:.875rem;font-size:var(--text-sm)}}.card{background:#fff;background:var(--card-bg);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--border-radius);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow);display:flex;flex-direction:column;height:calc(100vh - 200px);margin:0 auto;max-width:800px;overflow:hidden;padding:1.75rem;position:relative;transition:transform .3s ease,box-shadow .3s ease}.card:hover{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card:after{background:linear-gradient(90deg,#4f46e5,#6366f1);background:linear-gradient(to right,var(--primary-color),var(--primary-light));content:"";height:4px;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s ease;width:100%}.card:hover:after{opacity:1}.chat-container{background:#fff;background:var(--card-bg);border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--border-radius);display:flex;flex:1 1;flex-direction:column;margin-bottom:1rem;overflow:hidden;padding:1rem;width:100%}.messages-container{flex:1 1;margin-bottom:1rem;overflow-y:auto;padding-right:.5rem}.chat-container::-webkit-scrollbar{width:8px}.chat-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.chat-container::-webkit-scrollbar-thumb{background-color:#4f46e5;background-color:var(--primary-color);border-radius:4px}.message{animation:slideIn .5s ease-out;border-radius:.5rem;border-radius:var(--border-radius);box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);margin-bottom:1rem;max-width:80%;padding:1rem;position:relative}.user-message{background:linear-gradient(135deg,#4f46e5,#4338ca);background:linear-gradient(135deg,var(--primary-color),var(--primary-dark));color:#fff;margin-left:auto}.bot-message{background-color:#f8fafc;border:1px solid #e5e7eb;border:1px solid var(--border-color);color:#1f2937;color:var(--text-color);margin-right:auto}.user-message:before{border-left:8px solid #4338ca;border-left:8px solid var(--primary-dark);right:-8px}.bot-message:before,.user-message:before{border-bottom:8px solid #0000;border-top:8px solid #0000;content:"";height:0;position:absolute;top:10px;width:0}.bot-message:before{border-right:8px solid #e5e7eb;border-right:8px solid var(--border-color);left:-8px}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;box-shadow:var(--shadow);transform:translateY(-1px)}.user-message:hover{background:linear-gradient(135deg,#4338ca,#4f46e5);background:linear-gradient(135deg,var(--primary-dark),var(--primary-color))}.bot-message:hover{background-color:#f0f4f8}.chat-header{margin-bottom:1.5rem;position:relative;text-align:center}.chat-header h2{color:#4f46e5;color:var(--primary-color);display:inline-block;font-size:1.7rem;margin:0;position:relative}.chat-header h2:after{background:linear-gradient(90deg,#0000,#6366f1,#0000);background:linear-gradient(to right,#0000,var(--primary-light),#0000);bottom:-5px;content:"";height:2px;left:0;position:absolute;width:100%}.crystal-ball-loading{animation:sparkle 2s ease-in-out infinite;background:#fff;background:var(--card-bg);border-radius:50%;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 15px #4f46e54d,inset 0 0 10px #ffffff80;box-shadow:var(--shadow),0 0 15px #4f46e54d,inset 0 0 10px #ffffff80;font-size:3.5rem;margin:2.5rem auto;padding:2.5rem;position:relative;scroll-margin:2rem;text-align:center;width:fit-content}.loading-message{animation:fadeInOut 3s ease-in-out infinite;color:#4f46e5;color:var(--primary-color);font-family:Gowun Batang,serif;font-family:var(--font-secondary);font-size:1.125rem;font-size:var(--text-lg);font-style:italic;margin-top:1rem;opacity:0}.sample-prompts{background:#f8fafc;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--border-radius);margin-bottom:2rem;margin-top:2rem;padding:1.5rem}.sample-prompts p{color:#6b7280;color:var(--text-secondary);margin-bottom:1.5rem}.sample-prompts .btn,.sample-prompts p{font-family:Inter,Arial,sans-serif;font-family:var(--font-sans);font-size:.875rem;font-size:var(--text-sm)}.sample-prompts .btn{background:#fff;border:1px solid #e5e7eb;border:1px solid var(--border-color);border-radius:.5rem;border-radius:var(--border-radius);color:#1f2937;color:var(--text-color);font-weight:500;font-weight:var(--font-weight-medium);margin:.25rem;padding:.5rem 1rem;transition:all .3s ease}.sample-prompts .btn:hover{background:#4f46e5;background:var(--primary-color);border-color:#4f46e5;border-color:var(--primary-color);color:#fff;transform:translateY(-1px)}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes fadeInOut{0%,to{opacity:0}50%{opacity:1}}@media (max-width:768px){.card{height:calc(100vh - 200px);padding:1rem}.chat-container,.message{padding:.75rem}.message{margin-bottom:.75rem;max-width:85%}.bot-message:before,.user-message:before{top:8px}.chat-header h2{font-size:1.4rem}.input-group{padding:.75rem}.input-group textarea{font-size:.875rem;font-size:var(--text-sm)}.sample-prompts{margin-bottom:1.5rem;margin-top:1.5rem;padding:1rem}.sample-prompts p{margin-bottom:1rem}.sample-prompts .btn{font-size:.75rem;font-size:var(--text-xs);padding:.4rem .8rem}}html{color-scheme:light!important}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9ff!important;color:#1e293b!important;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
/*# sourceMappingURL=main.fa52149f.css.map*/