:root{
  --bg:#140201;--panel:rgba(23,5,4,.88);--red:#e62412;--red2:#ff4d12;--orange:#ff8a00;--gold:#ffc44d;
  --text:#fff5e9;--muted:#d9b6a5;--ok:#7ee787;--bad:#ff6b5d;--line:rgba(255,163,82,.28);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#0c0101;color:var(--text)}body{overflow-x:hidden;min-height:100svh}
button,a{-webkit-tap-highlight-color:transparent}.vignette{position:fixed;inset:0;pointer-events:none;z-index:2;box-shadow:inset 0 0 180px #000, inset 0 -80px 120px #0008}
#fxCanvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:1}
.topbar{position:fixed;top:0;left:0;right:0;z-index:20;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 max(18px,env(safe-area-inset-left));background:linear-gradient(180deg,#090000e8,#09000066,transparent);backdrop-filter:blur(4px)}
.brand{color:#fff;text-decoration:none;font-weight:1000;letter-spacing:.15em;font-size:14px;text-shadow:0 0 20px #ff3b10}.top-actions{display:flex;gap:8px}.icon-btn{width:42px;height:42px;border-radius:13px;border:1px solid #ff7a3b55;background:#190403cc;color:#fff;display:grid;place-items:center;font-weight:900;font-size:20px;text-decoration:none;cursor:pointer}.icon-btn:hover{border-color:#ff8b50;transform:translateY(-1px)}
.app-shell{position:relative;z-index:5;min-height:100svh}.screen{display:none;position:relative;min-height:100svh;padding:84px 22px 76px}.screen-active{display:flex}
.hero-screen{align-items:center;justify-content:center;background:url('../img/hero.webp') center/cover no-repeat}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#100201d9 0%,#160301b8 33%,#13030155 60%,#13030122 100%)}
.glass-panel{position:relative;z-index:3;border:1px solid rgba(255,172,91,.3);background:linear-gradient(180deg,rgba(34,6,4,.9),rgba(16,2,2,.82));backdrop-filter:blur(12px);box-shadow:0 28px 80px #000b,0 0 40px #ff3c0c1e;border-radius:28px}
.start-panel{width:min(650px,100%);margin-right:auto;padding:clamp(24px,4vw,46px)}.eyebrow{margin:0 0 12px;color:#ffbd73;font-weight:900;letter-spacing:.12em;font-size:12px}.start-panel h1,.result-panel h2{margin:0;line-height:.83;font-size:clamp(48px,7vw,92px);letter-spacing:-.055em;font-weight:1000;text-shadow:0 5px 0 #6b0e05,0 0 28px #ff3b17aa}.start-panel h1 span,.result-panel h2 span{color:#ff9417}.intro-copy,.result-copy{max-width:58ch;color:#f2d8c7;font-size:clamp(15px,1.6vw,19px);line-height:1.55}.rules-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:22px 0}.rules-grid div{padding:14px 10px;border-radius:17px;background:#100202ba;border:1px solid var(--line);text-align:center}.rules-grid strong{display:block;color:#ff9a2e;font-size:31px;line-height:1}.rules-grid span{display:block;margin-top:5px;font-size:11px;text-transform:uppercase;font-weight:900;color:#f3c5ad}.primary-btn,.secondary-btn{border:0;border-radius:16px;padding:16px 20px;font-weight:1000;letter-spacing:.045em;cursor:pointer;transition:.18s transform,.18s filter,.18s box-shadow}.primary-btn{color:white;background:linear-gradient(180deg,#ff5d19,#bf1609);box-shadow:0 10px 30px #ff3a122d,inset 0 1px #ffd09a}.primary-btn:hover{transform:translateY(-2px);filter:brightness(1.12);box-shadow:0 14px 36px #ff3a1255}.secondary-btn{background:#160302de;color:#ffd9bf;border:1px solid #ff87574d}.secondary-btn:hover{filter:brightness(1.15)}.fire-btn{width:100%;font-size:16px}.microcopy{margin:10px 0 0;color:#a98575;font-size:12px;text-align:center}
.game-screen{align-items:center;justify-content:center;background:#120201;overflow:hidden}.game-bg{position:absolute;inset:0;background:linear-gradient(#17030155,#09000088),url('../img/quiz.webp') center/cover no-repeat;filter:saturate(1.08)}
.hud{position:absolute;z-index:4;top:76px;left:50%;transform:translateX(-50%);width:min(1160px,calc(100% - 32px));display:grid;grid-template-columns:140px 1fr 140px;gap:12px}.hud-block,.hud-progress-wrap{background:#100201d9;border:1px solid var(--line);backdrop-filter:blur(10px);border-radius:16px;padding:10px 13px;box-shadow:0 12px 28px #0007}.hud-block span,.hud-label span{display:block;font-size:10px;letter-spacing:.11em;font-weight:900;color:#cfa791}.hud-block strong{font-size:24px;color:#fff}.mistakes strong{color:#ff725c}.hud-label{display:flex;justify-content:space-between;gap:10px;align-items:center}.hud-label strong{color:#ffb447}.progress-track{height:8px;background:#2a0806;border-radius:999px;overflow:hidden;margin-top:7px}.progress-bar{height:100%;width:0;background:linear-gradient(90deg,#ff4e14,#ffb21b);box-shadow:0 0 16px #ff6b18;transition:width .35s ease}
.quiz-layout{position:relative;z-index:4;width:min(810px,100%);margin-top:86px}.question-card{background:linear-gradient(180deg,rgba(46,12,7,.93),rgba(19,3,3,.95));border:1px solid rgba(255,165,84,.35);box-shadow:0 30px 90px #000c,0 0 48px #ff3a0a18;border-radius:26px;padding:clamp(20px,3vw,34px)}.devil-tag{display:inline-block;padding:7px 10px;border-radius:999px;background:#8e1208;color:#ffd1a5;font-size:10px;font-weight:1000;letter-spacing:.11em}.question-card h2{font-size:clamp(23px,3vw,38px);line-height:1.12;margin:16px 0 22px;text-wrap:balance}.answers{display:grid;grid-template-columns:1fr 1fr;gap:11px}.answer-btn{min-height:64px;text-align:left;border:1px solid rgba(255,149,80,.25);background:linear-gradient(180deg,#2a0807,#170302);color:#fff5e9;border-radius:16px;padding:14px 15px;font-size:15px;font-weight:850;cursor:pointer;transition:.18s transform,.18s border-color,.18s background}.answer-btn:hover:not(:disabled){transform:translateY(-2px);border-color:#ff9958;background:#3b0b08}.answer-btn:disabled{cursor:default}.answer-btn.correct{background:#0e381c;border-color:#71e58b;color:#c8ffd4}.answer-btn.wrong{background:#4a0b09;border-color:#ff7263;color:#ffd0ca}.feedback{display:none;margin-top:14px;padding:13px 15px;border-radius:14px;font-weight:800;line-height:1.4}.feedback.show{display:block}.feedback.ok{background:#10371d;border:1px solid #51d87566;color:#caffd6}.feedback.bad{background:#3f0b08;border:1px solid #ff6b5d66;color:#ffd2cc}.feedback strong{color:#ffbd73}
.result-screen{align-items:center;justify-content:center;background-position:center;background-size:cover}.victory-screen{background-image:url('../img/victory.webp')}.defeat-screen{background-image:url('../img/defeat.webp')}.result-overlay{position:absolute;inset:0;background:linear-gradient(90deg,#100000cc 0%,#1202018a 48%,#10000077)}.result-panel{width:min(760px,100%);padding:clamp(24px,4vw,44px);margin-right:auto}.result-panel h2{font-size:clamp(43px,6vw,82px)}.result-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.result-actions button{flex:1;min-width:220px}.footer{position:fixed;z-index:20;bottom:0;left:0;right:0;min-height:38px;padding:8px 14px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;background:linear-gradient(0deg,#090000ed,#090000aa);color:#8f7166;font-size:10px}.footer a{color:#c79c87;text-decoration:none}
@media (max-width:760px){
  .topbar{height:56px}.screen{padding:66px 12px 56px;min-height:100svh}.hero-screen{background-position:58% center}.hero-overlay{background:linear-gradient(180deg,#10020155 0%,#100201cc 48%,#100201f4 100%)}.start-panel{align-self:flex-end;padding:20px;border-radius:22px}.start-panel h1{font-size:clamp(42px,13vw,64px)}.intro-copy{font-size:14px;line-height:1.43}.rules-grid{gap:6px;margin:15px 0}.rules-grid div{padding:10px 5px}.rules-grid strong{font-size:25px}.rules-grid span{font-size:9px}.microcopy{font-size:10px}
  .game-screen{padding-top:118px;align-items:flex-start}.game-bg{background-position:center top;opacity:.64}.hud{top:61px;width:calc(100% - 18px);grid-template-columns:72px 1fr 72px;gap:5px}.hud-block,.hud-progress-wrap{border-radius:11px;padding:7px 7px}.hud-block span,.hud-label span{font-size:7px}.hud-block strong{font-size:18px}.hud-label strong{font-size:11px}.progress-track{height:6px;margin-top:5px}.quiz-layout{margin-top:16px}.question-card{padding:17px 14px 15px;border-radius:20px}.question-card h2{font-size:clamp(21px,6vw,28px);margin:14px 0 16px}.answers{grid-template-columns:1fr;gap:8px}.answer-btn{min-height:52px;padding:11px 12px;font-size:14px;border-radius:13px}.feedback{font-size:13px;padding:11px;margin-top:10px}
  .result-screen{background-position:center}.result-overlay{background:linear-gradient(180deg,#09000055,#090000e5 56%,#090000fa)}.result-panel{align-self:flex-end;padding:20px;border-radius:22px}.result-panel h2{font-size:clamp(38px,11vw,60px)}.result-copy{font-size:14px}.result-actions{margin-top:14px}.result-actions button{min-width:100%;padding:14px}.footer{font-size:8px;gap:5px}
}
@media (max-height:720px) and (min-width:761px){.screen{padding-top:72px}.quiz-layout{margin-top:70px}.question-card{padding:20px}.question-card h2{font-size:28px;margin:12px 0}.answer-btn{min-height:52px;padding:11px}.hud{top:66px}.start-panel{padding:26px}.start-panel h1{font-size:60px}.intro-copy{font-size:15px}.rules-grid{margin:14px 0}}
@media (prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}#fxCanvas{display:none}}

/* Penalty popup shown after each tolerated wrong answer. */
body.modal-open{overflow:hidden}
.penalty-modal{position:fixed;inset:0;z-index:60;display:grid;place-items:center;padding:20px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}
.penalty-modal.show{opacity:1;visibility:visible;pointer-events:auto}
.penalty-modal__backdrop{position:absolute;inset:0;background:radial-gradient(circle at 50% 58%,rgba(255,71,0,.18),transparent 34%),rgba(4,0,0,.82);backdrop-filter:blur(8px)}
.penalty-modal__card{position:relative;width:min(570px,100%);overflow:hidden;border:1px solid rgba(255,148,61,.55);border-radius:26px;padding:clamp(24px,4vw,38px);background:linear-gradient(180deg,rgba(55,10,5,.98),rgba(17,2,2,.98));box-shadow:0 32px 110px #000,0 0 70px rgba(255,50,0,.26),inset 0 1px rgba(255,213,153,.16);transform:translateY(18px) scale(.96);transition:transform .24s cubic-bezier(.2,.8,.2,1)}
.penalty-modal.show .penalty-modal__card{transform:translateY(0) scale(1)}
.penalty-modal__card:before,.penalty-modal__card:after{content:"";position:absolute;pointer-events:none;filter:blur(4px);opacity:.7}
.penalty-modal__card:before{left:-18%;right:-18%;bottom:-74px;height:145px;background:radial-gradient(ellipse at center,#ffb000 0%,#ff4b00 27%,#b70d00 49%,transparent 72%);animation:modalFire 1.7s ease-in-out infinite alternate}
.penalty-modal__card:after{inset:0;background:linear-gradient(115deg,transparent 10%,rgba(255,159,74,.055) 42%,transparent 60%)}
.penalty-modal__horns{position:relative;z-index:1;font-size:40px;line-height:1;margin-bottom:8px;filter:drop-shadow(0 0 15px #ff4a00)}
.penalty-modal__eyebrow{position:relative;z-index:1;margin:0 0 8px;color:#ffb55d;font-size:11px;font-weight:1000;letter-spacing:.13em}
.penalty-modal h3{position:relative;z-index:1;margin:0;font-size:clamp(30px,5vw,48px);line-height:.96;letter-spacing:-.045em;text-shadow:0 3px 0 #6d0a04,0 0 26px rgba(255,74,17,.5)}
.penalty-modal__copy{position:relative;z-index:1;margin:18px 0 10px;color:#f4d7c4;font-size:clamp(15px,2vw,18px);line-height:1.55}
.penalty-modal__copy strong{color:#ffac44}
.penalty-modal__answer{position:relative;z-index:1;margin:0 0 20px;padding:12px 14px;border-radius:13px;border:1px solid rgba(255,120,71,.24);background:rgba(17,2,2,.72);color:#d9aa93;line-height:1.4}
.penalty-modal__answer strong{color:#fff0dc}
.penalty-modal__button{position:relative;z-index:1;width:100%;font-size:15px}
@keyframes modalFire{from{transform:translateY(7px) scaleX(.96);opacity:.55}to{transform:translateY(-9px) scaleX(1.04);opacity:.86}}

/* The FX canvas is injected inside the app shell by JS so flames sit above scenery but below HUD/cards. */
.app-shell>#fxCanvas{z-index:2;mix-blend-mode:screen;opacity:.96}

@media (max-width:760px){
  .penalty-modal{padding:14px}
  .penalty-modal__card{border-radius:21px;padding:22px 18px}
  .penalty-modal__horns{font-size:32px}
  .penalty-modal h3{font-size:clamp(28px,9vw,40px)}
  .penalty-modal__copy{font-size:14px;margin-top:14px}
  .penalty-modal__answer{font-size:13px;margin-bottom:16px}
}
