:root { color-scheme: dark; /* Everforest dark (medium) — the fallback palette. theme.js overrides these with the browser theme's colors when Firefox/Zen exposes them. */ --bg: #2d353b; --panel: #343f44; --border: #475258; --text: #d3c6aa; --muted: #859289; --accent: #7fbbb3; --error: #e67e80; } * { box-sizing: border-box; } body { margin: 0; padding: 12px; font: 13px/1.45 system-ui, -apple-system, sans-serif; background: var(--bg); color: var(--text); } h1 { font-size: 15px; margin: 0; letter-spacing: 0.04em; } header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; } section { background: var(--panel); border: 1px solid var(--border); border-radius: 8px; padding: 10px; margin-bottom: 10px; } .rule-title { display: flex; align-items: center; gap: 6px; font-weight: 600; margin-bottom: 8px; } .row { display: flex; align-items: center; gap: 6px; margin-top: 4px; } .vs { color: var(--muted); } input[type="text"], input[type="password"], input:not([type]), select { flex: 1; min-width: 0; background: var(--bg); border: 1px solid var(--border); border-radius: 6px; color: var(--text); padding: 6px 8px; font: inherit; } input:focus, select:focus { outline: 1px solid var(--accent); } button { background: var(--accent); border: none; border-radius: 6px; color: #fff; padding: 6px 10px; font: inherit; cursor: pointer; } button:disabled { opacity: 0.5; cursor: default; } .master { display: flex; align-items: center; gap: 6px; font-weight: 600; color: var(--muted); } .master input:checked + span { color: var(--accent); } label { display: block; margin-bottom: 4px; } .hint { min-height: 1em; margin: 6px 0 0; color: var(--error); font-size: 12px; } .hint.ok { color: #4caf7d; } footer { color: var(--muted); } footer b { color: var(--text); } .error { color: var(--error); min-height: 1em; margin: 4px 0; } .note { font-size: 12px; }