:root{--bar:#111;--text:#fff;--muted:#cfcfcf;--accent:#d32f2f;}
*{box-sizing:border-box;}
html,body{height:100%;}
body{
  margin:0;
  color:var(--text);
  font-family:Arial, sans-serif;
  background:radial-gradient(1100px 650px at 50% -10%, #3a3a3a 0, #1f1f1f 55%, #141414 100%);
  padding-top:env(safe-area-inset-top);
}
.topbar{position:sticky;top:0;z-index:1000;background:var(--bar);display:flex;align-items:center;justify-content:space-between;padding:10px 14px;}
.brand{font-weight:900;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70vw;}
.btn{border:none;border-radius:10px;padding:10px 12px;cursor:pointer;font-size:14px;color:var(--text);background:#444;}
.btn.ghost{background:transparent;border:1px solid #3a3a3a;}
.wrap{max-width:1100px;margin:0 auto;padding:22px 16px 40px;}
h1{margin:0 0 8px;font-size:34px;letter-spacing:.6px;}
.sub{margin:0 0 18px;color:var(--muted);}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;align-items:stretch;}
.card{position:relative;display:flex;flex-direction:column;text-decoration:none;color:var(--text);background:linear-gradient(180deg,#2a2a2a,#1d1d1d);border:1px solid #3a3a3a;border-radius:16px;overflow:hidden;box-shadow:0 18px 45px rgba(0,0,0,.55);max-width:320px;margin:0 auto;}
.card:hover{outline:2px solid rgba(211,47,47,.35);}
.tag{position:absolute;top:12px;right:12px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.15);padding:6px 10px;border-radius:999px;font-weight:900;}
.cover{width:100%;aspect-ratio:3/4;object-fit:cover;display:block;}
.meta{padding:14px;display:flex;flex-direction:column;gap:10px;}
.title{font-size:18px;font-weight:900;letter-spacing:.4px;}
.cta{display:inline-flex;align-items:center;justify-content:center;background:var(--accent);padding:10px 12px;border-radius:12px;font-weight:900;width:100%;}
.footerhint{margin-top:16px;color:#bdbdbd;font-size:13px;opacity:.95;}
.modal{border:none;border-radius:14px;max-width:720px;width:92vw;background:#161616;color:var(--text);box-shadow:0 20px 80px rgba(0,0,0,.7);}
.modal::backdrop{background:rgba(0,0,0,.6);}
.modalhead{display:flex;align-items:center;justify-content:space-between;padding:14px 14px 8px;border-bottom:1px solid #2c2c2c;}
.modaltitle{font-size:16px;font-weight:900;}
.modalbody{padding:14px;color:#d7d7d7;line-height:1.45;}
.modalbody code{background:#222;padding:2px 6px;border-radius:6px;}
@media (max-width: 1024px){ .grid{grid-template-columns:repeat(2, minmax(0,1fr));} }
@media (max-width: 560px){ h1{font-size:26px;} .grid{grid-template-columns:1fr;} }


/* Video card overlay */
.video-card .play-overlay{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  pointer-events:none;
}
.video-card .play-circle{
  width:92px;
  height:92px;
  border-radius:999px;
  background:rgba(220,46,46,.95);
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.35);
}
.video-card .play-triangle{
  margin-left:8px;
  width:0;
  height:0;
  border-top:18px solid transparent;
  border-bottom:18px solid transparent;
  border-left:28px solid white;
}
.video-card .cover{
  filter:brightness(0.72);
  object-position:center 22%;
}
