:root {
    --primary-blue: #314972;
    --primary-hover: #3d5d92;
    --text-dark: #1f2937;
    --text-body: #4b5563;
    --text-light: #9ca3af;
    --text-lighter: #e1e7f1;
    --bg-light: #f9fafb;
    --bg-card: #ffffff;
    --border-light: #e5e7eb;
    --btn-skip: #314972;
    --btn-skip-hover: #3d5d92;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Roboto', Arial, sans-serif;
    font-size: 1rem;
    line-height: 1.4;
    background-color: var(--bg-light);
    color: var(--text-body);
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}

/* Header Styles */
header {
    background-color: var(--primary-blue);
    color: white;
    position: sticky;
    top: 0;
    z-index: 50;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
}

.header-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0.15rem 0.15rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 48px;
}

.header-title {
    font-size: 1.6rem;
    font-weight: 400;
    margin-left: 1rem;
}

.header-title::before {
    background-image: url("/diffy.png");
    --icon-width: 1em;
    --icon-height: 1em;
    background-size: 1em 1em;
    background-repeat: no-repeat;
    content: "";
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-right: clamp(0px, 1em, 8px);
    margin-bottom: -4px;
    flex-shrink: 0;
}

.skip-btn {
    background-color: var(--btn-skip);
    color: var(--text-lighter);
    text-decoration: none;
    padding: 0.5rem 1.25rem;
    border-radius: 0.5rem;
    font-size: 0.9rem;
    transition: background-color 0.2s ease, transform 0.1s ease;
    margin-left: auto;
    font-family: 'Open Sans';
    font-style: normal;
    font-weight: 500;
}

.skip-btn:hover {
    background-color: var(--btn-skip-hover);
    transform: translateY(-1px);
}

/* Main Layout */
main {
    flex: 1;
    padding-bottom: 4rem;
}

.hero-section {
    max-width: 900px;
    margin: 4rem auto 3rem;
    padding: 0 1.5rem;
    text-align: center;
}

.hero-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    margin-bottom: 2rem;
}

.hero-image {
    width: 160px;
    height: auto;
}

.hero-title {
    font-size: 3.5rem;
    font-weight: 800;
    color: var(--text-dark);
    line-height: 1.1;
    text-align: left;
}

.hero-intro-text {
    font-size: 1.125rem;
    color: var(--text-body);
    max-width: 800px;
    margin: 0 auto 2.5rem;
    text-align: left;
}

.hero-intro-text strong {
    color: var(--text-dark);
}

.install-btn {
    display: inline-block;
    background-color: var(--primary-blue);
    color: white;
    text-decoration: none;
    padding: 0.875rem 2.5rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 1.125rem;
    box-shadow: 0 4px 6px -1px rgba(37, 99, 235, 0.4);
    transition: all 0.2s ease;
}

.install-btn:hover {
    background-color: var(--primary-hover);
    box-shadow: 0 10px 15px -3px rgba(37, 99, 235, 0.4);
    transform: translateY(-2px);
}

.features-section {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 1.5rem;
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
}

.feature-card {
    background: var(--bg-card);
    border: 1px solid var(--border-light);
    border-radius: 1rem;
    padding: 2rem;
    display: flex;
    flex-direction: column;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.feature-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

.feature-title {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-dark);
    margin-bottom: 1rem;
}

.feature-text {
    flex: 1;
    margin-bottom: 1.5rem;
    font-size: 0.9375rem;
}

.feature-actions {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.icon-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background-color: #f3f4f6;
    color: var(--text-body);
    transition: all 0.2s ease;
    text-decoration: none;
}

.icon-btn svg {
    width: 22px;
    height: 22px;
    fill: currentColor;
}

/* Action Icon Hover Colors */
.icon-btn.youtube:hover { background-color: #ff0000; color: white; }
.icon-btn.google:hover { background-color: #4285F4; color: white; }
.icon-btn.x-twitter:hover { background-color: #000000; color: white; }
.icon-btn.mastodon:hover { background-color: #6364FF; color: white; }
.icon-btn.bluesky:hover { background-color: #6364FF; color: white; }
.icon-btn.discord:hover { background-color: #5865F2; color: white; }

@media (min-width: 768px) {
    .features-section {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 640px) {
    .hero-header {
        flex-direction: column;
        text-align: center;
        gap: 1.5rem;
    }
    .hero-title {
        text-align: center;
        font-size: 2.5rem;
    }
    .hero-intro-text {
        text-align: center;
    }
}

/* Footer Styles */
footer {
    background-color: var(--bg-card);
    border-top: 1px solid var(--border-light);
    padding: 2rem 1.5rem;
    text-align: center;
    margin-top: auto;
}

.footer-text {
    color: var(--text-light);
    font-size: 0.875rem;
}