
:root{--bg:#F5F3EF;--surface:#FFFFFF;--card:#FFFFFF;--border:#E0DDD6;--primary:#C8872E;--primary-light:#E8A840;--primary-dark:#A06A1A;--accent:#B8963A;--accent-light:#D4AF37;--purple:#6B42A8;--purple-light:#8B62C8;--wood:#27AE60;--fire:#E74C3C;--earth:#F39C12;--metal:#95A5A6;--water:#3498DB;--text:#2A2520;--text-dim:#8A8480;--text-sub:#6B665E;--pink:#C8A97E;--green:#00B894;--shadow:0 2px 12px rgba(0,0,0,0.08);--shadow-lg:0 8px 30px rgba(0,0,0,0.12);}
*{margin:0;padding:0;box-sizing:border-box;}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:4px;}
:focus:not(:focus-visible){outline:none;}
body{font-family:'Noto Sans KR',-apple-system,sans-serif;font-size:18px;background:var(--bg);color:var(--text);min-height:100vh;max-width:480px;margin:0 auto;padding-bottom:90px;overflow-x:hidden;}
.top-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;}
.logo{font-family:'Noto Serif KR',serif;font-size:1.25em;font-weight:700;color:var(--primary);white-space:nowrap;flex-shrink:0;}
.logo span{font-size:0.55em;font-weight:400;color:var(--text-sub);display:block;margin-top:-2px;}
.header-icons{display:flex;gap:12px;font-size:1.05em;align-items:center;}
.header-yeouiju{display:flex;align-items:center;gap:3px;padding:3px 8px;background:rgba(232,168,64,0.1);border-radius:12px;font-size:0.78em;}
.header-login-btn{background:var(--primary);color:#fff;border:none;border-radius:20px;padding:5px 12px;font-size:0.78em;font-weight:600;cursor:pointer;font-family:inherit;}
.header-login-btn:hover{background:var(--primary-light);}
.header-user-info{display:flex;align-items:center;gap:8px;cursor:pointer;}
.header-user-avatar{width:28px;height:28px;border-radius:50%;border:2px solid var(--primary);object-fit:cover;}
.header-user-name{font-size:0.78em;color:var(--text);max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.login-container{padding:40px 20px;text-align:center;}
.login-container h2{font-family:'Noto Serif KR',serif;color:var(--primary);margin-bottom:8px;font-size:1.35em;}
.login-subtitle{color:var(--text-sub);font-size:0.82em;margin-bottom:32px;}
.social-login-btns{display:flex;flex-direction:column;gap:12px;max-width:320px;margin:0 auto;}
.social-btn{display:flex;align-items:center;gap:12px;padding:14px 20px;border-radius:12px;border:none;font-size:0.85em;font-weight:600;cursor:pointer;font-family:inherit;transition:opacity 0.2s;}
.social-btn:hover{opacity:0.9;}
.social-btn img,.social-btn svg{width:22px;height:22px;}
.social-btn-kakao{background:#FEE500;color:#191919;}
.social-btn-naver{background:#03C75A;color:#fff;}
.social-btn-google{background:#fff;color:#333;border:1px solid #ddd;}
.social-btn-email{background:var(--card);color:var(--text);border:1px solid var(--border);}
.social-btn-disabled{opacity:0.4;cursor:not-allowed;}
.login-divider{display:flex;align-items:center;gap:12px;margin:24px auto;max-width:320px;color:var(--text-dim);font-size:0.9em;}
.login-divider::before,.login-divider::after{content:'';flex:1;height:1px;background:var(--border);}
.user-menu-dropdown{position:absolute;top:50px;right:16px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:8px 0;min-width:160px;box-shadow:var(--shadow-lg);z-index:200;display:none;}
.user-menu-dropdown.show{display:block;}
.user-menu-item{display:block;width:100%;padding:10px 16px;border:none;background:none;color:var(--text);font-size:0.82em;text-align:left;cursor:pointer;font-family:inherit;}
.user-menu-item:hover{background:var(--surface);}
.user-menu-item.danger{color:#E74C3C;}
.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:100%;max-width:480px;background:var(--surface);border-top:1px solid var(--border);display:flex;justify-content:space-around;align-items:center;padding:6px 0 env(safe-area-inset-bottom,8px);z-index:100;}
.nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-family:'Noto Sans KR',sans-serif;font-size:0.72em;color:var(--text-dim);cursor:pointer;padding:4px 8px;border:none;background:none;transition:color 0.2s;}
.nav-item.active{color:var(--primary);}
.nav-item .nav-icon{font-size:1.6em;}
.header-progress{display:flex;align-items:center;gap:4px;margin:0 auto;min-width:0;overflow:hidden;}
.header-progress .hp-step{display:flex;align-items:center;gap:2px;font-size:0.65em;color:var(--text-dim);padding:3px 6px;border-radius:10px;background:rgba(0,0,0,0.03);transition:all 0.3s;}
.header-progress .hp-step.done{color:var(--primary);background:rgba(232,168,64,0.1);}
.header-progress .hp-step .hp-icon{font-size:1.1em;}
.header-progress .hp-dot{width:3px;height:3px;border-radius:50%;background:var(--border);}
.service-card.card-locked{opacity:0.45;pointer-events:none;filter:grayscale(0.3);position:relative;}
.service-card.card-locked::after{content:'🔒';position:absolute;top:10px;right:12px;font-size:0.9em;}
.page{display:none;}
.page.active{display:block;}
.hero-banner{background:linear-gradient(180deg,#FFFFFF 0%,#F0EDE6 100%);border:1px solid var(--border);border-radius:16px;margin:12px;padding:0 0 20px 0;text-align:center;position:relative;overflow:hidden;}
.hero-banner .hero-image{width:100%;height:auto;display:block;object-fit:cover;border-radius:16px 16px 0 0;margin-bottom:16px;}
.hero-banner .symbol-emoji{font-size:4em;display:block;margin-bottom:10px;}
.hero-banner h2{font-family:'Noto Serif KR',serif;font-size:1.25em;color:var(--primary);margin-bottom:0;font-weight:700;text-shadow:none;padding:0 24px;line-height:1.6;letter-spacing:-0.02em;word-break:keep-all;}
.hero-banner p{font-family:'Noto Sans KR',sans-serif;color:var(--text-sub);font-size:0.85em;line-height:1.5;padding:0 24px;}
.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;}
.service-card{background:var(--card);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);cursor:pointer;transition:transform 0.2s,box-shadow 0.2s,border-color 0.2s;border:1px solid var(--border);text-align:center;font-family:inherit;width:100%;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;}
.service-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary);}
.service-card .card-img{display:flex;align-items:center;justify-content:center;font-size:2.2em;margin-bottom:10px;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,rgba(232,168,64,0.1),rgba(123,79,191,0.08));}
.service-card .card-body{text-align:center;}
.service-card h3{font-family:'Noto Serif KR',serif;font-size:1.2em;font-weight:700;margin-bottom:6px;color:var(--text);line-height:1.3;}
.service-card .desc{font-family:'Noto Sans KR',sans-serif;font-size:0.82em;color:var(--text-sub);margin-bottom:2px;line-height:1.4;word-break:keep-all;}
.service-card .card-cta{display:inline-block;padding:6px 16px;border-radius:20px;font-family:'Noto Sans KR',sans-serif;font-size:0.82em;font-weight:500;color:#fff;background:var(--primary);}
.service-card.card-wide{grid-column:auto;flex-direction:column;}
.service-card.card-wide .card-img{width:56px;height:56px;border-radius:16px;}
.service-card.card-wide .card-body{text-align:center;padding:0;}
.service-card.card-wide .card-body .card-text{flex:none;}
.service-card.card-wide .card-body .card-cta{display:none;}
.card-coming-soon{opacity:0.6;position:relative;}
.card-coming-soon:hover{opacity:0.75;}
.badge-soon{display:inline-block;font-size:0.6em;font-weight:500;background:var(--purple);color:#fff;padding:2px 8px;border-radius:10px;vertical-align:middle;margin-left:6px;}
.free-section{margin:16px 12px;background:var(--card);border:1px solid var(--border);border-radius:14px;padding:18px 16px;}
.free-section-title{font-family:'Noto Serif KR',serif;font-size:1.05em;font-weight:700;color:var(--primary);margin-bottom:14px;display:flex;align-items:center;gap:8px;}
.free-no-data{text-align:center;padding:40px 20px;color:var(--text-sub);}
.free-no-data .icon{font-size:2.5em;margin-bottom:10px;}
.free-pillar-table{width:100%;border-collapse:collapse;text-align:center;font-size:0.95em;}
.free-pillar-table th{color:var(--text-sub);font-weight:400;font-size:0.82em;padding:6px 4px;}
.free-pillar-table td{padding:8px 4px;font-family:'Noto Serif KR',serif;font-size:1.15em;font-weight:700;}
.free-pillar-table .stem-row td{border-bottom:1px solid var(--border);}
.free-ohang-bar{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.free-ohang-label{width:50px;font-size:0.95em;color:var(--text-sub);text-align:right;}
.free-ohang-track{flex:1;height:18px;background:rgba(0,0,0,0.04);border-radius:9px;overflow:hidden;}
.free-ohang-fill{height:100%;border-radius:9px;transition:width 0.6s ease;}
.free-ohang-val{width:30px;font-size:0.82em;color:var(--text-dim);}
.free-sipsung-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.free-sipsung-item{display:flex;justify-content:space-between;align-items:center;background:rgba(0,0,0,0.03);border-radius:8px;padding:8px 12px;font-size:0.95em;}
.free-sipsung-item .name{color:var(--text-sub);}
.free-sipsung-item .count{color:var(--primary);font-weight:700;}
.free-fortune-scroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:8px;-webkit-overflow-scrolling:touch;}
.free-fortune-scroll::-webkit-scrollbar{height:4px;}
.free-fortune-scroll::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px;}
.free-fortune-card{flex:0 0 auto;min-width:80px;background:rgba(0,0,0,0.03);border:1px solid var(--border);border-radius:10px;padding:10px 12px;text-align:center;font-size:0.95em;}
.free-fortune-card.current{border-color:var(--primary);background:rgba(200,135,46,0.1);}
.free-fortune-card .age{color:var(--text-dim);font-size:0.95em;}
.free-fortune-card .ganji{font-family:'Noto Serif KR',serif;font-size:1.1em;font-weight:700;color:var(--text);margin:4px 0;}
.free-fortune-card .ten-god{color:var(--text-sub);font-size:0.95em;}
.free-relation-list{display:flex;flex-direction:column;gap:8px;}
.free-relation-item{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,0.03);border-radius:8px;padding:10px 14px;font-size:0.95em;}
.free-relation-type{font-weight:700;color:var(--primary);min-width:50px;}
.free-relation-detail{color:var(--text-sub);}
.brain-survey-container{padding:20px 16px;}
.brain-progress{display:flex;align-items:center;gap:10px;margin-bottom:20px;}
.brain-progress-bar{flex:1;height:6px;background:rgba(0,0,0,0.06);border-radius:3px;overflow:hidden;}
.brain-progress-fill{height:100%;background:linear-gradient(90deg,var(--purple),var(--primary));border-radius:3px;transition:width 0.3s ease;}
.brain-progress-text{font-size:0.82em;color:var(--text-sub);white-space:nowrap;}
.brain-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:28px 20px;min-height:320px;display:flex;flex-direction:column;}
.brain-card-area{font-size:0.82em;color:var(--purple-light);font-weight:500;margin-bottom:8px;}
.brain-card-question{font-family:'Noto Serif KR',serif;font-size:1.1em;font-weight:700;color:var(--text);margin-bottom:24px;line-height:1.6;}
.brain-options{display:flex;flex-direction:column;gap:10px;flex:1;}
.brain-option{display:flex;align-items:center;gap:12px;padding:14px 16px;background:rgba(0,0,0,0.03);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:all 0.2s;font-size:0.92em;color:var(--text-sub);}
.brain-option:hover{border-color:var(--purple);background:rgba(123,79,191,0.08);}
.brain-option.selected{border-color:var(--primary);background:rgba(232,168,64,0.1);color:var(--text);}
.brain-option .radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--border);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.brain-option.selected .radio{border-color:var(--primary);}
.brain-option.selected .radio::after{content:'';width:10px;height:10px;border-radius:50%;background:var(--primary);}
.brain-nav{display:flex;gap:12px;margin-top:20px;padding-bottom:20px;}
.brain-nav button{flex:1;padding:14px;border-radius:12px;font-size:0.95em;font-weight:600;cursor:pointer;border:none;transition:all 0.2s;}
.brain-btn-prev{background:var(--card);border:1px solid var(--border) !important;color:var(--text-sub);}
.brain-btn-prev:hover{border-color:var(--primary) !important;}
.brain-btn-next{background:var(--primary);color:#fff;}
.brain-btn-next:disabled{opacity:0.4;cursor:not-allowed;}
.brain-btn-next:not(:disabled):hover{background:var(--primary-light);}
.growth-prereq{text-align:center;padding:40px 20px;}
.growth-prereq .icon{font-size:3em;margin-bottom:16px;}
.growth-prereq .title{font-family:'Noto Serif KR',serif;font-size:1.15em;font-weight:700;color:var(--text);margin-bottom:12px;}
.growth-prereq .desc{font-size:0.9em;color:var(--text-sub);line-height:1.6;margin-bottom:20px;}
.growth-prereq .status-row{display:flex;justify-content:center;gap:16px;margin-bottom:24px;}
.growth-prereq .status-item{display:flex;align-items:center;gap:6px;font-size:0.95em;}
.growth-prereq .status-item .done{color:var(--green);}
.growth-prereq .status-item .pending{color:var(--text-dim);}
.growth-status-cards{display:flex;gap:10px;margin-bottom:20px;justify-content:center;}
.growth-status-card{display:flex;align-items:center;gap:10px;padding:12px 16px;background:var(--card);border:1px solid var(--border);border-radius:12px;flex:1;max-width:180px;}
.gsc-icon{font-size:1.3em;}
.gsc-icon .done{color:var(--green,#27AE60);}
.gsc-icon .pending{color:var(--text-dim);}
.gsc-label{font-size:0.85em;font-weight:600;color:var(--text);}
.gsc-summary{font-size:0.75em;color:var(--text-dim);margin-top:2px;}
.growth-prereq .go-btn{display:inline-block;padding:12px 28px;border-radius:12px;background:var(--primary);color:#fff;font-weight:600;font-size:0.95em;border:none;cursor:pointer;}
.growth-prereq .go-btn:hover{background:var(--primary-light);}
.growth-base-summary{display:flex;gap:10px;margin-bottom:16px;}
.gbs-card{flex:1;display:flex;align-items:center;gap:10px;padding:12px;background:var(--card);border:1px solid var(--border);border-radius:10px;}
.gbs-icon{font-size:1.4em;}
.gbs-label{font-size:0.75em;color:var(--text-dim);}
.gbs-value{font-size:0.82em;color:var(--primary);font-weight:600;margin-top:2px;}
.home-intro{margin:20px 12px 0;text-align:center;}
.home-intro .intro-title{font-family:'Noto Serif KR',serif;font-size:1.15em;font-weight:700;color:var(--primary);margin-bottom:12px;text-shadow:none;}
.home-intro .intro-desc{font-size:0.95em;color:var(--text-sub);line-height:1.7;max-width:380px;margin:0 auto;}
.how-section{margin:24px 12px 0;padding:24px 20px 20px;background:linear-gradient(180deg,rgba(255,255,255,0.9),rgba(240,237,230,0.6));border:1px solid var(--border);border-radius:16px;}
.how-section .how-label{font-family:'Noto Sans KR',sans-serif;font-size:0.72em;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--purple-light);margin-bottom:20px;text-align:center;}
.how-step{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;}
.how-step:last-child{margin-bottom:0;}
.how-step .step-num{flex-shrink:0;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Noto Serif KR',serif;font-size:0.95em;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-dark));box-shadow:0 0 12px rgba(200,135,46,0.2);}
.how-step .step-body{}
.how-step .step-title{font-size:0.92em;font-weight:700;color:var(--text);margin-bottom:3px;}
.how-step .step-desc{font-size:0.82em;color:var(--text-dim);line-height:1.5;}
.page-header{background:var(--primary);color:#fff;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:1em;}
.page-header .close-btn{background:none;border:none;color:#fff;font-size:1.3em;cursor:pointer;}
.input-section{background:var(--card);margin:0;padding:20px 16px;border-bottom:8px solid var(--bg);}
.input-section .section-label{font-size:0.95em;font-weight:500;color:var(--text);margin-bottom:8px;}
.input-section .required{color:var(--accent-light);font-size:0.95em;float:right;}
.input-section .valid-mark{color:var(--green);font-size:0.95em;float:right;}
.text-input{width:100%;border:1px solid var(--border);border-radius:10px;padding:12px 14px;font-size:1em;font-family:inherit;background:#F5F3EF;color:var(--text);transition:border-color 0.2s,box-shadow 0.2s;}
.text-input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(200,169,126,0.15);}
.text-input::placeholder{color:var(--text-dim);}
.radio-group{display:flex;gap:16px;padding:12px 0;}
.radio-item{flex:1;display:flex;align-items:center;gap:6px;}
.radio-item input[type="radio"]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);}
.radio-item label{cursor:pointer;font-size:0.95em;color:var(--text);}
.mbti-axis-group{margin-bottom:16px;}
.mbti-axis-label{font-size:0.95em;font-weight:600;color:var(--primary);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;}
.mbti-axis-desc{font-size:0.82em;color:var(--text-dim);margin-bottom:8px;}
.mbti-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.mbti-option{position:relative;cursor:pointer;}
.mbti-option input[type="radio"]{position:absolute;opacity:0;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);}
.mbti-option .mbti-opt-card{display:flex;flex-direction:column;align-items:center;padding:14px 10px;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);transition:all 0.25s;text-align:center;}
.mbti-option .mbti-opt-card:hover{border-color:rgba(127,119,221,0.4);background:rgba(127,119,221,0.04);}
.mbti-option input:checked + .mbti-opt-card{border-color:#7F77DD;background:rgba(127,119,221,0.08);box-shadow:0 0 0 3px rgba(127,119,221,0.12);}
.mbti-opt-letter{font-size:1.5em;font-weight:800;font-family:'Noto Serif KR',serif;color:var(--text);line-height:1;}
.mbti-option input:checked + .mbti-opt-card .mbti-opt-letter{color:#7F77DD;}
.mbti-opt-name{font-size:0.82em;font-weight:600;color:var(--text);margin-top:4px;}
.mbti-opt-desc{font-size:0.72em;color:var(--text-dim);margin-top:2px;}
.mbti-result-badge{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 20px;margin-top:12px;border-radius:12px;background:linear-gradient(135deg,rgba(127,119,221,0.1),rgba(200,169,126,0.08));border:1.5px solid rgba(127,119,221,0.25);}
.mbti-result-type{font-family:'Noto Serif KR',serif;font-size:1.4em;font-weight:800;color:#7F77DD;letter-spacing:2px;}
.mbti-result-check{font-size:1.1em;color:#27AE60;}
.mbti-profile-card{margin:12px;padding:20px 16px;background:linear-gradient(135deg,#F8F5FF,#F0ECF9);border:1.5px solid rgba(127,119,221,0.25);border-radius:14px;position:relative;overflow:hidden;}
.mbti-profile-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#7F77DD,#9B6FDF,#7F77DD);}
.mbti-profile-header{display:flex;align-items:center;gap:14px;margin-bottom:14px;}
.mbti-type-badge{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,#7F77DD,#9B6FDF);display:flex;align-items:center;justify-content:center;font-family:'Noto Serif KR',serif;font-size:0.95em;font-weight:800;color:#fff;letter-spacing:1px;flex-shrink:0;}
.mbti-profile-info h3{font-family:'Noto Serif KR',serif;font-size:1.05em;font-weight:700;color:var(--text);margin:0 0 4px;}
.mbti-profile-info .mbti-label-text{font-size:0.82em;color:#7F77DD;font-weight:600;}
.mbti-cognitive-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.mbti-cog-item{padding:10px 12px;background:rgba(255,255,255,0.7);border-radius:10px;border:1px solid rgba(127,119,221,0.12);}
.mbti-cog-rank{font-size:0.68em;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:0.5px;}
.mbti-cog-func{font-size:0.92em;font-weight:700;color:var(--text);margin-top:2px;}
.mbti-cog-desc{font-size:0.72em;color:var(--text-sub);margin-top:2px;line-height:1.4;}
.mbti-ohang-cross{margin:0 12px 12px;padding:18px 16px;background:linear-gradient(135deg,#F8F5FF,#FDF6EA);border:1px solid rgba(127,119,221,0.2);border-radius:12px;}
.mbti-ohang-cross .cross-title{font-family:'Noto Serif KR',serif;font-size:0.95em;font-weight:700;color:var(--text);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.mbti-ohang-cross .cross-type-badge{display:inline-block;padding:3px 10px;border-radius:12px;font-size:0.72em;font-weight:700;letter-spacing:0.5px;}
.cross-badge-resonance{background:rgba(39,174,96,0.12);color:#27AE60;border:1px solid rgba(39,174,96,0.2);}
.cross-badge-tension{background:rgba(127,119,221,0.12);color:#7F77DD;border:1px solid rgba(127,119,221,0.2);}
.mbti-ohang-cross .cross-body{font-size:0.95em;color:var(--text-sub);line-height:1.75;}
.mbti-ohang-cross .cross-highlight{color:var(--text);font-weight:600;}
.checkbox-item{display:flex;align-items:center;gap:8px;padding:8px 0;}
.checkbox-item input[type="checkbox"]{width:16px;height:16px;cursor:pointer;accent-color:var(--primary);}
.checkbox-item label{cursor:pointer;font-size:0.95em;color:var(--text);}
.time-confirm{font-size:0.9em;color:var(--primary);margin-top:6px;}
.preview-table{width:100%;border-collapse:collapse;margin-top:12px;}
.preview-table th,.preview-table td{padding:10px 6px;text-align:center;font-size:0.9em;border:1px solid var(--border);background:#F5F3EF;color:var(--text);}
.preview-table th{background:var(--border);color:var(--text);font-weight:600;}
.el-bg-wood{background:rgba(39,174,96,0.15) !important;color:#27AE60;}
.el-bg-fire{background:rgba(231,76,60,0.15) !important;color:#E74C3C;}
.el-bg-earth{background:rgba(243,156,18,0.15) !important;color:#F39C12;}
.el-bg-metal{background:rgba(149,165,166,0.15) !important;color:#95A5A6;}
.el-bg-water{background:rgba(52,152,219,0.15) !important;color:#3498DB;}
.preview-table sub{display:block;font-size:0.95em;margin-top:2px;}
.btn{border:none;border-radius:10px;padding:12px 16px;font-size:1em;font-family:inherit;cursor:pointer;transition:background 0.2s,transform 0.2s;}
.btn:disabled{opacity:0.6;cursor:not-allowed;}
.btn-primary{background:var(--primary);color:#fff;font-weight:600;}
.btn-primary:hover:not(:disabled){background:var(--primary-light);transform:translateY(-1px);}
.btn-secondary{background:var(--card);color:var(--text);border:1px solid var(--border);}
.btn-secondary:hover:not(:disabled){background:#E8E4DC;border-color:var(--primary);}
.btn-cancel{background:var(--card);color:var(--text);border:1px solid var(--border);flex:1;}
.btn-cancel:hover:not(:disabled){background:#E8E4DC;}
.action-row{display:flex;gap:12px;padding:20px 16px 30px;background:var(--card);}
.action-row .btn{flex:1;}
.spinner{display:inline-block;width:12px;height:12px;border:2px solid rgba(255,255,255,0.3);border-top-color:white;border-radius:50%;animation:spin 0.8s linear infinite;margin-right:6px;}
@keyframes spin{to{transform:rotate(360deg);}
}
.result-header{padding:24px 16px;background:linear-gradient(135deg,#FFFFFF,#F0EDE6);border-bottom:1px solid var(--border);text-align:center;}
.result-header .headline{font-family:'Noto Serif KR',serif;font-size:1.05em;font-weight:700;color:var(--primary);margin-bottom:10px;word-break:keep-all;line-height:1.5;padding:0 16px;}
.result-header .hashtags{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;}
.hashtag{display:inline-block;padding:8px 18px;background:linear-gradient(135deg,rgba(232,168,64,0.12),rgba(123,79,191,0.1));border:1px solid rgba(232,168,64,0.3);border-radius:20px;font-family:'Noto Serif KR',serif;font-size:1.1em;font-weight:700;color:var(--primary);letter-spacing:0.5px;}
.ohang-section{padding:20px 16px;background:var(--card);margin:12px;border-radius:12px;border:1px solid var(--border);}
.ohang-section .section-title{text-align:center;margin-bottom:16px;}
.ohang-ring-wrap{display:flex;justify-content:center;align-items:center;padding:8px 0;}
.ohang-ring-wrap svg{max-width:320px;width:100%;height:auto;}
.ohang-total{text-align:center;margin-top:16px;padding:10px 0 4px;border-top:1px solid rgba(0,0,0,0.04);}
.ohang-total-label{font-size:0.95em;color:var(--text-dim);margin-right:6px;}
.ohang-total-value{font-size:1.1em;font-weight:800;color:var(--primary);}
.ohang-explanation{margin-top:12px;padding:16px 16px;background:var(--surface);border-radius:12px;border:1px solid var(--border);color:var(--text-sub);font-family:'Noto Sans KR',sans-serif;font-size:0.95em;line-height:1.85;}
.ohang-explanation .expl-title{font-family:'Noto Serif KR',serif;font-size:1.15em;font-weight:700;color:var(--purple);margin-bottom:10px;display:block;}
.ohang-explanation .expl-item{display:flex;align-items:flex-start;gap:6px;margin-bottom:6px;}
.ohang-explanation .expl-item:last-child{margin-bottom:0;}
.ohang-explanation .expl-bullet{color:var(--primary);flex-shrink:0;font-weight:700;}
.ohang-explanation .expl-highlight{color:var(--text);font-weight:600;}
.ohang-explanation .expl-tie{background:rgba(232,168,64,0.06);border-radius:8px;padding:10px 10px 10px 6px;margin:8px 0;border-left:3px solid var(--primary);}
.ohang-explanation .expl-tie-text{font-size:0.88em;line-height:1.65;color:var(--text);}
.ohang-explanation .expl-sub{display:block;margin-top:6px;font-size:0.82em;color:var(--text-sub);line-height:1.55;}
.ohang-explanation .expl-oneliner{display:block;font-family:'Noto Serif KR',serif;font-size:1.15em;font-weight:700;color:var(--text);text-align:center;line-height:1.7;margin:16px 0 14px;padding:14px 12px;background:linear-gradient(135deg,#FFFDF8,#FDF6EA);border:1px solid var(--primary);border-radius:10px;box-shadow:0 1px 8px rgba(200,135,46,0.1);}
.ohang-explanation .expl-empathy{display:block;margin:14px 0 6px;font-size:0.95em;color:var(--text);font-weight:600;}
.ohang-explanation .expl-question{display:flex;align-items:flex-start;gap:6px;margin-bottom:8px;color:var(--text-sub);font-style:italic;}
.ohang-explanation .expl-question .q-dot{color:var(--purple);font-style:normal;flex-shrink:0;}
.ohang-explanation .expl-cta-wrap{text-align:center;margin-top:18px;padding-top:14px;border-top:1px solid var(--border);}
.ohang-explanation .expl-cta-msg{font-size:0.95em;color:var(--text-sub);margin-bottom:12px;line-height:1.6;}
.ohang-explanation .expl-cta-btn{display:inline-block;padding:12px 28px;border-radius:24px;background:var(--primary);color:#fff;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;font-weight:600;border:none;cursor:pointer;transition:background 0.2s;}
.ohang-explanation .expl-cta-btn:hover{background:var(--primary-light);}
.discovery-cards-wrap{overflow:hidden;position:relative;}
.discovery-slider{display:flex;transition:transform 0.4s ease;touch-action:pan-y;}
.discovery-card{min-width:100%;padding:24px 20px;text-align:center;box-sizing:border-box;}
.discovery-card .disc-icon{font-size:2.2em;margin-bottom:12px;}
.discovery-card .disc-element{font-family:'Noto Serif KR',serif;font-size:0.95em;font-weight:700;margin-bottom:10px;letter-spacing:1px;}
.discovery-card .disc-quote{font-family:'Noto Serif KR',serif;font-size:1.1em;font-weight:700;color:var(--text);line-height:1.7;margin-bottom:14px;padding:0 8px;}
.discovery-card .disc-desc{font-size:0.95em;color:var(--text-sub);line-height:1.6;}
.discovery-dots{display:flex;justify-content:center;gap:8px;padding:12px 0 4px;}
.discovery-dot{width:8px;height:8px;border-radius:50%;background:var(--border);border:none;cursor:pointer;transition:background 0.3s,transform 0.3s;padding:0;}
.discovery-dot.active{background:var(--primary);transform:scale(1.3);}
.today-insight-card{padding:20px;text-align:center;background:linear-gradient(135deg,#FFFDF8,#FDF6EA);border:1.5px solid var(--primary);border-radius:14px;box-shadow:0 2px 12px rgba(200,135,46,0.1);position:relative;overflow:hidden;}
.today-insight-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-dark),var(--primary-light),var(--primary-dark));}
.today-insight-card .today-date{font-size:0.9em;color:var(--text-dim);margin-bottom:10px;}
.today-insight-card .today-label{font-family:'Noto Serif KR',serif;font-size:0.9em;color:var(--purple);font-weight:700;margin-bottom:8px;}
.today-insight-card .today-quote{font-family:'Noto Serif KR',serif;font-size:1.15em;font-weight:700;color:var(--text);line-height:1.6;margin-bottom:12px;}
.today-insight-card .today-tip{font-size:0.95em;color:var(--text-sub);line-height:1.5;}
.today-insight-card .today-tip strong{color:var(--primary);}
.ai-waiting-typo{text-align:center;padding:32px 20px 48px;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;}
.ai-waiting-typo .typo-line{font-family:'Noto Serif KR',serif;font-size:1.15em;font-weight:700;color:var(--text);line-height:1.7;opacity:0;transition:opacity 0.6s ease;position:absolute;}
.ai-waiting-typo .typo-line.visible{opacity:1;}
.ai-waiting-typo .typo-sub{font-family:'Noto Sans KR',sans-serif;font-size:0.82em;font-weight:400;color:var(--text-dim);margin-top:40px;position:absolute;bottom:20px;}
.ai-waiting-typo .typo-glow{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,rgba(200,135,46,0.12) 0%,transparent 70%);animation:glowPulse 2.5s ease-in-out infinite;pointer-events:none;}
@keyframes glowPulse{0%,100%{transform:scale(1);opacity:0.6;}
50%{transform:scale(1.3);opacity:1;}
}
.yeouiju-crack-progress{position:absolute;bottom:10px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;}
.yeouiju-crack-progress .crack-orb{width:32px;height:32px;position:relative;}
.yeouiju-crack-progress .crack-glow{position:absolute;inset:-8px;border-radius:50%;background:radial-gradient(circle,rgba(200,135,46,0.25) 0%,transparent 70%);opacity:0;transition:opacity 0.6s;}
.yeouiju-crack-progress.active .crack-glow{opacity:1;}
.yeouiju-crack-progress .crack-pct{font-size:0.7em;color:var(--text-dim);font-family:'Noto Sans KR',sans-serif;}
.ohang-deep-section{margin-top:12px;border:1px solid var(--border);border-radius:12px;overflow:hidden;background:var(--surface);transition:border-color 0.4s,box-shadow 0.4s;}
.ohang-deep-section + .ohang-deep-section{margin-top:8px;}
.ohang-deep-header{display:flex;align-items:center;gap:10px;padding:14px 16px;cursor:pointer;background:var(--surface);border:none;width:100%;text-align:left;font-family:'Noto Serif KR',serif;font-size:1.05em;font-weight:700;color:var(--text);transition:background 0.2s;}
.ohang-deep-header:hover{background:rgba(0,0,0,0.02);}
.ohang-deep-header .deep-arrow{margin-left:auto;font-size:0.95em;color:var(--text-dim);transition:transform 0.3s;}
.ohang-deep-section.open .deep-arrow{transform:rotate(180deg);}
.ohang-deep-header .deep-icon{font-size:1.2em;}
.ohang-deep-body{max-height:0;overflow:hidden;transition:max-height 0.4s ease;}
.ohang-deep-section.open .ohang-deep-body{max-height:2000px;}
.ohang-deep-content{padding:0 16px 16px;color:var(--text-sub);font-size:1.0em;line-height:1.85;}
.ohang-deep-content p{margin-bottom:8px;}
.ohang-deep-typing::after{content:'▊';animation:blink 0.7s infinite;color:var(--primary);}
@keyframes blink{0%,100%{opacity:1;}
50%{opacity:0;}
}
.deep-status{font-size:0.95em;font-weight:400;color:var(--text-dim);display:flex;align-items:center;gap:4px;white-space:nowrap;}
.deep-status .status-icon{font-size:1em;}
.ohang-deep-section.pending{opacity:0.5;pointer-events:none;}
.ohang-deep-section.pending .ohang-deep-header{cursor:default;}
.ohang-deep-section.streaming{border-color:rgba(232,168,64,0.3);pointer-events:none;}
.ohang-deep-section.streaming .ohang-deep-body{max-height:80px;}
.deep-blur-preview{padding:8px 16px 16px;color:var(--text-sub);font-size:0.95em;line-height:1.8;filter:blur(4px);user-select:none;opacity:0.6;overflow:hidden;max-height:60px;}
@keyframes streamPulse{0%,100%{opacity:0.5;}
50%{opacity:1;}
}
.ohang-deep-section.streaming .status-icon{animation:streamPulse 1.5s ease-in-out infinite;}
.ohang-deep-section.completed{pointer-events:auto;opacity:1;}
.ohang-deep-section.completed .deep-status{color:#27AE60;margin-left:auto;}
.ohang-deep-section.completed .deep-arrow{display:none;}
@keyframes goldFlash{0%{border-color:var(--border);box-shadow:none;}
30%{border-color:var(--primary);box-shadow:0 0 12px rgba(232,168,64,0.35);}
100%{border-color:var(--border);box-shadow:none;}
}
.ohang-deep-section.flash{animation:goldFlash 1s ease-out;}
.deep-progress-bar{display:flex;flex-direction:column;align-items:center;padding:16px 16px 12px;margin-bottom:4px;gap:6px;}
.deep-progress-orb{position:relative;width:40px;height:40px;}
.deep-progress-orb .orb-glow{position:absolute;inset:-10px;border-radius:50%;background:radial-gradient(circle,rgba(200,135,46,0.2) 0%,transparent 70%);transition:opacity 0.6s;opacity:0.4;}
.deep-progress-orb svg{width:40px;height:40px;}
.deep-progress-meta{display:flex;align-items:center;gap:8px;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;color:var(--text-dim);}
.deep-progress-track{width:120px;height:3px;background:rgba(0,0,0,0.04);border-radius:2px;overflow:hidden;}
.deep-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:2px;transition:width 0.4s ease;}
.deep-progress-text{white-space:nowrap;}
@keyframes orbPulse{0%,100%{filter:drop-shadow(0 0 4px rgba(200,135,46,0.3));}
50%{filter:drop-shadow(0 0 10px rgba(200,135,46,0.6));}
}
.deep-progress-orb.cracking svg{animation:orbPulse 2s ease-in-out infinite;}
.deep-quant-summary{padding:16px;margin-bottom:8px;background:var(--card);border:1px solid var(--border);border-radius:12px;}
.deep-quant-header{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-family:'Noto Serif KR',serif;font-size:0.9em;font-weight:700;color:var(--text);}
.deep-quant-header .quant-icon{font-size:1.3em;}
.deep-quant-items{display:flex;flex-direction:column;gap:8px;}
.deep-quant-item{display:flex;align-items:baseline;gap:8px;font-size:0.84em;color:var(--text-sub);line-height:1.6;}
.deep-quant-item .q-label{font-weight:600;color:var(--text);white-space:nowrap;min-width:72px;}
.deep-quant-item .q-value{color:var(--primary);font-weight:600;}
.deep-quant-cta{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:0.9em;color:var(--text-dim);text-align:center;animation:streamPulse 2s ease-in-out infinite;}
.deep-quant-cta .quant-cta-icon{font-size:1.1em;margin-right:4px;}
.birth-info-card{margin:12px 12px 0;padding:14px 20px;background:linear-gradient(135deg,#FFFDF8,#FDF6EA);border:1.5px solid var(--primary);border-radius:12px;box-shadow:0 2px 12px rgba(200,135,46,0.12),inset 0 1px 0 rgba(255,255,255,0.8);text-align:center;position:relative;overflow:hidden;}
.birth-info-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-dark),var(--primary-light),var(--primary-dark));}
.birth-info-card .info-detail{font-family:'Noto Serif KR',serif;font-size:1.1em;font-weight:700;color:var(--text);letter-spacing:1.5px;}
.birth-info-card .info-detail .lunar{display:block;font-family:'Noto Sans KR',sans-serif;font-size:0.95em;font-weight:400;color:var(--text-dim);letter-spacing:0.5px;margin-top:4px;}
.birth-info-card .gold-accent{color:var(--primary);font-size:0.95em;margin:0 6px;}
.saju-haesul-header{text-align:center;padding:20px 0 8px;}
.saju-haesul-header h3{font-size:1.3em;color:var(--primary);font-family:'Noto Serif KR',serif;margin:0 0 6px;}
.saju-haesul-sub{font-size:0.82em;color:var(--text-dim);margin:0;}
.saju-titles-list{display:flex;flex-direction:column;gap:10px;padding:4px 0;}
.saju-title-item{background:rgba(255,255,255,0.03);border:1px solid rgba(0,0,0,0.06);border-radius:14px;overflow:hidden;transition:border-color 0.3s,box-shadow 0.3s;}
.saju-title-item:hover{border-color:rgba(200,169,126,0.2);}
.saju-title-item.active{border-color:rgba(200,169,126,0.35);box-shadow:0 2px 16px rgba(200,169,126,0.08);}
.saju-title-btn{width:100%;background:none;border:none;padding:20px 20px;display:flex;align-items:center;gap:16px;cursor:pointer;text-align:left;transition:background 0.2s;}
.saju-title-btn:hover{background:rgba(232,168,64,0.04);}
.saju-title-btn:active{background:rgba(200,135,46,0.1);}
.saju-title-icon{font-size:1.6em;flex-shrink:0;width:36px;text-align:center;}
.saju-title-text{flex:1;font-size:1.15em;font-weight:700;color:var(--text);line-height:1.5;letter-spacing:-0.02em;}
.saju-title-arrow{font-size:1.1em;color:var(--text-dim);transition:transform 0.3s;flex-shrink:0;opacity:0.5;}
.saju-title-item.active .saju-title-arrow{transform:rotate(180deg);color:var(--primary);opacity:1;}
.saju-title-item.active .saju-title-btn{background:rgba(232,168,64,0.05);}
.saju-title-item.active .saju-title-text{color:var(--primary);}
.saju-detail-body{display:none;padding:0 20px 24px 20px;color:var(--text-sub);font-size:1.05em;line-height:1.9;border-top:1px solid rgba(0,0,0,0.04);animation:fadeSlideDown 0.3s ease;}
.saju-detail-body.open{display:block;}
.saju-detail-body p{margin:12px 0;}
.saju-detail-body strong{color:var(--primary);font-weight:700;}
.saju-detail-body em{color:#B08CFF;}
.yeouiju-ritual-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(11,10,18,0.92);z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;opacity:0;animation:ritualFadeIn 0.6s ease forwards;}
@keyframes ritualFadeIn{to{opacity:1;}
}
.ritual-orb{width:80px;height:80px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#F0C060,#9B6FDF,#7B4FBF);box-shadow:0 0 40px rgba(155,111,223,0.5),0 0 80px rgba(232,168,64,0.3);animation:ritualPulse 1.5s ease-in-out infinite;}
@keyframes ritualPulse{0%,100%{transform:scale(1);box-shadow:0 0 40px rgba(155,111,223,0.5);}
50%{transform:scale(1.08);box-shadow:0 0 60px rgba(232,168,64,0.6);}
}
.ritual-pillars{display:flex;gap:16px;margin-top:8px;}
.ritual-pillar{display:flex;flex-direction:column;align-items:center;gap:4px;opacity:0.2;transition:all 0.8s ease;}
.ritual-pillar.lit{opacity:1;}
.ritual-pillar .rp-hanja{font-family:'Noto Serif KR',serif;font-size:1.4em;font-weight:700;color:#F0EDE8;text-shadow:0 0 12px rgba(232,168,64,0.6);}
.ritual-pillar .rp-label{font-size:0.7em;color:rgba(240,237,232,0.5);}
.ritual-pillar.lit .rp-label{color:var(--primary);}
.ritual-beam{width:2px;height:0;background:linear-gradient(180deg,rgba(232,168,64,0.8),transparent);transition:height 0.6s ease;margin-bottom:-8px;}
.ritual-beam.active{height:30px;}
.ritual-text{font-family:'Noto Serif KR',serif;font-size:0.9em;color:rgba(240,237,232,0.6);letter-spacing:1px;margin-top:8px;}
.ritual-crack{animation:ritualCrack 0.5s ease forwards;}
@keyframes ritualCrack{0%{transform:scale(1);}
50%{transform:scale(1.2);box-shadow:0 0 100px rgba(232,168,64,0.9);}
100%{transform:scale(0);opacity:0;}
}
.typing-reveal{overflow:hidden;}
.typing-char{opacity:0;animation:charReveal 0.05s ease forwards;}
@keyframes charReveal{to{opacity:1;}
}
@keyframes fadeSlideDown{from{opacity:0;transform:translateY(-8px);}
to{opacity:1;transform:translateY(0);}
}
.saju-title-enter{opacity:0;transform:translateY(12px);transition:opacity 0.35s ease,transform 0.35s ease;}
.saju-title-item:not(.saju-title-enter){opacity:1;transform:translateY(0);}
.saju-progress-loading{padding:24px 20px;text-align:left;}
.saju-progress-loading .yeouiju-icon{font-size:1.6em;display:inline-block;animation:yeouijuGlow 1.5s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(232,168,64,0.6));vertical-align:middle;margin-right:8px;}
.saju-progress-info{display:flex;justify-content:space-between;align-items:center;margin:8px 0 8px 0;}
.saju-progress-text{color:var(--primary);font-size:0.95em;font-weight:500;}
.saju-progress-pct{color:var(--primary);font-size:0.95em;font-weight:700;min-width:36px;text-align:right;}
.saju-progress-track{width:100%;height:6px;background:rgba(0,0,0,0.06);border-radius:3px;overflow:hidden;}
.saju-progress-fill{height:100%;background:linear-gradient(90deg,var(--primary),#E8D5B5);border-radius:3px;transition:width 0.3s ease;box-shadow:0 0 8px rgba(232,168,64,0.4);}
.saju-detail-progress{padding:16px 0 12px 0;}
.saju-detail-progress .yeouiju-icon{font-size:1.2em;display:inline-block;animation:yeouijuGlow 1.5s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(232,168,64,0.5));vertical-align:middle;margin-right:6px;}
.saju-detail-progress .saju-progress-info{margin:6px 0 6px 0;}
.saju-detail-progress .saju-progress-text{font-size:0.82em;}
.saju-detail-progress .saju-progress-pct{font-size:0.82em;}
.saju-detail-progress .saju-progress-track{height:4px;}
@keyframes spin{to{transform:rotate(360deg);}
}
.saju-title-tag{font-size:0.7em;color:var(--primary);background:rgba(200,169,126,0.12);padding:3px 10px;border-radius:10px;flex-shrink:0;font-weight:500;letter-spacing:0.02em;}
.saju-mini-interp{padding:8px 16px 12px 48px;font-size:0.95em;color:var(--text-dim);line-height:1.65;letter-spacing:-0.01em;border-bottom:1px solid rgba(200,169,126,0.08);}
.saju-title-item.active .saju-mini-interp{display:none !important;}
@keyframes brainPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 8px rgba(123,79,191,0.4));}
50%{transform:scale(1.08);filter:drop-shadow(0 0 16px rgba(123,79,191,0.7));}
}
@keyframes brainWave{0%{background-position:-200% 0;}
100%{background-position:200% 0;}
}
.brain-pulse-icon{display:inline-block;font-size:2.4em;animation:brainPulse 1.5s ease-in-out infinite;}
.brain-progress-wave{height:6px;background:linear-gradient(90deg,transparent,var(--purple),var(--purple-light),var(--purple),transparent);background-size:200% 100%;border-radius:3px;animation:brainWave 2s linear infinite;}
.brain-title-item{background:rgba(123,79,191,0.04);border:1px solid rgba(123,79,191,0.12);border-radius:14px;overflow:hidden;transition:border-color 0.3s,box-shadow 0.3s;}
.brain-title-item:hover{border-color:rgba(123,79,191,0.3);}
.brain-title-item.active{border-color:rgba(123,79,191,0.45);box-shadow:0 2px 16px rgba(123,79,191,0.12);}
.brain-title-btn{width:100%;background:none;border:none;padding:20px 20px;display:flex;align-items:center;gap:16px;cursor:pointer;text-align:left;transition:background 0.2s;}
.brain-title-btn:hover{background:rgba(123,79,191,0.06);}
.brain-title-btn:active{background:rgba(123,79,191,0.1);}
.brain-title-icon{font-size:1.6em;flex-shrink:0;width:36px;text-align:center;}
.brain-title-text{flex:1;font-size:1.1em;font-weight:700;color:var(--text);line-height:1.5;letter-spacing:-0.02em;}
.brain-title-arrow{font-size:1.1em;color:var(--text-dim);transition:transform 0.3s;flex-shrink:0;opacity:0.5;}
.brain-title-item.active .brain-title-arrow{transform:rotate(180deg);color:var(--purple-light);opacity:1;}
.brain-title-item.active .brain-title-btn{background:rgba(123,79,191,0.06);}
.brain-title-item.active .brain-title-text{color:var(--purple-light);}
.brain-title-tag{font-size:0.7em;color:var(--purple-light);background:rgba(123,79,191,0.15);padding:3px 10px;border-radius:10px;flex-shrink:0;font-weight:500;}
.brain-mini-interp{padding:8px 16px 12px 48px;font-size:0.95em;color:var(--text-dim);line-height:1.55;letter-spacing:-0.01em;border-bottom:1px solid rgba(123,79,191,0.1);}
.brain-title-item.active .brain-mini-interp{display:none !important;}
.brain-detail-body{display:none;padding:0 20px 24px 20px;color:var(--text-sub);font-size:0.93em;line-height:1.85;border-top:1px solid rgba(123,79,191,0.1);animation:fadeSlideDown 0.3s ease;}
.brain-detail-body.open{display:block;}
.brain-detail-body strong{color:var(--purple-light);font-weight:700;}
.structured-detail{display:flex;flex-direction:column;gap:12px;}
.sd-block{border-radius:10px;overflow:hidden;}
.sd-header,.sd-toggle{display:flex;align-items:center;gap:8px;padding:10px 14px;width:100%;background:none;border:none;cursor:pointer;font-size:0.88em;font-weight:600;color:var(--text);text-align:left;font-family:inherit;}
.sd-toggle:hover{background:rgba(0,0,0,0.02);}
.sd-icon{font-size:1.1em;flex-shrink:0;}
.sd-label{flex:1;}
.sd-arrow{font-size:0.8em;color:var(--text-dim);transition:transform 0.3s;}
.sd-open .sd-arrow{transform:rotate(180deg);}
.sd-body{padding:0 14px 14px;font-size:0.93em;line-height:1.7;color:var(--text-sub);}
.sd-body strong{color:var(--primary);}
.sd-body-collapsible{max-height:0;overflow:hidden;opacity:0;padding:0 14px;font-size:0.88em;line-height:1.7;color:var(--text-dim);transition:max-height 0.4s ease,opacity 0.3s ease,padding 0.3s ease;}
.sd-open .sd-body-collapsible{max-height:500px;opacity:1;padding:0 14px 14px;}
.sd-insight{background:linear-gradient(135deg,rgba(232,168,64,0.08),rgba(123,79,191,0.06));}
.sd-insight .sd-body{font-size:1.05em;font-weight:600;color:var(--text);line-height:1.5;}
.sd-now{background:rgba(0,0,0,0.02);}
.sd-action{background:rgba(39,174,96,0.05);}
.sd-action .sd-body{color:var(--text);}
.sd-science,.sd-deep{background:rgba(0,0,0,0.02);border:1px dashed rgba(0,0,0,0.08);}
.brain-title-enter{opacity:0;transform:translateY(12px);transition:opacity 0.35s ease,transform 0.35s ease;}
.brain-title-item:not(.brain-title-enter){opacity:1;transform:translateY(0);}
.growth-title-item{background:rgba(255,255,255,0.03);border:1px solid rgba(0,0,0,0.06);border-radius:14px;overflow:hidden;transition:border-color 0.3s,box-shadow 0.3s;}
.growth-title-item:hover{border-color:rgba(232,168,64,0.2);}
.growth-title-item.active{border-color:rgba(232,168,64,0.35);box-shadow:0 2px 16px rgba(200,135,46,0.1);}
.growth-title-btn{width:100%;background:none;border:none;padding:20px 20px;display:flex;align-items:center;gap:16px;cursor:pointer;text-align:left;transition:background 0.2s;}
.growth-title-btn:hover{background:rgba(232,168,64,0.04);}
.growth-title-btn:active{background:rgba(200,135,46,0.1);}
.growth-title-icon{font-size:1.6em;flex-shrink:0;width:36px;text-align:center;}
.growth-title-text{flex:1;font-size:1.1em;font-weight:700;color:var(--text);line-height:1.5;letter-spacing:-0.02em;}
.growth-title-arrow{font-size:1.1em;color:var(--text-dim);transition:transform 0.3s;flex-shrink:0;opacity:0.5;}
.growth-title-item.active .growth-title-arrow{transform:rotate(180deg);color:var(--primary);opacity:1;}
.growth-title-item.active .growth-title-btn{background:rgba(232,168,64,0.05);}
.growth-title-item.active .growth-title-text{color:var(--primary);}
.growth-title-tag{font-size:0.7em;padding:2px 8px;border-radius:10px;background:rgba(232,168,64,0.12);color:var(--primary);white-space:nowrap;flex-shrink:0;}
.growth-mini-interp{padding:0 20px 14px 72px;font-size:0.95em;line-height:1.6;color:var(--text-dim);margin-top:-8px;}
.growth-detail-body{display:none;padding:0 20px 24px 20px;color:var(--text-sub);font-size:0.93em;line-height:1.85;border-top:1px solid rgba(232,168,64,0.1);animation:fadeSlideDown 0.3s ease;}
.growth-detail-body.open{display:block;}
.growth-detail-body p{margin:12px 0;}
.growth-detail-body strong{color:var(--primary);font-weight:700;}
.growth-title-enter{opacity:0;transform:translateY(12px);transition:opacity 0.35s ease,transform 0.35s ease;}
.growth-title-item:not(.growth-title-enter){opacity:1;transform:translateY(0);}
@keyframes growthPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 4px rgba(232,168,64,0.3));}
50%{transform:scale(1.15);filter:drop-shadow(0 0 12px rgba(232,168,64,0.6));}
}
.growth-pulse-icon{display:inline-block;animation:growthPulse 1.5s ease-in-out infinite;}
.analysis-menu{margin:12px;display:flex;flex-direction:column;gap:8px;}
.analysis-menu-card{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--card);border:1px solid var(--border);border-radius:12px;cursor:pointer;transition:border-color 0.2s,background 0.2s;width:100%;text-align:left;color:var(--text);font-family:inherit;}
.analysis-menu-card:hover{border-color:var(--primary);background:#F0EDE6;}
.analysis-menu-card .menu-icon{font-size:1.3em;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:rgba(232,168,64,0.1);border-radius:8px;flex-shrink:0;}
.analysis-menu-card .menu-body{flex:1;}
.analysis-menu-card .menu-title{font-weight:700;font-size:1.0em;margin-bottom:2px;}
.analysis-menu-card .menu-desc{font-size:0.95em;color:var(--text-dim);}
.analysis-menu-card .menu-arrow{color:var(--text-dim);font-size:1.2em;}
.lucky-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:16px 12px;}
.lucky-item{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:12px;text-align:center;}
.lucky-icon{font-size:2em;display:block;margin-bottom:4px;}
.lucky-label{font-size:0.95em;color:var(--text-sub);margin-bottom:4px;display:block;}
.lucky-value{font-size:0.95em;color:var(--primary);font-weight:600;}
.result-pillar-section{margin:12px;padding:16px;background:var(--card);border-radius:12px;border:1px solid var(--border);}
.section-title{font-family:'Noto Serif KR',serif;font-size:1.2em;font-weight:700;color:var(--text);margin-bottom:12px;}
.stem-row,.branch-row{background:#F5F3EF;}
.dw-section{}
.dw-current-card{background:linear-gradient(135deg,#FAF6F0 0%,#F5F0E8 100%);border:1.5px solid var(--primary);border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:16px;box-shadow:0 2px 12px rgba(200,135,46,0.08);}
.dw-current-ganji{font-family:'Noto Serif KR',serif;font-size:1.6em;font-weight:700;color:var(--text);letter-spacing:2px;line-height:1;}
.dw-current-info{flex:1;display:flex;flex-direction:column;gap:3px;}
.dw-current-label{font-size:0.95em;color:var(--primary);font-weight:600;}
.dw-current-meta{font-size:0.82em;color:var(--text-sub);}
.dw-toggle-btn{display:flex;align-items:center;justify-content:center;gap:4px;margin-top:10px;padding:8px 0;font-size:0.9em;color:var(--text-dim);cursor:pointer;border:none;background:none;width:100%;transition:color 0.2s;}
.dw-toggle-btn:hover{color:var(--primary);}
.dw-toggle-btn .arrow{transition:transform 0.3s;}
.dw-toggle-btn.open .arrow{transform:rotate(180deg);}
.dw-all-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px;max-height:0;overflow:hidden;transition:max-height 0.4s ease,opacity 0.3s ease;opacity:0;}
.dw-all-grid.open{max-height:600px;opacity:1;margin-top:8px;}
.dw-card{background:#F5F3EF;border:1px solid var(--border);border-radius:10px;padding:8px 6px;text-align:center;font-size:0.9em;}
.dw-card.is-current{border-color:var(--primary);background:rgba(200,169,126,0.1);}
.dw-card .dw-age{color:var(--primary);font-weight:600;font-size:0.82em;margin-bottom:2px;}
.dw-card .dw-gz{color:var(--text);font-size:1em;font-family:'Noto Serif KR',serif;}
.dw-card .dw-ten-god{color:var(--text-sub);font-size:0.72em;margin-top:2px;}
.dw-card.current-year{border-color:var(--primary);background:rgba(200,169,126,0.1);}
.dw-stage{color:var(--text-sub);font-size:0.72em;margin-top:1px;}
.daewoon-scroll{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px;}
.interp-section{margin:8px 12px;background:var(--card);border:1px solid var(--border);border-radius:12px;overflow:hidden;}
.interp-section.open .interp-body{display:block;padding:16px;border-top:1px solid var(--border);background:#F5F3EF;}
.interp-header{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;background:none;border:none;color:var(--text);cursor:pointer;transition:background 0.2s;}
.interp-header:hover{background:#E8E4DC;}
.interp-icon{font-size:1.3em;width:30px;}
.interp-title{flex:1;text-align:left;font-weight:500;font-size:0.95em;}
.interp-body{display:none;}
.interp-body p{color:var(--text-sub);line-height:1.7;margin-bottom:12px;font-size:0.9em;}
.detail-list{list-style:none;padding-left:0;}
.detail-list li{color:var(--text-sub);line-height:1.6;font-size:0.9em;padding:4px 0;}
.detail-list li:before{content:"• ";color:var(--primary);margin-right:6px;}
.arrow{transition:transform 0.2s;color:var(--text-sub);}
.interp-section.open .arrow{transform:rotate(180deg);}
.yeouiju-packages{margin:16px 12px;}
.yeouiju-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding:0 4px;}
.yeouiju-header h3{font-size:1.1em;color:var(--primary);margin:0;}
.yeouiju-balance{background:linear-gradient(135deg,#FDF8F0,#F5EDE0);border:1px solid var(--primary);border-radius:20px;padding:4px 14px;font-size:0.9em;color:var(--primary);font-weight:700;}
.yeouiju-cards{display:flex;flex-direction:column;gap:8px;}
.yeouiju-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;transition:all 0.2s;text-align:left;width:100%;}
.yeouiju-card:hover{border-color:var(--primary);background:#F0EDE6;}
.yeouiju-card.expanded{border-radius:12px 12px 0 0;border-bottom:none;border-color:var(--primary);}
.yeouiju-card.purchased{border-color:var(--primary);opacity:0.7;}
.yeouiju-card.purchased .pkg-cost{color:#27AE60;font-size:0.9em;}
.pkg-icon{font-size:1.8em;flex-shrink:0;}
.pkg-info{flex:1;}
.pkg-title{font-size:0.95em;font-weight:700;color:var(--text);margin-bottom:2px;}
.pkg-desc{font-size:0.95em;color:var(--text-sub);}
.pkg-cost{font-size:0.82em;color:var(--primary);font-weight:600;white-space:nowrap;}
.yeouiju-result{margin-top:0;padding:16px;background:var(--card);border:1px solid var(--border);border-top:none;border-radius:0 0 12px 12px;color:var(--text-sub);font-size:0.9em;line-height:1.7;}
.yeouiju-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);z-index:9999;display:flex;align-items:center;justify-content:center;}
.yeouiju-modal{background:var(--surface);border:1px solid var(--primary);border-radius:16px;padding:28px;max-width:360px;width:90%;text-align:center;}
.yeouiju-modal h3{color:var(--primary);margin-bottom:12px;}
.yeouiju-modal p{color:var(--text-sub);font-size:0.9em;line-height:1.6;margin-bottom:20px;}
.yeouiju-modal-btns{display:flex;gap:10px;justify-content:center;}
.yeouiju-modal-btns button{padding:10px 24px;border-radius:8px;font-size:0.9em;font-weight:600;cursor:pointer;}
.yeouiju-modal-btns .btn-charge{background:var(--primary);color:#fff;border:none;}
.yeouiju-modal-btns .btn-cancel{background:transparent;color:var(--text-sub);border:1px solid var(--border);}
.btn-timeline-verify{width:100%;padding:14px;background:linear-gradient(135deg,rgba(123,79,191,0.2),rgba(232,168,64,0.2));border:1px solid var(--primary-dim,#C88A28);border-radius:12px;color:var(--primary);font-size:1.0em;font-weight:600;cursor:pointer;transition:all 0.3s;}
.btn-timeline-verify:hover{background:linear-gradient(135deg,rgba(123,79,191,0.35),rgba(232,168,64,0.35));box-shadow:0 0 16px rgba(232,168,64,0.2);}
.timeline-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.7);z-index:9999;display:flex;align-items:center;justify-content:center;}
.timeline-modal{background:var(--surface);border:1px solid var(--primary);border-radius:16px;padding:28px;max-width:380px;width:90%;}
.timeline-modal h3{color:var(--primary);margin-bottom:8px;text-align:center;}
.timeline-modal p{color:var(--text-sub);font-size:0.85em;line-height:1.5;margin-bottom:16px;text-align:center;}
.timeline-year-inputs{display:flex;flex-direction:column;gap:10px;margin-bottom:20px;}
.timeline-year-inputs label{color:var(--text-sub);font-size:0.85em;display:flex;align-items:center;gap:8px;}
.timeline-year-inputs input{flex:1;padding:10px 12px;background:var(--card);border:1px solid var(--border);border-radius:8px;color:var(--text);font-size:1.0em;text-align:center;}
.timeline-year-inputs input::placeholder{color:var(--text-dim);}
.timeline-modal-btns{display:flex;gap:10px;justify-content:center;}
.timeline-modal-btns button{padding:10px 24px;border-radius:8px;font-size:0.9em;font-weight:600;cursor:pointer;}
.timeline-modal-btns .btn-submit{background:var(--primary);color:#fff;border:none;}
.timeline-modal-btns .btn-submit:disabled{opacity:0.4;cursor:not-allowed;}
.timeline-modal-btns .btn-cancel{background:transparent;color:var(--text-sub);border:1px solid var(--border);}
.timeline-result-card{margin-top:16px;padding:20px;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--text-sub);line-height:1.8;font-size:0.95em;}
.timeline-result-card h2{color:var(--primary);font-size:1.1em;margin:20px 0 8px;font-family:'Noto Serif KR',serif;}
.timeline-result-card h2:first-child{margin-top:0;}
.timeline-match-badge{display:inline-block;margin-top:12px;padding:8px 16px;background:linear-gradient(135deg,rgba(232,168,64,0.2),rgba(123,79,191,0.2));border:1px solid var(--primary);border-radius:20px;color:var(--primary);font-weight:700;font-size:0.95em;}
.mbti-upsell-banner{display:flex;align-items:center;gap:12px;margin:12px;padding:14px 16px;background:linear-gradient(135deg,rgba(123,79,191,0.12),rgba(232,168,64,0.08));border:1px solid rgba(123,79,191,0.3);border-radius:12px;}
.mbti-upsell-icon{font-size:1.4em;color:var(--purple);}
.mbti-upsell-body{flex:1;}
.mbti-upsell-title{font-size:0.88em;font-weight:700;color:var(--text);line-height:1.4;}
.mbti-upsell-desc{font-size:0.75em;color:var(--text-sub);margin-top:4px;line-height:1.4;}
.mbti-upsell-btn{padding:8px 14px;background:var(--purple,#7B4FBF);color:#fff;border:none;border-radius:8px;font-size:0.82em;font-weight:600;cursor:pointer;white-space:nowrap;}
.cross-map-table{margin-top:16px;padding:16px;background:var(--card);border:1px solid var(--border);border-radius:12px;}
.cross-map-header{color:var(--primary);font-family:'Noto Serif KR',serif;font-size:1.0em;font-weight:700;margin-bottom:12px;}
.cross-map-table table{width:100%;border-collapse:collapse;font-size:0.85em;}
.cross-map-table th{padding:8px 6px;color:var(--text-dim);font-weight:600;font-size:0.8em;text-align:center;border-bottom:1px solid var(--border);}
.cross-map-sub{font-size:0.75em;opacity:0.7;}
.cross-map-table td{padding:10px 6px;text-align:center;color:var(--text-sub);border-bottom:1px solid rgba(255,255,255,0.04);}
.cross-map-area{font-weight:600;color:var(--text);text-align:left;}
.cross-map-badge{display:inline-block;padding:3px 8px;border-radius:10px;font-size:0.8em;font-weight:600;white-space:nowrap;}
.cross-map-resonance{background:rgba(39,174,96,0.15);color:#27AE60;}
.cross-map-tension{background:rgba(123,79,191,0.15);color:#9B6FDF;}
.cross-map-summary{margin-top:12px;padding-top:10px;border-top:1px solid var(--border);font-size:0.85em;color:var(--text-sub);text-align:center;line-height:1.5;}
.cross-map-score{font-weight:700;color:var(--primary);}
.detail-free-part{line-height:1.8;}
.detail-blur-lock{position:relative;margin-top:0;}
.detail-blur-lock .blur-content{filter:blur(6px);user-select:none;pointer-events:none;line-height:1.8;}
.detail-blur-lock .lock-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(transparent 0%,var(--card) 50%);display:flex;align-items:center;justify-content:center;}
.btn-unlock-detail{padding:12px 24px;background:linear-gradient(135deg,var(--primary),#C88A28);color:#fff;border:none;border-radius:12px;font-size:0.95em;font-weight:700;cursor:pointer;box-shadow:0 4px 16px rgba(232,168,64,0.3);transition:all 0.3s;}
.btn-unlock-detail:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(232,168,64,0.4);}
.ai-section{margin:16px 12px;background:linear-gradient(135deg,#FFFFFF,#F0EDE6);border:1px solid var(--border);border-radius:12px;padding:16px;}
.ai-header{margin-bottom:12px;text-align:center;}
.ai-header h3{font-family:'Noto Serif KR',serif;font-size:1.3em;color:var(--primary);margin-bottom:4px;font-weight:700;}
.ai-header p{font-size:0.9em;color:var(--text-sub);}
.ai-status{padding:12px;background:#F5F3EF;border:1px solid var(--border);border-radius:8px;text-align:center;color:var(--text-sub);font-size:0.9em;margin-bottom:12px;}
.ai-card-list{display:flex;flex-direction:column;gap:8px;}
.ai-accordion{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#F5F3EF;}
.ai-accordion.active .ai-card{background:#F0EDE6;border-color:var(--primary);}
.ai-accordion.active .ai-acc-body{display:block;}
.ai-card{display:flex;align-items:center;gap:12px;width:100%;padding:12px 14px;background:none;border:none;color:var(--text);cursor:pointer;transition:background 0.2s;text-align:left;}
.ai-card:hover{background:#F0EDE6;}
.ai-card-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:8px;font-size:1.5em;flex-shrink:0;background:rgba(200,169,126,0.1) !important;}
.ai-card-body{flex:1;}
.ai-card-title{font-weight:600;font-size:0.95em;color:var(--text);margin-bottom:2px;}
.ai-card-sub{font-size:0.9em;color:var(--text-sub);}
.ai-card-arrow{font-size:1.4em;color:var(--text-dim);transition:transform 0.2s;}
.ai-accordion.active .ai-card-arrow{transform:rotate(90deg);}
.ai-acc-body{display:none;padding:12px 14px;border-top:1px solid var(--border);background:#F5F3EF;color:var(--text-sub);line-height:1.7;font-size:0.9em;}
.ai-acc-body h3,.ai-acc-body h4{color:var(--primary);margin-top:12px;margin-bottom:6px;}
.ai-acc-body strong{color:var(--text);}
.ai-cursor{display:inline-block;width:2px;height:1em;background:var(--primary);margin-left:2px;animation:blink 1s infinite;}
@keyframes blink{50%{opacity:0;}
}
.dragon-loading{text-align:center;padding:28px 20px;}
.dragon-loading .dragon-scene{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:14px;}
.dragon-loading .dragon-char{font-size:3.2em;display:inline-block;animation:dragonFloat 2s ease-in-out infinite;}
.dragon-loading .yeouiju{font-size:2.2em;display:inline-block;animation:yeouijuGlow 1.5s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(232,168,64,0.6));}
@keyframes dragonFloat{0%,100%{transform:translateY(0) rotate(0deg);}
25%{transform:translateY(-6px) rotate(-2deg);}
75%{transform:translateY(4px) rotate(2deg);}
}
@keyframes yeouijuGlow{0%,100%{transform:scale(1);filter:drop-shadow(0 0 8px rgba(232,168,64,0.6));}
50%{transform:scale(1.15);filter:drop-shadow(0 0 18px rgba(232,168,64,0.9)) drop-shadow(0 0 30px rgba(123,79,191,0.4));}
}
.dragon-loading .loading-dots{display:flex;justify-content:center;gap:6px;margin-bottom:10px;}
.dragon-loading .loading-dots span{width:6px;height:6px;border-radius:50%;background:var(--primary);animation:dotPulse 1.4s ease-in-out infinite;}
.dragon-loading .loading-dots span:nth-child(2){animation-delay:0.2s;}
.dragon-loading .loading-dots span:nth-child(3){animation-delay:0.4s;}
@keyframes dotPulse{0%,80%,100%{opacity:0.3;transform:scale(0.8);}
40%{opacity:1;transform:scale(1.2);}
}
.dragon-loading p{color:var(--text-sub);font-size:0.92em;}
.share-bar{display:flex;gap:12px;padding:16px;background:linear-gradient(135deg,#FFFFFF,#F0EDE6);border-top:1px solid var(--border);}
.btn-share{background:var(--primary);color:#fff;font-weight:600;flex:1;}
.btn-share:hover:not(:disabled){background:var(--primary-light);}
.loading-analysis{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:70vh;padding:40px 24px;text-align:center;}
.loading-orb{font-size:3.2em;animation:orbPulse 1.8s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(232,168,64,0.4));}
@keyframes orbPulse{0%,100%{transform:scale(1);filter:drop-shadow(0 0 18px rgba(232,168,64,0.4))}50%{transform:scale(1.12);filter:drop-shadow(0 0 28px rgba(232,168,64,0.6))}}
.loading-progress-track{width:80%;max-width:300px;height:6px;background:var(--border);border-radius:3px;margin:20px auto 8px;overflow:hidden;}
.loading-progress-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--primary),var(--primary-light));border-radius:3px;transition:width 0.3s ease;}
.loading-percent{font-size:1.05em;color:var(--primary);font-weight:700;font-family:'Noto Sans KR',sans-serif;margin-bottom:28px;}
.loading-lines{width:80%;max-width:320px;text-align:left;margin:0 auto;}
.loading-lines .load-line{opacity:0;transform:translateX(-12px);transition:opacity 0.5s ease,transform 0.5s ease;font-size:0.92em;color:var(--text);padding:6px 0;border-bottom:1px solid rgba(0,0,0,0.04);font-family:'Noto Sans KR',sans-serif;display:flex;align-items:center;gap:8px;}
.loading-lines .load-line.visible{opacity:1;transform:translateX(0);}
.loading-lines .load-line .line-label{color:var(--text-sub);font-size:0.85em;min-width:70px;}
.loading-lines .load-line .line-value{color:var(--primary-dark);font-weight:600;}
.loading-message{font-family:'Noto Serif KR',serif;color:var(--primary);font-size:1.1em;margin-top:32px;opacity:0;transition:opacity 0.8s ease;line-height:1.7;letter-spacing:-0.01em;}
.loading-message.visible{opacity:1;}
.page-footer{padding:16px;text-align:center;font-size:0.9em;color:var(--text-sub);border-top:1px solid var(--border);margin-top:12px;}
.shared-banner{padding:12px 16px;background:var(--primary);color:#fff;text-align:center;font-weight:600;font-size:0.95em;}
.shared-banner a{color:#fff;text-decoration:none;font-weight:700;}
.share-toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);background:var(--card);color:var(--text);padding:12px 20px;border-radius:8px;border:1px solid var(--border);font-size:0.9em;z-index:200;opacity:0;transition:opacity 0.3s;max-width:300px;text-align:center;pointer-events:none;}
.share-toast.show{opacity:1;}
.gunghap-rel-selector{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}
.rel-pill{padding:8px 16px;border-radius:20px;border:1px solid var(--border);background:transparent;color:var(--text-sub);cursor:pointer;font-size:0.95em;transition:all 0.2s;}
.rel-pill.active{background:var(--primary);color:#fff;border-color:var(--primary);font-weight:600;}
.gunghap-persons{display:flex;gap:12px;margin-bottom:20px;}
.gunghap-person-card{flex:1;background:var(--card);border-radius:12px;padding:16px;border:1px solid var(--border);}
.gunghap-person-card h4{color:var(--primary);margin:0 0 12px;font-size:0.95em;}
.gunghap-person-card .form-input{width:100%;padding:10px;margin-bottom:10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:0.9em;box-sizing:border-box;}
.gunghap-person-card .gender-row{display:flex;gap:16px;color:var(--text-sub);font-size:0.95em;}
.gunghap-person-card .gender-row label{display:flex;align-items:center;gap:4px;cursor:pointer;}
.gunghap-score-ring{width:120px;height:120px;margin:20px auto;position:relative;}
.gunghap-score-ring .score-num{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:2em;font-weight:700;color:var(--primary);}
.gunghap-score-label{text-align:center;color:var(--primary);font-size:1.1em;font-weight:600;margin-bottom:24px;}
.gunghap-section{background:var(--card);border-radius:12px;padding:16px;margin-bottom:12px;border:1px solid var(--border);}
.gunghap-section h4{color:var(--primary);margin:0 0 8px;font-size:0.95em;}
.gunghap-section p{color:var(--text-sub);font-size:0.95em;line-height:1.6;margin:0;}
.gunghap-pillar-compare{display:flex;gap:12px;margin-bottom:20px;}
.gunghap-pillar-compare .pillar-side{flex:1;text-align:center;}
.gunghap-pillar-compare .pillar-side h5{color:var(--primary);margin:0 0 8px;font-size:0.9em;}
.gunghap-ai-area{margin-top:20px;}
.gunghap-ai-area .ai-text{background:var(--surface);border-radius:12px;padding:16px;color:var(--text);font-size:0.9em;line-height:1.7;white-space:pre-wrap;min-height:100px;border:1px solid var(--border);}
@media (max-width:600px){.gunghap-persons{flex-direction:column;}
.gunghap-pillar-compare{flex-direction:column;}
}
@media (max-width:480px){.page{padding:16px 12px;}
.card,.analysis-card,.result-card{padding:14px 12px;}
.hero h1{font-size:1.5em;}
.hero p{font-size:0.88em;}
.bottom-nav button{font-size:0.7em;}
.header-progress .hp-step{font-size:0.55em;padding:2px 4px;white-space:nowrap;}
.header-progress{gap:2px;}
.page-footer{font-size:0.72em;}
}
@media (max-width:400px){.top-header{padding:10px 12px;}
.logo{font-size:1.1em;}
.header-progress .hp-step{font-size:0.5em;padding:2px 3px;}
.header-progress .hp-dot{display:none;}
.header-icons{gap:8px;font-size:0.9em;}
.page-footer{font-size:0.65em;}
}
@media (max-width:375px){body{font-size:14px;}
.page{padding:12px 8px;}
.card,.analysis-card,.result-card{padding:12px 10px;border-radius:10px;}
.hero h1{font-size:1.3em;}
.bottom-nav{padding:6px 0;}
.bottom-nav button{font-size:0.65em;gap:2px;}
.home-grid{gap:10px;}
.header-progress .hp-step{font-size:0.48em;padding:1px 3px;}
.page-footer{font-size:0.6em;}
}
@media (min-width:768px){body{max-width:600px;}
.home-grid{grid-template-columns:repeat(2,1fr);gap:20px;}
.card,.analysis-card,.result-card{padding:20px 24px;}
.hero h1{font-size:2em;}
}
