:root { color-scheme: light dark; --gap: 12px; }
* { box-sizing: border-box; }
body { margin: 0; font: 18px/1.5 system-ui, sans-serif; }
main { max-width: 640px; margin: 0 auto; padding: 16px; }
h1 { font-size: 22px; }
.stack { display: flex; flex-direction: column; gap: var(--gap); }
label { display: flex; flex-direction: column; gap: 4px; }
input { font-size: 18px; padding: 12px; border-radius: 8px; border: 1px solid gray; }
button, .big { font-size: 18px; min-height: 48px; padding: 12px 16px; border-radius: 10px; border: 1px solid gray; background: Canvas; color: CanvasText; cursor: pointer; }
.big { display: block; text-align: center; text-decoration: none; margin: var(--gap) 0; }
.card { display: flex; flex-direction: column; gap: var(--gap); text-align: center; }
.front { font-size: 32px; font-weight: 600; margin-top: 24px; }
.translation { font-size: 26px; }
.example { font-style: italic; }
.note, .stats { color: GrayText; font-size: 15px; }
.ratings { display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--gap); }
.ratings form { display: contents; }
.rate { display: flex; flex-direction: column; align-items: center; }
.rate small { color: GrayText; font-size: 13px; }
.rate-again { border-color: #c0392b; }
.rate-easy { border-color: #27ae60; }
.sound { min-height: 44px; align-self: center; width: 64px; }
.link { border: none; background: none; color: GrayText; text-decoration: underline; min-height: 44px; }
.error { color: #c0392b; }
