/* チームの健康。style.css・flow.css・fm.css の上に重ねる（接頭辞 th-。よいは緑、よくないは赤、場合によるは琥珀） */
.th-lead { margin: 0 0 10px; font-size: 13.5px; color: var(--ink2); max-width: 60em; }
.th-intro { margin: 0 0 10px; font-size: 13.5px; color: var(--ink2); background: var(--paper); border: 1px solid var(--line); border-left: 4px solid #0d9488; border-radius: 10px; padding: 9px 12px; max-width: 64em; }
.th-score { margin: 8px 0 0; font-size: 13px; font-weight: 700; color: var(--ink2); }
.th-inl { display: block; margin-top: 4px; }
.th-fb { margin: 0; font-size: 12.5px; border-radius: 8px; padding: 6px 10px; background: var(--line2); color: var(--ink2); }
.th-fb.good { background: #f0fdf4; color: #14532d; }
.th-fb.bad { background: #fef2f2; color: #7f1d1d; }
.th-fb .srcl { color: inherit; opacity: .85; }
.th-fb .fm-go { margin: 3px 0 0; font-size: 12px; }
.th-judge { margin: 8px 0 0; font-size: 12.5px; font-weight: 700; border-radius: 8px; padding: 7px 10px; }
.th-judge.good { background: #f0fdf4; color: #14532d; }
.th-judge.bad { background: #fef2f2; color: #7f1d1d; }
.th-judge.mid { background: #fffbeb; color: #78350f; font-weight: 500; }

/* 5 つの力 */
.th-five { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.th-fcard5 { position: relative; }
.th-fn { margin: 0 0 2px !important; font: 600 12px var(--latin) !important; color: var(--muted) !important; }
.th-q, .th-tip { margin: 8px 0 0 !important; font-size: 12.5px !important; border-radius: 8px; padding: 6px 8px; }
.th-q { background: #f8fafc; border-left: 3px solid #0d9488; color: var(--ink) !important; }
.th-tip { background: var(--line2); }
.th-q small, .th-tip small { display: block; font-size: 11px; font-weight: 700; color: var(--muted); }
.th-quiz { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.th-qz { background: var(--paper); border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.th-qz > p:first-child { margin: 0; font-size: 13.5px; color: var(--ink); }
.th-qz.good { border-color: #86efac; }
.th-qz.bad { border-color: #fca5a5; }

/* DORA */
.th-metrics { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 10px; }
.th-mg { padding: 12px 14px; }
.th-mg h3 { margin: 0 0 6px; font-size: 14px; }
.th-mg dl { margin: 0; display: grid; gap: 6px; }
.th-mg dt { font-size: 13.5px; font-weight: 700; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
.th-mg dt small { font: 500 11.5px var(--latin); color: var(--muted); }
.th-mg dd { margin: 0; font-size: 13px; color: var(--ink2); }
.th-dbar { display: flex; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 10px; }
.th-dgroup, .th-busbar { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.th-busbar { margin-bottom: 10px; }
.th-dlabel { font-size: 12.5px; font-weight: 700; color: var(--muted); }
.th-dora { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: start; margin-bottom: 10px; }
.th-log, .th-res { padding: 12px 14px; min-width: 0; }
.th-log h3, .th-res h3 { margin: 0 0 8px; font-size: 14px; }
.th-deps { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.th-dbtn { appearance: none; width: 100%; font: inherit; text-align: left; cursor: pointer; border: 1px solid var(--line); background: var(--paper); border-radius: 9px; padding: 6px 9px; color: var(--ink); display: grid; grid-template-columns: 3em minmax(0, 1fr) auto auto; gap: 8px; align-items: center; font-size: 12.5px; }
.th-dbtn:hover { border-color: #94a3b8; }
.th-dbtn[aria-expanded="true"] { border-color: #0f172a; }
.th-did { font: 600 12px var(--latin); }
.th-dat { font-family: var(--latin); font-size: 12px; color: var(--ink2); }
.th-tag { font-size: 11px; font-weight: 700; border-radius: 6px; padding: 1px 7px; white-space: nowrap; }
.th-tag.good { background: #dcfce7; color: #166534; }
.th-tag.bad { background: #fee2e2; color: #991b1b; }
.th-tag.mid { background: #fef3c7; color: #92400e; }
.th-dn { font-size: 11.5px; color: var(--muted); white-space: nowrap; }
.th-ddetail { margin: 4px 0 2px; padding: 7px 10px; background: #f8fafc; border-radius: 8px; font-size: 12px; color: var(--ink2); }
.th-ddetail p { margin: 0 0 4px; }
.th-ddetail ul { margin: 0 0 4px; padding-left: 1.2em; display: grid; gap: 2px; }
.th-ddetail b { font-family: var(--latin); }
.th-ddetail em { font-style: normal; font-weight: 700; color: #b45309; }
.th-rlist { margin: 0; display: grid; gap: 6px; }
.th-r { border-bottom: 1px solid var(--line2); padding-bottom: 6px; }
.th-r dt { font-size: 12.5px; font-weight: 700; color: var(--muted); }
.th-r dd { margin: 0; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 10px; }
.th-v { font: 700 20px var(--latin); color: #1d4ed8; }
.th-how { font-size: 12.5px; color: var(--ink2); }
.th-sub { flex-basis: 100%; font-size: 11.5px; color: var(--muted); }
.th-sub i { font-style: normal; font-family: var(--latin); margin-right: 4px; white-space: nowrap; }
.th-sub i.hi { color: #b45309; font-weight: 700; }

/* 作業の量 */
.th-loadtable th, .th-loadtable td { font-size: 12.5px; }

/* 振り返りの組み立て */
.th-compose { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 12px; align-items: start; }
.th-parts { display: grid; gap: 8px; min-width: 0; }
.th-part { margin: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); padding: 8px 10px 10px; min-width: 0; }
.th-part legend { font-size: 13px; font-weight: 700; padding: 0 4px; display: flex; align-items: center; gap: 6px; }
.th-part legend i { font-style: normal; width: 20px; height: 20px; border-radius: 50%; display: inline-grid; place-items: center; font: 600 11px var(--latin); background: #e2e8f0; color: #334155; }
.th-popts { display: grid; gap: 5px; }
.th-popt { appearance: none; font: inherit; font-size: 12.5px; text-align: left; cursor: pointer; border: 1px solid var(--line); background: var(--paper); border-radius: 9px; padding: 6px 10px; color: var(--ink); line-height: 1.5; }
.th-popt:hover { border-color: #94a3b8; }
.th-popt[aria-pressed="true"] { background: #0f172a; border-color: #0f172a; color: #fff; }
.th-msg { padding: 12px 14px; position: sticky; top: 12px; min-width: 0; }
.th-msg h3 { margin: 0 0 6px; font-size: 14px; }
.th-rec { margin: 0; padding-left: 1.3em; font-size: 13px; display: grid; gap: 4px; background: #f8fafc; border: 1px solid var(--line2); border-radius: 8px; padding-top: 7px; padding-bottom: 7px; padding-right: 10px; }
.th-rec b { display: block; font-size: 11.5px; color: var(--muted); }
.th-blank { color: #94a3b8; }
.th-eval { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; font-size: 12.5px; }
.th-eval li { border-radius: 8px; padding: 5px 9px; }
.th-eval li b { display: block; font-size: 12px; }
.th-eval li.good { background: #f0fdf4; color: #14532d; }
.th-eval li.bad { background: #fef2f2; color: #7f1d1d; }
.th-eval li.mid { background: #fffbeb; color: #78350f; }
.th-eval .srcl { color: inherit; opacity: .85; }
.th-ph { margin: 8px 0 0; font-size: 12.5px; color: var(--muted); }

/* 属人化の表 */
.th-matrix { padding: 12px 14px; }
.th-mgrid { display: grid; gap: 4px; }
.th-mhead, .th-mrow { display: grid; grid-template-columns: minmax(0, 2.2fr) repeat(4, minmax(0, 1fr)) minmax(0, .9fr); gap: 4px; align-items: center; }
.th-mhead span { font-size: 11.5px; font-weight: 700; color: var(--muted); text-align: center; }
.th-mhead span:first-child { text-align: left; }
.th-mname { font-size: 13px; font-weight: 700; }
.th-cell { appearance: none; font: 700 15px var(--latin); cursor: pointer; border: 1px solid var(--line); border-radius: 8px; padding: 5px 0; display: flex; align-items: center; justify-content: center; gap: 4px; min-height: 34px; }
.th-cell small { display: none; font: 700 10.5px var(--sans); }
.th-cell.l0, .th-lv.l0 { background: #f8fafc; color: #94a3b8; }
.th-cell.l1, .th-lv.l1 { background: #fffbeb; color: #92400e; border-color: #fde68a; }
.th-cell.l2, .th-lv.l2 { background: #e2f6f3; color: #0b4f49; border-color: #99f6e4; }
.th-cell.l3, .th-lv.l3 { background: #0d9488; color: #fff; border-color: #0d9488; }
.th-cell.off { opacity: .35; text-decoration: line-through; }
.th-cell:hover { border-color: #0f172a; }
.th-mstat { font-size: 11.5px; font-weight: 700; border-radius: 6px; padding: 2px 7px; text-align: center; white-space: nowrap; }
.th-mstat.good { background: #dcfce7; color: #166534; }
.th-mstat.mid { background: #fef3c7; color: #92400e; }
.th-mstat.bad { background: #fee2e2; color: #991b1b; }
.th-legend { margin: 8px 0 0; font-size: 12px; color: var(--ink2); }
.th-lv { display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 5px; font: 700 11px var(--latin); border: 1px solid var(--line); }
.th-bussum { margin: 8px 0 0; font-size: 13px; font-weight: 700; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; }
.th-bushint { flex-basis: 100%; font-size: 12.5px; font-weight: 500; color: #7f1d1d; }
.th-planbar { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.th-planlist { margin: 8px 0 0; padding-left: 1.3em; font-size: 12.5px; color: var(--ink2); display: grid; gap: 3px; }
.th-planlist b { margin-right: 6px; }
.th-factor { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; align-items: start; }
.th-fcard { padding: 12px 14px; display: grid; gap: 8px; min-width: 0; }
.th-ftable td.n, .th-ftable th.n { text-align: right; font-family: var(--latin); }
.th-ftable tr.on th, .th-ftable tr.on td { background: #fef9c3; }
.th-fres { margin: 0; font-size: 13px; color: var(--ink2); }
.th-fres b { font: 700 18px var(--latin); color: #1d4ed8; }
.th-fnote { margin: 0; }

.th-dbtn:focus-visible, .th-popt:focus-visible, .th-cell:focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
@media (max-width: 1100px) {
  .th-five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .th-dora, .th-compose, .th-factor, .th-metrics { grid-template-columns: minmax(0, 1fr); }
  .th-msg { position: static; }
}
@media (max-width: 760px) {
  .th-five, .th-quiz { grid-template-columns: minmax(0, 1fr); }
  .th-mhead { display: none; }
  .th-mrow { grid-template-columns: repeat(4, minmax(0, 1fr)) auto; padding: 6px 0; border-bottom: 1px solid var(--line2); }
  .th-mname { grid-column: 1 / -1; }
  .th-cell small { display: inline; }
  .th-dbtn { grid-template-columns: 2.6em minmax(0, 1fr) auto; }
  .th-dn { display: none; }
}
