*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,'Malgun Gothic',sans-serif;color:#1a1a1a;line-height:1.7;background:#fafafa}
header.site{background:var(--brand);color:#fff;padding:16px 20px;display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
header.site .logo{font-weight:900;font-size:20px;color:#fff;text-decoration:none}header.site .tag{opacity:.9;font-size:13px}
main{max-width:820px;margin:0 auto;padding:20px}
.hero{padding:28px 0 8px}.hero h1{font-size:26px}.hero p{color:#555}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:16px}
.card{display:block;background:#fff;border:1px solid #eee;border-radius:14px;padding:16px;text-decoration:none;color:inherit;transition:.15s}
.card:hover{box-shadow:0 6px 20px rgba(0,0,0,.08);transform:translateY(-2px)}.card h3{font-size:16px;color:var(--brand)}.card p{font-size:13px;color:#666;margin:8px 0}.card .more{font-size:13px;font-weight:700;color:var(--brand)}
.post h1{font-size:24px;margin:12px 0 16px;line-height:1.35}.post h2{font-size:19px;margin:26px 0 10px;padding-left:10px;border-left:4px solid var(--brand)}.post h3{font-size:16px;margin:6px 0}
.lead{font-size:16px;color:#333;background:#fff;border:1px solid #eee;border-radius:12px;padding:14px}
.toc{font-size:13px;color:#666;background:#f4f6fb;border-radius:10px;padding:10px 12px;margin:14px 0}
.checks{margin:0 0 8px 18px}.checks li{margin:6px 0}
.picks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}.pick{background:#fff;border:1px solid #eee;border-radius:12px;padding:14px}.pick em{color:var(--brand);font-style:normal;font-weight:700;font-size:13px}
.aff-cta{display:grid;gap:10px;margin:12px 0}
.aff-card{display:flex;align-items:center;gap:10px;background:#fff;border:2px solid var(--brand);border-radius:12px;padding:14px;text-decoration:none;color:inherit;font-weight:700}
.aff-card .ad-label{font-size:11px;color:#888;font-weight:600}.aff-card .aff-emoji{font-size:20px}.aff-card .aff-name small{color:var(--brand)}
.disclosure{font-size:12px;color:#888;margin:8px 0}.disclosure.coupang{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;padding:8px 10px;color:#9a3412}
.faq details{background:#fff;border:1px solid #eee;border-radius:10px;padding:10px 14px;margin:8px 0}.faq summary{font-weight:700;cursor:pointer}
.ad-inline{margin:18px 0;min-height:90px}
footer.site{max-width:820px;margin:30px auto;padding:20px;border-top:1px solid #eee;color:#888;font-size:13px}.footer .fine,footer.site .fine{font-size:12px;margin:6px 0}
footer.site a{color:var(--brand);text-decoration:none}