/* Detailed result views and the tool options panel (site/assets/js/mn-results.js?v=f563e3d0cd). Theme tokens only. */

/* ---------- Options panel ---------- */
.mn-options > summary { cursor: pointer; list-style: none; width: max-content; }
.mn-options > summary::-webkit-details-marker { display: none; }
.mn-options > summary::after { content: "\25BE"; margin-left: .35rem; font-size: .75em; opacity: .6; }
.mn-options:not([open]) > summary::after { content: "\25B8"; }
.mn-opt-label { flex: 0 0 9rem; white-space: nowrap; padding-top: .3rem; align-self: flex-start; }
.mn-seg { display: inline-flex; flex-wrap: wrap; gap: .25rem; }
.mn-chip { --cz-btn-padding-y: .25rem; --cz-btn-padding-x: .7rem; border-radius: 50rem; font-size: .8125rem; font-weight: 500;
  border: 1px solid var(--cz-border-color); background: var(--cz-body-bg); color: var(--cz-body-color); }
.mn-chip:hover { border-color: var(--cz-emphasis-color); color: var(--cz-emphasis-color); }
.btn-check:checked + .mn-chip, .mn-chip.active { background: var(--cz-emphasis-color); border-color: var(--cz-emphasis-color); color: var(--cz-body-bg); }
.btn-check:focus-visible + .mn-chip { outline: 2px solid var(--cz-primary); outline-offset: 2px; }
@media (max-width: 575.98px) { .mn-opt-label { flex-basis: auto; padding-top: 0; } }
/* Resolver pickers: logo chips, grouped rows, and the "More resolvers" menu */
.mn-res-chip, .mn-res-more > summary { display: inline-flex; align-items: center; gap: .35rem; }
.mn-res-chip .mn-logo, .mn-res-picked .mn-logo { box-shadow: none; }
.mn-res-more { position: relative; }
.mn-res-more > summary { list-style: none; cursor: pointer; }
.mn-res-more > summary::-webkit-details-marker { display: none; }
.mn-res-picked { display: inline-flex; align-items: center; gap: .35rem; }
.mn-res-menu { position: absolute; z-index: 20; top: calc(100% + .35rem); left: 0; width: min(22rem, calc(100vw - 2rem)); max-height: 22rem; overflow-y: auto;
  padding: .5rem; border: 1px solid var(--cz-border-color); border-radius: .75rem; background: var(--cz-body-bg); box-shadow: 0 .5rem 1.5rem rgba(0,0,0,.12); }
.mn-res-group + .mn-res-group { margin-top: .5rem; padding-top: .5rem; border-top: 1px solid var(--cz-border-color); }
.mn-res-head { display: block; padding: .15rem .5rem; font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--cz-secondary-color); }
.mn-res-item { display: flex; align-items: center; gap: .6rem; padding: .4rem .5rem; border-radius: .5rem; cursor: pointer; font-size: .8125rem; min-width: 0; }
.mn-res-item:hover { background: var(--cz-tertiary-bg); }
.btn-check:checked + .mn-res-item { background: var(--cz-tertiary-bg); box-shadow: inset 0 0 0 1px var(--cz-emphasis-color); }
.btn-check:focus-visible + .mn-res-item { outline: 2px solid var(--cz-primary); outline-offset: 1px; }
.mn-res-tag { font-size: .625rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; padding: .05rem .35rem; border-radius: 50rem;
  background: var(--cz-warning-bg-subtle, var(--cz-tertiary-bg)); color: var(--cz-warning-text-emphasis, var(--cz-secondary-color)); }
