@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap";:root{font-family:Noto Sans KR,Apple SD Gothic Neo,Malgun Gothic,sans-serif;line-height:1.45;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body,#root{margin:0;min-width:320px;min-height:100%}.page{min-height:100vh;display:grid;place-items:center;padding:2.5rem 1rem;background:radial-gradient(48rem 38rem at 10% 0%,rgba(255,188,216,.45),transparent 68%),radial-gradient(38rem 30rem at 92% 10%,rgba(255,230,195,.45),transparent 70%),linear-gradient(145deg,#fffaf8,#fef4ef 42%,#fbeeee)}.hero-card{width:min(760px,100%);padding:2.2rem;border-radius:1.5rem;border:1px solid rgba(255,255,255,.8);background:linear-gradient(160deg,#ffffffdb,#fffbf9e6);box-shadow:0 20px 60px #6e494924;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.eyebrow{margin:0;font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:#b06970}.headline{margin:.75rem 0 0;font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:clamp(1.95rem,4vw,2.75rem);line-height:1.1;letter-spacing:-.01em;color:#3d1f29;white-space:normal;overflow-wrap:anywhere;word-break:keep-all}.subtitle{margin:.85rem 0 1.5rem;color:#6d4d58;font-size:1.02rem;white-space:normal;overflow-wrap:anywhere;word-break:keep-all}.profile-form{display:grid;gap:1.05rem}.field-label{display:block;margin-bottom:.5rem;font-size:.9rem;font-weight:600;color:#4e323b}.photo-field input[type=file]{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.preview-box{margin-top:.5rem;border:1px dashed #e2a6b6;border-radius:1.1rem;min-height:230px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(145deg,#fff9f8,#fff1f3);cursor:pointer;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.photo-field:hover .preview-box{border-color:#d97a95;background:linear-gradient(145deg,#fff7f8,#ffeaf0);transform:translateY(-1px)}.photo-field:focus-within .preview-box{outline:3px solid rgba(217,122,149,.25);outline-offset:2px}.preview-box p{margin:0;font-weight:600;color:#a04e67}.preview-box img{width:100%;height:100%;object-fit:cover}.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.metric-field input{width:100%;padding:.76rem .86rem;border:1px solid #e7c4cf;border-radius:.8rem;background:#fffdfd;font:inherit;color:#382127;transition:border-color .15s ease,box-shadow .15s ease}.metric-field input::placeholder{color:#b08894}.metric-field input:focus{outline:none;border-color:#d97a95;box-shadow:0 0 0 3px #d97a9533}button{margin-top:.4rem;border:0;border-radius:999px;padding:.86rem 1rem;font:inherit;font-weight:700;color:#fff;background:linear-gradient(120deg,#c6597f,#e5899f);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #c6597f47}button:disabled{opacity:.7;cursor:not-allowed;filter:grayscale(.5)}.report-section{margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(226,166,182,.3);animation:fadeIn .6s cubic-bezier(.16,1,.3,1)}@keyframes fadeIn{0%{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}.report-title{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:1.6rem;color:#3d1f29;margin-bottom:1.4rem;text-align:center;position:relative}.report-title:after{content:"";display:block;width:40px;height:2px;background:#e2a6b6;margin:.5rem auto 0}.report-content{background:#fff6;padding:1.8rem;border-radius:1.2rem;color:#4e323b;line-height:1.8;font-size:.95rem;white-space:pre-wrap;box-shadow:inset 0 2px 4px #00000005}.hair-section{margin-top:3rem;padding-top:2rem;border-top:2px dashed rgba(226,166,182,.4)}.hair-title{font-family:Cormorant Garamond,"Noto Serif KR",serif;font-size:1.4rem;color:#3d1f29;text-align:center;margin-bottom:.5rem}.hair-subtitle{font-size:.9rem;color:#b06970;text-align:center;margin-bottom:1.5rem}.hair-image-container{width:100%;border-radius:1.2rem;overflow:hidden;box-shadow:0 15px 40px #6e49491a;background:#fff}.hair-image-container img{width:100%;height:auto;display:block;transition:transform .5s ease}.hair-image-container:hover img{transform:scale(1.02)}@media(max-width:780px){.hero-card{padding:1.4rem}.metrics-grid{grid-template-columns:1fr}.preview-box{min-height:200px}}
