:root { color-scheme: dark; font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif; background:#07090d; color:#f7f8fb; }
* { box-sizing:border-box; }
html,body { min-width:320px; min-height:100%; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at 50% -15%,rgba(0,122,255,.22),transparent 28rem),radial-gradient(circle at 90% 80%,rgba(255,0,85,.11),transparent 26rem),#07090d; }
.login-shell { min-height:100dvh; display:grid; place-items:center; padding:max(28px,env(safe-area-inset-top)) 18px max(28px,env(safe-area-inset-bottom)); }
.login-card { width:min(100%,420px); text-align:center; padding:44px 34px 32px; border:1px solid rgba(255,255,255,.08); border-radius:26px; background:rgba(12,15,21,.78); box-shadow:0 32px 90px rgba(0,0,0,.46); backdrop-filter:blur(24px); }
.app-icon { width:112px; height:112px; border-radius:28px; object-fit:cover; box-shadow:0 20px 55px rgba(0,80,255,.24); }
h1 { margin:25px 0 0; font-size:2rem; line-height:1; letter-spacing:-.045em; }
.intro { margin:12px auto 28px; max-width:290px; color:#8c96a8; font-size:.92rem; line-height:1.5; }
.button { width:100%; min-height:52px; display:flex; align-items:center; justify-content:center; gap:10px; border-radius:14px; font:inherit; font-size:.93rem; font-weight:700; text-decoration:none; cursor:pointer; transition:transform .16s ease,border-color .16s ease,background .16s ease; }
.button:active { transform:scale(.985); }
.primary { border:1px solid rgba(255,255,255,.10); background:#f7f8fb; color:#090b0f; }
.primary:hover { background:#fff; }
.secondary { margin-top:10px; border:1px solid #252b37; background:#12161e; color:#f1f3f7; }
.secondary:hover { border-color:#3b4352; background:#171c25; }
.button-icon,.github-mark { width:21px; height:21px; display:grid; place-items:center; }
.button-icon svg,.github-mark svg { width:21px; height:21px; }
.status { min-height:20px; margin:16px 0 0; color:#8aa9d6; font-size:.78rem; }
.status.error { color:#ff7d90; }
.private-note { margin-top:19px; padding-top:20px; border-top:1px solid rgba(255,255,255,.07); color:#626c7d; font-size:.69rem; letter-spacing:.02em; }
.private-note span { color:#38d996; font-size:.55rem; margin-right:5px; }
@media(max-width:480px){ .login-card{padding:34px 22px 26px;border-radius:22px}.app-icon{width:96px;height:96px;border-radius:24px}h1{font-size:1.75rem}.intro{margin-bottom:24px}.button{min-height:50px} }
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
