
:root{
  --bg:#f5f4f1;--paper:#fff;--ink:#1e252b;--muted:#66717c;--line:#d9dde2;
  --accent:#244f73;--accent2:#6b5b95;--soft:#eef3f7;--ok:#e2f0d9;
  --method:#eef5ea;--method-line:#c8ddbf;--warn:#fff8e8;--warn-line:#eddba8;
  --max:1120px
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55}
a{color:var(--accent)}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}
.topbar{background:#fff;border-bottom:1px solid var(--line)}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:12px;padding-bottom:12px}
.brand{font-weight:800;color:#17384f;text-decoration:none}
.back{font-size:.92rem}
.hero{background:linear-gradient(135deg,#183a55,#315f82);color:#fff;padding:50px 0 36px}
.kicker{font-size:.82rem;text-transform:uppercase;letter-spacing:.1em;opacity:.82;font-weight:700}
h1{font-size:clamp(2.15rem,5vw,4rem);line-height:1.02;margin:.35rem 0 1rem;max-width:900px}
.hero p{max-width:850px;font-size:1.08rem;margin:.4rem 0 0;color:#f2f6f8}
.simple-note{margin-top:22px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.24);padding:14px 16px;border-radius:12px;max-width:900px}
.toolbar{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:3}
.filters{display:grid;grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) auto auto;gap:10px;padding:14px 0}
input,select,button{font:inherit}
input,select{width:100%;padding:12px 13px;border:1px solid var(--line);border-radius:10px;background:#fff}
.searchbtn,.resetbtn{border:0;border-radius:10px;padding:0 18px;cursor:pointer;font-weight:750;min-height:46px}
.searchbtn{background:var(--accent);color:#fff}
.resetbtn{background:#e9edf0;color:#25313b}
.hint{grid-column:1/-1;color:var(--muted);font-size:.86rem;margin-top:-2px}
main{padding:26px 0 60px}
.section-title{display:flex;justify-content:space-between;align-items:end;gap:15px;margin:0 0 14px}
.section-title h2{margin:0;font-size:1.55rem}
.section-title p{margin:.15rem 0 0;color:var(--muted)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:17px;box-shadow:0 1px 2px rgba(0,0,0,.03);cursor:pointer;transition:.15s}
.card:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(0,0,0,.06)}
.card:focus{outline:3px solid rgba(36,79,115,.22);outline-offset:2px}
.card h3{font-size:1.04rem;line-height:1.28;margin:8px 0 7px}
.card p{margin:.4rem 0;color:#3e4852;font-size:.93rem}
.meta{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:7px}
.badge{display:inline-block;border-radius:999px;padding:4px 8px;font-size:.75rem;background:var(--soft);color:#33414c}
.badge.verified{background:var(--ok);color:#285b2a;font-weight:800}
.grid-gap{margin-top:36px}
.count{font-size:.9rem;color:var(--muted)}
.empty{grid-column:1/-1;padding:40px;background:#fff;border:1px dashed var(--line);border-radius:12px;color:var(--muted);text-align:center}
.method,.comparison{margin-top:38px;border-radius:14px;padding:18px}
.method{background:var(--method);border:1px solid var(--method-line)}
.comparison{background:var(--warn);border:1px solid var(--warn-line)}
.method h2,.comparison h2{margin-top:0;font-size:1.25rem}
footer{border-top:1px solid var(--line);padding:28px 0 50px;color:var(--muted);font-size:.9rem}
dialog{width:min(900px,calc(100vw - 24px));max-height:90vh;border:0;border-radius:16px;padding:0;box-shadow:0 25px 80px rgba(0,0,0,.28)}
dialog::backdrop{background:rgba(16,25,33,.55)}
.dialog-head{position:sticky;top:0;background:#fff;padding:18px 22px 12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;align-items:start;z-index:1}
.dialog-head h2{margin:.2rem 0 0;font-size:1.55rem;line-height:1.2}
.close{border:0;background:#eef1f3;border-radius:999px;width:38px;height:38px;font-size:1.2rem;cursor:pointer}
.dialog-body{padding:20px 22px 28px}
.block{margin:0 0 25px}
.block h3{font-size:1rem;text-transform:uppercase;letter-spacing:.045em;margin:0 0 10px;color:#4b5a67}
.simple{background:#f1eef7;border-left:5px solid var(--accent2);padding:16px 17px;border-radius:10px;font-size:1.04rem}
.sources{display:grid;gap:8px}
.source{padding:11px 12px;background:#f7f8f9;border-radius:9px;word-break:break-word}
.limit{background:#f7f8f9;padding:14px 16px;border-radius:10px;color:#46525d}
#resultsSection{scroll-margin-top:150px}
@media(max-width:850px){
  .cards{grid-template-columns:1fr 1fr}
  .filters{grid-template-columns:1fr 1fr}
  #resultsSection{scroll-margin-top:220px}
}
@media(max-width:560px){
  .cards{grid-template-columns:1fr}
  .filters{grid-template-columns:1fr}
  .hero{padding-top:40px}
  .searchbtn,.resetbtn{padding:12px 14px}
  #resultsSection{scroll-margin-top:330px}
}
