@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=IBM+Plex+Mono:wght@200;300;400;500&display=swap";:root{--ink: #0a0908;--bone: #e8e3d8;--bone-dim: #908b80;--ash: #4a4843;--blood: #5c0a0a;--blood-bright: #b51919}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;overflow:hidden}body{background:var(--ink);color:var(--bone);font-family:Cormorant Garamond,Georgia,serif;font-weight:300;-webkit-font-smoothing:antialiased;cursor:default;user-select:none;-webkit-user-select:none;touch-action:none}.grain{position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.18;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.85'/%3E%3C/svg%3E");animation:grainShift .6s steps(3) infinite}@keyframes grainShift{0%{transform:translate(0)}33%{transform:translate(-2%,1%)}66%{transform:translate(1%,-2%)}to{transform:translate(0)}}.vignette{position:fixed;inset:0;pointer-events:none;z-index:90;background:radial-gradient(ellipse at center,transparent 35%,rgba(0,0,0,.7) 100%)}.stage{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:10}.screen{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8vh 6vw;opacity:0;pointer-events:none;transition:opacity .6s ease-out;text-align:center}.screen.active{opacity:1;pointer-events:auto}.cam-hidden,.cv-hidden{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px}.eyebrow{font-family:IBM Plex Mono,monospace;font-weight:300;font-size:clamp(10px,1.4vw,12px);letter-spacing:.42em;text-transform:uppercase;color:var(--bone-dim);margin-bottom:4vh}.heading{font-family:Cormorant Garamond,serif;font-weight:300;font-style:italic;font-size:clamp(48px,11vw,140px);line-height:.95;letter-spacing:-.02em;color:var(--bone);margin-bottom:4vh}.heading.tight{margin-bottom:2vh}.body-text{font-family:Cormorant Garamond,serif;font-weight:400;font-size:clamp(16px,2.2vw,22px);line-height:1.5;color:var(--bone-dim);max-width:32ch;margin-bottom:6vh}.micro{font-family:IBM Plex Mono,monospace;font-weight:300;font-size:clamp(9px,1.2vw,11px);letter-spacing:.3em;text-transform:uppercase;color:var(--ash)}.button{background:transparent;border:1px solid var(--bone-dim);color:var(--bone);font-family:IBM Plex Mono,monospace;font-weight:300;font-size:12px;letter-spacing:.42em;text-transform:uppercase;padding:18px 36px;cursor:pointer;transition:all .4s ease;position:relative;overflow:hidden}.button:hover{background:var(--bone);color:var(--ink);border-color:var(--bone)}.button:active{transform:scale(.98)}.button.ghost{border-color:var(--ash);color:var(--bone-dim)}.button.ghost:hover{border-color:var(--bone-dim);color:var(--bone);background:transparent}.intro-heading{animation:slowReveal 1.8s .3s ease-out backwards}.intro-body{animation:slowReveal 1.8s .7s ease-out backwards}.intro-btn{animation:slowReveal 1.8s 1.1s ease-out backwards}.intro-warning{animation:slowReveal 1.8s 1.4s ease-out backwards}@keyframes slowReveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.warning{margin-top:8vh;display:flex;flex-direction:column;align-items:center;gap:1em}.warning-line{font-family:IBM Plex Mono,monospace;font-size:10px;letter-spacing:.4em;text-transform:uppercase;color:var(--ash)}.pulse-ring{width:120px;height:120px;border:1px solid var(--bone);border-radius:50%;position:relative;margin-bottom:6vh}.pulse-ring:before,.pulse-ring:after{content:"";position:absolute;inset:-1px;border:1px solid var(--bone);border-radius:50%;animation:pulse 2.4s ease-out infinite;opacity:0}.pulse-ring:after{animation-delay:1.2s}@keyframes pulse{0%{transform:scale(1);opacity:.7}to{transform:scale(1.8);opacity:0}}.stage-grid{display:flex;flex-direction:column;align-items:center;width:100%;max-width:600px}.countdown-wrap{position:relative;width:clamp(180px,32vw,240px);height:clamp(180px,32vw,240px);margin-bottom:5vh;display:flex;align-items:center;justify-content:center}.countdown-svg{position:absolute;inset:0;transform:rotate(-90deg)}.countdown-track{fill:none;stroke:var(--ash);stroke-width:1}.countdown-progress{fill:none;stroke:var(--bone);stroke-width:1;stroke-linecap:butt;transition:stroke-dashoffset .1s linear}.countdown-num{font-family:Cormorant Garamond,serif;font-weight:300;font-style:italic;font-size:clamp(56px,10vw,88px);color:var(--bone);letter-spacing:-.04em;line-height:1}.instruction{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:clamp(28px,5vw,48px);color:var(--bone);margin-bottom:4vh;letter-spacing:-.01em}.meter{width:280px;max-width:70vw;margin-bottom:2vh}.meter-label{display:flex;justify-content:space-between;font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:.3em;text-transform:uppercase;color:var(--ash);margin-bottom:8px}.meter-bar{height:1px;background:var(--ash);position:relative}.meter-fill{position:absolute;inset:0 100% 0 0;background:var(--bone);transition:right .08s ease-out,background-color .2s ease}.meter-fill.warn{background:var(--blood-bright)}.scare-screen{background:var(--ink);transition:opacity .05s linear}.scare-screen.flash{background:var(--blood-bright)}.face-svg{width:clamp(220px,50vw,420px);height:auto;transform:scale(.6);opacity:0;transition:transform .08s ease-out,opacity .05s linear}.scare-screen.flash .face-svg{transform:scale(1);opacity:1}.post-scare{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--ink);opacity:0;pointer-events:none;transition:opacity .8s ease-in;padding:6vw}.post-scare.show{opacity:1;pointer-events:auto}.err-box{border:1px solid var(--ash);padding:5vh 6vw;max-width:500px}@media(max-width:600px){.heading{font-size:56px}.button{padding:16px 28px;font-size:11px}}@keyframes microShake{0%,to{transform:translate(0)}25%{transform:translate(-1px)}75%{transform:translate(1px)}}.shake{animation:microShake .15s linear 3}
