:root { /* Container vars */ --border-radius: 12px; --border-radius-small: 8px; --box-shadow-dark: 0 4px 12px rgba(0, 0, 0, 0.15); /* Color vars */ --card-bg: rgba(255, 255, 255, 0.95); --color-label: #555; --color-subtitle: #777; --color-robot: #9c27b0; --color-robot-dark: #7b1fa2; --color-start: #4caf50; --color-start-dark: #2e7d32; --color-stop: #ed6c02; --color-stop-dark: #e65100; /* Spacing vars */ --gap-small: 8px; --gap-normal: 12px; /* Text vars */ --text-small: 0.9rem; box-sizing: border-box; font-family: system-ui, Avenir, Helvetica, Arial, sans-serif; line-height: 1.5; font-weight: 400; color-scheme: light dark; color: rgba(255, 255, 255, 0.87); background-color: #242424; font-synthesis: none; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; @media (prefers-color-scheme: light) { :root { color: #213547; background-color: #fff; } } } body { margin: 0; min-height: 100vh; min-width: 100vw; } h1 { color: #333; font-size: 1.8rem; line-height: 1.1; } input { border: 1px solid #ddd; border-radius: var(--border-radius-small); box-sizing: border-box; font-size: 1rem; padding: var(--gap-normal); transition: border-color 0.3s, box-shadow 0.3s; width: 100%; &:focus { border-color: var(--color-start); box-shadow: 0 0 0 3px rgba(3, 106, 32, 0.243); outline: none; } &:disabled { background-color: #f0f3f3; cursor: not-allowed; } } .logo { display: flex; align-items: center; justify-content: center; gap: 1rem; } .error-message { background-color: #fcebeb; border: 1px solid #cc0000; border-radius: var(--border-radius-small); color: #cc0000; font-size: var(--text-small); font-weight: 500; margin-bottom: 20px; padding: 10px; text-align: center; }