: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;display:flex;place-items:center;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}}:root{--primary-pink: #ff4d6d;--secondary-pink: #ff85a1;--dark-text: #2d2d2d;--light-text: #ffffff;--gray-bg: #f8f9fa;--shadow: 0 10px 30px rgba(0, 0, 0, .1);--transition: all .3s ease}body{margin:0;font-family:Pretendard,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color:var(--dark-text);background-color:#fff}#root{width:100%;margin:0;padding:0;max-width:none}.app-container{width:100%}.hero-section{position:relative;height:100vh;display:flex;align-items:center;justify-content:center;background:url(https://images.unsplash.com/photo-1518196775741-201580922634?auto=format&fit=crop&q=80&w=1920) no-repeat center center;background-size:cover;color:var(--light-text);text-align:center}.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(#0000004d,#000000b3);z-index:1}.hero-content{position:relative;z-index:2;padding:0 20px}.hero-title{font-size:3.5rem;font-weight:800;line-height:1.2;margin-bottom:1.5rem}.highlight{color:var(--secondary-pink);text-shadow:0 0 20px rgba(255,77,109,.5)}.hero-subtitle{font-size:1.25rem;margin-bottom:2.5rem;opacity:.9;line-height:1.6}.cta-button{background-color:var(--primary-pink);color:#fff;border:none;padding:1.2rem 3rem;font-size:1.2rem;font-weight:700;border-radius:50px;cursor:pointer;transition:var(--transition);box-shadow:0 5px 15px #ff4d6d66}.cta-button:hover{background-color:#ff0a3d;transform:translateY(-3px);box-shadow:0 8px 20px #ff4d6d99}.selection-section{padding:6rem 2rem;background-color:var(--gray-bg)}.section-header{text-align:center;margin-bottom:4rem}.section-title{font-size:2.5rem;font-weight:700;margin-bottom:1rem}.section-subtitle{font-size:1.1rem;color:#666}.boyfriend-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2.5rem;max-width:1200px;margin:0 auto}.boyfriend-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);transition:var(--transition)}.boyfriend-card:hover{transform:translateY(-10px)}.image-wrapper{position:relative;height:400px;overflow:hidden}.boyfriend-image{width:100%;height:100%;object-fit:cover;transition:var(--transition)}.boyfriend-card:hover .boyfriend-image{transform:scale(1.05)}.type-badge{position:absolute;top:1rem;left:1rem;background-color:#ff4d6de6;color:#fff;padding:.5rem 1rem;border-radius:50px;font-size:.9rem;font-weight:600}.info-content{padding:2rem}.boyfriend-name{font-size:1.5rem;font-weight:700;margin-bottom:.8rem}.boyfriend-description{font-size:1rem;color:#555;line-height:1.6;margin-bottom:1.5rem;height:3.2rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.traits-container{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:2rem}.trait-tag{background-color:#fce4ec;color:var(--primary-pink);padding:.3rem .8rem;border-radius:4px;font-size:.85rem;font-weight:600}.select-button{width:100%;background-color:#fff;color:var(--primary-pink);border:2px solid var(--primary-pink);padding:1rem;font-size:1rem;font-weight:700;border-radius:12px;cursor:pointer;transition:var(--transition)}.select-button:hover{background-color:var(--primary-pink);color:#fff}.footer{text-align:center;padding:3rem;background-color:#fff;border-top:1px solid #eee;color:#888}@media(max-width:768px){.hero-title{font-size:2.2rem}.hero-subtitle{font-size:1rem}.selection-section{padding:4rem 1.5rem}.section-title{font-size:1.8rem}}
