*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:#1d2330;background:#f6f7f9}
header{background:#fff;border-bottom:1px solid #e3e6eb;padding:10px 16px;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
.logo{font-weight:700;color:#036;text-decoration:none}.sec{color:#1d2330;text-decoration:none;font-weight:600}
nav{display:flex;flex-wrap:wrap;gap:4px 14px;margin-left:auto}nav a{color:#245;text-decoration:none}nav a:hover{text-decoration:underline}
main{max-width:980px;margin:0 auto;padding:16px}footer{max-width:980px;margin:0 auto;padding:16px;color:#667;font-size:13px;border-top:1px solid #e3e6eb}
a{color:#0b57b0}h1{font-size:1.6rem;margin:.3em 0}h2{font-size:1.15rem;margin:1.2em 0 .5em}.lead{color:#445}.small{color:#667;font-size:13px}.crumb{font-size:14px;color:#667;margin:0}
#q{width:100%;font-size:1.05rem;padding:12px 14px;border:1px solid #c9ced6;border-radius:10px;background:#fff}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:16px}
.cat{background:#fff;border:1px solid #e3e6eb;border-radius:12px;padding:6px 16px 12px}.cat ul{list-style:none;padding:0;margin:0}.cat li{padding:4px 0;border-bottom:1px solid #f0f1f4}
.n{display:inline-block;min-width:1.6em;text-align:center;font-size:12px;background:#eef1f5;border-radius:9px;color:#556;padding:0 6px}
.card{background:#fff;border:1px solid #e3e6eb;border-radius:12px;padding:12px 16px;margin:10px 0}.card p{margin:.4em 0}.meta{font-size:14px;color:#556}
.v{display:inline-block;font-weight:700;color:#0a5b3a;background:#e5f6ee;border-radius:6px;padding:1px 8px;font-size:14px}.v.unk{color:#776;background:#f1f0ea;font-weight:500}
.big .v{font-size:1.05rem}.ru{display:inline-block;font-size:11px;font-weight:700;color:#fff;background:#c33;border-radius:4px;padding:0 5px;vertical-align:middle}
.t{font-size:12px;border-radius:4px;padding:1px 6px;margin-left:4px}.t-builtin{background:#e8eefc;color:#234}.t-free{background:#e5f6ee;color:#145}.t-opensource{background:#f3e9fb;color:#425}.t-paid{background:#fdf0e1;color:#530}
.cmp{font-size:14px;color:#445;cursor:pointer}.cmpbar{position:sticky;bottom:0;background:#036;color:#fff;padding:10px 16px;border-radius:10px;margin-top:12px}.cmpbar a{color:#fff;font-weight:700;margin-left:10px}
.kv,.ct2{border-collapse:collapse;width:100%;background:#fff}.kv th,.kv td,.ct2 th,.ct2 td{border:1px solid #e3e6eb;padding:6px 10px;text-align:left;vertical-align:top}.kv th{width:30%;background:#fafbfc;font-weight:600}
.tw{overflow-x:auto}.btn{display:inline-block;background:#fff;border:1px solid #c9ced6;border-radius:8px;padding:6px 12px;font:inherit;color:#0b57b0;cursor:pointer;text-decoration:none}
.flt{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;background:#fff;border:1px solid #e3e6eb;border-radius:12px;padding:10px 14px}.flt select{font:inherit;padding:4px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}mark{background:#fff3b0}
@media(max-width:600px){h1{font-size:1.3rem}nav{margin-left:0}.kv th{width:40%}}
.howto{margin:12px 0}.howto ol{margin:.5em 0 .3em 1.2em;padding:0}.howto li{margin:.25em 0}.src{font-size:13px;color:#667}
.rfb{display:inline-block;font-size:11px;color:#8a4b00;background:#fff3e0;border:1px solid #f3d3a6;border-radius:4px;padding:0 5px;margin-left:4px;white-space:nowrap}
.plain{padding-left:1.1em}.plain li{margin:.4em 0}
