  :root{
    --ink:#111; --paper:#fff; --muted:#666; --line:#111; --pill:#ffd100;
  }
  html,body{ font-family:"M PLUS Rounded 1c",system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic UI",Meiryo,sans-serif; font-weight:700; }

  .h-title{ font-weight:900; margin:22px 0 10px; }
  .grid{ display:grid; gap:16px; }
  @media (min-width:720px){ .grid.cols-2{ grid-template-columns:repeat(2,1fr);} }
  @media (min-width:1024px){ .grid.cols-3{ grid-template-columns:repeat(3,1fr);} }

  /* ===== entries_list のカード（人気/新着投稿） ===== */
  .card-entry{ background:var(--paper); border:3px solid var(--line); border-radius:18px; padding:14px; box-shadow:6px 6px 0 var(--line); }
  .entry-meta-top{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
  .date-pill{ background:#000; color:#fff; border-radius:999px; padding:4px 10px; font-size:.85rem; font-weight:900; }
  .entry-title{ font-size:1.05rem; font-weight:900; color:var(--ink); }
  .entry-stats{ color:#333; font-size:.9rem; margin-top:2px; }
  .role-grid{ margin:10px 0; display:grid; grid-template-columns:1fr 1fr; gap:10px; }
  .role-card{ background:#f7f7f7; border:2px solid var(--line); border-radius:14px; padding:10px; }
  .role-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
  .role-pill{ background:#eee; border:2px solid var(--line); border-radius:999px; font-size:.75rem; padding:2px 8px; font-weight:900; }
  .role-body{ display:flex; flex-direction:column; align-items:center; gap:6px; }
  .role-avatar{ width:56px; height:56px; border-radius:50%; background:#fff; border:2px solid var(--line); object-fit:cover; }
  .role-name{ font-weight:900; color:var(--ink); text-align:center; line-height:1.2; font-size:.95rem; }
  .label-sub{ margin-top:2px; font-size:.85rem; color:#444; }
  .mini-balloon{ position:relative; margin-top:6px; margin-bottom:15px; background:#fff; border:3px solid var(--line); border-radius:14px; padding:10px 12px; box-shadow:4px 4px 0 var(--line); }
  .mini-balloon:before{ content:""; position:absolute; top:-8px; left:18px; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-bottom:8px solid var(--line); }
  .mini-balloon:after{ content:""; position:absolute; top:-6px; left:18px; width:0; height:0; border-left:8px solid transparent; border-right:8px solid transparent; border-bottom:8px solid #fff; }
  .mini-balloon p{ margin:0; font-weight:700; color:#000; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
  .btn-ghost{ display:inline-block; background:#fff; color:#000; border:3px solid var(--line); border-radius:12px; padding:.5rem .9rem; box-shadow:4px 4px 0 var(--line); text-decoration:none; font-weight:900; }

  /* ===== 新着お題：post_list と同じ見た目 ===== */
  .newtopics.grid.cards{ gap:20px; }
  @media (min-width:1024px){ .newtopics.grid.cards{ grid-template-columns:repeat(3,1fr);} }
  @media (max-width:1023.98px){ .newtopics.grid.cards{ grid-template-columns:repeat(2,1fr);} }
  @media (max-width:640px){ .newtopics.grid.cards{ grid-template-columns:1fr;} }

  .newtopics.grid.cards .topic-card{
    background:#fff; border:3px solid #111; border-radius:16px;
    box-shadow:6px 6px 0 #000; padding:16px; position:relative; overflow:visible;
  }
  .newtopics.grid.cards .topic-card .topic-head{ display:flex; gap:8px; align-items:center; }
  .newtopics.grid.cards .topic-card .topic-hero{ display:flex; align-items:center; gap:10px; margin-top:8px; }
  .newtopics.grid.cards .topic-card .topic-avatar{ width:64px; height:64px; border-radius:50%; border:3px solid #111; object-fit:cover; background:#fff; }
  .newtopics.grid.cards .topic-card .topic-nick{ font-weight:900; }

  /* 吹き出し（左上▽／先端が枠外） — post_list と一致 */
  .newtopics.grid.cards .topic-card .bubble{
    position:relative !important; display:inline-block; background:#fff; color:#111;
    border:3px solid #111 !important; border-radius:14px; padding:12px 14px; font-weight:900; overflow:visible;
  }
  .newtopics.grid.cards .topic-card .bubble::after{
    content:"" !important; position:absolute !important; top:-28px !important; left:14px !important; width:0; height:0;
    border-left:10px solid transparent !important; border-right:10px solid transparent !important;
    border-bottom:18px solid #111 !important; pointer-events:none;
  }
  .newtopics.grid.cards .topic-card .bubble::before{
    content:"" !important; position:absolute !important; top:-21px !important; left:16px !important; width:0; height:0;
    border-left:8px solid transparent !important; border-right:8px solid transparent !important;
    border-bottom:15px solid #fff !important; pointer-events:none;
  }

  .hero-split{ margin-top:8px; }
  /* 作品を見る（人気 / 新着投稿のみ）ホバーで黒反転 */
.card-entry .btn-ghost{
  transition: background-color .15s ease, color .15s ease, box-shadow .15s ease;
}
.card-entry .btn-ghost:hover,
.card-entry .btn-ghost:focus-visible{
  background:#111;
  color:#fff;
  box-shadow:6px 6px 0 #111; /* 既存の立体感は維持 */
}

/* ==== フッター直前の中央シェア ==== */
.home-share{
  width:100%;
  padding:32px 16px 16px;
}
.home-share .share-row{
  margin:0 auto;           /* ← 完全中央 */
  max-width:960px;         /* 任意（幅制御） */
  display:flex;
  justify-content:center;  /* ← 中央寄せ */
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  text-align:center;
}
@media (max-width:480px){
  .home-share .share-row .btn{
    width:100%;
    max-width:360px;        /* スマホで綺麗に中央 */
  }
}

