:root{color-scheme:dark;--hero-image:none;--bg:#03090e;--panel:#08131c;--line:#34414c;--text:#f4f5f6;--muted:#aebbc5;--orange:#f28a25;--yellow:#ffc23d;--blue:#49b7ed;--green:#67d33f;--purple:#bb78ff}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 0,#10202e 0,#050b10 42rem,#02070b 100%);color:var(--text);font-family:Aptos,"Segoe UI",Arial,sans-serif}.radio-hero{position:relative;min-height:clamp(230px,24vw,365px);overflow:hidden;border-bottom:1px solid #8c4a20;background-image:linear-gradient(90deg,rgba(6,10,15,.38),rgba(6,10,15,.08),rgba(6,10,15,.45)),var(--hero-image),linear-gradient(135deg,#351428,#e26122 48%,#131e39);background-size:cover;background-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.28) 62%,rgba(0,0,0,.68))}.hero-copy{position:relative;z-index:1;width:min(950px,90%);margin:auto;padding:25px 10px;text-align:center;text-shadow:0 5px 14px #000}.hero-kicker{color:#ffe0ae;font-size:.8rem;letter-spacing:.23em;text-transform:uppercase}.hero-copy h1{margin:-3px 0 -14px;font-size:clamp(4.5rem,10vw,9rem);line-height:1;color:#d9dde0;letter-spacing:.04em;font-weight:950;-webkit-text-stroke:2px #292d31;text-shadow:0 6px 0 #111,0 12px 20px #000}.hero-copy>strong{display:block;color:#ffc044;font-size:clamp(1.3rem,3vw,2.7rem);letter-spacing:.42em}.hero-copy p{margin:3px 0;color:#fff;font-size:clamp(.78rem,1.7vw,1.45rem);font-weight:800;letter-spacing:.19em}.hero-copy em{display:block;color:#ffc14b;font-family:Georgia,serif;font-size:clamp(1.35rem,3vw,2.4rem)}.hero-tagline{position:absolute;z-index:2;top:32px;right:4%;text-align:center;text-shadow:0 3px 8px #000}.hero-tagline b{display:block}.hero-tagline span{color:#f79a38;font-family:Georgia,serif;font-size:1.45rem;font-style:italic}.dashboard-nav{position:sticky;top:0;z-index:40;min-height:48px;display:flex;justify-content:center;align-items:stretch;overflow-x:auto;border-bottom:1px solid #36404a;background:rgba(3,9,14,.97);backdrop-filter:blur(10px)}.dashboard-nav>a{display:flex;align-items:center;gap:6px;padding:0 22px;border-bottom:3px solid transparent;color:#e8e8e8;text-decoration:none;text-transform:uppercase;font-weight:750;font-size:.8rem;white-space:nowrap}.dashboard-nav>a:hover,.dashboard-nav>a.active{color:var(--orange);border-color:var(--orange);background:#0b1821}.network-weather{display:flex;align-items:center;min-height:38px;border-bottom:1px solid #384550;background:#07121a;overflow:hidden}.network-weather>strong{z-index:2;align-self:stretch;display:flex;align-items:center;padding:0 15px;background:var(--orange);color:#071019;font-size:.68rem;letter-spacing:.08em;white-space:nowrap}.marquee-window{min-width:0;flex:1;overflow:hidden}.marquee-track{display:flex;width:max-content;gap:46px;padding-left:100%;animation:weather-scroll 42s linear infinite;color:#dbe4e9;font-size:.75rem;white-space:nowrap}.marquee-track span b{color:var(--blue)}.marquee-track span i{color:var(--yellow);font-style:normal}@keyframes weather-scroll{to{transform:translateX(-100%)}}.live-net-bar{width:min(1500px,calc(100% - 24px));margin:12px auto 0;padding:10px 14px;display:flex;align-items:center;gap:22px;border:1px solid #268f60;border-radius:8px;background:#071b16;color:#d8ede5;font-size:.78rem}.live-net-bar[hidden]{display:none}.live-net-bar strong{color:#59e59d}.live-net-bar a{margin-left:auto;color:#55c5ff;text-decoration:none;font-weight:800}.live-net-bar a+a{margin-left:0}.dashboard{width:min(1500px,calc(100% - 24px));margin:12px auto 20px;display:grid;grid-template-columns:1.05fr 1.2fr .9fr 1.45fr 1.45fr;grid-template-areas:"weekly repeater echo activity activity" "weekly repeater echo countdown countdown" "weather weather events about about";gap:12px}.panel{position:relative;min-width:0;padding:18px;border:2px solid var(--line);border-radius:10px;background:linear-gradient(145deg,rgba(9,21,31,.97),rgba(4,12,18,.98));box-shadow:inset 0 0 20px rgba(42,91,120,.08),0 8px 18px rgba(0,0,0,.2);overflow:hidden}.panel h2{margin:0 0 13px;color:var(--orange);font-size:1.1rem;letter-spacing:.025em;text-transform:uppercase}.weekly-panel{grid-area:weekly;text-align:center}.repeater-panel{grid-area:repeater;text-align:center}.echolink-panel{grid-area:echo;text-align:center}.activity-panel{grid-area:activity}.countdown-panel{grid-area:countdown}.weather-panel{grid-area:weather}.events-panel{grid-area:events}.about-panel{grid-area:about}.weekly-panel h3{margin:4px 0;font-size:1rem;text-transform:uppercase}.rule{height:1px;margin:14px;background:#51606a}.calendar-icon,.radio-symbol{color:var(--orange);font-size:3rem}.small-label{margin:4px 0;text-transform:uppercase;font-weight:800}.big-time{display:block;font-size:2rem}.orange{color:var(--orange);font-weight:800;text-transform:uppercase}.blue{color:var(--blue)}.utc-time{color:var(--muted);font-size:.72rem}.panel-note{margin:20px 0;color:#d6d8da;font-size:.76rem;line-height:1.5;text-transform:uppercase}.button-link{display:inline-block;padding:8px 12px;border:1px solid var(--orange);border-radius:6px;color:var(--orange);text-decoration:none;font-size:.75rem;font-weight:800}.panel-link{display:block;margin-top:13px;color:var(--blue);font-size:.76rem;font-weight:800;text-align:right;text-decoration:none}.station{display:block;font-size:1.75rem}.frequency{display:block;margin:9px 0;color:var(--orange);font-size:1.6rem}.repeater-panel p,.echolink-panel p{margin:5px 0 9px;color:#e0e2e3;font-size:.8rem;text-transform:uppercase}.activity-grid{display:grid;grid-template-columns:1.45fr repeat(3,1fr);min-height:105px}.activity-grid>div{padding:6px 13px;border-left:1px solid #46515a}.activity-grid>div:first-child{border-left:0}.activity-grid h3{margin:0 0 6px;color:#d9e3e9;font-size:.8rem;text-transform:uppercase}.mini-last-heard{display:grid;gap:4px;font-size:.75rem}.mini-row{display:flex;justify-content:space-between;gap:10px}.mini-row strong{color:#fff}.mini-row span{color:#c9d1d6}.activity-stat{text-align:center}.activity-stat span{display:block;font-size:.7rem;font-weight:800;text-transform:uppercase}.activity-stat strong{display:block;margin:7px;font-size:1.9rem}.activity-stat small{color:#d5d7d9;font-size:.66rem}.green-stat span,.green-stat strong{color:var(--green)}.purple-stat span,.purple-stat strong{color:var(--purple)}.orange-stat span,.orange-stat strong{color:var(--orange)}.countdown-panel{display:flex;align-items:center;justify-content:space-between;gap:15px}.countdown-title{display:flex;align-items:center;gap:10px}.countdown-title>span{color:var(--orange);font-size:2rem}.countdown-title h2{margin:0}.countdown-title p{margin:5px 0 0;text-transform:uppercase;font-weight:700;font-size:.74rem}.countdown-values{display:flex;gap:28px}.countdown-values div{text-align:center}.countdown-values strong{display:block;color:var(--orange);font-size:1.55rem;font-variant-numeric:tabular-nums}.countdown-values span{font-size:.65rem;text-transform:uppercase}.clock-values{display:grid;gap:5px;padding-left:15px;border-left:1px solid #45515a;color:var(--muted);font-size:.62rem}.clock-values b{color:#fff;font-size:.75rem}.weather-layout{display:grid;grid-template-columns:165px 1fr;gap:15px}.weather-now{display:grid;align-content:center;border-right:1px solid #4c5962}.weather-now strong{font-size:3.2rem}.weather-now span,.weather-now small{display:block;margin-top:6px}.forecast-days{display:grid;grid-template-columns:repeat(4,1fr)}.forecast-day{display:grid;place-items:center;align-content:center;border-left:1px solid #384550}.forecast-day:first-child{border-left:0}.forecast-day span{text-transform:uppercase}.forecast-day b{color:var(--yellow);font-size:1.7rem}.forecast-day small{color:#d0d3d6}.event-mini-list{display:grid;gap:11px}.event-mini-list div{display:grid;grid-template-columns:90px 1fr;gap:8px;font-size:.76rem}.event-mini-list time{color:var(--blue);font-weight:800}.about-panel{display:grid;grid-template-columns:1fr 145px;gap:16px}.about-panel p{color:#d4d8db;font-size:.8rem;line-height:1.55}.about-panel img{width:135px;height:135px;object-fit:contain;align-self:center}.fallback-logo{width:130px;height:130px;display:grid;place-items:center;align-content:center;border:4px solid var(--orange);border-radius:50%;color:var(--orange);font-weight:950}.fallback-logo small{display:block}.resource-links{display:flex;gap:8px;flex-wrap:wrap}.resource-links a{padding:6px 8px;border:1px solid #3e4d58;border-radius:6px;color:var(--blue);font-size:.68rem;text-decoration:none}.dashboard-footer{min-height:62px;display:flex;justify-content:space-around;align-items:center;gap:18px;padding:12px 25px;border-top:1px solid #79451f;background:#091016;color:#d0d2d4;font-size:.76rem}.dashboard-footer a{color:var(--blue);text-decoration:none}.dashboard-footer strong{color:var(--orange);font-family:Georgia,serif;font-style:italic;font-size:1.1rem}
@media(prefers-reduced-motion:reduce){.marquee-track{animation:none;padding:10px 16px;white-space:normal;flex-wrap:wrap}}
@media(max-width:1100px){.hero-tagline{display:none}.dashboard{grid-template-columns:repeat(2,1fr);grid-template-areas:"weekly repeater" "echo activity" "countdown countdown" "weather weather" "events about"}.activity-grid{grid-template-columns:1.4fr repeat(3,1fr)}.live-net-bar{flex-wrap:wrap}}
@media(max-width:720px){.radio-hero{min-height:245px}.hero-copy h1{font-size:4.25rem}.hero-copy>strong{font-size:1.15rem}.hero-copy p{font-size:.68rem}.dashboard-nav{justify-content:flex-start}.dashboard-nav>a{padding:0 14px}.network-weather>strong{padding:0 9px}.dashboard{grid-template-columns:1fr;grid-template-areas:"weekly" "repeater" "echo" "activity" "countdown" "weather" "events" "about"}.activity-grid{grid-template-columns:1fr 1fr}.activity-grid>div{border:0;border-top:1px solid #46515a;padding:12px}.activity-grid>div:first-child{grid-column:1/-1}.countdown-panel{display:block}.countdown-values{justify-content:space-between;gap:8px;margin-top:18px}.clock-values{grid-template-columns:1fr 1fr;margin-top:14px;padding:10px 0 0;border-left:0;border-top:1px solid #45515a}.weather-layout{grid-template-columns:1fr}.weather-now{border:0;border-bottom:1px solid #4c5962;padding-bottom:14px}.forecast-days{grid-template-columns:repeat(2,1fr);gap:9px}.forecast-day{padding:10px;border:1px solid #384550!important}.about-panel{grid-template-columns:1fr}.about-panel img,.fallback-logo{margin:auto}.live-net-bar{align-items:flex-start;flex-direction:column;gap:7px}.live-net-bar a{margin-left:0}.dashboard-footer{align-items:flex-start;flex-direction:column}}

/* KC7WYD connections and compact Last Heard */
.connections-panel .connection-symbol{width:70px;height:70px;display:grid;place-items:center;margin:2px auto 10px;border:3px solid var(--blue);border-radius:50%;color:var(--blue);font-size:2.8rem}.connection-list{display:grid;border-top:1px solid #33434f}.connection-list div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 3px;border-bottom:1px solid #33434f}.connection-list span{color:var(--muted);font-size:.74rem;font-weight:800;text-transform:uppercase}.connection-list strong{color:#fff;font-size:.92rem}.connection-list div:nth-child(1) strong{color:var(--purple)}.connection-list div:nth-child(2) strong{color:var(--green)}.connection-list div:nth-child(3) strong{color:var(--orange)}.compact-activity-panel{padding:15px 17px}.compact-activity-title{display:flex;align-items:center;justify-content:space-between;gap:15px}.compact-activity-title h2{margin:0}.compact-activity-title a{color:var(--blue);font-size:.7rem;font-weight:800;text-decoration:none}.compact-live-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:11px 0 8px;padding:9px 11px;border:1px solid #334653;border-radius:7px;background:#061019}.compact-live-head span{color:var(--muted);font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.compact-live-head span.is-transmitting{color:#6ce89e}.compact-live-head strong{min-width:0;overflow:hidden;color:#fff;font-size:.84rem;text-overflow:ellipsis;white-space:nowrap}.compact-column-headings,.compact-heard-row{display:grid;grid-template-columns:1.1fr .85fr .8fr;align-items:center;gap:12px}.compact-column-headings{padding:5px 9px;color:#778792;font-size:.61rem;font-weight:800;text-transform:uppercase}.compact-last-heard{border-top:1px solid #344550}.compact-heard-row{min-height:28px;padding:5px 9px;border-bottom:1px solid #263640;font-size:.7rem}.compact-heard-row strong{overflow:hidden;color:#fff;text-overflow:ellipsis;white-space:nowrap}.compact-heard-row span{color:var(--blue)}.compact-heard-row time{color:#c8d0d5;text-align:right;font-variant-numeric:tabular-nums}@media(max-width:720px){.compact-column-headings,.compact-heard-row{grid-template-columns:1fr .85fr .75fr;gap:7px}.compact-activity-title{align-items:flex-start}.compact-live-head{align-items:flex-start;flex-direction:column}.compact-live-head strong{white-space:normal}}

/* KC7WYD REPEATER CONNECTION DETAILS */
.repeater-connections {
    width: min(100%, 245px);
    margin: 1rem auto 0;
    padding-top: 0.9rem;
    border-top: 1px solid rgba(255, 255, 255, 0.16);
    text-align: center;
}

.repeater-connection {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.08rem;
    margin: 0 0 0.72rem;
    line-height: 1.25;
}

.repeater-connection:last-child {
    margin-bottom: 0;
}

.repeater-connection strong {
    color: #f7932f;
    font-size: 0.82rem;
    font-weight: 750;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.repeater-connection span {
    color: #f4f7fa;
    font-size: 0.88rem;
    font-weight: 600;
}

/* KC7WYD WEEKLY NET ACTION BUTTONS */
.weekly-net-buttons {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.65rem;
    width: 100%;
    margin-top: 1rem;
}

.weekly-net-buttons .button-link {
    box-sizing: border-box;
    width: min(100%, 190px);
    margin: 0;
    text-align: center;
}

.weekly-net-buttons .monitor-button {
    background: #f7932f;
    color: #07111a;
}

.weekly-net-buttons .monitor-button:hover,
.weekly-net-buttons .monitor-button:focus-visible {
    background: #ffad55;
    color: #07111a;
}

/* KC7WYD CENTERED HOMEPAGE LAYOUT */
.dashboard {
    width: min(1500px, calc(100% - 48px));
    margin: 24px auto;
    display: grid;
    grid-template-columns:
        minmax(250px, 0.90fr)
        minmax(280px, 1fr)
        minmax(300px, 1.35fr)
        minmax(300px, 1.35fr);
    grid-template-areas:
        "weekly repeater activity activity"
        "weekly repeater countdown countdown"
        "weather weather events events";
    gap: 18px;
    align-items: stretch;
}

.dashboard > .panel {
    width: 100%;
    min-width: 0;
}

.weekly-panel {
    grid-area: weekly;
}

.repeater-panel {
    grid-area: repeater;
}

.activity-panel {
    grid-area: activity;
}

.countdown-panel {
    grid-area: countdown;
}

.weather-panel {
    grid-area: weather;
}

.events-panel {
    grid-area: events;
}

/* Center the retained Network Repeaters section. */
.kc-network-card {
    width: min(1500px, calc(100% - 48px)) !important;
    max-width: 1500px !important;
    margin: 24px auto !important;
}

/* Ensure the repeater list uses the available card width. */
.kc-network-body {
    width: 100%;
}

.kc-repeaters-grid {
    width: 100%;
}

/* Balanced desktop layout below full-screen size. */
@media (max-width: 1200px) {
    .dashboard {
        width: min(1000px, calc(100% - 36px));
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "weekly repeater"
            "activity activity"
            "countdown countdown"
            "weather weather"
            "events events";
        gap: 16px;
    }

    .kc-network-card {
        width: min(1000px, calc(100% - 36px)) !important;
    }
}

/* Tablet and phone layout. */
@media (max-width: 720px) {
    .dashboard {
        width: calc(100% - 24px);
        margin: 14px auto 20px;
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas:
            "weekly"
            "repeater"
            "activity"
            "countdown"
            "weather"
            "events";
        gap: 12px;
    }

    .kc-network-card {
        width: calc(100% - 24px) !important;
        margin: 14px auto 20px !important;
    }

    .dashboard > .panel {
        padding: 16px;
    }
}

/* KC7WYD FULL-DISPLAY AND READABLE MARQUEE */
.dashboard {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 18px auto 24px !important;
    grid-template-columns:
        minmax(260px, 0.86fr)
        minmax(290px, 0.96fr)
        minmax(360px, 1.55fr)
        minmax(360px, 1.55fr) !important;
    gap: 16px !important;
}

.live-net-bar {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.kc-network-card {
    width: calc(100% - 32px) !important;
    max-width: none !important;
    margin: 18px auto 24px !important;
}

/* Make all retained repeater rows use the available display. */
.kc-network-body,
.kc-repeaters-grid {
    width: 100% !important;
    max-width: none !important;
}

/* Larger, more readable weather/location marquee. */
.network-weather {
    min-height: 50px !important;
}

.network-weather > strong {
    min-width: max-content;
    padding: 0 20px !important;
    font-size: clamp(0.82rem, 0.85vw, 1rem) !important;
    font-weight: 900 !important;
    letter-spacing: 0.075em !important;
}

.marquee-window {
    display: flex;
    align-items: center;
    min-height: 50px;
}

.marquee-track {
    align-items: center;
    gap: clamp(42px, 4vw, 78px) !important;
    font-size: clamp(0.90rem, 1vw, 1.12rem) !important;
    font-weight: 650 !important;
    line-height: 1.35 !important;
}

.marquee-track span {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
}

.marquee-track span b {
    color: var(--blue);
    font-size: 1.03em;
    font-weight: 900;
}

.marquee-track span i {
    color: var(--yellow);
    font-size: 1.03em;
    font-weight: 800;
}

/* Increase core dashboard readability on large displays. */
@media (min-width: 1500px) {
    .panel {
        padding: 22px !important;
    }

    .panel h2 {
        font-size: clamp(1.1rem, 1vw, 1.3rem);
    }

    .compact-heard-row {
        min-height: 34px;
        font-size: clamp(0.74rem, 0.8vw, 0.92rem);
    }

    .compact-column-headings {
        font-size: clamp(0.66rem, 0.7vw, 0.8rem);
    }

    .compact-live-head strong {
        font-size: clamp(0.88rem, 0.9vw, 1.05rem);
    }
}

/* Two-column tablet layout. */
@media (max-width: 1200px) {
    .dashboard {
        width: calc(100% - 28px) !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        grid-template-areas:
            "weekly repeater"
            "activity activity"
            "countdown countdown"
            "weather weather"
            "events events" !important;
    }

    .live-net-bar,
    .kc-network-card {
        width: calc(100% - 28px) !important;
    }
}

/* Single-column mobile layout. */
@media (max-width: 720px) {
    .dashboard {
        width: calc(100% - 20px) !important;
        margin: 10px auto 18px !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-areas:
            "weekly"
            "repeater"
            "activity"
            "countdown"
            "weather"
            "events" !important;
        gap: 10px !important;
    }

    .live-net-bar,
    .kc-network-card {
        width: calc(100% - 20px) !important;
    }

    .network-weather {
        min-height: 46px !important;
    }

    .network-weather > strong {
        padding: 0 12px !important;
        font-size: 0.76rem !important;
    }

    .marquee-window {
        min-height: 46px;
    }

    .marquee-track {
        gap: 38px !important;
        font-size: 0.91rem !important;
    }
}
