:root{--bg:#030303;--surface:#0a0a0a;--text:#ececec;--text-muted:#666;--accent:#333;--highlight:#fff;--f-heading:'Clash Display',sans-serif;--f-body:'Satoshi',sans-serif;--f-code:'JetBrains Mono',monospace;--ease-out-expo:cubic-bezier(0.16,1,0.3,1)}*{margin:0;padding:0;box-sizing:border-box}html,body{background-color:var(--bg);color:var(--text);font-family:var(--f-body);height:100vh;overflow:hidden;-webkit-font-smoothing:antialiased}#noise-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.3;pointer-events:none}nav{position:fixed;top:0;left:0;width:100%;padding:2rem;z-index:100}.logo{font-family:var(--f-heading);font-weight:600;font-size:1.25rem;letter-spacing:-.02em;text-decoration:none;color:var(--text)}main{position:relative;z-index:1;height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem}.access-card{text-align:center;max-width:500px;width:100%}h1{font-family:var(--f-heading);font-size:clamp(2.5rem,5vw,4rem);margin-bottom:1rem;letter-spacing:-.02em}.description{color:var(--text-muted);line-height:1.6;margin-bottom:2.5rem;font-size:1.05rem}.reasoning{background:var(--surface);border:1px solid var(--accent);padding:1.5rem;margin-bottom:2.5rem;text-align:left;border-radius:4px}.reasoning h2{font-family:var(--f-code);font-size:.8rem;text-transform:uppercase;color:var(--text);margin-bottom:.75rem;letter-spacing:.05em}.reasoning p{font-size:.9rem;color:var(--text-muted);line-height:1.5}.login-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:1.25rem;background:transparent;border:1px solid var(--accent);color:var(--text);font-family:var(--f-body);font-weight:500;font-size:1rem;cursor:pointer;transition:all .4s var(--ease-out-expo);text-decoration:none}.login-btn:hover{background:var(--text);color:var(--bg);border-color:var(--text)}.login-btn.loading{opacity:.5;pointer-events:none}.login-btn svg{width:20px;height:20px}footer{position:fixed;bottom:0;left:0;width:100%;padding:2rem;display:flex;justify-content:space-between;font-family:var(--f-code);font-size:.75rem;color:#444}.fade-in{animation:fadeIn 1.2s var(--ease-out-expo) forwards}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}