:root {
  --ink: #151515;
  --paper: #fffdf7;
  --yellow: #d71920;
  --orange: #a80f15;
  --green: #1f8a5b;
  --red: #d71920;
  --muted: #6d6d6d;
  --line: #ded8c9;
  --shadow: 0 18px 55px rgba(0,0,0,.10);
}

* { box-sizing: border-box; }
body {
  margin: 0;
  font-family: Arial, Helvetica, sans-serif;
  background:
    radial-gradient(circle at 15% 10%, rgba(255,216,74,.28), transparent 28%),
    radial-gradient(circle at 85% 0%, rgba(255,122,53,.16), transparent 24%),
    #f4f1e8;
  color: var(--ink);
  min-height: 100vh;
}

body.large-text { font-size: 19px; }
body.large-text .answers button { font-size: 1.08rem; }

.site-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 5vw;
  border-bottom: 2px solid var(--ink);
  background: rgba(255,253,247,.93);
  position: sticky;
  top: 0;
  z-index: 10;
}

.brand-wrap { display:flex; align-items:center; gap:12px; }
.shield {
  width: 46px; height: 52px; display:grid; place-items:center;
  background: var(--yellow); border:3px solid var(--ink);
  border-radius: 10px 10px 18px 18px;
  font-weight: 900; font-size: 24px;
}
.brand { font-size: 26px; font-weight: 1000; letter-spacing: 1px; }
.subbrand { font-size: 12px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .7px; }

.container { width:min(1080px, 92vw); margin: 0 auto; padding: 58px 0 70px; }
.screen { display:none; }
.screen.active { display:block; }

