.settings-button { gap: 7px; }
.settings-dialog { width: min(640px, calc(100% - 28px)); max-height: calc(100dvh - 40px); padding: 24px; border: 1px solid var(--line-strong); border-radius: var(--radius-lg); background: var(--panel); color: var(--ink); box-shadow: 0 24px 80px #0005; }
.settings-dialog::backdrop { background: #07152788; backdrop-filter: blur(4px); }
.settings-header, .settings-footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.settings-header h2 { margin: 0; font-size: 21px; }
.settings-close { font-size: 24px; min-width: 36px; min-height: 36px; }
.settings-dialog fieldset { min-width: 0; margin: 22px 0 0; padding: 16px; border: 1px solid var(--line); border-radius: 12px; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.settings-dialog legend { padding: 0 7px; font-weight: 700; font-size: 13px; color: var(--cyan); }
.settings-field { display: flex; flex-direction: column; gap: 7px; min-width: 0; }
.settings-field label, .settings-check { font-size: 13px; font-weight: 600; }
.settings-field input, .settings-field select { width: 100%; min-height: 42px; padding: 9px 11px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--panel-soft); color: var(--ink); font: inherit; font-size: 14px; }
.settings-account, .settings-note, .settings-preview { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 1.65; color: var(--muted); overflow-wrap: anywhere; }
.settings-note { margin-top: 8px; }
.settings-preview { color: var(--cyan); }
.settings-check { display: flex; align-items: center; gap: 9px; grid-column: 1 / -1; }
.settings-check input { width: 18px; height: 18px; accent-color: var(--cyan); }
.settings-status { min-height: 20px; font-size: 13px; color: var(--danger); }
.settings-footer { justify-content: flex-end; }
.settings-save, .settings-cancel { padding: 10px 20px; border: 1px solid var(--line-strong); border-radius: 9px; background: var(--panel-soft); cursor: pointer; font-weight: 650; }
.settings-save { background: var(--cyan); color: var(--night-deep); }
html[data-theme="light"] .settings-save { color: #fff; }
.settings-dialog button:disabled { cursor: wait; opacity: .6; }
@media (max-width: 600px) { .settings-dialog { padding: 18px; } .settings-dialog fieldset { grid-template-columns: 1fr; } .settings-button span { display: none; } }
