/* ☰ [설정] 창(PLAN 332-2) — 탭 줄 · 휠 방향 고름 · 표 */ .app-settings__tabs { display: flex; flex-wrap: wrap; gap: var(--spacing-8); padding-bottom: var(--spacing-8); border-bottom: 1px solid var(--color-border); } .app-settings__radios { display: flex; flex-wrap: wrap; gap: var(--spacing-16); } .app-settings__radios > label { display: inline-flex; align-items: center; gap: var(--spacing-8); min-height: 32px; cursor: pointer; } .app-settings__table { width: 100%; border-collapse: collapse; } .app-settings__table th, .app-settings__table td { padding: var(--spacing-4) var(--spacing-8); border-bottom: 1px solid var(--color-border); text-align: left; vertical-align: middle; } .app-settings__table thead th { position: sticky; top: 0; background: var(--color-surface-raised); } .app-settings__table input[aria-invalid="true"] { border-color: var(--color-danger); } .app-settings__error { color: var(--color-danger); } .app-settings__error:empty { display: none; } .app-settings__rules { margin: 0 0 var(--spacing-8); padding: 0; list-style: none; } .app-settings__rules > li { display: grid; grid-template-columns: minmax(0, 15em) 1fr; align-items: center; gap: var(--spacing-12); padding: var(--spacing-4) 0; border-bottom: 1px solid var(--color-border); white-space: nowrap; } .app-settings__keys { display: flex; flex-wrap: wrap; gap: var(--spacing-4); } .app-settings__keys:only-child { grid-column: 1 / -1; } .app-settings__keys > kbd { padding: 0 var(--spacing-8); border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-surface-raised); color: var(--color-text); font-family: var(--font-body); font-size: 0.85em; line-height: 1.7; }