/* One primary action on the table; occasional choices live in Settings. */
#quick-start { min-height: 54px; min-width: 210px; padding: 12px 27px; font-size: 18px; letter-spacing: .6px; }
.empty-table .hero-bones { margin-bottom: 26px; }
.empty-table #join-button { width: auto; margin: 20px 0 0; font-size: 13px; }
.sidebar .proof-card-actions { grid-template-columns: 1fr; }
.request-busy #quick-start { cursor: progress; }

#modal[data-kind='settings'] { width:min(540px,calc(100% - 24px)); padding:27px; }
.table-settings .modal-title { margin-bottom:20px; }
#settings-form { display:grid; gap:0; }
#settings-form .settings-row { display:grid; grid-template-columns:110px minmax(0,1fr); align-items:center; gap:16px; min-height:56px; margin:0; color:var(--text); font-size:16px; }
#settings-form .settings-row>span { display:grid; gap:3px; }
#settings-form .settings-row small { color:var(--muted); font-size:12px; line-height:1.4; }
#settings-form :is(#nickname,#target) { width:100%; min-height:42px; padding:8px 11px; font-size:16px; }
#settings-form .settings-background { position:relative; min-width:0; margin:20px 0 16px; padding:0; border:0; }
.settings-background-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.settings-background-heading h3 { padding:0; margin:0; color:var(--text); font-size:16px; }
.settings-theme-controls { display:flex; gap:6px; }
.settings-theme-controls button { width:32px; min-height:30px; padding:0; border:1px solid var(--line); color:var(--text); background:var(--panel-deep); font-size:18px; line-height:1; }
.settings-theme-controls button:disabled { opacity:.35; cursor:default; }
.settings-theme-controls button:hover:not(:disabled) { border-color:var(--gold); }
.settings-theme-strip { display:flex; gap:12px; overflow-x:auto; overflow-y:hidden; padding:3px 3px 12px; scroll-padding-inline:3px; scrollbar-width:thin; scrollbar-color:var(--accent) var(--panel-deep); cursor:grab; overscroll-behavior-x:contain; touch-action:pan-x pan-y; }
.settings-theme-strip::-webkit-scrollbar { height:8px; }
.settings-theme-strip::-webkit-scrollbar-track { background:var(--panel-deep); }
.settings-theme-strip::-webkit-scrollbar-thumb { background:var(--accent); border:2px solid var(--panel-deep); }
.settings-theme-strip.is-dragging,.settings-theme-strip.is-dragging * { cursor:grabbing; }
.settings-theme-choice { flex:0 0 164px; min-width:0; padding:4px; border:2px solid var(--line); color:var(--text); background:var(--panel-deep); text-align:left; cursor:grab; user-select:none; }
.settings-theme-viewport { position:relative; display:block; width:100%; aspect-ratio:1.6; overflow:hidden; background:var(--felt-base); }
.settings-theme-viewport img { position:absolute; display:block; width:400%; height:400%; max-width:none; left:-70%; top:-140%; object-fit:fill; pointer-events:none; }
.settings-theme-caption { display:flex; justify-content:space-between; align-items:center; gap:7px; min-height:42px; padding:6px 5px 2px; font-size:14px; }
.settings-theme-caption>span { min-width:0; overflow-wrap:anywhere; line-height:1.2; }
.settings-theme-caption i { flex:none; visibility:hidden; color:var(--gold); font-style:normal; }
.settings-theme-choice[aria-checked='true'] { border-color:var(--gold); box-shadow:0 0 0 1px var(--gold); }
.settings-theme-choice[aria-checked='true'] .settings-theme-caption i { visibility:visible; }
.settings-theme-choice:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.settings-theme-choice:hover { border-color:var(--gold); }
.settings-toggles { display:grid; padding-top:12px; border-top:1px solid var(--line-soft); }
.settings-toggle { min-height:44px; display:flex; align-items:center; justify-content:space-between; gap:18px; color:var(--text); font-size:16px; cursor:pointer; }
.settings-toggle input { appearance:none; position:relative; width:37px; height:22px; margin:0; flex:0 0 37px; border:1px solid var(--line); background:var(--panel-deep); cursor:pointer; }
.settings-toggle input::before { content:''; position:absolute; left:3px; top:3px; width:14px; height:14px; background:var(--muted); }
.settings-toggle input:checked { background:var(--accent); border-color:var(--focus); }
.settings-toggle input:checked::before { left:18px; background:var(--accent-ink); }
#settings-form .settings-save { width:100%; margin-top:20px; min-height:46px; }
@media(max-width:570px) {
  #modal[data-kind='settings'] { padding:24px 18px; }
  #settings-form .settings-row { grid-template-columns:100px minmax(0,1fr); gap:10px; }
  .settings-theme-choice { flex-basis:148px; }
  .settings-theme-caption { font-size:13px; }
}
