/* 60-type-layers.css — 記事型別の器(kt-t-*・3型14部品)
 * 出自: Claude Design「型別部品カタログ設計」(2026-08-25・Opus5+High・
 *        project 990e95b4 / キャンバス sha256先頭 9a19f455b7473ee5)
 * 視覚の正本: 親repo _core/data/kaikei-tax-design/design-types-20260825/(canvas+refs)
 * ⚠トークンは --ktt-* へ全面改名済み — 納品の --kt-* は既存00-tokensと同名別値が
 *   5件衝突した(--kt-paper #FFFFFF vs #F4F1E8 等)。既存参照を巻き添えにしないため
 *   型層内で自己完結させる(design-renewal-ops §4の同名別値衝突・実測 2026-08-25)。
 * IBM Plex Mono は読み込まず既存monoスタックへ置換。 */

:root {
  --ktt-paper:      #F4F1E8;
  --ktt-paper-2:    #FBFAF5;
  --ktt-zebra:      #EFEBDD;
  --ktt-current:    #E7EDE7;
  --ktt-green-900:  #1F3A2E;
  --ktt-green-700:  #2C463B;
  --ktt-rule:       #3A5A4C;
  --ktt-accent:     #5A8F74;
  --ktt-on-green:   #9DB6A8;
  --ktt-ink:        #2A2E2B;
  --ktt-ink-2:      #4A524C;
  --ktt-ink-mute:   #7C8B80;
  --ktt-hair:       #DCD6C4;
  --ktt-slot:       #6E8C7C;
  --ktt-font:       "Zen Kaku Gothic New", system-ui, sans-serif;
  --ktt-mono:       ui-monospace, Menlo, Consolas, "Courier New", monospace;
  --ktt-col:        874px;
  --ktt-gut:        32px;
}
/* 数値スロット（実データ確定まで） */
.kt-t-slot { display:inline-block; height:1em; vertical-align:baseline;
  border-bottom:1px dotted var(--ktt-slot); min-width:56px; }
.kt-t-slot--fixed { border-bottom-color:var(--ktt-rule); }
.kt-t-num { font-family:var(--ktt-mono); font-variant-numeric:tabular-nums; }
/* 共通: 根拠行（全部品の足元に必須） */
.kt-t-source { display:flex; align-items:center; gap:12px;
  border-top:1px solid var(--ktt-rule); padding-top:11px; margin-top:14px; }
.kt-t-source__tag { background:var(--ktt-green-900); color:var(--ktt-on-green);
  font-family:var(--ktt-mono); font-size:10px; letter-spacing:.16em; padding:3px 8px; }
.kt-t-source__law { font-size:13px; color:var(--ktt-ink); }
.kt-t-source__date { font-family:var(--ktt-mono); font-size:11px; color:var(--ktt-ink-mute); }
.kt-t-source__link { margin-left:auto; font-size:12px; }
/* 共通: 表の骨格 */
.kt-t-table { width:100%; border-collapse:collapse; font-size:14px; }
.kt-t-table th { background:var(--ktt-green-900); color:var(--ktt-on-green);
  font-family:var(--ktt-mono); font-size:10.5px; font-weight:500;
  letter-spacing:.16em; text-align:left; padding:9px 14px; }
