@font-face { font-family: "Source Serif 4"; src: url("/fonts/source-serif-4-cyrillic-wght-normal.woff2") format("woff2"); font-weight: 200 900; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Golos Text"; src: url("/fonts/golos-text-cyrillic-wght-normal.woff2") format("woff2"); font-weight: 400 900; font-display: swap; unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
:root { --bg: #f5efe4; --surface: #fbf8f2; --line: #b9aa92; --text: #241b15; --text-2: #4b3f34; --accent: #8e2839; --on-accent: #fbf8f2; --err-bg: #f3e0de; color-scheme: light; }
@media (prefers-color-scheme: dark) { :root { --bg: #15100d; --surface: #1e1814; --line: #574a3e; --text: #f2e9db; --text-2: #cfc1ae; --accent: #eb9aa3; --on-accent: #15100d; --err-bg: #33131a; color-scheme: dark; } }
* { box-sizing: border-box; }
body { margin: 0; min-height: 100dvh; display: grid; place-items: center; padding: 16px; background: var(--bg); color: var(--text); font: 400 16px/1.6 "Golos Text", -apple-system, "Segoe UI", Roboto, sans-serif; }
.card { width: 100%; max-width: 380px; background: var(--surface); border: 1px solid var(--line); border-radius: 18px; padding: 28px 24px; }
h1 { font: 600 34px/1.15 "Source Serif 4", Georgia, serif; margin: 0 0 6px; }
p { margin: 0 0 18px; color: var(--text-2); }
label { display: block; margin: 12px 0 4px; font-weight: 500; }
input { width: 100%; height: 48px; padding: 0 14px; font: inherit; font-size: 17px; color: inherit; border: 1px solid var(--line); border-radius: 12px; background: var(--bg); }
button { margin-top: 20px; width: 100%; height: 50px; font: inherit; font-weight: 600; border: 0; border-radius: 12px; background: var(--accent); color: var(--on-accent); cursor: pointer; }
input:focus-visible, button:focus-visible { outline: 3px solid var(--accent); outline-offset: 2px; }
.error { background: var(--err-bg); color: var(--text); padding: 10px 12px; border-radius: 10px; margin-bottom: 8px; }
.hint { font-size: 14px; margin: 16px 0 0; }
