.dlc-art-index{max-width:920px;margin:0 auto;padding:16px;}
.dlc-art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;}
.dlc-art-card{display:block;border:1px solid #e9ecef;border-radius:10px;overflow:hidden;text-decoration:none;color:inherit;background:#fff;}
.dlc-art-thumb{height:72px;display:flex;align-items:center;justify-content:center;font-size:32px;background:linear-gradient(135deg,#fde8ef,#e7f5ff);}
.dlc-art-thumb img{width:100%;height:100%;object-fit:cover;}
.dlc-art-cbody{padding:10px 12px;}
.dlc-art-ct{font-weight:700;font-size:14px;margin-bottom:4px;}
.dlc-art-cx{font-size:12px;color:#868e96;line-height:1.5;margin-bottom:6px;}
.dlc-art-cm{font-size:11px;color:#adb5bd;}
.dlc-art-empty{color:#868e96;padding:24px 0;}
.dlc-art-detail{max-width:720px;margin:0 auto;padding:20px 16px 64px;line-height:1.9;}
.dlc-art-detail h1{font-size:24px;border-bottom:2px solid #f1f3f5;padding-bottom:10px;}
.dlc-art-bc{margin-bottom:8px;font-size:13px;}
.dlc-art-bc a{color:#c2185b;text-decoration:none;}
.dlc-art-bc a:hover{text-decoration:underline;}
.dlc-art-meta{color:#868e96;font-size:12px;margin:6px 0 18px;}
.dlc-art-body h2{font-size:19px;margin:28px 0 10px;border-left:5px solid #c2185b;padding-left:10px;}
.dlc-art-body h3{font-size:16px;margin:20px 0 8px;}
.dlc-art-body p{margin:12px 0;}
.dlc-art-body blockquote{border-left:3px solid #dee2e6;color:#495057;padding:2px 12px;margin:12px 0;}
.article-widget{border:1px solid #f1c6d7;border-radius:10px;padding:10px 12px;margin:16px 0;background:#fff7fa;}
.article-widget .aw-cap{font-size:11px;color:#c2185b;font-weight:700;margin-bottom:6px;}
.article-widget .aw-table{width:100%;border-collapse:collapse;font-size:13px;}
.article-widget .aw-table th,.article-widget .aw-table td{border:1px solid #f1d6e0;padding:4px 8px;text-align:center;}
.article-widget .aw-list{margin:0;padding-left:18px;font-size:13px;}
.article-widget .aw-nums{display:flex;gap:18px;flex-wrap:wrap;margin:4px 0 2px;}
.article-widget .aw-num b{display:block;font-size:22px;color:#c2185b;line-height:1.1;}
.article-widget .aw-num span{font-size:11px;color:#868e96;}
.article-widget .aw-foot{font-size:10.5px;color:#adb5bd;margin-top:6px;}
.article-widget .aw-table td.aw-l{text-align:left;}
/* ===== Zenn風フローティング目次 (entity-hub-toc.js 共用) ===== */
/* entity-hub.css の TOC ルールを記事カラム(720px 中央寄せ)向けに位置調整して移植。
   entity-hub.css 全体は .dlc-entity-hub スコープで記事レイアウトに干渉するため読み込まない。 */
.dlc-eh-toc{display:none;z-index:1045;}
.dlc-eh-toc ul{list-style:none;margin:0;padding:0;}
.dlc-eh-toc li a{display:block;padding:4px 0 4px 12px;border-left:2px solid #e9ecef;
  font-size:12px;color:#6c757d;text-decoration:none;line-height:1.45;}
.dlc-eh-toc li.on a{border-left-color:#c2185b;color:#c2185b;font-weight:700;}
.dlc-eh-toc li a:hover{color:#c2185b;}
.dlc-eh-toc-fab{display:none;position:fixed;right:10px;bottom:100px;z-index:1045;
  background:#c2185b;color:#fff;border:none;border-radius:18px;padding:8px 14px;
  font-size:12px;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.25);cursor:pointer;}
body.dlc-ann-bar-shown .dlc-eh-toc-fab{bottom:114px;}
@media (min-width:1280px){
  /* デスクトップ: 記事 (max-width 720px → 右端は中央+360px) の右余白に固定 */
  .dlc-eh-toc{display:block;position:fixed;top:120px;left:calc(50% + 380px);width:180px;}
  .dlc-eh-toc::before{content:"目次";display:block;font-size:11px;font-weight:700;
    color:#adb5bd;margin:0 0 6px 12px;letter-spacing:.04em;}
}
@media (max-width:1279.98px){
  .dlc-eh-toc-fab{display:block;}
  .dlc-eh-toc.open{display:block;position:fixed;right:10px;bottom:148px;
    background:#fff;border:1px solid #e9ecef;border-radius:10px;
    padding:10px 14px;box-shadow:0 4px 16px rgba(0,0,0,.18);max-width:230px;}
  body.dlc-ann-bar-shown .dlc-eh-toc.open{bottom:162px;}
}
