@import "https://fonts.googleapis.com/css2?family=Outfit:wght@400;600;800;900&display=swap";*{box-sizing:border-box;margin:0;padding:0}html,body{color:#fff;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#000;width:100%;height:100%;font-family:Outfit,system-ui,-apple-system,sans-serif;overflow:hidden}#root{width:100%;height:100%}button{color:inherit;cursor:none;background:0 0;border:none;font-family:inherit}@keyframes pulseGlow{0%{text-shadow:0 0 20px #ffffff1a;opacity:.8}50%{text-shadow:0 0 40px #fff9;opacity:1}to{text-shadow:0 0 20px #ffffff1a;opacity:.8}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.app-container{color:#fff;cursor:none;background:#000;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;font-family:Outfit,sans-serif;display:flex;position:relative;overflow:hidden}.layer{z-index:10;background:0 0;flex-direction:column;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity 1.5s,filter 1.5s;display:flex;position:absolute;top:0;left:0}.layer.hidden{opacity:0;pointer-events:none;visibility:hidden}.blindsaint-logo{letter-spacing:-.02em;text-transform:uppercase;color:#fff;opacity:.9;z-index:50;font-size:3rem;font-weight:900;animation:3s forwards fadein;position:absolute;top:50%;left:50%;transform:translate(-50%,-150px)}.logo-dim{color:#fff6}.top-indicator{z-index:100;pointer-events:none;justify-content:center;width:100%;display:flex;position:absolute;top:2rem;left:0}.step-text{letter-spacing:.15em;color:#fff9;text-transform:uppercase;font-size:.85rem;font-weight:800}.step-dots{letter-spacing:.1em;margin-left:.5rem;display:inline-block}.bottom-ui{z-index:100;pointer-events:none;justify-content:center;width:100%;display:flex;position:absolute;bottom:2rem;left:0}.countdown{letter-spacing:.1em;color:#fff6;text-transform:uppercase;font-size:.85rem;font-weight:800}.hidden-phrase{letter-spacing:.05em;text-transform:uppercase;color:#fff;opacity:0;pointer-events:none;text-align:center;font-size:1.1rem;font-weight:800;transition:opacity .4s;position:absolute}.hidden-phrase.visible{opacity:.6;text-shadow:0 0 12px #fff6}.challenge-container{z-index:20;flex-direction:column;align-items:center;gap:1.5rem;margin-top:100px;display:flex}.challenge-prompt{letter-spacing:.15em;color:#ffffff80;text-transform:uppercase;opacity:0;font-size:.85rem;font-weight:800;animation:3s 1s forwards fadein}.hold-ring-btn{cursor:none;opacity:0;background:0 0;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;transition:transform .2s;animation:2s 2s forwards fadein;display:flex;position:relative}.hold-ring-btn:active{transform:scale(.9)}.ring-bg{box-sizing:border-box;border:4px solid #ffffff1a;border-radius:50%;position:absolute;inset:0}.ring-progress{box-sizing:border-box;background:conic-gradient(#fff var(--progress,0%), transparent 0);opacity:.9;border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(#0000 36px,#000 37px);mask:radial-gradient(#0000 36px,#000 37px)}.question-layer{flex-direction:column;align-items:center;gap:4rem;animation:2s forwards fadein;display:flex}.tension-title{letter-spacing:-.02em;color:#fff;opacity:.9;text-align:center;text-transform:uppercase;font-size:2.2rem;font-weight:900;animation:4s infinite pulseGlow}.decision-buttons{gap:5rem;display:flex}.decision-btn{letter-spacing:.1em;text-transform:uppercase;color:#fff6;cursor:none;padding:.5rem;font-size:1.1rem;font-weight:800;transition:color .3s,text-shadow .3s,transform .3s;position:relative}.decision-btn:after{content:"";background:#fff;width:0%;height:3px;transition:all .3s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.decision-btn:hover{color:#fff;text-shadow:0 0 12px #fff9;transform:translateY(-2px)}.decision-btn:hover:after{width:100%}.access-layer{box-sizing:border-box;flex-direction:column;gap:3rem;width:100%;max-width:450px;padding:0 2rem;animation:2s forwards fadein;display:flex}.access-prompt{color:#fff;opacity:.9;letter-spacing:-.01em;font-size:1.4rem;font-weight:600;line-height:1.4}.input-container{width:100%;position:relative}.email-field{color:#fff;cursor:none;background:0 0;border:none;border-bottom:2px solid #fff3;outline:none;width:100%;padding:.8rem 0;font-size:1.2rem;font-weight:800;transition:border-color .3s}.email-field:focus{border-color:#fff}.email-field::placeholder{color:#fff3}.typing-feedback{letter-spacing:.1em;text-transform:uppercase;color:#ffffff4d;font-size:.8rem;font-weight:800;transition:color .3s;position:absolute;bottom:-2rem;left:0}.typing-feedback.decisive{color:#ffffffe6;text-shadow:0 0 8px #fff6}.typing-feedback.hesitate{color:#ff3232cc}.submit-btn{letter-spacing:.1em;text-transform:uppercase;color:#000;background:#fff;border-radius:4px;align-self:flex-start;margin-top:1rem;padding:1rem 2.5rem;font-size:1rem;font-weight:900;transition:transform .2s,box-shadow .3s,background .3s}.submit-btn:hover{background:#f0f0f0;transform:translateY(-3px);box-shadow:0 10px 20px #fff3}.submit-btn:disabled{color:#ffffff4d;pointer-events:none;background:#ffffff1a}.success-message{color:#fff;text-align:center;letter-spacing:-.02em;font-size:2rem;font-weight:900;line-height:1.3;animation:2s forwards fadein}.success-sub{color:#ffffff80;text-transform:uppercase;letter-spacing:.1em;margin-top:1rem;font-size:1rem;font-weight:600;display:block}.cursor-dot{pointer-events:none;z-index:10000;mix-blend-mode:difference;background:#fff;border-radius:50%;width:6px;height:6px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-glow{pointer-events:none;z-index:9999;mix-blend-mode:difference;border:2px solid #ffffff4d;border-radius:50%;width:50px;height:50px;transition:width .2s,height .2s,background .2s,border-color .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}body:active .cursor-glow,.click-hold .cursor-glow{background:#ffffff1a;border-color:#fffc;width:40px;height:40px}.transition-overlay{z-index:9000;opacity:0;pointer-events:none;background:#000;width:100%;height:100%;transition:opacity 1.5s;position:absolute;top:0;left:0}.transition-overlay.cold{background:#000;transition:opacity 1s}.transition-overlay.deep{background:#fff;transition:opacity .5s}.transition-overlay.active{opacity:1}
