
@font-face{font-family:"Anton";src:url("../assets/fonts/anton-latin.woff2") format("woff2");font-display:block}
@font-face{font-family:"Bangers";src:url("../assets/fonts/bangers-latin.woff2") format("woff2");font-display:block}
@font-face{font-family:"Inter";src:url("../assets/fonts/inter-latin.woff2") format("woff2");font-weight:100 900;font-display:block}
@font-face{font-family:"Montagu Slab";src:url("../assets/fonts/montagu-slab-latin.woff2") format("woff2");font-weight:100 900;font-display:block}
:root{
  --ink:#0e0b0a;--char:#1a1412;--wine:#380d00;--red:#650d00;--orange:#cc4205;--orange2:#ef6b31;--hot:#ff8a3d;
  --alert:#ff3b2f;--paper:#f6f4f1;--cream:#f1e6d6;--manila:#eadcc2;--muted:#9a8f88;--slime:#7cff3a;
  --display:"Anton",Impact,sans-serif;--comic:"Bangers","Anton",cursive;--sans:"Inter",system-ui,sans-serif;--serif:"Montagu Slab",Georgia,serif;
  --hud-h:clamp(84px,15vh,150px);
  --ease:cubic-bezier(.16,1,.3,1);
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:#000;color:var(--paper);font-family:var(--sans);overflow:hidden;user-select:none;-webkit-user-select:none}
#app{position:fixed;inset:0;overflow:hidden;background:#000}
kbd{display:inline-block;font:400 .85em/1 var(--display);letter-spacing:.06em;padding:.25em .45em;border:2px solid currentColor;border-radius:4px;margin:0 .1em}
[hidden]{display:none!important}
#view{position:absolute;left:0;top:0;width:100%;height:calc(100% - var(--hud-h));object-fit:cover;image-rendering:pixelated;image-rendering:crisp-edges;display:block;background:#000}
#view-hi{position:absolute;left:0;top:0;width:100%;height:calc(100% - var(--hud-h));object-fit:cover;display:block;pointer-events:none}
.fx{position:absolute;left:0;top:0;width:100%;height:calc(100% - var(--hud-h));pointer-events:none}
#fx-vision{opacity:0;transition:opacity .25s;background:
  radial-gradient(ellipse at center,rgba(239,107,49,.06) 30%,rgba(239,107,49,.38) 100%),
  linear-gradient(rgba(239,107,49,.10),rgba(239,107,49,.10));mix-blend-mode:screen}
