/* Compact dispatcher typography and spacing. */
.function-map { font-size: 11px; padding: 18px; }
#content .function-map .function-map__head h1 { font-size: 24px !important; line-height: 1.15; }
.function-map .function-map__head p { font-size: 11px; line-height: 1.45; }
.function-map .function-map__eyebrow,
.function-map .function-map__live { font-size: 9px; }
.function-map .function-map__head { gap: 16px; }
.function-map .function-map__head-actions button { font-size: 10px; min-height: 32px; padding-top: 7px; padding-bottom: 7px; }
.function-map .function-map__filters { margin-top: 16px; }
.function-map .function-map__filters-head strong { font-size: 14px; }
.function-map .function-map__filters-head p { font-size: 10px; }
.function-map .function-map__filter-group :is(input, select) { font-size: 11px; min-height: 32px; padding-top: 6px; padding-bottom: 6px; }
.function-map .function-map__stats { gap: 8px; }
.function-map .function-map__stat { padding: 10px 12px; }
.function-map .function-map__stat b { font-size: 20px; line-height: 1.15; }
.function-map .function-map__stat span { font-size: 9px; }
.function-map .function-map__hot { padding: 14px 0; }
.function-map .function-map__hot h2 { font-size: 18px; margin: 0 0 12px; }
.function-map .function-map__hot button { font-size: 11px; padding: 8px 10px; }
.function-map .function-map__hot small { font-size: 9px; }
.function-map .function-map__settings-title h2 { font-size: 15px; }
.function-map .function-map__settings-head b { font-size: 11px; }
.function-map .function-map__help-body h2 { font-size: 14px; }
.function-map .function-map__help-body p { font-size: 10px; }
.function-map .function-map__detail > header { min-height: 56px; padding: 10px 14px; gap: 9px; }
.function-map .function-map__detail > header > i { flex-basis: 30px; height: 30px; font-size: 18px; }
.function-map .function-map__detail-body { gap: 8px; padding: 14px; }
.function-map .function-map__meaning { gap: 10px; padding: 12px; margin-bottom: 4px; }
.function-map .function-map__detail .function-map__metric { min-height: 62px; gap: 5px; padding: 10px 12px !important; }
.function-map .function-map__detail-section,
.function-map .function-map__routes,
.function-map .function-map__detail-all,
.function-map .function-map__diagnostics { padding: 12px; margin-top: 4px; }
.function-map .function-map__detail h3 { margin-bottom: 8px; }
.function-map .function-map__detail-grid { gap: 10px 8px; }
.function-map .function-map__detail-row { gap: 12px; padding: 7px 0; }
.function-map .function-map__detail-link { min-height: 44px; padding: 7px 10px !important; gap: 2px 8px; }
.function-map .function-map__endpoint { padding: 9px 11px; }
@media (max-width: 720px) {
  .function-map { padding: 12px; }
  #content .function-map .function-map__head h1 { font-size: 20px !important; }
  .function-map .function-map__stat b { font-size: 18px; }
  .function-map .function-map__detail-body { padding: 12px; }
}

