@import url('https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@700;900&display=swap');

/* Canonical 365Finds network tokens. Synced into each static site's public assets at build time. */
:root {
    --network-bg: #121212;
    --network-surface: #1b1b1b;
    --network-surface-raised: #242424;
    --network-ink: #050505;
    --network-text: #fafafa;
    --network-muted: #a1a1aa;
    --network-line: rgba(255, 255, 255, 0.12);
    --network-header-height: 4rem;
    --site-accent: #ff4d00;
    --site-accent-ink: #050505;
}

body[data-site-theme="portal"] { --site-accent: #ff4d00; }
body[data-site-theme="game"] { --site-accent: #ccff00; }
body[data-site-theme="ai"] { --site-accent: #0066ff; --site-accent-ink: #ffffff; }
body[data-site-theme="movie"] { --site-accent: #e1063a; --site-accent-ink: #ffffff; }
body[data-site-theme="coin"] { --site-accent: #c99a2e; }
body[data-site-theme="coupon"] { --site-accent: #00c9c2; }
body[data-site-theme="girl"] { --site-accent: #ff2d9a; }
body[data-site-theme="vpn"] { --site-accent: #eaf7ff; }
body[data-site-theme="buy"] { --site-accent: #ffb800; }
body[data-site-theme="sports"] { --site-accent: #00a6d6; }
body[data-site-theme="diet"] { --site-accent: #8dbf3c; }
body[data-site-theme="cash"] { --site-accent: #00a878; }
body[data-site-theme="fans"] { --site-accent: #b5175b; --site-accent-ink: #ffffff; }

.network-signal-bar {
    position: sticky;
    top: 0;
    z-index: 100;
    background: var(--site-accent);
    border-bottom: 0;
    color: var(--site-accent-ink);
}

.network-signal-bar__inner,
.signal-inner {
    box-sizing: border-box;
    display: grid;
    grid-template-columns: minmax(15rem, 1fr) minmax(22rem, 34rem) minmax(14rem, 1fr);
    align-items: center;
    gap: 1rem;
    max-width: 90rem;
    min-height: 4rem;
    margin: 0 auto;
    padding: .5rem 1.25rem;
}

.network-crumb, .network-controls, .signal-actions { display: flex; align-items: center; }
.network-crumb { gap: .7rem; min-width: 0; color: var(--site-accent-ink); font-family: 'Space Grotesk', sans-serif; font-weight: 900; white-space: nowrap; }
.network-signal-bar a { color: inherit; text-decoration: none; }
.network-home { display: inline-flex; gap: .38rem; font-size: .78rem; letter-spacing: .035em; font-weight: 700; align-items: baseline; }
.network-home i { font-size: 1.02rem; }
.network-divider { opacity: .64; font-size: .7rem; }
.network-current { overflow: hidden; font-size: 1.28rem; letter-spacing: -.045em; font-weight: 900; text-overflow: ellipsis; }
.network-home:focus-visible, .network-current:focus-visible, .network-ad-slot:focus-visible, .network-language-menu summary:focus-visible, .network-site-switcher summary:focus-visible, .all-sites-link:focus-visible, .footer-site-link:focus-visible, .footer-aux-link:focus-visible { outline: 2px solid var(--network-bg); outline-offset: 2px; }
.network-ad-slot,
.affiliate-banner { box-sizing: border-box; min-width: 0; min-height: 2.65rem; width: 100%; display: flex; align-items: center; justify-content: flex-start; gap: .65rem; padding: .35rem 1.6rem; background: #050505; color: #fafafa!important; clip-path: polygon(.7rem 0, 100% 0, calc(100% - .7rem) 100%, 0 100%); font-family: 'Space Grotesk', sans-serif; text-align: left; text-transform: uppercase; }
.network-ad-slot__eyebrow, .sponsor-label { flex: 0 0 auto; color: var(--site-accent); font-size: .65rem; font-weight: 900; letter-spacing: .08em; }
.network-ad-slot__label { overflow: hidden; font-size: .72rem; letter-spacing: .06em; text-overflow: ellipsis; white-space: nowrap; }
.network-ad-slot:hover, .network-ad-slot:focus-visible { background: #171717; color: #ffffff!important; }
.network-controls, .signal-actions { justify-content: flex-end; gap: .7rem; min-width: 0; font-family: 'Space Grotesk', sans-serif; }
.network-language-menu, .language-menu, .network-site-switcher, .site-switcher { position: relative; }
.network-language-menu summary, .language-menu summary, .network-site-switcher summary, .site-switcher summary { display: inline-flex; align-items: center; gap: .42rem; min-height: 2.1rem; padding: 0; border: 0; background: transparent; color: var(--site-accent-ink); cursor: pointer; list-style: none; font: 900 .76rem/1 'Space Grotesk', sans-serif; }
.network-language-menu summary::-webkit-details-marker, .language-menu summary::-webkit-details-marker, .network-site-switcher summary::-webkit-details-marker, .site-switcher summary::-webkit-details-marker { display: none; }
.network-language-menu summary .fa-chevron-down { font-size: .6rem; transition: transform .18s ease; }
.network-language-menu[open] summary .fa-chevron-down { transform: rotate(180deg); }
.network-language-menu > .language-menu-list, .network-site-switcher > .all-sites { display: none; position: absolute; z-index: 1100; right: 0; top: calc(100% + .65rem); padding: .4rem; border: 1px solid var(--network-line); background: #161616; box-shadow: 0 .75rem 1.5rem rgba(0, 0, 0, .4); color: var(--network-text); }
.network-language-menu[open] > .language-menu-list { display: grid; gap: .2rem; min-width: 9.5rem; }
.network-site-switcher[open] > .all-sites { display: grid; grid-template-columns: 1fr; gap: .1rem; width: 13rem; max-block-size: min(70dvh, 36rem); overflow-y: auto; }
.network-language-menu button, .all-sites-link { appearance: none; width: 100%; display: flex; align-items: center; gap: .6rem; border: 0; background: transparent; color: var(--network-text); cursor: pointer; font: 700 .78rem/1 'Space Grotesk', sans-serif; padding: .65rem; text-align: left; }
.all-sites-link i { width: 1.05rem; flex: 0 0 auto; text-align: center; }
.network-signal-bar .site-switcher-menu .all-sites-link > span { display: inline; padding: 0; }
.all-sites-link.is-current { color: var(--site-accent); box-shadow: inset .18rem 0 0 var(--site-accent); }
.network-language-menu button:hover, .network-language-menu button:focus-visible, .all-sites-link:hover, .all-sites-link:focus-visible, .footer-site-link:hover, .footer-aux-link:hover { color: #050505; background: var(--site-accent); outline: 0; }

.network-footer { box-sizing: border-box; min-height: 190px; background: var(--network-surface); border-top: 1px solid var(--network-line); color: var(--network-text); padding: 1.25rem 1rem .65rem; }
.network-footer__inner { display: grid; grid-template-columns:minmax(12rem,1.2fr) minmax(24rem,2.2fr) minmax(8rem,.6fr); gap: 1.25rem; max-width: 80rem; margin: 0 auto; }
.network-footer__brand { font-size: .6875rem; line-height: 1.45; }
.network-footer__name { color: var(--network-text); font-size: 1.1rem; font-weight: 800; text-decoration: none; }
.network-footer__brand p { margin: .45rem 0 0; color: var(--network-muted); }
.network-footer__brand small { display: block; margin-top: .35rem; color: var(--network-muted); }
.network-footer__sites { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .45rem .75rem; }
.footer-site-link, .footer-aux-link { color: var(--network-muted); font-size: .6875rem; line-height: 1.25; text-decoration: none; }
.footer-site-link.is-current { color: var(--site-accent); font-weight: 800; }
.network-footer__information { display: grid; align-content: start; gap: .5rem; }
.network-footer__copyright { max-width: 80rem; margin: 1rem auto 0; padding-top: .65rem; border-top: 1px solid var(--network-line); color: var(--network-muted); font-size: .625rem; }

@media (max-width: 52rem) {
    :root { --network-header-height: 9.75rem; }
    .network-signal-bar > .network-signal-bar__inner.signal-inner { grid-template-columns: 1fr; min-height: var(--network-header-height); gap: .45rem; padding: .5rem 1.25rem; }
    .network-signal-bar .network-ad-slot.affiliate-banner { display: flex; justify-content: center; min-height: 2.65rem; padding: .3rem 1.45rem; }
    .network-controls, .signal-actions { justify-content: space-between; }
    .network-site-switcher[open] > .all-sites { right: 0; width: min(18rem, calc(100vw - 2.5rem)); }
    .network-footer__sites { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
    }
}
