/* kantan-tools 共通部品のスタイル（js/kt-components.js と対で使う。サイトの配色・主色には手を入れない） */
.kt-vh { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* 応援ボタン（暖かい黄色・濃い文字。コントラスト 4.5:1 以上。保存ボタンより目立たせない） */
.kt-support-wrap { display: flex; justify-content: center; margin: 24px 0; }
.kt-support { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; padding: 5px 16px 5px 10px;
  border-radius: 999px; background: #ffd75e; border: 2px solid #e8a317; color: #3d2600; font: inherit; font-weight: 700; font-size: .875rem;
  line-height: 1.3; text-decoration: none; text-align: left; box-shadow: 0 1px 2px rgba(120, 72, 0, .18); -webkit-tap-highlight-color: transparent; touch-action: manipulation; }
/* サイト側の a / .foot a の色に負けないよう、文字色は詳細度を上げて固定 */
.kt-support-wrap a.kt-support, a.kt-support:link, a.kt-support:visited, a.kt-support:hover, a.kt-support:active { color: #3d2600; }
.kt-support:hover { background: #ffcc3d; }
.kt-support:focus-visible { outline: 3px solid #1d232b; outline-offset: 2px; }
.kt-support .kt-cup { flex: 0 0 auto; display: block; }
.kt-support--sm { min-height: 36px; padding: 4px 14px 4px 9px; font-size: .8rem; gap: 6px; }
