* { margin: 0; padding: 0; box-sizing: border-box; } :root { --bg: #0D0F13; --surface: #151920; --border: #262C35; --border-strong: #3A4150; --primary: #C7E94D; --primary-hover: #B5D83D; --text: #EFEEE8; --text-muted: #9CA3AE; --danger: #FF5A52; --font-title: 'Sora', system-ui, -apple-system, sans-serif; --font-body: 'Open Sans', system-ui, -apple-system, sans-serif; } body { font-family: var(--font-body); background: var(--bg); color: var(--text); display: flex; align-items: center; justify-content: center; min-height: 100vh; position: relative; overflow: hidden; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } /* Atmospheric glow — two diffused lime pools for depth */ body::before, body::after { content: ''; position: absolute; border-radius: 50%; pointer-events: none; filter: blur(70px); } body::before { width: 640px; height: 640px; top: -220px; left: -200px; background: radial-gradient(circle, rgba(199, 233, 77, 0.10), transparent 60%); } body::after { width: 420px; height: 420px; bottom: -160px; right: -140px; background: radial-gradient(circle, rgba(199, 233, 77, 0.06), transparent 60%); } /* Grid texture overlay — subtle but sets the tone */ body { background-image: linear-gradient(rgba(199, 233, 77, 0.025) 1px, transparent 1px), linear-gradient(90deg, rgba(199, 233, 77, 0.025) 1px, transparent 1px); background-size: 40px 40px; background-position: center center; } .login-card { position: relative; z-index: 1; background: var(--surface); border: 1px solid var(--border); border-top: 3px solid var(--primary); padding: 44px 40px 40px; width: 400px; box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5); } /* Tag above title */ .login-card::before { content: 'RESTRICTED'; display: block; font-family: var(--font-title); font-size: 10px; font-weight: 700; letter-spacing: 0.32em; color: var(--primary); margin-bottom: 14px; } .login-card h1 { font-family: var(--font-title); font-size: 16px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; margin-bottom: 10px; line-height: 1.3; } .login-card h1::after { content: ' (:|)'; color: var(--primary); font-weight: 500; letter-spacing: 0; margin-left: 2px; } .login-card p { font-size: 13px; color: var(--text-muted); margin-bottom: 30px; line-height: 1.55; } .login-card input { width: 100%; padding: 13px 14px; background: var(--bg); border: 1px solid var(--border); color: var(--text); font-family: var(--font-body); font-size: 14px; margin-bottom: 14px; outline: none; transition: border-color 180ms ease, box-shadow 180ms ease; } .login-card input::placeholder { color: #6B7280; } .login-card input:focus { border-color: var(--primary); box-shadow: 0 0 0 3px rgba(199, 233, 77, 0.15); } .login-card button { width: 100%; padding: 13px 16px; background: var(--primary); color: var(--bg); border: 1px solid var(--primary); font-family: var(--font-title); font-size: 11px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; cursor: pointer; transition: background 180ms ease, border-color 180ms ease; margin-top: 4px; } .login-card button:hover { background: var(--primary-hover); border-color: var(--primary-hover); } .login-card button:focus-visible { outline: 2px solid var(--text); outline-offset: 2px; } .error { color: var(--danger); font-family: var(--font-title); font-size: 11px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; margin-top: 12px; display: none; } .error.visible { display: block; } /* Bottom watermark */ .login-card::after { content: 'indifferent broccoli · internal'; display: block; margin-top: 32px; padding-top: 20px; border-top: 1px solid var(--border); font-family: var(--font-title); font-size: 10px; font-weight: 500; letter-spacing: 0.3em; color: #6B7280; text-transform: uppercase; text-align: center; }