        :root{--bg:#e5e5e5;--txt:#111;--mut:#4a4a4a;--pale:#ccc;--serif:'Playfair Display','Georgia',serif;--sans:'Helvetica Neue',Arial,sans-serif;--tg:#0f0;--tb:#050505}
        *{margin:0;padding:0;box-sizing:border-box}
        body{background:radial-gradient(circle,#f4f4f4,#d4d4d4);color:var(--txt);font-family:var(--serif);line-height:1.7;font-size:20px;overflow-x:hidden;min-height:100vh}
        .screen-full{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100vh;width:100vw;position:fixed;top:0;left:0;background:var(--bg);z-index:1000;font-family:var(--sans)}
        .box{background:#fff;padding:3rem 3.5rem;border:1px solid var(--pale);box-shadow:0 10px 30px rgba(0,0,0,.05);text-align:center;max-width:460px;width:92%}
        .box h1{font-size:1.8rem;letter-spacing:-0.02em;margin-bottom:.3rem;color:#000;font-family:var(--serif)}
        .box h2{font-size:1rem;letter-spacing:.2em;text-transform:uppercase;margin-bottom:1.5rem;color:var(--txt);font-weight:400}
        .box p.desc{font-size:.85rem;color:var(--mut);margin-bottom:1.5rem;line-height:1.6;text-align:justify}
        .box input{width:100%;padding:.9rem;margin-bottom:.8rem;border:1px solid var(--pale);background:var(--bg);font-family:var(--sans);font-size:1rem;text-align:center;outline:none;transition:border .3s}
        .box input:focus{border-color:var(--txt)}
        .box button,.btn{width:100%;padding:.9rem;margin-top:.6rem;background:var(--txt);color:#fff;border:none;font-family:var(--sans);font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .3s}
        .box button:hover,.btn:hover{background:var(--mut)}
        .err-msg{margin-top:1rem;font-size:.8rem;color:#d9534f;font-weight:bold;min-height:18px}

        #intro-screen{z-index:1500}
        #captcha-screen{z-index:1400;display:none}
        #riddle-screen{z-index:1300;display:none}
        #access-screen{z-index:1200;display:none}

        .captcha-canvas{margin:1rem auto;display:block;border:1px solid var(--pale);cursor:pointer}
        .captcha-hint{font-size:.7rem;color:#999;margin-top:.3rem}
        .riddle-text{font-size:1rem;color:var(--txt);margin:1rem 0;line-height:1.6;font-style:italic;min-height:60px;text-align:left;padding:1rem;border-left:3px solid #000}

        #security-terminal{display:none;flex-direction:column;justify-content:flex-start;align-items:center;height:100vh;width:100vw;position:fixed;top:0;left:0;background:var(--tb);z-index:2000;font-family:'Courier New',monospace;color:var(--tg);overflow-y:auto;padding:3rem 0}
        .terminal-box{width:90%;max-width:600px;text-align:left;font-size:.85rem;line-height:1.5}
        .log-line{opacity:0;animation:fadeIn .1s forwards;margin-bottom:.4rem}
        #pin-container{display:none;margin-top:2rem;margin-bottom:4rem;text-align:center}
        #pin-input{background:transparent;border:1px solid var(--tg);color:var(--tg);padding:.5rem;font-family:'Courier New',monospace;text-align:center;letter-spacing:.5em;width:180px;font-size:1.2rem;outline:none}
        #pin-btn{background:var(--tg);color:var(--tb);border:none;padding:.5rem 1rem;font-family:'Courier New',monospace;font-weight:bold;cursor:pointer;margin-left:10px}
        @keyframes fadeIn{to{opacity:1}}

        #main-content{display:none}
        .container{max-width:700px;margin:0 auto;padding:10vh 2rem}
        h1{font-family:var(--sans);font-size:3.5rem;letter-spacing:-.05em;text-transform:uppercase;font-weight:900;margin-bottom:.5rem;color:#000}
        .sub{font-family:var(--sans);text-transform:uppercase;letter-spacing:.3em;font-size:.8rem;color:var(--mut);margin-bottom:5rem}
        p{margin-bottom:2rem;color:var(--mut);text-align:justify}
        .pause{display:block;margin:4rem 0;text-align:center;letter-spacing:.5em;color:#888}
        .reveal-block{margin-bottom:2rem;opacity:0;transform:translateY(30px);transition:opacity 1.5s ease-out,transform 1.5s ease-out}
        .reveal-block.visible{opacity:1;transform:translateY(0)}
        .short-title{font-family:var(--sans);font-size:1.5rem;font-weight:bold;text-transform:uppercase;letter-spacing:.1em;border-bottom:2px solid var(--txt);display:inline-block;padding-bottom:.3rem;margin-bottom:2rem;margin-top:2rem}
        .impact{font-size:1.4rem;color:var(--txt);font-weight:bold;border-left:3px solid #000;padding-left:1.5rem;margin:3rem 0;font-style:italic}
        .diagram{width:100%;display:flex;justify-content:center;margin:3rem 0}
        svg{width:260px;height:auto;stroke:var(--txt);stroke-width:1.5;fill:none}
        @media(max-width:768px){h1{font-size:2.2rem}.container{padding:5vh 1.5rem}p{text-align:left}.box{padding:2rem 1.5rem}}