body.vision #fx-vision{opacity:1}
body.vision #fx-scan{opacity:.35}
#fx-scan{opacity:.18;background:repeating-linear-gradient(to bottom,rgba(0,0,0,.35) 0 1px,transparent 1px 3px);transition:opacity .25s}
#fx-hurt{opacity:0;background:radial-gradient(ellipse at center,transparent 40%,rgba(255,30,10,.65) 100%);transition:opacity .35s}
#fx-hurt.on{opacity:1;transition:none}
#crosshair{position:absolute;left:50%;top:calc((100% - var(--hud-h)) / 2);width:34px;height:34px;transform:translate(-50%,-50%);pointer-events:none;opacity:0}
body.playing #crosshair,body.demo #crosshair{opacity:1}
#crosshair i{position:absolute;background:var(--paper);box-shadow:0 0 0 1px #000}
#crosshair i:nth-child(1){left:16px;top:0;width:2px;height:10px}
#crosshair i:nth-child(2){left:16px;bottom:0;width:2px;height:10px}
#crosshair i:nth-child(3){top:16px;left:0;width:10px;height:2px}
#crosshair i:nth-child(4){top:16px;right:0;width:10px;height:2px}
#crosshair b{position:absolute;left:15px;top:15px;width:4px;height:4px;background:var(--orange2);border-radius:50%}
#crosshair.threat i{background:var(--orange2)}
#crosshair.threat{transform:translate(-50%,-50%) scale(1.25) rotate(45deg);transition:transform .12s}
#crosshair.benign i{background:#9a9a9a}
#crosshair.hitmark b{box-shadow:0 0 0 6px rgba(239,107,49,.5)}
#hud-top{position:absolute;top:14px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none;opacity:0;transition:opacity .3s;width:min(92vw,980px)}
body.playing #hud-top{opacity:1}
#objective{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;justify-content:center;background:rgba(14,11,10,.82);border:3px solid #000;box-shadow:5px 5px 0 var(--orange);padding:.45rem 1rem;transform:rotate(-1deg);font-family:var(--display);letter-spacing:.06em;text-transform:uppercase}
#obj-zone{background:var(--orange);color:#000;padding:.1rem .45rem;font-size:clamp(.8rem,1.3vw,1.05rem)}
#obj-name{font-weight:400;font-size:clamp(1rem,2vw,1.6rem);color:var(--paper)}
#obj-goal{font-style:normal;font-family:var(--sans);font-weight:600;text-transform:none;letter-spacing:0;color:#d9cfc8;font-size:clamp(.75rem,1.1vw,.95rem)}
#obj-left{color:var(--orange2);font-size:clamp(.9rem,1.5vw,1.2rem)}
#bossbar{display:flex;align-items:center;gap:.6rem;font:400 1rem var(--display);letter-spacing:.1em;color:var(--alert)}
#bossbar div{width:min(50vw,420px);height:14px;border:3px solid #000;background:#2a0d0a;box-shadow:3px 3px 0 #000}
#bossbar i{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--alert),var(--orange2));transition:width .2s}
#streak{font:400 clamp(1.2rem,2.6vw,2rem) var(--comic);letter-spacing:.06em;color:var(--slime);-webkit-text-stroke:1.5px #000;text-shadow:3px 3px 0 #000;transform:rotate(-3deg)}
#popups{position:absolute;left:50%;top:calc((100% - var(--hud-h)) / 2 - 40px);width:0;height:0;pointer-events:none}
.pop{position:absolute;left:0;top:0;transform:translate(-50%,-50%);white-space:nowrap;font:400 clamp(1rem,2vw,1.6rem) var(--display);letter-spacing:.06em;color:var(--orange2);-webkit-text-stroke:1px #000;text-shadow:3px 3px 0 #000;animation:pop 1.1s var(--ease) forwards}
.pop.bad{color:var(--alert)}.pop.meh{color:#9a9a9a;font-size:clamp(.8rem,1.3vw,1.1rem)}.pop.good{color:var(--slime)}
@keyframes pop{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}15%{opacity:1;transform:translate(-50%,-60%) scale(1.15)}100%{opacity:0;transform:translate(-50%,-260%) scale(1)}}
#bigtext{position:absolute;left:0;right:0;top:calc((100% - var(--hud-h)) * .3);text-align:center;pointer-events:none;font:400 clamp(2.6rem,8vw,7rem)/.9 var(--display);text-transform:uppercase;letter-spacing:.02em;color:var(--paper);-webkit-text-stroke:2px #000;text-shadow:6px 6px 0 var(--orange),10px 10px 0 #000;opacity:0}
#bigtext.on{animation:slam 1.8s var(--ease) forwards}
#bigtext small{display:block;font:400 clamp(1rem,2.2vw,1.8rem) var(--comic);letter-spacing:.06em;color:var(--orange2);-webkit-text-stroke:1px #000;text-shadow:3px 3px 0 #000;margin-top:.4rem}
#bigtext.bad{color:var(--alert)}
#stamp-bs{position:absolute;left:50%;top:calc((100% - var(--hud-h)) * .42);width:min(52vw,760px);transform:translate(-50%,-50%) rotate(-9deg);opacity:0;pointer-events:none;filter:drop-shadow(8px 10px 0 rgba(0,0,0,.8))}
#stamp-bs.on{animation:bs 1.8s var(--ease) forwards}
@keyframes bs{0%{opacity:0;transform:translate(-50%,-50%) rotate(-30deg) scale(3)}14%{opacity:1;transform:translate(-50%,-50%) rotate(-9deg) scale(.95)}20%{transform:translate(-50%,-50%) rotate(-9deg) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-50%) rotate(-9deg) scale(1)}}
@keyframes slam{0%{opacity:0;transform:scale(2.6) rotate(-6deg)}12%{opacity:1;transform:scale(.95) rotate(-3deg)}18%{transform:scale(1.02) rotate(-3deg)}80%{opacity:1}100%{opacity:0;transform:scale(1) rotate(-3deg)}}
#bubble{position:absolute;left:var(--bx,30%);bottom:calc(var(--hud-h) + 22px);transform:translateX(-24px) scale(0);transform-origin:24px 100%;max-width:min(60vw,620px);background:#fff;color:#000;border:3px solid #000;border-radius:28px;padding:.7rem 1.2rem;font:400 clamp(1.05rem,2vw,1.6rem)/1.05 var(--comic);letter-spacing:.04em;text-align:left;box-shadow:5px 5px 0 var(--orange);transition:transform .25s var(--ease);pointer-events:none;z-index:5}
#bubble::before{content:"";position:absolute;left:12px;bottom:-30px;border-width:30px 0 0 24px;border-style:solid;border-color:#000 transparent transparent}
#bubble::after{content:"";position:absolute;left:16px;bottom:-21px;border-width:22px 0 0 17px;border-style:solid;border-color:#fff transparent transparent}
#bubble.on{transform:translateX(-24px) scale(1) rotate(-1.5deg)}
#hud{position:absolute;left:0;right:0;bottom:0;height:var(--hud-h);display:grid;grid-template-columns:1fr .8fr auto 2.2fr 1fr;grid-template-rows:100%;align-items:stretch;gap:0;overflow:hidden;
  background:linear-gradient(#2a201c,#140f0d);border-top:5px solid var(--orange);box-shadow:inset 0 3px 0 rgba(255,255,255,.06)}
.hud-cell{display:flex;flex-direction:column;justify-content:center;align-items:center;overflow:hidden;gap:.15rem;border-right:4px solid #000;box-shadow:inset -2px 0 0 rgba(255,255,255,.05);padding:0 .8rem;min-width:0}
.hud-cell small{font:700 clamp(.55rem,.9vw,.75rem) var(--sans);letter-spacing:.16em;color:var(--muted)}
.hud-cell b{font:400 clamp(1.6rem,4.2vh,3rem)/1 var(--display);letter-spacing:.04em;color:var(--orange2);text-shadow:3px 3px 0 #000}
.hud-time b{color:var(--paper)}
.hud-time.low b{color:var(--alert);animation:blink .5s steps(2) infinite}
.hud-face{padding:6px;background:#000}
.hud-face img{height:calc(var(--hud-h) - 22px);width:calc(var(--hud-h) - 22px);object-fit:cover;border:3px solid var(--orange);display:block;image-rendering:auto}
.hud-face.hit img{border-color:var(--alert);filter:saturate(1.6) brightness(1.15)}
.hud-bars{align-items:stretch;gap:clamp(3px,.7vh,8px);padding:.4rem 1rem}
.bar{display:grid;grid-template-columns:clamp(110px,14vw,220px) 1fr;align-items:center;gap:.6rem}
.bar small{text-align:left;white-space:nowrap}
.bar small kbd{font-size:.8em;padding:.1em .3em;border-width:1px}
.bar div{height:clamp(10px,1.8vh,18px);background:#0a0807;border:2px solid #000;box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden}
.bar i{display:block;height:100%;width:0;transition:width .12s linear}
.bar-exposure i{background:linear-gradient(90deg,#ffb02e,var(--alert))}
.bar-vision i{background:linear-gradient(90deg,var(--orange),var(--hot))}
.bar-heat i{background:linear-gradient(90deg,#ffd28a,var(--orange2),var(--alert))}
.bar-heat.over small{color:var(--alert)}
.bar-heat.over i{animation:blink .25s steps(2) infinite}
body.vision .bar-vision small{color:var(--orange2)}
.hud-brand{border-right:0;gap:.3rem}
.hud-brand img{width:clamp(70px,9vw,140px)}
.hud-brand small{color:var(--orange2)}
@keyframes blink{50%{opacity:.25}}
.blink{animation:blink 1s steps(2) infinite}
.screen{position:absolute;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;background:rgba(10,7,6,.92)}
#screen-boot{background:#000;font:400 1.4rem var(--display);letter-spacing:.2em;color:var(--orange2)}
.center-card{position:relative;text-align:center;background:var(--ink);border:4px solid #000;box-shadow:12px 12px 0 var(--orange);padding:2.2rem 2.6rem;max-width:min(92vw,760px);transform:rotate(-1deg)}
.center-card.wide{max-width:min(94vw,900px)}
.center-card h2{font:400 clamp(2rem,4.6vw,3.6rem)/.95 var(--display);text-transform:uppercase;margin:.2rem 0 1rem}
.center-card h2 em{font-style:normal;color:var(--orange2)}
.center-card p{margin:.4rem 0}
.kicker{font:700 .8rem var(--sans);letter-spacing:.22em;color:var(--orange2);text-transform:uppercase}
.hint{color:var(--muted);font-size:.95rem}
#screen-attract{background:#000;overflow:hidden;justify-content:flex-start}
.attract-bg{position:absolute;inset:-4%;background:url("../assets/img/hero-background.webp") center/cover;filter:brightness(.45) saturate(1.1);animation:drift 24s ease-in-out infinite alternate}
@keyframes drift{to{transform:scale(1.08) translate(-1.5%,1%)}}
.attract-colonel{position:absolute;right:-4vw;bottom:0;height:96vh;max-width:70vw;object-fit:cover;object-position:80% 50%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 30%);mask-image:linear-gradient(90deg,transparent,#000 30%);opacity:.95}
.attract-main{position:relative;z-index:2;width:min(60vw,980px);margin-left:5vw;text-align:center;display:flex;flex-direction:column;align-items:center}
.attract-logo{width:clamp(140px,14vw,240px);filter:drop-shadow(0 4px 16px #000)}
.attract-presents{font:italic 500 clamp(.8rem,1.1vw,1rem) var(--serif);letter-spacing:.32em;text-transform:uppercase;margin:.4rem 0 .2rem;color:#e6d9d0}
.attract-title{width:100%;filter:drop-shadow(0 10px 30px rgba(0,0,0,.8));animation:titlePulse 3s ease-in-out infinite}
@keyframes titlePulse{50%{transform:scale(1.025) rotate(-.6deg)}}
.attract-sub{font:400 clamp(1.1rem,2vw,1.7rem) var(--display);letter-spacing:.14em;margin:.6rem 0 1.6rem;text-shadow:3px 3px 0 #000}
.attract-sub span{color:var(--orange2)}
.attract-press{font:400 clamp(1.4rem,3vw,2.6rem) var(--comic);letter-spacing:.08em;color:var(--paper);-webkit-text-stroke:1.5px #000;text-shadow:4px 4px 0 var(--orange),7px 7px 0 #000;animation:blink 1.1s steps(2) infinite}
.attract-credits{margin-top:1.2rem;font:700 .78rem var(--sans);letter-spacing:.24em;color:var(--muted)}
.attract-panel{position:absolute;z-index:3;right:3vw;bottom:5vh;width:min(30vw,420px);background:rgba(14,11,10,.9);border:4px solid #000;box-shadow:10px 10px 0 var(--orange);padding:1.2rem 1.4rem;transform:rotate(1.5deg)}
.attract-panel h3{margin:0 0 .8rem;font:400 clamp(1.1rem,1.8vw,1.6rem) var(--display);letter-spacing:.06em;color:var(--orange2)}
.howto{list-style:none;padding:0;margin:0;display:grid;gap:.55rem;font-size:clamp(.85rem,1.2vw,1.05rem)}
.howto b{color:var(--orange2)}
.qr{width:min(60%,220px);display:block;margin:0 auto .6rem;border:6px solid var(--paper)}
.attract-panel p{text-align:center;font:400 1.1rem var(--display);letter-spacing:.08em;margin:0}
.board{list-style:none;padding:0;margin:0;counter-reset:b;display:grid;gap:.25rem}
.board li{display:grid;grid-template-columns:2.2em 3.4em 1fr auto;align-items:baseline;gap:.5rem;font:400 clamp(1rem,1.6vw,1.35rem) var(--display);letter-spacing:.06em;counter-increment:b}
.board li::before{content:counter(b,decimal-leading-zero);color:var(--muted)}
.board li .rank{font:600 .7em var(--sans);letter-spacing:.1em;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.board li .sc{color:var(--orange2)}
.board li.me{color:var(--slime)}
.board li.me .sc{color:var(--slime)}
.board.big li{font-size:clamp(1.2rem,2.4vw,2rem)}
.board .empty{display:block;color:var(--muted);font:600 .95rem var(--sans)}
#screen-briefing{background:#000;justify-content:flex-end}
.brief-art{position:absolute;inset:0;background-size:cover;background-position:30% 40%;filter:brightness(.55)}
.brief-card{position:relative;margin-right:5vw;width:min(92vw,640px);background:var(--manila);color:var(--ink);border-radius:3px 3px 16px 3px;padding:2rem 2.2rem;box-shadow:12px 12px 0 #000;transform:rotate(-1.5deg)}
.brief-kicker{font:800 .72rem var(--sans);letter-spacing:.2em;color:var(--red);margin:0}
.brief-title{font:400 clamp(2rem,4.4vw,3.4rem)/.92 var(--display);text-transform:uppercase;margin:.5rem 0 1rem}
.brief-title em{font-style:normal;color:var(--orange)}
.brief-zones{padding:0;margin:0 0 1rem;list-style:none;display:grid;gap:.5rem;font-size:clamp(.85rem,1.2vw,1rem);color:#3d3431}
.brief-zones b{display:block;font:400 1.05rem var(--display);letter-spacing:.06em;color:var(--ink)}
.brief-warn{font-weight:700;color:var(--red);font-size:.95rem}
.brief-keys{display:flex;flex-wrap:wrap;gap:.6rem 1.2rem;margin:1rem 0;font-weight:700}
.brief-go{font:400 1.8rem var(--comic);letter-spacing:.08em;color:var(--orange);margin:0;animation:blink 1s steps(2) infinite}
#screen-results{background:radial-gradient(ellipse at 30% 40%,rgba(101,13,0,.6),rgba(0,0,0,.95) 70%)}
.results{position:relative;z-index:2;width:min(90vw,760px);text-align:center}
.res-kicker{font:400 clamp(1rem,2vw,1.6rem) var(--comic);letter-spacing:.1em;color:var(--orange2);margin:0}
.res-rank{font:400 clamp(3rem,10vw,8rem)/.9 var(--display);text-transform:uppercase;margin:.2rem 0;color:var(--paper);-webkit-text-stroke:2px #000;text-shadow:6px 6px 0 var(--orange),10px 10px 0 #000;transform:rotate(-2deg);animation:rankIn .7s var(--ease) both}
@keyframes rankIn{0%{opacity:0;transform:scale(2.6) rotate(-8deg)}60%{opacity:1;transform:scale(.95) rotate(-2deg)}100%{opacity:1;transform:scale(1) rotate(-2deg)}}
.res-quip{font:italic 600 clamp(1rem,1.8vw,1.35rem) var(--serif);color:#e6d9d0;margin:.4rem 0 1.4rem}
.res-lines{list-style:none;padding:0;margin:0 auto;max-width:560px;display:grid;gap:.3rem}
.res-lines li{display:flex;justify-content:space-between;gap:1rem;font:400 clamp(1rem,1.6vw,1.3rem) var(--display);letter-spacing:.06em;border-bottom:1px dashed #3a2a25;padding:.2rem 0;opacity:0;animation:lineIn .35s var(--ease) forwards}
.res-lines li b{font-weight:400;color:var(--orange2)}
.res-lines li.bad b{color:var(--alert)}
@keyframes lineIn{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
.res-total{display:flex;justify-content:space-between;max-width:560px;margin:1rem auto;font:400 clamp(1.6rem,3vw,2.6rem) var(--display);letter-spacing:.06em;border-top:4px solid var(--orange);padding-top:.6rem}
.res-total b{font-weight:400;color:var(--orange2)}
.res-next{font:400 1.3rem var(--comic);letter-spacing:.1em;color:var(--muted)}
.res-face{position:absolute;left:4vw;bottom:6vh;width:min(18vw,240px);border:5px solid var(--orange);box-shadow:10px 10px 0 #000;transform:rotate(-4deg)}
.initials{display:flex;justify-content:center;gap:1rem;margin:1rem 0 1.4rem}
.initials span{width:clamp(70px,9vw,120px);height:clamp(90px,12vw,150px);display:grid;place-items:center;font:400 clamp(3rem,7vw,6rem)/1 var(--display);background:#000;border:4px solid #3a2a25;color:var(--paper)}
.initials span.on{border-color:var(--orange2);color:var(--orange2);box-shadow:0 0 0 4px rgba(239,107,49,.25);animation:blink 1s steps(2) infinite}
.lead-card{background:var(--manila);color:var(--ink);text-align:left;box-shadow:12px 12px 0 #000}
.lead-card .kicker{color:var(--red)}
.lead-card h2{font-size:clamp(1.8rem,3.6vw,2.8rem)}
.lead-card h2 em{color:var(--orange)}
.lead-sub{color:#3d3431;font-size:1rem}
.stamp{position:absolute;top:18px;right:20px;color:#a3160b;border:4px double currentColor;padding:.3rem .6rem;font:400 1.1rem var(--display);letter-spacing:.08em;transform:rotate(10deg);opacity:.85}
#lead-form{display:grid;gap:.8rem;margin-top:1rem}
#lead-form label{display:grid;gap:.3rem;font:800 .72rem var(--sans);letter-spacing:.14em;text-transform:uppercase}
#lead-form label small{font-weight:500;letter-spacing:0;text-transform:none;color:#6d625d}
#lead-form input[type=email],#lead-form input[type=text]{font:500 1.1rem var(--sans);padding:.8rem .9rem;border:3px solid #000;background:#fffaf0;color:var(--ink);border-radius:0;user-select:text;-webkit-user-select:text}
#lead-form input:focus{outline:3px solid var(--orange);outline-offset:2px}
#lead-form .consent{display:flex;gap:.6rem;align-items:flex-start;font:500 .85rem/1.35 var(--sans);letter-spacing:0;text-transform:none;color:#3d3431}
#lead-form .consent input{width:22px;height:22px;flex:none;accent-color:var(--orange)}
.lead-err{min-height:1.3em;margin:0;font:400 1.2rem var(--comic);letter-spacing:.04em;color:#a3160b}
.lead-btns{display:flex;gap:1rem;flex-wrap:wrap}
.btn{font:400 1.15rem var(--display);letter-spacing:.06em;padding:.9rem 1.4rem;border:3px solid #000;cursor:pointer;box-shadow:5px 5px 0 #000;transform:rotate(-1deg)}
.btn-orange{background:var(--orange);color:#fff}
.btn-ghost{background:transparent;color:var(--ink)}
#admin{position:absolute;inset:0;z-index:50;background:rgba(0,0,0,.8);display:grid;place-items:center}
.admin-card{width:min(92vw,640px);background:#151110;border:3px solid var(--orange);padding:1.6rem;font-family:var(--sans)}
.admin-card h2{margin:0 0 1rem;font:400 1.6rem var(--display);letter-spacing:.06em;color:var(--orange2)}
#admin-form{display:grid;grid-template-columns:1fr 1fr;gap:.8rem 1.2rem}
#admin-form label{display:grid;gap:.25rem;font-size:.8rem;color:#cfc6bf}
#admin-form label.row{display:flex;align-items:center;gap:.5rem;grid-column:1/-1}
#admin-form input,#admin-form select{font:500 .95rem var(--sans);padding:.45rem .5rem;background:#0c0908;color:var(--paper);border:1px solid #4a3a35;user-select:text;-webkit-user-select:text}
.admin-stats{color:var(--muted);font-size:.85rem;margin:1rem 0}
.admin-btns{display:flex;flex-wrap:wrap;gap:.5rem}
.admin-btns button{font:600 .85rem var(--sans);padding:.55rem .8rem;background:#2a201c;color:var(--paper);border:1px solid #5a4a45;cursor:pointer}
.admin-btns .danger{background:#4a0d08;border-color:var(--alert)}
.admin-btns .primary{background:var(--orange);border-color:#000;margin-left:auto}
body.playing,body.playing *{cursor:none!important}
#screen-attract{background:transparent;justify-content:center;flex-direction:column;overflow:hidden}
.attract-dim{position:absolute;inset:0;background:
  linear-gradient(to bottom,rgba(8,5,4,.72) 0%,rgba(8,5,4,.25) 34%,rgba(8,5,4,.08) 55%,rgba(8,5,4,.55) 82%,rgba(8,5,4,.8) 100%),
  repeating-linear-gradient(to bottom,rgba(0,0,0,.25) 0 1px,transparent 1px 3px)}
.attract-demo{position:absolute;top:3vh;left:3vw;margin:0;font:400 clamp(1.1rem,2vw,1.8rem) var(--display);letter-spacing:.2em;color:var(--alert);text-shadow:0 0 12px rgba(255,59,47,.7);animation:blink 1.2s steps(2) infinite}
.attract-credits-top{position:absolute;top:3vh;right:3vw;margin:0;font:400 clamp(1.1rem,2vw,1.8rem) var(--display);letter-spacing:.2em;color:var(--paper);text-shadow:3px 3px 0 #000}
.attract-credits-top b{font-weight:400;color:var(--orange2)}
#screen-attract .attract-main{position:absolute;top:4vh;left:50%;transform:translateX(-50%);width:min(44vw,760px);margin:0}
.attract-bottom{position:absolute;left:0;right:0;bottom:calc(var(--hud-h) + 4vh);text-align:center}
.attract-bottom .attract-press{margin:0;font-size:clamp(1.8rem,3.8vw,3.4rem)}
.attract-bottom .attract-credits{margin-top:.8rem}
#screen-attract .attract-panel{bottom:auto;top:44vh;width:min(24vw,360px)}
.coin-flash{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(0);font:400 clamp(4rem,12vw,10rem)/1 var(--display);letter-spacing:.04em;color:var(--orange2);-webkit-text-stroke:3px #000;text-shadow:8px 8px 0 #000;pointer-events:none;opacity:0}
.coin-flash.on{animation:coin .7s var(--ease) forwards}
@keyframes coin{0%{opacity:0;transform:translate(-50%,-50%) scale(2.4)}25%{opacity:1;transform:translate(-50%,-50%) scale(.95)}35%{transform:translate(-50%,-50%) scale(1)}100%{opacity:1;transform:translate(-50%,-50%) scale(1)}}
#screen-briefing{justify-content:center;background:radial-gradient(ellipse at center,rgba(20,8,5,.8),rgba(0,0,0,.92))}
.brief2{text-align:center;max-width:min(92vw,1100px)}
.brief2-kicker{margin:0;font:800 clamp(.75rem,1.1vw,.95rem) var(--sans);letter-spacing:.24em;color:var(--orange2)}
.brief2-title{margin:0 0 2.6rem;font:400 clamp(3rem,8vw,7rem)/.9 var(--display);text-transform:uppercase;color:var(--paper);-webkit-text-stroke:2px #000;text-shadow:6px 6px 0 var(--orange),10px 10px 0 #000;transform:rotate(-2deg)}
.brief2-title em{font-style:normal;color:var(--orange2)}
.brief2-sub{margin:0 0 2.4rem;font:400 clamp(1.2rem,2.4vw,2rem) var(--comic);letter-spacing:.06em;color:#e6d9d0}
.brief2 .brief-keys{justify-content:center;color:#cfc6bf;font-size:clamp(.8rem,1.1vw,1rem)}
.brief2-count{margin:0 auto 1.2rem;display:flex;flex-direction:column;align-items:center}
.brief2-count small{font:700 .8rem var(--sans);letter-spacing:.3em;color:var(--muted)}
.brief2-count b{font:400 clamp(5rem,14vw,11rem)/1 var(--display);color:var(--orange2);-webkit-text-stroke:3px #000;text-shadow:8px 8px 0 #000}
.brief2-count b.cnt-pop{animation:cnt .5s var(--ease)}
@keyframes cnt{from{transform:scale(1.8);opacity:.3}to{transform:scale(1);opacity:1}}
.brief2-skip{margin:0;font:400 1.2rem var(--comic);letter-spacing:.1em;color:var(--muted);animation:blink 1s steps(2) infinite}
body.demo #popups,body.demo #bubble,body.demo #bigtext,body.demo #stamp-bs,body.demo #streak{display:none}
#touch,#rotate,.ini-ok{display:none}
body.touch #app{touch-action:none}
body.touch.playing #touch{display:block}
#touch{position:absolute;inset:0;bottom:var(--hud-h);z-index:15;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
.t-stick{position:absolute;width:120px;height:120px;margin:-60px 0 0 -60px;border-radius:50%;border:3px solid rgba(246,244,241,.45);background:rgba(0,0,0,.25);opacity:0;transition:opacity .15s;pointer-events:none}
.t-stick.on{opacity:1}
.t-stick i{position:absolute;left:50%;top:50%;width:52px;height:52px;border-radius:50%;background:rgba(239,107,49,.85);border:3px solid #000;transform:translate(-50%,-50%)}
.t-hint{position:absolute;left:50%;bottom:10px;transform:translateX(-50%);margin:0;font:400 .8rem var(--comic);letter-spacing:.1em;color:rgba(246,244,241,.55);pointer-events:none;animation:hintOut 1s 5s forwards}
@keyframes hintOut{to{opacity:0}}
.t-btn{position:absolute;display:grid;place-items:center;border:3px solid #000;border-radius:50%;font:400 1.1rem var(--display);letter-spacing:.06em;color:#fff;box-shadow:3px 3px 0 #000;-webkit-tap-highlight-color:transparent;touch-action:none}
.t-fire{right:max(18px,env(safe-area-inset-right));bottom:16px;width:96px;height:96px;background:rgba(204,66,5,.88);font-size:1.25rem}
.t-fire.on{background:#ff8a3d;transform:scale(.94)}
.t-glasses{right:calc(max(18px,env(safe-area-inset-right)) + 104px);bottom:22px;width:62px;height:62px;background:rgba(14,11,10,.75);border-color:var(--orange2);font-size:1.6rem}
.t-glasses.on,body.vision .t-glasses{background:var(--orange2)}
.t-pause{right:max(18px,env(safe-area-inset-right));top:12px;width:44px;height:44px;background:rgba(14,11,10,.7);font-size:.9rem}
#rotate{position:fixed;inset:0;z-index:100;background:#0e0b0a;place-items:center;text-align:center;color:var(--paper)}
#rotate b{display:block;font:400 4rem/1 var(--display);color:var(--orange2);animation:spin 2s ease-in-out infinite}
@keyframes spin{50%{transform:rotate(90deg)}}
#rotate p{font:400 1.8rem var(--display);margin:.6rem 0 .3rem}
#rotate small{color:var(--muted)}
@media (orientation:portrait){body.touch #rotate{display:grid}}
body.touch{--hud-h:clamp(52px,15vh,72px)}
body.touch .hud-brand{display:none}
body.touch #hud{grid-template-columns:.9fr .7fr auto 2.4fr}
body.touch .hud-cell b{font-size:clamp(1.1rem,6vh,1.7rem)}
body.touch .hud-cell small{font-size:.5rem}
body.touch .hud-face img{height:calc(var(--hud-h) - 14px);width:calc(var(--hud-h) - 14px);border-width:2px}
body.touch .bar{grid-template-columns:clamp(70px,16vw,140px) 1fr;gap:.4rem}
body.touch .bar small kbd{display:none}
body.touch .bar div{height:8px}
body.touch #hud-top{top:6px;gap:4px}
body.touch #objective{padding:.25rem .6rem;gap:.5rem;box-shadow:3px 3px 0 var(--orange)}
body.touch #obj-goal{display:none}
body.touch #obj-name{font-size:.95rem}
body.touch #bubble{font-size:1rem;padding:.45rem .8rem;max-width:55vw}
body.touch #bigtext{font-size:clamp(2rem,9vw,3.6rem)}
body.touch .attract-panel{display:none}
body.touch #screen-attract .attract-main{width:min(58vw,560px);top:3vh}
body.touch .attract-bottom{bottom:calc(var(--hud-h) + 3vh)}
body.touch .attract-bottom .attract-press{font-size:clamp(1.4rem,5vw,2.2rem)}
body.touch .brief2-title{font-size:clamp(2.2rem,9vh,3.6rem);margin-bottom:1rem}
body.touch .brief2-sub{font-size:1.05rem;margin-bottom:.8rem}
body.touch .brief2-count{margin-bottom:.4rem}
body.touch .brief2-count b{font-size:clamp(3rem,18vh,5rem)}
body.touch .center-card{max-height:92vh;overflow:auto;padding:1rem 1.4rem;box-shadow:6px 6px 0 var(--orange)}
body.touch .center-card h2{font-size:clamp(1.4rem,6vh,2.2rem);margin-bottom:.5rem}
body.touch .results{transform:scale(.62);transform-origin:50% 45%}
body.touch .res-face{display:none}
body.touch .initials{margin:.4rem 0 .8rem}
body.touch .initials span{width:64px;height:76px;font-size:3rem;cursor:pointer}
body.touch .ini-ok{display:inline-block;margin-bottom:.4rem}
body.touch #screen-initials .hint{display:none}
body.touch .lead-card{transform:none}
body.touch #lead-form{gap:.45rem;margin-top:.5rem}
body.touch .lead-sub{display:none}
#lead-form .consent a{color:var(--orange);font-weight:700}
