:root{--fg:#222;--bg:#fff;--mute:#666;--accent:#2f5d8a;--line:#e3e3e3}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--fg);background:var(--bg);line-height:1.8}
main,.site-header,.site-footer{max-width:860px;margin:0 auto;padding:0 16px}
.ad-bar{background:#f5f2e8;color:#5a5126;font-size:.8rem;text-align:center;padding:4px 8px}
.site-header{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.brand{font-weight:700;font-size:1.2rem;color:var(--fg);text-decoration:none}
nav a{margin-left:14px;color:var(--accent);text-decoration:none}
a{color:var(--accent)}
h1{font-size:1.5rem}h2{font-size:1.2rem;border-left:4px solid var(--accent);padding-left:8px;margin-top:2rem}
.cards{list-style:none;padding:0;display:grid;gap:12px}
.card{display:flex;gap:12px;border:1px solid var(--line);border-radius:6px;padding:12px}
.card img{width:96px;height:auto;object-fit:cover;align-self:flex-start}
.card h3{margin:0 0 4px;font-size:1rem}
.meta{color:var(--mute);font-size:.85rem;margin:0}
.tags span{display:inline-block;background:#eef2f6;border-radius:3px;padding:0 6px;margin-right:4px;font-size:.75rem}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:4px 12px;border-radius:4px;text-decoration:none;font-size:.9rem}
.plain{padding-left:1.2em}.pr-note{font-size:.85rem;color:var(--mute)}
.site-footer{margin-top:3rem;padding-top:16px;padding-bottom:32px;border-top:1px solid var(--line);font-size:.85rem;color:var(--mute)}
#age-gate{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:99;display:flex;align-items:center;justify-content:center;color:#fff;text-align:center}
#age-gate[hidden]{display:none}
.gate-box{max-width:360px;padding:24px}.gate-box button{padding:8px 16px;margin-right:12px}.gate-box a{color:#ccc}
