/* ...existing styles... */
:root{
  --bg:#070607;
  --fg:#ffffff;
  --muted:rgba(255,255,255,0.92);
  --accent:#c92a2a; /* blood red accent */
  --soft-accent:rgba(201,42,42,0.10);
  --gap:18px;
  font-family: "Space Mono", "Noto Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
  letter-spacing: 0.6px;
  font-size:19px; /* increased base type for larger letters */
}

*{box-sizing:border-box}

body{
  margin:0;
  background:
    radial-gradient(1200px 600px at 15% 20%, rgba(201,42,42,0.06), transparent 12%),
    linear-gradient(180deg, rgba(3,3,4,0.9), rgba(8,2,2,0.85)),
    url("/red-bloody-numbers-scary-horror-260nw-433925377.webp") center/cover no-repeat fixed;
  color:var(--fg);
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  text-rendering: optimizeLegibility; /* sharper glyph rendering */
  -webkit-text-size-adjust:100%;
  transition: background-color .4s ease;
}

.content{
  max-width:1100px;
  margin:28px auto;
  padding:0 18px;
}

h1{
  margin:0 0 10px;
  font-size:56px; /* larger title */
  letter-spacing:0.6px;
  font-weight:900;
  color:var(--fg);
  text-transform:uppercase;
  text-shadow: 0 6px 30px rgba(0,0,0,0.9), 0 0 22px rgba(201,42,42,0.08);
}
.subtitle{
  margin:6px 0 22px;
  color:var(--muted);
  font-size:19px;
  font-weight:700;
  opacity:0.98;
}
.flicker{
  animation: flicker 3.6s linear infinite;
  text-shadow:0 0 28px rgba(201,42,42,0.14), 0 0 6px rgba(201,42,42,0.06);
  display:inline-block;
  padding:4px 8px;
  border-radius:6px;
  background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent);
  transform-origin:center;
}

.gallery{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:18px;
}