.kt-t-table td { padding:12px 14px; border-bottom:1px solid var(--ktt-hair); }
.kt-t-table tbody tr:nth-child(even) { background:var(--ktt-zebra); }
.kt-t-table tbody tr:last-child td { border-bottom:1px solid var(--ktt-rule); }
/* 01 改正前→改正後 */
.kt-t-diff th:last-child { border-left:1px solid var(--ktt-accent); color:var(--ktt-paper); }
.kt-t-diff td:last-child { border-left:1px solid var(--ktt-rule);
  background:#EEEBDE; font-weight:500; text-align:right; }
.kt-t-diff__arrow { font-family:var(--ktt-mono); font-size:12px;
  color:var(--ktt-accent); text-align:center; width:34px; }
/* 02 事実3行 */
.kt-t-facts { border-top:2px solid var(--ktt-green-900); }
.kt-t-facts th { background:#EEEBDE; color:var(--ktt-green-900);
  font-family:var(--ktt-font); font-size:13px; letter-spacing:.1em;
  border-right:1px solid var(--ktt-hair); width:150px; }
/* 03 / 12 計算式 — 折り返さない */
.kt-t-formula { font-family:var(--ktt-mono); font-size:15px;
  white-space:nowrap; overflow-x:auto; color:var(--ktt-green-900);
  font-variant-numeric:tabular-nums; }
/* 05 型ラベル小票 */
.kt-t-stamp { display:inline-flex; align-items:center; gap:7px;
  background:var(--ktt-green-900); padding:4px 10px; }
.kt-t-stamp::before { content:""; width:5px; height:5px; background:var(--ktt-accent); }
.kt-t-stamp__code { font-family:var(--ktt-mono); font-size:10.5px;
  letter-spacing:.16em; color:var(--ktt-paper); }
.kt-t-stamp__name { font-size:11.5px; letter-spacing:.1em; color:var(--ktt-on-green); }
/* 06 編集ポリシー帯 */
.kt-t-policy { display:flex; align-items:center; gap:16px;
  background:var(--ktt-green-700); padding:16px 20px; }
.kt-t-policy__text { font-size:13.5px; letter-spacing:.05em;
  color:var(--ktt-on-green); line-height:1.7; }
/* 07 全期間テーブル — 現行行の点灯 */
.kt-t-series td { border-left:5px solid transparent; }
.kt-t-series .is-current,
.kt-t-table.kt-t-series tbody tr.is-current { background:var(--ktt-current); } /* ゼブラ(nth-child偶数=同後段)に負けない特異度で点灯(実測 2026-08-25) */
.kt-t-series .is-current td:first-child { border-left:5px solid var(--ktt-accent); }
.kt-t-series .is-current td { font-weight:500; color:var(--ktt-green-900); }
.kt-t-series .is-future td { color:var(--ktt-ink-2); }
/* 08 施行日タイムライン */
.kt-t-timeline { border-left:1px solid var(--ktt-rule); margin-left:96px; }
.kt-t-timeline__item { position:relative; padding:0 0 26px 26px; }
.kt-t-timeline__item::before { content:""; position:absolute; left:-3px; top:6px;
  width:5px; height:5px; background:var(--ktt-accent); }
.kt-t-timeline__date { position:absolute; left:-96px; top:1px; width:82px;
  text-align:right; font-family:var(--ktt-mono); font-size:12.5px; }
/* 09 適用マトリクス — 記号を使わない */
.kt-t-matrix__yes { letter-spacing:.14em; color:var(--ktt-green-900);
  font-weight:500; text-align:center; }
.kt-t-matrix__no  { letter-spacing:.14em; color:#8A928B; text-align:center; }
/* 10 原典対応表 */
.kt-t-refmap th { background:var(--ktt-green-700); }
.kt-t-refmap a { font-family:var(--ktt-mono); font-size:11.5px; word-break:break-all; }
/* 11 FAQ */
.kt-t-faq__q { display:flex; gap:14px; font-size:15px; font-weight:500;
  color:var(--ktt-green-900); line-height:1.75; }
.kt-t-faq__badge { font-family:var(--ktt-mono); font-size:11px; letter-spacing:.16em;
  background:var(--ktt-green-900); color:var(--ktt-paper); padding:3px 8px; }
.kt-t-faq__src { display:flex; align-items:center; gap:10px;
  background:var(--ktt-zebra); padding:7px 10px; margin-top:10px; font-size:12px; }
/* 12 計算機 */
.kt-t-calc { border:1px solid var(--ktt-rule); }
.kt-t-calc__body { display:grid; grid-template-columns:1fr 300px; }
.kt-t-calc__in { background:var(--ktt-paper-2); padding:22px 20px;
  border-right:1px solid var(--ktt-rule); }
.kt-t-calc__field { height:38px; border:1px dotted var(--ktt-slot); background:var(--ktt-paper);
  font-family:var(--ktt-mono); font-size:14px; text-align:right; padding:0 10px; width:100%; }
.kt-t-calc__out { background:var(--ktt-green-900); color:var(--ktt-on-green); padding:22px 20px; }
.kt-t-calc__result { font-family:var(--ktt-mono); font-size:30px; color:var(--ktt-paper);
  font-variant-numeric:tabular-nums; }
.kt-t-calc__note { font-size:11.5px; color:var(--ktt-ink-mute); line-height:1.8; }
.kt-t-calc__submit { background:var(--ktt-green-700); color:var(--ktt-paper);
  font-size:13px; letter-spacing:.14em; padding:9px 22px; border:0; cursor:pointer; }
/* 13 分岐点 */
.kt-t-threshold { border-top:2px solid var(--ktt-green-900);
  border-bottom:2px solid var(--ktt-green-900); padding:20px 0; }
.kt-t-threshold__line { font-size:20px; letter-spacing:.06em;
  color:var(--ktt-green-900); font-weight:500; }
.kt-t-threshold__line .kt-t-num { font-size:26px; }
/* 14 前提条件 */
.kt-t-assump { border:1px solid var(--ktt-hair); background:var(--ktt-paper-2); }
.kt-t-assump__item { display:grid; grid-template-columns:26px 1fr; gap:12px;
  border-top:1px solid var(--ktt-hair); padding-top:14px; }
.kt-t-assump__no { font-family:var(--ktt-mono); font-size:11px; color:var(--ktt-accent); }
@media (max-width: 600px) {
  .kt-t-table, .kt-t-table tbody, .kt-t-table tr, .kt-t-table td { display:block; width:100%; }
  .kt-t-table thead { display:none; }
  .kt-t-series .is-current td:first-child { border-left:5px solid var(--ktt-accent); }
  .kt-t-calc__body { grid-template-columns:1fr; }
  .kt-t-calc__in { border-right:0; border-bottom:1px solid var(--ktt-rule); }
  .kt-t-calc__field { height:44px; }
  .kt-t-timeline { margin-left:4px; }
  .kt-t-timeline__date { position:static; width:auto; text-align:left; display:block; }
  .kt-t-threshold__line { font-size:16px; }
  .kt-t-threshold__line .kt-t-num { font-size:24px; }
  .kt-t-source { flex-wrap:wrap; gap:8px; }
}