:root{--ink:#0b0c0c;--muted:#b9b9d6;--navy:#0a0a18;--navy-2:#161640;--accent:#854ff8;--accent-2:#b08cff;--border:#2a2a5a}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;min-height:100vh;color:#fff;background:var(--navy) url(/starfield.png) center center /cover no-repeat fixed;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5;display:flex;flex-direction:column}.site{width:100%;background:var(--navy-2);border-bottom:1px solid #20204e}.site-inner{display:flex;align-items:center;gap:1rem;width:100%;max-width:72rem;margin:0 auto;padding:.9rem 1.25rem}.site-logo{display:inline-flex}.site-logo img{height:1.7rem;width:auto;display:block}.portal{position:relative;z-index:1;width:100%;max-width:30rem;margin:0 auto;padding:1.5rem 1rem 2.5rem;text-align:center;flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center}.card{width:100%;background:rgba(12,12,36,.72);border:1px solid var(--border);border-radius:14px;padding:2rem 1.75rem;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 12px 40px rgba(0,0,0,.45)}.card>a{display:inline-block;border-radius:8px}.card .forge{height:4rem;width:auto;margin:0 auto .75rem;display:block}.card h1{margin:0 0 1.25rem;font-size:1.6rem;letter-spacing:.01em}.form{text-align:left;margin-top:.5rem}.field{margin-bottom:1rem}label{display:block;font-weight:600;margin-bottom:.3rem;font-size:.95rem}input[type=text]{width:100%;padding:.7rem .85rem;font-size:1.1rem;min-height:46px;border:1px solid var(--border);border-radius:8px;background:#0e0e2e;color:#fff}input::placeholder{color:#7c7ca6}.btn{width:100%;margin-top:.5rem;border:0;border-radius:8px;cursor:pointer;background:var(--accent);color:#fff;font-weight:800;font-size:1.1rem;padding:.8rem 1rem;min-height:48px}.btn:hover{filter:brightness(1.08)}.alert{text-align:left;background:#3a0d12;border:1px solid #a3303c;color:#ffd7db;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem}.foot{margin:1.25rem 0 0;color:var(--muted);font-size:.9rem}.foot a{color:var(--accent-2);font-weight:600}:focus-visible{outline:3px solid var(--accent-2);outline-offset:2px}