@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;600;700&family=Manrope:wght@400;600&display=swap";:root{font-family:Manrope,sans-serif;line-height:1.4;font-weight:400;color:#1c1b18;background-color:#f7f1e6;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(circle at 20% 20%,rgba(244,196,79,.4),transparent 45%),radial-gradient(circle at 80% 10%,rgba(255,255,255,.8),transparent 40%),linear-gradient(135deg,#f7f1e6,#f1e9d6 45%,#f7f1e6)}h1,h2,h3,.eyebrow,button{font-family:Space Grotesk,sans-serif}a{color:inherit;text-decoration:none}#root{min-height:100vh}:root{--cream: #f7f1e6;--ink: #1c1b18;--accent: #f4c44f;--accent-dark: #d89f1b;--fog: rgba(255, 255, 255, .6);--shadow: 0 20px 60px rgba(25, 25, 20, .18)}.page{min-height:100vh;padding:64px 24px 80px;display:flex;flex-direction:column;align-items:center;gap:32px;color:var(--ink)}.hero{width:min(960px,100%);text-align:left;display:grid;gap:12px}.eyebrow{text-transform:uppercase;letter-spacing:.34em;font-size:12px;font-weight:700}.hero h1{font-size:clamp(2.4rem,4vw,3.6rem);margin:0;line-height:1.05}.subtitle{max-width:520px;margin:0;font-size:1.05rem;color:#1c1b18b3}.card{width:min(960px,100%);background:#ffffffc2;border-radius:28px;padding:32px;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);display:grid;gap:24px}.card-header{display:flex;align-items:center;justify-content:space-between}.card-header h2{margin:0;font-size:1.4rem}.badge{background:var(--accent);color:#1f1605;padding:6px 14px;border-radius:999px;font-weight:700;font-size:.8rem}.dropzone{border:2px dashed rgba(28,27,24,.2);border-radius:22px;padding:26px;display:grid;gap:18px;background:var(--fog);transition:border-color .2s ease,background .2s ease}.dropzone.dragging{border-color:var(--accent-dark);background:#f4c44f2e}.file-input{display:none}.dropzone-content{display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer}.dropzone-text .title{font-weight:700;margin:0}.dropzone-text .hint{margin:4px 0 0;color:#1c1b18a6;font-size:.95rem}.upload-button{background:var(--ink);color:#fff;padding:10px 18px;border-radius:999px;font-weight:600;font-size:.9rem}.preview{display:grid;gap:10px}.preview img{width:100%;max-height:320px;object-fit:cover;border-radius:18px;border:1px solid rgba(28,27,24,.08)}.preview-name{margin:0;font-size:.9rem;color:#1c1b18b3}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.field{display:grid;gap:8px;font-weight:600}.field input{padding:12px 14px;border-radius:14px;border:1px solid rgba(28,27,24,.2);background:#fff;font-size:1rem;font-family:inherit}.primary{border:none;background:var(--accent);color:#2a1f06;font-size:1rem;font-weight:700;padding:14px 24px;border-radius:16px;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 12px 24px #f4c44f59}.primary:hover{transform:translateY(-2px)}.primary:disabled{cursor:not-allowed;opacity:.7;transform:none}.error{margin:0;padding:12px 14px;border-radius:12px;background:#fff2f2;color:#8b1e1e;border:1px solid rgba(139,30,30,.2);font-weight:600}.result{display:grid;gap:16px;padding:20px;border-radius:20px;background:#ffffffe0;border:1px solid rgba(28,27,24,.08)}.report{margin:0;white-space:pre-wrap;font-family:Pretendard,Noto Sans KR,system-ui,sans-serif;line-height:1.6;color:#1c1b18e6}.hairstyle-grid img{width:100%;border-radius:16px;border:1px solid rgba(28,27,24,.08)}.hairstyle-list ul{margin:0;padding-left:18px;display:grid;gap:8px}@media(max-width:720px){.card{padding:24px}.dropzone-content{flex-direction:column;align-items:flex-start}.upload-button{width:100%;text-align:center}}
