:root{color-scheme:dark;--bg:#010204;--ink:#e3e4e0;--sub:#7d8789;--mono:"IBM Plex Mono","SFMono-Regular",Consolas,"Cascadia Mono","DejaVu Sans Mono",monospace}
*{box-sizing:border-box}
html,body{margin:0;width:100%;min-height:100%;background:var(--bg);color:var(--ink)}
body{font-family:var(--mono);-webkit-font-smoothing:antialiased;min-height:100svh}
a{color:inherit}
body.home{overflow:hidden}
.eye-world{position:fixed;inset:0;display:grid;place-items:center;overflow:hidden;background:#010204}
.eye-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;image-rendering:auto}
.eye-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 115% 105% at 50% 50%,transparent 52%,rgba(1,2,4,.13) 82%,rgba(1,2,4,.42) 120%);pointer-events:none}
.topnav{position:fixed;z-index:10;top:clamp(22px,4.8vw,58px);right:clamp(22px,5vw,76px)}
.login-link{font-family:var(--mono);display:inline-flex;align-items:center;gap:1.15em;padding:12px 0 12px 12px;text-decoration:none;white-space:nowrap;font-size:clamp(11px,1vw,13px);line-height:1;font-weight:600;letter-spacing:.155em;color:rgba(231,236,234,.85);text-shadow:0 1px 12px rgba(0,0,0,.8);transition:color .2s,text-shadow .2s}
.login-link:hover,.login-link:focus-visible{color:#fff;text-shadow:0 0 19px rgba(255,255,255,.6);outline:0}
.login-link:focus-visible{border-bottom:1px dashed #fff}
.login-link span{transition:transform .25s}.login-link:hover span{transform:translate(2px,-2px)}
.bottom-id{position:fixed;z-index:4;bottom:clamp(18px,3.5vw,44px);left:clamp(22px,5vw,76px);font-size:clamp(9px,.8vw,11px);font-weight:600;letter-spacing:.24em;color:rgba(220,225,226,.45);text-shadow:0 2px 15px #000;pointer-events:none}
.dim{color:rgba(175,187,186,.45)}
@media(max-width:680px){.eye-canvas{width:100%;height:100%}.eye-vignette{background:radial-gradient(ellipse 115% 105% at 50% 50%,transparent 48%,rgba(1,2,4,.10) 82%,rgba(1,2,4,.40) 120%)}.topnav{top:19px;right:22px}.bottom-id{left:22px;bottom:24px}}
@media(prefers-reduced-motion:reduce){.eye-canvas{transition:none}.login-link,.login-link span{transition:none}}
/* Separate sign-in gateway. Native HTML action stays accessible, all decoration is ASCII. */
body.login-page{overflow:hidden}
#ascii-field{position:fixed;inset:0;width:100%;height:100%;opacity:.84;pointer-events:none}
.login-vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse 52% 48% at 50% 51%,#010204 9%,rgba(1,2,4,.88) 26%,rgba(1,2,4,.36) 59%,rgba(1,2,4,.74) 100%)}
.login-layout{position:relative;z-index:4;display:grid;place-items:center;min-height:100svh;padding:86px 18px 60px}
.auth-zone{width:min(100%,660px);text-align:center;position:relative}
.eyebrow{color:#899498;font-size:11px;letter-spacing:.17em;margin-bottom:25px}
.ascii-title{font-size:clamp(24px,4vw,45px);line-height:1.2;letter-spacing:.14em;font-weight:400;text-shadow:0 0 18px #747e8044;margin:0}
.auth-caption{font-size:clamp(9px,1.1vw,12px);letter-spacing:.13em;color:#737e82;margin:17px 0 27px}
.auth-halo{margin:auto;max-width:510px;position:relative}
.halo-ring{font-size:clamp(11px,1.5vw,14px);letter-spacing:.35em;color:#667278;opacity:.7;white-space:nowrap;overflow:hidden;user-select:none;animation:haloflow 10s linear infinite}
.halo-ring.lower{animation-direction:reverse;margin-top:20px}
.void-shell{margin:16px auto;width:min(100%,470px);padding:54px 26px 50px;min-height:250px;position:relative;background:radial-gradient(ellipse at 50% 47%,#000 10%,#010204 80%);box-shadow:0 0 55px 40px #010204,0 0 130px #2e3c4011;border:1px solid rgba(189,199,202,.06)}
.field-index{font-size:12px;color:#7a8589;letter-spacing:.2em;margin:0 0 29px}
.auth-enter{font-size:clamp(12px,1.7vw,15px);color:#e4e7e4;letter-spacing:.09em;display:inline-flex;align-items:center;gap:15px;white-space:nowrap;text-decoration:none;padding:16px 8px;position:relative;text-shadow:0 0 13px #f0f8f533;transition:text-shadow .2s,color .2s}
.auth-enter:before,.auth-enter:after{position:absolute;content:'+';color:#788b94;top:50%;transform:translateY(-50%);animation:marks 2.8s steps(1) infinite}.auth-enter:before{left:-8px}.auth-enter:after{right:-8px;animation-delay:1.4s}
.auth-enter:hover,.auth-enter:focus-visible{color:white;text-shadow:0 0 19px #e5f6f699;outline:1px dashed #6a8187;outline-offset:8px}
.arrow-rune{color:#b1c6cd}
.field-foot{font-size:9px;color:#46545c;letter-spacing:.13em;display:block;margin-top:25px}
.note{font-size:10px;color:#586369;letter-spacing:.06em;line-height:1.95;margin:33px auto 0}
@keyframes haloflow{0%,100%{opacity:.43;letter-spacing:.35em}50%{opacity:.9;letter-spacing:.47em}}
@keyframes marks{0%,100%{content:'+'}25%{content:'*'}50%{content:':' }75%{content:'~'}}
@media(max-width:680px){.auth-zone{transform:translateY(-10px)}.void-shell{padding:45px 10px;min-height:210px}.auth-enter{gap:9px;font-size:11px}.note{max-width:300px;font-size:9px}.ascii-title{letter-spacing:.06em}.eyebrow{font-size:9px}.field-foot{font-size:8px}}
@media(prefers-reduced-motion:reduce){.halo-ring,.auth-enter:before,.auth-enter:after{animation:none}}

/* Clip 1px subpixel overflow on narrow viewports. */
html{overflow-x:hidden}
