/* Teaser prima dell'apertura: ingresso, trasmissione (canvas) e conto alla rovescia. */
.checking .bar,.checking main{visibility:hidden}
.prelaunch .bar,.prelaunch main{display:none}

#teaser{position:fixed;inset:0;z-index:50;background:#000;color:var(--bone);overflow-y:auto;overscroll-behavior:contain}
#teaser button{font:inherit}

/* ---------- ingresso ---------- */
.tz-gate{position:relative;min-height:100%;display:grid;align-content:center;padding:3rem var(--gutter);max-width:880px;margin-inline:auto}
.tz-static{position:fixed;inset:0;width:100%;height:100%;opacity:.14;image-rendering:pixelated;z-index:-1;pointer-events:none}
.tz-gate::before{ /* accensione del tubo catodico */
  content:"";position:fixed;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:var(--bone);z-index:2;pointer-events:none;
  animation:tzPower .9s ease-out forwards;
}
@keyframes tzPower{
  0%{transform:scaleX(0);opacity:1}
  45%{transform:scaleX(1);opacity:1}
  70%{transform:scaleX(1) scaleY(40);opacity:.35}
  100%{transform:scaleX(1) scaleY(400);opacity:0}
}
.tz-blink{animation:tzBlink 1.2s steps(1) infinite}
@keyframes tzBlink{50%{opacity:.25}}
.tz-title{
  font-family:var(--f-display);font-weight:400;text-transform:uppercase;
  font-size:clamp(3rem,13vw,8rem);line-height:.92;margin:.5rem 0 1.4rem;text-wrap:balance;
  animation:tzOn 1.8s steps(1) .5s both,flick 7s steps(1) 3s infinite;
}
.tz-title em{font-style:normal;color:var(--blood-text)}
.tz-title::after{content:"";display:block;height:7px;width:min(62%,430px);background:var(--blood);transform:skewX(-24deg);margin-top:.8rem}
@keyframes tzOn{0%{opacity:0}30%{opacity:1}34%{opacity:0}46%{opacity:1}49%{opacity:.15}53%{opacity:1}100%{opacity:1}}
.tz-lede{font-size:1.1rem;max-width:52ch;margin:0 0 1.2rem;animation:tzFade 1.2s ease-out 1.6s both}
@keyframes tzFade{from{opacity:0}to{opacity:1}}
.tz-warn{color:var(--dim);font-size:.9rem;max-width:52ch;margin:0;border-left:4px solid var(--blood-text);padding:.5rem .8rem;background:rgba(17,18,13,.85)}
.tz-actions{display:flex;gap:.8rem 1rem;flex-wrap:wrap;margin-top:1.6rem}

/* ---------- trasmissione ---------- */
.tz-player{position:fixed;inset:0;background:#000;display:grid;place-items:center}
.tz-screen{position:relative;width:min(100vw,177.78vh);aspect-ratio:16/9}
.tz-screen canvas{width:100%;height:100%;display:block}
.tz-sub{
  position:absolute;left:4%;right:4%;bottom:7%;margin:0;text-align:center;min-height:1.4em;
  font-family:var(--f-type);font-size:clamp(.95rem,2.4vw,1.55rem);line-height:1.35;color:#f1ead2;
  text-shadow:0 0 6px #000,0 0 3px #000,0 0 1px #000;
}
.tz-ctrl{position:fixed;right:var(--gutter);bottom:max(1rem,env(safe-area-inset-bottom));display:flex;gap:.6rem;z-index:3}
.tz-ctrl .btn{background:rgba(0,0,0,.6)}
@media (max-aspect-ratio:1/1){ /* telefono in verticale: sottotitoli sotto l'immagine */
  .tz-screen{width:100vw}
  .tz-sub{position:static;padding:1rem var(--gutter) 0;font-size:1.05rem}
}

/* ---------- conto alla rovescia ---------- */
.tz-count{min-height:100%;display:grid;align-content:center;padding:3rem var(--gutter) 4rem;max-width:880px;margin-inline:auto}
.tz-count .eyebrow{margin-bottom:.4rem}
.tz-h{font-family:var(--f-display);font-weight:400;text-transform:uppercase;font-size:clamp(2.6rem,10vw,6rem);line-height:.95;margin:.3rem 0 1.6rem;text-wrap:balance;animation:flick 9s steps(1) infinite}
.tz-h em{font-style:normal;color:var(--blood-text)}
.tz-lcd{
  display:inline-flex;align-items:flex-start;gap:.15em;justify-self:start;max-width:100%;
  font-family:var(--f-lcd);font-size:clamp(3rem,14vw,7.5rem);line-height:1;color:var(--blood-text);
  text-shadow:0 0 18px rgba(234,90,71,.6);background:#050504;border:1px solid #000;padding:.25em .4em .15em;
  font-variant-numeric:tabular-nums;box-shadow:0 0 50px rgba(179,38,26,.18);
}
.tz-u{display:grid;justify-items:center}
.tz-u i{font-style:normal;font-family:var(--f-type);font-size:max(.62rem,.12em);letter-spacing:.16em;text-transform:uppercase;color:var(--dim);text-shadow:none;margin-top:.15em}
.tz-sep{animation:tzBlink 1s steps(1) infinite}
.tz-when{font-family:var(--f-type);font-size:1.05rem;letter-spacing:.05em;color:var(--sick);margin:1.6rem 0 .3rem}
.tz-note{max-width:54ch;margin:0 0 1.6rem}
.tz-count .tz-actions{margin-top:0}
.tz-open .tz-lcd{color:var(--sick);text-shadow:0 0 22px rgba(199,193,92,.7)}
.tz-open{animation:breach 1.1s ease-out}
.tz-sound{position:fixed;top:max(.8rem,env(safe-area-inset-top));right:var(--gutter);z-index:3;margin:0;
  font-family:var(--f-type);font-size:.8rem;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);animation:tzBlink 1.6s steps(1) infinite}

/* ---------- attesa dell'avvio ---------- */
.tz-wait{align-items:baseline;gap:.2em;font-size:clamp(2.4rem,10vw,5.5rem)}
.tz-dots{animation:tzDots 1.5s steps(4) infinite;display:inline-block;overflow:hidden;width:1.5ch;vertical-align:bottom}
@keyframes tzDots{0%{width:0}100%{width:2ch}}
