*{box-sizing:border-box;margin:0;padding:0}
body{font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background:#fafafa;color:#111}
.wrap{max-width:1100px;margin:0 auto;padding:0 20px}
.top{background:#111;color:#fff;padding:14px 0}
.top .wrap{display:flex;justify-content:space-between;align-items:center}
.logo{font-size:20px;font-weight:700;color:#fff;text-decoration:none;letter-spacing:-.5px}
.logo span{color:#4dabf7}
nav a{color:#ccc;text-decoration:none;margin-left:18px;font-size:14px}
nav a:hover{color:#fff}
main{padding:36px 0 60px}
h1{font-size:30px;letter-spacing:-1px;margin-bottom:8px}
h2{font-size:20px;margin:28px 0 10px}
.lead{color:#555;margin-bottom:20px}
#search{width:100%;padding:12px 16px;font-size:16px;border:1px solid #ddd;border-radius:8px;margin-bottom:16px}
.chips{margin-bottom:20px}
.chip{display:inline-block;background:#fff;border:1px solid #ddd;border-radius:20px;padding:4px 12px;margin:0 6px 6px 0;font-size:13px;color:#333;text-decoration:none}
.chip b{color:#4dabf7}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.card{background:#fff;border:1px solid #e5e5e5;border-radius:10px;padding:16px;text-decoration:none;color:inherit;display:block;transition:box-shadow .15s,border-color .15s}
.card:hover{box-shadow:0 4px 16px rgba(0,0,0,.07);border-color:#4dabf7}
.card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.name{font-weight:600;font-size:14px;word-break:break-all}
.stars{color:#888;font-size:13px;white-space:nowrap}
.card-desc{color:#555;font-size:13px;height:3.2em;overflow:hidden}
.card-foot{margin-top:10px;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.tag{display:inline-block;background:#eef4fb;color:#2a6db5;border-radius:12px;padding:2px 10px;font-size:12px}
.verdict{display:inline-block;border-radius:12px;padding:2px 10px;font-size:12px}
.verdict.pass{background:#e6f7ee;color:#1a7f4b}
.verdict.warn{background:#fdf3e0;color:#b26a00}
.verdict.mute{background:#f0f0f0;color:#888}
.meta{display:flex;gap:12px;align-items:center;margin-bottom:20px;color:#666}
.actions{margin:20px 0}
.btn{display:inline-block;background:#111;color:#fff;padding:10px 20px;border-radius:8px;text-decoration:none;font-weight:600}
.btn:hover{background:#333}
pre{background:#f4f4f4;border:1px solid #e5e5e5;border-radius:8px;padding:14px;overflow-x:auto;font-size:13px}
form{max-width:480px}
label{display:block;margin-bottom:14px;font-weight:600;font-size:14px}
input,select,textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:8px;font:inherit;margin-top:4px}
button{background:#111;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:15px;cursor:pointer}
footer{border-top:1px solid #e5e5e5;padding:24px 0 40px;color:#888;font-size:13px}
.hidden{display:none}