/* Shared controls, compact search and the two explicit color themes. */
:root{color-scheme:light;--surface:#fff;--field-border:#bfcfc6;--action:#153f3b;--action-text:#fff}
[hidden]{display:none!important}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Header search occupies the navigation area, without leaving the header. */
.site-header .nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:28px;align-items:center;min-height:92px}
.site-header .brand{grid-column:1;grid-row:1;white-space:nowrap}
.site-header .primary-nav{grid-column:2;grid-row:1;justify-content:flex-end;gap:24px;min-width:0}
.header-actions{grid-column:3;grid-row:1;display:flex;gap:8px;align-items:center}
.icon-button{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer}
.icon-button:hover{background:var(--mint);color:var(--green)}
.search-close-icon,.theme-sun{display:none}
.menu-close-icon{display:none}
#menu-toggle[aria-expanded="true"] .menu-open-icon{display:none}
#menu-toggle[aria-expanded="true"] .menu-close-icon{display:block}
#header-search-toggle[aria-expanded="true"] .search-open-icon{display:none}
#header-search-toggle[aria-expanded="true"] .search-close-icon{display:block}
[data-theme="dark"] .theme-moon{display:none}
[data-theme="dark"] .theme-sun{display:block}
.header-search{grid-column:2;grid-row:1;display:flex;align-items:center;min-width:0;gap:8px;padding:4px 4px 4px 14px;border:1px solid var(--field-border);border-radius:12px;background:var(--surface)}
.header-search input{flex:1;min-width:0;width:100%;height:38px;padding:4px 0;border:0;background:transparent;color:var(--ink);font-size:15px}
.header-search .button{flex-shrink:0;font-size:13px;padding:10px 16px}
.header-search:focus-within{outline:2px solid var(--green2);outline-offset:2px}

/* One row: query, region, state and a single submit action. */
.search-form.search-inline,.compact>.search-form.search-inline,.region-content>.search-form.search-inline{container-type:inline-size;padding:0;border:0;border-radius:0;background:transparent;margin-top:24px}
.search-box{padding:18px;margin:24px 0 28px;border:1px solid var(--line);border-radius:14px;background:var(--mint)}
.search-box>.search-form.search-inline{margin:0}
.search-row{display:flex;align-items:center;gap:8px;min-width:0}
.search-field{display:flex;align-items:center;min-width:0;height:48px;border:1px solid var(--field-border);border-radius:10px;background:var(--surface);color:var(--muted)}
.search-query{flex:1.7 1 0%;padding:0 12px;gap:8px}
.search-query>svg{flex-shrink:0}
.search-query input{width:100%;min-width:0;flex:1;border:0;background:transparent;color:var(--ink);font-size:14px;line-height:1.5;padding:10px 0}
.search-select{flex:1 1 0%}
.search-select select{width:100%;height:100%;min-width:0;border:0;border-radius:10px;padding:0 10px;background:transparent;color:var(--ink);font-size:13px}
.search-select option{background:var(--surface);color:var(--ink)}
.search-field:focus-within{outline:2px solid var(--green2);outline-offset:2px}
.search-row .search-submit{height:48px;flex:0 0 auto;padding:0 18px;border-radius:10px;font-size:13px;background:var(--action);color:var(--action-text)}
.search-reset{display:grid;place-items:center;flex:0 0 40px;min-height:44px;border:1px solid var(--line);border-radius:10px;color:var(--muted);background:var(--surface)}
.search-reset:hover{background:var(--mint);color:var(--ink)}
.hero-search{padding:24px}.hero-search h2{margin-bottom:16px}.hero-search .search-hint{margin-top:12px}.hero-search .search-form.search-inline{margin-top:0}
@container(max-width:560px){
    .search-row{flex-wrap:wrap}
    .search-query{flex:1 1 calc(100% - 140px);order:0}
    .search-submit,.search-reset{order:1}
    .search-select{order:2;flex:1 1 calc(50% - 4px)}
    .search-query input{font-size:16px}
}
@media(max-width:1100px){.site-header .nav{gap:18px}.site-header .primary-nav{gap:16px;font-size:12px}}
@media(max-width:950px){
    .site-header .nav{grid-template-columns:minmax(0,1fr) auto;gap:14px;padding-block:18px;min-height:0}
    .site-header .primary-nav{grid-column:1/-1;grid-row:2;justify-content:flex-start;flex-wrap:wrap;gap:12px 24px;width:100%;font-size:13px}
    .site-header .primary-nav a{padding:4px 0}
    .header-actions{grid-column:2}
    .header-search{grid-column:1/-1;grid-row:2}
}
@media(max-width:400px){
    .search-box{padding:12px;border-radius:12px}
    .site-header .nav{gap:12px 8px}
    .site-header .brand{font-size:20px;gap:7px}
    .site-header .brand img{width:32px;height:32px}
    .site-header .brand small{font-size:6px;letter-spacing:1px;margin-top:7px}
    .header-actions{gap:6px}
    .site-header .primary-nav{font-size:12px;gap:10px 17px}
    .hero-search{padding:20px}
}

