
:root{
  --bg:#fff7fa;
  --ink:#2b2230;
  --muted:#6a5a66;
  --line:#f0d8e3;
  --card:#ffffff;
  --accent:#f05f93;
  --accent2:#ff8eb4;
  --soft:#fff0f6;
  --shadow:0 12px 32px rgba(97,39,67,.08);
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#fff7fa 0%,#fff 28%,#fff 100%);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic","Segoe UI",sans-serif;line-height:1.95}
img{max-width:100%;display:block}
a{text-decoration:none;color:#cb3f72}
.wrap{width:min(1120px,calc(100% - 32px));margin:auto}
.header{position:sticky;top:0;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:50}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0}
.logo{font-weight:800;color:#111}
.nav{display:flex;gap:14px;flex-wrap:wrap}
.nav a{font-size:.95rem;color:#4f4250}
.hero{padding:28px 0 8px}
.hero-grid{display:grid;grid-template-columns:1.04fr .96fr;gap:26px;align-items:center}
.badge{display:inline-block;background:var(--soft);border:1px solid #ffd7e6;color:#ca4778;padding:6px 12px;border-radius:999px;font-size:.85rem;font-weight:700;margin-bottom:14px}
.hero-copy h1{font-size:clamp(2rem,3.2vw,3.4rem);line-height:1.22;margin:0 0 16px}
.lead{margin:0 0 18px;color:var(--muted);font-size:1.03rem}
.hero-panel,.card,.article-card,.feature,.info-box,.rank-card,.faq-item{background:var(--card);border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow)}
.hero-panel{padding:22px}
.hero-image{overflow:hidden}
.hero-image img{width:100%;height:auto}
.points{padding-left:18px;margin:0}
.points li{margin:8px 0}
.btn-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}
.btn,.btn-sub{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 20px;font-weight:800}
.btn{background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff}
.btn-sub{background:#fff;color:#b13d68;border:1px solid #f6bfd0}
.section{padding:18px 0 10px}
.section h2{font-size:1.8rem;margin:0 0 8px}
.section-lead{color:var(--muted);margin:0 0 18px}
.grid-3,.grid-2,.article-grid,.rank-grid,.link-grid{display:grid;gap:18px}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.feature,.article-card,.info-box,.rank-card{padding:18px}
.rank-grid{grid-template-columns:repeat(3,1fr)}
.rank-thumb{width:160px;height:160px;object-fit:cover;border-radius:20px;margin:0 auto 12px;border:1px solid var(--line);background:#fff}
.rank-card h3{margin:8px 0}
.tag{display:inline-block;background:#fff2f6;border:1px solid #ffd5e2;color:#cc4c7b;border-radius:999px;padding:4px 10px;font-size:.8rem;font-weight:700}
.article-grid{grid-template-columns:repeat(2,1fr)}
.article-card h3{margin-top:0}
.article-card p{color:var(--muted)}
.article-hero{border-radius:24px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);margin:18px 0}
.post-wrap{width:min(900px,calc(100% - 32px));margin:28px auto 40px}
.post-meta{color:var(--muted);font-size:.95rem;margin-bottom:10px}
.post-body{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}
.post-body h2{margin-top:24px}
.ad-mini{display:flex;gap:14px;align-items:center;background:#fff8fb;border:1px solid var(--line);border-radius:18px;padding:14px;margin:22px 0}
.ad-mini img{width:92px;height:92px;object-fit:cover;border-radius:16px;border:1px solid var(--line)}
.footer{margin-top:34px;padding:28px 0;border-top:1px solid var(--line);background:#fffafb}
.small{font-size:.92rem;color:var(--muted)}
ul.clean{padding-left:18px}
.faq-item{padding:18px;margin-bottom:14px}
@media (max-width:900px){
  .hero-grid,.grid-3,.grid-2,.article-grid,.rank-grid{grid-template-columns:1fr}
  .header-inner{align-items:flex-start;flex-direction:column}
}


/* readability fix */
.post-wrap{width:min(860px,calc(100% - 32px));margin:36px auto 48px}
.post-body{padding:30px 28px;line-height:2.05;font-size:1.03rem}
.post-body p{margin:0 0 1.45em}
.post-body h2{margin:2.2em 0 .9em;line-height:1.45}
.post-body ul{margin:1.2em 0 1.2em 1.2em}
.post-body li{margin:.5em 0}
.article-hero{margin:22px 0 28px 0}
.ad-mini{margin:28px 0}
@media (max-width:900px){.post-body{padding:22px 18px;font-size:1rem}}
