
:root {
    --bg: #fff7fb;
    --bg-2: #fbf5ee;
    --surface: rgba(255,255,255,.78);
    --surface-solid: #ffffff;
    --surface-soft: #fff0f7;
    --ink: #221821;
    --muted: #756a73;
    --line: rgba(127, 74, 103, .14);
    --rose: #ff5d9e;
    --rose-2: #d83f7c;
    --plum: #7b2f60;
    --gold: #c59648;
    --lavender: #eee7ff;
    --mint: #e9fbf4;
    --shadow: 0 22px 70px rgba(108, 54, 86, .14);
    --shadow-soft: 0 14px 34px rgba(108, 54, 86, .10);
    --radius: 28px;
    --radius-sm: 18px;
    --max: 1180px;
    --font: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; text-size-adjust: 100%; }
body {
    margin: 0;
    font-family: var(--font);
    color: var(--ink);
    background:
        radial-gradient(circle at 12% -8%, rgba(255, 132, 180, .28), transparent 28rem),
        radial-gradient(circle at 85% 7%, rgba(221, 202, 255, .42), transparent 30rem),
        linear-gradient(180deg, #fffafb 0%, #fff7fb 48%, #fff 100%);
    line-height: 1.65;
    overflow-x: hidden;
}
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image: linear-gradient(rgba(123,47,96,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(123,47,96,.035) 1px, transparent 1px);
    background-size: 44px 44px;
    mask-image: linear-gradient(to bottom, rgba(0,0,0,.6), transparent 65%);
}
a { color: inherit; text-decoration: none; }
a:hover { color: var(--rose-2); }
p { color: var(--muted); margin: 0 0 1rem; }
ul, ol { color: var(--muted); }
img { max-width: 100%; height: auto; }
h1, h2, h3, h4 { letter-spacing: -.035em; line-height: 1.08; margin: 0 0 1rem; color: var(--ink); }
h1 { font-size: clamp(2.45rem, 6vw, 5.8rem); }
h2 { font-size: clamp(2rem, 3.8vw, 3.35rem); }
h3 { font-size: clamp(1.25rem, 2vw, 1.65rem); }
h4 { font-size: 1.05rem; }
.container { width: min(var(--max), calc(100% - 40px)); margin-inline: auto; }
.skip-link { position:absolute; left:-999px; top:0; background:#fff; color:#000; padding:10px; z-index:9999; }
.skip-link:focus { left: 12px; top: 12px; border-radius: 12px; }
.site-header {
    position: sticky; top: 0; z-index: 100;
    padding: 14px 0;
    backdrop-filter: blur(22px) saturate(170%);
    -webkit-backdrop-filter: blur(22px) saturate(170%);
    background: rgba(255, 250, 253, .72);
    border-bottom: 1px solid rgba(255,255,255,.65);
    transition: box-shadow .25s ease, background .25s ease;
}
.site-header.scrolled { box-shadow: 0 10px 34px rgba(71,36,60,.08); background: rgba(255,255,255,.82); }
.nav-shell { width: min(1220px, calc(100% - 28px)); margin: 0 auto; display:flex; align-items:center; gap: 16px; }
.brand { display:flex; align-items:center; gap: 10px; font-weight: 800; letter-spacing: -.03em; }
.brand-mark { width: 42px; height: 42px; border-radius: 15px; display:inline-grid; place-items:center; color:#fff; font-weight:900; box-shadow: 0 13px 30px rgba(216,63,124,.28); background: linear-gradient(135deg, #ff8abb, #d83f7c 60%, #8a2e6d); }
.brand-text { font-size: 1.1rem; white-space:nowrap; }
.brand-text em { font-style: normal; color: var(--rose-2); }
.main-nav { margin-left:auto; display:flex; align-items:center; gap: 6px; border:1px solid var(--line); background:rgba(255,255,255,.52); padding:6px; border-radius: 999px; box-shadow: 0 12px 32px rgba(118,50,86,.06); }
.main-nav a { padding: 9px 16px; border-radius: 999px; color: #51464f; font-weight: 650; font-size: .95rem; }
.main-nav a[aria-current="page"], .main-nav a:hover { background:#fff; color: var(--plum); box-shadow: 0 8px 22px rgba(118,50,86,.08); }
.nav-cta { padding: 12px 18px; border-radius: 999px; color:#fff; font-weight: 800; background: linear-gradient(135deg, var(--rose), var(--plum)); box-shadow: 0 13px 34px rgba(216,63,124,.26); }
.mobile-toggle { display:none; width:44px; height:44px; border:0; border-radius:16px; background:#fff; box-shadow: var(--shadow-soft); position:relative; }
.mobile-toggle span { position:absolute; left:12px; right:12px; height:2px; background: var(--plum); transition:.25s ease; }
.mobile-toggle span:first-child { top:16px; }
.mobile-toggle span:last-child { top:26px; }
.mobile-toggle.active span:first-child { transform: rotate(45deg); top:21px; }
.mobile-toggle.active span:last-child { transform: rotate(-45deg); top:21px; }
.hero { position: relative; padding: clamp(64px, 9vw, 124px) 0 56px; overflow:hidden; }
.hero::after { content:""; position:absolute; width:520px; height:520px; right:-170px; top:40px; border-radius:50%; background: radial-gradient(circle, rgba(255,126,179,.22), transparent 62%); filter: blur(2px); }
.hero-grid { display:grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .75fr); gap: 46px; align-items:center; position:relative; z-index:1; }
.kicker { display:inline-flex; align-items:center; gap:8px; padding: 8px 14px; border: 1px solid var(--line); border-radius:999px; background: rgba(255,255,255,.68); box-shadow: 0 8px 24px rgba(118,50,86,.07); color: var(--plum); font-weight:750; font-size:.9rem; margin-bottom: 16px; }
.hero-title .gradient, .gradient-text { background: linear-gradient(120deg, #19131a, #d83f7c 50%, #8b5cf6); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-copy { font-size: clamp(1.05rem, 2vw, 1.28rem); max-width: 760px; color:#665a64; }
.hero-actions { display:flex; flex-wrap:wrap; gap: 14px; margin-top: 28px; align-items:center; }
.btn { display:inline-flex; align-items:center; justify-content:center; gap: 8px; min-height: 48px; padding: 13px 22px; border:0; cursor:pointer; border-radius:999px; font-weight:800; font-size: 1rem; transition: transform .2s ease, box-shadow .2s ease, background .2s ease; }
.btn:hover { transform: translateY(-2px); color: inherit; }
.btn-primary { color:#fff; background: linear-gradient(135deg, #ff6aa7, #d83f7c 52%, #71316a); box-shadow: 0 18px 42px rgba(216,63,124,.28); }
.btn-secondary { background: rgba(255,255,255,.72); color: var(--plum); border:1px solid var(--line); box-shadow: var(--shadow-soft); }
.btn-outline { background: transparent; color: var(--plum); border:1px solid rgba(123,47,96,.26); }
.btn-small { min-height: 36px; padding: 9px 14px; font-size: .88rem; }
.hero-card { background: linear-gradient(180deg, rgba(255,255,255,.86), rgba(255,255,255,.62)); border:1px solid rgba(255,255,255,.75); border-radius: 38px; padding: 24px; box-shadow: var(--shadow); backdrop-filter: blur(20px); animation: floaty 6s ease-in-out infinite; }
@keyframes floaty { 0%,100%{ transform: translateY(0) rotate(0deg);} 50%{ transform: translateY(-10px) rotate(.4deg);} }
.preview-nails { display:grid; grid-template-columns: repeat(5, 1fr); gap:10px; min-height: 220px; align-items:end; padding: 18px; border-radius:30px; background: linear-gradient(135deg, #fff7fb, #fff); }
.nail-chip { height: var(--h, 140px); border-radius: 999px 999px 35px 35px; background: var(--g, linear-gradient(#ffc2d9,#ff6aa7)); box-shadow: inset 0 8px 14px rgba(255,255,255,.55), 0 18px 34px rgba(123,47,96,.14); }
.nail-chip:nth-child(1){--h:120px;--g:linear-gradient(180deg,#ffd0df,#ff7aad)}
.nail-chip:nth-child(2){--h:156px;--g:linear-gradient(180deg,#fff,#f3d2ff 52%,#d7b5ff)}
.nail-chip:nth-child(3){--h:186px;--g:linear-gradient(180deg,#fff4d9,#d7a84d)}
.nail-chip:nth-child(4){--h:156px;--g:linear-gradient(180deg,#f9fbff,#d7f6ff 55%,#86c8ff)}
.nail-chip:nth-child(5){--h:126px;--g:linear-gradient(180deg,#ffe5ee,#d83f7c)}
.stats-row { display:grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-top:14px; }
.stat { padding: 16px 12px; border-radius:22px; background:#fff; border:1px solid var(--line); text-align:center; }
.stat strong { display:block; font-size:1.3rem; color:var(--plum); letter-spacing:-.04em; }
.section { padding: 50px 0; }
.section-head { max-width: 820px; margin-bottom: 26px; }
.section-head.center { text-align:center; margin-inline:auto; }
.card, .tool-card, .post-card, .ad-container, .glass-panel {
    background: var(--surface);
    border: 1px solid rgba(255,255,255,.74);
    box-shadow: var(--shadow-soft);
    border-radius: var(--radius);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.card { padding: clamp(20px, 3vw, 32px); }
.card:hover, .post-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); }
.card, .post-card { transition: transform .25s ease, box-shadow .25s ease; }
.card-grid { display:grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 18px; }
.feature-card .icon, .trend-card .icon { font-size: 1.8rem; width: 50px; height:50px; display:grid; place-items:center; border-radius:18px; background: linear-gradient(135deg,#fff,#fff0f7); box-shadow: inset 0 0 0 1px rgba(123,47,96,.08); margin-bottom: 14px; }
.tool-card { padding: clamp(20px, 4vw, 38px); position:relative; overflow:hidden; }
.tool-card::before { content:""; position:absolute; inset:-80px auto auto -80px; width:220px; height:220px; border-radius:50%; background: rgba(255,93,158,.14); pointer-events:none; }
.tool-grid { display:grid; grid-template-columns: repeat(3, 1fr); gap: 16px; position:relative; z-index:1; }
.form-group { display:flex; flex-direction:column; gap: 8px; }
label { font-weight:800; color: #4b3345; letter-spacing:-.015em; }
select, input[type="text"], input[type="email"], textarea {
    width: 100%; min-height: 52px; border: 1px solid rgba(123,47,96,.17); border-radius: 18px; background: rgba(255,255,255,.86); color: var(--ink); padding: 12px 15px; font: inherit; outline: none; box-shadow: 0 8px 24px rgba(118,50,86,.04); transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
textarea { min-height: 140px; resize: vertical; }
select:focus, input:focus, textarea:focus { border-color: rgba(216,63,124,.58); box-shadow: 0 0 0 5px rgba(255,93,158,.12); background:#fff; }
.form-actions { display:flex; flex-wrap:wrap; gap: 12px; margin-top: 22px; }
.result-box { margin-top: 30px; padding: clamp(22px, 4vw, 38px); border-radius: 34px; background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,245,250,.82)); border: 1px solid rgba(255,255,255,.78); box-shadow: var(--shadow); animation: resultIn .48s cubic-bezier(.2,.8,.2,1); }
@keyframes resultIn { from { opacity:0; transform: translateY(18px) scale(.985);} to { opacity:1; transform: translateY(0) scale(1);} }
.result-hero { display:flex; gap:16px; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; border-bottom:1px solid var(--line); padding-bottom:18px; margin-bottom:20px; }
.result-badge { display:inline-flex; padding: 7px 12px; border-radius:999px; background:#fff; color:var(--plum); border:1px solid var(--line); font-weight:800; font-size:.85rem; }
.idea-list { display:grid; grid-template-columns: repeat(auto-fit, minmax(220px,1fr)); gap:10px; padding: 0; list-style:none; counter-reset: idea; }
.idea-list li { counter-increment: idea; padding: 12px 14px; border-radius:18px; background:rgba(255,255,255,.78); border:1px solid var(--line); color:#574b55; }
.idea-list li::before { content: counter(idea) "."; font-weight:900; color:var(--rose-2); margin-right:6px; }
.result-meta { display:grid; grid-template-columns: repeat(auto-fit, minmax(240px,1fr)); gap:14px; margin-top:20px; }
.meta-card { padding: 16px; border-radius:20px; background:#fff; border:1px solid var(--line); }
.meta-card strong { color:var(--plum); display:block; margin-bottom:5px; }
.copy-row { display:grid; grid-template-columns: 1fr auto; gap:10px; align-items:center; padding:12px; border-radius:18px; background:#fff; border:1px solid var(--line); margin: 10px 0; }
.copy-row span { color: var(--muted); overflow-wrap:anywhere; }
.article-content { max-width: 900px; }
.article-content h2, .article-content h3 { margin-top: 2rem; }
.article-content p { font-size: 1.04rem; }
.trend-card { min-height: 180px; display:flex; flex-direction:column; justify-content:space-between; position:relative; overflow:hidden; }
.trend-card::after { content:""; position:absolute; width:160px; height:160px; right:-80px; bottom:-80px; border-radius:50%; background:rgba(255,93,158,.12); }
.ad-container { min-height: 96px; display:grid; place-items:center; margin: 34px 0; padding:20px; border:1px dashed rgba(123,47,96,.24); color:#8b7c88; text-align:center; box-shadow:none; background: rgba(255,255,255,.45); }
.ad-label { font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; color:#9b8794; margin-bottom: 6px; }
.post-card { padding: 24px; display:flex; flex-direction:column; gap:10px; }
.post-meta { color:#9b8794; font-size:.92rem; }
.search-form { display:grid; grid-template-columns: 1fr auto; gap: 12px; margin: 22px 0 28px; }
.faq-list { display:grid; gap:12px; }
.faq-item { border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.66); overflow:hidden; }
.faq-question { width:100%; display:flex; justify-content:space-between; gap:16px; padding:18px 20px; cursor:pointer; font-weight:850; color:var(--ink); background:transparent; border:0; text-align:left; font:inherit; }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .28s ease; }
.faq-answer > div { overflow:hidden; padding:0 20px; }
.faq-item.open .faq-answer { grid-template-rows:1fr; }
.faq-item.open .faq-answer > div { padding-bottom:18px; }
.site-footer { margin-top:60px; padding: 56px 0 22px; background: linear-gradient(180deg, rgba(255,255,255,.45), rgba(255,241,247,.82)); border-top:1px solid rgba(255,255,255,.76); position:relative; overflow:hidden; }
.footer-grid { display:grid; grid-template-columns: 1.45fr repeat(3, 1fr); gap: 28px; }
.footer-brand, .footer-col { display:flex; flex-direction:column; gap:10px; }
.footer-col a { color: var(--muted); }
.footer-col a:hover { color: var(--rose-2); }
.footer-bottom { margin-top:34px; padding-top:18px; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; }
#backToTop { position: fixed; right: 22px; bottom: 22px; width:48px; height:48px; border:0; border-radius:18px; color:#fff; background:linear-gradient(135deg,var(--rose),var(--plum)); box-shadow: var(--shadow-soft); cursor:pointer; opacity:0; transform: translateY(12px); pointer-events:none; transition:.22s ease; z-index:80; }
#backToTop.show { opacity:1; transform:translateY(0); pointer-events:auto; }
.reveal { opacity:0; transform: translateY(24px); transition: opacity .6s ease, transform .6s ease; }
.reveal.visible { opacity:1; transform:none; }
.notice { padding: 14px 16px; border-radius: 18px; border: 1px solid var(--line); background:#fff; }
.notice.success { color:#136a3a; background:#eefcf4; }
.notice.error { color:#9a1b39; background:#fff0f4; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior:auto !important; animation:none !important; transition:none !important; } }
@media (max-width: 940px) {
    .hero-grid { grid-template-columns:1fr; }
    .hero-card { max-width: 560px; }
    .tool-grid { grid-template-columns: repeat(2,1fr); }
    .footer-grid { grid-template-columns: repeat(2,1fr); }
    .main-nav { position: fixed; left: 14px; right: 14px; top: 74px; display:none; flex-direction:column; align-items:stretch; border-radius: 26px; padding: 12px; background:rgba(255,255,255,.94); backdrop-filter: blur(22px); }
    .main-nav.active { display:flex; }
    .main-nav a { text-align:center; }
    .mobile-toggle { display:block; margin-left:auto; }
    .nav-cta { display:none; }
}
@media (max-width: 640px) {
    .container { width:min(100% - 28px, var(--max)); }
    .brand-text { font-size: 1rem; }
    .hero { padding-top: 48px; }
    .hero-actions, .form-actions { flex-direction:column; align-items:stretch; }
    .btn { width:100%; }
    .tool-grid { grid-template-columns:1fr; }
    .stats-row { grid-template-columns:1fr; }
    .search-form { grid-template-columns:1fr; }
    .footer-grid { grid-template-columns:1fr; }
    .footer-bottom { display:block; }
    .copy-row { grid-template-columns:1fr; }
}