/* Dark colors are applied to surfaces and controls, never to institutional images. */
@media screen{
    :root[data-theme="dark"]{color-scheme:dark;--ink:#e4eee8;--muted:#afc2b8;--green:#c3e9d8;--green2:#8ed8b6;--mint:#243b31;--paper:#101b18;--surface:#192a23;--line:#3c5247;--field-border:#547363;--action:#94dfbd;--action-text:#10291e}
    :root[data-theme="dark"] a:hover{color:#dbf6e8}
    :root[data-theme="dark"] :is(.site-header,.hero-search,.slep-card,.region-link,.contact-box,.platform-link,.service-link-card,.related-links>a,.aside-card,.search-input,.copy-button){background:var(--surface);border-color:var(--line)}
    :root[data-theme="dark"] :is(.hero,.directory-section){background:#172a21;border-color:var(--line)}
    :root[data-theme="dark"] .hero:after{border-color:#345244;box-shadow:0 0 0 70px #1e3428,0 0 0 71px #345244}
    :root[data-theme="dark"] .hero-facts span:last-child{border-color:var(--line)}
    :root[data-theme="dark"] .notice{background:#0b1712;color:#d0e2d7}
    :root[data-theme="dark"] .site-footer{background:#0b1712;color:#e4eee8}
    :root[data-theme="dark"] .card-bottom{border-color:var(--line);color:var(--muted)}
    :root[data-theme="dark"] :is(.button,.aside-official,.search-input button){background:var(--action);color:var(--action-text)}
    :root[data-theme="dark"] :is(.button,.aside-official,.search-input button):hover{background:#b4efcf;color:#10291e}
    :root[data-theme="dark"] .button.secondary{background:var(--surface);color:var(--green);border-color:var(--line)}
    :root[data-theme="dark"] .copy-button{color:var(--ink)}
    :root[data-theme="dark"] .status{background:#304137;color:#dae6dc}
    :root[data-theme="dark"] .status.operating{background:#234b37;color:#b6f0cb}
    :root[data-theme="dark"] .status.installing{background:#4b391e;color:#ffdb9c}
    :root[data-theme="dark"] .status.planned{background:#304137;color:#dae6dc}
    :root[data-theme="dark"] .territory-note{background:#4b391e;color:#ffdb9c}
    :root[data-theme="dark"] .aside-overview{background:#1d342a}
    :root[data-theme="dark"] .aside-region-link{border-color:var(--line)}
    :root[data-theme="dark"] .profile-nav .profile-sections nav a{background:#233b30;color:var(--ink)}
    :root[data-theme="dark"] :is(.profile-sections nav a>span,.sidebar-links a>span:last-child){color:var(--green2)}
    :root[data-theme="dark"] .resource-sidebar .sidebar-links a{background:transparent;color:var(--green)}
    :root[data-theme="dark"] .region-directory-link{background:#234d3d;border-color:#4b7863;color:#effaf4}
    :root[data-theme="dark"] .region-directory-link small{color:#c3ddce}
    :root[data-theme="dark"] .guide-table thead th{background:#243b31}
    :root[data-theme="dark"] .guide-table tbody tr:nth-child(even){background:#192c23}
    :root[data-theme="dark"] .search-form.search-inline{background:transparent;border:0}
    :root[data-theme="dark"] :is(input,select)::placeholder{color:#a9bdb2;opacity:1}
    :root[data-theme="dark"] :is(a,button,input,select,summary):focus-visible{outline-color:#f4c276}
    @media(hover:hover){
        :root[data-theme="dark"] :is(.region-link,.platform-link,.service-link-card,.related-links>a,.profile-nav .profile-sections nav a,.aside-region-link):hover{background:#29483a;border-color:#739a83;color:#dff5e8}
        :root[data-theme="dark"] .region-directory-link:hover{background:#2d5c49;color:#effaf4}
        :root[data-theme="dark"] .resource-sidebar .sidebar-links a:hover{background:transparent;color:#e1f8ea}
    }
}
.ad-unit{display:flow-root;margin:30px auto;padding:0;clear:both;min-width:0;width:100%;max-width:970px;text-align:center}
.ad-unit[hidden]{display:none}
.ad-unit .ad-label{margin:0 0 12px;text-align:center;font-size:10px;letter-spacing:1.4px;text-transform:uppercase;color:var(--muted)}
.ad-unit .adsbygoogle{display:block;min-height:280px;width:100%;margin-inline:auto;text-decoration:none}
@media print{.header-actions,.header-search,.ad-unit{display:none!important}}
.contact-form{position:relative;padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--surface);margin-top:28px}
.contact-field{margin-bottom:20px}
.contact-field label{display:block;font-weight:700;margin-bottom:8px}
.contact-field :is(input,select,textarea){display:block;width:100%;max-width:100%;padding:12px 14px;border:1px solid var(--field-border);border-radius:10px;background:var(--surface);color:var(--ink);font:inherit}
.contact-field textarea{resize:vertical;min-height:170px}
.contact-field [aria-invalid="true"]{border-color:#a74730}
.contact-form .small{font-size:14px;line-height:1.6}
.contact-notice{padding:20px;margin-block:24px;border:1px solid var(--line);border-radius:12px;background:var(--mint)}
.contact-error{border-color:#a74730}
.contact-info{display:flex;align-items:flex-start;gap:14px;padding:20px;margin-block:24px;border:1px solid var(--line);border-left:4px solid var(--green);border-radius:12px;background:var(--mint);color:var(--ink)}
.contact-info p{margin:0;font-size:16px;line-height:1.7}
.contact-info-icon{display:grid;place-items:center;flex:0 0 24px;height:24px;margin-top:2px;border:1.5px solid currentColor;border-radius:50%;font-size:16px;font-weight:700;color:var(--green)}
.site-footer .footer-grid{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.8fr) minmax(0,1.2fr);gap:36px}
.site-footer .footer-heading{font-size:16px;line-height:1.4;letter-spacing:0;font-weight:700;color:inherit;margin:0 0 8px}
.site-footer nav{min-width:0}
.site-footer nav a{overflow-wrap:break-word}
@media(max-width:1000px){.site-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.site-footer .footer-intro{grid-column:1/-1;max-width:440px}}
@media(max-width:600px){.site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 24px}.site-footer .footer-featured{grid-column:1/-1}}
@media(max-width:360px){.site-footer .footer-grid{grid-template-columns:minmax(0,1fr)}}

/* Compact disclosure navigation; links remain available without JavaScript. */
@media(max-width:950px){
    .site-header .nav{padding-block:14px;gap:12px;align-items:center}
    .site-header .brand{font-size:23px;gap:8px;min-width:0}
    .site-header .brand small{font-size:7px;letter-spacing:1.2px}
    .header-actions{gap:6px}
    .site-header .primary-nav{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:10px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:0 8px 24px #10291e0a;font-size:16px}
    .site-header .primary-nav a{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:48px;padding:12px 14px;border:0;border-radius:9px;line-height:1.5;font-weight:600}
    .site-header .primary-nav a::after{content:'→';color:var(--green2)}
    .site-header .primary-nav a:hover,.site-header .primary-nav [aria-current]{border:0;background:var(--mint);color:var(--ink)}
    .header-search input{font-size:16px}
    .header-search{min-height:52px}
    .header-search .button{min-height:44px}
}
@media(max-width:450px){
    .site-header .nav{gap:12px 8px}
    .site-header .brand{font-size:20px;gap:7px}
    .site-header .brand img{width:30px;height:30px}
    .site-header .brand small{font-size:6px;letter-spacing:1px}
    .header-actions{gap:4px}
}
@media(max-width:380px){.site-header .brand img{display:none}.site-header .brand{font-size:19px}}

/* Keep download actions within narrow profile columns and inputs readable on touch. */
.logo-download>div{min-width:0}
.logo-download .button{max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:1100px){.logo-download{grid-template-columns:minmax(0,1fr);gap:20px}.logo-preview{max-width:360px;width:100%}}
@media(max-width:750px){
    .search-select select,.contact-field :is(input,select,textarea){font-size:16px}
    .copy-button{min-height:44px}
    .guide-toc a{display:inline-block;padding-block:5px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.contact-field .field-error{font-size:14px;font-weight:600;margin-top:8px}
.contact-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.contact-form{padding:20px}.contact-form .button{width:100%}}
