:root{--bg:#fffdf9;--fg:#2b2b2b;--muted:#6b6b6b;--accent:#e6457a;--accent-2:#ff9f43;--line:#eee3d8;--card:#fff;--max:760px}
*{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;line-height:1.85}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
a{color:var(--accent)}
.site-header{background:#fff;border-bottom:3px solid var(--accent);padding:18px 0 10px}
.brand{font-size:1.5rem;font-weight:800;color:var(--fg);text-decoration:none;letter-spacing:.02em}
.tagline{margin:2px 0 8px;color:var(--muted);font-size:.9rem}
.nav{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.92rem}
.nav a{text-decoration:none;color:var(--fg);padding:4px 0;border-bottom:2px solid transparent}
.nav a.active,.nav a:hover{border-bottom-color:var(--accent)}
.pr-notice{font-size:.78rem;color:var(--muted);background:#f6f0e8;border-radius:6px;padding:6px 10px;margin:14px 0 0}
main{padding:10px 0 40px}
h1{font-size:1.65rem;line-height:1.4;margin:18px 0 6px}
h2{font-size:1.28rem;margin:2.2em 0 .7em;padding:.35em .6em;border-left:5px solid var(--accent);background:#fff;border-radius:0 6px 6px 0}
h3{font-size:1.08rem;margin:1.8em 0 .5em;border-bottom:2px solid var(--line);padding-bottom:.2em}
.dateline{color:var(--muted);font-size:.85rem;margin:0 0 18px}
.content img{max-width:100%;height:auto;border-radius:8px}
.content table{border-collapse:collapse;width:100%;font-size:.92rem;margin:1em 0;display:block;overflow-x:auto}
.content th,.content td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.content th{background:#f9f3ec;white-space:nowrap}
.content blockquote{margin:1em 0;padding:.6em 1em;background:#fff;border-left:4px solid var(--accent-2);color:#444}
.content code{background:#f3eee8;padding:.1em .35em;border-radius:4px;font-size:.9em}
.content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.aff{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;font-weight:700;padding:10px 18px;border-radius:999px;margin:6px 0;box-shadow:0 2px 0 #b8305e}
.aff:hover{opacity:.92}
.aff-pending{display:inline-block;background:#e9e2da;color:#666;font-weight:700;padding:10px 18px;border-radius:999px;margin:6px 0}
.aff-missing{color:#c00;font-weight:700}
.post-list{list-style:none;padding:0;margin:0}
.post-list li{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin:0 0 10px}
.post-list a{text-decoration:none;color:var(--fg);display:block}
.post-list .date{font-size:.8rem;color:var(--muted);margin-right:10px}
.post-list .title{font-weight:700}
.post-list .desc{margin:4px 0 0;font-size:.88rem;color:var(--muted)}
.muted{color:var(--muted)}
.box{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;margin:1.2em 0}
.box.warn{border-color:#f3c37a;background:#fff8ec}
.site-footer{border-top:1px solid var(--line);padding:22px 0 40px;font-size:.85rem;color:var(--muted)}
@media (max-width:480px){h1{font-size:1.4rem}.brand{font-size:1.3rem}}
