/* ここスコア 読みもの（ブログ）共通スタイル。blog/*.html は build_blog.py が生成（手編集しない） */
:root{
  --ink:#0B0F14; --text-body:#3A424E; --text-muted:#6B7480;
  --border:#E6E8EC; --surface:#F6F7F9; --primary:#1B45C7; --primary-hover:#153AAD;
  --dark-bg:#0C1622; --dark-text-3:#A5B4CC; --gold-bg:#F7F2E4; --gold-text:#8A6D1F;
  --sans:'IBM Plex Sans JP',system-ui,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:var(--sans);color:var(--ink);background:var(--surface);line-height:1.85;-webkit-font-smoothing:antialiased;}
.wrap{max-width:720px;margin:0 auto;padding:0 28px;}
a{color:var(--primary);text-underline-offset:3px;}
a:hover{color:var(--primary-hover);}
header.nav{position:sticky;top:0;z-index:20;background:rgba(246,247,249,.85);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);}
.nav-in{max-width:1180px;margin:0 auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;height:60px;}
.brand{display:flex;align-items:center;gap:9px;font-weight:600;font-size:16px;color:var(--ink);text-decoration:none;letter-spacing:-.01em;}
.brand-mark{display:inline-flex;align-items:flex-end;gap:2px;width:18px;height:16px;}
.brand-mark span{width:4px;border-radius:1px;}
.brand-mark span:nth-child(1){height:7px;background:#5B6673;}
.brand-mark span:nth-child(2){height:12px;background:var(--ink);}
.brand-mark span:nth-child(3){height:16px;background:var(--primary);}
.nav-in a.tool{font-weight:600;font-size:14px;color:#fff;background:var(--primary);padding:9px 16px;border-radius:8px;text-decoration:none;}
.nav-in a.tool:hover{background:var(--primary-hover);}
.crumbs{font-size:12px;color:var(--text-muted);padding:24px 0 0;}
.crumbs a{color:var(--text-muted);}
.hd{padding:16px 0 8px;}
.hd.top{padding:52px 0 8px;}
.eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);}
h1{font-size:clamp(24px,4vw,31px);font-weight:600;letter-spacing:-.02em;margin:8px 0 0;line-height:1.5;}
.lead{margin:12px 0 0;color:var(--text-body);}
.meta{font-size:12px;color:var(--text-muted);margin-top:10px;}
article h2{font-size:20px;font-weight:600;letter-spacing:-.01em;margin:44px 0 0;padding-top:24px;border-top:1px solid var(--border);line-height:1.55;}
article p{margin:14px 0 0;color:var(--text-body);}
article ul,article ol{margin:12px 0 0;padding-left:1.3em;}
article li{margin:6px 0;color:var(--text-body);}
article b,article strong{color:var(--ink);}
.note{font-size:12.5px;color:var(--text-muted);margin-top:28px;padding-top:14px;border-top:1px dashed var(--border);}
.cta-box{margin-top:36px;background:#fff;border:1px solid var(--border);border-radius:12px;padding:22px 24px;}
.cta-box .t{font-weight:600;font-size:15px;}
.cta-box p{margin:8px 0 0;font-size:13.5px;color:var(--text-body);}
.cta-box .btns{margin-top:14px;display:flex;gap:12px;flex-wrap:wrap;}
.cta-box a.primary{display:inline-block;font-weight:600;font-size:14px;color:#fff;background:var(--primary);padding:10px 18px;border-radius:8px;text-decoration:none;}
.cta-box a.primary:hover{background:var(--primary-hover);}
.cta-box a.secondary{display:inline-block;font-weight:500;font-size:14px;color:var(--primary);padding:10px 4px;}
/* 読みもの一覧: 種別ごとに色を変えたサムネ付きブロックをグリッドで並べる */
.blog-index{max-width:960px;margin:0 auto;padding:0 28px;}
.list{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px;}
.card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border);border-radius:12px;padding:0;overflow:hidden;text-decoration:none;transition:border-color .15s,box-shadow .15s;}
.card:hover{border-color:var(--primary);box-shadow:0 6px 20px rgba(11,15,20,.06);}
.card-thumb{height:116px;flex:0 0 auto;}
.card-body{padding:16px 18px 18px;display:flex;flex-direction:column;flex:1 1 auto;}
.card .tag{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.04em;}
.card h2{font-size:16px;font-weight:600;color:var(--ink);margin:7px 0 0;line-height:1.55;border:0;padding:0;}
.card p{font-size:13px;color:var(--text-body);margin:8px 0 0;line-height:1.7;}
.card .date{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--text-muted);margin-top:auto;padding-top:14px;}
.related{margin-top:40px;padding-top:22px;border-top:1px solid var(--border);}
.related .h{font-size:13px;font-weight:600;color:var(--text-muted);}
.related ul{margin:12px 0 0;padding-left:1.1em;}
.related li{margin:7px 0;}
footer{margin-top:56px;background:var(--dark-bg);color:var(--dark-text-3);font-size:13px;padding:34px 0;}
footer .wrap{display:flex;gap:20px;flex-wrap:wrap;justify-content:space-between;}
footer a{color:var(--dark-text-3);}
footer a:hover{color:#fff;}
