@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500&family=Noto+Sans+KR:wght@300;400;500;600&display=swap";:root{--color-bg: #faf5ef;--color-bg-pattern: radial-gradient(circle at 15% 45%, rgba(212, 132, 154, .07) 0%, transparent 55%), radial-gradient(circle at 85% 15%, rgba(186, 120, 170, .05) 0%, transparent 50%), radial-gradient(circle at 50% 85%, rgba(199, 162, 132, .04) 0%, transparent 50%);--color-surface: #ffffff;--color-surface-glass: rgba(255, 255, 255, .72);--color-text: #2e2428;--color-text-secondary: #7d6e74;--color-accent: #c47a8e;--color-accent-light: #f5e0e5;--color-accent-gradient: linear-gradient(135deg, #d4969f, #c47a8e, #b0688c);--color-accent-warm: #c9a87c;--color-border: #e8ddd5;--color-border-hover: #c47a8e;--radius-lg: 20px;--radius-md: 14px;--radius-sm: 10px;--color-accent-shadow: rgba(196, 122, 142, .2);--color-accent-shadow-hover: rgba(196, 122, 142, .32);--color-surface-hover: rgba(255, 255, 255, .5);--color-text-hint: #b8a5ab;--shadow-soft: 0 2px 20px rgba(160, 120, 140, .06);--shadow-card: 0 8px 32px rgba(160, 120, 140, .08);--shadow-card-hover: 0 16px 48px rgba(160, 120, 140, .14);--color-focus-ring: rgba(196, 122, 142, .45);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-spring: .4s cubic-bezier(.34, 1.56, .64, 1);--font-display: "Cormorant Garamond", "Georgia", serif;--font-body: "Noto Sans KR", system-ui, -apple-system, sans-serif;font-family:var(--font-body);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)}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9999;opacity:.025;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px}: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: #eef1f5;--color-bg-pattern: radial-gradient(circle at 15% 45%, rgba(74, 110, 160, .06) 0%, transparent 55%), radial-gradient(circle at 85% 15%, rgba(58, 95, 140, .05) 0%, transparent 50%), radial-gradient(circle at 50% 85%, rgba(90, 120, 160, .04) 0%, transparent 50%);--color-surface: #ffffff;--color-surface-glass: rgba(255, 255, 255, .72);--color-text: #1a2535;--color-text-secondary: #5e7088;--color-accent: #4570a8;--color-accent-light: #d3e1f0;--color-accent-gradient: linear-gradient(135deg, #5a8cc5, #4570a8, #365d92);--color-accent-warm: #7a9ab8;--color-border: #ced6e0;--color-border-hover: #4570a8;--color-accent-shadow: rgba(69, 112, 168, .2);--color-accent-shadow-hover: rgba(69, 112, 168, .32);--color-surface-hover: rgba(211, 225, 240, .4);--color-text-hint: #8a9bae;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 8px;--shadow-soft: 0 2px 20px rgba(80, 110, 150, .06);--shadow-card: 0 8px 32px rgba(80, 110, 150, .08);--shadow-card-hover: 0 16px 48px rgba(80, 110, 150, .14);--color-focus-ring: rgba(69, 112, 168, .45)}button{font-family:inherit}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.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}.skip-link{position:absolute;top:-100%;left:1rem;z-index:200;padding:.75rem 1.5rem;background:var(--color-accent);color:#fff;border-radius:var(--radius-sm);text-decoration:none;font-size:.9rem;font-weight:500;transition:top var(--transition-base)}.skip-link:focus{top:.75rem}.nav{position:sticky;top:0;z-index:100;background:var(--color-surface-glass);backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);border-bottom:1px solid var(--color-border)}.nav:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--color-accent-gradient);opacity:.7}.nav__inner{max-width:1080px;margin:0 auto;padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;height:64px}.nav__logo{font-family:var(--font-display);font-size:1.4rem;font-weight:600;color:var(--color-text);text-decoration:none;flex-shrink:0;letter-spacing:.01em;transition:opacity var(--transition-base)}.nav__logo:hover{opacity:.8}.nav__logo-accent{background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.nav__menu{list-style:none;margin:0;padding:0;display:flex;gap:.15rem;align-items:center}.nav__link{display:block;padding:.5rem .8rem;font-size:.85rem;font-weight:400;color:var(--color-text-secondary);text-decoration:none;border-radius:var(--radius-sm);transition:color var(--transition-base),background var(--transition-base);white-space:nowrap;position:relative}.nav__link:hover{color:var(--color-text);background:var(--color-surface-hover)}.nav__link.active{color:var(--color-accent);font-weight:500}.nav__link.active:after{content:"";position:absolute;bottom:2px;left:50%;transform:translate(-50%);width:16px;height:2px;background:var(--color-accent-gradient);border-radius:1px}.nav__toggle{display:none;flex-direction:column;gap:5px;padding:8px;background:none;border:none;cursor:pointer}.nav__toggle span{display:block;width:20px;height:1.5px;background:var(--color-text);border-radius:2px;transition:transform var(--transition-base),opacity var(--transition-base);transform-origin:center}.nav__toggle--open span:nth-child(1){transform:rotate(45deg) translate(4.5px,4.5px)}.nav__toggle--open span:nth-child(2){opacity:0}.nav__toggle--open span:nth-child(3){transform:rotate(-45deg) translate(4.5px,-4.5px)}.layout__main{min-height:calc(100vh - 364px);animation:fadeIn .4s ease-out}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);margin-top:2rem;position:relative}.footer:before{content:"";position:absolute;top:-1px;left:50%;transform:translate(-50%);width:60px;height:2px;background:var(--color-accent-gradient);border-radius:1px}.footer__inner{max-width:1080px;margin:0 auto;padding:3.5rem 1.5rem 2.5rem;display:flex;gap:3rem;justify-content:space-between}.footer__brand{max-width:280px}.footer__logo{font-family:var(--font-display);font-size:1.2rem;font-weight:600;color:var(--color-text);text-decoration:none;letter-spacing:.01em}.footer__logo-accent{background:var(--color-accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.footer__desc{font-size:.83rem;color:var(--color-text-secondary);margin:.85rem 0 0;line-height:1.7;font-weight:300}.footer__links{display:flex;gap:3.5rem}.footer__col{display:flex;flex-direction:column;gap:.55rem}.footer__col-title{font-family:var(--font-display);font-size:.9rem;font-weight:600;color:var(--color-text);margin:0 0 .3rem;letter-spacing:.04em}.footer__link{font-size:.82rem;color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-base);font-weight:300}.footer__link:hover{color:var(--color-accent)}.footer__bottom{max-width:1080px;margin:0 auto;padding:1.25rem 1.5rem;border-top:1px solid var(--color-border);text-align:center}.footer__bottom p{margin:0;font-size:.75rem;color:var(--color-text-hint);letter-spacing:.03em}@media(max-width:768px){.nav__toggle{display:flex}.nav__menu{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.5rem .75rem;box-shadow:var(--shadow-card);gap:0}.nav__menu--open{display:flex;animation:slideDown .25s ease-out}.nav__link{padding:.85rem 1rem;font-size:.92rem;border-radius:var(--radius-sm)}.nav__link.active:after{display:none}.footer__inner{flex-direction:column;gap:2rem;padding:2.5rem 1.5rem 2rem}.footer__links{flex-wrap:wrap;gap:2rem}.footer__brand{max-width:100%}}.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}
