:root{--bg:#0b0d10;--card:#13171c;--line:#232a32;--text:#e8ecf1;--muted:#93a0ae;--accent:#7cf29a;--accent2:#5ab0ff;--warn:#ffb454;--bad:#ff6b6b;--radius:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.6 ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
header.top{border-bottom:1px solid var(--line);position:sticky;top:0;background:rgba(11,13,16,.92);backdrop-filter:blur(8px);z-index:10}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}
.logo{font-weight:800;font-size:18px;color:var(--text)}.logo span{color:var(--accent)}
nav a{color:var(--muted);margin-left:18px;font-size:14px}nav a:hover,nav a.on{color:var(--text)}
.hero{padding:64px 0 36px}.hero h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 16px;letter-spacing:-.02em}
.hero p.lead{font-size:19px;color:var(--muted);max-width:680px;margin:0 0 24px}
.ceo{display:flex;gap:18px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;max-width:680px}
.avatar{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--accent),#1f7a3a);display:grid;place-items:center;font-weight:800;font-size:24px;color:#06210f;flex:none}
.ceo small{color:var(--muted)}
.btn{display:inline-block;background:var(--accent);color:#06210f;font-weight:700;padding:11px 18px;border-radius:10px;border:0;cursor:pointer;font-size:15px}
.btn:hover{text-decoration:none;filter:brightness(1.08)}.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
section{padding:36px 0}h2{font-size:26px;margin:0 0 6px}.sub{color:var(--muted);margin:0 0 20px}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:flex;flex-direction:column;gap:8px}
.card h3{margin:0;font-size:17px;line-height:1.3}.card p{margin:0;color:var(--muted);font-size:14.5px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px}
.tag{font-size:12px;border:1px solid var(--line);border-radius:999px;padding:2px 9px;color:var(--muted)}
.tag.ex{border-color:var(--warn);color:var(--warn)}.tag.ok{border-color:var(--accent);color:var(--accent)}
.badge{width:34px;height:34px;border-radius:9px;background:#1b222a;display:grid;place-items:center;font-size:12px;font-weight:700;color:var(--accent2)}
details{font-size:14px}summary{cursor:pointer;color:var(--accent2)}pre,code{font-family:ui-monospace,Menlo,monospace;font-size:13px}
pre{background:#0a0c0f;border:1px solid var(--line);border-radius:10px;padding:12px;white-space:pre-wrap;color:#cfd8e3}
.news{background:linear-gradient(135deg,#112217,#0f1a26);border:1px solid var(--line);border-radius:var(--radius);padding:26px;display:grid;gap:12px}
.news form{display:flex;gap:10px;flex-wrap:wrap}
input[type=email],input[type=text],input[type=url],textarea{background:#0a0c0f;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 13px;font-size:15px;flex:1;min-width:220px}
textarea{width:100%;min-height:200px;font-family:ui-monospace,Menlo,monospace;font-size:13px}
.fine{font-size:13px;color:var(--muted)}.msg{font-size:14px;color:var(--accent)}
.sbar{position:sticky;bottom:0;background:#0f1318;border-top:1px solid var(--line);z-index:20}
.sbar .wrap{height:48px;display:flex;align-items:center;gap:10px;font-size:14px;color:var(--muted);overflow:hidden;white-space:nowrap}
.sbar b{color:var(--text)}.sbar .x{margin-left:auto;background:none;border:0;color:var(--muted);cursor:pointer;font-size:18px}
footer{border-top:1px solid var(--line);margin-top:40px;padding:28px 0;color:var(--muted);font-size:14px}
footer a{color:var(--muted);margin-right:16px}
.price{font-size:40px;font-weight:800}.price small{font-size:16px;color:var(--muted);font-weight:500}
ul.check{padding-left:0;list-style:none}ul.check li{padding-left:26px;position:relative;margin:8px 0}ul.check li:before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.finding{border-left:4px solid var(--line);padding:10px 14px;background:var(--card);border-radius:8px;margin:8px 0}
.finding.high{border-color:var(--bad)}.finding.med{border-color:var(--warn)}.finding.low{border-color:var(--accent2)}.finding.pass{border-color:var(--accent)}
.finding b{display:block}.finding code{color:#ffd29a;word-break:break-all}
.report{margin-top:18px}.score{font-size:28px;font-weight:800}
.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:760px){.two{grid-template-columns:1fr}nav a{margin-left:10px}nav a.hide-m{display:none}}
.log li{margin:6px 0}.muted{color:var(--muted)}
.filters{display:flex;gap:10px;flex-wrap:wrap}select{background:#0a0c0f;border:1px solid var(--line);color:var(--text);border-radius:10px;padding:11px 13px;font-size:15px}
.tlist{list-style:none;padding:0;margin:4px 0;display:grid;gap:8px}.trow{display:flex;gap:12px;align-items:flex-start;border-top:1px solid var(--line);padding-top:8px}
.trow p{margin:2px 0 0;font-size:14px;color:var(--muted)}.trow b a{color:var(--text)}.rank{font-weight:800;color:var(--accent);min-width:28px}
.tlist.big .trow{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}.method{margin:16px 0}
.launches{list-style:none;padding:0;display:grid;gap:12px}.launch time{color:var(--accent);font-weight:700;font-size:14px}.launch h3{font-size:18px}
[hidden]{display:none!important}
/* audit fixes */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
main p a,.card p a,.fine a,.muted a{text-decoration:underline;text-underline-offset:2px}
.trow b a,.card h3 a{text-decoration:none}
footer a{display:inline-block;padding:8px 4px;margin-right:10px}
nav a{display:inline-block;padding:10px 6px;margin-left:8px}
summary{padding:8px 0}
.lh{font-size:18px;margin:4px 0}
@media(max-width:760px){
 header.top .wrap{flex-wrap:wrap;height:auto;padding-top:10px;gap:0}
 nav{width:100%;overflow-x:auto;white-space:nowrap;-webkit-overflow-scrolling:touch;scrollbar-width:none}
 nav a{margin-left:0;margin-right:6px}nav a.hide-m{display:inline-block}
 .hero{padding:36px 0 20px}.ceo{flex-direction:row;align-items:flex-start}
 .grid{grid-template-columns:1fr}
 .sbar .wrap{font-size:13px}
 .filters select,.filters input{width:100%}
}
.log li a{text-decoration:underline;text-underline-offset:2px}
.btn,.btn:hover{text-decoration:none!important}
