:root { --ink:#17211b; --paper:#f5f1e8; --card:#fffdf8; --green:#236346; --line:#d9d2c5; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:17px/1.5 system-ui,-apple-system,sans-serif; }
header { display:flex; justify-content:space-between; align-items:center; max-width:1040px; margin:auto; padding:24px; }
a { color:var(--green); } .brand { color:var(--ink); font-weight:800; text-decoration:none; font-size:20px; }
main { width:min(960px,calc(100% - 32px)); margin:38px auto 80px; }
.hero { max-width:700px; margin-bottom:32px; } h1 { font:700 clamp(42px,8vw,76px)/.95 Georgia,serif; margin:8px 0 20px; letter-spacing:-.04em; }
.eyebrow { color:var(--green); font-weight:800; letter-spacing:.14em; font-size:13px; }
.panel { background:var(--card); border:1px solid var(--line); border-radius:18px; padding:clamp(20px,4vw,38px); margin:20px 0; box-shadow:0 12px 40px #342a1810; }
.toolbar { display:flex; flex-wrap:wrap; gap:18px 28px; align-items:end; }
label { display:grid; gap:7px; font-weight:650; font-size:14px; } .check { display:flex; align-items:center; padding-bottom:10px; }
select,input[type=number] { border:1px solid var(--line); background:white; border-radius:9px; padding:10px 12px; font:inherit; }
.cells { display:flex; flex-wrap:wrap; gap:8px; margin:30px 0; }
.letter { width:58px; height:64px; border:2px solid var(--ink); border-radius:8px; text-align:center; font-size:25px; font-weight:800; text-transform:uppercase; }
.letter:focus { outline:3px solid #70ae8c; outline-offset:2px; }
button { border:0; border-radius:10px; background:var(--green); color:white; padding:13px 20px; font:700 16px system-ui; cursor:pointer; }
button:disabled { opacity:.45; cursor:default; }
.status { border-radius:9px; padding:10px 13px; margin-bottom:24px; background:#eee; font-size:14px; }.ready{background:#e5f2e9;color:#154d32}.missing{background:#f8e5df;color:#7c2e1d}
.result-head,.pager { display:flex; justify-content:space-between; align-items:center; gap:20px; }.result-head h2{font:700 34px Georgia;margin:0}.results ol{columns:3;gap:32px;padding-left:28px}.results li{padding:5px 0;font-size:19px}.pager{justify-content:center;margin-top:28px}.pager button{background:#e5ece7;color:var(--green)}
.source code { overflow-wrap:anywhere; }.source pre { white-space:pre-wrap; background:#f2eee5; padding:18px; border-radius:8px; }
.muted { color:#667068; font-size:.9em; }.definition { border-top:1px solid var(--line); padding:14px 0; }.definition:first-of-type { border-top:0; }.results ol { columns:1; }.results li p { margin:4px 0 12px; font-size:16px; }
@media(max-width:650px){ main{margin-top:18px}.panel{padding:20px}.letter{width:48px;height:54px}.results ol{columns:2}.result-head{display:block}.toolbar{display:grid}.check{padding:0} }
