@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@500;700&family=Noto+Sans+KR:wght@300;400;500;600&display=swap";:root{--color-bg: #fdf6f0;--color-bg-pattern: radial-gradient(circle at 20% 50%, rgba(232, 160, 180, .06) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(199, 125, 186, .05) 0%, transparent 50%), radial-gradient(circle at 50% 80%, rgba(212, 132, 154, .04) 0%, transparent 50%);--color-surface: #ffffff;--color-surface-glass: rgba(255, 255, 255, .7);--color-text: #3d3238;--color-text-secondary: #8c7b84;--color-accent: #d4849a;--color-accent-light: #f2d5dc;--color-accent-gradient: linear-gradient(135deg, #e8a0b4, #d4849a, #c77dba);--color-border: #ecddd5;--color-border-hover: #d4849a;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--color-accent-shadow: rgba(212, 132, 154, .25);--color-accent-shadow-hover: rgba(212, 132, 154, .35);--color-surface-hover: rgba(255, 255, 255, .5);--color-text-hint: #bba8ae;--shadow-soft: 0 2px 24px rgba(180, 130, 150, .07);--shadow-card: 0 8px 32px rgba(180, 130, 150, .1);--shadow-card-hover: 0 12px 40px rgba(180, 130, 150, .15);--color-focus-ring: rgba(212, 132, 154, .5);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-spring: .35s cubic-bezier(.34, 1.56, .64, 1);font-family:Noto Sans KR,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-image:var(--color-bg-pattern);background-attachment:fixed;transition:background-color var(--transition-base),color var(--transition-base)}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;border-radius:4px}button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}[data-theme=male]{--color-bg: #f0f2f6;--color-bg-pattern: radial-gradient(circle at 20% 50%, rgba(91, 142, 201, .06) 0%, transparent 50%), radial-gradient(circle at 80% 20%, rgba(58, 106, 158, .05) 0%, transparent 50%), radial-gradient(circle at 50% 80%, rgba(74, 122, 181, .04) 0%, transparent 50%);--color-surface: #ffffff;--color-surface-glass: rgba(255, 255, 255, .7);--color-text: #1e2a3a;--color-text-secondary: #6b7b8d;--color-accent: #4a7ab5;--color-accent-light: #d0dff0;--color-accent-gradient: linear-gradient(135deg, #5b8ec9, #4a7ab5, #3a6a9e);--color-border: #d5dce6;--color-border-hover: #4a7ab5;--color-accent-shadow: rgba(74, 122, 181, .25);--color-accent-shadow-hover: rgba(74, 122, 181, .35);--color-surface-hover: rgba(208, 223, 240, .4);--color-text-hint: #8a9bae;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-soft: 0 2px 24px rgba(100, 130, 170, .07);--shadow-card: 0 8px 32px rgba(100, 130, 170, .1);--shadow-card-hover: 0 12px 40px rgba(100, 130, 170, .15);--color-focus-ring: rgba(74, 122, 181, .5)}button{font-family:inherit}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.photo-upload{flex:1;min-width:280px;max-width:400px}.photo-upload__label{font-size:1rem;font-weight:500;margin-bottom:.2rem;color:var(--color-text)}.photo-upload__description{font-size:.82rem;color:var(--color-text-secondary);margin-bottom:.75rem;font-weight:300}.photo-upload__dropzone{position:relative;border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:2.5rem 1.5rem;text-align:center;cursor:pointer;transition:border-color var(--transition-base),background-color var(--transition-base),box-shadow var(--transition-base);background-color:var(--color-surface);box-shadow:var(--shadow-soft);min-height:260px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.photo-upload__dropzone:hover,.photo-upload__dropzone--drag-over{border-color:var(--color-border-hover);background-color:var(--color-accent-light);box-shadow:var(--shadow-card-hover)}.photo-upload__dropzone--drag-over{transform:scale(1.01)}.photo-upload__icon{width:56px;height:56px;border-radius:50%;background:var(--color-accent-light);display:flex;align-items:center;justify-content:center;margin-bottom:.3rem;transition:transform var(--transition-spring)}.photo-upload__dropzone:hover .photo-upload__icon{transform:translateY(-2px)}.photo-upload__icon svg{width:24px;height:24px;stroke:var(--color-accent)}.photo-upload__text{font-size:.88rem;color:var(--color-text-secondary)}.photo-upload__text span{color:var(--color-accent);font-weight:500;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.photo-upload__hint{font-size:.72rem;color:var(--color-text-hint);font-weight:300}.photo-upload__input{display:none}.photo-upload__preview-wrapper{position:relative;width:100%;min-height:240px;display:flex;align-items:center;justify-content:center}.photo-upload__preview{max-width:100%;max-height:320px;width:auto;height:auto;border-radius:var(--radius-md);object-fit:contain}.photo-upload__remove-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;border:none;background:#ffffffeb;color:var(--color-text-secondary);font-size:.85rem;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base),transform var(--transition-base);box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);touch-action:manipulation}.photo-upload__remove-btn:hover{background:#fff;color:var(--color-accent);box-shadow:0 4px 16px var(--color-accent-shadow);transform:scale(1.1)}.gender-selector{display:inline-flex;background:var(--color-accent-light);border-radius:50px;padding:4px;gap:2px;margin-top:1.2rem;box-shadow:inset 0 1px 3px #0000000a}.gender-selector__option{padding:.5rem 1.6rem;border:none;border-radius:50px;background:transparent;color:var(--color-text-secondary);font-size:.88rem;font-weight:400;cursor:pointer;transition:background-color var(--transition-base),color var(--transition-base),box-shadow var(--transition-base);display:flex;align-items:center;gap:.35rem;line-height:1;touch-action:manipulation}.gender-selector__option--active{background:var(--color-surface);color:var(--color-accent);font-weight:500;box-shadow:0 2px 10px var(--color-accent-shadow, rgba(212, 132, 154, .2))}.gender-selector__option:not(.gender-selector__option--active):hover{color:var(--color-text);background:var(--color-surface-hover, rgba(255, 255, 255, .5))}.gender-selector__icon{font-size:1rem}.ad-banner{margin:2rem 0;text-align:center;min-height:90px;overflow:hidden}.ad-banner--header{margin:0 0 1.5rem}.ad-banner--report{margin:2rem 0;padding-top:1.5rem;border-top:1px solid var(--color-border)}.ad-banner--footer{margin:2.5rem 0 0}.app{max-width:860px;margin:0 auto;padding:3.5rem 1.5rem 4rem}.app__header{text-align:center;margin-bottom:3rem}.app__title{font-family:Playfair Display,serif;font-size:2.4rem;font-weight:700;margin:0 0 .6rem;color:var(--color-text);letter-spacing:-.02em;text-wrap:balance}.app__title-accent{background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.app__subtitle{font-size:.95rem;color:var(--color-text-secondary);margin:0;font-weight:300;line-height:1.7;text-wrap:pretty}.app__divider{width:48px;height:2px;background:var(--color-accent-gradient);border:none;margin:1.4rem auto 0;border-radius:1px}.app__uploads{display:flex;gap:2rem;justify-content:center;margin-bottom:2.5rem}.app__action{text-align:center}.app__start-btn{padding:1rem 3.5rem;font-size:1rem;font-weight:500;border:none;border-radius:50px;background:var(--color-accent-gradient);color:#fff;cursor:pointer;transition:transform var(--transition-base),box-shadow var(--transition-base);letter-spacing:.04em;box-shadow:0 4px 20px var(--color-accent-shadow);touch-action:manipulation}.app__start-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 28px var(--color-accent-shadow-hover)}.app__start-btn:active:not(:disabled){transform:translateY(0);box-shadow:0 4px 16px var(--color-accent-shadow)}.app__start-btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none}.app__action-hint{font-size:.8rem;color:var(--color-text-secondary);margin-top:.85rem;font-weight:300}@media(max-width:640px){.app{padding:2rem 1rem 3rem}.app__uploads{flex-direction:column;align-items:center}.app__title{font-size:1.8rem}.app__start-btn{width:100%;max-width:320px}}
