.wmm-launch { border: 1px solid #aac7d5; background: #eef6f8; color: #0b3c58; cursor: pointer; }
.wmm-launch:hover { background: #dceef0; }
.wmm-launch-icon { font-size: 1.4rem; line-height: 1; }
html.wmm-open { overflow: hidden; }
.wmm { --map-bg: #0b1b2c; --map-panel: #10263b; --map-line: #2a4155; --map-muted: #adc1d1; --map-ink: #f4f8fb; --map-accent: #5cdac0; position: fixed; inset: 0; width: 100%; max-width: none; height: 100dvh; max-height: none; margin: 0; padding: 0; border: 0; background: var(--map-bg); color: var(--map-ink); font-family: "IBM Plex Sans", sans-serif; font-size: 13px; line-height: 1.4; overflow: hidden; color-scheme: dark; }
.wmm[open] { display: flex; flex-direction: column; }
.wmm::backdrop { background: #081725; }
.wmm *, .wmm *::before, .wmm *::after { box-sizing: border-box; }
.wmm [hidden] { display: none !important; }
.wmm h2, .wmm h3, .wmm p, .wmm fieldset { margin: 0; }
.wmm button, .wmm input, .wmm select { font: inherit; }
.wmm button { cursor: pointer; }
.wmm button, .wmm select, .wmm input { border: 1px solid #466175; border-radius: 3px; background: #102a40; color: var(--map-ink); }
.wmm button:hover { background: #234157; }
.wmm :focus-visible { outline: 2px solid #8fffe3; outline-offset: 3px; }
.wmm-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.wmm-head { display: flex; gap: 28px; align-items: center; flex: none; padding: 19px 26px; border-top: 3px solid #20c2a3; border-bottom: 1px solid var(--map-line); background: linear-gradient(100deg, #0a2136, #12384b); }
.wmm-identity { display: flex; align-items: center; gap: 15px; flex: 1; }
.wmm-kicker { color: #90c6d4; font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .16em; margin-bottom: 3px !important; }
.wmm h2 { font: 600 28px/1.15 "Source Serif 4", Georgia, serif; color: white; }
.wmm-mark { display: grid; grid-template-columns: repeat(3, 8px); gap: 3px; padding: 8px; border: 1px solid #396073; }
.wmm-mark i { width: 8px; height: 8px; background: #39c39f; }
.wmm-mark i:nth-child(3n) { background: #54798c; }
.wmm-mark i:nth-child(4), .wmm-mark i:nth-child(8) { background: #d77265; }
.wmm-dateline { display: grid; grid-template-columns: auto auto; gap: 0 12px; align-items: baseline; padding-left: 25px; border-left: 1px solid #436075; }
.wmm-dateline > span { color: #a7c2d4; font-size: 11px; }
.wmm-dateline strong { font-size: 17px; font-variant-numeric: tabular-nums; }
.wmm-dateline small { grid-column: 1 / -1; text-align: right; color: #a7c2d4; font-size: 10px; }
.wmm-head-actions { display: flex; gap: 14px; align-items: center; }
.wmm-head-actions button { min-height: 38px; }
.wmm-help { padding: 8px 13px; }
.wmm-close { width: 40px; height: 40px; font-size: 25px !important; line-height: 1; }
.wmm-controls { padding: 14px 26px 12px; background: #112539; border-bottom: 1px solid var(--map-line); flex: none; }
.wmm-filter-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 18px; }
.wmm-country select { border-color: #4caa99; background-color: #173f47; font-weight: 600; }
.wmm-filter-row > label { display: flex; flex-direction: column; gap: 5px; }
.wmm-filter-row label > span, .wmm-move legend { color: var(--map-muted); font-size: 10px; font-weight: 600; }
.wmm input, .wmm select { min-height: 34px; padding: 6px 9px; outline-offset: 2px; }
.wmm input::placeholder { color: #a5b8c7; opacity: 1; }
.wmm-search { width: 235px; }
.wmm-filter-row select { max-width: 225px; min-width: 185px; }
.wmm-move { display: flex; align-items: center; gap: 7px; border: 0; padding: 0; }
.wmm-move legend { margin-bottom: 5px; padding: 0; }
.wmm-move > span { color: #8fa5b7; font-size: 11px; }
.wmm-number { position: relative; width: 86px; }
.wmm-number input { width: 100%; padding-right: 23px; appearance: textfield; }
.wmm-number input::-webkit-inner-spin-button { appearance: none; }
.wmm-number > span { position: absolute; right: 9px; top: 8px; pointer-events: none; }
.wmm-reset { min-height: 34px; padding: 6px 12px; color: #c2d4df !important; background: transparent !important; white-space: nowrap; }
.wmm-filter-row > .wmm-reset { margin-left: auto; }
.wmm-cap-row { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 12px; }
.wmm-caps { border: 0; padding: 0; display: flex; align-items: center; gap: 12px; min-width: 0; }
.wmm-caps legend { float: left; font-size: 11px; color: var(--map-muted); margin-right: 14px; padding-top: 4px; }
.wmm-caps > div { display: flex; gap: 6px; flex-wrap: wrap; }
.wmm-caps label { display: flex; align-items: center; gap: 6px; padding: 4px 9px; border: 1px solid #3a5265; border-radius: 3px; cursor: pointer; font-size: 11px; }
.wmm-caps label:has(input:checked) { background: #173f47; border-color: #3d9d8e; }
.wmm-caps input { accent-color: #58d7b9; padding: 0; margin: 0; width: 12px; height: 12px; min-height: 0; }
.wmm-cap-count { color: #b0c9cf; font-size: 10px; margin-left: 3px; }
.wmm-filter-hint { color: #92aebd; font-size: 10px; }
.wmm-notes { padding: 12px 26px; border-bottom: 1px solid var(--map-line); background: #203448; color: #d4e1e9; overflow-y: auto; max-height: 200px; flex: none; }
.wmm-notes p { margin: 5px 0; font-size: 12px; max-width: 1450px; }
.wmm-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; padding: 12px 26px; border-bottom: 1px solid var(--map-line); flex: none; }
.wmm-totals { display: flex; gap: 16px; align-items: center; flex: 1; font-variant-numeric: tabular-nums; }
.wmm-total { font-size: 11px; color: var(--map-muted); white-space: nowrap; }
.wmm-total b { font-size: 14px; font-weight: 600; color: #f0f7fb; margin-right: 4px; }
.wmm-total.is-up b { color: #71e6bb; }
.wmm-total.is-down b { color: #ffac9e; }
.wmm-total.is-median { border-left: 1px solid #496074; padding-left: 16px; }
.wmm-breadth { display: flex; width: 95px; height: 5px; overflow: hidden; background: #536270; border-radius: 2px; }
.wmm-breadth i { height: 100%; }
.wmm-breadth .is-up { background: #36ba91; }
.wmm-breadth .is-down { background: #d86d68; }
.wmm-breadth .is-flat { background: #6e8295; }
.wmm-legend { display: flex; align-items: center; gap: 2px; }
.wmm-legend > span { font-size: 10px; color: var(--map-muted); margin-right: 7px; }
.wmm-legend button { font-size: 10px; line-height: 1.1; font-variant-numeric: tabular-nums; min-width: 41px; padding: 7px 4px; border: 1px solid transparent; border-radius: 2px; }
.wmm-legend button[aria-pressed="true"] { outline: 2px solid #f0faf8; outline-offset: 1px; z-index: 1; }
.wmm-legend button:hover { filter: brightness(1.25); }
.wmm-error { padding: 7px 26px; background: #4c302a; color: #ffd9be; flex: none; }
.wmm-scroll { flex: 1; overflow: auto; overscroll-behavior: contain; min-height: 80px; scrollbar-color: #5c7386 #112538; scrollbar-width: thin; }
.wmm-table { width: 100%; border-collapse: separate; border-spacing: 0; table-layout: fixed; text-align: left; font-size: 12px; margin: 0; }
.wmm-table caption { text-align: left; }
.wmm-table col:first-child { width: 220px; }
.wmm-table thead th { position: sticky; top: 0; z-index: 5; background: #192f44; border-right: 1px solid var(--map-line); border-bottom: 1px solid #627385; font-weight: 600; padding: 10px 12px; color: #e3eef5; vertical-align: top; }
.wmm-table thead th:first-child { left: 0; z-index: 8; padding-left: 25px; }
.wmm-table thead th > div { display: flex; justify-content: space-between; gap: 5px; }
.wmm-table thead th small { display: block; margin-top: 2px; color: #a3bccb; font-size: 10px; font-weight: 400; }
.wmm-table thead .wmm-column-count { color: #bad4de; font-size: 10px; font-weight: 400; }
.wmm-sector th { background: #0c1b2d; padding: 0; border-bottom: 1px solid #365166; border-top: 1px solid #365166; }
.wmm-sector button { position: sticky; left: 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; width: min(calc(100vw - 20px), 1450px); min-height: 39px; border: 0; border-radius: 0; border-left: 3px solid #46b9a1; padding: 7px 22px; background: transparent; color: #c7eee6; text-align: left; }
.wmm-sector-name { font-size: 11px; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.wmm-sector-name > span { display: inline-block; width: 15px; font-size: 10px; color: #67cbb4; }
.wmm-sector-stats { font-size: 10px; font-weight: 400; color: #adbfcb; }
.wmm-industry th { position: sticky; left: 0; z-index: 2; background: #142d43; padding: 13px 15px 13px 25px; border-right: 1px solid #416179; border-bottom: 1px solid #29465e; vertical-align: top; }
.wmm-industry th strong { display: block; font-size: 12px; line-height: 1.4; font-weight: 600; color: #e4f0f7; }
.wmm-industry th small { display: block; margin-top: 6px; color: #aac2d3; font-size: 10px; font-weight: 400; }
.wmm-industry th .wmm-industry-move { color: #72d9b7; margin-top: 4px; }
.wmm-industry th .wmm-industry-move.is-down { color: #f5a598; }
.wmm-industry td { padding: 7px; border-bottom: 1px solid #2a4155; border-right: 1px solid #2a4155; background: #102238; vertical-align: top; }
.wmm-industry:nth-child(even) td { background: #11263b; }
.wmm-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(102px, 1fr)); gap: 4px; }
.wmm-tile { display: flex; align-items: center; justify-content: space-between; gap: 3px; min-height: 29px; padding: 5px 6px; border: 1px solid rgb(255 255 255 / 13%); border-radius: 3px; color: #fff !important; text-decoration: none !important; font-variant-numeric: tabular-nums; transition: filter .12s; min-width: 0; }
.wmm-tile strong { font-size: 11px; font-weight: 700; line-height: 1.2; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: inherit; }
.wmm-tile span { font-size: 10px; line-height: 1.2; white-space: nowrap; }
.wmm-tile:hover, .wmm-tile:focus-visible { filter: brightness(1.22); border-color: #c2e0ec; box-shadow: 0 2px 8px #0005; }
.wmm .wmm-tone-n4 { background: #a33343; }
.wmm .wmm-tone-n3 { background: #843844; }
.wmm .wmm-tone-n2 { background: #693b46; }
.wmm .wmm-tone-n1 { background: #4d3f49; }
.wmm .wmm-tone-flat { background: #3e5266; }
.wmm .wmm-tone-p1 { background: #214c4b; }
.wmm .wmm-tone-p2 { background: #1c6458; }
.wmm .wmm-tone-p3 { background: #14795e; }
.wmm .wmm-tone-p4 { background: #09825c; }
.wmm .wmm-tone-none { background: #25354a; color: #b7c7d4 !important; border-style: dashed; }
.wmm-cell-more { grid-column: 1 / -1; min-height: 23px; width: 100%; border: 1px dashed #466075 !important; background: transparent !important; color: #b5d0dc !important; font-size: 10px !important; }
.wmm-cell-empty { display: block; padding: 7px; color: #527086; font-weight: 400; }
.wmm-footer { display: flex; justify-content: space-between; gap: 14px; background: #10283b; border-top: 1px solid #355065; color: #a5bece; font-size: 10px; padding: 8px 25px; flex: none; }
.wmm-loading, .wmm-empty { padding: 70px 24px; text-align: center; color: #b2c6d5; }
.wmm-loading strong, .wmm-empty strong { display: block; margin: 12px 0 5px; font-size: 18px; font-weight: 500; color: #e3f1f7; }
.wmm-empty button { padding: 7px 14px; margin-top: 18px; }
.wmm-loader { display: inline-block; width: 24px; height: 24px; border: 2px solid #406374; border-top-color: #55dbc0; border-radius: 50%; animation: wmm-spin 1s linear infinite; }
@keyframes wmm-spin { to { transform: rotate(360deg); } }
.wmm-tooltip { position: fixed; z-index: 30; width: 290px; max-width: calc(100vw - 20px); pointer-events: none; background: #f6fafc; color: #102b42; border: 1px solid #b6cfdb; border-top: 3px solid #00836e; border-radius: 3px; box-shadow: 0 8px 30px #0007; padding: 15px; }
.wmm-tooltip h3 { color: #0b3149; font-size: 20px; line-height: 1.1; margin-bottom: 4px; }
.wmm-tooltip p { font-size: 12px; margin: 4px 0; }
.wmm-tooltip .wmm-tip-meta { font-size: 10px; color: #536e83; }
.wmm-tooltip dl { display: grid; grid-template-columns: 1fr auto; gap: 5px 12px; margin: 12px 0; border-top: 1px solid #d0dfe7; border-bottom: 1px solid #d0dfe7; padding: 10px 0; }
.wmm-tooltip dt { font-size: 11px; color: #526f81; }
.wmm-tooltip dd { margin: 0; text-align: right; font-size: 12px; font-weight: 700; font-variant-numeric: tabular-nums; }
.wmm-intro { padding: 60px 24px; max-width: 1100px; margin: auto; }
.wmm-intro button { background: #0b405c; color: white; padding: 12px 18px; border: 0; cursor: pointer; margin: 20px 20px 0 0; }
@media (max-width: 1150px) {
 .wmm-filter-row { gap: 10px; flex-wrap: wrap; }
 .wmm-search { width: 185px; }
 .wmm-filter-row select { min-width: 150px; max-width: 200px; }
 .wmm-filter-hint { display: none; }
 .wmm-summary { gap: 10px; }
 .wmm-totals { min-width: 460px; }
 .wmm-head { gap: 18px; padding: 15px 20px; }
 .wmm h2 { font-size: 25px; }
 .wmm-dateline { padding-left: 15px; display: block; }
 .wmm-dateline strong { display: block; }
 .wmm-dateline small { display: none; }
}
@media (max-width: 700px) {
 .wmm-head { padding: 12px; gap: 8px; }
 .wmm-mark { display: none; }
 .wmm h2 { font-size: 22px; }
 .wmm-kicker { font-size: 8px; letter-spacing: .12em; }
 .wmm-dateline { padding-left: 9px; }
 .wmm-dateline > span { font-size: 9px; }
 .wmm-dateline strong { font-size: 11px; }
 .wmm-head-actions { gap: 6px; }
 .wmm-help { font-size: 0 !important; width: 28px; padding: 0; }
 .wmm-help::after { content: "i"; font-size: 15px; }
 .wmm-close { width: 29px; }
 .wmm-controls { padding: 10px 12px; }
 .wmm-filter-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 10px; }
 .wmm-search { width: auto; }
 .wmm input, .wmm select { width: 100%; min-width: 0 !important; max-width: none !important; min-height: 33px; }
 .wmm-filter-row > .wmm-reset { justify-self: end; font-size: 10px; min-height: 33px; padding: 4px 8px; margin-top: 0; }
 .wmm-number { flex: 1; min-width: 0; }
 .wmm-caps { display: block; }
 .wmm-caps legend { float: none; padding: 0; margin-bottom: 6px; }
 .wmm-caps label { padding: 4px 7px; font-size: 10px; }
 .wmm-caps input { width: 12px; min-height: 0; }
 .wmm-cap-count { display: none; }
 .wmm-summary { padding: 9px 12px; gap: 9px; }
 .wmm-totals { flex-wrap: wrap; min-width: 0; gap: 5px 12px; }
 .wmm-total { font-size: 10px; }
 .wmm-total b { font-size: 12px; }
 .wmm-total.is-median { border: 0; padding-left: 0; }
 .wmm-breadth { width: 65px; }
 .wmm-legend { width: 100%; gap: 2px; }
 .wmm-legend > span { display: none; }
 .wmm-legend button { flex: 1; min-width: 0; font-size: 9px; padding: 6px 2px; }
 .wmm-table col:first-child { width: 145px; }
 .wmm-table thead th:first-child, .wmm-industry th { padding-left: 12px; }
 .wmm-industry th strong { font-size: 11px; }
 .wmm-sector button { padding-left: 12px; }
 .wmm-sector-stats { display: none; }
 .wmm-footer { padding: 7px 12px; font-size: 9px; }
 .wmm-footer > span:last-child { display: none; }
 .wmm-notes { padding: 10px 12px; max-height: 180px; }
}
@media (prefers-reduced-motion: reduce) { .wmm-loader { animation: none; } .wmm-tile { transition: none; } }
