/* ===== シンプルな縦スクロール一覧（1件ずつカード表示） ===== */
:root{
  --sd-ok:#1a7f37; --sd-ng:#b42318;
  --sd-bg:#eef1f5; --sd-ink:#1f2328; --sd-mut:#5e6878;
  --sd-line:#d8dde6; --sd-accent:#0969da;
}
*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body.sd-body{
  margin:0;
  background:var(--sd-bg); color:var(--sd-ink);
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;
  -webkit-text-size-adjust:100%;
}

/* ---- 上部バー（固定） ---- */
.sd-topbar{
  position:sticky; top:0; z-index:30;
  background:#fff; border-bottom:1px solid var(--sd-line);
  box-shadow:0 1px 6px rgba(0,0,0,.05);
  padding:8px 12px;
  display:flex; flex-direction:column; gap:8px;
}
.sd-bar1{ display:flex; align-items:center; gap:10px; }
.sd-back{ text-decoration:none; color:var(--sd-mut); font-size:22px; line-height:1; padding:4px 6px; border-radius:8px; }
.sd-back:active{ background:#f0f2f5; }
.sd-title{ font-size:14px; font-weight:700; margin:0; flex:1 1 auto; min-width:0;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sd-count{ font-size:13px; font-weight:700; color:var(--sd-mut); white-space:nowrap;
  font-variant-numeric:tabular-nums; }
.sd-tools{ display:flex; gap:6px; align-items:center; }
.sd-search{
  flex:1 1 auto; min-width:0; padding:8px 14px; font-size:16px;
  border:1px solid var(--sd-line); border-radius:999px; background:#f6f8fa;
}
.sd-search:focus{ outline:none; border-color:var(--sd-accent); background:#fff; }
.sd-filters{ display:flex; gap:4px; }
.sd-filt{
  padding:7px 12px; font-size:13px; font-weight:700;
  border:1px solid var(--sd-line); border-radius:999px; background:#fff; color:var(--sd-mut);
  cursor:pointer; white-space:nowrap;
}
.sd-filt.active{ background:var(--sd-accent); color:#fff; border-color:var(--sd-accent); }
.sd-filt[data-f="ok"].active{ background:var(--sd-ok); border-color:var(--sd-ok); }
.sd-filt[data-f="ng"].active{ background:var(--sd-ng); border-color:var(--sd-ng); }

/* ---- カード一覧 ---- */
.sd-list{ max-width:760px; margin:0 auto; padding:14px 12px 64px; }
.sd-card{
  background:#fff; border:1px solid var(--sd-line); border-radius:16px;
  border-top:5px solid var(--sd-line);
  box-shadow:0 4px 16px rgba(20,30,50,.08);
  padding:16px 16px 22px; margin-bottom:16px;
}
.sd-card[hidden]{ display:none; }
.sd-card[data-status="ok"]{ border-top-color:var(--sd-ok); }
.sd-card[data-status="ng"]{ border-top-color:var(--sd-ng); }

.sd-empty{ display:none; text-align:center; color:var(--sd-mut); font-size:15px; padding:48px 24px; }

/* ---- 元データ由来コンテンツの調整 ---- */
.sd-card .card,
.sd-card article.card,
.sd-card section.card{
  margin:0; border:0; border-radius:0; box-shadow:none; background:transparent; overflow:visible;
}
/* Apple 合成ヘッダ */
.sd-aphead{ display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.sd-aphead .num{ font-weight:700; color:var(--sd-mut); font-variant-numeric:tabular-nums; }
.ap-info{ margin-bottom:6px; }
.ap-anl{ margin-top:10px; padding-top:12px; border-top:1px dashed var(--sd-line); }
/* 2カラムは縦積みに */
.sd-card .grid{ display:block !important; }
.sd-card .panel{ border-right:0 !important; border-bottom:1px solid var(--sd-line); }
.sd-card .panel:last-child{ border-bottom:0; }
/* 長い内容を画面内に収める */
.sd-card table{ width:100%; }
.sd-card th,.sd-card td{ word-break:break-word; overflow-wrap:anywhere; }
.sd-card code{ word-break:break-all; }
.sd-card pre{ white-space:pre-wrap; word-break:break-word; overflow-x:auto; }
.sd-card a{ word-break:break-all; }
.sd-card img{ max-width:100%; height:auto; }

@media (max-width:480px){
  .sd-title{ font-size:13px; }
  .sd-card{ padding:14px 13px 20px; }
  .sd-list{ padding:12px 10px 56px; }
}
