:root { color-scheme: light; --background: oklch(0.968 0.019 244); --foreground: oklch(0.29 0.042 252); --card: oklch(0.993 0.007 245); --card-foreground: oklch(0.34 0.032 250); --popover: oklch(0.998 0.004 245); --popover-foreground: oklch(0.29 0.042 252); --primary: oklch(0.57 0.19 258); --primary-foreground: oklch(0.99 0.004 245); --secondary: oklch(0.94 0.03 244); --secondary-foreground: oklch(0.38 0.045 250); --muted: oklch(0.955 0.017 245); --muted-foreground: oklch(0.53 0.035 248); --accent: oklch(0.918 0.045 249); --accent-foreground: oklch(0.38 0.1 258); --destructive: oklch(0.61 0.19 24); --border: oklch(0.85 0.04 245); --input: oklch(0.82 0.045 246); --ring: oklch(0.65 0.14 256); --radius: 0.875rem; color: var(--foreground); background: var(--background); font-family: Inter, "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif; letter-spacing: 0; } .dark { color-scheme: dark; --background: oklch(0.2 0.035 252); --foreground: oklch(0.94 0.02 245); --card: oklch(0.25 0.035 251); --card-foreground: oklch(0.91 0.022 245); --popover: oklch(0.235 0.038 252); --popover-foreground: oklch(0.94 0.02 245); --primary: oklch(0.7 0.15 252); --primary-foreground: oklch(0.19 0.04 253); --secondary: oklch(0.285 0.045 250); --secondary-foreground: oklch(0.92 0.02 245); --muted: oklch(0.275 0.032 250); --muted-foreground: oklch(0.72 0.04 245); --accent: oklch(0.32 0.065 250); --accent-foreground: oklch(0.91 0.03 244); --destructive: oklch(0.7 0.18 24); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); --ring: oklch(0.68 0.13 252); } * { box-sizing: border-box; } body { min-width: 320px; min-height: 100vh; margin: 0; background: linear-gradient(color-mix(in oklch, var(--border) 70%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in oklch, var(--border) 70%, transparent) 1px, transparent 1px), linear-gradient(145deg, var(--background), var(--secondary)); background-size: 34px 34px; } .login-shell { min-height: 100vh; display: grid; place-items: center; padding: 24px; } .login-panel { width: min(420px, 100%); padding: 28px; color: var(--card-foreground); background: var(--card); border: 1px solid var(--border); border-top: 4px solid var(--primary); border-radius: var(--radius); box-shadow: 0 18px 50px oklch(0.29 0.042 252 / 12%); } .login-brand { display: flex; align-items: center; gap: 12px; padding-bottom: 24px; border-bottom: 1px solid var(--border); } .login-brand > span { width: 42px; height: 42px; display: grid; place-items: center; color: var(--primary-foreground); background: var(--primary); border-radius: 5px; font-size: 13px; font-weight: 800; } .login-brand strong, .login-brand small { display: block; } .login-brand strong { font-size: 18px; } .login-brand small { margin-top: 4px; color: var(--muted-foreground); font: 8px "SFMono-Regular", Consolas, monospace; } .login-heading { margin: 30px 0 24px; } .login-heading p { margin: 0 0 7px; color: var(--primary); font: 750 9px "SFMono-Regular", Consolas, monospace; } .login-heading h1 { margin: 0; font-size: 24px; } form { display: grid; } label { margin: 0 0 7px; color: var(--muted-foreground); font-size: 11px; font-weight: 700; } input { width: 100%; height: 44px; margin-bottom: 18px; padding: 0 12px; color: var(--foreground); background: var(--background); border: 1px solid var(--input); border-radius: calc(var(--radius) - 2px); font: inherit; letter-spacing: 0; } input:focus { outline: 3px solid color-mix(in oklch, var(--ring) 24%, transparent); border-color: var(--ring); } .login-message { min-height: 17px; margin: -4px 0 10px; color: var(--destructive); font-size: 11px; } button { height: 44px; color: var(--primary-foreground); background: var(--primary); border: 0; border-radius: calc(var(--radius) - 2px); font: inherit; font-weight: 750; letter-spacing: 0; cursor: pointer; } button:hover { background: color-mix(in oklch, var(--primary) 86%, var(--foreground)); } button:disabled { opacity: 0.65; cursor: wait; } footer { display: flex; align-items: center; gap: 8px; margin-top: 26px; color: var(--muted-foreground); font: 8px "SFMono-Regular", Consolas, monospace; } footer i { width: 7px; height: 7px; border-radius: 50%; background: var(--primary); box-shadow: 0 0 0 4px color-mix(in oklch, var(--primary) 12%, transparent); } @media (max-width: 460px) { .login-shell { padding: 14px; } .login-panel { padding: 22px; } }