.mn-res-chips { display: flex; flex-direction: column; gap: .35rem; }
.mn-res-row { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem; }
.mn-res-row > .mn-res-head { flex: 0 0 auto; min-width: 6.25rem; padding: 0 .25rem 0 0; }
.mn-res-chips { gap: .25rem; }
@media (max-width: 575.98px) { .mn-res-row > .mn-res-head { flex-basis: 100%; padding-top: .25rem; } }
/* Options as compact cells: header line over controls; short ones side by side, long ones full width. */
.mn-o-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr)); gap: .75rem 1.25rem; }
.mn-o { min-width: 0; }
.mn-o-wide { grid-column: 1 / -1; }
.mn-o + .mn-o-wide, .mn-o-wide + .mn-o { padding-top: .75rem; border-top: 1px dashed var(--cz-border-color); }
.mn-o-head { display: flex; align-items: center; gap: .4rem; margin-bottom: .35rem; font-size: .6875rem; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--cz-secondary-color); }
.mn-o-help { position: relative; display: inline-flex; cursor: help; opacity: .7; text-transform: none; letter-spacing: 0; }
.mn-o-help:hover, .mn-o-help:focus { opacity: 1; outline: none; }
.mn-o-help::after { content: attr(data-help); position: absolute; left: 50%; bottom: calc(100% + .4rem); transform: translateX(-30%); z-index: 30; width: max-content; max-width: 18rem; padding: .45rem .6rem; border-radius: .5rem; background: var(--cz-emphasis-color); color: var(--cz-body-bg); font-size: .75rem; font-weight: 400; line-height: 1.35; white-space: normal; opacity: 0; pointer-events: none; transition: opacity .15s; }
.mn-o-help:hover::after, .mn-o-help:focus::after { opacity: 1; }
.mn-o-acts { margin-left: auto; display: inline-flex; gap: .15rem; }
.mn-o-act { --cz-btn-padding-x: .35rem; --cz-btn-padding-y: 0; font-size: .75rem; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--cz-secondary-color); text-decoration: none; }
.mn-o-act:hover { color: var(--cz-emphasis-color); text-decoration: underline; }

/* ---------- Summary tiles ---------- */
.mn-tiles { display: grid; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); gap: .75rem; margin-bottom: 1.25rem; }
.mn-tile2 { padding: .75rem 1rem; min-width: 0; }
.mn-tile2 .fs-5 { line-height: 1.3; }

/* ---------- Data tables ---------- */
.mn-dt { background: var(--cz-body-bg); }
.mn-dt table { --cz-table-bg: transparent; }
.mn-dt thead th { font-size: .75rem; text-transform: uppercase; letter-spacing: .02em; border-bottom-width: 1px; white-space: nowrap; position: sticky; top: 0; }
.mn-dt th[data-col] { cursor: pointer; user-select: none; }
.mn-dt th[data-col]:hover { color: var(--cz-emphasis-color) !important; }
.mn-sort-i { font-size: .7em; opacity: 0; transition: opacity .15s; }
.mn-dt th[data-col]:hover .mn-sort-i, .mn-dt th[aria-sort="ascending"] .mn-sort-i, .mn-dt th[aria-sort="descending"] .mn-sort-i { opacity: .8; }
.mn-dt th[aria-sort="descending"] .mn-sort-i { display: inline-block; transform: scaleY(-1); }
.mn-dt td { padding-top: .6rem; padding-bottom: .6rem; }
.mn-dt tbody tr:last-child td { border-bottom: 0; }
.mn-dense td { padding-top: .4rem; padding-bottom: .4rem; }
.mn-wide { min-width: 14rem; }
.mn-col-md { min-width: 12rem; }
.mn-dt-filter { width: 14rem; max-width: 100%; }
.mn-state i { vertical-align: -.1em; }
.mn-rr { font-family: var(--cz-font-monospace); font-weight: 600; min-width: 3.25rem; }
.mn-spark { display: block; }
.mn-flag { margin-right: .25rem; }

/* ---------- Key / value ---------- */
.mn-kv { overflow: hidden; }
.mn-kv-row { display: grid; grid-template-columns: minmax(9rem, 13rem) 1fr; gap: 1rem; padding: .65rem 1rem; border-bottom: 1px solid var(--cz-border-color); }
.mn-kv-row:last-child { border-bottom: 0; }
.mn-kv-k { font-size: .8125rem; color: var(--cz-secondary-color); font-weight: 500; }
@media (max-width: 575.98px) { .mn-kv-row { grid-template-columns: 1fr; gap: .15rem; } }

