:root {
    color-scheme: light dark;
    --accent: #2e7d32;
    --card-border: rgba(128, 128, 128, 0.25);
    --card-bg: rgba(128, 128, 128, 0.06);
    --rule: rgba(128, 128, 128, 0.3);
}

* { box-sizing: border-box; }

body {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
    max-width: 800px;
    margin: 0 auto;
    padding: 2.5rem 1.25rem;
    line-height: 1.6;
}

body.home {
    max-width: 820px;
    padding-top: 3rem;
}

a { color: var(--accent); }

header { margin-bottom: 2rem; }
body.home header { margin-bottom: 2.5rem; }

h1 { font-size: 2rem; margin: 0 0 0.25rem; }
body.home h1 { font-size: 2.2rem; }

h2 { font-size: 1.3rem; margin: 2.5rem 0 1rem; }

.handle { color: var(--accent); font-weight: 600; }
.tagline { opacity: 0.8; margin-top: 0.25rem; }

ul { padding-left: 1.25rem; }

code {
    background: rgba(128, 128, 128, 0.15);
    padding: 0.1rem 0.3rem;
    border-radius: 3px;
}

.updated { opacity: 0.7; font-size: 0.95rem; }

.back {
    display: inline-block;
    margin-bottom: 1.5rem;
    opacity: 0.8;
}

.cta {
    display: inline-block;
    margin-top: 0.5rem;
    padding: 0.55rem 1rem;
    border: 1px solid var(--accent);
    border-radius: 8px;
    text-decoration: none;
}

.projects { display: grid; gap: 1rem; }

.card {
    display: block;
    padding: 1.1rem 1.25rem;
    border: 1px solid var(--card-border);
    border-radius: 10px;
    background: var(--card-bg);
    text-decoration: none;
    color: inherit;
    transition: border-color 0.15s ease, transform 0.15s ease;
}

.card:hover {
    border-color: var(--accent);
    transform: translateY(-2px);
}

.card h3 { margin: 0 0 0.3rem; font-size: 1.1rem; }
.card p { margin: 0; opacity: 0.75; font-size: 0.95rem; }
.card .meta { display: inline-block; margin-top: 0.5rem; font-size: 0.8rem; opacity: 0.6; }

.links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    margin-top: 0.5rem;
}

footer {
    margin-top: 3rem;
    font-size: 0.9rem;
    opacity: 0.7;
    border-top: 1px solid var(--rule);
    padding-top: 1rem;
}

body.home footer { margin-top: 3.5rem; }
