.fiber-entry { position:absolute; inset:0; z-index:1100; display:flex; flex-direction:column; align-items:center; box-sizing:border-box; padding:16px; background:#f8fafb; color:#243344; font:14px/1.4 system-ui,sans-serif; }
.fiber-entry[hidden], .fiber-return[hidden], .fiber-map-note[hidden] { display:none!important; }
.fiber-entry-heading { text-align:center; flex:none; }
.fiber-entry-heading strong { font-size:20px; }
.fiber-entry-heading p { margin:6px 0; min-height:20px; }
.fiber-entry-map { flex:1; min-height:0; width:100%; display:flex; justify-content:center; }
.fiber-entry svg { width:100%; height:100%; overflow:visible; }
.fiber-entry path { fill:#cbd2d8; stroke:#f8fafb; stroke-width:1.5; vector-effect:non-scaling-stroke; }
.fiber-entry path[aria-disabled="true"] { pointer-events:none; }
.fiber-entry path[aria-disabled="false"] { fill:#e88033; cursor:pointer; }
.fiber-entry path[aria-disabled="false"] { stroke-linejoin:round; transition:fill .18s ease; }
.fiber-entry path[aria-disabled="false"]:hover { fill:#f39b58; stroke:#fff; stroke-width:2; }
.fiber-entry path[aria-disabled="false"]:is(:active,[aria-pressed="true"]) { fill:#dc762d; stroke:#fff; stroke-width:2; }
.fiber-entry path[aria-disabled="false"]:focus-visible { stroke:#0d7585; stroke-width:2; outline:2px solid #0d7585; outline-offset:3px; }
@media(prefers-reduced-motion:reduce) { .fiber-entry path[aria-disabled="false"] { transition:none; } }
.fiber-entry-controls { display:flex; align-items:center; gap:8px; flex-wrap:wrap; justify-content:center; flex:none; }
.fiber-entry select,.fiber-entry button,.fiber-return { min-height:44px; padding:8px 12px; border:1px solid #7d8995; border-radius:6px; background:#fff; color:#243344; font:14px system-ui,sans-serif; }
.fiber-entry select { max-width:100%; }
.fiber-entry button,.fiber-return { cursor:pointer; }
.fiber-entry :focus-visible,.fiber-return:focus-visible { outline:3px solid #964409; outline-offset:2px; }
.fiber-entry-legend { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.fiber-return { position:absolute; z-index:1050; bottom:12px; left:12px; min-height:44px; padding:10px 16px; border:0; border-radius:8px; background:#e5f1f3; color:#0b5966; font:500 14px system-ui,sans-serif; letter-spacing:normal; text-transform:none; box-shadow:none; }
.fiber-return:hover { background:#d7e9ed; }
.fiber-return:active { background:#c7e1e6; }
.fiber-return:focus-visible { outline:3px solid #0d7585; outline-offset:2px; }
.fiber-map-note { position:absolute; z-index:1050; bottom:62px; left:12px; right:76px; padding:10px; background:#fff6db; color:#503900; font:13px system-ui,sans-serif; }
.fiber-embed .fiber-return { bottom:40px; }
.fiber-embed .fiber-map-note { bottom:90px; }
@media(max-width:600px) { .fiber-embed .fiber-return { bottom:88px; }.fiber-embed .fiber-map-note { bottom:138px; } }
/* Same 44px control treatment as NT Box, scoped to the public Fiber entry. */
.cov-page .cov-map-wrap .leaflet-bottom.leaflet-right .leaflet-control-zoom { margin:0 24px 24px 0; border:0!important; border-radius:8px; overflow:hidden; box-shadow:none!important; }
.cov-page .cov-map-wrap .leaflet-control-zoom a { width:44px; height:44px; line-height:44px; background:#fff!important; color:#0d7585!important; font:26px/44px Arial,sans-serif!important; }
.cov-page .cov-map-wrap .leaflet-control-zoom a:hover { background:#e7f4f5!important; }
.cov-page .cov-map-wrap .leaflet-control-zoom a:focus-visible { outline:3px solid #0d7585; outline-offset:-3px; }
.cov-page .cov-map-wrap .leaflet-control-zoom a.leaflet-disabled { color:#89969a!important; background:#f3f6f7!important; cursor:default; }
body:has(#fiber-entry) .maplibregl-ctrl-group { border-radius:8px; overflow:hidden; }
body:has(#fiber-entry) .maplibregl-ctrl-group button { background:#fff; color:#0d7585; }
body:has(#fiber-entry) .maplibregl-ctrl-group button:hover { background:#e7f4f5; }
body:has(#fiber-entry) .maplibregl-ctrl-group button:focus-visible { outline:3px solid #0d7585; outline-offset:-3px; }
body:has(#fiber-entry) .maplibregl-ctrl-group button:disabled { color:#89969a; background:#f3f6f7; cursor:default; }
body:has(#fiber-entry) :is(.maplibregl-ctrl-zoom-in,.maplibregl-ctrl-zoom-out) .maplibregl-ctrl-icon { background-image:none; display:grid; place-items:center; font:26px Arial,sans-serif; }
body:has(#fiber-entry) .maplibregl-ctrl-zoom-in .maplibregl-ctrl-icon::before { content:"+"; }
body:has(#fiber-entry) .maplibregl-ctrl-zoom-out .maplibregl-ctrl-icon::before { content:"\2212"; }
@media(max-width:480px) { .fiber-entry { padding:10px; }.fiber-entry-heading strong { font-size:17px; }.fiber-entry-heading p { font-size:12px; }.fiber-entry-legend { font-size:11px; } }

/* Public Fiber typography follows Box, using the existing local font assets. */
@font-face { font-family:"Fiber Barlow"; src:url('/static/fonts/barlow-400-latin.woff2') format('woff2'); font-weight:400; font-display:swap; }
@font-face { font-family:"Fiber Barlow"; src:url('/static/fonts/barlow-500-latin.woff2') format('woff2'); font-weight:500; font-display:swap; }
@font-face { font-family:"Fiber Mono"; src:url('/static/fonts/jetbrains-mono-latin.woff2') format('woff2'); font-weight:400 500; font-display:swap; }
.fiber-entry,.fiber-return,.fiber-map-note,.fiber-embed,.cov-page:has(#fiber-entry) {
  --fiber-font:"Fiber Barlow",ui-sans-serif,system-ui,sans-serif;
  --fiber-mono:"Fiber Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
}
.fiber-entry { font:400 14px/1.4 var(--fiber-font); }
.fiber-entry-heading strong { font-family:var(--fiber-font); font-weight:500; line-height:1.3; }
.fiber-entry :is(select,button),.fiber-return { font:500 14px/1.4 var(--fiber-font); }
.fiber-entry label { font:500 13px/1.3 var(--fiber-font); }
.fiber-map-note { font:400 13px/1.4 var(--fiber-font); }
.fiber-embed :is(#uf-select,#dataset-select,#uf-trigger,#uf-list-search,.uf-list-item) { font:400 14px/1.4 var(--fiber-font); }
.cov-page:has(#fiber-entry) :is(.cov-hud-meta,.cov-err,.cov-empty,.cov-radar-label,.cov-head-sub,.cov-block-label,.cov-status-line,.cov-btn) {
  font-family:var(--fiber-font); line-height:1.4; letter-spacing:normal;
}
.cov-page:has(#fiber-entry) :is(.cov-hud-meta,.cov-head-sub,.cov-empty) { font-size:12px; text-transform:none; }
.cov-page:has(#fiber-entry) .cov-hud-meta { width:max-content; max-width:calc(100% - 32px); white-space:normal; text-align:center; justify-content:center; }
.cov-page:has(#fiber-entry) :is(.cov-block-label,.cov-radar-label,.cov-status-line,.cov-err) { font-size:13px; }
.cov-page:has(#fiber-entry) .cov-btn { font-size:14px; font-weight:500; }
.cov-page:has(#fiber-entry) .cov-radar-input { font:400 15px/1 var(--fiber-mono); letter-spacing:normal; }
.cov-page:has(#fiber-entry) .cov-radar-input::placeholder { font-family:var(--fiber-font); letter-spacing:normal; }
.cov-page:has(#fiber-entry) .cov-sel select { font:400 14px/1.4 var(--fiber-font); letter-spacing:normal; }
.cov-page:has(#fiber-entry) .cov-sel label { font:500 12px/1.3 var(--fiber-font); letter-spacing:normal; }
.cov-page:has(#fiber-entry) .cov-clear { font:500 13px/1.4 var(--fiber-font); letter-spacing:normal; }
