:root {
    --text: #4e5868;
    --text-h: #111827;
    --muted: #6b7280;
    --bg: #f8fafc;
    --panel: #ffffff;
    --input-bg: #ffffff;
    --border: #d8dee8;
    --accent: #2563eb;
    --accent-bg: rgba(37, 99, 235, 0.14);
    --secondary-bg: #eef2f7;
    --shadow:
        rgba(15, 23, 42, 0.08) 0 18px 40px -24px,
        rgba(15, 23, 42, 0.08) 0 8px 18px -18px;
    --sans: system-ui, 'Segoe UI', Roboto, sans-serif;
    color-scheme: light dark;
    font: 18px/145% var(--sans);
    letter-spacing: 0;
    color: var(--text);
    background: var(--bg);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

@media (prefers-color-scheme: dark) {
    :root {
        --text: #cbd5e1;
        --text-h: #f8fafc;
        --muted: #94a3b8;
        --bg: #0f172a;
        --panel: #111827;
        --input-bg: #0f172a;
        --border: #334155;
        --accent: #38bdf8;
        --accent-bg: rgba(56, 189, 248, 0.16);
        --secondary-bg: #1e293b;
        --shadow:
            rgba(0, 0, 0, 0.3) 0 18px 40px -24px,
            rgba(0, 0, 0, 0.2) 0 8px 18px -18px;
    }
}

* {
    box-sizing: border-box;
}

body.min-h-screen,
body {
    min-height: 100svh;
    margin: 0;
    font-family: var(--sans);
    color: var(--text);
    background:
        radial-gradient(circle at 70% 18%, rgba(250, 204, 21, 0.18), transparent 28%),
        radial-gradient(circle at 15% 82%, rgba(56, 189, 248, 0.14), transparent 30%),
        var(--bg);
}

.hero-gradient {
    background:
        radial-gradient(circle at 70% 18%, rgba(250, 204, 21, 0.18), transparent 28%),
        radial-gradient(circle at 15% 82%, rgba(56, 189, 248, 0.14), transparent 30%),
        var(--bg) !important;
}

nav.container {
    position: sticky;
    top: 0;
    z-index: 10;
    max-width: none;
    padding: 16px 28px;
    border-bottom: 1px solid var(--border);
    background: color-mix(in srgb, var(--panel) 92%, transparent);
    backdrop-filter: blur(18px);
}

nav .w-8 {
    width: 32px;
    height: 32px;
    border-radius: 999px;
    color: #0f172a;
    background: linear-gradient(135deg, #facc15, #67e8f9);
}

nav span,
h1,
h2,
h3 {
    color: var(--text-h);
    letter-spacing: 0;
}

h1 {
    font-weight: 800;
    line-height: 1;
}

a {
    color: var(--accent);
    text-decoration-color: color-mix(in srgb, var(--accent) 48%, transparent);
    text-underline-offset: 4px;
}

nav a {
    color: var(--muted);
    border-color: var(--accent);
}

nav a:hover,
footer a:hover {
    color: var(--text-h);
}

main.container {
    max-width: 1180px;
}

.glass {
    border: 1px solid var(--border) !important;
    border-radius: 8px !important;
    color: var(--text);
    background: var(--panel) !important;
    box-shadow: var(--shadow) !important;
    backdrop-filter: none !important;
}

.glass:hover {
    border-color: color-mix(in srgb, var(--accent) 32%, var(--border));
}

.glass p,
.text-slate-400,
.text-slate-500 {
    color: var(--muted);
}

.text-indigo-400,
.text-orange-400 {
    color: var(--accent) !important;
}

.bg-indigo-500,
.bg-indigo-600,
.bg-orange-600 {
    background: var(--accent) !important;
}

.bg-slate-800,
.bg-slate-900\/50 {
    background: var(--secondary-bg) !important;
}

.border-slate-800 {
    border-color: var(--border) !important;
}

.rounded-3xl,
.rounded-xl,
.rounded-lg {
    border-radius: 8px !important;
}

button,
a.bg-indigo-600,
a.bg-orange-600,
a.bg-slate-800 {
    min-height: 46px;
    border-radius: 6px;
    font: inherit;
    font-weight: 700;
    box-shadow: none;
}

input,
textarea {
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--input-bg);
    color: var(--text-h);
    font: inherit;
}

input:focus,
textarea:focus {
    border-color: var(--accent);
    outline: 3px solid var(--accent-bg);
}

label {
    color: var(--text-h);
    font-weight: 600;
}

footer.container {
    max-width: none;
    border-color: var(--border);
    color: var(--muted);
}

@media (max-width: 760px) {
    :root {
        font-size: 16px;
    }

    nav.container {
        padding: 14px 20px;
    }

    main.container {
        padding-top: 56px;
    }
}
