:root{--red:#b31217;--red-hot:#e04b2f;--ink:#e8e4dc;--bg:#040404}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;background:var(--bg);color:var(--ink);overflow:hidden;font-family:Oswald,sans-serif}#root{height:100%}#bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;background:#000;filter:brightness(.6) contrast(1.06) saturate(1.08);transform:translateZ(0);transition:object-position 1.6s ease}@media(max-width:640px){#bg.logo-view{object-fit:contain}}.vignette{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse 120% 90% at 50% -8%,rgba(179,18,23,.13),transparent 45%),radial-gradient(ellipse 120% 90% at 50% 108%,rgba(179,18,23,.1),transparent 45%),radial-gradient(ellipse at center,transparent 16%,rgba(0,0,0,.4) 54%,rgba(0,0,0,.72) 80%,rgba(0,0,0,.9) 100%)}.grain{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2;pointer-events:none;opacity:.045;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");background-size:200px 200px}.scan{position:fixed;left:0;right:0;height:38vh;z-index:2;pointer-events:none;background:linear-gradient(180deg,transparent,rgba(255,255,255,.02) 50%,transparent);animation:sweep 9s linear infinite}@keyframes sweep{0%{transform:translateY(-40vh)}to{transform:translateY(140vh)}}.stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px;opacity:0;transform:translateY(0);transition:opacity 1.8s ease .3s,transform 1.1s cubic-bezier(.45,0,.2,1)}.stage.on{opacity:1}.eyebrow{font-weight:300;letter-spacing:.6em;text-indent:.6em;font-size:clamp(10px,1.7vw,15px);opacity:.55;text-transform:uppercase;margin-bottom:clamp(26px,5vh,52px);display:flex;align-items:center;gap:1.4em}.eyebrow:before,.eyebrow:after{content:"";width:clamp(28px,7vw,72px);height:1px;background:linear-gradient(90deg,transparent,rgba(232,228,220,.5),transparent)}.countdown{display:flex;gap:clamp(10px,2.4vw,30px);align-items:stretch;justify-content:center}.grp{display:flex;gap:clamp(10px,2.4vw,30px);transition:transform 2.1s cubic-bezier(.36,0,.12,1),filter 2.1s ease;will-change:transform}.stage.split .grp.left{transform:translate(-25vw)}.stage.split .grp.right{transform:translate(25vw)}.stage.split .grp{filter:drop-shadow(0 0 26px rgba(179,18,23,.4))}.eyebrow,.datebar,.tagline{transition:opacity 1.4s ease,transform 1.8s cubic-bezier(.36,0,.12,1)}.stage.split .eyebrow{opacity:0;transform:translateY(-24px)}.stage.split .datebar,.stage.split .tagline{opacity:0;transform:translateY(24px)}.unit{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:clamp(84px,16vw,162px);padding:clamp(16px,2.6vh,28px) clamp(6px,1.4vw,16px);background:linear-gradient(180deg,#0c0c0c6b,#04040447);border:1px solid rgba(232,228,220,.1);border-radius:4px;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);box-shadow:0 10px 40px #0006,inset 0 0 30px #0000004d}.unit:before{content:"";position:absolute;top:0;left:14%;right:14%;height:1px;background:linear-gradient(90deg,transparent,var(--red-hot),transparent);opacity:.5}.unit .num{font-family:Anton,sans-serif;font-size:clamp(38px,7vw,88px);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:0;background:linear-gradient(180deg,#fff,#d6d1c6 60%,#9a958a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 30px rgba(0,0,0,.5)}.unit .lbl{font-weight:400;letter-spacing:.32em;text-indent:.32em;font-size:clamp(9px,1.4vw,13px);opacity:.55;margin-top:1em;text-transform:uppercase}.datebar{margin-top:clamp(34px,6vh,66px);display:flex;align-items:center;gap:1em;font-weight:500;letter-spacing:.42em;text-indent:.42em;font-size:clamp(16px,2.8vw,34px);background:linear-gradient(180deg,#fff,#c9c4b9);-webkit-background-clip:text;background-clip:text;color:transparent}.datebar .dot{width:5px;height:5px;border-radius:50%;background:var(--red-hot);transform:translateY(-.15em);box-shadow:0 0 12px var(--red-hot)}.tagline{margin-top:1.3em;font-weight:300;letter-spacing:.4em;text-indent:.4em;font-size:clamp(10px,1.6vw,14px);opacity:.5;text-transform:uppercase}#gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#020202;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6vh;cursor:pointer;transition:opacity 1.4s ease}#gate.hide{opacity:0;pointer-events:none}.gate-bat{width:min(62vw,520px);animation:pulse 3.6s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.82;filter:drop-shadow(0 0 18px rgba(179,18,23,.3))}50%{opacity:1;filter:drop-shadow(0 0 55px rgba(224,75,47,.6))}}.enter-btn{font-family:Oswald,sans-serif;font-weight:500;letter-spacing:.45em;text-indent:.45em;font-size:clamp(13px,2.2vw,20px);color:var(--ink);border:1px solid rgba(232,228,220,.35);padding:17px 44px;background:transparent;text-transform:uppercase;transition:all .45s ease}#gate:hover .enter-btn{border-color:var(--red-hot);color:#fff;box-shadow:0 0 40px #b312174d inset,0 0 34px #b3121738;background:#b3121714}.gate-hint{position:absolute;bottom:6vh;font-weight:300;letter-spacing:.3em;font-size:11px;opacity:.32;text-transform:uppercase}#sound{position:fixed;bottom:22px;right:24px;z-index:15;background:#04040466;border:1px solid rgba(232,228,220,.22);color:var(--ink);font-family:Oswald,sans-serif;letter-spacing:.2em;font-size:11px;padding:9px 15px;cursor:pointer;opacity:0;transition:opacity 1s ease .8s,border-color .3s,background .3s;text-transform:uppercase;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#sound.on{opacity:.55}#sound:hover{opacity:1;border-color:var(--red-hot);background:#b312171f}@media(max-width:640px){.countdown{flex-direction:column;gap:clamp(10px,2vh,20px)}.grp{justify-content:center;width:100%}.stage.split .grp.left{transform:translateY(-30vh)}.stage.split .grp.right{transform:translateY(30vh)}}@media(max-width:520px){.grp{gap:8px}.unit{width:clamp(74px,22vw,120px);padding:12px 6px}}
