
:root{--bg1:#160d20;--bg2:#2f163c;--accent:#d84d91;--dark:#8f285e;--text:#24192a;--muted:#75677b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;font-family:Inter,Arial,sans-serif;color:var(--text);
background:radial-gradient(circle at 20% 5%,rgba(216,77,145,.35),transparent 28%),
radial-gradient(circle at 85% 18%,rgba(242,184,75,.18),transparent 23%),linear-gradient(145deg,var(--bg1),var(--bg2))}
.wrap{width:min(1000px,calc(100% - 24px));margin:auto;padding:28px 0 48px}
.site-nav{position:sticky;top:10px;z-index:10;display:flex;justify-content:center;flex-wrap:wrap;gap:8px;padding:10px;margin-bottom:24px;
border-radius:18px;background:rgba(255,255,255,.94);box-shadow:0 12px 30px rgba(0,0,0,.22)}
.site-nav a{padding:9px 12px;border-radius:11px;color:#7d2454;text-decoration:none;font-weight:900;font-size:.88rem}
.site-nav a:hover{background:#fde6f2}.hero{text-align:center;color:white;margin:22px 0}.hero h1{font-size:clamp(2rem,6vw,3.5rem);margin:0}
.hero p{color:#ffd6ea;font-weight:700}.card{background:rgba(255,255,255,.94);padding:clamp(20px,5vw,42px);border-radius:26px;
box-shadow:0 28px 70px rgba(0,0,0,.3);line-height:1.75}.card h2,.card h3{color:#651d49}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.tile{display:block;padding:18px;border:1px solid #f0c5dc;border-radius:16px;background:white;text-decoration:none;color:#5c2445;font-weight:900}
.tile:hover{transform:translateY(-2px);box-shadow:0 10px 20px rgba(143,40,94,.15)}.button{display:inline-block;padding:12px 18px;border-radius:12px;
background:linear-gradient(135deg,var(--accent),var(--dark));color:white;text-decoration:none;font-weight:900}.notice{padding:16px;border-left:4px solid var(--accent);background:#fff1f8}
footer{text-align:center;color:#f4d4e4;margin-top:22px}footer a{color:#ffe3f0;text-decoration:none;margin:0 6px;font-weight:800}
input,textarea{width:100%;padding:12px;border:1px solid #e9bad3;border-radius:12px;font:inherit}textarea{min-height:140px}
.ad-slot{margin:18px 0;padding:14px;border:1px dashed #d58bad;border-radius:14px;text-align:center;color:#8b7280}
@media(max-width:720px){.grid{grid-template-columns:1fr 1fr}.site-nav{position:static}.site-nav a{font-size:.76rem;padding:7px 8px}}
@media(max-width:480px){.grid{grid-template-columns:1fr}}
