/* Minimal cozy Christmas theme */
:root{ --bg:#0f172a; --card:#111827; --text:#e5e7eb; --muted:#9ca3af; --accent:#84cc16; --danger:#ef4444; --gold:#f59e0b; }
*{ box-sizing:border-box }
body{ margin:0; font-family: system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'; background:linear-gradient(180deg,#0f172a 0%,#1f2937 100%); color:var(--text); }
.site-header{ text-align:center; padding:32px 16px; }
.site-header h1{ margin:0 0 8px; font-size:2rem }
.site-header p{ margin:0; color:var(--muted) }
.grid{ display:grid; grid-template-columns: repeat(auto-fill, minmax(260px,1fr)); gap:16px; padding:16px; max-width:1100px; margin:0 auto }
.card{ background:var(--card); border-radius:14px; overflow:hidden; box-shadow:0 8px 24px rgba(0,0,0,.4); position:relative; display:flex; flex-direction:column }
.card img{ width:100%; height:220px; object-fit:cover; background:#000 }
.card .content{ padding:12px 14px; display:flex; flex-direction:column; gap:8px }
.card h3{ margin:0; font-size:1.1rem }
.card .excerpt{ margin:0; color:var(--muted); font-size:.95rem }
.tags{ display:flex; flex-wrap:wrap; gap:6px; margin:0 }
.tag{ background:#1f2937; color:#cbd5e1; padding:4px 8px; border-radius:999px; font-size:.8rem }
.actions{ display:flex; justify-content:space-between; align-items:center; margin-top:8px }
.link{ color:#93c5fd; text-decoration:none }
.choose{ background:var(--accent); color:#0f172a; border:0; padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:600 }
.choose[disabled]{ background:#334155; color:#64748b; cursor:not-allowed }
.card.disabled{ opacity:.6 }
.card .ribbon{ position:absolute; top:12px; left:-8px; background:var(--danger); color:#fff; padding:6px 12px; font-weight:700; transform:rotate(-6deg); box-shadow:0 4px 12px rgba(0,0,0,.35); border-top-right-radius:8px; border-bottom-right-radius:8px }
.card.pending{ outline:2px dashed var(--gold); }
.locked{ max-width:900px; margin:0 auto; padding:16px }
.locked .chosen{ display:grid; grid-template-columns: 260px 1fr; gap:16px }
.locked #undoBtn{ margin-top:12px; background:#f59e0b; color:#0f172a; border:0; padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:700 }
.locked #undoBtn[disabled]{ background:#a16207; color:#3f3f46; cursor:not-allowed }
.site-footer{ text-align:center; padding:24px; color:var(--muted) }
button.undo{ background:var(--danger); color:#fff; border:0; padding:8px 12px; border-radius:10px; cursor:pointer; font-weight:700 }