/* static/css/settings.css — Mobile-first */ .settings-wrap { flex: 1; overflow-y: auto; padding: var(--sp-4); -webkit-overflow-scrolling: touch; } /* ── Settings Tabs (horizontal scroll on mobile) ── */ .settings-tabs { display: flex; gap: var(--sp-1); overflow-x: auto; padding-bottom: var(--sp-3); margin-bottom: var(--sp-4); border-bottom: 1px solid var(--divider); -webkit-overflow-scrolling: touch; scrollbar-width: none; } .settings-tabs::-webkit-scrollbar { display: none; } .settings-tab { display: flex; align-items: center; gap: var(--sp-2); padding: var(--sp-2) var(--sp-3); border-radius: var(--r-sm); cursor: pointer; color: var(--text-3); font-size: 13px; font-weight: 500; white-space: nowrap; min-height: var(--touch-min); transition: all 0.15s ease; border: 1px solid transparent; flex-shrink: 0; touch-action: manipulation; } .settings-tab:active { transform: scale(0.97); } .settings-tab.active { background: var(--accent-dim); color: var(--accent); border-color: rgba(255,193,7,0.2); } .settings-tab i { font-size: 14px; width: 18px; text-align: center; } /* ── Settings Panel ── */ .settings-panel { display: none; animation: panelIn 0.2s ease; } .settings-panel.active { display: block; } @keyframes panelIn { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } } .settings-heading { font-size: 18px; font-weight: 600; color: var(--text-1); margin-bottom: var(--sp-5); padding-bottom: var(--sp-3); border-bottom: 1px solid var(--divider); } /* ── Form Groups ── */ .field-group { margin-bottom: var(--sp-5); } .field-group label { display: block; font-size: 13px; font-weight: 500; color: var(--text-2); margin-bottom: 6px; } .field-input, .field-select, .field-textarea { width: 100%; background: rgba(255,255,255,0.04); border: 1px solid var(--border); color: var(--text-1); padding: 12px 14px; border-radius: var(--r-sm); font-family: var(--font-ui); font-size: 16px; transition: border-color 0.15s ease; min-height: var(--touch-min); } .field-input:focus, .field-select:focus, .field-textarea:focus { outline: none; border-color: var(--accent); } .field-textarea { min-height: 80px; resize: vertical; } .field-hint { font-size: 11px; color: var(--text-3); margin-top: 4px; } /* ── Color Swatches ── */ .swatch-row { display: flex; gap: var(--sp-3); flex-wrap: wrap; align-items: center; margin-top: var(--sp-2); } .swatch { width: 32px; height: 32px; border-radius: 50%; cursor: pointer; border: 2px solid transparent; transition: transform 0.15s ease; min-width: var(--touch-min); min-height: var(--touch-min); display: flex; align-items: center; justify-content: center; } .swatch:active { transform: scale(0.9); } .swatch.active { border-color: var(--text-1); transform: scale(1.1); } /* ── Profile Avatar ── */ .profile-row { display: flex; align-items: center; gap: var(--sp-4); margin-bottom: var(--sp-6); } .profile-avatar { width: 64px; height: 64px; border-radius: 50%; background: var(--accent); color: var(--accent-text); display: flex; align-items: center; justify-content: center; font-size: 24px; font-weight: 700; flex-shrink: 0; } /* ── Actions Bar ── */ .settings-actions { margin-top: var(--sp-8); padding-top: var(--sp-4); border-top: 1px solid var(--divider); display: flex; gap: var(--sp-3); } .settings-actions .ed-btn { flex: 1; justify-content: center; min-height: var(--touch-min); } /* ── Desktop ── */ @media (min-width: 769px) { .settings-wrap { max-width: 800px; margin: 0 auto; padding: var(--sp-8); } } /* ── Light ── */ :root.light .field-input, :root.light .field-select, :root.light .field-textarea { background: rgba(0,0,0,0.03); border-color: rgba(0,0,0,0.1); }