:root{--bg:#eef1f6;--ink:#14213d;--mute:#5b6678;--blue:#2f5bff;--sun:#ffd23f;--bad:#e0383e;--r:14px;--f:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*{box-sizing:border-box;margin:0}
body{background:var(--bg);color:var(--ink);font:400 16px/1.55 var(--f);padding-bottom:calc(78px + env(safe-area-inset-bottom))}
a{color:inherit}button,input,select{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.w{max-width:1100px;margin:0 auto;padding:0 16px}
.top{position:sticky;top:0;z-index:10;background:var(--ink);color:#fff;display:flex;align-items:center;gap:12px;padding:10px 14px;padding-top:calc(10px + env(safe-area-inset-top))}
.top a,.top button{color:#fff;text-decoration:none}
#mb,.sq{background:none;border:2px solid #fff;border-radius:10px;width:42px;height:42px;font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center}
.logo{font-weight:900;font-size:22px;letter-spacing:.04em;flex:1}.logo b{color:var(--sun)}
#sb{position:fixed;inset:0 auto 0 0;width:min(330px,88vw);background:#fff;border-right:2px solid var(--ink);z-index:30;transform:translateX(-102%);transition:transform .2s;overflow-y:auto;padding:18px;padding-top:calc(18px + env(safe-area-inset-top))}
#sb.open{transform:none}
#ov{position:fixed;inset:0;background:rgba(20,33,61,.55);z-index:20;display:none}#ov.on{display:block}
#sb form{display:grid;gap:12px;margin:12px 0 20px}#sb label{display:grid;gap:4px;font-weight:600;font-size:14px}
#sb .chk{display:flex;gap:8px;align-items:center}
input[type=search],input[type=text],select{width:100%;padding:10px 12px;border:2px solid var(--ink);border-radius:10px;background:#fff}
.cats{display:grid;gap:2px}.cats a{padding:6px 8px;border-radius:8px;text-decoration:none;display:flex;justify-content:space-between}.cats a:hover{background:var(--bg)}.cats small{color:var(--mute)}
h1{font-size:clamp(26px,5.5vw,44px);line-height:1.1;letter-spacing:-.02em;font-weight:900}
h2{font-size:21px;font-weight:800;margin:30px 0 12px}
.hero{padding:28px 0 6px}.hero p{color:var(--mute);margin-top:8px;max-width:46em}
.sf{display:flex;gap:10px;margin-top:16px;max-width:640px}.sf input{flex:1;box-shadow:3px 3px 0 var(--ink)}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(285px,1fr));gap:12px}
.card{display:flex;gap:12px;align-items:center;background:#fff;border:2px solid var(--ink);border-radius:var(--r);box-shadow:3px 3px 0 var(--ink);padding:12px;text-decoration:none;min-width:0}
.card:hover{background:#fffbe8}
.ic{width:56px;height:56px;border-radius:14px;border:2px solid var(--ink);background:var(--sun);flex:none;object-fit:cover}
.ic.big{width:104px;height:104px;border-radius:24px;box-shadow:4px 4px 0 var(--ink)}
.ct{display:grid;min-width:0}.ct b{font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ct small{color:var(--mute);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:8px;background:var(--blue);color:#fff;text-decoration:none;font-weight:800;border:2px solid var(--ink);border-radius:12px;padding:10px 16px;box-shadow:3px 3px 0 var(--ink);cursor:pointer}
.btn.alt{background:#fff;color:var(--ink)}.btn.xl{padding:16px 28px;font-size:19px;background:var(--sun);color:var(--ink);box-shadow:5px 5px 0 var(--ink)}.btn.go{background:#12a150;color:#fff}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips a{border:2px solid var(--ink);background:#fff;border-radius:99px;padding:3px 12px;text-decoration:none;font-weight:600;font-size:14px}
.crumb{padding:14px 0 4px;font-size:14px;color:var(--mute)}.crumb a{text-decoration:none}
.ah{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:10px 0 20px}.ah>div{flex:1;min-width:230px;display:grid;gap:10px}
.row{display:flex;gap:8px;flex-wrap:wrap}.tag{border:1.5px solid var(--ink);border-radius:8px;padding:1px 8px;font-weight:700;font-size:12px;background:#fff}
.s-safe{background:#d9f5e5;color:#0b6b36;border-color:#0b6b36}.s-suspicious,.s-unknown{background:#fff0cf;color:#8a5600;border-color:#8a5600}.s-malware{background:#ffe0e1;color:#a01d22;border-color:#a01d22}
#dl{margin:6px 0 4px}
.cd{background:#fff;border:2px solid var(--ink);border-radius:12px;padding:14px 18px;box-shadow:4px 4px 0 var(--ink);font-weight:700;max-width:340px}
.cd b{font-size:26px}.cd i{display:block;height:10px;border:2px solid var(--ink);border-radius:9px;margin-top:8px;overflow:hidden}.cd u{display:block;height:100%;width:0;background:var(--blue);transition:width .25s linear}
.panel{background:#fff;border:2px solid var(--ink);border-radius:var(--r);box-shadow:4px 4px 0 var(--ink);padding:18px;margin-top:22px}
.panel h2{margin:0 0 8px}.panel p{white-space:pre-line;overflow-wrap:anywhere;max-width:70ch}
.shots{display:flex;gap:12px;overflow-x:auto;padding:4px 4px 12px;margin-top:10px}.shots img{height:300px;width:auto;border:2px solid var(--ink);border-radius:12px;background:#dde3ee;flex:none}
dl.i{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}dl.i dt{font-size:13px;color:var(--mute)}dl.i dd{font-weight:700;overflow-wrap:anywhere}
.warn{background:#ffe0e1;border:2px solid var(--bad);border-radius:10px;padding:10px 12px;font-weight:600;margin-top:10px}
.meta{margin:14px 0 8px;color:var(--mute)}.empty{padding:40px 0;color:var(--mute)}#more{display:block;margin:18px auto}
footer{border-top:2px solid var(--ink);margin-top:36px;padding:22px 0;text-align:center;color:var(--mute);font-size:14px}footer b{color:var(--ink)}
.bn{position:fixed;inset:auto 0 0 0;z-index:15;display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-top:2px solid var(--ink);padding-bottom:env(safe-area-inset-bottom)}
.bn a{display:grid;place-items:center;padding:8px 0;text-decoration:none;font-weight:700;font-size:13px}.bn a span{font-size:22px;line-height:1.1}.bn a[aria-current]{background:var(--sun)}
@media(min-width:900px){.bn{max-width:420px;left:50%;right:auto;transform:translateX(-50%);border:2px solid var(--ink);border-radius:16px 16px 0 0}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