/* ---------- Small bits ---------- */
.mn-prio2 { display: inline-flex; width: 2rem; height: 2rem; border-radius: 50%; align-items: center; justify-content: center; font-weight: 700; font-size: .8125rem; background: var(--cz-secondary-bg); }
.mn-prio2.is-first { background: var(--cz-primary); color: #fff; }
.mn-dot2 { display: inline-block; width: .75rem; height: .75rem; border-radius: 50%; }
.mn-bimi { width: 112px; height: 112px; object-fit: contain; background: var(--cz-tertiary-bg); }

/* DNSSEC chain of trust */
.mn-chain2 { display: flex; align-items: stretch; gap: .5rem; }
.mn-chain-step2 { flex: 1 1 0; border: 1px solid var(--cz-border-color); border-radius: 1rem; padding: 1rem; text-align: center; background: var(--cz-tertiary-bg); }
.mn-chain-step2.is-ok { background: var(--cz-success-bg-subtle); border-color: transparent; }
.mn-chain-step2.is-bad { background: var(--cz-danger-bg-subtle); border-color: transparent; }
.mn-chain-ico { font-size: 1.5rem; }
.mn-chain-link { display: flex; align-items: center; color: var(--cz-border-color); font-size: 1.25rem; }
.mn-chain-link.is-ok { color: var(--cz-success); }
@media (max-width: 575.98px) { .mn-chain2 { flex-direction: column; } .mn-chain-link { justify-content: center; transform: rotate(90deg); } }

/* Port matrix */
.mn-matrix td.mn-cell-open { background: var(--cz-success-bg-subtle); }
.mn-matrix td.mn-cell-closed { background: var(--cz-info-bg-subtle); }
.mn-matrix td.mn-cell-filtered { background: var(--cz-tertiary-bg); }

/* ---------- Provider logos, flags, accordions, world map (mn-brands.js) ---------- */
.mn-logo { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 28%; color: var(--mn-b, var(--cz-secondary-color));
  background: color-mix(in srgb, var(--mn-b, #64748b) 12%, var(--cz-body-bg)); box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--mn-b, #64748b) 22%, transparent); vertical-align: middle; }
.mn-logo svg { display: block; }
.mn-logo-ink { color: var(--cz-emphasis-color); background: var(--cz-tertiary-bg); box-shadow: inset 0 0 0 1px var(--cz-border-color); }
.mn-logo-mono { background: var(--mn-b); color: #fff; font-weight: 700; letter-spacing: -.02em; line-height: 1; box-shadow: none; }
/* An operator's own icon (blocklists): white tile in both themes so favicons drawn for light pages stay legible. */
.mn-logo-img { background: #fff; overflow: hidden; box-shadow: inset 0 0 0 1px var(--cz-border-color); }
.mn-logo-img img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 2px; }
.mn-logo-none { background: var(--cz-tertiary-bg); color: var(--cz-secondary-color); box-shadow: inset 0 0 0 1px var(--cz-border-color); font-size: .8em; }
.mn-brand { display: inline-flex; align-items: center; gap: .45rem; min-width: 0; vertical-align: middle; }
.mn-flag2 { display: inline-block; vertical-align: -.15em; margin-right: .35rem; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); object-fit: cover; }
.mn-owner { display: inline-flex; align-items: center; gap: .35rem; background: var(--cz-body-bg); }

/* Provider accordion */
.mn-acc { overflow: hidden; background: var(--cz-body-bg); }
.mn-acc-item + .mn-acc-item { border-top: 1px solid var(--cz-border-color); }
.mn-acc-head { display: flex; align-items: center; gap: .75rem; padding: .75rem 1rem; cursor: pointer; list-style: none; }
.mn-acc-head::-webkit-details-marker { display: none; }
.mn-acc-head:hover { background: var(--cz-tertiary-bg); }
.mn-acc-head:focus-visible { outline: 2px solid var(--cz-primary); outline-offset: -2px; }
.mn-acc-title { min-width: 0; }
.mn-acc-chev { transition: transform .2s; color: var(--cz-secondary-color); }
.mn-acc-item[open] > .mn-acc-head .mn-acc-chev { transform: rotate(180deg); }
.mn-acc-item[open] > .mn-acc-head { background: var(--cz-tertiary-bg); }
.mn-acc-body { padding: .75rem 1rem 1rem; }
.mn-acc-body .mn-dt { border-radius: .75rem !important; }

/* Dotted world map with result pins */
.mn-world { position: relative; }
.mn-world svg { display: block; width: 100%; height: auto; overflow: visible; }
.mn-world-land { color: color-mix(in srgb, var(--cz-secondary-color) 38%, transparent); }
.mn-pin { cursor: default; outline: none; }
.mn-pin-dot { stroke: var(--cz-body-bg); stroke-width: 1.1; transition: r .15s; }
.mn-pin:hover .mn-pin-dot, .mn-pin:focus .mn-pin-dot { r: 4.4; }
.mn-pin-pulse { transform-box: fill-box; transform-origin: center; animation: mn-pulse 2s ease-out infinite; opacity: .5; }
@keyframes mn-pulse { from { transform: scale(1); opacity: .55; } to { transform: scale(3.2); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .mn-pin-pulse { animation: none; opacity: 0; } }
.mn-world-legend { display: flex; flex-wrap: wrap; gap: .4rem 1rem; font-size: .8125rem; margin-top: .5rem; }
.mn-places { max-height: 22rem; overflow: auto; border: 1px solid var(--cz-border-color); border-radius: 1rem; }
.mn-place { padding: .5rem .85rem; }
.mn-place + .mn-place { border-top: 1px solid var(--cz-border-color); }

/* ---------- Trees (subdomains, certificate names, chain of trust, redirects) ---------- */
.mn-tree-box { padding: .75rem 1rem; background: var(--cz-body-bg); overflow-x: auto; }
.mn-tree { list-style: none; margin: 0; padding-left: 1.6rem; position: relative; }
.mn-tree.mn-tree-top { padding-left: 0; }
.mn-tree li { position: relative; }
.mn-tree .mn-tree li::before, .mn-tree:not(.mn-tree-top) > li::before { content: ""; position: absolute; left: -1rem; top: 0; bottom: 0; border-left: 1px solid var(--cz-border-color); }
.mn-tree:not(.mn-tree-top) > li:last-child::before { bottom: auto; height: 1.3rem; }
.mn-tree:not(.mn-tree-top) > li::after { content: ""; position: absolute; left: -1rem; top: 1.3rem; width: .95rem; border-top: 1px solid var(--cz-border-color); }
.mn-tree summary { list-style: none; cursor: pointer; }
.mn-tree summary::-webkit-details-marker { display: none; }
.mn-tree summary .mn-tree-row::after { content: "\25BE"; margin-left: .25rem; font-size: .75em; color: var(--cz-secondary-color); align-self: center; }
.mn-tree details:not([open]) > summary .mn-tree-row::after { content: "\25B8"; }
.mn-tree-row { display: flex; align-items: center; gap: .6rem; padding: .35rem .5rem; border-radius: .6rem; min-height: 2.6rem; }
.mn-tree-row:hover { background: var(--cz-tertiary-bg); }
.mn-tree-row.is-ghost { opacity: .6; }
.mn-tree-label { min-width: 0; flex: 1 1 auto; }
.mn-tree-meta { display: flex; gap: .35rem; align-items: center; flex-wrap: wrap; justify-content: flex-end; flex-shrink: 0; }
@media (max-width: 575.98px) { .mn-tree-row { flex-wrap: wrap; } .mn-tree-meta { justify-content: flex-start; width: 100%; padding-left: 2rem; } }

/* Paywall: locked rows read as text-shaped blur, never real text (the server never sent it). */
.mn-blur { display: inline-block; color: transparent; text-shadow: 0 0 8px rgba(var(--cz-body-color-rgb, 33, 37, 41), .45); user-select: none; filter: blur(1px); }
.mn-locked { background: var(--cz-tertiary-bg, transparent); }

/* Sign-in sheet (mn-account.js): a native dialog, centred, phone-width friendly. */
.mn-signin { width: min(440px, calc(100vw - 32px)); background: var(--cz-body-bg, #fff); color: var(--cz-body-color, inherit); }
.mn-signin::backdrop { background: rgba(15, 23, 42, .45); backdrop-filter: blur(2px); }

/* Probe locations grouped by continent: the continent's name switches its whole row. */
.mn-regions-grouped { flex-direction: column; flex-wrap: nowrap !important; gap: .4rem !important; }
.mn-cont-row { display: flex; gap: .5rem; align-items: flex-start; }
.mn-cont-chips { display: flex; flex-wrap: wrap; gap: .25rem; min-width: 0; }
.mn-cont { flex: 0 0 7.5rem; display: inline-flex; justify-content: space-between; align-items: center; gap: .4rem; padding: .25rem .6rem; border-radius: 50rem;
  border: 1px dashed var(--cz-border-color); background: transparent; color: var(--cz-secondary-color); font-size: .75rem; font-weight: 600; text-align: left; }
.mn-cont:hover { color: var(--cz-emphasis-color); border-color: var(--cz-emphasis-color); }
.mn-cont[data-state="all"] { border-style: solid; color: var(--cz-emphasis-color); }
.mn-cont[data-state="some"] { border-style: solid; background: linear-gradient(90deg, var(--cz-tertiary-bg) 50%, transparent 50%); color: var(--cz-emphasis-color); }
.mn-cont-n { font-weight: 500; font-variant-numeric: tabular-nums; opacity: .7; }
.mn-cont:focus-visible { outline: 2px solid var(--cz-primary); outline-offset: 2px; }
@media (max-width: 575.98px) { .mn-cont-row { flex-direction: column; gap: .25rem; } .mn-cont { flex-basis: auto; } }
/* Places grouped by continent (propagation list, status page) */
.mn-cont-head { font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--cz-secondary-color); }
.mn-places .mn-cont-head { padding: .6rem 0 .2rem; }
.mn-places .mn-cont-head:first-child { padding-top: 0; }
/* A flag inside a round icon sits in the middle (flags carry a right margin for inline text). */
.mn-ico .mn-flag2 { margin: 0; vertical-align: middle; }

/* Map zones: a rounded patch around each region's pins. Quiet until hovered, then the rest of the map steps back. */
.mn-zone { fill: var(--cz-primary); stroke: var(--cz-primary); stroke-width: 14; stroke-linejoin: round; stroke-linecap: round; opacity: .05; cursor: pointer; transition: opacity .15s; outline: none; }
.mn-zone:hover, .mn-zone:focus-visible, .mn-zone.is-hot { opacity: .18; }
.mn-world.has-hover .mn-pin:not(.is-hot) { opacity: .25; }
.mn-world.has-zones .mn-pin[data-zone] { cursor: pointer; }
.mn-pin { transition: opacity .15s; }
/* Status: compact location rows, several per line. */
.mn-st-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: .25rem .75rem; }
.mn-st-row { display: flex; align-items: center; gap: .5rem; padding: .4rem .5rem; border-radius: .6rem; font-size: .875rem; min-width: 0; }
.mn-st-row:hover { background: var(--cz-tertiary-bg); }
.mn-st-flag { flex-shrink: 0; display: inline-flex; width: 21px; justify-content: center; }
.mn-st-flag .mn-flag2 { margin: 0; }
.mn-st-city { flex: 1 1 auto; min-width: 0; font-weight: 500; }
.mn-st-meta { font-size: .75rem; white-space: nowrap; }
.mn-st-row .mn-dot2 { flex-shrink: 0; width: .55rem; height: .55rem; border-radius: 50%; }
.mn-st-cont { scroll-margin-top: 6rem; transition: box-shadow .2s, border-color .2s; }
.mn-st-cont.is-hot { border-color: var(--cz-primary) !important; }
.mn-st-cont.is-flash { animation: mn-st-flash 1.2s ease-out; }
@keyframes mn-st-flash { 0% { box-shadow: 0 0 0 .35rem color-mix(in srgb, var(--cz-primary) 35%, transparent); } 100% { box-shadow: 0 0 0 0 transparent; } }
.mn-st-jump .mn-chip.is-hot { border-color: var(--cz-primary); color: var(--cz-primary); }
@media (prefers-reduced-motion: reduce) { .mn-st-cont.is-flash { animation: none; } }

/* Geoblock checker: one cell per country, coloured by its stamp. */
.mn-gb-strip { display: flex; gap: 3px; }
.mn-gb-cell { flex: 1 1 0; min-width: 0; max-width: 3rem; height: 1.6rem; border-radius: .4rem; background: var(--mn-gb); display: inline-flex; align-items: center; justify-content: center; }
.mn-gb-cell .mn-flag2 { margin: 0; border-radius: 2px; box-shadow: 0 0 0 1px rgba(255,255,255,.7); }
.mn-gb-pill { background: color-mix(in srgb, var(--mn-gb) 16%, transparent); color: color-mix(in srgb, var(--mn-gb) 75%, var(--cz-emphasis-color)); }
.mn-gb-why { border-left: 4px solid var(--mn-gb) !important; }
.mn-gb-evidence + .mn-gb-evidence { border-top: 1px dashed var(--cz-border-color); margin-top: .5rem; padding-top: .5rem; }
.mn-gb-board { columns: 3 220px; column-gap: .75rem; }
.mn-gb-cont { overflow: hidden; break-inside: avoid; margin-bottom: .75rem; }
.mn-gb-cont .mn-cont-head { padding: .55rem .85rem; background: var(--cz-tertiary-bg); align-items: center; }
.mn-gb-cont .mn-place { border-top: 1px solid var(--cz-border-color); }
.mn-gb-c:not([data-v="allowed"]) { box-shadow: inset 3px 0 0 var(--mn-gb); }
.mn-gb-stamp { width: 1.5rem; height: 1.5rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: .8rem; color: var(--mn-gb); background: color-mix(in srgb, var(--mn-gb) 16%, transparent); }
@media (max-width: 575.98px) { .mn-gb-cell .mn-flag2 { display: none; } .mn-gb-cell { height: 1.1rem; border-radius: .25rem; } }
.mn-gb-odd td:first-child { box-shadow: inset 3px 0 0 var(--cz-danger); }
/* A long location picker folds to the one line under it ("Testing from ... · Change"). */
.mn-regions.mn-rg-folded { display: none !important; }

/* What's that site running? A stack strip that answers the first questions, then only the groups that have products. */
.mn-td-hero { background: linear-gradient(135deg, color-mix(in srgb, var(--cz-primary) 10%, var(--cz-body-bg)), color-mix(in srgb, var(--cz-info) 8%, var(--cz-body-bg))); border: 1px solid var(--cz-border-color); }
.mn-td-strip { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: .5rem; }
.mn-td-slot { background: var(--cz-body-bg); border: 1px solid var(--cz-border-color); border-radius: 1rem; padding: .6rem .75rem; min-width: 0; display: flex; flex-direction: column; gap: .35rem; }
.mn-td-logos { display: inline-flex; flex-shrink: 0; }
.mn-td-logos > .mn-logo + .mn-logo { margin-left: -8px; box-shadow: 0 0 0 2px var(--cz-body-bg); }
.mn-td-groups { columns: 2 22rem; column-gap: .75rem; }
.mn-td-group { break-inside: avoid; margin-bottom: .75rem; background: var(--cz-body-bg); overflow: hidden; }
.mn-td-group-h { display: flex; gap: .6rem; align-items: flex-start; padding: .75rem .9rem; background: var(--cz-tertiary-bg); border-bottom: 1px solid var(--cz-border-color); }
.mn-td-group-h > i { font-size: 1.1rem; margin-top: .15rem; }
.mn-td-item + .mn-td-item { border-top: 1px solid var(--cz-border-color); }
.mn-td-item > summary { display: flex; align-items: center; gap: .65rem; padding: .5rem .9rem; cursor: pointer; list-style: none; }
.mn-td-item > summary::-webkit-details-marker { display: none; }
.mn-td-item > summary:hover { background: var(--cz-tertiary-bg); }
.mn-td-item > summary:focus-visible { outline: 2px solid var(--cz-primary); outline-offset: -2px; }
.mn-td-chev { font-size: .8rem; color: var(--cz-secondary-color); transition: transform .15s; }
.mn-td-item[open] .mn-td-chev { transform: rotate(180deg); }
.mn-td-clues { display: flex; flex-direction: column; gap: .35rem; padding: .1rem .9rem .7rem calc(.9rem + 30px + .65rem); }
.mn-td-conf { display: inline-flex; gap: 2px; vertical-align: middle; flex-shrink: 0; }
.mn-td-conf i { width: .4rem; height: .4rem; border-radius: 50%; background: var(--cz-border-color); }
.mn-td-conf i.on { background: var(--cz-success); }
.mn-td-parties { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .4rem; }
.mn-td-party.is-warm { border-style: dashed !important; }
@media (max-width: 575.98px) { .mn-td-strip { grid-template-columns: 1fr; } .mn-td-clues { padding-left: .9rem; } }
@media (prefers-reduced-motion: reduce) { .mn-td-chev { transition: none; } }

/* Crawler access grid (robots.txt) */
.mn-cr-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr)); gap: .5rem; }
.mn-cr { border-left-width: 4px !important; }
.mn-cr-success { border-left-color: var(--cz-success) !important; }
.mn-cr-danger { border-left-color: var(--cz-danger) !important; }
.mn-cr-warning { border-left-color: var(--cz-warning) !important; }
.mn-cr-secondary { border-left-color: var(--cz-secondary) !important; }

/* Security headers: copy-ready fixes */
.mn-fx-code { color: var(--cz-body-color); background: var(--cz-tertiary-bg); border: 1px solid var(--cz-border-color); white-space: pre; overflow-x: auto; max-height: 22rem; }

/* DMARC path to reject: a vertical ladder */
.mn-path-step { display: flex; gap: .75rem; position: relative; }
.mn-path-step:not(:last-child)::before { content: ''; position: absolute; left: .9rem; top: 2rem; bottom: 0; width: 2px; background: var(--cz-border-color); }
.mn-path-step.is-done:not(:last-child)::before { background: var(--cz-success); }
.mn-path-dot { flex: 0 0 1.8rem; height: 1.8rem; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; font-size: .8rem; font-weight: 600; background: var(--cz-tertiary-bg); border: 2px solid var(--cz-border-color); color: var(--cz-secondary-color); }
.mn-path-step.is-done .mn-path-dot { background: var(--cz-success); border-color: var(--cz-success); color: #fff; }
.mn-path-step.is-now .mn-path-dot { background: var(--cz-primary); border-color: var(--cz-primary); color: #fff; box-shadow: 0 0 0 4px color-mix(in srgb, var(--cz-primary) 25%, transparent); }
.mn-path-step.is-later { opacity: .7; }

/* Live TTL countdown */
.mn-ttl-live { display: inline-flex; flex-direction: column; gap: .2rem; min-width: 5.5rem; font-variant-numeric: tabular-nums; }
.mn-ttl-bar { display: block; height: 4px; border-radius: 2px; background: var(--cz-border-color); overflow: hidden; }
.mn-ttl-bar i { display: block; height: 100%; background: var(--cz-info); transition: width 1s linear; }
.mn-ttl-live.is-done .mn-ttl-t { color: var(--cz-success-text-emphasis); }

/* Propagation watch mode */
.mn-watch { background: var(--cz-tertiary-bg); }
.mn-watch-chart { display: block; }
.mn-watch-line { fill: none; stroke: var(--cz-primary); stroke-width: 2.5; stroke-linejoin: round; }
.mn-watch-dot { fill: var(--cz-body-bg); stroke: var(--cz-primary); stroke-width: 2; }
.mn-watch-goal { stroke: var(--cz-success); stroke-dasharray: 4 4; stroke-width: 1.5; }

/* SPF flattening: before → after */
.mn-spf-swap { display: inline-flex; flex-direction: column; align-items: center; min-width: 4.5rem; }
.mn-spf-big { font-size: 2rem; font-weight: 700; line-height: 1; }

/* SSL grade */
.mn-grade-xl { min-width: 4.5rem; height: 4.5rem; font-size: 2rem; border-radius: 1.2rem; }

/* DNS propagation, city by city: continent accordions > one folded row per city > its resolvers as a tree. */
.mn-pc .mn-acc-body.mn-pc-list { padding: .5rem; display: flex; flex-direction: column; gap: .35rem; }
.mn-pc-globe { display: inline-flex; width: 2rem; height: 2rem; align-items: center; justify-content: center; border-radius: 50%; background: var(--cz-tertiary-bg); flex-shrink: 0; }
.mn-pc-city { border: 1px solid var(--cz-border-color); border-left-width: 4px; border-radius: .75rem; background: var(--cz-body-bg); }
.mn-pc-city.is-success { border-left-color: var(--cz-success); }
.mn-pc-city.is-info { border-left-color: var(--cz-info); }
.mn-pc-city.is-warning { border-left-color: var(--cz-warning); background: color-mix(in srgb, var(--cz-warning) 6%, var(--cz-body-bg)); }
.mn-pc-city.is-danger { border-left-color: var(--cz-danger); background: color-mix(in srgb, var(--cz-danger) 6%, var(--cz-body-bg)); }
.mn-pc-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto auto auto; align-items: center; gap: .6rem; padding: .55rem .75rem; cursor: pointer; list-style: none; }
.mn-pc-head::-webkit-details-marker { display: none; }
.mn-pc-head:focus-visible { outline: 2px solid var(--cz-primary); outline-offset: -2px; border-radius: .7rem; }
.mn-pc-city[open] > .mn-pc-head .mn-acc-chev { transform: rotate(180deg); }
.mn-pc-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mn-pc-dots { display: inline-flex; gap: 3px; }
.mn-pc-dots .mn-dot2 { width: .6rem; height: .6rem; }
.mn-pc-st { display: inline-flex; align-items: center; gap: .3rem; font-size: .8125rem; font-weight: 500; white-space: nowrap; }
.mn-pc-mixed { font-size: .6875rem; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; padding: 0 .4rem; border-radius: 1rem; background: var(--cz-warning); color: #000; }
.mn-pc-ms { font-size: .8125rem; min-width: 3.5rem; text-align: right; white-space: nowrap; }
.mn-pc-body { padding: 0 .5rem .5rem 1.6rem; }
.mn-pc-body .mn-tree-top > li { position: relative; }
.mn-pc-body .mn-tree-top > li::before { content: ""; position: absolute; left: -.9rem; top: 0; bottom: 0; border-left: 1px solid var(--cz-border-color); }
.mn-pc-body .mn-tree-top > li:last-child::before { bottom: auto; height: 1.3rem; }
.mn-pc-body .mn-tree-top > li::after { content: ""; position: absolute; left: -.9rem; top: 1.3rem; width: .7rem; border-top: 1px solid var(--cz-border-color); }
.mn-pc-body li.is-off > .mn-tree-row { background: color-mix(in srgb, var(--cz-warning) 14%, transparent); }
.mn-pc-body li.is-err > .mn-tree-row { background: color-mix(in srgb, var(--cz-danger) 12%, transparent); }
.mn-pc-swatch { display: inline-flex; }
@media (max-width: 575.98px) {
  .mn-pc-head { grid-template-columns: auto minmax(0, 1fr) auto auto; row-gap: .25rem; }
  .mn-pc-dots { grid-column: 2; grid-row: 2; }
  .mn-pc-st { grid-column: 3 / 5; grid-row: 2; justify-self: end; }
  .mn-pc-body { padding-left: 1.2rem; }
}

/* Continent tiles: the continent's own shape, cropped from the dotted world map. */
.mn-cont-ico { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; border-radius: 28%; overflow: hidden;
  background: color-mix(in srgb, var(--cz-primary) 9%, var(--cz-body-bg)); color: color-mix(in srgb, var(--cz-primary) 80%, var(--cz-emphasis-color)); }
.mn-cont-ico > use { filter: drop-shadow(0 0 .35px currentColor) drop-shadow(0 0 .35px currentColor); }
.mn-cont-ico-none { color: var(--cz-secondary-color); }
.mn-pc-cont:has(.mn-pc-city.is-warning, .mn-pc-city.is-danger) > summary .mn-cont-ico { background: color-mix(in srgb, var(--cz-warning) 16%, var(--cz-body-bg)); color: var(--cz-warning-text-emphasis, var(--cz-warning)); }
.mn-cont .mn-cont-ico { border-radius: 50%; }
.mn-st-jump .mn-cont-ico { margin-right: .35rem; border-radius: 50%; }

/* Filters, tidy: every grouped picker is a label column of one width beside an even grid of equal-width chips,
   so resolvers, locations and plain chip lists line up in straight columns on every tool page. */
.mn-res-row, .mn-cont-row { display: grid; grid-template-columns: 11.75rem minmax(0, 1fr); gap: .5rem; align-items: start; }
.mn-res-row > .mn-res-head { min-width: 0; padding: .45rem 0 0; }
.mn-res-chips { gap: .5rem; }
.mn-regions-grouped { gap: .5rem !important; }
.mn-cont { flex: none; width: 100%; }
.mn-cont .mn-cont-name { margin-right: auto; }
.mn-res-grid, .mn-cont-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(10.5rem, 1fr)); gap: .3rem; }
.mn-chip-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(5.25rem, 1fr)); gap: .3rem; }
.mn-res-grid > .mn-chip, .mn-cont-chips > .mn-chip, .mn-chip-grid > .mn-chip { width: 100%; min-width: 0; margin: 0; justify-content: flex-start; text-align: left; }
.mn-chip-grid > .mn-chip { justify-content: center; text-align: center; }
/* Wide single-pick rows (resolver to ask, compare with) use the same even grid. */
.mn-o-wide > .mn-seg { display: grid; grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr)); gap: .3rem; }
.mn-o-wide > .mn-seg > .mn-chip, .mn-o-wide > .mn-seg > .mn-res-more > summary { width: 100%; margin: 0; justify-content: center; }
.mn-cont-chips > .mn-chip { display: inline-flex; align-items: center; gap: .35rem; }
.mn-cont-chips > .mn-chip .mn-flag2, .mn-cont-chips > .mn-chip img { margin-right: 0; }
.mn-res-row + .mn-res-row, .mn-cont-row + .mn-cont-row { padding-top: .5rem; border-top: 1px dashed var(--cz-border-color); }
@media (max-width: 575.98px) {
  .mn-res-row, .mn-cont-row { grid-template-columns: minmax(0, 1fr); gap: .3rem; }
  .mn-res-row > .mn-res-head { padding-top: 0; }
  .mn-cont { width: auto; justify-self: start; }
  .mn-res-grid, .mn-cont-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .mn-res-grid > .mn-chip, .mn-cont-chips > .mn-chip { white-space: normal; line-height: 1.2; }
  .mn-chip-grid { grid-template-columns: repeat(auto-fill, minmax(4.5rem, 1fr)); }
  .mn-o-wide > .mn-seg { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
