
:root {
  --fg:#1a1f2b; --fg-soft:#4b5363; --bg:#f7f8fa; --panel:#ffffff;
  --accent:#2563eb; --accent-ink:#1d4ed8; --muted:#6b7280; --line:#e5e8ee;
  --badge:#047857; --badge-est:#b45309; --chip-bg:#eef1f6; --shadow:0 1px 2px rgba(16,24,40,.06),0 1px 3px rgba(16,24,40,.08);
}
@media (prefers-color-scheme: dark) {
  :root {
    --fg:#e7eaf0; --fg-soft:#b6bcc8; --bg:#0f1218; --panel:#171b23;
    --accent:#7aa2ff; --accent-ink:#9db8ff; --muted:#8b93a2; --line:#2a3040;
    --badge:#0e9f6e; --badge-est:#d97706; --chip-bg:#232936; --shadow:0 1px 2px rgba(0,0,0,.4);
  }
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Segoe UI",Meiryo,sans-serif; color:var(--fg); background:var(--bg); line-height:1.9; font-feature-settings:"palt"; }
a { color:var(--accent); text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { color:var(--accent-ink); }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 20px; }
header.site { position:sticky; top:0; z-index:10; background:color-mix(in srgb, var(--panel) 88%, transparent); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); border-bottom:1px solid var(--line); padding:12px 0; }
header.site .wrap { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }
header.site .name { font-size:1.12rem; font-weight:800; letter-spacing:.02em; text-decoration:none; color:var(--fg); }
header.site .name::before { content:""; display:inline-block; width:.62em; height:.62em; border-radius:3px; background:linear-gradient(135deg,var(--accent),#7c3aed); margin-right:.5em; }
header.site .tagline { font-size:.72rem; color:var(--muted); }
main.wrap { padding-top: 8px; }
.lead { color:var(--fg-soft); font-size:.92rem; margin: 4px 0 20px; }
.pr-note { font-size:.7rem; color:var(--muted); text-align:right; margin:10px 0 -4px; }
.badge { display:inline-block; background:var(--badge); color:#fff; font-size:.7rem; font-weight:600; padding:2px 9px; border-radius:999px; margin-right:6px; }
.badge.est { background:var(--badge-est); }
.chip { display:inline-block; background:var(--chip-bg); color:var(--fg-soft); font-size:.7rem; padding:2px 9px; border-radius:999px; margin-right:6px; }
.draft-banner { background:#fff7e0; border:1px solid #e6cf6e; color:#5d4a00; padding:10px 14px; font-size:.85rem; border-radius:10px; margin:16px 0; }
.meta { font-size:.78rem; color:var(--muted); margin: 6px 0 18px; display:flex; align-items:center; flex-wrap:wrap; gap:4px 2px; }
article { background:var(--panel); border:1px solid var(--line); border-radius:14px; padding:28px 26px 22px; margin:20px 0 8px; box-shadow:var(--shadow); }
article h1 { font-size:1.4rem; line-height:1.55; margin:0 0 4px; letter-spacing:.01em; }
article h2 { font-size:1.08rem; margin-top:2.2em; padding:0 0 6px; border-bottom:2px solid var(--line); position:relative; }
article h2::after { content:""; position:absolute; left:0; bottom:-2px; width:2.4em; height:2px; background:var(--accent); }
article h3 { font-size:.98rem; }
article p, article li, article td { overflow-wrap:anywhere; }
article ul { padding-left:1.3em; }
article li { margin:.25em 0; }
article hr { border:none; border-top:1px solid var(--line); margin:2em 0; }
.tablewrap { overflow-x:auto; margin:1em 0; border:1px solid var(--line); border-radius:10px; }
table { border-collapse: collapse; width:100%; font-size:.85rem; }
th,td { border-bottom:1px solid var(--line); padding:8px 12px; text-align:left; vertical-align:top; }
tr:last-child td { border-bottom:none; }
th { background:var(--chip-bg); font-weight:600; white-space:nowrap; }
a[href*="af.moshimo.com"], a[href*="amazon.co.jp/s?"], a[href*="search.rakuten.co.jp"], a[href*="shopping.yahoo.co.jp/search"] {
  display:inline-block; background:var(--panel); border:1.5px solid var(--accent); color:var(--accent);
  font-size:.85rem; font-weight:600; text-decoration:none; padding:7px 16px; border-radius:999px; margin:3px 0; transition:background .15s,color .15s;
}
a[href*="af.moshimo.com"]:hover, a[href*="amazon.co.jp/s?"]:hover, a[href*="search.rakuten.co.jp"]:hover, a[href*="shopping.yahoo.co.jp/search"]:hover {
  background:var(--accent); color:#fff;
}
.cards { display:grid; grid-template-columns:1fr; gap:12px; margin:16px 0; }
.card { background:var(--panel); border:1px solid var(--line); border-radius:12px; padding:16px 18px; box-shadow:var(--shadow); transition:transform .12s, box-shadow .12s; }
.card:hover { transform:translateY(-2px); box-shadow:0 4px 10px rgba(16,24,40,.1); }
.card a.title { font-weight:700; text-decoration:none; color:var(--fg); display:block; line-height:1.6; margin-bottom:6px; }
.card a.title:hover { color:var(--accent); }
.card .meta { margin:0; }
h1.page { font-size:1.3rem; margin:22px 0 2px; }
footer.site { border-top:1px solid var(--line); margin-top:56px; padding:24px 0 32px; font-size:.76rem; color:var(--muted); }
footer.site ul { list-style:none; padding:0; margin:0 0 10px; display:flex; flex-wrap:wrap; gap:6px 16px; }
footer.site a { color:var(--muted); }
img { max-width:100%; }
