*{box-sizing:border-box}body{margin:0}.page{min-height:100vh;display:flex;justify-content:center;font-family:"Noto Serif KR",Nanum Myeongjo,Malgun Gothic,serif;color:#2e2d3e;padding:48px 16px 80px;position:relative;background:url(/bg-saju.png) center / cover no-repeat fixed}.page:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 50% 45%,rgba(160,90,255,.12),transparent 60%),linear-gradient(180deg,#140a2d59,#1e0e3c40,#0c082273);pointer-events:none;z-index:0}.wrap{width:100%;max-width:380px;display:flex;flex-direction:column;gap:20px;position:relative;z-index:1}.result-card{background:#2e1a5261;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:22px;border:1px solid rgba(196,132,252,.55);box-shadow:0 0 0 1px #67e8f92e,0 24px 70px #08041899,0 0 46px #c084fc57,inset 0 1px #ffffff40}.card{padding:28px 24px 24px;display:flex;flex-direction:column;background:#2e1a5261;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:0 8px 32px #0003}.result-card{padding:20px 16px}.title{margin:0 0 12px;text-align:center;font-family:"Noto Serif KR",Nanum Myeongjo,Malgun Gothic,serif;font-size:23px;font-weight:800;color:#f7ecff;letter-spacing:1px;text-shadow:0 0 16px rgba(196,132,252,.85),0 0 32px rgba(103,232,249,.4),0 2px 8px rgba(0,0,0,.55)}.label{font-size:13px;font-weight:700;color:#e9dfff;margin:12px 0 6px}.saju-free-banner{margin:14px 0 2px;padding:10px 14px;border-radius:12px;border:1px solid rgba(110,231,183,.55);background:#34d39924;color:#6ee7b7;font-size:14px;font-weight:800;text-align:center;letter-spacing:.3px;text-shadow:0 0 12px rgba(110,231,183,.5)}.notice{margin:14px 0 10px;font-size:11.5px;color:#cdc2ec;text-align:center}.error{margin-top:16px;padding:12px 16px;border-radius:10px;background:#fee2e2d1;border:1px solid rgba(248,113,113,.6);color:#b91c1c;font-size:14px}.input,.select{width:100%;padding:11px 12px;border-radius:10px;border:1px solid rgba(196,132,252,.5);background:#ffffffe6;color:#3c3b4d;font-size:14px;outline:none;box-shadow:inset 0 1px 3px #3c145a1f}.input:focus,.select:focus{border-color:#67e8f9;box-shadow:0 0 0 3px #67e8f940}.input::placeholder{color:#9a98ad}.select{cursor:pointer}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.select-row{display:flex;gap:8px}.select-row .select,.select-row .input.time{flex:1}.input:disabled{opacity:.45;cursor:not-allowed}.checkbox-row{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;color:#e9dfff;cursor:pointer}.checkbox-row input{width:16px;height:16px;accent-color:#c484fc;cursor:pointer}.time-unknown{padding:12px 0;font-size:15px;font-weight:700;color:#cbb7ff;text-align:center;background:#ffffff14;border:1px dashed rgba(203,183,255,.5);border-radius:10px}.radio-group{display:flex;gap:8px}.radio-pill{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 0;border-radius:10px;border:1px solid rgba(196,132,252,.45);background:#ffffff29;color:#e9dfff;font-size:14px;cursor:pointer}.radio-pill input{display:none}.radio-pill.active{background:#ffffffe6;border-color:#c084fc;color:#2b1a52;font-weight:700;box-shadow:0 0 14px #c484fc80}.button{width:100%;padding:14px 0;border:none;border-radius:12px;background:linear-gradient(135deg,#5b21b6,#7c3aed 55%,#a855f7);color:#fff;font-size:16px;font-weight:800;letter-spacing:1px;cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease;box-shadow:0 6px 20px #5b21b68c,0 0 18px #a855f780,0 0 0 1px #d946ef66}.button:disabled{opacity:.6;cursor:default}.button:not(:disabled):hover{filter:brightness(1.1);transform:translateY(-1px);box-shadow:0 10px 26px #5b21b699,0 0 26px #c484fcb3,0 0 0 1px #d946ef80}.button:not(:disabled):active{transform:translateY(0)}.summary{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-bottom:6px;font-size:13px;color:#ece4ff}.summary span{background:#ffffff29;padding:4px 10px;border-radius:999px}.saved-at{margin:8px 0 14px;text-align:center;font-size:11.5px;color:#cdbfee}.pillar-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.column{background:#ffffff21;border:1px solid rgba(196,132,252,.32);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}.column-header{background:#281448d9;color:#f4eaff;text-align:center;font-weight:800;font-size:14px;padding:8px 0;letter-spacing:1px;text-shadow:0 0 10px rgba(196,132,252,.7)}.cell{padding:11px 8px;border-bottom:1px solid rgba(255,255,255,.1);text-align:center}.cell:last-child{border-bottom:none}.cell-label{font-size:10.5px;color:#cbbbf0;margin-bottom:5px}.stem-box{display:flex;align-items:baseline;justify-content:center;gap:4px}.hanja{font-size:26px;font-weight:700;color:#fff;line-height:1.1;text-shadow:0 0 12px rgba(196,132,252,.55)}.hangul{font-size:12px;color:#cbbbf0}.ten-god{font-size:14px;font-weight:700;color:#e5b8ff;text-shadow:0 0 10px rgba(168,85,247,.5)}.hidden-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.hidden-item{display:flex;justify-content:center;gap:5px;font-size:12px;align-items:baseline}.role{color:#b6a8e0;font-size:10.5px}.hidden-stem{font-weight:700;font-size:14px;color:#fff}.hidden-ten-god{color:#d0c4f0;font-size:11.5px}.firefly{position:fixed;border-radius:50%;pointer-events:none;z-index:2;opacity:.4;animation-name:firefly-float;animation-timing-function:ease-in-out;animation-iteration-count:infinite}@keyframes firefly-float{0%,to{opacity:.2;transform:translate(0) scale(1)}50%{opacity:.95;transform:translate(9px,-16px) scale(1.3)}}@keyframes freePulse{0%,to{filter:brightness(1)}50%{filter:brightness(1.18)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a061a9e;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:20}.modal{width:100%;max-width:400px;padding:24px 20px 20px;display:flex;flex-direction:column;gap:14px;background:#2e1a528c;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:20px;border:1px solid rgba(196,132,252,.55);box-shadow:0 24px 70px #080418b3,0 0 46px #c084fc57,inset 0 1px #ffffff40}.modal-title{text-align:center;font-size:20px;font-weight:800;color:#f7ecff;letter-spacing:1px;text-shadow:0 0 16px rgba(196,132,252,.85),0 0 32px rgba(103,232,249,.4)}.plan-list{display:grid;grid-template-columns:1fr;gap:10px}.plan-card{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#f4eaff;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.plan-card.selected{border-color:#67e8f9;background:#67e8f924;box-shadow:0 0 18px #67e8f973,inset 0 0 0 1px #67e8f966}.plan-emoji{font-size:26px;line-height:1}.plan-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.plan-name{font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.plan-badge{font-size:11px;font-weight:800;color:#fff;background:linear-gradient(135deg,#f59e0b,#f97316);padding:2px 8px;border-radius:999px;letter-spacing:.5px}.plan-badge-free{color:#052e16;background:linear-gradient(135deg,#6ee7b7,#34d399);animation:freePulse 1.8s ease-in-out infinite}.plan-desc{font-size:12px;color:#cdbfee;line-height:1.4}.plan-price{font-size:15px;font-weight:800;color:#e5b8ff;white-space:nowrap}.plan-price.free{color:#6ee7b7;text-shadow:0 0 12px rgba(110,231,183,.7)}.modal-close{width:100%;padding:11px 0;border-radius:12px;border:1px solid rgba(255,255,255,.3);background:#ffffff0f;color:#e9dfff;font-size:14px;font-family:inherit;cursor:pointer;transition:background .15s ease}.modal-close:disabled{opacity:.5;cursor:default}.modal-close:not(:disabled):hover{background:#ffffff24}.pay-free-notice{margin:0;text-align:center;font-size:13px;font-weight:800;color:#6ee7b7;text-shadow:0 0 14px rgba(110,231,183,.55);letter-spacing:.3px}.pay-notice{margin:0;text-align:center;font-size:11px;color:#cdbfee}.plan-banner{padding:12px 16px;text-align:center;border-radius:14px;background:#2e1a5261;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(196,132,252,.45);color:#f4eaff;font-size:15px;font-weight:800;text-shadow:0 0 12px rgba(196,132,252,.6)}@media(min-width:720px){.modal{max-width:720px}.plan-list{grid-template-columns:repeat(3,1fr)}.plan-card{flex-direction:column;text-align:center;align-items:center;gap:10px}.plan-info{align-items:center}.plan-name{justify-content:center}}.reading-card{margin-top:18px;padding:18px 16px;border-radius:14px;background:#ffffff12;border:1px solid rgba(196,132,252,.28)}.reading-block{margin-bottom:16px}.reading-block:last-child{margin-bottom:0}.reading-heading{margin:0 0 8px;font-size:16px;font-weight:800;color:#f4eaff;text-shadow:0 0 10px rgba(196,132,252,.6)}.reading-line{margin:4px 0;font-size:14px;font-weight:700;color:#e5d8ff}.reading-para{margin:0 0 10px;font-size:14px;line-height:1.7;color:#ece4ff}.reading-para:last-child{margin-bottom:0}.reading-empty{margin:0;font-size:14px;color:#cdbfee}.reading-celebs{margin:6px 0 0;padding-left:18px;font-size:14px;line-height:1.8;color:#ece4ff}.reading-celebs li{margin-bottom:2px}.reading-subheading{margin:0 0 8px;font-size:14px;font-weight:800;color:#dcc9ff}.element-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.element-row{display:flex;align-items:center;gap:10px}.element-name{width:20px;font-size:14px;font-weight:800;color:#f4eaff;text-align:center}.element-bar{flex:1;height:12px;border-radius:999px;background:#ffffff1a;overflow:hidden}.element-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#7dd3fc,#c4b5fd);transition:width .4s ease}.element-count{width:92px;font-size:12px;color:#cdbfee;text-align:right}.header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:10px 14px;border-radius:14px;background:#2e1a5261;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(196,132,252,.45)}.header-brand{font-size:15px;font-weight:800;color:#f7ecff;text-shadow:0 0 12px rgba(196,132,252,.7);white-space:nowrap}.header-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:6px 8px}.header-user{font-size:13px;color:#e9dfff;white-space:nowrap}.header-btn{padding:7px 12px;border-radius:999px;border:1px solid rgba(196,132,252,.5);background:#ffffff1a;color:#f4eaff;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;white-space:nowrap;transition:background .15s ease}.header-btn:hover{background:#fff3}@media(max-width:480px){.header{gap:6px;padding:8px 10px}.header-brand{font-size:14px}.header-actions{gap:5px 6px}.header-user{font-size:12px}.header-btn{padding:5px 9px;font-size:11px}}.social-list{display:flex;flex-direction:column;gap:9px}.social-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 14px;border-radius:12px;border:none;font-size:14px;font-weight:800;font-family:inherit;color:#fff;cursor:pointer;letter-spacing:.5px;transition:filter .15s ease,transform .15s ease}.social-btn.naver{background:linear-gradient(135deg,#03c75a,#02b351)}.social-btn.kakao{background:linear-gradient(135deg,#fee500,#f5d800);color:#3a1d1d}.social-btn.google{background:#fff;color:#3c4043;border:1px solid #dadce0;font-weight:700}.social-btn.google:not(:disabled):hover{background:#f8f9fa}.social-btn:not(:disabled):hover{filter:brightness(1.07);transform:translateY(-1px)}.social-btn:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.4)}.social-disabled{font-size:10.5px;font-weight:700;opacity:.85;background:#00000038;padding:2px 7px;border-radius:999px}.link-btn{width:100%;padding:10px 0;border:none;background:transparent;color:#cdbfee;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;text-align:center;transition:color .15s ease}.link-btn:hover{color:#f4eaff}.auth-form{display:flex;flex-direction:column;gap:10px}.auth-error{padding:10px 12px;border-radius:10px;background:#fee2e2d9;border:1px solid rgba(248,113,113,.6);color:#b91c1c;font-size:13px}.report-list{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto}.report-item{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#f4eaff;cursor:pointer;text-align:left;font-family:inherit;transition:border-color .15s ease,background .15s ease}.report-item:hover{border-color:#67e8f9;background:#67e8f91f}.report-title{font-size:14.5px;font-weight:800;line-height:1.4}.report-meta{font-size:12px;color:#cdbfee}.modal-report{max-width:480px}.report-scroll{max-height:65vh;overflow-y:auto;padding-right:4px}.modal-admin{max-width:520px}.admin-tabs{display:flex;gap:8px;margin-bottom:10px}.admin-tab{flex:1;padding:10px 0;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#cdbfee;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease}.admin-tab.active{border-color:#67e8f9;color:#67e8f9;background:#67e8f91f}.admin-scroll{display:flex;flex-direction:column;gap:10px;max-height:60vh;overflow-y:auto}.admin-row{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff12;text-align:left}.admin-row-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.admin-name{font-size:14px;font-weight:800;color:#f4eaff;word-break:break-all}.admin-status{font-size:11.5px;font-weight:800;padding:2px 8px;border-radius:999px;text-transform:uppercase;white-space:nowrap}.admin-status-paid{background:#34d3992e;color:#6ee7b7;border:1px solid rgba(52,211,153,.5)}.admin-status-pending{background:#fbbf242e;color:#fcd34d;border:1px solid rgba(251,191,36,.5)}.admin-status-failed{background:#f871712e;color:#fca5a5;border:1px solid rgba(248,113,113,.5)}.admin-row-sub{font-size:12px;color:#cdbfee;margin-top:4px;word-break:break-all}.admin-inquiry-content{font-size:13.5px;color:#f4eaff;margin:8px 0 0;line-height:1.5;white-space:pre-wrap;word-break:break-word}.inquiry-textarea{min-height:120px;resize:vertical;font-family:inherit;line-height:1.5}.modal-inquiry{max-width:520px}.admin-reply-done{display:inline-block;font-size:11.5px;font-weight:800;color:#6ee7b7;background:#34d39926;border:1px solid rgba(52,211,153,.5);border-radius:999px;padding:2px 9px;margin-top:8px}.admin-reply-input{min-height:64px;margin-top:10px}.button-small{padding:8px 14px;font-size:13px;margin-top:8px}.admin-reply{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px solid rgba(103,232,249,.4);background:#67e8f914}.admin-reply-label{font-size:12px;font-weight:800;color:#67e8f9;margin-bottom:4px}.admin-reply-text{font-size:13.5px;color:#f4eaff;margin:0;line-height:1.5;white-space:pre-wrap;word-break:break-word}.admin-reply-waiting{margin-top:10px;font-size:12.5px;font-weight:700;color:#cdbfee;padding:8px 12px;border-radius:10px;border:1px dashed rgba(255,255,255,.3);background:#ffffff0a}.admin-user-table{display:flex;flex-direction:column;gap:8px}.admin-user-head{display:grid;grid-template-columns:72px minmax(0,1fr) 92px 108px;gap:8px;padding:0 12px 6px;font-size:12px;font-weight:800;color:#cdbfee}.admin-user-row{display:grid;grid-template-columns:72px minmax(0,1fr) 92px 108px;gap:8px;align-items:center;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#ffffff12;font-size:13px;color:#f4eaff;text-align:left}.admin-user-email{word-break:break-all}@media(max-width:480px){.admin-user-head{display:none}.admin-user-row{grid-template-columns:1fr auto;grid-template-areas:"name provider" "email email" "date date";row-gap:4px}.admin-user-name{grid-area:name;font-weight:800}.admin-user-email{grid-area:email;font-size:12px;color:#cdbfee}.admin-user-provider{grid-area:provider;font-size:12px;font-weight:800;color:#67e8f9}.admin-user-date{grid-area:date;font-size:12px;color:#cdbfee}}.home{display:flex;flex-direction:column;gap:14px}.home-sub{margin:-6px 0 4px;color:#cdbfee;font-size:14px;text-align:center}.back-btn{align-self:flex-start;padding:8px 14px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#f4eaff;font-size:13.5px;font-weight:700;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background .15s ease;margin-bottom:10px}.back-btn:hover{border-color:#67e8f9;background:#67e8f91f}.hero-card{display:flex;align-items:center;gap:14px;width:100%;padding:20px;border-radius:20px;border:1px solid rgba(196,132,252,.55);background:linear-gradient(135deg,#c484fc47,#67e8f92e);color:#f4eaff;cursor:pointer;text-align:left;font-family:inherit;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.hero-card:hover{transform:translateY(-2px);border-color:#67e8f9;box-shadow:0 8px 28px #67e8f940}.hero-emoji{font-size:38px}.hero-info{display:flex;flex-direction:column;gap:4px;flex:1}.hero-title{font-size:18px;font-weight:900}.hero-desc{font-size:12.5px;color:#e6dcfb;line-height:1.5}.hero-price{font-size:15px;font-weight:800;color:#fef08a;white-space:nowrap}.hero-price.free{color:#052e16;background:linear-gradient(135deg,#6ee7b7,#34d399);padding:4px 12px;border-radius:999px;text-shadow:none;animation:freePulse 1.8s ease-in-out infinite}.group-title{margin:10px 0 0;font-size:17px;font-weight:800;color:#f4eaff}.grid{display:grid;grid-template-columns:1fr;gap:12px}.product-card{display:flex;flex-direction:row;align-items:center;gap:14px;width:100%;padding:16px 18px;border-radius:18px;border:1px solid rgba(196,132,252,.5);background:#2e1a526b;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 8px 26px #08041859,inset 0 1px #ffffff1f;color:#f4eaff;cursor:pointer;text-align:left;font-family:inherit;transition:transform .15s ease,border-color .15s ease,background .15s ease}.product-card:hover{transform:translateY(-2px);border-color:#67e8f9;background:#40226e8c}.product-emoji{font-size:28px;flex-shrink:0}.product-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.product-title{font-size:15.5px;font-weight:800;color:#fff}.product-sections{font-size:12px;color:#e6dcfb;line-height:1.45}.product-price{font-size:15px;font-weight:800;color:#fef08a;white-space:nowrap;flex-shrink:0}.person-box{display:flex;flex-direction:column;gap:8px;padding:14px;margin-bottom:12px;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:#ffffff0f}.person-label{font-size:15px;font-weight:800;color:#f4eaff}.compat-score{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:8px 0 4px}.score-num{font-size:46px;font-weight:900;color:#fef08a}.score-label{font-size:18px;font-weight:800;color:#cdbfee}.compat-summary{margin:0 0 16px;text-align:center;color:#e6dcfb;font-size:14px;line-height:1.6}.fortune-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;margin-bottom:8px;border-radius:14px;border:1px solid rgba(196,132,252,.45);background:#c484fc29}.fortune-period{font-size:17px;font-weight:900;color:#f4eaff}.fortune-god{font-size:14px;font-weight:800;color:#fef08a}.share-wrap{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:10px 0}.share-btn{padding:10px 18px;border:1px solid rgba(196,132,252,.55);border-radius:999px;background:#5b21b661;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#f4eaff;font-size:14px;font-weight:800;cursor:pointer;transition:filter .15s ease,background .15s ease}.share-btn:hover{background:#7c3aed8c;filter:brightness(1.1)}.share-toast{font-size:13px;font-weight:700;color:#a7f3d0;text-shadow:0 0 10px rgba(167,243,208,.55)}.share-url{flex:1;min-width:200px;font-size:12px;color:#ece4ff}.ilju-card-section{border:1px solid rgba(103,232,249,.4);background:#2e1a5280;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 30px #08041866,inset 0 1px #ffffff1f}.ilju-card-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.ilju-card-heading{margin:0;font-size:19px;font-weight:900;color:#f4eaff}.free-badge{font-size:12px;font-weight:900;color:#052e16;background:linear-gradient(135deg,#6ee7b7,#34d399);padding:3px 11px;border-radius:999px;letter-spacing:.3px}.ilju-card-desc{margin:-4px 0 0;font-size:13px;color:#cdbfee}.ilju-card-form{display:flex;flex-wrap:wrap;gap:8px}.ilju-input{flex:1 1 130px;min-width:0;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;color:#f4eaff;font-size:14px;font-family:inherit;color-scheme:dark}.ilju-input:focus{outline:none;border-color:#67e8f9}.ilju-card-btn{flex:0 0 auto;padding:10px 18px;border-radius:12px;border:none;background:linear-gradient(135deg,#c084fc,#818cf8);color:#fff;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;transition:filter .15s ease}.ilju-card-btn:hover{filter:brightness(1.1)}.ilju-card-btn:disabled{opacity:.6;cursor:default}.ilju-card-error{margin:0;color:#fda4af;font-size:13px}.ilju-card-reveal{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:4px}.ilju-pop{width:100%;max-width:300px;animation:ilju-card-pop .5s cubic-bezier(.34,1.56,.64,1) 1.55s both}.ilju-flip-scene{perspective:1400px;width:100%}.ilju-flip-inner{position:relative;width:100%;aspect-ratio:3 / 4;transform-style:preserve-3d;animation:ilju-card-spin 1.6s cubic-bezier(.16,1,.3,1) forwards}.ilju-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:22px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 16px 40px #08041880}.ilju-face-front{transform:rotateY(180deg)}.ilju-face-back{transform:rotateY(0)}@keyframes ilju-card-spin{0%{transform:rotateY(0)}to{transform:rotateY(900deg)}}@keyframes ilju-card-pop{0%{transform:scale(1)}50%{transform:scale(1.09)}to{transform:scale(1)}}@media(prefers-reduced-motion:reduce){.ilju-flip-inner{animation:none;transform:rotateY(180deg)}.ilju-pop{animation:none}}.ilju-card-blue{background:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.28),transparent 55%),linear-gradient(150deg,#0ea5a0,#2563eb);color:#fff;--frame: rgba(255, 255, 255, .42);--frame2: rgba(255, 255, 255, .22);--halo: rgba(255, 255, 255, .5)}.ilju-card-red{background:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.26),transparent 55%),linear-gradient(150deg,#f87171,#be123c);color:#fff;--frame: rgba(255, 255, 255, .42);--frame2: rgba(255, 255, 255, .22);--halo: rgba(255, 255, 255, .5)}.ilju-card-yellow{background:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.5),transparent 55%),linear-gradient(150deg,#fcd34d,#d97706);color:#3b2a00;--frame: rgba(59, 42, 0, .35);--frame2: rgba(59, 42, 0, .2);--halo: rgba(255, 255, 255, .6)}.ilju-card-white{background:radial-gradient(120% 80% at 50% 0%,rgba(255,255,255,.9),transparent 55%),linear-gradient(150deg,#f8fafc,#cbd5e1);color:#1e293b;--frame: rgba(15, 23, 42, .3);--frame2: rgba(15, 23, 42, .16);--halo: rgba(148, 163, 184, .55)}.ilju-card-black{background:radial-gradient(120% 80% at 50% 0%,rgba(148,163,184,.35),transparent 55%),linear-gradient(150deg,#475569,#020617);color:#fff;--frame: rgba(255, 255, 255, .38);--frame2: rgba(255, 255, 255, .2);--halo: rgba(255, 255, 255, .42)}.ilju-art-pattern{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none}.ilju-art-frame{position:absolute;top:0;right:0;bottom:0;left:0;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center}.ilju-art-frame:before,.ilju-art-frame:after{content:"";position:absolute;border-radius:14px;pointer-events:none}.ilju-art-frame:before{top:10px;right:10px;bottom:10px;left:10px;border:1px solid var(--frame)}.ilju-art-frame:after{top:16px;right:16px;bottom:16px;left:16px;border:1px solid var(--frame2)}.ilju-art-subtitle{font-size:14px;font-weight:800;letter-spacing:1px;opacity:.92}.ilju-art-halo{width:148px;height:148px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle,var(--halo) 0%,rgba(255,255,255,.05) 62%,transparent 75%);box-shadow:0 0 42px #ffffff47}.ilju-art-animal{font-size:84px;line-height:1;filter:drop-shadow(0 12px 20px rgba(0,0,0,.35));transform:translateY(-4px)}.ilju-art-title{font-size:30px;font-weight:900;letter-spacing:1px}.ilju-art-tagline{font-size:13.5px;line-height:1.65;max-width:240px;opacity:.96}.ilju-back-ornament{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.ilju-back-ornament:before{content:"";position:absolute;top:12px;right:12px;bottom:12px;left:12px;border:2px solid var(--frame);border-radius:14px}.ilju-back-ornament:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(circle,var(--frame2) 1.5px,transparent 2px);background-size:22px 22px;border-radius:22px}.ilju-back-glyph{font-size:42px;font-weight:900;letter-spacing:8px;opacity:.92;text-indent:8px}.ilju-back-star{font-size:30px;opacity:.85}.ilju-share{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;width:100%;max-width:300px}.ilju-share-btn{flex:1 1 140px;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:12px 14px;border-radius:12px;border:none;font-size:14px;font-weight:800;font-family:inherit;cursor:pointer;transition:filter .15s ease}.ilju-share-btn:hover{filter:brightness(1.08)}.ilju-share-btn.kakao{background:#fae100;color:#3a1d1d}.ilju-share-btn.sms{background:linear-gradient(135deg,#34d399,#10b981);color:#052e16}.ilju-share-ico{font-size:16px}.ilju-share-toast{margin:0;font-size:13px;color:#a7f3d0;text-align:center}.ilju-share-page{display:flex;flex-direction:column;align-items:center;gap:10px}.reason-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:4px 0 6px}.reunion-profile{display:flex;flex-direction:column;align-items:center;gap:10px;margin-bottom:18px;padding:14px;border-radius:16px;border:1px solid rgba(255,255,255,.22);background:#ffffff0f}.reunion-ilju{display:flex;align-items:baseline;gap:10px}.reunion-ilju-label{font-size:13px;color:#cdbfee}.reunion-ilju-name{font-size:30px;font-weight:900;color:#fef08a;text-shadow:0 0 14px rgba(254,240,138,.5)}.reunion-traits{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.reunion-trait{padding:5px 12px;border-radius:999px;background:#c484fc38;border:1px solid rgba(196,132,252,.5);color:#e9dfff;font-size:12.5px;font-weight:700}.reunion-stage{padding:14px;margin-bottom:12px;border-radius:16px;border:1px solid rgba(255,255,255,.2);background:#ffffff0d}.reunion-stage-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.reunion-level{padding:3px 10px;border-radius:999px;font-size:12px;font-weight:800}.reunion-level.level-높음{background:#34d39933;color:#6ee7b7;border:1px solid rgba(52,211,153,.5)}.reunion-level.level-보통{background:#facc152e;color:#fde68a;border:1px solid rgba(250,204,21,.45)}.reunion-level.level-낮음{background:#f871712e;color:#fca5a5;border:1px solid rgba(248,113,113,.45)}.reunion-score-row{display:flex;align-items:center;gap:12px;margin:10px 0}.reunion-gauge{flex:1;height:10px;border-radius:999px;background:#ffffff1f;overflow:hidden}.reunion-gauge-fill{height:100%;border-radius:999px;background:linear-gradient(90deg,#34d399,#a7f3d0);box-shadow:0 0 12px #34d39999;transition:width .6s ease}.reunion-score-num{min-width:52px;text-align:right;font-size:20px;font-weight:900;color:#fef08a}.reunion-caution{margin:4px 0 0;padding:12px 14px;border-radius:12px;background:#ffffff0d;border:1px dashed rgba(196,132,252,.45);font-size:12.5px;line-height:1.6;color:#cdbfee}
