:root { color-scheme: dark; --bg: #101010; --panel: #151515; --text: #f3f3f3; --muted: #c9c9c9; --accent: #f0f0f0; --link: #9fcfff; --link-hover: #d5e8ff; } * { box-sizing: border-box; } html { font-size: 16px; } body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; color: var(--text); background: var(--bg); font-family: Verdana, Tahoma, "Trebuchet MS", sans-serif; } a { color: var(--link); } a:hover, a:focus-visible { color: var(--link-hover); } .app-shell { flex: 1; display: flex; justify-content: center; padding: 1.25rem 1.5rem; } .site-footer { padding: 0 1.5rem 1.5rem; } .site-footer p { margin: 0 auto; width: min(100%, 72rem); padding-top: 0.85rem; border-top: 1px solid #2f2f2f; color: var(--muted); font-size: 0.95rem; text-align: center; } .hero { width: min(100%, 72rem); margin: auto 0; padding: 0.85rem 1rem; background: transparent; } .hero-header { display: flex; align-items: center; gap: 0.85rem; } .site-badge { display: inline-block; width: min(8rem, 30vw); height: auto; } .hero h1 { margin: 0; color: var(--accent); font-family: Georgia, "Times New Roman", serif; font-size: clamp(2.2rem, 7vw, 4rem); line-height: 1.05; letter-spacing: 0.01em; text-shadow: 2px 2px 0 rgba(0, 0, 0, 0.45); } .hero h3 { margin: 0.45rem 0 0; color: var(--muted); font-size: clamp(1rem, 2.4vw, 1.3rem); font-weight: 700; } .hero p { margin: 0.8rem 0 0; color: var(--muted); font-size: 1rem; line-height: 1.55; max-width: 62rem; } .hero a { font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 0.16em; } .hero b { color: var(--text); } .hero hr { margin: 0.9rem 0; border: 0; border-top: 1px solid #2f2f2f; } .link-groups { display: grid; gap: 0.75rem; } .link-group { padding: 0; } .link-group h4 { margin: 0 0 0.5rem; color: var(--text); font-size: 1rem; text-align: center; text-transform: uppercase; letter-spacing: 0.05em; } .link-group ul { margin: 0; padding-left: 1.25rem; } .link-group li + li { margin-top: 0.3rem; } @media (min-width: 900px) { .hero { padding: 1rem 1.2rem 1.1rem; } .hero-header { gap: 1.2rem; } .link-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } .link-group:last-child { grid-column: 1 / -1; } .link-group:last-child ul { columns: 2; column-gap: 2rem; } .link-group:last-child li { break-inside: avoid; } } @media (max-width: 640px) { .app-shell { padding: 0.9rem 1rem; } .site-footer { padding: 0 1rem 1rem; } .hero { margin: 0; } .hero-header { flex-direction: column; align-items: flex-start; } }