:root { color-scheme: light; --background: oklch(1 0 0); --foreground: oklch(0.145 0.008 326); --card: oklch(1 0 0); --card-foreground: oklch(0.145 0.008 326); --popover: oklch(1 0 0); --popover-foreground: oklch(0.145 0.008 326); --primary: oklch(0.488 0.243 264.376); --primary-foreground: oklch(0.97 0.014 254.604); --secondary: oklch(0.967 0.001 286.375); --secondary-foreground: oklch(0.21 0.006 285.885); --muted: oklch(0.96 0.003 325.6); --muted-foreground: oklch(0.542 0.034 322.5); --accent: oklch(0.96 0.003 325.6); --accent-foreground: oklch(0.212 0.019 322.12); --destructive: oklch(0.577 0.245 27.325); --border: oklch(0.922 0.005 325.62); --input: oklch(0.922 0.005 325.62); --ring: oklch(0.711 0.019 323.02); --radius: 0.625rem; 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.145 0.008 326); --foreground: oklch(0.985 0 0); --card: oklch(0.212 0.019 322.12); --card-foreground: oklch(0.985 0 0); --popover: oklch(0.212 0.019 322.12); --popover-foreground: oklch(0.985 0 0); --primary: oklch(0.424 0.199 265.638); --primary-foreground: oklch(0.97 0.014 254.604); --secondary: oklch(0.274 0.006 286.033); --secondary-foreground: oklch(0.985 0 0); --muted: oklch(0.263 0.024 320.12); --muted-foreground: oklch(0.711 0.019 323.02); --accent: oklch(0.263 0.024 320.12); --accent-foreground: oklch(0.985 0 0); --destructive: oklch(0.704 0.191 22.216); --border: oklch(1 0 0 / 10%); --input: oklch(1 0 0 / 15%); --ring: oklch(0.542 0.034 322.5); } * { 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), var(--muted); 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.145 0.008 326 / 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; } }