:root {
  color-scheme: light;
  font-family: Arial, sans-serif;
  line-height: 1.5;
  --bg: #f7f3e8;
  --panel: #fffdf8;
  --accent: #294d6d;
  --accent-2: #7e3d2c;
  --border: #d4c7ac;
}
body { margin: 0; background: var(--bg); color: #222; }
main { max-width: 900px; margin: 0 auto; padding: 2rem 1rem 4rem; }
.top-bar { position: sticky; top: 0; background: #fff; border-bottom: 1px solid var(--border); padding: 1rem; }
.button-row { display: flex; gap: 0.75rem; justify-content: flex-start; max-width: 900px; margin: 0 auto; }
button { border: 1px solid var(--border); border-radius: 999px; padding: 0.6rem 1rem; background: var(--accent); color: white; cursor: pointer; }
button.secondary { background: var(--accent-2); }
.word-list { display: flex; flex-direction: column; gap: 1rem; margin-top: 1.5rem; }
.card { background: var(--panel); border: 1px solid var(--border); border-radius: 12px; padding: 1rem; box-shadow: 0 1px 3px rgba(0,0,0,0.05); }
.card h2 { margin: 0 0 0.5rem; font-size: 1.2rem; }
.card a { color: var(--accent); }
.subtitle { color: #5d5d5d; }
.empty { font-style: italic; color: #6b6b6b; }
.modal { position: fixed; inset: 0; background: rgba(0,0,0,0.35); display: flex; align-items: center; justify-content: center; padding: 1rem; }
.modal.hidden { display: none; }
.modal-card { background: white; width: min(700px, 100%); padding: 1.5rem; border-radius: 12px; position: relative; }
.close-button { position: absolute; top: 0.75rem; right: 0.75rem; background: transparent; color: #444; border: none; padding: 0.25rem 0.5rem; }
form { display: flex; flex-direction: column; gap: 0.75rem; }
label { display: flex; flex-direction: column; gap: 0.25rem; font-weight: 600; }
input, textarea { padding: 0.7rem; border: 1px solid var(--border); border-radius: 8px; font: inherit; }
textarea { min-height: 120px; }
input.invalid, textarea.invalid { border-color: #b33; background: #fdeaea; }
.error { color: #b33; font-weight: 600; }
.small { font-size: 0.95rem; color: #666; }