/* Scan numbers first; labels stay short and quiet. */
.function-map .function-map__stats { grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 6px; }
.function-map .function-map__stat { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 5px; min-width: 0; padding: 10px !important; text-align: left; }
.function-map .function-map__stat b { max-width: 100%; font: 600 25px/1.15 system-ui; letter-spacing: -.05em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.function-map .function-map__stat span { font: 500 8px/1.2 system-ui; letter-spacing: 0; text-transform: none; }
.function-map .function-map__stat--robots b { font-size: 18px; letter-spacing: -.02em; }
.function-map .function-map__stat--robots[aria-pressed="true"] { border-color: #dfc58a !important; background: #dfc58a20 !important; }
.function-map .function-map__stat:focus-visible { outline: 2px solid #dfc58a; outline-offset: 2px; }
@media (max-width: 1200px) { .function-map .function-map__stats { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (max-width: 700px) { .function-map .function-map__stats { grid-template-columns: repeat(3, minmax(0, 1fr)); } .function-map .function-map__stat b { font-size: 21px; } .function-map .function-map__stat--robots b { font-size: 16px; } }

.function-map .function-map__stats { margin-top: 16px; }

.function-map .function-map__help-button { width: 36px !important; min-width: 36px !important; height: 36px !important; min-height: 36px !important; padding: 0 !important; justify-content: center; border-radius: 11px !important; }
.function-map .function-map__help-button span { border: 0; background: transparent; }

.function-map .function-map__filters { display:flex; flex-direction:column; gap:12px; padding:14px; background:#101a17; border:1px solid #cbb47730; border-radius:16px; }
.function-map .function-map__filters .function-map__audience-presets { display:flex !important; flex-wrap:wrap; gap:6px; margin:0; padding:0; }
.function-map .function-map__filters .function-map__audience-presets > span { width:100%; font:600 10px/1.4 system-ui; color:#a9b9ad; }
.function-map .function-map__audience-presets button { background:#ffffff05 !important; color:#c8d3ca !important; border:1px solid #ffffff16 !important; border-radius:8px!important; padding:8px 12px!important; font:600 11px/1.2 system-ui!important; }
.function-map .function-map__audience-presets button.is-active { background:#dfc58a22!important; border-color:#dfc58a99!important; color:#f0d697!important; }
.function-map .function-map__filter-group { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:10px; padding:12px; border:1px solid #ffffff12; border-radius:12px; }
.function-map .function-map__filters.is-collapsed .function-map__filter-group,.function-map .function-map__filters.is-collapsed .function-map__presets,.function-map .function-map__filters.is-collapsed .function-map__states { display:none!important; }
.function-map .function-map__filters label { min-width:0; font-size:11px; }
.function-map .function-map__filters select,.function-map .function-map__filters input { max-width:100%; font-size:11px!important; }
.function-map .function-map__legend .is-fail { background:#ff245c!important; }
.function-map .function-map__diagnostics pre { white-space:pre-wrap; overflow-wrap:anywhere; font:11px/1.6 ui-monospace,monospace; max-height:420px; overflow:auto; background:#080e12; padding:12px; border:1px solid #ff245c44; border-radius:8px; }

.function-map__welcome { box-sizing:border-box; width:min(660px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); overflow:auto; padding:30px; border:1px solid #ddc58b55; border-radius:22px; background:linear-gradient(145deg,#1e2a25,#0d1514); color:#e4ece5; box-shadow:0 30px 120px #0009; font:13px/1.6 system-ui; }
.function-map__welcome::backdrop { background:#030a0dcc; backdrop-filter:blur(9px); }
.function-map__welcome h2 { font:650 25px/1.2 system-ui!important; color:#fff4d5; margin:14px 0 10px; }
.function-map__welcome h3 { font:600 13px/1.4 system-ui; color:#e8eede; margin:10px 0 6px; }
.function-map__welcome p { font:12px/1.65 system-ui; color:#afc0b6; margin:0; }
.function-map__guide-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:24px 0 16px; }
.function-map__guide-grid article { padding:16px; border:1px solid #ffffff12; border-radius:13px; background:#ffffff03; }
.function-map__guide-grid i { font:600 11px system-ui; color:#dfc58a; }
.function-map__welcome footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px; padding:20px 0 12px; border-top:1px solid #ffffff12; margin-top:20px; }
.function-map__welcome footer label { display:flex; align-items:center; gap:8px; font-size:11px; cursor:pointer; }
.function-map__welcome input { appearance:auto!important; width:16px!important; height:16px!important; accent-color:#dfc58a; }
.function-map__welcome button { cursor:pointer; font:600 12px system-ui; padding:11px 16px; border:1px solid #dfc58a55; border-radius:9px; background:#dfc58a; color:#161d18; }
.function-map__welcome .function-map__welcome-close { position:absolute; right:12px; top:12px; background:transparent; color:#ccd8ce; padding:6px 11px; }
.function-map__welcome small { color:#92a69b; font-size:10px; }
.function-map__guide-status { display:flex; gap:20px; font-size:11px; color:#a5b5ac; }
.function-map__guide-status i { display:inline-block; width:7px; height:7px; border-radius:50%; margin-right:5px; }
.function-map__welcome :focus-visible { outline:2px solid #dfc58a; outline-offset:3px; }
.function-map .function-map__help-body details { border-bottom:1px solid #ffffff14; padding:12px 0; }
.function-map .function-map__help-body summary { cursor:pointer; color:#ddc58b; font:600 12px/1.5 system-ui; }
.function-map .function-map__help-body details p { font:12px/1.75 system-ui; color:#b6c5bb; margin:10px 0; }
@media(max-width:560px){.function-map__welcome{padding:24px 18px}.function-map__guide-grid{grid-template-columns:1fr}.function-map__welcome h2{font-size:21px!important}}

.function-map .function-map__filter-group { grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))!important; }
.function-map .function-map__last-cursor {position:absolute;width:12px;height:12px;border:1px solid #dfc58a99;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);z-index:5}

.function-map.is-personal-map { margin:36px auto; width:min(1440px,calc(100% - 32px)); box-sizing:border-box; padding:24px; }
.is-personal-map .function-map__filters,.is-personal-map [data-tool-toggle="history"],.is-personal-map [data-tool-panel="history"],.is-personal-map [data-errors],.is-personal-map [data-states],.is-personal-map [data-settings-tab="system"],.is-personal-map [data-settings-section="system"] {display:none!important}
.is-personal-map[data-access="guest"] [data-settings-tab="light"],.is-personal-map[data-access="guest"] [data-settings-section="light"],.is-personal-map[data-access="guest"] [data-settings-tab="detail"],.is-personal-map[data-access="guest"] [data-settings-section="detail"] {display:none!important}
.is-personal-map .function-map__head h1 {font:650 28px/1.2 system-ui!important}.is-personal-map .function-map__head p{font-size:13px!important}.is-personal-map .function-map__stage{min-height:650px}.is-personal-map .function-map__stats{margin:18px 0}
@media(max-width:700px){.function-map.is-personal-map{padding:14px;width:calc(100% - 16px)}.is-personal-map .function-map__stage{min-height:70dvh}}

.function-map__guide-grid article[role=button],.function-map__guide-status [role=button]{cursor:pointer;transition:background .18s ease,box-shadow .18s ease}.function-map__guide-grid article[role=button]:hover{background:rgba(207,174,105,.13)}.function-map__guide-grid article[role=button]:focus-visible,.function-map__guide-status [role=button]:focus-visible{outline:2px solid #dfbd73;outline-offset:3px}.function-map__help-body details>button{margin:8px 0 14px;min-height:36px}.function-map__guide-grid article[role=button] h3:after{content:" ↗";color:#d6b570}
