:root{
  /* コス75（売上分析）と同じ配色: 背景ライトグレー、面は白、線は淡い。刺激の強い色は使わない */
  --bg:#f6f6f4; --panel:#ffffff; --ink:#1d1d1b; --muted:#6a6a64; --line:#e3e2dd; --accent:#1c4f8f; --accent-ink:#fff;
  --chip:#f0efec; --hl:#fbfaf4;
  /* バッジ: 淡い背景＋濃い文字 */
  --okbg:#e6f5e6; --okink:#0a6a0a; --midbg:#fff3d6; --midink:#6b5300; --lowbg:#f0efec; --lowink:#555;
  --infobg:#e6f0fb; --infoink:#1c4f8f; --badbg:#fbe7e7; --badink:#8f1f1f;
  --tierA:var(--okink); --tierB:var(--midink); --tierC:#6b6b6b; --fail:#8f1f1f;
  /* KPIタイルの左線: 淡い色 */
  --kpi1:#b9cfe6; --kpi2:#bfdcc6; --kpi3:#e3d3ac; --kpi4:#d3c6e3; --kpi5:#e6c2c2; --kpi6:#b9dede; --kpi7:#cfcfcb;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif}
a{color:var(--accent);text-decoration:none} a:hover{text-decoration:underline}
.top{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;padding:12px 20px;border-bottom:1px solid var(--line);background:var(--panel);position:sticky;top:0;z-index:5}
.brand{font-weight:700;font-size:17px;color:var(--ink)}
.topnav{display:flex;gap:14px;flex-wrap:wrap;font-size:14px}
.search{margin-left:auto}.search input{padding:6px 10px;border:1px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);width:240px;font-size:14px}
main{max-width:1080px;margin:0 auto;padding:20px}
.foot{max-width:1080px;margin:30px auto;padding:0 20px;color:var(--muted);font-size:12px}
h1{font-size:22px;margin:0 0 6px}h2{font-size:18px;margin:26px 0 10px;padding-bottom:4px;border-bottom:1px solid var(--line)}h3{font-size:16px;margin:18px 0 6px}
.lead{color:var(--muted);margin:0 0 18px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.tile{display:block;background:var(--panel);border:1px solid var(--line);border-left:6px solid var(--accent);border-radius:8px;padding:14px 16px;color:var(--ink)}
.tile:hover{text-decoration:none;box-shadow:0 2px 10px rgba(0,0,0,.08)}
.tile .n{font-size:22px;font-weight:700}.tile .s{color:var(--muted);font-size:13px}
.tile.small{border-left-width:3px}.tile.small .n{font-size:16px}
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.chip{display:inline-block;padding:2px 9px;border-radius:999px;background:var(--chip);font-size:12px;color:var(--ink);border:1px solid transparent;cursor:pointer}
.chip.on{border-color:var(--accent);color:var(--accent);font-weight:600}
.chip.static{cursor:default}
.badge{display:inline-block;padding:1px 7px;border-radius:4px;font-size:11px;font-weight:600;vertical-align:middle;margin-right:4px;border:1px solid transparent}
.tA{background:var(--okbg);color:var(--okink)}.tB{background:var(--midbg);color:var(--midink)}.tC{background:var(--lowbg);color:var(--lowink)}
.k-仮説{background:var(--lowbg);color:var(--lowink)}.k-検証中{background:var(--midbg);color:var(--midink)}.k-条件付き有効{background:var(--okbg);color:var(--okink)}
.kind-失敗{background:var(--badbg);color:var(--badink)}.kind-判断基準{background:var(--lowbg);color:var(--lowink)}.kind-打ち手{background:var(--infobg);color:var(--infoink)}
.card{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 16px;margin:10px 0}
.card h3{margin:0 0 4px;font-size:16px}.card h3 a{color:var(--ink)}
.card .meta{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 12px}
.card .st{margin:6px 0 0;font-size:14px}
.group{margin:18px 0}
.toolbar{display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;font-size:13px;color:var(--muted);margin:10px 0}
.toolbar label{margin-right:4px}
.sec{margin:16px 0}
.sec p{margin:6px 0}
.sec ul{margin:4px 0 4px 18px;padding:0}
.ev{border-top:1px dashed var(--line);padding:10px 0}
.ev .h{font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}
.ev .g{margin:4px 0}
.ev .q{margin:4px 0;padding:6px 10px;border-left:3px solid var(--line);color:var(--muted);font-size:13px;white-space:pre-wrap}
.ev .r{font-size:13px;color:var(--muted);margin:2px 0}
.ev .m{font-size:13px;margin:4px 0;padding:6px 10px;background:var(--hl);border:1px solid var(--line);border-radius:6px}
.warn{color:var(--fail);font-weight:600;font-size:12px}
.muted{color:var(--muted)}
.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}
.raw{white-space:pre-wrap;background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:12px 16px;font-size:14px}
table{border-collapse:collapse;width:100%;font-size:13px}th,td{border:1px solid var(--line);padding:6px 8px;text-align:left;vertical-align:top}th{background:var(--chip)}
.tablewrap{overflow-x:auto}
.crumb{font-size:13px;color:var(--muted);margin-bottom:8px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:760px){.cols{grid-template-columns:1fr}.search input{width:100%}}
.kbox{border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:var(--panel);margin:10px 0;font-size:13px}
.none{padding:14px;border:1px dashed var(--line);border-radius:8px;color:var(--muted)}
details summary{cursor:pointer;color:var(--accent)}
.count{font-weight:400;color:var(--muted);font-size:13px}
/* 聞く */
.askform{margin-top:12px}
.askform textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:var(--panel);color:var(--ink);font:inherit;resize:vertical}
.askbtns{display:flex;gap:10px;align-items:center;margin-top:8px;font-size:13px}
.askbtns button{padding:7px 16px;border-radius:6px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-ink);font:inherit;font-weight:600;cursor:pointer}
.askbtns button:disabled{opacity:.5;cursor:default}
.askbtns button.ghost{background:transparent;color:var(--accent)}
#chat{display:flex;flex-direction:column;gap:10px;margin:12px 0}
.msg{border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:var(--panel)}
.msg.u{background:var(--chip)}
.msg .who{font-size:12px;color:var(--muted);margin-bottom:4px}
.msg .body p{margin:6px 0}.msg .body ul{margin:4px 0 4px 18px;padding:0}
.msg details{font-size:12px;color:var(--muted);margin-top:6px}
