*{box-sizing:border-box}html,body{margin:0;padding:0}
:root{
  --bg:#e9f2fb; --card:#ffffff; --ink:#1f3b58; --muted:#5a6f86;
  --brand:#1565c0; --brand-2:#42a5f5; --ring:#90caf9; --soft:#f4f9ff;
  --border:#d7e6f3; --shadow:rgba(18,38,63,.08);
}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}
.site-head{padding:20px 16px 8px;text-align:center}
.site-head h1{margin:0;color:var(--brand);font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:1px}
.site-head .sub{margin:6px auto 0;color:var(--muted)}
.container{max-width:1100px;margin:18px auto;padding:16px}
.toolbar{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:14px 14px 8px;box-shadow:0 8px 28px var(--shadow)}
.search-wrap{display:flex;gap:8px}
#searchBox{flex:1;padding:12px 14px;border:2px solid var(--ring);border-radius:10px;font-size:16px;color:#0d47a1}
#searchBox:focus{outline:none;border-color:#1e88e5;box-shadow:0 0 6px rgba(30,136,229,.35)}
.btn{padding:10px 12px;border:1px solid var(--ring);border-radius:10px;background:#eef6ff;color:var(--brand);cursor:pointer}
.btn:hover{background:#e3f2fd}
.btn.subtle{background:#f7fbff}
.controls{display:grid;gap:10px;margin-top:10px}
.controls .row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.select select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;background:#fff}
.stats{margin-top:10px;color:var(--muted);font-size:14px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px;margin-top:12px}
.card{background:var(--card);border:1px solid var(--border);border-left:4px solid var(--brand-2);border-radius:12px;overflow:hidden;box-shadow:0 2px 8px var(--shadow);transition:transform .15s ease}
.card:hover{transform:translateY(-1px)}
.card-head{display:flex;gap:10px;align-items:start;justify-content:space-between;background:#eef6ff;padding:10px 12px}
.term{font-weight:800;color:#0d47a1;font-size:16px;line-height:1.3}
.badge{display:inline-block;background:#f1f8fd;border:1px solid var(--ring);color:#0d47a1;border-radius:999px;padding:2px 8px;font-size:12px;margin-left:6px}
.fav{border:none;background:transparent;color:#f39c12;font-size:18px;cursor:pointer}
.card-body{padding:10px 12px}
.block{padding:8px 10px;border-left:3px solid var(--brand-2);background:var(--soft);border-radius:8px;margin:8px 0}
.block h5{margin:0 0 6px;font-size:13px;color:#0d47a1;text-transform:uppercase;letter-spacing:.5px}
.block p{margin:0}
.meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.mark{background:#fff59d;padding:0 2px;border-radius:3px}
.foot{padding:20px 16px 26px;text-align:center;color:var(--muted)}
.brand{color:#9aa8b6;font-weight:700;margin-top:6px}
.scroll-top{position:fixed;right:14px;bottom:14px;width:44px;height:44px;border-radius:50%;border:1px solid var(--ring);background:#fff;color:var(--brand);cursor:pointer;display:none}
.scroll-top.show{display:block}
@media (max-width:768px){
  .container{padding:12px}
  .grid{grid-template-columns:1fr}
}
