/* Mirrors the app's neutral default scheme (client/src/index.css), dark first: this page shares the launch screen's background and must not flash. */ :root { --bg: #09090b; --surface: #18181b; --edge: #27272a; --ink: #fafafa; --muted: #a1a1aa; --accent: #e4e4e7; --accent-ink: #09090b; --danger: #f87171; color-scheme: dark; } @media (prefers-color-scheme: light) { :root { --bg: #ffffff; --surface: #f4f4f5; --edge: #e4e4e7; --ink: #111827; --muted: #6b7280; --accent: #111827; --accent-ink: #ffffff; --danger: #dc2626; color-scheme: light; } .shell-logo { filter: invert(1); } } * { box-sizing: border-box; } html, body { margin: 0; min-height: 100%; background: var(--bg); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; -webkit-text-size-adjust: 100%; } .shell { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; justify-content: center; gap: 12px; max-width: 420px; margin: 0 auto; padding: calc(env(safe-area-inset-top) + 24px) 24px calc(env(safe-area-inset-bottom) + 24px); } .shell-logo { width: 56px; height: 56px; margin-bottom: 8px; } .shell-title { font-size: 1.5rem; font-weight: 600; margin: 0; } .shell-hint { color: var(--muted); margin: 0 0 12px; line-height: 1.5; overflow-wrap: anywhere; } .shell-form { display: flex; flex-direction: column; gap: 12px; } .shell-input { font: inherit; font-size: 1rem; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--edge); background: var(--surface); color: var(--ink); outline: none; } .shell-input:focus { border-color: var(--accent); } .shell-button { font: inherit; font-weight: 600; padding: 14px 16px; border: 0; border-radius: 12px; background: var(--accent); color: var(--accent-ink); } .shell-button:disabled { opacity: 0.6; } .shell-link { font: inherit; padding: 10px; border: 0; background: none; color: var(--muted); } .shell-error { color: var(--danger); margin: 0; min-height: 1.5em; line-height: 1.5; }