.km-tabs { flex-wrap: wrap; }
.km-tabs label { flex: 1 0 auto; }
.km-pick { text-align: center; font-weight: 600; }
.km-sec { display: grid; gap: 12px; margin-top: 12px; }
.km-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.km-title { margin: 0; font-size: 1rem; }
.km-clear { width: auto; min-height: 40px; padding: 6px 14px; font-size: .875rem; }
.km-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: 6px; }
.km-btn { min-height: 48px; padding: 6px 8px; background: var(--bg); color: var(--fg); border: 1px solid var(--line); font-size: 1rem; font-weight: 400; line-height: 1.3; overflow-wrap: anywhere; }
.km-btn:hover, .km-btn:focus-visible { border-color: var(--accent); }
.km-btn:active { background: var(--card); }
.km-toast { position: fixed; left: 50%; bottom: 24px; transform: translateX(-50%); max-width: calc(100% - 32px); margin: 0; padding: 8px 16px; border-radius: 999px; background: var(--fg); color: var(--bg); font-weight: 600; opacity: 0; pointer-events: none; transition: opacity .2s; }
.km-toast.show { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
  .km-toast { transition: none; }
}
