
:root{--ink:#1d2230;--mut:#6a7185;--bg:#f6f7fa;--card:#fff;--acc:#0e6e8e;--acc2:#e8f3f7;--bd:#e3e6ee}
*{box-sizing:border-box}body{margin:0;font:16px/1.65 'Segoe UI',system-ui,sans-serif;color:var(--ink);background:var(--bg)}
header{background:linear-gradient(120deg,#0e3d52,#0e6e8e);color:#fff;padding:18px 28px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
header h1{margin:0;font-size:20px}header a{color:#bfe3ef;text-decoration:none;font-size:14px}
.wrap{max-width:980px;margin:24px auto;padding:0 20px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:28px 34px;box-shadow:0 1px 3px rgba(20,30,60,.06)}
h1{font-size:28px;margin:.2em 0}h2{font-size:20px;color:var(--acc);border-bottom:2px solid var(--acc2);padding-bottom:4px;margin-top:1.6em}
h3{font-size:16px;margin-top:1.2em}blockquote{margin:0 0 1em;padding:10px 16px;background:var(--acc2);border-left:4px solid var(--acc);border-radius:0 8px 8px 0;color:#0d4a60}
table{border-collapse:collapse;width:100%;margin:.6em 0;font-size:14px}th,td{border:1px solid var(--bd);padding:6px 10px;text-align:left}
th{background:#f0f2f7}code{background:#eef0f5;padding:1px 5px;border-radius:4px;font-size:.9em}
a{color:var(--acc)}em{color:var(--mut)}
.badge{display:inline-block;font-size:12px;font-weight:600;border-radius:20px;padding:2px 12px;margin-left:8px;vertical-align:middle}
.badge.stub{background:#fdeeda;color:#9a6010}.badge.researched{background:#ddf3e4;color:#15683a}
.idx-controls{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap;align-items:center}
.idx-controls input,.idx-controls select{padding:9px 14px;border:1px solid var(--bd);border-radius:8px;font-size:15px;background:var(--card)}
.idx-controls input{flex:1;min-width:220px}
.idx-controls input:focus,.idx-controls select:focus{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px rgba(14,110,142,.12)}
.result-count{font-size:13px;color:var(--mut);white-space:nowrap;padding:0 4px}
.no-results{text-align:center;color:var(--mut);padding:40px 0;font-size:15px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.tile{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:14px 16px;text-decoration:none;color:var(--ink);display:block}
.tile:hover{border-color:var(--acc);box-shadow:0 2px 8px rgba(14,110,142,.12)}
.tile .nm{font-weight:600}.tile .meta{font-size:12px;color:var(--mut);margin-top:3px}
.cat-h{margin:26px 0 10px;font-size:15px;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.stats{font-size:14px;color:var(--mut);margin-top:4px}
footer{text-align:center;color:var(--mut);font-size:13px;padding:30px}
[hidden]{display:none!important}.page-title{margin-top:0}
