:root { --canvas:#071015; --ink:#e8ecee; --muted:#9aa6ad; --line:rgba(208,225,232,.18); --accent:#81e3c2; --danger:#f1999f; }
* { box-sizing:border-box; }
html,body { min-height:100%; }
body { background:radial-gradient(circle at 80% -20%,rgba(64,151,139,.16),transparent 34rem),var(--canvas); color:var(--ink); font-family:"Courier New",Courier,monospace; margin:0; }
.crypto-login-page { display:flex; }
.login-shell { align-items:center; display:flex; flex:1; justify-content:center; min-height:100vh; padding:28px; position:relative; }
.login-card { background:rgba(12,25,30,.88); border:1px solid var(--line); box-shadow:0 30px 90px rgba(0,0,0,.38); max-width:455px; padding:36px; width:100%; }
.login-kicker { color:var(--accent); font-size:.63rem; letter-spacing:.16em; margin:0 0 13px; }
.login-card h1 { font-size:2rem; font-weight:400; letter-spacing:.05em; margin:0; }
.login-card > p:not(.login-kicker) { color:var(--muted); font-size:.73rem; line-height:1.7; margin:18px 0 28px; }
form { display:grid; gap:10px; }
label { color:var(--muted); font-size:.6rem; letter-spacing:.11em; }
input { background:#071015; border:1px solid var(--line); border-radius:0; color:var(--ink); font:inherit; font-size:.86rem; outline:0; padding:13px; }
input:focus { border-color:var(--accent); }
button { background:var(--accent); border:1px solid var(--accent); color:#071015; cursor:pointer; font:inherit; font-size:.65rem; font-weight:700; letter-spacing:.12em; margin-top:7px; padding:13px; }
button:disabled { cursor:wait; opacity:.65; }
.login-error { color:var(--danger); font-size:.66rem; line-height:1.5; margin:1px 0 0; min-height:1em; }
.public-link { color:var(--muted); display:inline-block; font-size:.59rem; letter-spacing:.1em; margin-top:26px; text-decoration:none; }
.public-link:hover,.public-link:focus-visible { color:var(--accent); outline:0; }
.login-footer { align-items:center; bottom:20px; color:var(--muted); display:flex; font-size:.56rem; gap:14px; justify-content:center; left:0; letter-spacing:.08em; position:absolute; right:0; }
.login-footer a { color:var(--muted); text-decoration:none; }
.login-footer a:hover,.login-footer a:focus-visible { color:var(--ink); outline:0; text-decoration:underline; text-underline-offset:3px; }
@media (max-width:700px) { .crypto-login-page { flex-direction:column; }.login-shell { align-items:flex-end; min-height:calc(100vh - 58px); padding:22px; }.login-card { padding:28px 22px; }.login-card h1 { font-size:1.65rem; }.login-footer { bottom:15px; flex-direction:column; gap:6px; } }