/* Quiz styles */
.quiz{ margin:20px 0 28px; padding:16px; border-radius:10px; border:1px solid rgba(255,255,255,0.04); background:linear-gradient(180deg,#0e0e0f,#0b0b0c);}
.quiz h2{margin:0 0 12px; font-size:20px}
.quiz legend{
  font-weight:900;
  margin-bottom:10px;
  font-size:34px; /* larger question text */
  color:var(--fg);
  text-shadow:0 2px 18px rgba(0,0,0,0.6);
  letter-spacing:0.8px;
}
.quiz label{
  display:block;
  margin:10px 0;
  color:var(--muted);
  font-size:26px; /* bigger option labels */
  cursor:pointer;
  font-weight:900;
  padding:10px 12px;
  border-radius:10px;
  transition:background .14s ease, transform .12s ease;
}
.quiz label:hover{ background:var(--soft-accent); transform:translateX(4px); }
.quiz .opt{
  font-size:24px; /* larger option text */
  font-weight:900;
  color:#fff;
  display:inline-block;
}
.quiz .feedback{
  display:inline-block;
  margin-left:12px;
  padding:8px 12px;
  border-radius:999px;
  font-weight:800;
  font-size:16px;
  vertical-align:middle;
}
.quiz .feedback.right{ background:rgba(60,140,80,0.14); color:#7fe08a; border:1px solid rgba(127,224,138,0.12); }
.quiz .feedback.wrong{ background:rgba(180,60,60,0.08); color:#ff8b8b; border:1px solid rgba(255,139,139,0.06); }
.quiz .quiz-controls{ margin-top:14px; display:flex; gap:10px; }
.quiz button{ padding:10px 14px; border-radius:8px; border:1px solid rgba(0,0,0,0.08); background:transparent; cursor:pointer; font-weight:900; font-size:16px; }
.quiz #quizResult{ margin-top:14px; color:var(--fg); font-size:16px }

/* Thumbnail cards */
.photo-card{
  margin:0;
  background:#111214;
  border-radius:10px;
  overflow:hidden;
  box-shadow:0 6px 28px rgba(0,0,0,0.6);
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, filter .22s ease;
}
.photo-card{ /* keep baseline for JS cloning compatibility */ }
.photo-card:hover{ transform: scale(0.997); filter:brightness(0.96) saturate(0.92); box-shadow:0 30px 70px rgba(0,0,0,0.85); }
.photo-card img{
  display:block;
  width:100%;
  height:200px; /* taller thumbnails for better legibility */
  object-fit:cover;
}
.caption{
  padding:14px 16px;
  color:#fff;
  font-size:18px; /* larger captions */
  font-style:italic;
  font-weight:900;
  opacity:0.98;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6);
  -webkit-font-smoothing: subpixel-antialiased;
  background: linear-gradient(90deg, transparent, rgba(0,0,0,0.12));
}

/* Simple lightbox */
.lightbox {
  position:fixed;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:linear-gradient(180deg, rgba(0,0,0,0.9), rgba(30,0,0,0.85));
  z-index:1200;
  padding:36px;
}
.lightbox.active{ display:flex; }
.lightbox img{
  max-width:96%;
  max-height:92%;
  border-radius:8px;
  box-shadow:0 20px 60px rgba(0,0,0,0.7);
}
.lightbox .close{
  position:absolute;
  right:22px;
  top:22px;
  background:linear-gradient(180deg, rgba(255,255,255,0.96), rgba(240,240,240,0.92));
  color:#111;
  border-radius:8px;
  padding:10px 14px;
  cursor:pointer;
  font-weight:900;
  box-shadow:0 10px 34px rgba(0,0,0,0.75);
  transition: transform .12s ease;
}
.lightbox .close:hover{ transform: scale(1.03) rotate(-4deg); }

/* vignette and grain overlay */
body::after{
  content:"";
  pointer-events:none;
  position:fixed;
  inset:0;
  background:radial-gradient(60% 50% at 50% 40%, rgba(0,0,0,0) 0%, rgba(0,0,0,0.45) 60%, rgba(0,0,0,0.75) 100%);
  mix-blend-mode: multiply;
  z-index:999;
  opacity:0.9;
}

/* subtle film grain */
body::before{
  content:"";
  pointer-events:none;
  position:fixed;
  inset:0;
  background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQIW2P8z/C/HwAGgwJ/l3h6WQAAAABJRU5ErkJggg==");
  opacity:0.03;
  z-index:1000;
}

/* flicker keyframes */
@keyframes flicker {
  0%, 8%, 10%, 25%, 50%, 100% { opacity:1; filter:brightness(1); text-shadow:0 0 12px rgba(180,30,30,0.08); }
  9% { opacity:0.75; filter:brightness(.78) contrast(.95); }
  26% { opacity:0.9; filter:brightness(.94); }
  51% { opacity:0.7; filter:brightness(.8) }
}

.summary-table{ margin:26px 0 60px; }
.summary-table h2{ margin:12px 0; font-size:20px; color:var(--fg); }

/* Improved readability for summary table: larger, higher-contrast text and clearer spacing */
.table-wrap{ overflow:auto; border-radius:10px; border:1px solid rgba(255,255,255,0.06); box-shadow: 0 12px 40px rgba(0,0,0,0.6); }
table{
  width:100%;
  border-collapse:collapse;
  min-width:640px;
  background:linear-gradient(180deg, rgba(8,6,6,0.85), rgba(6,4,4,0.85));
  font-family: "Space Mono", monospace;
  font-size:19px; /* larger table text */
  letter-spacing:0.6px;
  color:var(--fg);
}
thead th{
  text-align:left;
  padding:16px 18px;
  background:linear-gradient(90deg, rgba(255,255,255,0.02), rgba(201,42,42,0.02));
  font-weight:900;
  color:#fff;
  font-size:18px;
  border-bottom:1px solid rgba(255,255,255,0.02);
}
tbody td{
  padding:16px 18px;
  border-top:1px solid rgba(255,255,255,0.03);
  color:var(--fg);
  font-size:18px; /* larger cell text */
  font-weight:800;
  vertical-align:middle;
  white-space:pre-wrap;
}

/* subtle zebra for row clarity */
tbody tr:nth-child(odd) td{
  background: rgba(255,255,255,0.015);
}

/* ensure print remains readable */
@media (max-width:560px){
  table{ font-size:17px; }
  thead th, tbody td{ padding:12px 10px; }
}

/* print-friendly adjustments */
@media print{
  body { background: #fff !important; color:#000 !important; -webkit-print-color-adjust: exact; }
  .content{ max-width:780px; margin:0 auto; padding:0 12px; background:transparent; }
  .gallery, .summary-table { display:none; } /* hide non-quiz sections for print */
  .quiz { border:0; background:transparent; color:#000; box-shadow:none; }
  .quiz legend{ font-size:36px; color:#000; font-weight:900; }
  .quiz label, .quiz .opt { font-size:26px; color:#000; font-weight:900; }
  .feedback { display:none; }
  .quiz-controls { display:none; } /* hide buttons in print output */
  .photo-card, .lightbox { display:none; }
}