:root {
    --vh-green: #139b5a;
    --vh-green-dark: #0b6b41;
    --vh-green-soft: #eaf8f0;
    --vh-bg: #f7fbf8;
    --vh-surface: #ffffff;
    --vh-border: #e4eee8;
    --vh-text: #153426;
    --vh-muted: #6f8076;
    --vh-shadow: 0 18px 50px rgba(17, 115, 72, 0.10);
}
* { box-sizing: border-box; }
body { background: linear-gradient(180deg,#f7fbf8 0%,#ffffff 42%,#f3fbf6 100%); color: var(--vh-text); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
a { text-decoration: none; }
.site-navbar { backdrop-filter: blur(16px); box-shadow: 0 10px 35px rgba(16,104,65,.07); }
.hero-section { position: relative; overflow: hidden; background: radial-gradient(circle at 12% 8%, rgba(25,135,84,.20), transparent 32%), radial-gradient(circle at 90% 18%, rgba(96,211,139,.18), transparent 28%), linear-gradient(135deg,#f1fff7 0%,#fff 55%,#eafff2 100%); }
.hero-section::after { content: ""; position: absolute; inset: auto -120px -180px auto; width: 360px; height: 360px; border-radius: 50%; background: rgba(19,155,90,.10); pointer-events: none; }
.section-eyebrow { color: var(--vh-green); font-weight: 800; letter-spacing: .08em; text-transform: uppercase; font-size: .76rem; }
.hero-card, .content-box, .tool-card, .version-card, .review-card, .search-panel, .stat-card { background: var(--vh-surface); border: 1px solid var(--vh-border); border-radius: 24px; box-shadow: var(--vh-shadow); }
.hero-card { padding: 2rem; }
.search-panel { padding: 1rem; margin-top: -36px; position: relative; z-index: 2; }
.btn { border-radius: 999px; }
.form-control, .form-select { border-color: #dcebe2; border-radius: 14px; padding: .75rem .9rem; }
.form-control:focus, .form-select:focus { border-color: var(--vh-green); box-shadow: 0 0 0 .2rem rgba(19,155,90,.12); }
.category-pill { border: 1px solid var(--vh-border); color: var(--vh-green-dark); background: #fff; border-radius: 999px; padding: .55rem .9rem; display: inline-flex; align-items: center; gap: .45rem; }
.category-pill.active, .category-pill:hover { background: var(--vh-green); color: #fff; }
.tool-card { overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; height: 100%; }
.tool-card:hover { transform: translateY(-4px); box-shadow: 0 22px 60px rgba(17,115,72,.16); }
.tool-logo { width: 76px; height: 76px; border-radius: 22px; object-fit: contain; background: #f4fbf7; border: 1px solid var(--vh-border); padding: .45rem; }
.tool-title { color: var(--vh-text); }
.meta-chip { display: inline-flex; align-items: center; gap: .35rem; background: #f4fbf7; color: #557064; border: 1px solid var(--vh-border); padding: .35rem .65rem; border-radius: 999px; font-size: .82rem; }
.rating-stars { color: #f6b600; letter-spacing: .04em; }
.stat-card { padding: 1.25rem; height: 100%; background: linear-gradient(135deg,#fff,#eefaf3); }
.stat-card span { color: var(--vh-muted); display: block; font-size: .85rem; margin-bottom: .35rem; }
.stat-card strong { color: var(--vh-green-dark); display: block; font-size: 1.9rem; line-height: 1; }
.version-card { padding: 1.25rem; }
.version-icon { width: 52px; height: 52px; border-radius: 18px; display: grid; place-items: center; background: var(--vh-green-soft); color: var(--vh-green-dark); font-weight: 800; }
.download-hero-logo { width: 112px; height: 112px; border-radius: 30px; object-fit: contain; background: #fff; border: 1px solid var(--vh-border); padding: .6rem; box-shadow: var(--vh-shadow); }
.review-card { padding: 1rem; }
.auth-section { background: radial-gradient(circle at 0 0, rgba(19,155,90,.13), transparent 30%), linear-gradient(180deg,#fff 0%,#f5fbf7 100%); }
.auth-visual { border-radius: 26px; background: linear-gradient(135deg,#e9fff3,#fff); border: 1px solid var(--vh-border); box-shadow: var(--vh-shadow); }
.mini-feature { background: #fff; border: 1px solid var(--vh-border); border-radius: 16px; padding: .8rem 1rem; margin-bottom: .75rem; }
.site-footer { background: linear-gradient(135deg,#0b2418,#0c5c38); }
.empty-box { border: 1px dashed #b7dec8; border-radius: 24px; background: #f7fff9; padding: 2.2rem; text-align: center; }
@media (max-width: 991.98px) { .hero-card { padding: 1.35rem; } .search-panel { margin-top: 0; } }
.navbar-brand span { letter-spacing: -.02em; }
.btn-success { box-shadow: 0 12px 28px rgba(19,155,90,.20); }
.btn-success:hover { transform: translateY(-1px); }
.tool-card, .version-card { position: relative; }
.tool-card::before, .version-card::before { content: ""; position: absolute; inset: 0 0 auto 0; height: 4px; background: linear-gradient(90deg,var(--vh-green),#7ee2a7); opacity: .85; }
.version-card { overflow: hidden; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.version-card:hover { transform: translateY(-3px); border-color: #bae3c9; box-shadow: 0 24px 62px rgba(17,115,72,.14); }
.download-actions .small { color: #6b8175 !important; }
.download-action { min-width: 142px; position: relative; overflow: hidden; }
.download-action::before { content: "⬇"; margin-right: .45rem; }
.download-action.is-downloading { opacity: .9; pointer-events: none; }
.content-box { background: linear-gradient(180deg,#fff,#fbfffc); }
.search-panel { box-shadow: 0 20px 55px rgba(17,115,72,.12); }
.meta-chip { font-weight: 650; }
@media (max-width: 767.98px) {
    .download-actions { width: 100%; }
    .download-action { width: 100%; }
    .tool-card { padding: 1.15rem !important; }
}