/* ブログアシスト専用スタイル (ba- プレフィックスで console.css と非干渉) */
.ba-loading, .ba-empty { text-align:center; color:#9CA3AF; padding:40px 16px; font-size:13px; }

/* 根拠カード */
.ba-context { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:20px 22px; margin-bottom:8px; }
.ba-context__head { display:flex; align-items:baseline; justify-content:space-between; margin-bottom:14px; }
.ba-context__title { font-size:12px; font-weight:700; color:var(--ink-mute); letter-spacing:.08em; }
.ba-context__month { font-size:12px; font-weight:700; color:var(--ink-mute); }
.ba-context__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:16px 28px; }
.ba-ctx-item__label { display:block; font-size:11px; color:var(--ink-soft); margin-bottom:5px; }
.ba-ctx-item__value { font-size:13px; color:var(--ink); }
.ba-ctx-item__value strong { font-size:20px; font-weight:800; color:var(--brand-dark); margin-right:2px; }
.ba-ctx-chips { display:flex; flex-wrap:wrap; gap:6px; }
.ba-ctx-chip { padding:3px 10px; background:var(--bg); border:1px solid var(--border); border-radius:999px; font-size:11px; color:var(--ink-mute); }
.ba-ctx-chip--gap { background:#FFF7ED; border-color:#FED7AA; color:#B45309; }
.ba-context__note { margin-top:16px; padding-top:14px; border-top:1px dashed var(--border); font-size:12px; color:var(--ink-mute); line-height:1.8; }

/* セクション見出し */
.ba-sec-head { display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:30px 0 14px; flex-wrap:wrap; }
.ba-sec-head__title { font-size:16px; font-weight:800; }
.ba-sec-head__count { font-size:12px; color:var(--ink-mute); }
.ba-sec-head__count b { color:var(--brand-dark); }

/* 提案カード */
.ba-card { background:var(--card); border:1px solid var(--border); border-radius:12px; padding:24px 26px; margin-bottom:14px; transition:box-shadow .15s, border-color .15s; }
.ba-card:hover { border-color:#D1D5DB; box-shadow:0 4px 16px rgba(17,24,39,.06); }
.ba-card__top { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:12px; }

.ba-prio { display:inline-flex; align-items:center; gap:7px; padding:4px 12px; border-radius:999px; font-size:11px; font-weight:800; }
.ba-prio__dot { width:5px; height:5px; border-radius:50%; background:currentColor; }
.ba-prio--high   { background:var(--brand); color:#fff; }
.ba-prio--medium { background:var(--card); color:var(--brand-dark); border:1px solid var(--brand); }
.ba-prio--low    { background:var(--card); color:var(--ink-soft); border:1px solid var(--border); }

.ba-card__title { font-size:19px; font-weight:800; line-height:1.5; margin:0 0 12px; color:var(--ink); }

.ba-tags { display:flex; flex-wrap:wrap; gap:6px; margin-bottom:18px; }
.ba-tag { display:inline-flex; align-items:center; padding:3px 10px; border-radius:6px; font-size:11px; line-height:1.5; border:1px solid; }
.ba-tag--axis   { background:#F5F9FF; border-color:#DBEAFE; color:#1E40AF; }
.ba-tag--target { background:#FFF7ED; border-color:#FED7AA; color:#B45309; }
.ba-tag--theme  { background:#F0FDF4; border-color:#D8F3DC; color:var(--brand-dark); }

.ba-kv { margin-bottom:14px; }
.ba-kv__label { display:block; font-size:11px; font-weight:700; color:var(--ink-mute); letter-spacing:.05em; margin-bottom:3px; }
.ba-kv__value { font-size:14px; color:var(--ink); line-height:1.8; }

.ba-outline { margin:16px 0; padding:16px 18px; background:var(--bg); border-radius:8px; }
.ba-outline__label { display:flex; justify-content:space-between; font-size:11px; font-weight:700; color:var(--ink-mute); letter-spacing:.05em; margin-bottom:8px; }
.ba-outline__list { list-style:none; margin:0; padding:0; counter-reset:ba-ol; }
.ba-outline__item { counter-increment:ba-ol; display:flex; gap:12px; padding:7px 0; font-size:13.5px; line-height:1.6; }
.ba-outline__item + .ba-outline__item { border-top:1px dashed var(--border); }
.ba-outline__item::before { content:counter(ba-ol,decimal-leading-zero); flex:0 0 auto; font-size:12px; font-weight:700; color:var(--brand); }

.ba-disc { margin-top:8px; border-top:1px solid var(--border); }
.ba-disc > summary { list-style:none; cursor:pointer; padding:12px 0 4px; font-size:12px; font-weight:600; color:var(--ink-mute); }
.ba-disc > summary::-webkit-details-marker { display:none; }
.ba-disc > summary::before { content:'▸ '; display:inline-block; transition:transform .15s; }
.ba-disc[open] > summary::before { transform:rotate(90deg); }
.ba-disc > summary:hover { color:var(--brand); }
.ba-disc__body { display:grid; gap:12px; padding:10px 0 14px; }
.ba-disc__body .ba-kv__value { font-size:13px; color:var(--ink-mute); }

.ba-cta { display:flex; justify-content:flex-end; align-items:center; gap:8px; padding-top:16px; border-top:1px solid var(--border); }

.ba-foot { margin-top:28px; padding:20px 24px; background:var(--card); border:1px dashed #D1D5DB; border-radius:12px; font-size:12px; color:var(--ink-mute); line-height:1.85; }
.ba-foot strong { color:var(--ink); }

@media (max-width:720px) {
    .ba-context__grid { grid-template-columns:1fr; }
    .ba-cta { flex-direction:column-reverse; align-items:stretch; }
    .ba-cta .btn { justify-content:center; }
}

/* ---------- スマホ (≤640px) ---------- */
@media (max-width: 640px) {
    .ba-context { padding:14px 16px; }
    .ba-context__head { flex-wrap:wrap; gap:4px 12px; margin-bottom:10px; }
    .ba-sec-head__title { font-size:14px; }
    .ba-card { padding:16px; }
    .ba-card__top { flex-wrap:wrap; gap:6px; margin-bottom:8px; }
    .ba-card__title { font-size:16px; line-height:1.4; margin-bottom:8px; }
    .ba-tags { margin-bottom:12px; }
    .ba-foot { padding:14px 16px; font-size:11.5px; }
}
