:root { color-scheme: light dark; --background: 36 40% 98%; --foreground: 25 22% 10%; --primary: 27 47% 60%; --muted: 25 12% 42%; --border: 27 18% 80%; }
@media (prefers-color-scheme: dark) { :root { --background: 24 12% 9%; --foreground: 36 30% 92%; --muted: 30 12% 68%; --border: 27 14% 28%; } }
* { box-sizing: border-box; }
body { margin: 0; background: hsl(var(--background)); color: hsl(var(--foreground)); font-family: 'SF Pro Display', -apple-system, BlinkMacSystemFont, sans-serif; letter-spacing: 0; }
main { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 32px 20px; text-align: center; }
h1 { color: hsl(var(--primary)); font-size: 28px; font-weight: 500; margin: 0 0 20px; }
p { color: hsl(var(--muted)); line-height: 1.6; }
a { color: hsl(var(--foreground)); text-underline-offset: 5px; padding: 12px; min-height: 44px; }
a:focus-visible { outline: 2px solid hsl(var(--primary)); outline-offset: 3px; }
nav { display: flex; gap: 16px; margin-top: 20px; border-top: 1px solid hsl(var(--border)); padding-top: 12px; }
#spinner { display: inline-block; width: 14px; height: 14px; margin-right: 10px; border: 2px solid hsl(var(--border)); border-top-color: hsl(var(--primary)); border-radius: 50%; animation: spin .8s linear infinite; }
#spinner[hidden] { display: none; }
@keyframes spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { #spinner { animation: none; } }
