:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.stylist-container{min-height:100vh;background:#0a0a0a;color:#f5f5f5;display:flex;flex-direction:column;align-items:center;padding:60px 20px 80px;font-family:Pretendard,Apple SD Gothic Neo,system-ui,sans-serif}.stylist-header{text-align:center;margin-bottom:56px}.brand{font-size:13px;font-weight:600;letter-spacing:.3em;color:#c8a96e;margin-bottom:20px}.title{font-size:2.4rem;font-weight:700;letter-spacing:-.02em;margin:0 0 14px;background:linear-gradient(135deg,#fff,#a0a0a0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{font-size:.95rem;color:#777;margin:0;line-height:1.6}.profile-form{width:100%;max-width:480px;display:flex;flex-direction:column;gap:40px}.form-section{display:flex;flex-direction:column;gap:16px}.section-label{display:flex;align-items:center;gap:12px;font-size:1rem;font-weight:600;color:#e0e0e0}.label-number{font-size:.75rem;font-weight:700;color:#c8a96e;letter-spacing:.05em}.photo-upload-area{border:1.5px dashed #333;border-radius:16px;cursor:pointer;transition:all .25s ease;overflow:hidden;background:#111;min-height:260px;display:flex;align-items:center;justify-content:center}.photo-upload-area:hover{border-color:#c8a96e;background:#141414}.photo-upload-area.dragging{border-color:#c8a96e;background:#1a1608;transform:scale(1.01)}.photo-upload-area.has-photo{border-style:solid;border-color:#2a2a2a}.upload-placeholder{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px}.upload-icon{width:64px;height:64px;border-radius:50%;background:#1e1e1e;display:flex;align-items:center;justify-content:center;color:#555;margin-bottom:4px}.upload-text{font-size:.95rem;font-weight:500;color:#bbb;margin:0}.upload-hint{font-size:.8rem;color:#555;margin:0;text-align:center}.photo-preview{width:100%;position:relative}.photo-preview img{width:100%;max-height:400px;object-fit:cover;display:block}.photo-overlay{position:absolute;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}.photo-upload-area:hover .photo-overlay{opacity:1}.photo-overlay span{font-size:.9rem;font-weight:600;color:#fff;letter-spacing:.05em}.hidden-input{display:none}.body-inputs{display:flex;align-items:center;background:#111;border:1.5px solid #222;border-radius:16px;overflow:hidden}.input-group{flex:1;display:flex;flex-direction:column;align-items:center;padding:28px 20px;gap:8px}.input-divider{width:1px;height:60px;background:#222;flex-shrink:0}.input-wrapper{display:flex;align-items:baseline;gap:4px}.body-input{background:transparent;border:none;outline:none;font-size:2.4rem;font-weight:700;color:#fff;width:100px;text-align:center;font-family:inherit;-moz-appearance:textfield}.body-input::-webkit-outer-spin-button,.body-input::-webkit-inner-spin-button{-webkit-appearance:none}.body-input::placeholder{color:#333}.body-input:focus{color:#c8a96e}.input-unit{font-size:1rem;font-weight:500;color:#555}.input-label{font-size:.8rem;color:#555;margin:0;letter-spacing:.05em}.submit-btn{display:flex;align-items:center;justify-content:center;gap:10px;padding:18px 32px;border-radius:50px;border:none;font-size:1rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .3s ease;background:#222;color:#555;margin-top:8px}.submit-btn.active{background:linear-gradient(135deg,#c8a96e,#a07840);color:#fff;box-shadow:0 8px 32px #c8a96e4d}.submit-btn.active:hover{transform:translateY(-2px);box-shadow:0 12px 40px #c8a96e66}.submit-btn:disabled{cursor:not-allowed}.error-box{background:#1a0d0d;border:1px solid #4a1a1a;border-radius:10px;padding:14px 16px;font-size:.875rem;color:#f47070;display:flex;align-items:center;gap:8px}.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.submit-btn.loading{background:#2a2210;color:#c8a96e;cursor:not-allowed}@media(max-width:480px){.stylist-container{padding:40px 16px 60px}.title{font-size:1.8rem}.body-input{font-size:2rem;width:80px}}.report-container{min-height:100vh;background:#0a0a0a;color:#f0f0f0;font-family:Pretendard,Apple SD Gothic Neo,system-ui,sans-serif;padding-bottom:80px}.report-header{text-align:center;padding:60px 20px 40px;border-bottom:1px solid #1a1a1a}.brand{font-size:12px;font-weight:700;letter-spacing:.35em;color:#c8a96e;margin-bottom:16px}.report-title{font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0 0 10px;background:linear-gradient(135deg,#fff,#888);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.report-subtitle{font-size:.875rem;color:#666;margin:0}.report-content{max-width:640px;margin:0 auto;padding:40px 20px 0;display:flex;flex-direction:column;gap:48px}.top-cards{display:flex;gap:16px;align-items:flex-start}.profile-card{flex-shrink:0;width:120px;height:160px;border-radius:12px;overflow:hidden;border:1px solid #222}.profile-thumb{width:100%;height:100%;object-fit:cover}.body-type-card{flex:1;background:#111;border:1px solid #1e1e1e;border-radius:16px;padding:20px}.card-label{font-size:.7rem;font-weight:700;letter-spacing:.15em;color:#c8a96e;margin:0 0 6px}.body-type-name{font-size:1.5rem;font-weight:700;margin:0 0 10px;color:#fff}.body-type-desc{font-size:.83rem;color:#888;line-height:1.7;margin:0 0 16px}.bmi-section{border-top:1px solid #1e1e1e;padding-top:14px}.bmi-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}.bmi-label{font-size:.75rem;color:#666;font-weight:600}.bmi-value{font-size:1.1rem;font-weight:700;color:#fff}.bmi-badge{font-size:.7rem;font-weight:600;padding:2px 8px;border-radius:20px;margin-left:auto}.bmi-저체중{background:#1e3a5f;color:#6ab0f5}.bmi-정상{background:#1a3a1a;color:#6ecf6e}.bmi-과체중{background:#3a2a10;color:#e8a84a}.bmi-비만{background:#3a1a1a;color:#f47070}.bmi-bar-bg{position:relative;height:6px;background:#222;border-radius:99px;margin-bottom:6px}.bmi-bar-fill{height:100%;background:linear-gradient(90deg,#6ecf6e,#e8a84a,#f47070);border-radius:99px;transition:width .8s ease}.bmi-indicator{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;background:#fff;border-radius:50%;border:2px solid #0a0a0a;box-shadow:0 0 0 2px #c8a96e;transition:left .8s ease}.bmi-scale{display:flex;justify-content:space-between;font-size:.65rem;color:#444}.report-section{display:flex;flex-direction:column;gap:16px}.section-title{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:700;color:#e0e0e0;margin:0;padding-bottom:12px;border-bottom:1px solid #1a1a1a}.section-icon{font-style:normal;color:#c8a96e;font-size:.9rem}.section-icon.avoid{color:#f47070}.style-cards{display:flex;flex-direction:column;gap:12px}.style-card{background:#111;border:1px solid #1e1e1e;border-radius:12px;padding:18px;transition:border-color .2s}.style-card:hover{border-color:#c8a96e44}.style-card-header{display:flex;align-items:center;gap:10px;margin-bottom:8px}.style-number{font-size:.7rem;font-weight:700;color:#c8a96e;letter-spacing:.05em}.style-card h4{font-size:.95rem;font-weight:600;color:#fff;margin:0}.style-card p{font-size:.83rem;color:#888;line-height:1.7;margin:0}.avoid-list{display:flex;flex-direction:column;gap:10px}.avoid-item{background:#110d0d;border:1px solid #2a1a1a;border-left:3px solid #f47070;border-radius:8px;padding:14px 16px}.avoid-title{font-size:.9rem;font-weight:600;color:#f47070;margin-bottom:4px}.avoid-reason{font-size:.82rem;color:#888;line-height:1.6}.palette-section{display:flex;flex-direction:column;gap:20px}.palette-group{display:flex;flex-direction:column;gap:12px}.palette-label{font-size:.78rem;font-weight:600;color:#c8a96e;margin:0;letter-spacing:.05em}.palette-label.avoid{color:#888}.color-chips{display:flex;flex-wrap:wrap;gap:10px}.color-chip{display:flex;flex-direction:column;align-items:center;gap:6px}.color-chip span{font-size:.72rem;color:#888}.color-chip.faded span{color:#555}.chip-circle{width:40px;height:40px;border-radius:50%;border:2px solid #2a2a2a;box-shadow:0 2px 8px #0006}.chip-circle.avoid-chip{opacity:.4;position:relative}.chip-circle.avoid-chip:after{content:"✕";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:700}.tips-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.tip-item{display:flex;align-items:flex-start;gap:12px;font-size:.875rem;color:#ccc;line-height:1.7;background:#111;border-radius:10px;padding:14px 16px}.tip-dot{width:6px;height:6px;background:#c8a96e;border-radius:50%;flex-shrink:0;margin-top:8px}.key-items{display:flex;flex-wrap:wrap;gap:10px}.key-item{background:#111;border:1px solid #2a2a2a;border-radius:99px;padding:8px 18px;font-size:.83rem;color:#ccc;transition:all .2s}.key-item:hover{border-color:#c8a96e;color:#c8a96e}.report-footer{display:flex;justify-content:center;padding:48px 20px 0}.reset-btn{padding:14px 36px;border-radius:50px;border:1.5px solid #333;background:transparent;color:#888;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;transition:all .25s}.reset-btn:hover{border-color:#c8a96e;color:#c8a96e}@media(max-width:480px){.top-cards{flex-direction:column}.profile-card{width:100%;height:200px}.report-title{font-size:1.5rem}}
