A public custom script submits the OIDC form on /admin/login and CSS hides the password form. /admin/login?local=1 (or a failed password attempt) shows it for break-glass use; a 15s guard prevents loops. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
77 lines
2.4 KiB
CSS
77 lines
2.4 KiB
CSS
/* eom.dev: Catppuccin Mocha / Latte, matching dex.eom.dev. */
|
|
:root {
|
|
color-scheme: dark;
|
|
--base: #1e1e2e;
|
|
--mantle: #181825;
|
|
--surface: #313244;
|
|
--border: #585b70;
|
|
--text: #cdd6f4;
|
|
--muted: #a6adc8;
|
|
--accent: #cba6f7;
|
|
--accent-hover: #b4befe;
|
|
--on-accent: #11111b;
|
|
--error: #f38ba8;
|
|
--focus: #fab387;
|
|
}
|
|
@media (prefers-color-scheme: light) {
|
|
:root {
|
|
color-scheme: light;
|
|
--base: #eff1f5;
|
|
--mantle: #e6e9ef;
|
|
--surface: #fff;
|
|
--border: #9ca0b0;
|
|
--text: #4c4f69;
|
|
--muted: #5c5f77;
|
|
--accent: #8839ef;
|
|
--accent-hover: #7287fd;
|
|
--on-accent: #fff;
|
|
--error: #d20f39;
|
|
--focus: #fe640b;
|
|
}
|
|
}
|
|
html, body {
|
|
background: var(--base);
|
|
color: var(--text);
|
|
font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
|
|
line-height: 1.6;
|
|
}
|
|
a { color: var(--accent); }
|
|
a:hover { color: var(--accent-hover); }
|
|
h1, h2, h3, h4, label { color: var(--text); }
|
|
.small, .lists .description, .archive .date, footer.container, footer a { color: var(--muted); }
|
|
.wrap {
|
|
background: var(--mantle);
|
|
border: 1px solid var(--border);
|
|
border-radius: 1.25rem;
|
|
box-shadow: 0 12px 40px rgb(0 0 0 / 10%);
|
|
}
|
|
.header { border-bottom: 1px solid var(--border); }
|
|
.header .logo img { max-width: 240px; max-height: 72px; }
|
|
input[type="text"], input[type="email"], input[type="password"], select {
|
|
background: var(--surface);
|
|
color: var(--text);
|
|
border: 1px solid var(--border);
|
|
border-radius: 0.6rem;
|
|
}
|
|
input:focus, select:focus, .button:focus-visible {
|
|
border-color: var(--focus);
|
|
outline: 2px solid var(--focus);
|
|
outline-offset: 1px;
|
|
}
|
|
input::placeholder { color: var(--muted); }
|
|
.button {
|
|
background: var(--accent);
|
|
color: var(--on-accent);
|
|
border: 1px solid var(--accent);
|
|
border-radius: 0.6rem;
|
|
font-weight: 650;
|
|
}
|
|
.button:hover { background: var(--accent-hover); border-color: var(--accent-hover); color: var(--on-accent); }
|
|
.button.button-outline { background: transparent; color: var(--accent); }
|
|
.button.button-outline:hover { background: var(--surface); color: var(--accent-hover); }
|
|
.error { color: var(--error); }
|
|
.pg-page.pg-selected { background: var(--accent); color: var(--on-accent); }
|
|
/* Admin login is Dex only; ?local=1 (public.js) reveals the password form. */
|
|
.login form[action="/admin/login"], .login .center.small { display: none; }
|
|
.eom-local-login .login form[action="/admin/login"], .eom-local-login .login .center.small { display: block; }
|