/* G39: use existing colour tokens; independent of page-specific header styles. */
.g39-nav{display:flex!important;align-items:center;gap:6px;flex-wrap:nowrap!important;margin-inline-start:auto}.g39-nav button{min-width:44px;min-height:44px;padding:8px 12px;font:inherit;border:1px solid var(--line,#bdcbc5);border-radius:10px;background:var(--card,#fff);color:var(--fg,#14232b);cursor:pointer;white-space:nowrap}.g39-nav #theme{max-width:180px;white-space:normal}.g39-fallback{display:flex;align-items:center;gap:12px;padding:8px 16px;background:var(--card,#fff)}
.g39-modal{overflow:hidden}.g39-dialog{color:var(--fg,#14232b);background:var(--bg,#f7f8f6);border:1px solid var(--line,#bdcbc5);border-radius:18px;padding:0;width:min(760px,calc(100vw - 32px));max-width:100%;max-height:calc(100dvh - 32px);box-shadow:0 18px 80px #0005;z-index:10000}.g39-dialog::backdrop{background:#102d2c88}.g39-dialog[open]{display:flex;flex-direction:column}.g39-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;border-bottom:1px solid var(--line,#bdcbc5);flex-shrink:0}.g39-panel-head h2{margin:0;font-size:1.25rem}.g39-dialog button,.g39-dialog a,.g39-guide a,.g39-guide button{min-height:44px;box-sizing:border-box}.g39-panel-head button,.g39-guide button{font:inherit;color:inherit;border:1px solid var(--line,#bdcbc5);border-radius:10px;padding:10px 14px;background:var(--card,#fff);cursor:pointer}.g39-panel-body{padding:20px;overflow-y:auto;overscroll-behavior:contain;min-height:0}.g39-panel-body h3{margin-top:0}.g39-dialog label{display:block;margin-bottom:8px}.g39-dialog input{width:100%;min-height:48px;box-sizing:border-box;font:inherit;border:1px solid var(--line,#bdcbc5);border-radius:12px;padding:12px;background:var(--card,#fff);color:inherit}.g39-tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.g39-tool-grid a,.g39-categories a,.g39-menu-foot a{display:flex;align-items:center;padding:12px 14px;border:1px solid var(--line,#bdcbc5);border-radius:12px;color:var(--fg,#14232b);background:var(--card,#fff);text-decoration:none;overflow-wrap:anywhere}.g39-tool-grid a:hover,.g39-categories a:hover{border-color:var(--acc,#0e6b5c);background:var(--soft,#e9f3f0)}.g39-categories,.g39-menu-foot{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.g39-language [aria-current]{border:2px solid var(--acc,#0e6b5c)}.g39-dialog [hidden]{display:none!important}.g39-guide{max-width:960px;margin:auto;padding:32px 20px}.g39-steps{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;padding-inline-start:24px}.g39-steps li{padding:20px;background:var(--card,#fff);border:1px solid var(--line,#bdcbc5);border-radius:16px}.g39-steps a{display:inline-flex;align-items:center}.g39-guide #install{padding:24px 0}.g39-guide h1{max-width:22ch}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--acc,#0e6b5c);outline-offset:3px}
/* The map stays the front door. Task cards offer direct destinations without another page. */
.mcats{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px!important}.mcats a{display:flex;align-items:center;min-height:64px;padding:12px!important;border-radius:14px!important;background:var(--soft,#e9f3f0)!important;border:1px solid var(--line,#bdcbc5)!important;color:var(--fg,#14232b)!important;font-weight:650}.mcats a:last-child{grid-column:1/-1}.grid .tc{border-radius:18px;box-shadow:0 4px 18px #14232b08;transition:box-shadow .15s}.grid .tc:hover{box-shadow:0 6px 24px #14232b18}.subpage h1{letter-spacing:-.025em}
@media(max-width:600px){.g39-nav{gap:4px}.g39-nav button{padding:7px;min-width:44px}.g39-nav [data-menu-open] span{display:none}.g39-nav #theme{font-size:12px;max-width:92px}.top .bar{gap:8px}.top .brand{min-width:0}.top .brand span{font-size:14px}.top .brand small{display:none}.g39-dialog{width:100vw;height:100dvh;max-height:100dvh;max-width:100vw;margin:0;border:0;border-radius:0}.g39-panel-head{padding-top:max(12px,env(safe-area-inset-top))}.g39-panel-body{padding-bottom:max(20px,env(safe-area-inset-bottom))}.g39-tool-grid,.g39-steps{grid-template-columns:1fr}.g39-panel-head h2{font-size:1.1rem}.g39-guide{padding-top:20px}}
@media(prefers-reduced-motion:reduce){.grid .tc{transition:none}}
@media print{.g39-nav,.g39-dialog{display:none!important}}
.g39-nav #theme b{display:none}.g39-nav #theme{margin:0}.top .bar{flex-wrap:nowrap}
@media(max-width:600px){.g39-nav #theme{width:44px;max-width:44px}.g39-nav #theme span{display:none}.g39-nav #theme b{display:block;font-size:20px}.top .brand span{font-size:13px}.top .bar{padding-inline:10px}}
.g39-category{padding-top:24px}.g39-category>h1{max-width:22ch;font-size:clamp(2rem,4vw,3.3rem);line-height:1.1;letter-spacing:-.035em;margin-bottom:16px}.g39-category>.intro{font-size:1.12rem;line-height:1.6;max-width:58ch}.g39-category>.grid{margin-top:28px}.g39-category>.g39-categories{border-block:1px solid var(--line);padding-block:16px}.g39-discover{margin-block:24px}.g39-discover h2{font-size:1.1rem}.g39-discover .g39-tool-grid{grid-template-columns:1fr}.g39-discover a{min-height:48px}
.g39-language a{flex-wrap:wrap;gap:6px}.g39-language small{display:block;width:100%;color:var(--muted,#53646d);font-size:.8em}

/* Inline-only editorial pages also receive a working light/dark shell. */
html[data-g39-static]{--fg:#173b35;--muted:#53646d;--acc:#075c4b;--bg:#f5f8f6;--card:#fff;--line:#c5d5ce;--soft:#e9f3f0;color:var(--fg);background:var(--bg)}
html[data-g39-static].dark{--fg:#e7eeeb;--muted:#a3b3ad;--acc:#4cc3a7;--bg:#0f1715;--card:#16211e;--line:#2a3833;--soft:#1b2c27;color-scheme:dark}
@media(prefers-color-scheme:dark){html[data-g39-static]:not(.light){--fg:#e7eeeb;--muted:#a3b3ad;--acc:#4cc3a7;--bg:#0f1715;--card:#16211e;--line:#2a3833;--soft:#1b2c27;color-scheme:dark}}
html[data-g39-static] body{color:var(--fg);background:var(--bg)}html[data-g39-static] a{color:var(--acc)}html[data-g39-static] section,html[data-g39-static] .card{background:var(--card);border-color:var(--line)}html[data-g39-static] header,html[data-g39-static] th,html[data-g39-static] td{border-color:var(--line)}

/* Keep a real gap above the drawer despite fractional viewport rounding. */
@media(max-width:767.98px){.mapp #map .leaflet-bottom{margin-bottom:2px}}
