{"id":650,"date":"2026-06-27T06:44:39","date_gmt":"2026-06-27T11:44:39","guid":{"rendered":"https:\/\/netoholicsnetwork.net\/?page_id=650"},"modified":"2026-06-28T18:37:10","modified_gmt":"2026-06-28T23:37:10","slug":"node-status","status":"publish","type":"page","link":"https:\/\/netoholicsnetwork.net\/index.php\/node-status\/","title":{"rendered":"WVARC Node Status"},"content":{"rendered":"<div class=\"et_pb_section_0 et_pb_section et_section_regular et_flex_section\"><div class=\"et_pb_row_0 et_pb_row et_flex_row\"><div class=\"et_pb_column_0 et_pb_column et-last-child et_flex_column et_pb_css_mix_blend_mode_passthrough et_flex_column_24_24 et_flex_column_24_24_tablet et_flex_column_24_24_phone\"><div class=\"et_pb_text_0 et_pb_text et_pb_bg_layout_light et_pb_module et_flex_module\"><div class=\"et_pb_text_inner\"><p><!-- wp:shortcode --><br \/>\n        <div class=\"wvarc-page-shell\">\n        <div class=\"wvarc-mobile-nav-bar\">\n            <button class=\"wvarc-mobile-nav-toggle\" type=\"button\" aria-expanded=\"false\" aria-controls=\"wvarc-shell-nav\" aria-label=\"Open navigation\">\n                <span><\/span>\n                <span><\/span>\n                <span><\/span>\n            <\/button>\n        <\/div>\n        <nav id=\"wvarc-shell-nav\" class=\"wvarc-shell-nav\" aria-label=\"WVARC navigation\">\n            <a class=\"wvarc-shell-nav__link\" href=\"https:\/\/westvalleyarc.com\/\">Home<\/a>\n            <a class=\"wvarc-shell-nav__link\" href=\"https:\/\/westvalleyarc.com\/join\">Join<\/a>\n            <div class=\"wvarc-shell-nav__item\">\n                <a class=\"wvarc-shell-nav__link\" href=\"https:\/\/westvalleyarc.com\/node-status#\" aria-expanded=\"false\">About Us <span aria-hidden=\"true\">\u2304<\/span><\/a>\n                <div class=\"wvarc-shell-nav__menu\">\n                    <a href=\"https:\/\/westvalleyarc.com\/who-we-are\">Who We Are<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/come-to-a-meeting\">Come to a Meeting<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/board-%26-committees\">Board &amp; Committees<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/governing-documents\">Governing Documents<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/club-history\">Club History<\/a>\n                <\/div>\n            <\/div>\n            <a class=\"wvarc-shell-nav__link\" href=\"https:\/\/westvalleyarc.com\/events-%26-qsts\">Events &amp; QSTs<\/a>\n            <a class=\"wvarc-shell-nav__link is-active\" href=\"https:\/\/netoholicsnetwork.net\/index.php\/node-status\/\">Node Status<\/a>\n            <div class=\"wvarc-shell-nav__item\">\n                <a class=\"wvarc-shell-nav__link\" href=\"https:\/\/westvalleyarc.com\/node-status#\" aria-expanded=\"false\">Nets <span aria-hidden=\"true\">\u2304<\/span><\/a>\n                <div class=\"wvarc-shell-nav__menu\">\n                    <a href=\"https:\/\/westvalleyarc.com\/net-calendar\">Net Calendar<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/nco-profiles-1\">NCO Profiles<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/net-preamble\">Net Preamble<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/repeater-ops-%26-issues\">Repeater Ops &amp; Issues<\/a>\n                <\/div>\n            <\/div>\n            <div class=\"wvarc-shell-nav__item\">\n                <a class=\"wvarc-shell-nav__link\" href=\"https:\/\/westvalleyarc.com\/node-status#\" aria-expanded=\"false\">Knowledge Center <span aria-hidden=\"true\">\u2304<\/span><\/a>\n                <div class=\"wvarc-shell-nav__menu\">\n                    <a href=\"https:\/\/westvalleyarc.com\/allstar-info-page\">AllStar Info Page<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/wvarc-digital\">WVARC Digital<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/wvarc-video-presentations\">WVARC Video Presentations<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/tech-articles\">Tech Articles<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/emcomm-%2F-emprep-info\">EmComm \/ EmPrep Info<\/a>\n                    <a href=\"https:\/\/learn.arrl.org\/\">ARRL Learning Center<\/a>\n                    <a href=\"https:\/\/www.w7ara.org\/z\/Repeaters.aspx\">ARA Repeaters<\/a>\n                    <a href=\"https:\/\/www.ecfr.gov\/current\/title-47\/chapter-I\/subchapter-D\/part-97#page-top\">Title 47 Part 97 Fed Regs<\/a>\n                <\/div>\n            <\/div>\n            <div class=\"wvarc-shell-nav__item\">\n                <a class=\"wvarc-shell-nav__link\" href=\"https:\/\/westvalleyarc.com\/node-status#\" aria-expanded=\"false\">More <span aria-hidden=\"true\">\u2304<\/span><\/a>\n                <div class=\"wvarc-shell-nav__menu\">\n                    <a href=\"https:\/\/westvalleyarc.com\/special-events\">Special Events<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/wv-ham-shack-info\">WV Ham Shack Info<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/license-test-locations\">License Test Locations<\/a>\n                    <a href=\"https:\/\/westvalleyarc.com\/shop-here\">Shop Here<\/a>\n                    <a href=\"https:\/\/netoholicsnetwork.net\/\">Netoholics Network<\/a>\n                    <a href=\"https:\/\/elmershack.com\/\">ElmerShack<\/a>\n                <\/div>\n            <\/div>\n        <\/nav>\n        <div class=\"full-width-wrapper\">\n            <div class=\"custom-wvarc-header\">\n                <div class=\"logo-box\">\n                    <img decoding=\"async\" src=\"https:\/\/img1.wsimg.com\/isteam\/ip\/e3a7de49-2cc4-4fbb-97ec-c8c01c4cec5e\/WVARC%20Landing%20Page%20Smaller%20Logo%20(1).png\" alt=\"West Valley Amateur Radio Club Logo\">\n                <\/div>\n                <div class=\"text-block\">\n                    <h1 class=\"club-title\" style=\"color:#f6c43d !important; font-family:sans-serif !important; font-weight:bold !important; letter-spacing:0 !important; line-height:1.1 !important; margin:0 !important; text-transform:none !important;\">West Valley Amateur Radio Club<\/h1>\n                    <div class=\"sub-text\">Node Status<\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        <main class=\"wvarc-shell-main\">\n    \n    <section class=\"wvarc-node-status\" data-wvarc-node-status>\n        <div class=\"wvarc-node-status__sites\" data-wvarc-sites><\/div>\n    <\/section>\n\n            <\/main>\n        <section class=\"wvarc-donate-bar\" aria-label=\"Support West Valley ARC\">\n            <h3 class=\"wvarc-donate-title\" style=\"color:#003366 !important; font-size:19px !important; text-shadow:none !important;\">Please Consider Supporting the West Valley ARC<\/h3>\n            <a\n                class=\"wvarc-donate-link\"\n                href=\"https:\/\/www.paypal.com\/donate\/?hosted_button_id=LLAACL78K54H8\"\n                target=\"_blank\"\n                rel=\"noopener noreferrer\"\n                aria-label=\"Donate to West Valley ARC using PayPal. Opens the secure PayPal donation page.\"\n            >\n                <img decoding=\"async\"\n                    class=\"wvarc-donate-image\"\n                    src=\"https:\/\/img1.wsimg.com\/isteam\/ip\/e3a7de49-2cc4-4fbb-97ec-c8c01c4cec5e\/Donate_Now_yellow_background.png\"\n                    alt=\"Donate to West Valley ARC using PayPal. Opens the secure PayPal donation page.\"\n                >\n            <\/a>\n        <\/section>\n        <footer class=\"wvarc-shell-footer\">\n            <nav aria-label=\"WVARC footer navigation\">\n                <a href=\"https:\/\/westvalleyarc.com\/\">Home<\/a>\n                <a href=\"https:\/\/westvalleyarc.com\/join\">Join<\/a>\n                <a href=\"https:\/\/westvalleyarc.com\/come-to-a-meeting\">Come to a Meeting<\/a>\n                <a href=\"https:\/\/westvalleyarc.com\/events-%26-qsts\">Events &amp; QSTs<\/a>\n                <a href=\"https:\/\/netoholicsnetwork.net\/index.php\/node-status\/\">Node Status<\/a>\n                <a href=\"https:\/\/westvalleyarc.com\/net-calendar\">Net Calendar<\/a>\n                <a href=\"https:\/\/westvalleyarc.com\/contact\">Contact<\/a>\n            <\/nav>\n            <p class=\"wvarc-shell-footer__address\" style=\"color:#F6C43D !important; font-size:15px !important; text-shadow:none !important;\">PO Box 1573, Sun City, AZ. 85372-1573, USA<\/p>\n            <div class=\"wvarc-shell-footer__lower\">\n                <div class=\"wvarc-shell-footer__copy\">\n                    <p>West Valley ARC is a 501(c)3 amateur radio club.<\/p>\n                    <p>Your contribution is tax-deductible to the extent allowed by law.<\/p>\n                    <p>Email the Webmaster: <a href=\"mailto:webmaster@westvalleyarc.com\">webmaster@westvalleyarc.com<\/a><\/p>\n                    <p>Copyright &copy; 2026 westvalleyarc - All Rights Reserved.<\/p>\n                <\/div>\n                <div class=\"wvarc-shell-footer__powered\">\n                    <span>Powered by<\/span>\n                    <strong>GoDaddy Airo<\/strong>\n                <\/div>\n            <\/div>\n        <\/footer>\n    <\/div>\n    \n    <style>\n        .wvarc-page-shell {\n            background: #003366;\n            color: #fff3c8;\n            font-family: Roboto, Arial, sans-serif;\n            margin: 0;\n            margin-top: -14px;\n            min-height: 100vh;\n            overflow-x: hidden;\n            position: relative;\n            max-width: 100%;\n            width: 100%;\n        }\n        .et_pb_section:has(.wvarc-page-shell),\n        .et_pb_row:has(.wvarc-page-shell),\n        .et_pb_column:has(.wvarc-page-shell),\n        .et_pb_module:has(.wvarc-page-shell),\n        .et_pb_text_inner:has(.wvarc-page-shell) {\n            margin: 0 !important;\n            max-width: none !important;\n            padding: 0 !important;\n            width: 100% !important;\n        }\n        .et_pb_text_inner:has(.wvarc-page-shell) {\n            line-height: 0 !important;\n        }\n        .et_pb_text_inner:has(.wvarc-page-shell) .wvarc-page-shell {\n            line-height: normal !important;\n        }\n        .wvarc-mobile-nav-bar {\n            display: none;\n        }\n        .wvarc-mobile-nav-toggle {\n            align-items: center;\n            background: transparent;\n            border: 0;\n            cursor: pointer;\n            display: none;\n            height: 64px;\n            justify-content: center;\n            margin: 0 auto;\n            padding: 0;\n            width: 64px;\n        }\n        .wvarc-mobile-nav-toggle span {\n            background: #ffffff;\n            border-radius: 2px;\n            display: block;\n            height: 3px;\n            margin: 4px 0;\n            transition: opacity .16s ease, transform .16s ease;\n            width: 28px;\n        }\n        .wvarc-page-shell.is-mobile-nav-open .wvarc-mobile-nav-toggle span:nth-child(1) {\n            transform: translateY(7px) rotate(45deg);\n        }\n        .wvarc-page-shell.is-mobile-nav-open .wvarc-mobile-nav-toggle span:nth-child(2) {\n            opacity: 0;\n        }\n        .wvarc-page-shell.is-mobile-nav-open .wvarc-mobile-nav-toggle span:nth-child(3) {\n            transform: translateY(-7px) rotate(-45deg);\n        }\n        .wvarc-shell-nav {\n            align-items: center;\n            background: #003366;\n            box-sizing: border-box;\n            display: flex;\n            gap: 0;\n            justify-content: center;\n            min-height: 64px;\n            padding: 0 24px;\n            text-align: center;\n        }\n        .wvarc-shell-nav__item {\n            align-items: center;\n            display: inline-flex;\n            min-height: 64px;\n            position: relative;\n        }\n        .wvarc-shell-nav__link,\n        .wvarc-shell-nav > a {\n            color: #ffffff !important;\n            display: inline-flex;\n            align-items: center;\n            font-family: \"Roboto Condensed\", Roboto, Arial, sans-serif;\n            font-size: 14px;\n            font-weight: 700;\n            letter-spacing: 2px;\n            line-height: 24px;\n            min-height: 64px;\n            padding: 0 15px;\n            text-decoration: none !important;\n            text-transform: uppercase;\n            white-space: nowrap;\n        }\n        .wvarc-shell-nav__link:hover,\n        .wvarc-shell-nav__link:focus,\n        .wvarc-shell-nav__link.is-active,\n        .wvarc-shell-nav > a:hover,\n        .wvarc-shell-nav > a:focus,\n        .wvarc-shell-nav > a.is-active {\n            color: #ffffff !important;\n            text-decoration: none !important;\n        }\n        .wvarc-shell-nav__item.is-open > .wvarc-shell-nav__link {\n            background: rgba(255, 255, 255, .08);\n            color: rgba(255, 255, 255, .72) !important;\n        }\n        .wvarc-shell-nav__item.is-open > .wvarc-shell-nav__link span {\n            transform: rotate(180deg);\n        }\n        .wvarc-shell-nav span {\n            color: #ffffff;\n            font-size: 14px;\n            margin-left: 4px;\n            transition: transform .16s ease;\n        }\n        .wvarc-shell-nav__menu {\n            background: #003f77;\n            box-shadow: 0 8px 24px rgba(0, 0, 0, .28);\n            display: none;\n            left: 50%;\n            min-width: 230px;\n            padding: 10px 0;\n            position: absolute;\n            top: 64px;\n            transform: translateX(-50%);\n            z-index: 50;\n        }\n        .wvarc-shell-nav__item.is-open .wvarc-shell-nav__menu {\n            display: block;\n        }\n        .wvarc-shell-nav__menu a {\n            color: #f7f7f7 !important;\n            display: block;\n            font-family: \"Roboto Condensed\", Roboto, Arial, sans-serif;\n            font-size: 14px;\n            font-weight: 700;\n            letter-spacing: 2px;\n            line-height: 1.25;\n            padding: 12px 18px;\n            text-align: left;\n            text-decoration: none !important;\n            text-transform: uppercase;\n            white-space: nowrap;\n        }\n        .wvarc-shell-nav__menu a:hover,\n        .wvarc-shell-nav__menu a:focus {\n            background: #003366;\n            color: #ffffff !important;\n        }\n        .full-width-wrapper {\n            background-color: #111111 !important;\n            border: none;\n            height: 330px;\n            margin: 0 auto;\n            overflow: hidden;\n            padding: 0;\n            width: 100%;\n        }\n        .custom-wvarc-header {\n            color: #ffffff;\n            font-family: sans-serif;\n            height: 100%;\n            margin: 0 auto;\n            max-width: 1476px;\n            padding: 0 5%;\n            position: relative;\n            width: 100%;\n        }\n        .custom-wvarc-header .logo-box {\n            align-items: center;\n            display: flex;\n            height: 330px;\n            justify-content: center;\n            left: 150px;\n            overflow: hidden;\n            position: absolute;\n            top: 50%;\n            transform: translateY(-50%);\n        }\n        .custom-wvarc-header .logo-box img {\n            display: block;\n            height: 320px;\n            width: auto;\n        }\n        .custom-wvarc-header .text-block {\n            align-items: center;\n            box-sizing: border-box;\n            display: flex;\n            flex-direction: column;\n            height: 100%;\n            justify-content: center;\n            padding-left: 0;\n            text-align: center;\n            width: 100%;\n        }\n        .wvarc-page-shell .custom-wvarc-header h1.club-title {\n            color: #f6c43d !important;\n            font-family: sans-serif !important;\n            font-size: 36px !important;\n            font-weight: bold !important;\n            letter-spacing: 0 !important;\n            line-height: 1.1 !important;\n            margin: 0 !important;\n            text-transform: none !important;\n            white-space: nowrap;\n        }\n        .wvarc-page-shell .custom-wvarc-header .sub-text {\n            color: #00A3DA !important;\n            font-family: sans-serif !important;\n            font-size: 20px !important;\n            font-weight: 500 !important;\n            letter-spacing: 0 !important;\n            line-height: 1.2 !important;\n            margin-top: 4px !important;\n            text-transform: none !important;\n        }\n        .wvarc-shell-main {\n            background: #003366;\n            box-sizing: border-box;\n            padding: 40px 0 112px;\n        }\n        .wvarc-donate-bar,\n        .wvarc-donate-bar * {\n            box-sizing: border-box;\n        }\n        .wvarc-donate-bar {\n            background-color: #DAA520 !important;\n            margin: 0 !important;\n            overflow: hidden !important;\n            padding: 38px 12px 44px !important;\n            text-align: center;\n            width: 100%;\n        }\n        .wvarc-donate-title {\n            color: #003366 !important;\n            font-family: Georgia, \"Times New Roman\", serif !important;\n            font-size: 19px !important;\n            font-weight: 700 !important;\n            line-height: 1.15 !important;\n            margin: 0 0 12px !important;\n            padding: 0 !important;\n        }\n        .wvarc-donate-link {\n            display: inline-block;\n            line-height: 0 !important;\n            margin: 0 !important;\n            overflow: hidden !important;\n            padding: 0 !important;\n        }\n        .wvarc-donate-image {\n            border: 0 !important;\n            display: block;\n            height: auto !important;\n            margin: 0 auto !important;\n            max-width: 80vw !important;\n            padding: 0 !important;\n            width: 180px !important;\n        }\n        .wvarc-shell-footer {\n            background: #003366;\n            border-top: 0;\n            box-sizing: border-box;\n            color: #fff3c8;\n            font-family: Roboto, Arial, sans-serif;\n            padding: 36px 24px 34px;\n            text-align: center;\n        }\n        .wvarc-shell-footer nav {\n            align-items: center;\n            display: flex;\n            flex-wrap: wrap;\n            gap: 0 8px;\n            justify-content: center;\n            margin: 0 auto 40px;\n            max-width: 1110px;\n        }\n        .wvarc-shell-footer a {\n            color: #ffffff !important;\n            font-family: \"Roboto Condensed\", Roboto, Arial, sans-serif;\n            font-size: 13px;\n            font-weight: 400;\n            letter-spacing: 2px;\n            line-height: 1.2;\n            padding: 8px 9px;\n            text-decoration: none !important;\n            text-transform: uppercase;\n        }\n        .wvarc-shell-footer p {\n            color: #fff3c8;\n            font-size: 13px !important;\n            line-height: 1.45;\n            margin: 0;\n        }\n        .wvarc-shell-footer__address {\n            color: #F6C43D !important;\n            font-size: 15px !important;\n            margin-bottom: 36px !important;\n            text-align: center;\n        }\n        .wvarc-shell-footer__lower {\n            align-items: flex-start;\n            display: grid;\n            gap: 24px;\n            grid-template-columns: minmax(0, 1fr) 180px;\n            margin: 0 auto;\n            max-width: 1110px;\n            text-align: left;\n        }\n        .wvarc-shell-footer__copy {\n            display: grid;\n            gap: 17px;\n        }\n        .wvarc-shell-footer__copy a {\n            color: #ffffff !important;\n            font-family: inherit;\n            font-size: inherit;\n            letter-spacing: 0;\n            padding: 0;\n            text-decoration: underline !important;\n            text-transform: none;\n        }\n        .wvarc-shell-footer__powered {\n            align-self: end;\n            color: #ffffff;\n            display: grid;\n            gap: 8px;\n            justify-items: center;\n            margin-top: 54px;\n            text-align: center;\n        }\n        .wvarc-shell-footer__powered span {\n            font-size: 13px;\n        }\n        .wvarc-shell-footer__powered strong {\n            color: #ffffff;\n            font-size: 15px;\n            font-weight: 700;\n            line-height: 1.1;\n        }\n        body.page-id-650 .entry-title.main_title,\n        body.page-id-650 h1.entry-title,\n        body.page-id-650 .et_post_meta_wrapper {\n            display: none !important;\n        }\n        body.page-id-650 #post-650 {\n            background: transparent !important;\n            border: 0 !important;\n            border-radius: 0 !important;\n            box-shadow: none !important;\n            padding: 0 !important;\n        }\n        .wvarc-node-status {\n            --wvarc-navy: #003366;\n            --wvarc-navy-2: #04284f;\n            --wvarc-blue: #05658c;\n            --wvarc-gold: #DAA520;\n            --wvarc-bright-gold: #F6C43D;\n            --wvarc-cream: #fff3c8;\n            --wvarc-red: #cc0000;\n            --wvarc-green: #39ff62;\n            --wvarc-line: rgba(246, 196, 61, .42);\n            color: var(--wvarc-cream);\n            width: min(92vw, 1200px);\n            max-width: 100%;\n            margin-left: auto;\n            margin-right: auto;\n            transform: none;\n            font-family: inherit;\n        }\n        .wvarc-node-status * { box-sizing: border-box; }\n        .wvarc-node-status__updated {\n            display: flex;\n            flex-direction: column;\n            align-items: flex-end;\n            gap: 8px;\n            min-width: 180px;\n        }\n        .wvarc-node-status__updated small {\n            color: var(--wvarc-cream);\n            font-size: 12px;\n            line-height: 1.25;\n        }\n        .wvarc-node-status__updated b {\n            color: var(--wvarc-bright-gold);\n            font-weight: 900;\n        }\n        .wvarc-node-status__pill {\n            display: inline-flex;\n            align-items: center;\n            gap: 8px;\n            border: 1px solid rgba(0, 51, 102, .45);\n            background: var(--wvarc-bright-gold);\n            color: var(--wvarc-navy);\n            border-radius: 999px;\n            padding: 8px 12px;\n            font-size: 13px;\n            line-height: 1;\n            font-weight: 900;\n            white-space: nowrap;\n        }\n        .wvarc-node-status__pill i {\n            width: 10px;\n            height: 10px;\n            border-radius: 50%;\n            background: var(--wvarc-gold);\n            box-shadow: 0 0 0 3px rgba(218, 165, 32, .16);\n        }\n        .wvarc-state-online i {\n            background: #00a33a;\n            box-shadow: 0 0 0 3px rgba(0, 163, 58, .18);\n        }\n        .wvarc-state-offline i,\n        .wvarc-state-unavailable i,\n        .wvarc-state-invalid i {\n            background: var(--wvarc-red);\n            box-shadow: 0 0 0 3px rgba(204, 0, 0, .2);\n        }\n        .wvarc-node-status__sites {\n            display: grid;\n            gap: 18px;\n        }\n        .wvarc-site {\n            border: 1px solid var(--wvarc-line) !important;\n            border-radius: 8px;\n            background: var(--wvarc-navy) !important;\n            overflow: hidden;\n        }\n        .wvarc-site__head {\n            display: grid;\n            grid-template-columns: minmax(0, 1fr) auto;\n            gap: 14px;\n            align-items: center;\n            padding: 14px 20px;\n            background: var(--wvarc-blue);\n            border-bottom: 1px solid var(--wvarc-line);\n        }\n        .wvarc-site__head h2 {\n            margin: 0;\n            color: var(--wvarc-bright-gold);\n            font-size: 22px;\n            line-height: 1.15;\n            letter-spacing: 0;\n            font-weight: 900;\n        }\n        .wvarc-site__meta {\n            margin: 4px 0 0;\n            color: var(--wvarc-cream);\n            font-size: 13px;\n            line-height: 1.35;\n        }\n        .wvarc-site__actions {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 10px;\n            margin-top: 8px;\n        }\n        .wvarc-broadcastify-link {\n            align-items: center;\n            background: var(--wvarc-bright-gold) !important;\n            border: 1px solid rgba(255, 243, 200, .55);\n            border-radius: 6px;\n            color: var(--wvarc-navy) !important;\n            display: inline-flex;\n            font-size: 13px;\n            font-weight: 900;\n            line-height: 1;\n            min-height: 30px;\n            padding: 7px 11px;\n            text-decoration: none !important;\n        }\n        .wvarc-broadcastify-link:hover,\n        .wvarc-broadcastify-link:focus {\n            background: var(--wvarc-cream) !important;\n            color: var(--wvarc-navy) !important;\n            text-decoration: none !important;\n        }\n        .wvarc-site__body {\n            padding: 16px 20px 20px;\n            max-width: 100%;\n            min-width: 0;\n            overflow-x: hidden;\n            overflow-y: visible;\n        }\n        .wvarc-section-title {\n            margin: 0 0 14px;\n            color: var(--wvarc-bright-gold);\n            font-size: 24px;\n            line-height: 1.2;\n            font-weight: 900;\n        }\n        .wvarc-talker-grid {\n            display: grid;\n            grid-template-columns: repeat(6, minmax(0, 1fr));\n            grid-auto-rows: 1fr;\n            align-items: stretch;\n            gap: 10px;\n            margin-bottom: 18px;\n        }\n        .wvarc-talker-card {\n            display: flex;\n            flex-direction: column;\n            min-width: 0;\n            min-height: 118px;\n            border: 1px solid var(--wvarc-line);\n            border-radius: 8px;\n            background: var(--wvarc-blue);\n            padding: 10px;\n            overflow-wrap: anywhere;\n        }\n        .wvarc-talker-card span {\n            display: block;\n            color: var(--wvarc-cream);\n            font-size: 13px;\n            line-height: 1.25;\n        }\n        .wvarc-talker-card__header {\n            display: block;\n            min-width: 0;\n        }\n        .wvarc-talker-card__header .wvarc-talker-card__title {\n            min-width: 0;\n            white-space: nowrap;\n        }\n        .wvarc-talker-card__header .wvarc-talker-card__title .wvarc-talker-card__clock-inline {\n            display: inline;\n            color: inherit;\n            font-size: inherit;\n            font-family: inherit;\n            font-weight: inherit;\n            font-style: inherit;\n            letter-spacing: 0;\n            line-height: inherit;\n            white-space: nowrap;\n        }\n        .wvarc-talker-card__header .wvarc-talker-card__title .wvarc-talker-card__clock-separator {\n            display: inline;\n            font-size: 15px;\n            font-weight: 700;\n            line-height: inherit;\n        }\n        .wvarc-talker-card strong {\n            display: block;\n            margin-top: 8px;\n            color: var(--wvarc-bright-gold);\n            font-size: 19px;\n            line-height: 1.1;\n            font-weight: 900;\n        }\n        .wvarc-talker-card small {\n            display: flex;\n            flex: 1 1 auto;\n            flex-direction: column;\n            min-width: 0;\n            margin-top: 6px;\n            color: var(--wvarc-cream);\n            font-size: 13px;\n            line-height: 1.25;\n        }\n        .wvarc-talker-card .wvarc-talker-source {\n            font-weight: 800;\n            white-space: nowrap;\n        }\n        .wvarc-talker-card .wvarc-talker-location {\n            margin-top: 2px;\n            min-width: 0;\n            white-space: normal;\n            overflow-wrap: anywhere;\n        }\n        .wvarc-talker-card .wvarc-talker-time {\n            margin-top: auto;\n            padding-top: 4px;\n            font-weight: 800;\n            white-space: nowrap;\n        }\n        .wvarc-connection-table {\n            table-layout: fixed;\n            width: 100%;\n            max-width: 100%;\n            border-collapse: collapse;\n            overflow: hidden;\n            border: 1px solid var(--wvarc-line) !important;\n            border-radius: 8px;\n        }\n        .wvarc-connection-table th,\n        .wvarc-connection-table td {\n            padding: 12px;\n            border-bottom: 1px solid rgba(246, 196, 61, .34) !important;\n            color: var(--wvarc-cream) !important;\n            font-size: 15px;\n            line-height: 1.3;\n            text-align: left;\n            vertical-align: top;\n            overflow-wrap: anywhere;\n        }\n        .wvarc-connection-table th {\n            background: var(--wvarc-bright-gold) !important;\n            color: var(--wvarc-navy) !important;\n            border-bottom: 1px solid var(--wvarc-line) !important;\n            font-size: 13px;\n            text-transform: uppercase;\n            white-space: nowrap;\n        }\n        .wvarc-sort-header {\n            appearance: none;\n            align-items: center;\n            background: transparent;\n            border: 0;\n            color: inherit !important;\n            cursor: pointer;\n            display: inline-flex;\n            font: inherit;\n            font-weight: inherit;\n            gap: 6px;\n            letter-spacing: inherit;\n            margin: -4px;\n            padding: 4px;\n            text-transform: inherit;\n            max-width: 100%;\n            min-width: 0;\n            white-space: normal;\n        }\n        .wvarc-sort-header:hover,\n        .wvarc-sort-header:focus-visible {\n            background: rgba(0, 51, 102, .12);\n            border-radius: 4px;\n            outline: 2px solid var(--wvarc-navy);\n            outline-offset: 1px;\n        }\n        .wvarc-sort-indicator {\n            color: rgba(0, 51, 102, .78);\n            display: inline-block;\n            font-size: 11px;\n            font-weight: 900;\n            line-height: .8;\n            -webkit-text-stroke: .35px currentColor;\n            transform: scaleY(.78);\n            transform-origin: center;\n        }\n        .wvarc-sort-header.is-active .wvarc-sort-indicator {\n            color: var(--wvarc-navy);\n            font-weight: 900;\n        }\n        .wvarc-connection-table td {\n            background: var(--wvarc-navy) !important;\n        }\n        .wvarc-connection-table th:nth-child(1),\n        .wvarc-connection-table td:nth-child(1) {\n            width: 14%;\n        }\n        .wvarc-connection-table th:nth-child(2),\n        .wvarc-connection-table td:nth-child(2) {\n            width: 37%;\n        }\n        .wvarc-connection-table th:nth-child(3),\n        .wvarc-connection-table td:nth-child(3) {\n            width: 9%;\n        }\n        .wvarc-connection-table th:nth-child(4),\n        .wvarc-connection-table td:nth-child(4) {\n            width: 14%;\n        }\n        .wvarc-connection-table th:nth-child(5),\n        .wvarc-connection-table td:nth-child(5) {\n            width: 12%;\n        }\n        .wvarc-connection-table th:nth-child(6),\n        .wvarc-connection-table td:nth-child(6) {\n            width: 14%;\n        }\n        .wvarc-connection-table td {\n            min-width: 0;\n            white-space: normal;\n            word-break: normal;\n        }\n        .wvarc-connection-table tr:nth-child(even) td {\n            background: #043b73 !important;\n        }\n        .wvarc-connection-table tr:last-child td {\n            border-bottom: 0;\n        }\n        .wvarc-connection-table .wvarc-lookup-link {\n            appearance: none;\n            background: transparent;\n            border: 0;\n            color: var(--wvarc-cream) !important;\n            cursor: pointer;\n            font-family: inherit !important;\n            font-size: 15px !important;\n            font-weight: 400 !important;\n            line-height: 1.3 !important;\n            margin: 0;\n            max-width: 100%;\n            min-width: 0;\n            overflow-wrap: anywhere;\n            padding: 0;\n            text-align: left;\n            text-decoration: none;\n            white-space: normal;\n        }\n        .wvarc-connection-table .wvarc-lookup-link:hover,\n        .wvarc-connection-table .wvarc-lookup-link:focus {\n            color: var(--wvarc-cream) !important;\n            text-decoration: underline;\n            text-decoration-thickness: 1px;\n            text-underline-offset: 3px;\n        }\n        .wvarc-keyed {\n            color: var(--wvarc-bright-gold);\n            font-weight: 900;\n        }\n        .wvarc-connection-hint {\n            margin: -6px 0 12px;\n            color: var(--wvarc-cream);\n            font-size: 13px;\n            line-height: 1.35;\n        }\n        .wvarc-sort-toolbar {\n            align-items: center;\n            display: flex;\n            justify-content: flex-end;\n            margin: 0 0 10px;\n        }\n        .wvarc-sort-toolbar.is-default {\n            margin: 0;\n        }\n        .wvarc-sort-mobile {\n            display: none;\n        }\n        .wvarc-sort-reset {\n            appearance: none;\n            background: transparent;\n            border: 1px solid var(--wvarc-line);\n            border-radius: 5px;\n            color: var(--wvarc-cream) !important;\n            cursor: pointer;\n            font-size: 12px;\n            font-weight: 800;\n            line-height: 1;\n            padding: 7px 10px;\n        }\n        .wvarc-sort-reset:hover,\n        .wvarc-sort-reset:focus-visible {\n            background: var(--wvarc-bright-gold);\n            color: var(--wvarc-navy) !important;\n            outline: 0;\n        }\n        .wvarc-map-actions {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 10px;\n            margin: 14px 0;\n        }\n        .wvarc-map-button,\n        .wvarc-map-close,\n        .wvarc-map-fallback {\n            display: inline-flex;\n            align-items: center;\n            justify-content: center;\n            border: 1px solid var(--wvarc-line);\n            border-radius: 6px;\n            background: var(--wvarc-bright-gold);\n            color: var(--wvarc-navy) !important;\n            cursor: pointer;\n            font-size: 13px;\n            line-height: 1;\n            font-weight: 900;\n            padding: 9px 12px;\n            text-decoration: none !important;\n        }\n        .wvarc-map-button:hover,\n        .wvarc-map-button:focus,\n        .wvarc-map-close:hover,\n        .wvarc-map-close:focus,\n        .wvarc-map-fallback:hover,\n        .wvarc-map-fallback:focus {\n            background: #ffffff;\n            color: var(--wvarc-navy) !important;\n        }\n        .wvarc-map-panel {\n            border: 1px solid var(--wvarc-line);\n            border-radius: 8px;\n            background: var(--wvarc-navy-2);\n            margin: 14px 0 18px;\n            overflow: hidden;\n        }\n        .wvarc-map-panel[hidden] {\n            display: none;\n        }\n        .wvarc-map-head {\n            display: flex;\n            align-items: center;\n            justify-content: space-between;\n            gap: 12px;\n            padding: 10px 12px;\n            background: #001b36;\n            border-bottom: 1px solid var(--wvarc-line);\n        }\n        .wvarc-map-head strong {\n            color: var(--wvarc-bright-gold);\n            font-size: 15px;\n            line-height: 1.2;\n            font-weight: 900;\n        }\n        .wvarc-map-body {\n            display: grid;\n            padding: 12px;\n        }\n        .wvarc-station-map {\n            background: var(--wvarc-navy);\n            border-radius: 6px;\n            height: min(68vh, 620px);\n            min-height: 360px;\n            overflow: hidden;\n            position: relative;\n            width: 100%;\n        }\n        .wvarc-map-loading {\n            align-items: center;\n            background: rgba(0, 51, 102, .92);\n            border: 1px solid var(--wvarc-line);\n            border-radius: 6px;\n            color: var(--wvarc-bright-gold);\n            display: flex;\n            font-size: 14px;\n            font-weight: 900;\n            justify-content: center;\n            min-height: 220px;\n            padding: 18px;\n            text-align: center;\n        }\n        .wvarc-station-map .leaflet-pane,\n        .wvarc-station-map .leaflet-marker-icon,\n        .wvarc-station-map .leaflet-interactive,\n        .wvarc-station-map .leaflet-container,\n        .wvarc-station-map .leaflet-control,\n        .wvarc-station-map .leaflet-control a,\n        .wvarc-station-map .leaflet-control button {\n            filter: none !important;\n            outline: 0 !important;\n            box-shadow: none !important;\n        }\n        .wvarc-station-map .leaflet-zoom-box,\n        .wvarc-station-map .leaflet-popup-pane,\n        .wvarc-station-map .leaflet-tooltip-pane {\n            display: none !important;\n            pointer-events: none !important;\n        }\n        .wvarc-station-marker {\n            background: var(--wvarc-bright-gold);\n            border: 3px solid var(--wvarc-navy);\n            border-radius: 50%;\n            box-shadow: 0 0 0 3px rgba(246, 196, 61, .28);\n            height: 16px;\n            pointer-events: none;\n            width: 16px;\n        }\n        .wvarc-station-info-card {\n            background: rgba(0, 51, 102, .96);\n            border: 1px solid var(--wvarc-line);\n            border-radius: 8px;\n            box-shadow: 0 10px 26px rgba(0, 0, 0, .36);\n            box-sizing: border-box;\n            color: var(--wvarc-cream);\n            max-width: min(280px, calc(100% - 28px));\n            padding: 14px 44px 14px 14px;\n            position: absolute;\n            right: 14px;\n            top: 14px;\n            z-index: 700;\n        }\n        .wvarc-station-info-card[hidden] {\n            display: none !important;\n        }\n        .wvarc-station-info-card strong {\n            color: var(--wvarc-bright-gold);\n            display: block;\n            font-size: 18px;\n            font-weight: 900;\n            line-height: 1.15;\n            margin: 0 0 6px;\n        }\n        .wvarc-station-info-card span {\n            display: block;\n            font-size: 13px;\n            line-height: 1.35;\n            margin-top: 3px;\n        }\n        .wvarc-station-info-card button {\n            align-items: center;\n            appearance: none;\n            background: var(--wvarc-bright-gold);\n            border: 0;\n            border-radius: 999px;\n            color: var(--wvarc-navy);\n            cursor: pointer;\n            display: flex;\n            font-size: 15px;\n            font-weight: 900;\n            height: 26px;\n            justify-content: center;\n            line-height: 1;\n            padding: 0;\n            position: absolute;\n            right: 10px;\n            top: 10px;\n            width: 26px;\n        }\n        .wvarc-map-body img {\n            aspect-ratio: 16 \/ 9;\n            box-sizing: border-box;\n            display: block;\n            width: 100%;\n            height: auto;\n            max-height: 720px;\n            object-fit: contain;\n            background: #000;\n            border-radius: 6px;\n        }\n        .wvarc-map-note {\n            margin: 10px 0 0;\n            color: var(--wvarc-cream);\n            font-size: 13px;\n            line-height: 1.35;\n        }\n        .wvarc-map-summary {\n            margin: 10px 0 0;\n            color: var(--wvarc-cream);\n            font-size: 13px;\n            font-weight: 800;\n            line-height: 1.35;\n        }\n        .wvarc-map-unmapped {\n            margin: 6px 0 0;\n            color: rgba(255, 243, 200, .82);\n            font-size: 12px;\n            line-height: 1.35;\n            overflow-wrap: anywhere;\n        }\n        .wvarc-empty {\n            margin: 0;\n            color: var(--wvarc-cream);\n            font-size: 14px;\n            line-height: 1.4;\n        }\n        .wvarc-error {\n            color: var(--wvarc-bright-gold);\n            background: rgba(204, 0, 0, .2);\n            border: 1px solid rgba(204, 0, 0, .55);\n            border-radius: 8px;\n            padding: 12px;\n            margin: 0;\n            font-size: 14px;\n            line-height: 1.4;\n        }\n        .wvarc-connection-summary {\n            display: flex;\n            flex-wrap: wrap;\n            gap: 22px;\n            margin-top: 18px;\n            padding-top: 18px;\n            border-top: 1px solid var(--wvarc-line);\n            color: var(--wvarc-cream);\n            font-size: 15px;\n            line-height: 1.3;\n        }\n        .wvarc-connection-summary strong {\n            color: var(--wvarc-bright-gold);\n            font-size: 18px;\n            margin-left: 6px;\n            font-weight: 900;\n        }\n        .wvarc-hosting-credit {\n            color: rgba(255, 243, 200, .78);\n            font-size: 11px;\n            line-height: 1.25;\n            margin-top: 12px;\n            text-align: right;\n        }\n        @media (max-width: 1100px) {\n            .wvarc-talker-grid {\n                grid-template-columns: repeat(3, minmax(0, 1fr));\n            }\n            .full-width-wrapper {\n                height: auto;\n                min-height: 240px;\n            }\n            .custom-wvarc-header {\n                align-items: center;\n                display: flex;\n                flex-direction: column;\n                justify-content: center;\n                padding: 14px 20px;\n                text-align: center;\n            }\n            .custom-wvarc-header .logo-box {\n                height: auto;\n                margin-bottom: 10px;\n                overflow: visible;\n                position: static;\n                transform: none;\n            }\n            .custom-wvarc-header .logo-box img {\n                height: 180px;\n            }\n            .custom-wvarc-header .text-block {\n                height: auto;\n                padding-left: 0;\n            }\n            .wvarc-page-shell .custom-wvarc-header h1.club-title {\n                white-space: normal !important;\n            }\n        }\n        @media (max-width: 720px) {\n            .wvarc-mobile-nav-bar {\n                align-items: center;\n                background: #003366;\n                display: flex;\n                justify-content: center;\n                min-height: 64px;\n            }\n            .wvarc-mobile-nav-toggle {\n                display: inline-flex;\n                flex-direction: column;\n            }\n            .wvarc-shell-nav {\n                border-top: 1px solid rgba(255, 255, 255, .08);\n                display: none;\n                flex-direction: column;\n                gap: 0;\n                justify-content: flex-start;\n                overflow: visible;\n                padding: 0;\n                text-align: left;\n                width: 100%;\n            }\n            .wvarc-page-shell.is-mobile-nav-open .wvarc-shell-nav {\n                display: flex;\n            }\n            .wvarc-shell-nav__item {\n                align-items: stretch;\n                display: block;\n                min-height: 0;\n                width: 100%;\n            }\n            .wvarc-shell-nav__link,\n            .wvarc-shell-nav > a {\n                box-sizing: border-box;\n                display: flex;\n                font-size: 14px;\n                letter-spacing: 2px;\n                min-height: 52px;\n                padding: 0 24px;\n                width: 100%;\n            }\n            .wvarc-shell-nav__item.is-open > .wvarc-shell-nav__link {\n                background: rgba(255, 255, 255, .08);\n            }\n            .wvarc-shell-nav__menu {\n                box-shadow: none;\n                left: auto;\n                min-width: 0;\n                padding: 0;\n                position: static;\n                top: auto;\n                transform: none;\n                width: 100%;\n            }\n            .wvarc-shell-nav__menu a {\n                box-sizing: border-box;\n                font-size: 13px;\n                padding: 11px 36px;\n                white-space: normal;\n                width: 100%;\n            }\n            .wvarc-shell-main {\n                padding: 0 0 48px;\n            }\n            .full-width-wrapper {\n                height: auto;\n                min-height: 220px;\n            }\n            .wvarc-page-shell .custom-wvarc-header h1.club-title {\n                box-sizing: border-box;\n                font-size: 24px !important;\n                max-width: 100%;\n                padding: 0 10px;\n                white-space: normal !important;\n                word-break: normal;\n            }\n            .wvarc-page-shell .custom-wvarc-header .sub-text {\n                font-size: 16px !important;\n            }\n            .wvarc-node-status {\n                width: 100%;\n                margin-left: 0;\n                transform: none;\n                padding: 16px;\n            }\n            .wvarc-site__head {\n                grid-template-columns: 1fr;\n                padding: 16px;\n            }\n            .wvarc-node-status__updated {\n                align-items: flex-start;\n                min-width: 0;\n            }\n            .wvarc-site__body {\n                padding: 16px;\n            }\n            .wvarc-talker-grid {\n                grid-template-columns: 1fr;\n            }\n            .wvarc-connection-table,\n            .wvarc-connection-table thead,\n            .wvarc-connection-table tbody,\n            .wvarc-connection-table tr,\n            .wvarc-connection-table th,\n            .wvarc-connection-table td {\n                display: block;\n                width: 100%;\n                min-width: 0;\n            }\n            .wvarc-connection-table th:nth-child(1),\n            .wvarc-connection-table td:nth-child(1),\n            .wvarc-connection-table th:nth-child(2),\n            .wvarc-connection-table td:nth-child(2),\n            .wvarc-connection-table th:nth-child(3),\n            .wvarc-connection-table td:nth-child(3),\n            .wvarc-connection-table th:nth-child(4),\n            .wvarc-connection-table td:nth-child(4),\n            .wvarc-connection-table th:nth-child(5),\n            .wvarc-connection-table td:nth-child(5),\n            .wvarc-connection-table th:nth-child(6),\n            .wvarc-connection-table td:nth-child(6) {\n                width: 100%;\n            }\n            .wvarc-connection-table thead {\n                display: none;\n            }\n            .wvarc-sort-toolbar,\n            .wvarc-sort-toolbar.is-default {\n                display: block;\n                margin: 0 0 12px;\n            }\n            .wvarc-sort-mobile {\n                color: var(--wvarc-cream);\n                display: grid;\n                font-size: 12px;\n                font-weight: 800;\n                gap: 6px;\n                text-transform: uppercase;\n            }\n            .wvarc-sort-mobile select {\n                appearance: auto;\n                background: var(--wvarc-navy);\n                border: 1px solid var(--wvarc-line);\n                border-radius: 6px;\n                color: var(--wvarc-cream);\n                font: inherit;\n                min-height: 42px;\n                padding: 8px 10px;\n                text-transform: none;\n                width: 100%;\n            }\n            .wvarc-sort-reset {\n                display: none;\n            }\n            .wvarc-connection-table tr {\n                border-bottom: 1px solid var(--wvarc-line);\n                padding: 8px 0;\n            }\n            .wvarc-connection-table tr:last-child {\n                border-bottom: 0;\n            }\n            .wvarc-connection-table td {\n                border: 0;\n                display: grid;\n                grid-template-columns: 74px minmax(0, 1fr);\n                gap: 10px;\n                box-sizing: border-box;\n                max-width: 100%;\n                padding: 7px 10px;\n                white-space: normal !important;\n                overflow-wrap: anywhere;\n            }\n            .wvarc-connection-table td:nth-child(2) {\n                align-items: start;\n                max-width: 100%;\n                min-width: 0;\n                overflow: visible;\n                white-space: normal !important;\n            }\n            .wvarc-connection-table td > * {\n                box-sizing: border-box;\n                min-width: 0;\n                max-width: 100%;\n                overflow-wrap: anywhere;\n                white-space: normal !important;\n            }\n            .wvarc-connection-table td::before {\n                content: attr(data-label);\n                color: var(--wvarc-bright-gold);\n                font-weight: 900;\n                text-transform: uppercase;\n                font-size: 11px;\n                white-space: nowrap;\n            }\n            .wvarc-connection-table .wvarc-lookup-link {\n                display: block;\n                width: 100%;\n                min-width: 0;\n                max-width: 100%;\n                white-space: normal !important;\n                overflow-wrap: anywhere;\n                word-break: break-word;\n                line-height: 1.25;\n            }\n            .wvarc-donate-bar {\n                padding: 34px 12px 40px !important;\n            }\n            .wvarc-donate-title {\n                font-size: 22px !important;\n            }\n            .wvarc-shell-footer {\n                padding: 40px 20px 46px;\n                text-align: center;\n            }\n            .wvarc-shell-footer nav {\n                display: flex;\n                flex-direction: row;\n                flex-wrap: wrap;\n                gap: 0 8px;\n                justify-content: center;\n                margin-bottom: 34px;\n            }\n            .wvarc-shell-footer a {\n                font-size: 14px;\n                letter-spacing: 2px;\n                padding: 7px 8px;\n            }\n            .wvarc-shell-footer__address {\n                font-size: 18px !important;\n                margin-bottom: 34px !important;\n            }\n            .wvarc-shell-footer__lower {\n                grid-template-columns: 1fr;\n                text-align: left;\n            }\n            .wvarc-shell-footer__powered {\n                margin-top: 12px;\n                justify-items: start;\n            }\n            .wvarc-map-actions {\n                display: grid;\n                grid-template-columns: 1fr;\n            }\n            .wvarc-map-button {\n                min-height: 42px;\n                width: 100%;\n            }\n            .wvarc-station-map {\n                height: 62vh;\n                min-height: 340px;\n            }\n        }\n    <\/style>\n\n    <script>\n    (function () {\n        var root = document.querySelector('[data-wvarc-node-status]');\n        if (!root) return;\n\n        var endpoint = 'https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wvarc\/v1\/node-status';\n        var stationMapEndpoint = 'https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wvarc\/v1\/station-map';\n        var sitesEl = root.querySelector('[data-wvarc-sites]');\n        var openMaps = {};\n        var networkMapRefreshTokens = {};\n        var networkMapRefreshTimers = {};\n        var stationMapOpen = false;\n        var stationMapRendered = false;\n        var stationMapInstance = null;\n        var leafletPromise = null;\n        var connectionSort = { key: 'default', direction: 'asc' };\n        var lastPayload = null;\n        var pageShell = document.querySelector('.wvarc-page-shell');\n        var shellNav = document.querySelector('.wvarc-shell-nav');\n        var navToggle = document.querySelector('.wvarc-mobile-nav-toggle');\n\n        if (pageShell && shellNav && navToggle && !navToggle.getAttribute('data-wvarc-mobile-nav-ready')) {\n            navToggle.setAttribute('data-wvarc-mobile-nav-ready', '1');\n            navToggle.addEventListener('click', function () {\n                var willOpen = !pageShell.classList.contains('is-mobile-nav-open');\n                pageShell.classList.toggle('is-mobile-nav-open', willOpen);\n                navToggle.setAttribute('aria-expanded', willOpen ? 'true' : 'false');\n            });\n        }\n\n        if (shellNav && !shellNav.getAttribute('data-wvarc-nav-ready')) {\n            shellNav.setAttribute('data-wvarc-nav-ready', '1');\n            shellNav.addEventListener('click', function (event) {\n                var link = event.target.closest('.wvarc-shell-nav__item > .wvarc-shell-nav__link');\n                if (!link || !shellNav.contains(link)) return;\n\n                event.preventDefault();\n                var item = link.closest('.wvarc-shell-nav__item');\n                var willOpen = !item.classList.contains('is-open');\n                shellNav.querySelectorAll('.wvarc-shell-nav__item.is-open').forEach(function (openItem) {\n                    openItem.classList.remove('is-open');\n                    var openLink = openItem.querySelector('.wvarc-shell-nav__link');\n                    if (openLink) openLink.setAttribute('aria-expanded', 'false');\n                });\n                if (willOpen) {\n                    item.classList.add('is-open');\n                    link.setAttribute('aria-expanded', 'true');\n                }\n            });\n\n            document.addEventListener('click', function (event) {\n                if (shellNav.contains(event.target)) return;\n                if (navToggle && navToggle.contains(event.target)) return;\n                if (pageShell) {\n                    pageShell.classList.remove('is-mobile-nav-open');\n                }\n                if (navToggle) {\n                    navToggle.setAttribute('aria-expanded', 'false');\n                }\n                shellNav.querySelectorAll('.wvarc-shell-nav__item.is-open').forEach(function (openItem) {\n                    openItem.classList.remove('is-open');\n                    var openLink = openItem.querySelector('.wvarc-shell-nav__link');\n                    if (openLink) openLink.setAttribute('aria-expanded', 'false');\n                });\n            });\n\n            document.addEventListener('keydown', function (event) {\n                if (event.key !== 'Escape') return;\n                if (pageShell) {\n                    pageShell.classList.remove('is-mobile-nav-open');\n                }\n                if (navToggle) {\n                    navToggle.setAttribute('aria-expanded', 'false');\n                }\n                shellNav.querySelectorAll('.wvarc-shell-nav__item.is-open').forEach(function (openItem) {\n                    openItem.classList.remove('is-open');\n                    var openLink = openItem.querySelector('.wvarc-shell-nav__link');\n                    if (openLink) openLink.setAttribute('aria-expanded', 'false');\n                });\n            });\n        }\n\n        function sendEmbedHeight() {\n            if (window.parent === window) return;\n            var bounds = root.getBoundingClientRect();\n            var height = Math.max(root.scrollHeight || 0, root.offsetHeight || 0, bounds.height || 0);\n            window.parent.postMessage({\n                type: 'wvarc-node-status-height',\n                height: Math.max(320, Math.ceil(height + 24))\n            }, '*');\n        }\n\n        function escapeHtml(value) {\n            return String(value == null ? '' : value)\n                .replace(\/&\/g, '&amp;')\n                .replace(\/<\/g, '&lt;')\n                .replace(\/>\/g, '&gt;')\n                .replace(\/\"\/g, '&quot;')\n                .replace(\/'\/g, '&#039;');\n        }\n\n        function stateLabel(state) {\n            if (state === 'online') return 'Online';\n            if (state === 'offline') return 'Offline';\n            if (state === 'unavailable') return 'Unavailable';\n            if (state === 'invalid') return 'Invalid';\n            return 'Unknown';\n        }\n\n        function localTime(epoch) {\n            var seconds = Number(epoch || 0);\n            if (!seconds) return '-';\n            try {\n                return new Date(seconds * 1000).toLocaleTimeString([], {\n                    hour: 'numeric',\n                    minute: '2-digit',\n                    second: '2-digit'\n                });\n            } catch (e) {\n                return '-';\n            }\n        }\n\n        function text(selector, value) {\n            var el = root.querySelector(selector);\n            if (el) el.textContent = value;\n        }\n\n        function pillHtml(state) {\n            return '<div class=\"wvarc-node-status__pill wvarc-state-' + escapeHtml(state || 'unknown') + '\"><i aria-hidden=\"true\"><\/i><span>' + escapeHtml(stateLabel(state)) + '<\/span><\/div>';\n        }\n\n        function elapsedFromEpoch(epoch) {\n            var seconds = Math.max(0, Math.floor(Date.now() \/ 1000) - Number(epoch || 0));\n            var minutes = Math.floor(seconds \/ 60);\n            var secs = seconds % 60;\n            return String(minutes).padStart(2, '0') + ':' + String(secs).padStart(2, '0');\n        }\n\n        function compactTalkerDuration(value) {\n            var text = String(value || '').trim();\n            var match = text.match(\/^(\\d+):(\\d{2}):(\\d{2})$\/);\n            if (!match) return text || '-';\n            var totalMinutes = Number(match[1]) * 60 + Number(match[2]);\n            return String(totalMinutes).padStart(2, '0') + ':' + match[3];\n        }\n\n        function viewerLocalTalkerTime(epoch) {\n            var seconds = Number(epoch || 0);\n            if (!seconds) return '';\n            try {\n                return new Intl.DateTimeFormat([], {\n                    hour: '2-digit',\n                    minute: '2-digit',\n                    hourCycle: 'h23'\n                }).format(new Date(seconds * 1000));\n            } catch (e) {\n                return '';\n            }\n        }\n\n        function talkerCard(card) {\n            var startedEpoch = Number(card.startedEpoch || 0);\n            var timeValue = startedEpoch ? elapsedFromEpoch(startedEpoch) : compactTalkerDuration(card.time || '-');\n            var timeAttributes = startedEpoch ? ' data-wvarc-talker-start=\"' + escapeHtml(startedEpoch) + '\"' : '';\n            var location = card.location ? '<span class=\"wvarc-talker-location\">' + escapeHtml(card.location) + '<\/span>' : '';\n            var headerTime = viewerLocalTalkerTime(card.eventEpoch);\n            var headerClock = headerTime ? '<span class=\"wvarc-talker-card__clock-inline\"> <span class=\"wvarc-talker-card__clock-separator\">\u00b7<\/span> ' + escapeHtml(headerTime) + '<\/span>' : '';\n            return '<div class=\"wvarc-talker-card\">' +\n                '<div class=\"wvarc-talker-card__header\"><span class=\"wvarc-talker-card__title\">' + escapeHtml(card.title) + headerClock + '<\/span><\/div>' +\n                '<strong>' + escapeHtml(card.callsign || '-') + '<\/strong>' +\n                '<small>' +\n                    '<span class=\"wvarc-talker-source\">' + escapeHtml(card.source || '-') + '<\/span>' +\n                    location +\n                    '<span class=\"wvarc-talker-time\"' + timeAttributes + '>Duration: ' + escapeHtml(timeValue) + '<\/span>' +\n                '<\/small>' +\n            '<\/div>';\n        }\n\n        function updateTalkerCountdowns() {\n            root.querySelectorAll('[data-wvarc-talker-start]').forEach(function (el) {\n                el.textContent = 'Duration: ' + elapsedFromEpoch(el.getAttribute('data-wvarc-talker-start'));\n            });\n        }\n\n        function firstCallsign(value) {\n            var text = String(value || '').toUpperCase();\n            var match = text.match(\/\\b[A-Z]{1,2}\\d[A-Z]{1,3}\\b|\\b[A-Z]{1,2}\\d[A-Z]{1,3}\\\/[A-Z0-9-]+\\b\/g);\n            return match && match.length ? match[0].split('\/')[0] : '';\n        }\n\n        function isEchoLinkNode(value) {\n            return \/^3\\d{6}$\/.test(String(value || '').trim());\n        }\n\n        function echoLinkLookupValue(value) {\n            return String(value || '').trim().replace(\/^3(?=\\d{6}$)\/, '');\n        }\n\n        function titleCaseLocationPart(value) {\n            var text = String(value || '').trim();\n            if (!text || (text !== text.toUpperCase() && text !== text.toLowerCase())) return text;\n            return text.toLowerCase().replace(\/(^|[\\s'-])([a-z])\/g, function (match, lead, letter) {\n                return lead + letter.toUpperCase();\n            });\n        }\n\n        function formatTalkerLocation(value) {\n            var text = String(value || '').trim().replace(\/\\s+\/g, ' ');\n            if (!text) return '';\n            if (\/^-[A-Z]$\/i.test(text)) return '';\n            var stateAbbreviations = {\n                'alabama': 'AL', 'alaska': 'AK', 'arizona': 'AZ', 'arkansas': 'AR', 'california': 'CA',\n                'colorado': 'CO', 'connecticut': 'CT', 'delaware': 'DE', 'florida': 'FL', 'georgia': 'GA',\n                'hawaii': 'HI', 'idaho': 'ID', 'illinois': 'IL', 'indiana': 'IN', 'iowa': 'IA',\n                'kansas': 'KS', 'kentucky': 'KY', 'louisiana': 'LA', 'maine': 'ME', 'maryland': 'MD',\n                'massachusetts': 'MA', 'michigan': 'MI', 'minnesota': 'MN', 'mississippi': 'MS', 'missouri': 'MO',\n                'montana': 'MT', 'nebraska': 'NE', 'nevada': 'NV', 'new hampshire': 'NH', 'new jersey': 'NJ',\n                'new mexico': 'NM', 'new york': 'NY', 'north carolina': 'NC', 'north dakota': 'ND', 'ohio': 'OH',\n                'oklahoma': 'OK', 'oregon': 'OR', 'pennsylvania': 'PA', 'rhode island': 'RI', 'south carolina': 'SC',\n                'south dakota': 'SD', 'tennessee': 'TN', 'texas': 'TX', 'utah': 'UT', 'vermont': 'VT',\n                'virginia': 'VA', 'washington': 'WA', 'west virginia': 'WV', 'wisconsin': 'WI', 'wyoming': 'WY',\n                'district of columbia': 'DC'\n            };\n            var parts = text.split(\/\\s*,\\s*\/).filter(Boolean);\n            return parts.map(function (part, index) {\n                var lower = part.toLowerCase();\n                if (index === parts.length - 1 && stateAbbreviations[lower]) return stateAbbreviations[lower];\n                if (index === parts.length - 1 && \/^[a-z]{2,3}$\/i.test(part)) return part.toUpperCase();\n                return titleCaseLocationPart(part);\n            }).join(', ');\n        }\n\n        function isEchoLinkStationNode(entry) {\n            var item = entry || {};\n            var text = [item.callsign, item.person, item.label].filter(Boolean).join(' ').toUpperCase();\n            return \/\\b[A-Z]{1,2}\\d[A-Z0-9]{1,4}-(?:R|L)\\b\/.test(text);\n        }\n\n        function echoLinkSourceKey(entry) {\n            return isEchoLinkStationNode(entry) ? 'echolinknode' : 'voipapp';\n        }\n\n        function entrySourceKey(entry) {\n            var item = entry || {};\n            var explicit = [item.source_type, item.network, item.protocol, item.transport, item.source].filter(Boolean).join(' ').toUpperCase();\n            if (\/D-?STAR\/.test(explicit)) return 'dstar';\n            if (\/ECHOLINK|ECHO LINK\/.test(explicit)) return echoLinkSourceKey(item);\n            if (\/WEB\\s*TRANSCEIVER|\\bASL[- ]?WT\\b\/.test(explicit)) return 'voipapp';\n            if (\/ALLSTAR|ALLSTARLINK|\\bASL\\b\/.test(explicit)) return 'allstar';\n            if (\/\\bDMR\\b\/.test(explicit)) return 'dmr';\n            if (\/\\bYSF\\b|SYSTEM FUSION\/.test(explicit)) return 'ysf';\n            if (\/ZELLO\/.test(explicit)) return 'zello';\n            if (\/REPEATER INPUT|RF INPUT|LOCAL RF\/.test(explicit)) return 'input';\n\n            var id = String(item.id || '').trim();\n            var node = String(item.node || '').trim();\n            var label = String(item.label || '').trim();\n            if (id === 'local-rf' || \/repeater input\/i.test(label)) return 'input';\n            if (isEchoLinkNode(id) || isEchoLinkNode(node)) return echoLinkSourceKey(item);\n\n            var nodeCallsign = firstCallsign(node);\n            if (nodeCallsign && nodeCallsign === node.toUpperCase() && nodeCallsign !== 'NY7S') return 'voipapp';\n            return 'allstar';\n        }\n\n        function sourceCardLabel(entry) {\n            var labels = {\n                input: 'RF Input',\n                echolinknode: 'EL Node',\n                voipapp: 'VoIP App',\n                allstar: 'ASL Node',\n                dmr: 'DMR',\n                ysf: 'YSF',\n                zello: 'Zello',\n                dstar: 'D-Star'\n            };\n            return labels[entrySourceKey(entry)] || 'Source Unavailable';\n        }\n\n        function sourceTableLabel(entry) {\n            var labels = {\n                input: 'RF INPUT',\n                echolinknode: 'EL NODE',\n                voipapp: 'VOIP APP',\n                allstar: 'ASL NODE',\n                dmr: 'DMR',\n                ysf: 'YSF',\n                zello: 'ZELLO',\n                dstar: 'D-STAR'\n            };\n            return labels[entrySourceKey(entry)] || '-';\n        }\n\n        function talkerIdentity(entry) {\n            var item = entry || {};\n            var label = String(item.label || '').trim();\n            var node = String(item.node || item.id || '').trim();\n            var sourceKey = entrySourceKey(item);\n            var callsign = firstCallsign(label) || firstCallsign(node) || node || '-';\n            if (sourceKey === 'input') callsign = firstCallsign(node) || 'NY7S';\n\n            var source = sourceCardLabel(item);\n            if (sourceKey !== 'input' && node && node.toUpperCase() !== callsign.toUpperCase()) {\n                source += ' \u2022 ' + node;\n            }\n\n            var location = String(item.location || '').trim();\n            if (!location && item.label_location_source === 'qrz-cache' && callsign && callsign !== '-') {\n                location = label.replace(new RegExp('^' + callsign + '\\\\s*', 'i'), '').trim();\n            }\n\n            return {\n                callsign: callsign,\n                source: source,\n                location: formatTalkerLocation(location)\n            };\n        }\n\n        function actionButton(label, url, className) {\n            return '<button type=\"button\" class=\"wvarc-lookup-link ' + escapeHtml(className || '') + '\" data-wvarc-url=\"' + escapeHtml(url) + '\">' + escapeHtml(label || '-') + '<\/button>';\n        }\n\n        function echoLinkButton(label, lookupValue, className) {\n            return '<button type=\"button\" class=\"wvarc-lookup-link ' + escapeHtml(className || '') + '\" data-echolink-lookup=\"' + escapeHtml(lookupValue) + '\">' + escapeHtml(label || '-') + '<\/button>';\n        }\n\n        function lookupLink(value, label, fallbackClass) {\n            var textValue = String(value || '').trim();\n            var textLabel = String(label || textValue || '-');\n            if (isEchoLinkNode(textValue)) {\n                return echoLinkButton(textLabel, echoLinkLookupValue(textValue), fallbackClass);\n            }\n            var call = firstCallsign(textValue || textLabel);\n            if (call) {\n                return actionButton(textLabel, 'https:\/\/www.qrz.com\/db\/' + encodeURIComponent(call), fallbackClass);\n            }\n            if (\/^\\d{3,10}$\/.test(textValue)) {\n                return actionButton(textLabel, 'https:\/\/stats.allstarlink.org\/stats\/' + encodeURIComponent(textValue), fallbackClass);\n            }\n            return escapeHtml(textLabel || '-');\n        }\n\n        function lookupConnectionLink(node) {\n            var nodeNumber = String(node.node || '').trim();\n            var label = String(node.label || '');\n            if (isEchoLinkNode(nodeNumber)) {\n                return lookupLink(nodeNumber, nodeNumber || '-');\n            }\n            var call = firstCallsign(label);\n            if (call) {\n                return actionButton(nodeNumber || '-', 'https:\/\/www.qrz.com\/db\/' + encodeURIComponent(call));\n            }\n            return lookupLink(nodeNumber, nodeNumber || '-');\n        }\n\n        function lookupLabelLink(node) {\n            var label = String(node.label || '-');\n            var call = firstCallsign(label);\n            if (!call) return escapeHtml(label);\n            return actionButton(label, 'https:\/\/www.qrz.com\/db\/' + encodeURIComponent(call));\n        }\n\n        function submitEchoLinkLookup(value) {\n            var lookupValue = String(value || '').trim();\n            window.open('\/?wvarc_echolink_lookup=' + encodeURIComponent(lookupValue), '_blank', 'noopener');\n        }\n\n        function hasOpenMap() {\n            if (stationMapOpen) return true;\n            return Object.keys(openMaps).some(function (key) {\n                return openMaps[key];\n            });\n        }\n\n        function loadLeaflet() {\n            if (window.L) return Promise.resolve(window.L);\n            if (leafletPromise) return leafletPromise;\n\n            leafletPromise = new Promise(function (resolve, reject) {\n                var cssFallback = 'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.9.4\/leaflet.min.css';\n                if (!document.querySelector('link[data-wvarc-leaflet]')) {\n                    var link = document.createElement('link');\n                    link.rel = 'stylesheet';\n                    link.href = 'https:\/\/netoholicsnetwork.net\/index.php?wvarc_leaflet_asset=css&v=1.9.4';\n                    link.setAttribute('data-wvarc-leaflet', '1');\n                    link.addEventListener('error', function () {\n                        if (link.href !== cssFallback) link.href = cssFallback;\n                    }, { once: true });\n                    document.head.appendChild(link);\n                }\n\n                var sources = [\n                    'https:\/\/netoholicsnetwork.net\/index.php?wvarc_leaflet_asset=js&v=1.9.4',\n                    'https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/leaflet\/1.9.4\/leaflet.min.js',\n                    'https:\/\/unpkg.com\/leaflet@1.9.4\/dist\/leaflet.js'\n                ];\n                function trySource(index) {\n                    var script = document.createElement('script');\n                    var settled = false;\n                    var timeoutId = null;\n                    script.src = sources[index];\n                    script.async = true;\n                    script.setAttribute('data-wvarc-leaflet-script', String(index));\n                    function tryNextOrReject() {\n                        if (settled) return;\n                        settled = true;\n                        if (timeoutId) window.clearTimeout(timeoutId);\n                        script.remove();\n                        if (index + 1 < sources.length) {\n                            trySource(index + 1);\n                            return;\n                        }\n                        leafletPromise = null;\n                        reject(new Error('Leaflet unavailable'));\n                    }\n                    script.onload = function () {\n                        if (settled) return;\n                        settled = true;\n                        if (timeoutId) window.clearTimeout(timeoutId);\n                        if (window.L) {\n                            resolve(window.L);\n                            return;\n                        }\n                        settled = false;\n                        leafletPromise = null;\n                        tryNextOrReject();\n                    };\n                    script.onerror = tryNextOrReject;\n                    document.head.appendChild(script);\n                    timeoutId = window.setTimeout(tryNextOrReject, 2500);\n                }\n                trySource(0);\n            });\n            return leafletPromise;\n        }\n\n        function stationInfoHtml(point) {\n            var location = [point.city, point.state, point.country].filter(Boolean).join(', ');\n            return '<strong>' + escapeHtml(point.call || point.label || 'Station') + '<\/strong>' +\n                (point.name ? '<span>' + escapeHtml(point.name) + '<\/span>' : '') +\n                (location ? '<span>' + escapeHtml(location) + '<\/span>' : '');\n        }\n\n        function stationMapSummaryText(payload, mappedCount) {\n            var unmapped = Array.isArray(payload && payload.unmapped) ? payload.unmapped.length : Number(payload && payload.unmapped_count || 0);\n            var mappedText = mappedCount + ' station' + (mappedCount === 1 ? '' : 's') + ' mapped';\n            var unmappedText = unmapped ? unmapped + ' not mapped' : '0 not mapped';\n            return mappedText + ' \u00b7 ' + unmappedText;\n        }\n\n        function stationMapUnmappedText(payload) {\n            var unmapped = Array.isArray(payload && payload.unmapped) ? payload.unmapped : [];\n            if (!unmapped.length) return '';\n            return 'Not mapped: ' + unmapped.map(function (item) {\n                return item.call || item.node || item.label || 'unknown';\n            }).join(', ');\n        }\n\n        function renderStationMap(attempt) {\n            attempt = Number(attempt || 0);\n            var panel = root.querySelector('[data-wvarc-station-map-panel]');\n            var mapEl = root.querySelector('[data-wvarc-station-map]');\n            var summaryEl = root.querySelector('[data-wvarc-station-map-summary]');\n            var unmappedEl = root.querySelector('[data-wvarc-station-map-unmapped]');\n            if (!panel || !mapEl || stationMapRendered) return;\n            var createdMap = null;\n\n            mapEl.innerHTML = '<div class=\"wvarc-map-loading\">Loading station map...<\/div>';\n            if (summaryEl) summaryEl.textContent = 'Loading station locations...';\n            if (unmappedEl) unmappedEl.textContent = '';\n            Promise.all([\n                loadLeaflet(),\n                fetch(stationMapEndpoint + '?t=' + Date.now(), { credentials: 'same-origin', cache: 'no-store' }).then(function (response) {\n                    if (!response.ok) throw new Error('Station map unavailable');\n                    return response.json();\n                })\n            ]).then(function (results) {\n                var L = results[0];\n                var payload = results[1] || {};\n                var points = Array.isArray(payload.points) ? payload.points : [];\n                if (!stationMapOpen || panel.hidden) return;\n                if (summaryEl) summaryEl.textContent = stationMapSummaryText(payload, points.length);\n                if (unmappedEl) unmappedEl.textContent = stationMapUnmappedText(payload);\n                if (!points.length) {\n                    mapEl.innerHTML = '<div class=\"wvarc-map-loading\">' +\n                        (payload.qrz_configured === false\n                            ? 'QRZ XML credentials are not configured yet.'\n                            : 'No QRZ-mapped stations are available yet.') +\n                        '<\/div>';\n                    stationMapRendered = true;\n                    window.setTimeout(sendEmbedHeight, 100);\n                    return;\n                }\n\n                mapEl.innerHTML = '<div class=\"wvarc-station-info-card\" data-wvarc-station-info-card hidden><button type=\"button\" data-wvarc-station-info-close aria-label=\"Close station details\">\u00d7<\/button><div data-wvarc-station-info-content><\/div><\/div>';\n                var infoCard = mapEl.querySelector('[data-wvarc-station-info-card]');\n                var infoContent = mapEl.querySelector('[data-wvarc-station-info-content]');\n                var infoClose = mapEl.querySelector('[data-wvarc-station-info-close]');\n                if (infoClose) {\n                    infoClose.addEventListener('click', function (event) {\n                        event.preventDefault();\n                        event.stopPropagation();\n                        if (infoCard) infoCard.hidden = true;\n                    });\n                }\n\n                var map = L.map(mapEl, {\n                    boxZoom: false,\n                    keyboard: false,\n                    scrollWheelZoom: false\n                }).setView([39, -98], 4);\n                createdMap = map;\n                stationMapInstance = map;\n                L.tileLayer('https:\/\/tile.openstreetmap.org\/{z}\/{x}\/{y}.png', {\n                    maxZoom: 19,\n                    attribution: '&copy; OpenStreetMap contributors'\n                }).addTo(map);\n\n                map.on('click', function () {\n                    if (infoCard) infoCard.hidden = true;\n                });\n\n                var icon = L.divIcon({\n                    className: '',\n                    html: '<div class=\"wvarc-station-marker\"><\/div>',\n                    iconSize: [22, 22],\n                    iconAnchor: [11, 11]\n                });\n                var markers = [];\n                points.forEach(function (point) {\n                    var lat = Number(point.lat);\n                    var lon = Number(point.lon || point.lng);\n                    if (!Number.isFinite(lat) || !Number.isFinite(lon)) return;\n                    var marker = L.marker([lat, lon], {\n                        icon: icon,\n                        keyboard: false\n                    }).addTo(map);\n                    marker.on('click', function (event) {\n                        if (event && event.originalEvent) {\n                            event.originalEvent.preventDefault();\n                            event.originalEvent.stopPropagation();\n                        }\n                        if (infoContent) infoContent.innerHTML = stationInfoHtml(point);\n                        if (infoCard) infoCard.hidden = false;\n                    });\n                    markers.push(marker);\n                });\n                if (!markers.length) {\n                    map.remove();\n                    if (stationMapInstance === map) stationMapInstance = null;\n                    createdMap = null;\n                    mapEl.innerHTML = '<div class=\"wvarc-map-loading\">No QRZ-mapped stations with usable coordinates are available yet.<\/div>';\n                    stationMapRendered = true;\n                    window.setTimeout(sendEmbedHeight, 100);\n                    return;\n                }\n                var group = L.featureGroup(markers);\n                map.fitBounds(group.getBounds().pad(0.18));\n                stationMapRendered = true;\n                map.invalidateSize();\n                window.setTimeout(function () {\n                    map.invalidateSize();\n                    sendEmbedHeight();\n                }, 150);\n                window.setTimeout(function () {\n                    map.invalidateSize();\n                }, 650);\n            }).catch(function () {\n                if (createdMap) {\n                    try { createdMap.remove(); } catch (e) {}\n                    if (stationMapInstance === createdMap) stationMapInstance = null;\n                    createdMap = null;\n                }\n                stationMapRendered = false;\n                if (attempt < 1 && stationMapOpen && panel && !panel.hidden) {\n                    mapEl.innerHTML = '<div class=\"wvarc-map-loading\">Retrying station map...<\/div>';\n                    window.setTimeout(function () { renderStationMap(attempt + 1); }, 500);\n                    return;\n                }\n                mapEl.innerHTML = '<div class=\"wvarc-map-loading\">Station map is unavailable right now.<\/div>';\n                window.setTimeout(sendEmbedHeight, 100);\n            });\n        }\n\n        function renderTalkers(connectionStatus) {\n            var nodes = connectionStatus && Array.isArray(connectionStatus.nodes) ? connectionStatus.nodes : [];\n            var keyedNode = connectionStatus && connectionStatus.keyed_node ? String(connectionStatus.keyed_node) : '';\n            var exactCurrent = keyedNode && keyedNode !== '-'\n                ? nodes.find(function (node) {\n                    return String(node.node || '') === keyedNode && String(node.keyed || '').toLowerCase() === 'yes';\n                })\n                : null;\n            var keyedCurrent = exactCurrent || nodes.find(function (node) {\n                return String(node.keyed || '').toLowerCase() === 'yes';\n            });\n            var liveCurrent = connectionStatus && connectionStatus.current_talker && String(connectionStatus.current_talker.keyed || '').toLowerCase() === 'yes'\n                ? connectionStatus.current_talker\n                : null;\n            var current = liveCurrent || keyedCurrent;\n            if (keyedCurrent && liveCurrent) {\n                var keyedIdentity = String(keyedCurrent.node || keyedCurrent.id || '');\n                var liveIdentity = String(liveCurrent.node || liveCurrent.id || '');\n                if (keyedIdentity && keyedIdentity === liveIdentity) {\n                    current = Object.assign({}, keyedCurrent, liveCurrent);\n                }\n            }\n            var cards = [];\n\n            if (current) {\n                var currentTime = current.keyed_elapsed || current.last_keyed || '-';\n                var currentIdentity = talkerIdentity(current);\n                cards.push({\n                    title: 'Current Talker',\n                    callsign: currentIdentity.callsign,\n                    source: currentIdentity.source,\n                    location: currentIdentity.location,\n                    startedEpoch: current.keyed_started_epoch || 0,\n                    time: currentTime\n                });\n            } else {\n                cards.push({\n                    title: 'Current Talker',\n                    callsign: '-',\n                    source: 'No one talking',\n                    time: '-'\n                });\n            }\n\n            var lastTalkers = connectionStatus && Array.isArray(connectionStatus.last_talkers) ? connectionStatus.last_talkers : [];\n            for (var i = 0; i < 5; i += 1) {\n                var talker = lastTalkers[i];\n                if (talker) {\n                    var lastIdentity = talkerIdentity(talker);\n                    cards.push({\n                        title: 'Last Talker ' + (i + 1),\n                        callsign: lastIdentity.callsign,\n                        source: lastIdentity.source,\n                        location: lastIdentity.location,\n                        eventEpoch: talker.event_epoch || (talker.event_time ? Math.floor(Date.parse(talker.event_time) \/ 1000) : 0),\n                        time: talker.last_keyed || '-'\n                    });\n                } else {\n                    cards.push({\n                        title: 'Last Talker ' + (i + 1),\n                        callsign: '-',\n                        source: 'No recent talker',\n                        time: '-'\n                    });\n                }\n            }\n\n            return '<div class=\"wvarc-talker-grid\">' + cards.map(talkerCard).join('') + '<\/div>';\n        }\n\n        function renderMapPanel(nodeNumber) {\n            var node = String(nodeNumber || '').trim();\n            if (!node) return '';\n            var mapBaseUrl = 'https:\/\/stats.allstarlink.org\/stats\/' + encodeURIComponent(node) + '\/networkMap';\n            var mapUrl = networkMapRefreshTokens[node]\n                ? mapBaseUrl + '?wvarc_refresh=' + encodeURIComponent(networkMapRefreshTokens[node])\n                : mapBaseUrl;\n            var stationButtonClass = stationMapOpen ? ' is-open' : '';\n            var stationButtonState = stationMapOpen ? ' aria-pressed=\"true\" disabled' : ' aria-pressed=\"false\"';\n            return '<div class=\"wvarc-map-actions\"><button type=\"button\" class=\"wvarc-map-button' + stationButtonClass + '\" data-wvarc-station-map-open' + stationButtonState + '>View Station Map<\/button><button type=\"button\" class=\"wvarc-map-button\" data-wvarc-map-open=\"' + escapeHtml(node) + '\" data-wvarc-map-url=\"' + escapeHtml(mapBaseUrl) + '\">View Network Map<\/button><\/div>' +\n                '<div class=\"wvarc-map-panel\" data-wvarc-station-map-panel' + (stationMapOpen ? '' : ' hidden') + '>' +\n                    '<div class=\"wvarc-map-head\"><strong>QRZ Station Map<\/strong><button type=\"button\" class=\"wvarc-map-close\" data-wvarc-station-map-close>Close<\/button><\/div>' +\n                    '<div class=\"wvarc-map-body\"><div class=\"wvarc-station-map\" data-wvarc-station-map><\/div>' +\n                    '<p class=\"wvarc-map-summary\" data-wvarc-station-map-summary>Loading station locations...<\/p>' +\n                    '<p class=\"wvarc-map-unmapped\" data-wvarc-station-map-unmapped><\/p>' +\n                    '<p class=\"wvarc-map-note\">Station locations are looked up through QRZ XML and cached for up to 90 days. Map: OpenStreetMap Standard.<\/p><\/div>' +\n                '<\/div>' +\n                '<div class=\"wvarc-map-panel\" data-wvarc-map-panel=\"' + escapeHtml(node) + '\"' + (openMaps[node] ? '' : ' hidden') + '>' +\n                    '<div class=\"wvarc-map-head\"><strong>AllStarLink Network Map<\/strong><button type=\"button\" class=\"wvarc-map-close\" data-wvarc-map-close>Close<\/button><\/div>' +\n                    '<div class=\"wvarc-map-body\"><img src=\"' + escapeHtml(mapUrl) + '\" alt=\"AllStarLink network map for node ' + escapeHtml(node) + '\" loading=\"eager\" decoding=\"async\">' +\n                    '<p class=\"wvarc-map-note\"><button type=\"button\" class=\"wvarc-map-fallback\" data-wvarc-url=\"' + escapeHtml(mapUrl) + '\">Open map in new tab<\/button><\/p><\/div>' +\n                '<\/div>';\n        }\n\n        function freshWvarcNetworkMapUrl(node, mapBaseUrl) {\n            networkMapRefreshTokens[node] = Date.now();\n            return mapBaseUrl + (mapBaseUrl.indexOf('?') === -1 ? '?' : '&') +\n                'wvarc_refresh=' + encodeURIComponent(networkMapRefreshTokens[node]);\n        }\n\n        function refreshOpenWvarcNetworkMap(node, mapBaseUrl) {\n            if (!openMaps[node]) return;\n            var freshMapUrl = freshWvarcNetworkMapUrl(node, mapBaseUrl);\n            var panel = root.querySelector('[data-wvarc-map-panel=\"' + node + '\"]');\n            if (panel) {\n                var mapImage = panel.querySelector('img');\n                var fallbackButton = panel.querySelector('[data-wvarc-url]');\n                if (mapImage) mapImage.src = freshMapUrl;\n                if (fallbackButton) fallbackButton.setAttribute('data-wvarc-url', freshMapUrl);\n            }\n        }\n\n        function scheduleWvarcNetworkMapRefresh(node, mapBaseUrl) {\n            if (networkMapRefreshTimers[node]) {\n                window.clearTimeout(networkMapRefreshTimers[node]);\n            }\n            networkMapRefreshTimers[node] = window.setTimeout(function () {\n                if (!openMaps[node]) return;\n                refreshOpenWvarcNetworkMap(node, mapBaseUrl);\n                scheduleWvarcNetworkMapRefresh(node, mapBaseUrl);\n            }, 300000);\n        }\n\n        function stopWvarcNetworkMapRefresh(node) {\n            if (networkMapRefreshTimers[node]) {\n                window.clearTimeout(networkMapRefreshTimers[node]);\n                delete networkMapRefreshTimers[node];\n            }\n        }\n\n        function durationSortValue(value) {\n            var text = String(value || '').trim();\n            if (!\/^\\d+:\\d{2}:\\d{2}$\/.test(text)) return null;\n            var parts = text.split(':').map(function (part) { return Number(part); });\n            return parts[0] * 3600 + parts[1] * 60 + parts[2];\n        }\n\n        function naturalCompare(a, b) {\n            return String(a || '').localeCompare(String(b || ''), undefined, {\n                numeric: true,\n                sensitivity: 'base'\n            });\n        }\n\n        function stationNameSortValue(node) {\n            var label = String(node && node.label ? node.label : '').trim();\n            return firstCallsign(label) || firstCallsign(node && node.node ? node.node : '') || label || String(node && node.node ? node.node : '');\n        }\n\n        function sortConnectedNodes(nodes) {\n            var sorted = Array.isArray(nodes) ? nodes.slice() : [];\n            sorted.sort(function (a, b) {\n                if (connectionSort.key === 'default') {\n                    var aKeyed = String(a && a.keyed || '').toLowerCase() === 'yes';\n                    var bKeyed = String(b && b.keyed || '').toLowerCase() === 'yes';\n                    if (aKeyed !== bKeyed) return aKeyed ? -1 : 1;\n                    var aLastKeyed = durationSortValue(a && a.last_keyed);\n                    var bLastKeyed = durationSortValue(b && b.last_keyed);\n                    if (aLastKeyed === null && bLastKeyed !== null) return 1;\n                    if (aLastKeyed !== null && bLastKeyed === null) return -1;\n                    if (aLastKeyed !== null && bLastKeyed !== null && aLastKeyed !== bLastKeyed) return aLastKeyed - bLastKeyed;\n                    return naturalCompare(stationNameSortValue(a), stationNameSortValue(b)) || naturalCompare(a && a.node, b && b.node);\n                }\n\n                var direction = connectionSort.direction === 'desc' ? -1 : 1;\n                var comparison = 0;\n                if (connectionSort.key === 'name') {\n                    comparison = naturalCompare(stationNameSortValue(a), stationNameSortValue(b));\n                } else if (connectionSort.key === 'node') {\n                    comparison = naturalCompare(a && a.node, b && b.node);\n                } else if (connectionSort.key === 'connected' || connectionSort.key === 'last_keyed') {\n                    var field = connectionSort.key === 'connected' ? 'elapsed' : 'last_keyed';\n                    var aDuration = durationSortValue(a && a[field]);\n                    var bDuration = durationSortValue(b && b[field]);\n                    if (aDuration === null && bDuration !== null) return 1;\n                    if (aDuration !== null && bDuration === null) return -1;\n                    if (aDuration !== null && bDuration !== null) comparison = aDuration - bDuration;\n                }\n                return comparison * direction || naturalCompare(stationNameSortValue(a), stationNameSortValue(b)) || naturalCompare(a && a.node, b && b.node);\n            });\n            return sorted;\n        }\n\n        function sortHeader(label, key) {\n            var active = connectionSort.key === key;\n            var indicator = active ? (connectionSort.direction === 'asc' ? '\u2191' : '\u2193') : '\u21c5';\n            var ariaSort = active ? (connectionSort.direction === 'asc' ? 'ascending' : 'descending') : 'none';\n            return '<th aria-sort=\"' + ariaSort + '\"><button type=\"button\" class=\"wvarc-sort-header' + (active ? ' is-active' : '') + '\" data-wvarc-sort-key=\"' + escapeHtml(key) + '\"><span>' + escapeHtml(label) + '<\/span><span class=\"wvarc-sort-indicator\" aria-hidden=\"true\">' + indicator + '<\/span><\/button><\/th>';\n        }\n\n        function sortOption(value, label) {\n            var currentValue = connectionSort.key === 'default' ? 'default' : connectionSort.key + ':' + connectionSort.direction;\n            return '<option value=\"' + escapeHtml(value) + '\"' + (currentValue === value ? ' selected' : '') + '>' + escapeHtml(label) + '<\/option>';\n        }\n\n        function sortToolbar() {\n            var isDefault = connectionSort.key === 'default';\n            return '<div class=\"wvarc-sort-toolbar ' + (isDefault ? 'is-default' : 'is-custom') + '\">' +\n                '<label class=\"wvarc-sort-mobile\"><span>Sort connected stations<\/span><select data-wvarc-sort-select>' +\n                    sortOption('default', 'Default: Talking first, then Last Keyed') +\n                    sortOption('name:asc', 'Name\/Callsign: A\u2013Z') +\n                    sortOption('name:desc', 'Name\/Callsign: Z\u2013A') +\n                    sortOption('node:asc', 'Node Number: Low\u2013High') +\n                    sortOption('node:desc', 'Node Number: High\u2013Low') +\n                    sortOption('connected:desc', 'Connected: Longest first') +\n                    sortOption('connected:asc', 'Connected: Shortest first') +\n                    sortOption('last_keyed:asc', 'Last Keyed: Most recent first') +\n                    sortOption('last_keyed:desc', 'Last Keyed: Oldest first') +\n                '<\/select><\/label>' +\n                '<button type=\"button\" class=\"wvarc-sort-reset\" data-wvarc-sort-reset' + (isDefault ? ' hidden' : '') + '>Restore default order<\/button>' +\n            '<\/div>';\n        }\n\n        function renderConnections(connectionStatus, nodeInfo) {\n            var nodes = sortConnectedNodes(connectionStatus && Array.isArray(connectionStatus.nodes) ? connectionStatus.nodes : []);\n            var rows = nodes.map(function (node) {\n                var keyed = String(node.keyed || '').toLowerCase() === 'yes';\n                return '<tr>' +\n                    '<td data-label=\"Connection\">' + lookupConnectionLink(node) + '<\/td>' +\n                    '<td data-label=\"Station Info\">' + lookupLabelLink(node) + '<\/td>' +\n                    '<td data-label=\"Keyed\">' + (keyed ? '<span class=\"wvarc-keyed\">Yes<\/span>' : 'No') + '<\/td>' +\n                    '<td data-label=\"Last Keyed\">' + escapeHtml(node.last_keyed || '-') + '<\/td>' +\n                    '<td data-label=\"Source\">' + escapeHtml(sourceTableLabel(node)) + '<\/td>' +\n                    '<td data-label=\"Connected\">' + escapeHtml(node.elapsed || '-') + '<\/td>' +\n                '<\/tr>';\n            }).join('');\n            var totalLinked = Number.isFinite(Number(connectionStatus.total_link_count)) ? Number(connectionStatus.total_link_count) : Number(connectionStatus.connected_node_count || 0);\n            var directLinked = Number.isFinite(Number(connectionStatus.direct_link_count)) ? Number(connectionStatus.direct_link_count) : Number(connectionStatus.active_link_count || 0);\n            var adjacentLinked = Number.isFinite(Number(connectionStatus.adjacent_link_count)) ? Number(connectionStatus.adjacent_link_count) : Math.max(totalLinked - directLinked, 0);\n            var summary = '<div class=\"wvarc-connection-summary\"><span>Total Linked <strong>' + escapeHtml(totalLinked) + '<\/strong><\/span><span>Direct <strong>' + escapeHtml(directLinked) + '<\/strong><\/span><span>Adjacent <strong>' + escapeHtml(adjacentLinked) + '<\/strong><\/span><\/div>';\n\n            return '<h3 class=\"wvarc-section-title\">Connection Status<\/h3>' +\n                '<p class=\"wvarc-connection-hint\">Click a station\/callsign for QRZ lookup. EchoLink connections open EchoLink lookup.<\/p>' +\n                renderTalkers(connectionStatus) +\n                (rows ? sortToolbar() + '<table class=\"wvarc-connection-table\"><thead><tr>' + sortHeader('Connection', 'node') + sortHeader('Station Info', 'name') + '<th>Keyed<\/th>' + sortHeader('Last Keyed', 'last_keyed') + '<th>Source<\/th>' + sortHeader('Connected', 'connected') + '<\/tr><\/thead><tbody>' + rows + '<\/tbody><\/table>' : '<p class=\"wvarc-empty\">No connected nodes reported right now.<\/p>') +\n                renderMapPanel(nodeInfo && nodeInfo.number) +\n                summary +\n                '<div class=\"wvarc-hosting-credit\">Hosting Courtesy of NetoholicsNetwork.net<\/div>';\n        }\n\n        function renderSite(key, site) {\n            var node = site && site.node ? site.node : {};\n            var connection = site && site.connection_status ? site.connection_status : {};\n            var state = site && site.status ? site.status : (node.status || 'unknown');\n            var title = node.label || (site && site.title ? site.title : key);\n            var feedUrl = site && site.feed_url ? site.feed_url : (node.broadcastify_url || '');\n            var feedButton = feedUrl ? '<div class=\"wvarc-site__actions\"><a class=\"wvarc-broadcastify-link\" href=\"' + escapeHtml(feedUrl) + '\" target=\"_blank\" rel=\"noopener\">Listen on Broadcastify<\/a><\/div>' : '';\n\n            if (site && site.error) {\n                return '<article class=\"wvarc-site\">' +\n                    '<div class=\"wvarc-site__head\"><div><h2>' + escapeHtml(title) + '<\/h2><p class=\"wvarc-site__meta\">Status source unavailable<\/p><\/div>' + pillHtml(state) + '<\/div>' +\n                    '<div class=\"wvarc-site__body\"><p class=\"wvarc-error\">' + escapeHtml(site.error) + '<\/p><\/div>' +\n                '<\/article>';\n            }\n\n            return '<article class=\"wvarc-site\">' +\n                '<div class=\"wvarc-site__head\">' +\n                    '<div><h2>' + escapeHtml(title) + '<\/h2><p class=\"wvarc-site__meta\">Node ' + escapeHtml(node.number || '-') + ' \u00b7 ' + escapeHtml(node.callsign || '-') + '<\/p>' + feedButton + '<\/div>' +\n                    '<div class=\"wvarc-node-status__updated\">' + pillHtml(state) + '<small>Updated <b>' + escapeHtml(localTime(site.generated_epoch)) + '<\/b><\/small><\/div>' +\n                '<\/div>' +\n                '<div class=\"wvarc-site__body\">' + renderConnections(connection, node) + '<\/div>' +\n            '<\/article>';\n        }\n\n        function render(payload) {\n            lastPayload = payload;\n            var sites = payload && payload.sites ? payload.sites : {};\n            var keys = Object.keys(sites);\n            if (!keys.length) {\n                sitesEl.innerHTML = '<p class=\"wvarc-error\">No node status sources are configured.<\/p>';\n                text('[data-wvarc-overall-status]', 'Unknown');\n                return;\n            }\n\n            var onlineCount = keys.filter(function (key) {\n                return sites[key] && sites[key].status === 'online';\n            }).length;\n            var overall = onlineCount > 0 ? 'online' : 'unknown';\n            var pill = root.querySelector('[data-wvarc-overall-pill]');\n            if (pill) pill.className = 'wvarc-node-status__pill wvarc-state-' + overall;\n            text('[data-wvarc-overall-status]', stateLabel(overall));\n\n            var preservedStationPanel = stationMapOpen\n                ? sitesEl.querySelector('[data-wvarc-station-map-panel]')\n                : null;\n            var preservedNetworkPanels = {};\n            Object.keys(openMaps).forEach(function (node) {\n                if (!openMaps[node]) return;\n                var panel = sitesEl.querySelector('[data-wvarc-map-panel=\"' + node + '\"]');\n                if (panel) preservedNetworkPanels[node] = panel;\n            });\n\n            sitesEl.innerHTML = keys.map(function (key) {\n                return renderSite(key, sites[key]);\n            }).join('');\n\n            if (preservedStationPanel) {\n                var freshStationPanel = sitesEl.querySelector('[data-wvarc-station-map-panel]');\n                if (freshStationPanel) {\n                    freshStationPanel.replaceWith(preservedStationPanel);\n                    preservedStationPanel.hidden = false;\n                    if (stationMapInstance) {\n                        window.setTimeout(function () { stationMapInstance.invalidateSize(); }, 100);\n                    }\n                }\n            }\n            Object.keys(preservedNetworkPanels).forEach(function (node) {\n                var freshPanel = sitesEl.querySelector('[data-wvarc-map-panel=\"' + node + '\"]');\n                if (freshPanel) {\n                    freshPanel.replaceWith(preservedNetworkPanels[node]);\n                    preservedNetworkPanels[node].hidden = false;\n                }\n            });\n\n            var firstSite = sites[keys[0]] || {};\n            text('[data-wvarc-updated]', localTime(firstSite.generated_epoch));\n        }\n\n        root.addEventListener('click', function (event) {\n            var sortButton = event.target.closest('[data-wvarc-sort-key]');\n            if (sortButton) {\n                event.preventDefault();\n                var sortKey = sortButton.getAttribute('data-wvarc-sort-key') || 'name';\n                if (connectionSort.key === sortKey) {\n                    connectionSort.direction = connectionSort.direction === 'asc' ? 'desc' : 'asc';\n                } else {\n                    connectionSort = { key: sortKey, direction: 'asc' };\n                }\n                if (lastPayload) render(lastPayload);\n                return;\n            }\n\n            var resetSort = event.target.closest('[data-wvarc-sort-reset]');\n            if (resetSort) {\n                event.preventDefault();\n                connectionSort = { key: 'default', direction: 'asc' };\n                if (lastPayload) render(lastPayload);\n                return;\n            }\n\n            var echoLink = event.target.closest('[data-echolink-lookup]');\n            if (echoLink) {\n                event.preventDefault();\n                submitEchoLinkLookup(echoLink.getAttribute('data-echolink-lookup') || '');\n                return;\n            }\n\n            var urlButton = event.target.closest('[data-wvarc-url]');\n            if (urlButton) {\n                event.preventDefault();\n                window.open(urlButton.getAttribute('data-wvarc-url') || '', '_blank', 'noopener');\n                return;\n            }\n\n            var openStationMap = event.target.closest('[data-wvarc-station-map-open]');\n            if (openStationMap) {\n                event.preventDefault();\n                if (stationMapOpen) return;\n                stationMapOpen = true;\n                stationMapRendered = false;\n                openStationMap.classList.add('is-open');\n                openStationMap.setAttribute('aria-pressed', 'true');\n                openStationMap.disabled = true;\n                var stationPanel = root.querySelector('[data-wvarc-station-map-panel]');\n                if (stationPanel) stationPanel.hidden = false;\n                renderStationMap();\n                window.setTimeout(sendEmbedHeight, 100);\n                return;\n            }\n\n            var closeStationMap = event.target.closest('[data-wvarc-station-map-close]');\n            if (closeStationMap) {\n                event.preventDefault();\n                stationMapOpen = false;\n                stationMapRendered = false;\n                if (stationMapInstance) {\n                    stationMapInstance.remove();\n                    stationMapInstance = null;\n                }\n                var closeStationPanel = closeStationMap.closest('[data-wvarc-station-map-panel]');\n                if (closeStationPanel) {\n                    closeStationPanel.hidden = true;\n                }\n                var stationButton = root.querySelector('[data-wvarc-station-map-open]');\n                if (stationButton) {\n                    stationButton.classList.remove('is-open');\n                    stationButton.setAttribute('aria-pressed', 'false');\n                    stationButton.disabled = false;\n                }\n                if (!hasOpenMap()) load(true);\n                window.setTimeout(sendEmbedHeight, 100);\n                return;\n            }\n\n            var openMap = event.target.closest('[data-wvarc-map-open]');\n            if (openMap) {\n                event.preventDefault();\n                var node = openMap.getAttribute('data-wvarc-map-open') || '';\n                if (openMaps[node]) return;\n                var mapBaseUrl = openMap.getAttribute('data-wvarc-map-url') || '';\n                if (window.matchMedia && window.matchMedia('(max-width: 720px)').matches) {\n                    window.open(freshWvarcNetworkMapUrl(mapBaseUrl), '_blank', 'noopener');\n                    return;\n                }\n                openMaps[node] = true;\n                refreshOpenWvarcNetworkMap(node, mapBaseUrl);\n                var panel = root.querySelector('[data-wvarc-map-panel=\"' + node + '\"]');\n                if (panel) panel.hidden = false;\n                scheduleWvarcNetworkMapRefresh(node, mapBaseUrl);\n                window.setTimeout(sendEmbedHeight, 100);\n                return;\n            }\n\n            var closeMap = event.target.closest('[data-wvarc-map-close]');\n            if (closeMap) {\n                event.preventDefault();\n                var mapPanel = closeMap.closest('[data-wvarc-map-panel]');\n                if (mapPanel) {\n                    var mapNode = mapPanel.getAttribute('data-wvarc-map-panel') || '';\n                    openMaps[mapNode] = false;\n                    stopWvarcNetworkMapRefresh(mapNode);\n                    delete networkMapRefreshTokens[mapNode];\n                    mapPanel.hidden = true;\n                    if (!hasOpenMap()) load(true);\n                    window.setTimeout(sendEmbedHeight, 100);\n                }\n            }\n        });\n\n        root.addEventListener('change', function (event) {\n            var select = event.target.closest('[data-wvarc-sort-select]');\n            if (!select) return;\n            var value = String(select.value || 'default');\n            if (value === 'default') {\n                connectionSort = { key: 'default', direction: 'asc' };\n            } else {\n                var parts = value.split(':');\n                connectionSort = { key: parts[0] || 'name', direction: parts[1] === 'desc' ? 'desc' : 'asc' };\n            }\n            if (lastPayload) render(lastPayload);\n        });\n\n        function load(force) {\n            fetch(endpoint, { credentials: 'same-origin', cache: 'no-store' })\n                .then(function (response) {\n                    if (!response.ok) throw new Error('Status unavailable');\n                    return response.json();\n                })\n                .then(function (payload) {\n                    lastPayload = payload;\n                    if (document.activeElement && document.activeElement.matches('[data-wvarc-sort-select]')) {\n                        return;\n                    }\n                    render(payload);\n                    window.setTimeout(sendEmbedHeight, 100);\n                })\n                .catch(function () {\n                    if (hasOpenMap()) return;\n                    sitesEl.innerHTML = '<p class=\"wvarc-error\">Status unavailable. Please try again shortly.<\/p>';\n                    var pill = root.querySelector('[data-wvarc-overall-pill]');\n                    if (pill) pill.className = 'wvarc-node-status__pill wvarc-state-unavailable';\n                    text('[data-wvarc-overall-status]', 'Unavailable');\n                    text('[data-wvarc-updated]', '-');\n                    window.setTimeout(sendEmbedHeight, 100);\n                });\n        }\n\n        load();\n        window.setInterval(load, 2000);\n        window.setInterval(updateTalkerCountdowns, 1000);\n        window.addEventListener('load', sendEmbedHeight);\n        window.addEventListener('resize', sendEmbedHeight);\n    })();\n    <\/script>\n    <br \/>\n<!-- \/wp:shortcode --><\/p>\n<\/div><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-650","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wp\/v2\/pages\/650","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wp\/v2\/comments?post=650"}],"version-history":[{"count":2,"href":"https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wp\/v2\/pages\/650\/revisions"}],"predecessor-version":[{"id":654,"href":"https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wp\/v2\/pages\/650\/revisions\/654"}],"wp:attachment":[{"href":"https:\/\/netoholicsnetwork.net\/index.php\/wp-json\/wp\/v2\/media?parent=650"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}