:root {
  --bg:#ffffff; --text:#111111; --muted:#555555; --card:#ffffff; --border:#e5e5e5;
  --thumb:#f6f6f6; --accent:#e03131; --btn-text:#ffffff; --pill-bg:#000000; --pill-text:#ffffff;
  --btn2-bg:#f1f3f5; --btn2-text:#111111; --overlay-bg: rgba(0,0,0,0.55);
}
body.dark {
  --bg:#0b0f15; --text:#e5e7eb; --muted:#9aa7b8; --card:#111827; --border:#1f2733;
  --thumb:#0f1623; --accent:#ef4444; --btn-text:#ffffff; --pill-bg:#111827; --pill-text:#ffffff;
  --btn2-bg:#1f2733; --btn2-text:#e5e7eb; --overlay-bg: rgba(0,0,0,0.65);
}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
.container{max-width:1100px;margin:0 auto;padding:16px}
h1{font-size:24px;font-weight:800;margin:12px 0 16px}
p{color:var(--muted)}
.demo_header{border-bottom:1px solid var(--border);background:var(--bg)}
.demo_header .container{display:flex;justify-content:space-between;align-items:center;gap:12px}
.header_controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.theme-toggle,.seg_btn{border:1px solid var(--border);background:transparent;color:var(--text);padding:8px 10px;border-radius:10px;cursor:pointer}
.seg{display:flex;gap:6px}

.card_grid{display:grid;gap:16px;grid-template-columns:repeat(2, 1fr)}
@media (min-width: 720px){ .card_grid{grid-template-columns:repeat(3, 1fr)} }
@media (min-width: 1024px){ .card_grid{grid-template-columns:repeat(4, 1fr)} }
@media (min-width: 1400px){ .card_grid{grid-template-columns:repeat(5, 1fr)} }

.card{border:1px solid var(--border);border-radius:14px;background:var(--card);overflow:hidden}
.card_thumb{position:relative;background:var(--thumb);aspect-ratio:16/9;display:flex;align-items:center;justify-content:center}
.thumb-tall .card_thumb{aspect-ratio:4/3}
.thumb-short .card_thumb{aspect-ratio:16/10}
.card_img{max-width:100%;max-height:100%;object-fit:contain;display:block;margin:auto;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.15));}

/* COMPACT mode (centered buttons) */
.thumb_overlay{
  position:absolute; inset:0;
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px;
  background: radial-gradient(ellipse at center, var(--overlay-bg) 0%, rgba(0,0,0,0.0) 60%);
  opacity:0; transform: scale(0.98);
  transition: opacity 140ms ease, transform 140ms ease;
  pointer-events:none;
}
@media (hover:hover) {
  .card:hover .thumb_overlay { opacity:1; transform:none; pointer-events:auto; }
}
@media (hover:none) {
  .thumb_overlay { opacity:1; transform:none; }
}

.thumb_overlay .btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:10px 14px; border-radius:12px; font-size:14px; line-height:1; text-decoration:none; min-width:160px;
}
.thumb_overlay .btn .icon{ width:16px; height:16px; display:inline-block; }
.thumb_overlay .btn-open{ background:var(--accent); color:var(--btn-text); }
.thumb_overlay .btn-read{ background:var(--btn2-bg); color:var(--btn2-text); border:1px solid var(--border); }

/* WIDE CTA mode */
.cta-wide .thumb_overlay{
  inset:0; display:flex; flex-direction:column; align-items:stretch; justify-content:flex-end; gap:10px;
  padding:12px; background: linear-gradient(to top, var(--overlay-bg), rgba(0,0,0,0) 45%);
  opacity:0; transform: translateY(4px); transition: opacity 140ms ease, transform 140ms ease; pointer-events:none;
}
@media (hover:hover){ .cta-wide .card:hover .thumb_overlay{opacity:1; transform:none; pointer-events:auto;} }
@media (hover:none){ .cta-wide .thumb_overlay{opacity:1; transform:none;} }
.cta-wide .thumb_overlay .btn{ width:100%; padding:12px 14px; font-size:15px; }

/* Bottom meta row */
.card_meta_row{position:relative;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 12px 12px}
.card_meta_row .meta_num{position:absolute;left:12px;top:50%;transform:translateY(-50%);background:var(--pill-bg);color:var(--pill-text);
                         border-radius:999px;padding:3px 8px;font-weight:700;font-size:12px;line-height:1}
.card_meta_row .favicon{border-radius:4px;box-shadow:0 0 0 1px var(--border)}
.card_meta_row .card_url{color:var(--muted);text-decoration:none}
.card_meta_row .card_url:hover{text-decoration:underline}
