/* Consola22 · Comprobador de propagación DNS · producción v1.3.1 */

.dns-propagation-tool{padding-bottom:54px}
.dns-intro{max-width:900px}
.dns-page-lead{max-width:860px}
.dns-intro-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.dns-intro-meta span{padding:6px 9px;border:1px solid var(--c22-border);border-radius:999px;background:var(--c22-surface-soft);color:var(--c22-muted);font-size:.74rem;font-weight:800}
.dns-panel{background:var(--c22-surface);border:1px solid var(--c22-border);border-radius:22px;box-shadow:var(--c22-shadow-sm)}
.dns-form-panel{padding:24px}
.dns-form-grid{display:grid;grid-template-columns:2fr 1fr 1.3fr;gap:14px}
.dns-field label{display:block;margin-bottom:7px;color:var(--c22-label);font-size:.8rem;font-weight:850}
.dns-field label span{color:var(--c22-muted);font-weight:550}
.dns-field input,.dns-field select,.dns-field textarea{width:100%;border:1px solid var(--c22-border);border-radius:12px;background:var(--c22-bg);color:var(--c22-text);padding:12px 13px;outline:none}
.dns-field textarea{min-height:78px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.88rem}
.dns-field input:focus,.dns-field select:focus,.dns-field textarea:focus{border-color:var(--c22-accent-strong);box-shadow:0 0 0 3px rgba(34,199,214,.12)}
.dns-expected{grid-column:1/-1}
.dns-help,.dns-statusline{color:var(--c22-muted);font-size:.79rem}
.dns-help{margin:7px 2px 0}
.dns-actions{display:flex;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.dns-primary,.dns-secondary{appearance:none;border-radius:12px;font-weight:900;cursor:pointer;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.dns-primary{border:1px solid transparent;padding:12px 18px;background:var(--c22-deep-2);color:#fff}
.dns-primary:hover,.dns-primary:focus-visible{background:#0F2A33;transform:translateY(-1px);outline:none}
.dns-primary:focus-visible,.dns-secondary:focus-visible{box-shadow:0 0 0 3px rgba(34,199,214,.18)}
.dns-primary:disabled{opacity:.58;cursor:wait;transform:none}
.dns-secondary{border:1px solid var(--c22-border);padding:11px 16px;background:var(--c22-surface);color:var(--c22-text)}
.dns-secondary:disabled{opacity:.58;cursor:wait;transform:none;background:var(--c22-surface-soft);color:var(--c22-muted)}
.dns-form-privacy{margin:15px 0 0;padding-top:13px;border-top:1px solid var(--c22-border);color:var(--c22-muted);font-size:.76rem;line-height:1.55}
.dns-form-privacy a{color:var(--c22-accent-strong);font-weight:800}
.dns-loading{display:none;margin-top:22px;padding:22px}.dns-loading.show{display:block}
.dns-spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--c22-border);border-top-color:var(--c22-accent-strong);border-radius:50%;animation:dns-spin .8s linear infinite;vertical-align:-3px;margin-right:8px}@keyframes dns-spin{to{transform:rotate(360deg)}}
.dns-results{display:none}
.dns-result-hero{margin-top:28px;overflow:hidden;border-radius:26px;background:linear-gradient(140deg,#0F2A33,#153944);color:#fff;box-shadow:0 22px 54px rgba(15,42,51,.13)}
.dns-result-inner{padding:28px}
.dns-result-kicker{margin:0;color:#9EDEE4;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.dns-result-title{margin:8px 0 0;font-size:clamp(1.55rem,4vw,2.65rem);letter-spacing:-.04em}
.dns-summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:22px}
.dns-sum{padding:14px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:rgba(255,255,255,.055)}
.dns-sum strong{display:block;font-size:1.45rem}.dns-sum span{font-size:.78rem;color:#C9D9DD}
.dns-refbox{margin-top:20px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15)}
.dns-refbox code{display:block;margin-top:7px;overflow-wrap:anywhere;color:#EAFCFF}
.dns-ref-set{margin-top:10px;padding:10px 12px;border-radius:11px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10)}
.dns-ref-set:first-child{margin-top:8px}.dns-ref-variant{margin-top:12px;color:#9EDEE4;font-size:.72rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.dns-ref-record{display:block;margin:0!important;padding:3px 0;white-space:pre-wrap;overflow-wrap:anywhere}
.dns-soa-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin-top:5px}.dns-soa-field{padding:7px 9px;border-radius:9px;background:rgba(255,255,255,.06);min-width:0}.dns-soa-field small{display:block;color:#B9D8DD;font-size:.65rem;font-weight:850;letter-spacing:.05em;text-transform:uppercase}.dns-soa-field code{margin:2px 0 0!important}.dns-soa-field.is-serial{background:rgba(34,199,214,.15);border:1px solid rgba(34,199,214,.35)}.dns-soa-field.is-serial code{font-size:1.05rem;font-weight:900;color:#BAF7FB}
.dns-notice{margin-top:14px;padding:12px 14px;border-radius:12px;background:rgba(216,155,43,.12);color:#FFE4A4;font-size:.86rem}
.dns-distribution-notice{margin-top:18px;padding:14px 16px;border:1px solid rgba(34,199,214,.32);border-radius:14px;background:rgba(34,199,214,.11);color:#EAFBFD}.dns-distribution-notice strong{display:block;color:#BDF6FA;font-size:.92rem}.dns-distribution-notice p{margin:6px 0 0;color:#D1E8EB;font-size:.84rem;line-height:1.55}.dns-infrastructure-evidence{margin-top:13px;padding:13px 14px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(7,25,31,.22)}.dns-infrastructure-evidence small{display:block;color:#85DCE4;font-size:.66rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.dns-infrastructure-evidence>strong{margin-top:4px;color:#fff;font-size:1rem}.dns-infrastructure-evidence>p{color:#C9E1E5}.dns-infrastructure-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.dns-infrastructure-meta span{max-width:100%;padding:5px 7px;border:1px solid rgba(255,255,255,.11);border-radius:7px;color:#D9EEF1;background:rgba(255,255,255,.04);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.68rem;overflow-wrap:anywhere}
.dns-section{margin-top:32px}.dns-section-head{display:flex;justify-content:space-between;align-items:end;gap:18px;margin-bottom:13px}.dns-section-head h2{margin:0;color:var(--c22-heading);font-size:1.35rem}.dns-section-head p{margin:4px 0 0;color:var(--c22-muted);font-size:.88rem}
.dns-tech{padding:0}.dns-tech summary{cursor:pointer;padding:17px 20px;font-weight:850;color:var(--c22-heading)}.dns-tech-body{padding:0 20px 20px;border-top:1px solid var(--c22-border)}.dns-tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.dns-tech-item{padding:14px;background:var(--c22-surface-soft);border-radius:12px;min-width:0}.dns-tech-item small{display:block;color:var(--c22-muted);font-weight:800;text-transform:uppercase;letter-spacing:.07em}.dns-tech-item div{margin-top:5px;overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.83rem}
.dns-map-panel{padding:14px}.dns-map-defs{position:absolute;width:0;height:0;overflow:hidden}.dns-map-wrap{position:relative;overflow:hidden;border-radius:17px;background:linear-gradient(180deg,color-mix(in srgb,var(--c22-surface-soft) 75%,#B7E8EF),var(--c22-surface-soft));border:1px solid var(--c22-border)}.dns-world{display:block;width:100%;height:auto;min-height:320px}.dns-land-layer{fill:color-mix(in srgb,var(--c22-muted) 18%,var(--c22-surface));stroke:color-mix(in srgb,var(--c22-muted) 34%,transparent);stroke-width:1}
.dns-marker{cursor:pointer}.dns-marker-main{stroke:var(--c22-surface);stroke-width:3;filter:drop-shadow(0 3px 6px rgba(0,0,0,.16))}.dns-marker-code{font-size:9px;font-weight:950;text-anchor:middle;dominant-baseline:central;pointer-events:none;fill:#fff}.dns-marker.is-idle .dns-marker-main{fill:#B1BEC3}.dns-marker.is-match .dns-marker-main{fill:var(--c22-success)}.dns-marker.is-variation .dns-marker-main{fill:var(--c22-accent-strong)}.dns-marker.is-different .dns-marker-main{fill:var(--c22-warning)}.dns-marker.is-error .dns-marker-main{fill:var(--c22-danger)}.dns-marker.is-no_data .dns-marker-main{fill:#8B989E}.dns-marker-badge{display:none;pointer-events:none}.dns-marker:not(.is-idle) .dns-marker-badge{display:block}.dns-marker-badge-bg{fill:var(--c22-surface);stroke:rgba(15,42,51,.20);stroke-width:1}.dns-marker-badge-symbol{font-size:7px;font-weight:950;text-anchor:middle;dominant-baseline:central}.dns-marker.is-match .dns-marker-badge-symbol{fill:var(--c22-success)}.dns-marker.is-variation .dns-marker-badge-symbol{fill:var(--c22-accent-strong)}.dns-marker.is-different .dns-marker-badge-symbol{fill:var(--c22-warning)}.dns-marker.is-error .dns-marker-badge-symbol{fill:var(--c22-danger)}.dns-marker.is-no_data .dns-marker-badge-symbol{fill:#8B989E}
.dns-legend{display:flex;flex-wrap:wrap;gap:13px;padding:12px 5px 2px;color:var(--c22-muted);font-size:.8rem}.dns-legend span{display:inline-flex;align-items:center;gap:5px}.dns-legend i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:var(--c22-surface);font-style:normal;font-weight:950;border:2px solid currentColor}.dns-legend .match{color:var(--c22-success)}.dns-legend .variation{color:var(--c22-accent-strong)}.dns-legend .different{color:var(--c22-warning)}.dns-legend .error{color:var(--c22-danger)}.dns-legend .no-data{color:#8B989E}
.dns-table-panel{overflow:hidden}.dns-table-scroll{overflow:auto}.dns-results-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:1040px}.dns-results-table .col-country{width:18%}.dns-results-table .col-response{width:28%}.dns-results-table .col-ttl{width:7%}.dns-results-table .col-state{width:18%}.dns-results-table .col-node{width:18%}.dns-results-table .col-detail{width:11%}.dns-results-table th,.dns-results-table td{text-align:left;padding:13px 14px;border-bottom:1px solid var(--c22-border);vertical-align:top}.dns-results-table th{background:var(--c22-surface-soft);color:var(--c22-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.07em}.dns-results-table td{font-size:.88rem}.dns-results-table td:nth-child(4){overflow:hidden}.dns-results-table td:nth-child(4) .dns-state{box-sizing:border-box;max-width:100%;white-space:normal;line-height:1.2;justify-content:center;text-align:center}
.dns-country-cell{display:flex;align-items:flex-start;gap:9px;min-width:0}.dns-flag-wrap{position:relative;display:grid;place-items:center;flex:0 0 auto;width:26px;height:19px;margin-top:2px}.dns-flag-icon{display:block;width:26px;height:19px;border-radius:3px;box-shadow:0 0 0 1px rgba(15,42,51,.13),0 1px 3px rgba(15,42,51,.10);object-fit:cover}.dns-flag-fallback{font-size:1.05rem;line-height:1}.dns-flag-fallback[hidden]{display:none}.dns-country-copy{min-width:0}.dns-state{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border-radius:999px;font-weight:900;border:1px solid transparent;white-space:nowrap}.dns-state.match{color:var(--c22-success);background:color-mix(in srgb,var(--c22-success) 10%,transparent);border-color:color-mix(in srgb,var(--c22-success) 24%,transparent)}.dns-state.variation{color:var(--c22-accent-strong);background:color-mix(in srgb,var(--c22-accent-strong) 10%,transparent);border-color:color-mix(in srgb,var(--c22-accent-strong) 28%,transparent)}.dns-state.different{color:var(--c22-warning);background:color-mix(in srgb,var(--c22-warning) 11%,transparent);border-color:color-mix(in srgb,var(--c22-warning) 26%,transparent)}.dns-state.error{color:var(--c22-danger);background:color-mix(in srgb,var(--c22-danger) 10%,transparent);border-color:color-mix(in srgb,var(--c22-danger) 24%,transparent)}.dns-state.no_data{color:#8B989E;background:rgba(139,152,158,.11);border-color:rgba(139,152,158,.25)}.dns-records{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.78rem;overflow-wrap:anywhere;word-break:break-word}.dns-mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}
.dns-row-detail{display:block;min-width:0}.dns-row-detail summary{display:inline-flex;align-items:center;cursor:pointer;color:var(--c22-accent-strong);font-weight:850;border:1px solid color-mix(in srgb,var(--c22-accent-strong) 35%,var(--c22-border));background:color-mix(in srgb,var(--c22-accent-strong) 7%,var(--c22-surface));border-radius:9px;padding:5px 9px;list-style:none;white-space:nowrap}.dns-row-detail summary::-webkit-details-marker{display:none}.dns-row-detail summary:hover{background:color-mix(in srgb,var(--c22-accent-strong) 13%,var(--c22-surface))}.dns-row-detail[open] summary{margin-bottom:7px}.dns-row-detail .dns-attempt{overflow-wrap:anywhere;word-break:break-word;line-height:1.45}.dns-detail-title{font-weight:900;color:var(--c22-text-strong);margin:2px 0 5px}.dns-attempt{margin-top:7px;color:var(--c22-muted);font-size:.76rem}.dns-location-row{transition:background-color .18s ease}.dns-location-row.map-selected>td{background:color-mix(in srgb,var(--c22-accent-strong) 11%,var(--c22-surface))}.dns-location-row.map-selected>td:first-child{box-shadow:inset 5px 0 0 var(--c22-accent-strong)}
.dns-explain{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.dns-explain article{padding:18px}.dns-explain h3{margin:0 0 7px;color:var(--c22-heading);font-size:1rem}.dns-explain p{margin:0;color:var(--c22-muted);font-size:.86rem}.dns-session{padding:18px}.dns-session-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.dns-session-card{padding:14px;background:var(--c22-surface-soft);border-radius:12px}.dns-session-card small{color:var(--c22-muted);font-weight:800}.dns-session-card strong{display:block;margin-top:5px;color:var(--c22-text-strong)}
.dns-errorbox{display:none;margin-top:20px;padding:16px;border:1px solid color-mix(in srgb,var(--c22-danger) 35%,var(--c22-border));background:color-mix(in srgb,var(--c22-danger) 8%,var(--c22-surface));border-radius:14px;color:var(--c22-danger);font-weight:750}.hidden{display:none!important}
.dns-guide{margin-top:44px;padding:34px 0 8px;border-top:1px solid var(--c22-border)}.dns-guide>h2{margin:0;color:var(--c22-heading);font-size:clamp(1.55rem,3vw,2.1rem)}.dns-guide>p{max-width:850px;color:var(--c22-muted);line-height:1.7}.dns-guide-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:22px}.dns-guide-grid article{padding:20px;border:1px solid var(--c22-border);border-radius:16px;background:var(--c22-surface)}.dns-guide-grid h3{margin:0 0 8px;color:var(--c22-heading);font-size:1rem}.dns-guide-grid p{margin:0;color:var(--c22-muted);font-size:.86rem;line-height:1.62}.dns-noscript{padding:20px 0;color:var(--c22-danger);font-weight:800}


.dns-mobile-results{display:none}
.dns-location-card{position:relative;padding:16px;border:1px solid var(--c22-border);border-radius:17px;background:var(--c22-surface);box-shadow:var(--c22-shadow-sm);transition:background-color .18s ease,border-color .18s ease,box-shadow .18s ease}
.dns-location-card+.dns-location-card{margin-top:12px}
.dns-mobile-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:13px;border-bottom:1px solid var(--c22-border)}
.dns-mobile-card-head .dns-country-cell{align-items:center}.dns-mobile-card-head .dns-country-copy strong{display:block;font-size:1rem}.dns-mobile-card-head .dns-country-copy .dns-statusline{display:block;margin-top:2px}
.dns-mobile-card-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:12px;margin-top:13px}
.dns-mobile-field{min-width:0;padding:11px 12px;border-radius:12px;background:var(--c22-surface-soft)}
.dns-mobile-field.is-response{grid-column:1/-1}.dns-mobile-field small{display:block;margin-bottom:5px;color:var(--c22-muted);font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.dns-mobile-field strong{color:var(--c22-text-strong)}
.dns-mobile-detail{margin-top:13px;padding-top:13px;border-top:1px solid var(--c22-border)}
.dns-location-card.map-selected{border-color:color-mix(in srgb,var(--c22-accent-strong) 55%,var(--c22-border));background:color-mix(in srgb,var(--c22-accent-strong) 8%,var(--c22-surface));box-shadow:inset 5px 0 0 var(--c22-accent-strong),var(--c22-shadow-sm)}

html[data-theme="dark"] .dns-primary{border-color:rgba(34,199,214,.32);background:rgba(34,199,214,.12);color:#EAF7F9;box-shadow:none}
html[data-theme="dark"] .dns-primary:hover,html[data-theme="dark"] .dns-primary:focus-visible{border-color:rgba(34,199,214,.48);background:rgba(34,199,214,.18);color:#fff}
html[data-theme="dark"] .dns-primary:disabled{border-color:rgba(34,199,214,.20);background:rgba(34,199,214,.08);color:#AFC5CA;opacity:.72}
html[data-theme="dark"] .dns-secondary:disabled{border-color:rgba(255,255,255,.08);background:rgba(255,255,255,.035);color:#81979C;opacity:.72}
html[data-theme="dark"] .dns-result-hero{box-shadow:0 22px 54px rgba(0,0,0,.28)}
html[data-theme="dark"] .dns-distribution-notice{background:rgba(34,199,214,.13);border-color:rgba(34,199,214,.38)}
html[data-theme="dark"] .dns-flag-icon{box-shadow:0 0 0 1px rgba(255,255,255,.12),0 1px 3px rgba(0,0,0,.3)}

@media(max-width:800px){.dns-form-grid{grid-template-columns:1fr 1fr}.dns-field:first-child{grid-column:1/-1}.dns-summary-grid{grid-template-columns:1fr 1fr}.dns-explain,.dns-guide-grid{grid-template-columns:1fr}.dns-tech-grid{grid-template-columns:1fr}}
@media(max-width:720px){.dns-table-panel{display:none}.dns-mobile-results{display:block}.dns-section-head{align-items:flex-start}.dns-world{min-height:250px}}
@media(max-width:560px){.dns-form-grid{grid-template-columns:1fr}.dns-field:first-child,.dns-expected{grid-column:auto}.dns-summary-grid{grid-template-columns:1fr 1fr}.dns-result-inner{padding:21px}.dns-session-grid{grid-template-columns:1fr}.dns-session-head{align-items:flex-start;flex-direction:column}.dns-soa-grid{grid-template-columns:1fr}.dns-flag-wrap,.dns-flag-icon{width:23px;height:17px}.dns-mobile-card-head{gap:8px}.dns-mobile-card-grid{grid-template-columns:1fr}.dns-mobile-field.is-response{grid-column:auto}.dns-location-card{padding:14px}}
