:root { color-scheme: light; font-family: system-ui, sans-serif; color: #163c32; background: #f5f3ec; }
* { box-sizing: border-box; }
body { margin: 0; }
main { max-width: 760px; margin: auto; padding: 32px 24px; }
header { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.brand { font-weight: 800; letter-spacing: .16em; }
.badge { background: #e7e4d7; border-radius: 30px; padding: 8px 14px; font-size: .9rem; }
.intro { margin: 64px 0 32px; }
.eyebrow { font-size: 1rem; }
h1 { font-size: clamp(2.2rem, 7vw, 3.6rem); line-height: 1.08; letter-spacing: -.04em; margin: 16px 0; }
p { line-height: 1.6; }
.intro > p:last-child { font-size: 1.2rem; }
.card { background: #fff; border: 1px solid #d8ddd6; border-radius: 24px; padding: 28px; }
.notice { background: #f5f0df; color: #574619; border-radius: 12px; padding: 16px; margin: 0 0 28px; }
label { display: block; font-size: 1.2rem; font-weight: 650; margin-bottom: 12px; }
.search { display: flex; gap: 12px; }
input { min-width: 0; width: 100%; border: 2px solid #7d9488; border-radius: 12px; padding: 14px; font: inherit; font-size: 1.4rem; }
button { border: 0; border-radius: 12px; background: #184b3d; color: #fff; padding: 16px 24px; font: inherit; font-weight: 650; font-size: 1.15rem; min-height: 56px; cursor: pointer; }
button:hover { background: #10372c; }
:focus-visible { outline: 3px solid #8d4a06; outline-offset: 4px; }
#result:empty { display: none; }
#result { margin: 24px 0 0; padding-top: 20px; border-top: 1px solid #d8ddd6; font-size: 1.1rem; }
footer { margin-top: 28px; color: #52675d; font-size: .95rem; }
@media (max-width: 520px) { main { padding: 20px 16px; } .intro { margin-top: 40px; } .card { padding: 20px; } .search { flex-direction: column; } button { width: 100%; } }

[hidden] { display: none !important; }
#dictionary-status { color: #52675d; }
#retry-dictionary { margin-bottom: 24px; }
#result[data-state="found"] { color: #184b3d; font-weight: 650; }
#result[data-state="absent"], #result[data-state="error"] { color: #873319; font-weight: 650; }
a { color: #184b3d; text-underline-offset: .2em; }
.sources h1 { font-size: 2.5rem; }
.sources a { overflow-wrap: anywhere; }
