/* Personal preferences override either visual theme. Keep functional UI shared. */
.settings-intro { color: var(--muted); line-height: 1.7; }
.settings-form fieldset { min-width: 0; border: 0; padding: 0; margin: 0; }
.settings-form legend { font-size: 1.05rem; font-weight: 700; margin-bottom: 14px; }
.interface-options { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.interface-option { position: relative; border: 1px solid var(--line); border-radius: 12px; padding: 16px; cursor: pointer; background: var(--panel); }
.interface-option:has(input:checked) { border-color: var(--accent); background: rgba(var(--accent-rgb),.07); }
.interface-option:has(input:focus-visible) { outline: 2px solid var(--accent); outline-offset: 3px; }
.interface-option input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: var(--accent); }
.interface-option strong { margin-left: 7px; }
.interface-option small { display: block; color: var(--muted); line-height: 1.6; margin-top: 9px; }
.interface-sample { display: grid; grid-template-columns: 30px 1fr; gap: 9px; height: 67px; padding: 10px; border: 1px solid var(--line); margin: 12px 0 0; background: var(--bg); pointer-events: none; }
.interface-sample::before { content: ""; background: rgba(var(--accent-rgb),.16); border-right: 2px solid var(--accent); }
.interface-sample::after { content: ""; background: repeating-linear-gradient(180deg,var(--muted) 0 3px,transparent 3px 14px); opacity: .4; }
.sample-modern { border-radius: 12px; padding: 13px; }
.sample-classic { border-radius: 3px; background-image: linear-gradient(rgba(var(--accent-rgb),.06) 1px, transparent 1px),linear-gradient(90deg,rgba(var(--accent-rgb),.06) 1px,transparent 1px); background-size: 12px 12px; }
.settings-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.settings-animation { padding: 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel); }
.settings-animation label { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.settings-animation output { color: var(--accent); font-variant-numeric: tabular-nums; font-weight: 700; }
.settings-animation input[type="range"] { display: block; width: 100%; min-width: 0; min-height: 32px; padding: 0; margin: 10px 0 0; border: 0; accent-color: var(--accent); cursor: pointer; }
.settings-animation input[type="range"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.settings-range-scale { display: grid; grid-template-columns: 1fr 1fr 1fr; color: var(--muted); font-size: .75rem; gap: 6px; }
.settings-range-scale span:nth-child(2) { text-align: center; }
.settings-range-scale span:last-child { text-align: right; }
.settings-animation .editor-note { margin: 10px 0 0; }
.settings-status { min-height: 1.5em; margin: 0; color: var(--dim); font-size: .85rem; line-height: 1.6; }
.settings-status.error { color: var(--danger); }
.settings-preview-note { margin: 0; color: var(--accent); font-size: .85rem; }
html[data-reading-width="narrow"] .content { width: min(100%, 1000px); }
html[data-reading-width="wide"] .content { width: min(100%, 1540px); }
html[data-reading-width="wide"] .article > :is(p,ul,ol,blockquote) { max-width: none; }
html[data-font-size="small"] .article { font-size: .925rem; }
html[data-font-size="large"] .article { font-size: 1.15rem; }
html[data-font-size="small"] .article :is(p,li,blockquote), html[data-font-size="large"] .article :is(p,li,blockquote) { font-size: inherit; }
html[data-page-context="hidden"] .page-context { display: none; }
html[data-motion="reduced"] { scroll-behavior: auto !important; }
html[data-motion="reduced"] *, html[data-motion="reduced"] *::before, html[data-motion="reduced"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html[data-motion="reduced"] :is(.quick-link,.entity-card,.archive-card,.nav-link,.notification-orb):hover { transform: none !important; }
@media (max-width: 600px) { .interface-options, .settings-fields { grid-template-columns: 1fr; } .interface-option { padding: 12px; } }
