{"id":4315,"date":"2026-05-08T03:02:25","date_gmt":"2026-05-08T03:02:25","guid":{"rendered":"https:\/\/gqlamp.com\/?page_id=4315"},"modified":"2026-05-08T03:08:17","modified_gmt":"2026-05-08T03:08:17","slug":"darksky-checker","status":"publish","type":"page","link":"https:\/\/gqlamp.com\/ar\/landscape-lighting-design\/darksky-checker\/","title":{"rendered":"\u0645\u062f\u0642\u0642 \u062f\u0627\u0631\u0643\u0633\u0643\u064a"},"content":{"rendered":"\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-36764b6\" data-block-id=\"36764b6\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-36764b6-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-8ad4895\" data-v=\"4\" data-block-id=\"8ad4895\"><style>.stk-8ad4895-container{margin-top:30px !important;margin-right:30px !important;margin-bottom:30px !important;margin-left:30px !important;}<\/style><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-8ad4895-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-8ad4895-inner-blocks\">\n<h1>DarkSky Approved Commercial Luminaire Self-Check<\/h1>\n<\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-330e087\" data-block-id=\"330e087\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-330e087-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-2fecea5\" data-v=\"4\" data-block-id=\"2fecea5\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-2fecea5-container stk--no-background stk--no-padding\"><div class=\"has-text-align-center stk-block-content stk-inner-blocks stk-2fecea5-inner-blocks\"><div class=\"ct-breadcrumbs\" data-source=\"rankmath\" ><nav aria-label=\"breadcrumbs\" class=\"rank-math-breadcrumb\"><p><span class=\"last\">Home<\/span><\/p><\/nav><\/div><\/div><\/div><\/div>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-stackable-columns alignfull stk-block-columns stk-block stk-d6308b3\" data-block-id=\"d6308b3\"><div class=\"stk-row stk-inner-blocks stk-block-content stk-content-align stk-d6308b3-column alignfull\">\n<div class=\"wp-block-stackable-column stk-block-column stk-column stk-block stk-91674d3\" data-v=\"4\" data-block-id=\"91674d3\"><div class=\"stk-column-wrapper stk-block-column__content stk-container stk-91674d3-container stk--no-background stk--no-padding\"><div class=\"stk-block-content stk-inner-blocks stk-91674d3-inner-blocks\">\n<style>\n@import url('https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700&display=swap');\n\n\/* ==========================================================================\n   ISOLATED SCOPE: #gq-darksky-checker-module\n   ========================================================================== *\/\n\n\/* 1. Full-Bleed Background *\/\n#gq-darksky-checker-module {\n    width: 100% !important;\n    background-color: #f5f7fa !important; \/* Clean industrial base *\/\n    padding: 60px 0 !important;\n    margin: 0 !important;\n    box-sizing: border-box !important;\n    font-family: 'Inter', -apple-system, sans-serif !important;\n}\n\n#gq-darksky-checker-module * {\n    box-sizing: border-box !important;\n}\n\n\/* 2. Anchored Container - max 1600px *\/\n#gq-darksky-checker-module .gq-container {\n    max-width: 1600px !important;\n    margin: 0 auto !important;\n    padding: 30px 70px !important;\n}\n\n\/* 3. 2-Column Tool Layout for Wide Screens *\/\n#gq-darksky-checker-module .gq-tool-wrapper {\n    display: grid !important;\n    grid-template-columns: 1.1fr 1fr !important;\n    gap: 40px !important;\n    background: #ffffff !important;\n    border: 1px solid #e5e7eb !important;\n    border-top: 5px solid #183090 !important; \/* Guangqi Primary Color *\/\n    padding: 40px 45px !important;\n    box-shadow: 0 4px 15px rgba(0,0,0,0.03) !important;\n}\n\n\/* 4. Left Column: Form Area *\/\n#gq-darksky-checker-module .gq-form-area {\n    display: flex !important;\n    flex-direction: column !important;\n}\n\n#gq-darksky-checker-module h2.gq-h2-title {\n    color: #183090 !important;\n    font-size: 32px !important; \/* Required default size *\/\n    margin: 0 0 12px 0 !important;\n    font-weight: 700 !important;\n    line-height: 1.25 !important;\n}\n\n#gq-darksky-checker-module .gq-lede {\n    color: #6b7280 !important;\n    font-size: 15px !important;\n    line-height: 1.6 !important;\n    margin: 0 0 25px 0 !important;\n}\n\n\/* Form Grid Rows *\/\n#gq-darksky-checker-module .gq-form-row {\n    display: grid !important;\n    grid-template-columns: repeat(2, 1fr) !important;\n    gap: 20px !important;\n    margin-bottom: 20px !important;\n}\n\n#gq-darksky-checker-module .gq-field {\n    display: flex !important;\n    flex-direction: column !important;\n}\n\n#gq-darksky-checker-module .gq-field.gq-full {\n    margin-bottom: 25px !important;\n}\n\n#gq-darksky-checker-module .gq-field label {\n    font-weight: 600 !important;\n    color: #303030 !important;\n    margin-bottom: 8px !important;\n    font-size: 14px !important;\n}\n\n#gq-darksky-checker-module .gq-input,\n#gq-darksky-checker-module .gq-select {\n    width: 100% !important;\n    padding: 12px 15px !important;\n    border: 1px solid #d1d5db !important;\n    border-radius: 2px !important; \/* Flat B2B design *\/\n    font-size: 15px !important;\n    background-color: #ffffff !important;\n    color: #303030 !important;\n    transition: border-color 0.2s ease !important;\n    font-family: inherit !important;\n}\n\n#gq-darksky-checker-module .gq-input:focus,\n#gq-darksky-checker-module .gq-select:focus {\n    outline: none !important;\n    border-color: #183090 !important;\n}\n\n\/* Submit Button *\/\n#gq-darksky-checker-module .gq-btn {\n    background-color: #183090 !important;\n    color: #ffffff !important;\n    padding: 16px 30px !important;\n    border: 2px solid #183090 !important;\n    border-radius: 2px !important;\n    font-size: 16px !important;\n    font-weight: 700 !important;\n    cursor: pointer !important;\n    margin-top: 5px !important;\n    transition: all 0.3s ease !important;\n    align-self: flex-start !important;\n    text-transform: uppercase !important;\n}\n\n#gq-darksky-checker-module .gq-btn:hover {\n    background-color: #ffffff !important;\n    color: #183090 !important;\n}\n\n\/* 5. Right Column: Result Area *\/\n#gq-darksky-checker-module .gq-result-area {\n    display: flex !important;\n    flex-direction: column !important;\n    justify-content: flex-start !important;\n}\n\n#gq-darksky-checker-module .gq-result-box {\n    padding: 35px 40px !important;\n    background-color: #f8f9fa !important;\n    border: 1px solid #e5e7eb !important;\n    border-left: 5px solid #e5e7eb !important;\n    display: flex !important;\n    flex-direction: column !important;\n    height: 100% !important;\n    transition: all 0.3s ease !important;\n}\n\n\/* State: PASS *\/\n#gq-darksky-checker-module .gq-result-box.gq-state-pass {\n    border-left-color: #009048 !important; \/* Eco Green *\/\n    background: linear-gradient(135deg, #ffffff 0%, #f0fdf4 100%) !important;\n    box-shadow: 0 10px 25px rgba(0, 144, 72, 0.05) !important;\n}\n\n\/* State: FAIL *\/\n#gq-darksky-checker-module .gq-result-box.gq-state-fail {\n    border-left-color: #D81818 !important; \/* Accent Red *\/\n    background: linear-gradient(135deg, #ffffff 0%, #fff5f5 100%) !important;\n    box-shadow: 0 10px 25px rgba(216, 24, 24, 0.05) !important;\n}\n\n\/* Initial empty state styling *\/\n#gq-darksky-checker-module .gq-empty-state {\n    color: #9ca3af !important;\n    text-align: center !important;\n    margin: auto !important;\n    font-size: 16px !important;\n}\n\n#gq-darksky-checker-module .gq-result-content {\n    display: none !important;\n}\n\n#gq-darksky-checker-module .gq-result-box.gq-state-pass .gq-empty-state,\n#gq-darksky-checker-module .gq-result-box.gq-state-fail .gq-empty-state {\n    display: none !important;\n}\n\n#gq-darksky-checker-module .gq-result-box.gq-state-pass .gq-result-content,\n#gq-darksky-checker-module .gq-result-box.gq-state-fail .gq-result-content {\n    display: block !important;\n}\n\n#gq-darksky-checker-module h3.gq-h3-verdict {\n    margin: 0 0 20px 0 !important;\n    font-size: 22px !important;\n    font-weight: 700 !important;\n    text-transform: uppercase !important;\n    letter-spacing: 0.5px !important;\n    border-bottom: 1px solid #e5e7eb !important;\n    padding-bottom: 15px !important;\n}\n\n\/* Checklist Items *\/\n#gq-darksky-checker-module .gq-check-item {\n    display: flex !important;\n    align-items: flex-start !important;\n    gap: 15px !important;\n    padding: 15px 20px !important;\n    background: #ffffff !important;\n    border: 1px solid #e5e7eb !important;\n    margin-bottom: 12px !important;\n    border-radius: 2px !important; \/* Flat *\/\n}\n\n#gq-darksky-checker-module .gq-check-item.gq-item-pass {\n    border-left: 4px solid #009048 !important;\n}\n\n#gq-darksky-checker-module .gq-check-item.gq-item-fail {\n    border-left: 4px solid #D81818 !important;\n}\n\n#gq-darksky-checker-module .gq-check-icon {\n    font-size: 20px !important;\n    font-weight: 800 !important;\n    line-height: 1 !important;\n    margin-top: 2px !important;\n}\n\n#gq-darksky-checker-module .gq-check-icon.gq-icon-pass { color: #009048 !important; }\n#gq-darksky-checker-module .gq-check-icon.gq-icon-fail { color: #D81818 !important; }\n\n#gq-darksky-checker-module .gq-check-text strong {\n    display: block !important;\n    color: #1a1a1a !important;\n    font-size: 15px !important;\n    margin-bottom: 4px !important;\n}\n\n#gq-darksky-checker-module .gq-check-text span {\n    color: #6b7280 !important;\n    font-size: 13px !important;\n}\n\n\/* Note text *\/\n#gq-darksky-checker-module .gq-note {\n    font-size: 13px !important;\n    color: #6b7280 !important;\n    margin-top: 20px !important;\n    margin-bottom: 20px !important;\n    font-style: italic !important;\n    line-height: 1.5 !important;\n}\n\n#gq-darksky-checker-module .gq-note a {\n    color: #183090 !important;\n    text-decoration: underline !important;\n}\n\n\/* Call To Action Link *\/\n#gq-darksky-checker-module .gq-cta {\n    background-color: #D81818 !important; \/* Accent Red *\/\n    color: #ffffff !important;\n    padding: 15px 20px !important;\n    text-align: center !important;\n    text-decoration: none !important;\n    font-weight: 700 !important;\n    font-size: 15px !important;\n    border: 2px solid #D81818 !important;\n    transition: all 0.3s ease !important;\n    display: inline-block !important;\n    width: 100% !important;\n    border-radius: 2px !important;\n}\n\n#gq-darksky-checker-module .gq-cta:hover {\n    background-color: #ffffff !important;\n    color: #D81818 !important;\n}\n\n\/* 6. Responsive Fallbacks *\/\n@media (max-width:1000px) {\n    #gq-darksky-checker-module .gq-tool-wrapper {\n        grid-template-columns: 1fr !important; \/* Stack vertically on tablets *\/\n        gap: 40px !important;\n        padding: 40px 30px !important;\n    }\n}\n\n@media (max-width:690px) {\n    #gq-darksky-checker-module .gq-container { padding: 30px 20px !important; }\n    #gq-darksky-checker-module h2.gq-h2-title { font-size: 26px !important; }\n    #gq-darksky-checker-module .gq-form-row { grid-template-columns: 1fr !important; gap: 15px !important; margin-bottom: 15px !important; }\n}\n<\/style>\n\n<section id=\"gq-darksky-checker-module\">\n    <div class=\"gq-container\">\n        \n        <div class=\"gq-tool-wrapper\">\n            \n            <div class=\"gq-form-area\">\n                <h2 class=\"gq-h2-title\">DarkSky Approved Commercial Luminaire Self-Check<\/h2>\n                <p class=\"gq-lede\">Enter your luminaire&#8217;s photometric specs to check alignment with the DarkSky Approved Luminaires Program V3 (April 2025) commercial criteria. Informational self-check \u2014 official approval requires submission to DarkSky International.<\/p>\n\n                <div class=\"gq-form-row\">\n                    <div class=\"gq-field\">\n                        <label for=\"gq-ds-output\">Total light output (lumens)<\/label>\n                        <input class=\"gq-input\" id=\"gq-ds-output\" type=\"number\" value=\"900\">\n                    <\/div>\n                    <div class=\"gq-field\">\n                        <label for=\"gq-ds-uplight\">Uplight 90-180\u00b0 (lumens)<\/label>\n                        <input class=\"gq-input\" id=\"gq-ds-uplight\" type=\"number\" value=\"40\">\n                    <\/div>\n                <\/div>\n                \n                <div class=\"gq-form-row\">\n                    <div class=\"gq-field\">\n                        <label for=\"gq-ds-cct\">CCT (Kelvin)<\/label>\n                        <input class=\"gq-input\" id=\"gq-ds-cct\" type=\"number\" value=\"2900\">\n                    <\/div>\n                    <div class=\"gq-field\">\n                        <label for=\"gq-ds-dim\">Minimum dim level (% of full output)<\/label>\n                        <input class=\"gq-input\" id=\"gq-ds-dim\" type=\"number\" value=\"10\">\n                    <\/div>\n                <\/div>\n                \n                <div class=\"gq-field gq-full\">\n                    <label for=\"gq-ds-zone\">Application zone<\/label>\n                    <select class=\"gq-select\" id=\"gq-ds-zone\">\n                        <option value=\"commercial\">Commercial general<\/option>\n                        <option value=\"seaturtle\">Sea Turtle Sensitive (stricter)<\/option>\n                    <\/select>\n                <\/div>\n\n                <button class=\"gq-btn\" onclick=\"gqDsCheck()\">Run DarkSky V3 Compliance Check<\/button>\n            <\/div>\n\n            <div class=\"gq-result-area\">\n                <div id=\"gq-ds-out\" class=\"gq-result-box\">\n                    <div class=\"gq-empty-state\">\n                        Enter your photometric specs and click the button to verify DarkSky V3 compliance.\n                    <\/div>\n                    \n                    <div class=\"gq-result-content\">\n                        <h3 class=\"gq-h3-verdict\" id=\"gq-ds-verdict\"><\/h3>\n                        <div id=\"gq-ds-checks\"><\/div>\n                        \n                        <p class=\"gq-note\">Reference: <a href=\"https:\/\/darksky.org\/app\/uploads\/2025\/04\/DarkSky-Luminaires-program-packet-V3-2025-3.pdf\" rel=\"nofollow noopener\" target=\"_blank\">DarkSky Approved Luminaires Program Packet V3 (April 2025)<\/a>. This tool checks the 4 binding criteria. Final approval requires full photometric report submission.<\/p>\n                        \n                        <a href=\"#ct-popup-801\" class=\"gq-cta gq-popup-trigger\">Need DarkSky-Compliant Fixtures? Request Catalog \u2192<\/a>\n                    <\/div>\n                <\/div>\n            <\/div>\n\n        <\/div>\n\n    <\/div>\n<\/section>\n\n<script>\n\/\/ Isolated logic using unique prefixed IDs\nfunction gqDsCheck(){\n    const out = +document.getElementById('gq-ds-output').value;\n    const up = +document.getElementById('gq-ds-uplight').value;\n    const cct = +document.getElementById('gq-ds-cct').value;\n    const dim = +document.getElementById('gq-ds-dim').value;\n    const zone = document.getElementById('gq-ds-zone').value;\n    \n    const cctMax = (zone === 'seaturtle') ? 2700 : 3000;\n    \n    const checks = [\n        {label: 'Total light output \u2264 1,000 lm', pass: out <= 1000, actual: out + ' lm'},\n        {label: 'Uplight \u2264 50 lm (90-180\u00b0)', pass: up <= 50, actual: up + ' lm'},\n        {label: `CCT \u2264 ${cctMax}K nominal (${zone === 'seaturtle' ? 'Sea Turtle Sensitive' : 'Commercial'})`, pass: cct <= cctMax, actual: cct + 'K'},\n        {label: 'Dimming to \u2264 10% of full output', pass: dim <= 10, actual: dim + '%'}\n    ];\n    \n    const allPass = checks.every(c => c.pass);\n    const resultBox = document.getElementById('gq-ds-out');\n    \n    \/\/ Reset classes\n    resultBox.classList.remove('gq-state-pass', 'gq-state-fail');\n    resultBox.classList.add(allPass ? 'gq-state-pass' : 'gq-state-fail');\n    \n    \/\/ Set Verdict Header\n    document.getElementById('gq-ds-verdict').innerHTML = allPass\n        ? '<span style=\"color:#009048\">\u2713 All 4 DarkSky V3 criteria met<\/span>'\n        : '<span style=\"color:#D81818\">\u2717 One or more criteria not met<\/span>';\n        \n    \/\/ Build Checklist Items\n    document.getElementById('gq-ds-checks').innerHTML = checks.map(c => {\n        const statusClass = c.pass ? 'gq-item-pass' : 'gq-item-fail';\n        const iconClass = c.pass ? 'gq-icon-pass' : 'gq-icon-fail';\n        const iconSymbol = c.pass ? '\u2713' : '\u2717';\n        \n        return `\n            <div class=\"gq-check-item ${statusClass}\">\n                <span class=\"gq-check-icon ${iconClass}\">${iconSymbol}<\/span>\n                <div class=\"gq-check-text\">\n                    <strong>${c.label}<\/strong>\n                    <span>Your spec: ${c.actual}<\/span>\n                <\/div>\n            <\/div>\n        `;\n    }).join('');\n}\n\n\/\/ Fallback for Blocksy Modal Interception\ndocument.addEventListener(\"DOMContentLoaded\", function() {\n    var popTriggers = document.querySelectorAll('.gq-popup-trigger');\n    popTriggers.forEach(function(trigger) {\n        trigger.addEventListener(\"click\", function(e) {\n            var popupId = this.getAttribute('href');\n            if(popupId && popupId.startsWith('#ct-popup-')) {\n                window.location.hash = popupId;\n            }\n        });\n    });\n});\n<\/script>\n<\/div><\/div><\/div>\n<\/div><\/div>\n","protected":false},"excerpt":{"rendered":"<p>DarkSky Approved Commercial Luminaire Self-Check Enter your luminaire&#8217;s photometric specs to check alignment with the DarkSky Approved Luminaires Program V3 (April 2025) commercial criteria. Informational self-check \u2014 official approval requires submission to DarkSky International. Total light output (lumens) Uplight 90-180\u00b0 (lumens) CCT (Kelvin) Minimum dim level (% of full output) Application zone Commercial generalSea Turtle [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"parent":4295,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_gspb_post_css":"","footnotes":""},"class_list":["post-4315","page","type-page","status-publish","hentry"],"blocksy_meta":{"has_hero_section":"disabled","styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":7}},"_links":{"self":[{"href":"https:\/\/gqlamp.com\/ar\/wp-json\/wp\/v2\/pages\/4315","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/gqlamp.com\/ar\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/gqlamp.com\/ar\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/gqlamp.com\/ar\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/gqlamp.com\/ar\/wp-json\/wp\/v2\/comments?post=4315"}],"version-history":[{"count":0,"href":"https:\/\/gqlamp.com\/ar\/wp-json\/wp\/v2\/pages\/4315\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/gqlamp.com\/ar\/wp-json\/wp\/v2\/pages\/4295"}],"wp:attachment":[{"href":"https:\/\/gqlamp.com\/ar\/wp-json\/wp\/v2\/media?parent=4315"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}