:root{
    --bg:#0b1220; --ink:#eaf2ff; --muted:#9fb3d8;
    --card:#0f1b34; --border:rgba(255,255,255,.12);
    --accent:#59d8ff; --accent2:#6ef7a4;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial;
}
.container{max-width:980px;margin:0 auto;padding:16px}

.header{display:flex;align-items:center;justify-content:space-between;gap:12px}
.h1{margin:0;font-size:28px;font-weight:900;letter-spacing:.3px}
.h1 img{vertical-align: middle}
.header-right{display:flex;gap:8px;align-items:center}
.badge{
    background:rgba(255,255,255,.08); border:1px solid var(--border);
    padding:6px 10px; border-radius:999px; font-size:12px; color:var(--muted);
}
.badge.off{color:#ffd66d;border-color:#524400;background:rgba(255,214,109,.08)}
.install{
    background:#1a2b4f; color:#cfe7ff; border:1px solid var(--border);
    padding:8px 12px; border-radius:10px; font-weight:800; cursor:pointer;
}
.install:hover{filter:brightness(1.08)}
.sub{margin:10px 0 14px; color:var(--muted); display:flex; gap:8px; align-items:center}
.dot{opacity:.5}

.grid{
    display:grid; gap:14px;
    grid-template-columns:repeat(2, minmax(0,1fr));
}
@media (min-width:900px){ .grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:560px){ .grid{ grid-template-columns:1fr; } }

.card{
    position:relative; display:block; text-decoration:none; color:inherit;
    background:var(--card); border:1px solid var(--border); border-radius:14px; overflow:hidden;
    transition:transform .15s ease, box-shadow .15s ease;
}
.card:hover{ transform:translateY(-2px); box-shadow:0 8px 24px rgba(0,0,0,.25) }
.card img{ width:100%; height:200px; object-fit:cover; display:block;object-position:bottom }
.meta{ padding:12px }
.title{ font-weight:900; font-size:16px }
.desc{ font-size:13px; color:var(--muted); margin-top:4px }

.cta{
    position:absolute; right:10px; bottom:10px;
    background:linear-gradient(180deg,#59d8ff,#2ea9ff);
    color:#09172e; padding:8px 10px; border-radius:10px; font-weight:900; font-size:12px;
    border:1px solid #58c9ff;
}
.best{
    position:absolute; left:10px; bottom:10px; font-size:12px;
    color:#cfe7ff; background:rgba(255,255,255,.06);
    border:1px solid var(--border); padding:6px 8px; border-radius:10px;
}

.footer{
    margin:18px 2px 4px; color:var(--muted); text-align:center; font-size:13px;
}
