:root{--color-accent:#563973;--color-accent-light:#a67b8f;--color-link:#542ecf;--color-error:#ff1a1a;--control-border:#d2c9da;--control-surface:#faf8fb;--control-text:#46384e;--input-border:#aca6b0;accent-color:var(--color-accent);box-sizing:border-box}button{border:1px solid var(--control-border);background:var(--control-surface);color:var(--control-text);cursor:pointer;border-radius:.3em;padding:.5em 1em;font-size:1.2em}button:hover:not(:disabled){background:#f2ebf6;border-color:#80638e}button.primary{border-color:var(--color-accent);background:var(--color-accent);color:#fff}button.primary:hover:not(:disabled){background:#6c4d83;border-color:#6c4d83}button:disabled{cursor:default;opacity:.65}button:focus-visible,input:focus-visible{outline-offset:2px;outline:2px solid #80638e}a{color:var(--color-link)}a:visited{color:var(--color-accent)}a:hover{color:var(--color-accent-light)}