.hero { max-width: 900px; margin: 0 auto; text-align:center; }
.eyebrow { font-size: .8rem; font-weight: 900; letter-spacing: 1.5px; color: #9b1117; }
h1 { font-size: clamp(2.25rem, 6vw, 4.7rem); line-height: .98; margin: 14px 0 18px; }
h2 { line-height: 1.18; }
.lead { font-size: 1.16rem; line-height: 1.6; color: #454545; }
.feature-row { display:flex; gap:12px; flex-wrap:wrap; justify-content:center; margin: 26px 0; }
.feature-row span { background:#fff; border:2px solid var(--ink); border-radius:999px; padding:9px 13px; font-weight:800; }

.card { background:var(--paper); border:3px solid var(--ink); box-shadow:var(--shadow); border-radius:18px; }
.form-card { max-width:560px; margin:34px auto 0; padding:28px; text-align:left; }
label { display:block; font-weight:900; margin-bottom:8px; }
input {
  width:100%; padding:16px; border:2px solid var(--ink); border-radius:10px;
  font:inherit; background:white; margin-bottom:14px;
}

button {
  border:2px solid var(--ink); border-radius:10px; padding:13px 18px;
  font:inherit; font-weight:900; cursor:pointer; transition:.15s ease;
}
button:hover { transform: translateY(-2px); }
.primary { background:var(--yellow); color:var(--ink); box-shadow:4px 4px 0 var(--ink); }
.secondary { background:white; color:var(--ink); }
.small { padding:9px 12px; font-size:.84rem; }
.form-card .primary { width:100%; }
.fine { font-size:.84rem; color:var(--muted); text-align:center; margin-bottom:0; }

.quiz-top { display:flex; justify-content:space-between; gap:20px; align-items:end; margin-bottom:18px; }
.progress-track { width:min(620px, 65vw); height:14px; border:2px solid var(--ink); border-radius:999px; background:white; overflow:hidden; margin-top:8px; }
.progress-bar { height:100%; width:0%; background:var(--yellow); transition:.3s; }
.score-preview { font-weight:900; }

.question-card { padding:clamp(22px, 4vw, 42px); max-width:900px; margin:0 auto; }
.category-badge { display:inline-block; padding:7px 10px; background:#eee7d6; border-radius:999px; font-size:.78rem; font-weight:900; text-transform:uppercase; letter-spacing:.8px; }
.question-card h2 { font-size:clamp(1.4rem, 3vw, 2.2rem); margin:20px 0; }
.answers { display:grid; gap:12px; }
.answers button { width:100%; text-align:left; background:white; box-shadow:none; }
.answers button:hover { background:#fff7cf; }
.answers button.correct { background:#dff6e9; border-color:var(--green); }
.answers button.wrong { background:#ffe3e3; border-color:var(--red); }
.answers button:disabled { cursor:default; transform:none; color:var(--ink); }
.feedback { margin:20px 0; padding:18px; border-left:6px solid var(--yellow); background:#fff8d8; line-height:1.55; }
.hidden { display:none !important; }

.result-layout { display:grid; grid-template-columns: 1.05fr .95fr; gap:22px; }
.result-card, .breakdown-card { padding:34px; }
.result-icon { font-size:58px; }
.big-score { font-size:76px; font-weight:1000; letter-spacing:-4px; }
.level-badge { display:inline-block; background:var(--yellow); border:2px solid var(--ink); border-radius:999px; padding:9px 14px; font-weight:1000; margin:10px 0 22px; }
.button-row { display:flex; gap:12px; flex-wrap:wrap; }
.breakdown-row { margin:16px 0; }
.breakdown-label { display:flex; justify-content:space-between; font-weight:800; margin-bottom:7px; }
.mini-track { height:12px; background:#e4dfd2; border:1px solid var(--ink); border-radius:999px; overflow:hidden; }
.mini-bar { height:100%; background:var(--orange); }
.tip-box { margin-top:28px; padding:18px; background:#fff0bc; border:2px dashed var(--ink); border-radius:12px; line-height:1.5; }

.certificate-actions { display:flex; gap:12px; justify-content:center; margin-bottom:20px; }
.certificate {
  background:white; max-width:1000px; margin:0 auto; padding:24px;
  border:2px solid #bda45c; box-shadow:var(--shadow);
}
.certificate-border {
  min-height:650px; border:10px double #b18c2f; padding:42px;
  text-align:center; display:flex; flex-direction:column; justify-content:space-between;
  background:
    radial-gradient(circle at 50% 35%, rgba(255,216,74,.14), transparent 30%),
    #fffef9;
}
.cert-topline { font-weight:1000; letter-spacing:3px; font-size:1.15rem; }
.cert-kicker { margin-top:18px; color:#8a6c23; letter-spacing:2px; font-weight:900; }
.certificate h1 { font-family: Georgia, serif; font-size:3.2rem; margin:10px 0 16px; }
.certificate h2 { font-family: Georgia, serif; font-size:1.55rem; }
.cert-name { font-family: Georgia, serif; font-weight:700; font-style:italic; font-size:3rem; border-bottom:2px solid #b18c2f; width:80%; margin:8px auto 18px; padding-bottom:8px; }
.cert-details { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:28px 0; }
.cert-details div { border-top:1px solid #bda45c; padding-top:10px; }
.cert-details span, .cert-id span { display:block; font-size:.76rem; letter-spacing:1px; text-transform:uppercase; color:#6c6043; }
.cert-details strong { display:block; margin-top:6px; }
.cert-bottom { display:grid; grid-template-columns:1fr 130px 1fr; align-items:end; gap:20px; }
.signature-name { font-family:cursive; font-size:1.55rem; }
.signature-line { border-top:1px solid var(--ink); margin:4px 0; }
.signature span { font-size:.8rem; }
.seal { width:112px; height:112px; margin:auto; border-radius:50%; display:grid; place-items:center; background:var(--yellow); border:5px double var(--ink); font-weight:1000; line-height:1.05; }
.cert-id { text-align:right; }
.cert-footer { font-size:.75rem; color:#6b6558; margin-top:26px; }

footer { text-align:center; padding:20px; color:#68635a; font-size:.78rem; }

@media (max-width: 760px) {
  .result-layout { grid-template-columns:1fr; }
  .site-header { padding:14px 4vw; }
  .subbrand { display:none; }
  .cert-details, .cert-bottom { grid-template-columns:1fr; }
  .cert-id { text-align:center; }
  .certificate-border { padding:22px; }
  .cert-name { font-size:2rem; width:100%; }
  .certificate h1 { font-size:2.2rem; }
  .quiz-top { align-items:start; flex-direction:column; }
  .progress-track { width:85vw; }
}

@media print {
  body { background:white; }
  .site-header, footer, .no-print { display:none !important; }
  .container { width:100%; padding:0; }
  .screen { display:none !important; }
  #certificateScreen { display:block !important; }
  .certificate { box-shadow:none; border:none; max-width:none; padding:0; }
  .certificate-border { min-height:95vh; }
}


/* FAKD / Spotify additions */
.header-actions { display:flex; align-items:center; gap:10px; }
.spotify-link { display:inline-flex; align-items:center; justify-content:center; text-decoration:none; background:#1ed760; color:#050505; border:2px solid var(--ink); border-radius:10px; padding:13px 18px; font-weight:900; box-shadow:4px 4px 0 var(--ink); }
.spotify-link:hover { transform:translateY(-2px); }
.fakd-logo { display:block; width:min(390px, 82vw); margin:0 auto 28px; border-radius:16px; box-shadow:var(--shadow); }
.podcast-cta { width:min(1080px,92vw); margin:0 auto 30px; background:#090909; color:white; border:3px solid #d71920; border-radius:18px; padding:22px; display:grid; grid-template-columns:180px 1fr auto; gap:22px; align-items:center; }
.podcast-cta img { width:100%; border-radius:10px; }
.podcast-cta p { margin:6px 0 0; color:#e6e6e6; line-height:1.45; }
.scam-savvy-line { margin:14px auto 4px; color:#8f0d12; font-size:1.15rem; text-transform:uppercase; letter-spacing:.7px; font-weight:800; }
.scam-savvy-line strong { display:block; font-family:Georgia,serif; font-size:2.25rem; margin-top:4px; }
.certificate { border-color:#a30f14; }
.certificate-border { border-color:#a30f14; background:radial-gradient(circle at 50% 35%, rgba(215,25,32,.10), transparent 30%),#fffef9; }
.cert-kicker, .cert-details span, .cert-id span { color:#8f0d12; }
.cert-name, .cert-details div { border-color:#a30f14; }
.seal { background:#d71920; color:white; border-color:#75090d; }
.signature-name { font-family:"Brush Script MT","Segoe Script",cursive; font-size:2.05rem; }
@media (max-width:760px) { .header-actions .spotify-link { display:none; } .podcast-cta { grid-template-columns:1fr; text-align:center; } .podcast-cta img { width:min(260px,80%); margin:auto; } }
