:root { --primary-bg: #23283d; --secondary-bg: #1e2233; --secondary-alt-bg: #191f2e; --tertiary-bg: #101320; --accent-color: #096dc0; --text-color: #ffffff; --text-muted: #a0a0a0; --border-color: #2a3045; font-family: 'Inter', system-ui, Avenir, Helvetica, Arial, sans-serif; line-height: 1.6; font-weight: 400; color-scheme: dark; color: var(--text-color); background-color: var(--primary-bg); font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } body { margin: 0; display: flex; place-items: center; min-width: 320px; min-height: 100vh; background-color: var(--primary-bg); } h1, h2, h3, h4, h5, h6 { color: var(--text-color); margin-top: 0; } a { font-weight: 500; color: var(--accent-color); text-decoration: inherit; transition: color 0.2s; } a:hover { color: #4da3ff; } button { border-radius: 8px; border: 1px solid transparent; padding: 0.6em 1.2em; font-size: 1em; font-weight: 500; font-family: inherit; background-color: var(--secondary-bg); color: white; cursor: pointer; transition: background-color 0.25s, transform 0.1s; } button:hover { background-color: var(--tertiary-bg); } button:active { transform: scale(0.98); } button:focus, button:focus-visible { outline: 4px auto -webkit-focus-ring-color; } input, select { background-color: var(--secondary-alt-bg); border: 1px solid var(--border-color); color: var(--text-color); padding: 0.6em; border-radius: 6px; font-size: 1em; font-family: inherit; } input:focus, select:focus { outline: 2px solid var(--accent-color); border-color: transparent; } ul { list-style: none; padding: 0; } .shader-theme { --primary-bg: transparent; /* Let the shader show through */ --secondary-bg: rgba(0, 0, 0, 0.7); /* Translucent cards */ --secondary-alt-bg: rgba(20, 20, 20, 0.6); /* Translucent inputs */ --tertiary-bg: rgba(40, 40, 40, 0.8); --border-color: rgba(255, 255, 255, 0.15); --text-color: #ffffff; } .shader-theme body { background-color: transparent; }