::-webkit-scrollbar {
    width: 10px;
    background: #232946;
}

::-webkit-scrollbar-thumb {
    background: #1976d270;
    border-radius: 5px;
}

.page {
    position: relative;

}

/* Version Banner Styling */
.announcement {
    background: linear-gradient(135deg, #1976d2, #42a5f5) !important;
    border: none !important;
    padding: 5px 12px !important;
    text-align: center !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 8px rgba(25, 118, 210, 0.3) !important;
    position: sticky !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 1000 !important;
    margin: 0 !important;
}

/* Adjust page content to account for fixed banner */
.furo-sidebar {
    top: 60px !important;
    height: calc(100vh - 60px) !important;
}

.furo-main {
    padding-top: 60px !important;
}

/* Adjust mobile layout */
@media (max-width: 768px) {
    .furo-main {
        padding-top: 70px !important;
    }

    .announcement {
        padding: 10px 15px !important;
    }
}

.announcement a {
    color: white !important;
    text-decoration: none !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    font-size: 14px !important;
    transition: opacity 0.2s ease !important;
}

.announcement a:hover {
    opacity: 0.9 !important;
    text-decoration: none !important;
}

.problematic {
    color: inherit !important;
}

.coverage-iframe-container iframe {
    border-radius: 18px;
    width: 100%;
    min-height: 600px;
    background: #fff;
    border: none;
    box-shadow: none;
}

/* Hide scrollbars by default, show on hover/focus */
/* Hide scrollbars by default, show on hover/focus */

h1.coverage-title {
    font-size: 2em;
    margin-bottom: 0.5em;
    color: #1976d2;
    text-align: center;
}

.coverage-summary-container {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 2em 0 1.5em 0;
}

.coverage-summary-bar-outer {
    width: 340px;
    height: 32px;
    background: #ece9f7;
    border-radius: 18px;
    box-shadow: 0 2px 12px #1976d244;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
}

.coverage-summary-bar-inner {
    height: 100%;
    background: linear-gradient(90deg, #1976d2 60%, #a34cfb33 100%);
    border-radius: 18px 0 0 18px;
    transition: width 0.7s cubic-bezier(.4, 0, .2, 1);
    min-width: 0;
    width: 0;
    box-shadow: 0 0 12px #1976d288;
}

.coverage-summary-label {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #23243a;
    font-weight: 700;
    font-size: 1.18em;
    letter-spacing: 0.01em;
    text-shadow: 0 2px 8px #8000ff22, 0 1px 0 #fff1;
    pointer-events: none;
}

.coverage-iframe-container {
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 2px 24px #1976d244;
    margin: 0 auto 2em auto;
    max-width: 100%;
    background: #fff;
    border: 1.5px solid #ece9f7;
}

/* Duplicate .coverage-iframe-container iframe selector removed */

/* Hide scrollbars by default, show on hover/focus */
.coverage-iframe-container iframe::-webkit-scrollbar {
    width: 8px;
    background: transparent;
}

.coverage-iframe-container iframe:hover::-webkit-scrollbar {
    background: #ece9f7;
}

.coverage-iframe-container iframe::-webkit-scrollbar-thumb {
    background: #b972ff88;
    border-radius: 8px;
}

/* Style for badge in hero section */
.hero-coverage-badge {
    display: inline-block;
    margin-top: 1.1em;
    border-radius: 8px;
    box-shadow: 0 2px 12px #1976d244;
    overflow: hidden;
    border: 1.5px solid #ece9f7;
    background: #fff;
    transition: box-shadow 0.2s;
}

.hero-coverage-badge:hover {
    box-shadow: 0 4px 18px #1976d244;
}

.satellite-orbit {
    width: 120px;
    height: 60px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.satellite-svg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    animation: satellite-orbit 5.5s linear infinite;
    will-change: transform;
}

@keyframes satellite-orbit {
    0% {
        transform: translate(-50%, -50%) rotate(0deg) translateY(-10px) scale(1);
    }

    40% {
        transform: translate(-50%, -50%) rotate(144deg) translateY(10px) scale(1.04);
    }

    60% {
        transform: translate(-50%, -50%) rotate(216deg) translateY(10px) scale(1.04);
    }

    100% {
        transform: translate(-50%, -50%) rotate(360deg) translateY(-10px) scale(1);
    }
}

/* --- Minimal, modern hero section --- */
.hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: transparent;
    border-radius: 14px;
    box-shadow: 0 6px 32px 0 rgba(32, 34, 54, 0.10);
    padding: 2.2em 1.5em 2.2em 1.5em;
    margin-bottom: 2.5em;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    text-align: center;
}

@media (prefers-color-scheme: dark) {
    .hero {
        box-shadow: 0 4px 32px var(--hero-shadow-dark, #23243a55);
    }
}

.hero-content h1 {
    font-size: 2.5em;
    margin-bottom: 0.25em;
    color: var(--color-foreground-primary, #23243a);
    font-weight: 700;
    letter-spacing: 0.01em;
}

.hero-content p {
    font-size: 1.18em;
    margin-bottom: 1.1em;
    color: var(--color-foreground-secondary, #444);
    font-weight: 400;
}


/* Modern hero button style */
.hero-btn-modern {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.62em 1.3em;
    background: #1a237e;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-weight: 600;
    border: none;
    outline: none;
    box-shadow: 0 2px 8px #23243a22;
    font-size: 1.05em;
    letter-spacing: 0.01em;
    transition: background 0.18s, color 0.18s, box-shadow 0.18s, transform 0.18s;
    cursor: pointer;
    position: relative;
}

.hero-btn-modern svg {
    margin-right: 0.5em;
    vertical-align: middle;
    filter: drop-shadow(0 0 2px #1976d2aa);
    transition: filter 0.18s;
}

.hero-btn-modern:hover,
.hero-btn-modern:focus {
    background: #283593;
    color: #fff;
    box-shadow: 0 4px 14px #23243a33;
    transform: translateY(-1px) scale(1.03);
}

.hero-btn-modern:hover svg,
.hero-btn-modern:focus svg {
    filter: drop-shadow(0 0 6px #1976d2cc) brightness(1.08);
}

.hero-animation {
    min-width: 120px;
    min-height: 60px;
    margin: 1.2em auto 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    /* No box-shadow, clean floating */
    box-shadow: none;
    position: static;
}

/* (This block is now merged above, so remove this duplicate entirely) */


.hero-btn:hover .hero-btn-icon,
.hero-btn:focus .hero-btn-icon {
    filter: drop-shadow(0 0 8px #8000ffcc) brightness(1.2);
    /* Removed duplicate .hero-animation selector; merged properties above */
    position: static;
}



h2,
h3 {
    margin-top: 2.2em;
    color: var(--color-foreground-primary, #23243a);
    letter-spacing: 0.01em;
    text-shadow: 0 2px 8px #1976d222, 0 1px 0 #fff1;
}

/* Admonition styling */
.admonition {
    border-left: 4px solid #1976d2;
    background: #f7f3ff;
    border-radius: 6px;
    padding: 0.8em 1.2em;
    margin: 1.5em 0;
}


/* Hide fallback footer if JS is enabled */
.js-enabled .network-footer-fallback {
    display: none !important;
}

.network-footer-fallback-label {
    margin-top: 0.5em;
    font-size: 0.95em;
    color: #888;
}

/* Networking animation footer - use blue colors from logo/theme */
/* Networking animation footer - blue and purple radiance */
#network-animation-footer {
    margin: 1.5em auto 3.5em auto;
    text-align: center;
    position: relative;
    z-index: 1;
}

/* Abstract purple SVG wires as background */
#network-animation-footer .network-wires-bg {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 260px;
    height: 80px;
    z-index: 0;
    pointer-events: none;
    opacity: 0.7;
}

.network-animation {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
    position: relative;
    z-index: 1;
}

.network-animation .node {
    width: 16px;
    height: 16px;
    background: #1976d2;
    border-radius: 50%;
    box-shadow: 0 0 12px #1976d288;
    animation: node-blink 2.2s cubic-bezier(.4, 0, .2, 1) infinite alternate;
}

.network-animation .node:nth-child(1) {
    animation-delay: 0s;
}

.network-animation .node:nth-child(3) {
    animation-delay: 0.3s;
}

.network-animation .node:nth-child(5) {
    animation-delay: 0.6s;
}

.network-animation .node:nth-child(7) {
    animation-delay: 0.9s;
}

.network-animation .line {
    width: 32px;
    height: 4px;
    background: linear-gradient(90deg, #1976d2 60%, #fff0 100%);
    border-radius: 2px;
    opacity: 0.18;
    animation: line-electric 2.2s cubic-bezier(.4, 0, .2, 1) infinite alternate;
}

.network-animation .line.active {
    opacity: 1;
    background: linear-gradient(90deg, #1976d2 60%, #42a5f5 100%);
    box-shadow: 0 0 12px #42a5f5cc;
    transition: opacity 0.3s, background 0.3s, box-shadow 0.3s;
}

@keyframes node-blink {
    0% {
        opacity: 0.7;
        box-shadow: 0 0 8px #1976d244;
    }

    100% {
        opacity: 1;
        box-shadow: 0 0 16px #1976d2cc;
    }
}

@keyframes line-electric {

    0%,
    100% {
        opacity: 0.18;
    }

    20% {
        opacity: 1;
    }

    80% {
        opacity: 1;
    }
}

h1 {
    font-size: 2.5em;
}