:root{--bg:#ffffff;--text:#111;--muted:#555;--card:#f7f9fc;--border:#e5e7eb;--link:#0d6efd;--primary:#0d6efd}
*{box-sizing:border-box}html,body{margin:0;padding:0;background:#fff;color:#111;font-family:ui-sans-serif,system-ui,Segoe UI,Roboto,Helvetica,Arial}
a{color:#0d6efd;text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 16px}.section{padding:28px 0}.hero{background:#f0f4ff}
.btn{display:inline-block;padding:8px 12px;border-radius:8px;border:1px solid var(--border);background:#fff;color:#111;cursor:pointer}.btn:hover{background:#f6f8ff}
.btn-primary{background:var(--primary);border-color:var(--primary);color:#fff}.btn-primary:hover{filter:brightness(0.95)}
.card{background:#fff;border:1px solid var(--border);border-radius:12px;padding:12px;margin:8px 0}.card.small{padding:10px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.item-meta{color:#666;font-size:0.95em;margin-top:3px}.item-links a{margin-right:6px}
.tag{display:inline-block;background:#eef2ff;border:1px solid #dbe5ff;color:#213d8f;border-radius:999px;padding:2px 8px;margin-left:6px;font-size:0.85em}
.badge-vo{display:inline-block;background:#fff3cd;border:1px solid #ffe69c;color:#7c5b00;border-radius:999px;padding:2px 8px;margin-left:6px;font-size:0.85em}
.logo-wrap img{max-width:100%;max-height:72px;display:block}
header.site{background:#fff;border-bottom:1px solid var(--border)}header.site nav .navpill{color:#111}
input,select,textarea{border:1px solid var(--border);background:#fff;color:#111;border-radius:8px;padding:8px 10px}
input::placeholder,textarea::placeholder{color:#888}
footer.site-footer{border-top:1px solid var(--border);background:#fff;padding:20px 0;margin-top:24px}.footer-links a{margin-right:12px}
.fav-form .active{background:#ffe5ea;border-color:#ffd1db}