:root {
  color-scheme: light dark;
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
  --background: #07111f;
  --surface: #0d1b2d;
  --text: #eef6ff;
  --muted: #9eb0c7;
  --accent: #70e1d7;
  --border: #20334b;
}

* { box-sizing: border-box; }
body { margin: 0; min-height: 100vh; background: radial-gradient(circle at 50% 0, #123457, var(--background) 38rem); color: var(--text); }
a { color: inherit; }
.site-header, .site-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 72rem; margin: auto; padding: 1.25rem 1.5rem; }
.site-header nav { display: flex; flex-wrap: wrap; gap: 1rem; }
.site-header nav a, .site-footer a { color: var(--muted); text-decoration: none; }
.site-header nav a:hover, .site-footer a:hover { color: var(--accent); }
.site-header .language-selector { gap: .5rem; font-size: .875rem; }
.language-selector a[aria-current="page"] { color: var(--text); font-weight: 700; }
.brand { color: var(--accent); font-size: 1.2rem; font-weight: 800; text-decoration: none; }
.site-main { max-width: 72rem; margin: auto; padding: 4rem 1.5rem 6rem; }
.hero { max-width: 64rem; margin: auto; text-align: center; }
.home-hero { position: relative; }
.home-hero::before { position: absolute; z-index: -1; top: -5rem; left: 50%; width: min(65rem, 100vw); height: 32rem; background: radial-gradient(ellipse, rgba(45, 158, 169, .18), transparent 68%); content: ""; transform: translateX(-50%); pointer-events: none; }
.hero-intro { max-width: 48rem; margin: auto; }
.eyebrow { color: var(--accent); font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
h1 { margin: .5rem 0 1rem; font-size: clamp(3rem, 9vw, 6.6rem); line-height: .92; letter-spacing: -.065em; }
.hero-copy { max-width: 42rem; margin: 0 auto 2rem; color: var(--muted); font-size: 1.15rem; }
.lookup-shell { margin: 2.4rem 0 1.6rem; }
.lookup-fallback { min-height: 15rem; padding: 4rem 1.5rem; border: 1px solid var(--border); border-radius: 1.5rem; background: rgba(7, 20, 34, .88); }
.lookup-fallback span, .lookup-fallback p { display: block; color: var(--muted); }
.lookup-fallback strong { display: block; margin: 1rem 0; font: 800 clamp(1.8rem, 6vw, 4rem)/1 ui-monospace, SFMono-Regular, Consolas, monospace; overflow-wrap: anywhere; }
.ip-search { max-width: 44rem; margin: 0 auto 1.5rem; padding: 1rem; text-align: left; }
.ip-search label { display: block; margin-bottom: .5rem; color: var(--muted); font-weight: 650; }
.ip-search div { display: flex; gap: .6rem; }
.ip-search input { min-width: 0; flex: 1; padding: .85rem 1rem; color: var(--text); background: var(--surface); border: 1px solid var(--border); border-radius: .7rem; font: inherit; }
.ip-search small { display: block; margin-top: .6rem; color: var(--muted); font-size: .78rem; }
button, .details-link { padding: .75rem 1rem; color: #03111d; background: var(--accent); border: 0; border-radius: .7rem; font: inherit; font-weight: 750; text-decoration: none; cursor: pointer; }
.ip-heading { max-width: 58rem; }
.ip-heading h1 { overflow-wrap: anywhere; font-size: clamp(2.2rem, 7vw, 4.8rem); }
.ip-heading .hero-copy { margin-left: 0; }
.notice { margin: 1.5rem 0; padding: 1rem; color: #ffe7a8; background: #422f09; border: 1px solid #735514; border-radius: .8rem; }
.location-estimate { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(18rem, .7fr); gap: 2rem; align-items: center; margin: 2rem 0 1rem; padding: clamp(1.3rem, 4vw, 2rem); border: 1px solid rgba(112, 225, 215, .5); border-radius: 1.2rem; background: linear-gradient(135deg, rgba(15, 55, 65, .72), rgba(8, 20, 35, .96)); }
.location-estimate h2 { margin: .3rem 0 .7rem; font-size: clamp(1.8rem, 5vw, 3rem); letter-spacing: -.04em; }
.location-estimate p:last-child { margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.location-estimate dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: .8rem; overflow: hidden; }
.location-estimate dl > div { min-width: 0; padding: .8rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.location-estimate dt { color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.location-estimate dd { margin: .3rem 0 0; overflow-wrap: anywhere; font-size: .86rem; font-weight: 700; }
.details-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1rem; margin-top: 2rem; }
.details-grid article, .source-list article { padding: 1.2rem; background: color-mix(in srgb, var(--surface) 92%, transparent); border: 1px solid var(--border); border-radius: 1rem; }
.details-grid span { display: block; margin-bottom: .45rem; color: var(--muted); font-size: .9rem; }
.details-grid strong { overflow-wrap: anywhere; font-size: 1.05rem; }
.source-section { margin-top: 3rem; }
.source-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr)); gap: 1rem; }
.source-list h3 { margin-top: 0; color: var(--accent); }
.source-list dl { margin-bottom: 0; }
.source-list dl div { display: grid; grid-template-columns: 7rem 1fr; gap: .75rem; padding: .4rem 0; border-top: 1px solid var(--border); }
.source-list dt { color: var(--muted); }
.source-list dd { margin: 0; overflow-wrap: anywhere; }
.data-note { color: var(--muted); font-size: .9rem; }
.error { color: #ffb4ab; }
.trust-strip { display: grid; grid-template-columns: repeat(3, 1fr); max-width: 64rem; margin: 2.5rem auto 0; border-block: 1px solid var(--border); }
.trust-strip p { margin: 0; padding: 1.25rem; }
.trust-strip p + p { border-left: 1px solid var(--border); }
.trust-strip strong, .trust-strip span { display: block; }
.trust-strip strong { margin-bottom: .35rem; color: var(--text); font-size: .9rem; }
.trust-strip span { color: var(--muted); font-size: .78rem; line-height: 1.45; }
.content-section { margin-top: 7rem; }
.section-heading { max-width: 42rem; }
.section-heading h2 { margin: .4rem 0 1rem; font-size: clamp(2rem, 5vw, 3.5rem); line-height: 1; letter-spacing: -.045em; }
.section-heading > p:last-child { color: var(--muted); font-size: 1.05rem; line-height: 1.65; }
.feature-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }
.feature-grid article { min-height: 14rem; padding: 1.5rem; border: 1px solid var(--border); border-radius: 1rem; background: color-mix(in srgb, var(--surface) 88%, transparent); }
.feature-grid h3 { margin: 2.5rem 0 .75rem; font-size: 1.12rem; }
.feature-grid p { margin-bottom: 0; color: var(--muted); }
.feature-number { color: var(--accent); font: 700 .75rem ui-monospace, monospace; }
.site-footer { color: var(--muted); border-top: 1px solid var(--border); }
.tools-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 2rem; margin-bottom: 2.5rem; }
.tools-hero h1 { margin-bottom: .75rem; font-size: clamp(3.5rem, 10vw, 7.5rem); }
.tools-hero .hero-copy { max-width: 44rem; margin: 0; }
.tools-signal { display: grid; min-width: 12rem; padding: 1.2rem; border: 1px solid var(--accent); border-radius: 1rem; background: rgba(13, 27, 45, .75); box-shadow: 0 0 3rem rgba(112, 225, 215, .08); }
.tools-signal span { color: var(--accent); font: 800 .7rem ui-monospace, monospace; letter-spacing: .2em; }
.tools-signal strong { margin: .6rem 0 .2rem; font-size: 1.5rem; }
.tools-signal small { color: var(--muted); }
.tool-index { display: grid; grid-template-columns: repeat(3, 1fr); margin-bottom: 1.5rem; border: 1px solid var(--border); border-radius: 1rem; overflow: hidden; }
.tool-index a { display: flex; justify-content: space-between; gap: 1rem; padding: 1rem 1.15rem; color: var(--muted); text-decoration: none; background: rgba(7, 17, 31, .62); border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.tool-index a:hover { color: var(--text); background: rgba(112, 225, 215, .07); }
.tool-index span { color: var(--accent); font: 700 .72rem ui-monospace, monospace; }
.tools-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.tool-panel { padding: clamp(1.25rem, 3vw, 2rem); border: 1px solid var(--border); border-radius: 1.25rem; background: linear-gradient(145deg, rgba(15, 34, 56, .94), rgba(8, 20, 35, .96)); box-shadow: inset 0 1px rgba(255, 255, 255, .025); }
.tool-panel-wide { grid-column: 1 / -1; }
.tool-panel > header { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.5rem; }
.tool-panel h2 { margin: 0 0 .35rem; font-size: clamp(1.25rem, 3vw, 1.75rem); letter-spacing: -.025em; }
.tool-panel header p, .tool-privacy { margin: 0; color: var(--muted); line-height: 1.55; }
.tool-number { display: grid; width: 2.2rem; height: 2.2rem; flex: 0 0 auto; place-items: center; color: #03111d; background: var(--accent); border-radius: 50%; font: 800 .72rem ui-monospace, monospace; }
.tool-panel form > label { display: block; margin: .9rem 0 .45rem; color: var(--muted); font-size: .85rem; font-weight: 700; }
.tool-panel input { width: 100%; min-width: 0; padding: .85rem 1rem; color: var(--text); background: #071422; border: 1px solid #29425e; border-radius: .7rem; font: 600 .92rem ui-monospace, SFMono-Regular, Consolas, monospace; }
.tool-panel input:focus { border-color: var(--accent); outline: 3px solid rgba(112, 225, 215, .13); }
.tool-input-row { display: flex; gap: .65rem; }
.tool-input-row input { flex: 1; }
.tool-error { margin: .7rem 0 0; color: #ffb4ab; font-size: .85rem; }
.tool-results { margin-top: 1.35rem; }
.tool-results dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: .8rem; overflow: hidden; }
.tool-results dl > div { min-width: 0; padding: .85rem 1rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.tool-results .result-full { grid-column: 1 / -1; }
.tool-results dt { margin-bottom: .3rem; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.tool-results dd { margin: 0; overflow-wrap: anywhere; font: 700 .88rem/1.5 ui-monospace, SFMono-Regular, Consolas, monospace; }
.membership-result, .classification-result { display: grid; gap: .45rem; margin-top: 1.35rem; padding: 1rem; border-left: .25rem solid var(--accent); background: rgba(112, 225, 215, .07); }
.membership-result strong, .classification-result strong { color: var(--accent); font-size: 1.05rem; }
.membership-result span, .classification-result span, .classification-result small { color: var(--muted); }
.tool-panel-lookup { background: linear-gradient(145deg, rgba(12, 54, 61, .7), rgba(8, 20, 35, .96)); }
.tool-privacy { margin-top: 1rem; font-size: .8rem; }
.tool-catalog { margin: 2.5rem 0 4rem; }
.catalog-heading { max-width: 48rem; margin-bottom: 1.4rem; }
.catalog-heading h2, .local-tools-heading h2 { margin: .2rem 0 .65rem; font-size: clamp(2rem, 5vw, 3.2rem); }
.catalog-heading > p:last-child, .local-tools-heading > p:last-child { color: var(--muted); line-height: 1.6; }
.catalog-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; }
.catalog-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: start; gap: 1rem; min-width: 0; padding: 1.25rem; color: var(--text); text-decoration: none; border: 1px solid var(--border); border-radius: 1rem; background: linear-gradient(145deg, rgba(15, 34, 56, .96), rgba(7, 18, 31, .97)); }
.catalog-card:hover, .catalog-card:focus-visible { border-color: var(--accent); transform: translateY(-2px); }
.catalog-card h3 { margin: 0 0 .35rem; font-size: 1.1rem; }
.catalog-card p { margin: 0; color: var(--muted); font-size: .84rem; line-height: 1.5; }
.catalog-card > strong { color: var(--accent); font-size: 1.25rem; }
.catalog-number { display: grid; width: 2.25rem; height: 2.25rem; place-items: center; color: #03111d; background: var(--accent); border-radius: .6rem; font: 850 .68rem ui-monospace, monospace; }
.local-tools-heading { max-width: 48rem; margin: 0 0 1.4rem; }
.network-cta { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; max-width: 64rem; margin: 2rem auto 0; padding: 1rem 1.2rem; text-decoration: none; border: 1px solid rgba(112, 225, 215, .45); border-radius: 1rem; background: linear-gradient(100deg, rgba(112, 225, 215, .12), rgba(13, 27, 45, .7)); }
.network-cta:hover { border-color: var(--accent); transform: translateY(-1px); }
.network-cta-mark { padding: .45rem .55rem; color: #03111d; background: var(--accent); border-radius: .45rem; font: 850 .65rem ui-monospace, monospace; letter-spacing: .12em; }
.network-cta strong, .network-cta small { display: block; }
.network-cta small { margin-top: .2rem; color: var(--muted); }
.network-cta-arrow { color: var(--accent); font-weight: 750; }
.network-hero { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; align-items: end; gap: 3rem; margin-bottom: 2rem; }
.network-hero h1 { max-width: 50rem; font-size: clamp(3.4rem, 10vw, 7rem); }
.network-hero .hero-copy { margin-left: 0; }
.diagnostic-launch { display: grid; gap: .45rem; padding: 1.2rem; border: 1px solid var(--accent); border-radius: 1rem; background: linear-gradient(155deg, rgba(18, 55, 73, .92), rgba(7, 19, 32, .96)); }
.diagnostic-launch > span { color: var(--accent); font: 800 .68rem ui-monospace, monospace; letter-spacing: .18em; }
.diagnostic-launch > strong { font-size: 1.6rem; }
.diagnostic-launch > small { margin-bottom: .6rem; color: var(--muted); line-height: 1.4; }
.diagnostic-launch button:disabled { opacity: .65; cursor: wait; }
.diagnostic-overview { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; padding: 1rem 1.2rem; border: 1px solid var(--border); border-radius: 1rem; background: rgba(8, 21, 36, .75); }
.diagnostic-overview p { margin: .25rem 0 0; color: var(--muted); }
.diagnostic-pulse { width: .75rem; height: .75rem; flex: 0 0 auto; background: var(--accent); border-radius: 50%; box-shadow: 0 0 0 .4rem rgba(112, 225, 215, .09); }
.diagnostic-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.diagnostic-card { min-width: 0; padding: clamp(1.2rem, 3vw, 1.8rem); border: 1px solid var(--border); border-radius: 1.2rem; background: linear-gradient(145deg, rgba(15, 34, 56, .96), rgba(7, 18, 31, .97)); box-shadow: inset 0 1px rgba(255, 255, 255, .025); }
.diagnostic-card-wide { grid-column: 1 / -1; }
.diagnostic-card > header { display: grid; grid-template-columns: auto 1fr auto; align-items: start; gap: .9rem; margin-bottom: 1.4rem; }
.diagnostic-card h2 { margin: .15rem 0 0; font-size: clamp(1.25rem, 3vw, 1.7rem); }
.diagnostic-kicker { margin: 0; color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.diagnostic-number { display: grid; width: 2.15rem; height: 2.15rem; place-items: center; color: #03111d; background: var(--accent); border-radius: .65rem; font: 850 .7rem ui-monospace, monospace; }
.check-state { align-self: start; padding: .4rem .55rem; color: var(--muted); border: 1px solid var(--border); border-radius: 999px; font: 750 .68rem ui-monospace, monospace; white-space: nowrap; }
.check-state.is-running { color: #bcdcff; border-color: #376b9b; background: rgba(55, 107, 155, .13); }
.check-state.is-good { color: #91ead0; border-color: #287c68; background: rgba(40, 124, 104, .13); }
.check-state.is-warn { color: #ffe0a0; border-color: #8a6620; background: rgba(138, 102, 32, .13); }
.check-state.is-bad { color: #ffb4ab; border-color: #9e443e; background: rgba(158, 68, 62, .13); }
.check-state.is-neutral { color: var(--muted); }
.diagnostic-ip { display: block; margin: 1.4rem 0; overflow-wrap: anywhere; color: var(--accent); font: 800 clamp(1.45rem, 4vw, 2.4rem)/1.1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.diagnostic-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: .8rem; overflow: hidden; }
.diagnostic-facts > div { min-width: 0; padding: .8rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.diagnostic-facts dt { margin-bottom: .3rem; color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.diagnostic-facts dd { margin: 0; overflow-wrap: anywhere; font-size: .88rem; font-weight: 700; }
.diagnostic-note, .diagnostic-description { color: var(--muted); line-height: 1.55; }
.diagnostic-note { margin: 1rem 0 0; font-size: .8rem; }
.diagnostic-description { max-width: 54rem; }
.diagnostic-actions { display: flex; align-items: center; gap: 1rem; margin: 1.3rem 0; }
.diagnostic-actions span { color: var(--muted); font-size: .8rem; }
.diagnostic-actions code { color: var(--text); }
.candidate-list, .service-checks { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; margin-top: 1rem; }
.candidate-list > div, .service-checks > div { min-width: 0; padding: .9rem; border: 1px solid var(--border); border-radius: .75rem; background: rgba(5, 17, 29, .65); }
.candidate-list strong, .candidate-list span, .service-checks strong, .service-checks span { display: block; overflow-wrap: anywhere; }
.candidate-list strong { font: 700 .86rem ui-monospace, monospace; }
.candidate-list span, .service-checks span { margin-top: .35rem; color: var(--muted); font-size: .75rem; }
.service-checks > div.is-good { border-color: #287c68; }
.service-checks > div.is-bad { border-color: #9e443e; }
.diagnostic-result { margin-bottom: 0; padding: .9rem 1rem; border-left: .22rem solid var(--accent); background: rgba(112, 225, 215, .06); }
.safe-report { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 1rem; padding: 1.5rem; border: 1px solid var(--border); border-radius: 1.2rem; background: rgba(8, 21, 36, .72); }
.safe-report h2 { margin: .3rem 0; font-size: clamp(1.5rem, 4vw, 2.2rem); }
.safe-report p:last-child { max-width: 46rem; margin-bottom: 0; color: var(--muted); }
.safe-report button { flex: 0 0 auto; }
.network-privacy { max-width: 54rem; margin: 1.3rem auto 0; color: var(--muted); font-size: .82rem; line-height: 1.55; text-align: center; }
.estimate-copy { min-width: 0; }
.estimate-explanation { padding-left: .9rem; border-left: .18rem solid var(--accent); color: var(--text) !important; }
.coverage-note { padding: .7rem .85rem; border: 1px solid rgba(112, 225, 215, .28); border-radius: .65rem; background: rgba(112, 225, 215, .055); font-size: .82rem; }
.coverage-note strong { color: var(--accent); }
.estimate-proof { display: grid; grid-template-columns: 7.3rem minmax(0, 1fr); gap: 1rem; align-items: center; }
.estimate-proof dl { align-self: stretch; }
.uncertainty-orbit { position: relative; display: grid; width: 7.3rem; aspect-ratio: 1; place-content: center; text-align: center; border: 1px dashed rgba(112, 225, 215, .72); border-radius: 50%; background: radial-gradient(circle, rgba(112, 225, 215, .15) 0 5%, transparent 6% 31%, rgba(112, 225, 215, .08) 32% 33%, transparent 34%); box-shadow: inset 0 0 2.2rem rgba(112, 225, 215, .06), 0 0 2rem rgba(112, 225, 215, .05); }
.uncertainty-orbit::before, .uncertainty-orbit::after { position: absolute; content: ""; background: rgba(112, 225, 215, .28); }
.uncertainty-orbit::before { top: 50%; left: 12%; width: 76%; height: 1px; }
.uncertainty-orbit::after { top: 12%; left: 50%; width: 1px; height: 76%; }
.uncertainty-orbit i { position: absolute; z-index: 1; top: calc(50% - .22rem); left: calc(50% - .22rem); width: .44rem; height: .44rem; border: 2px solid #061523; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 .24rem rgba(112, 225, 215, .2); }
.uncertainty-orbit strong, .uncertainty-orbit span { position: relative; z-index: 2; display: block; padding-inline: .2rem; background: rgba(8, 20, 35, .82); }
.uncertainty-orbit strong { margin-top: 2.15rem; font: 800 .82rem ui-monospace, monospace; }
.uncertainty-orbit span { color: var(--muted); font-size: .58rem; letter-spacing: .05em; text-transform: uppercase; }
.uncertainty-orbit.confidence-low { border-color: rgba(255, 180, 171, .72); }
.uncertainty-orbit.confidence-medium { border-color: rgba(255, 224, 160, .72); }
.estimate-proof .score-note { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.estimate-alternatives { margin-top: 1rem; }
.estimate-alternatives > span { color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.estimate-alternatives ul { display: grid; gap: .45rem; margin: .55rem 0 0; padding: 0; list-style: none; }
.estimate-alternatives li { padding: .65rem .75rem; border: 1px solid var(--border); border-radius: .65rem; background: rgba(5, 17, 29, .55); }
.estimate-alternatives strong, .estimate-alternatives small { display: block; }
.estimate-alternatives small { margin-top: .2rem; color: var(--muted); }
.reputation-hero h1 { max-width: 52rem; font-size: clamp(3.2rem, 9vw, 6.4rem); }
.reputation-search { max-width: 52rem; margin: 0 auto 2rem; }
.reputation-summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 2rem; margin: 2.5rem 0 1rem; padding: clamp(1.3rem, 4vw, 2rem); border: 1px solid rgba(112, 225, 215, .45); border-radius: 1.2rem; background: linear-gradient(135deg, rgba(15, 55, 65, .72), rgba(8, 20, 35, .96)); }
.reputation-summary h2 { margin: .35rem 0 .7rem; overflow-wrap: anywhere; font: 800 clamp(1.8rem, 5vw, 3rem)/1.1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.reputation-summary p:last-child { margin-bottom: 0; color: var(--muted); line-height: 1.55; }
.risk-score { display: grid; min-width: 10.5rem; padding: 1.15rem; text-align: center; border: 1px solid var(--border); border-radius: 1rem; background: rgba(5, 17, 29, .72); }
.risk-score strong { font-size: 3rem; line-height: 1; }
.risk-score span, .risk-score small { color: var(--muted); }
.risk-score span { margin: .35rem 0 .75rem; font-size: .72rem; }
.risk-score small { padding-top: .7rem; border-top: 1px solid var(--border); font-weight: 750; text-transform: uppercase; }
.risk-very-high, .risk-high { border-color: #9e443e; }
.risk-very-high strong, .risk-high strong { color: #ffb4ab; }
.risk-suspicious, .risk-reported { border-color: #8a6620; }
.risk-suspicious strong, .risk-reported strong { color: #ffe0a0; }
.risk-verified-crawler { border-color: #287c68; }
.risk-verified-crawler strong { color: #91ead0; }
.reputation-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.reputation-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: .8rem; overflow: hidden; }
.reputation-facts > div { min-width: 0; padding: .8rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.reputation-facts dt { margin-bottom: .3rem; color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.reputation-facts dd { margin: 0; overflow-wrap: anywhere; font-size: .86rem; font-weight: 700; }
.evidence-list { margin: 1rem 0 0; padding-left: 1.2rem; color: var(--muted); line-height: 1.55; }
.reputation-source + .reputation-source { margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--border); }
.reputation-source h3 { color: var(--accent); }
.domain-whois-hero h1 { max-width: 52rem; font-size: clamp(3.2rem, 9vw, 6.4rem); }
.domain-whois-search { max-width: 52rem; margin: 0 auto 2rem; }
.domain-whois-notice { max-width: 52rem; margin: 1rem auto 2rem; }
.domain-whois-summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin: 2.5rem 0 1rem; padding: clamp(1.3rem, 4vw, 2rem); border: 1px solid rgba(112, 225, 215, .45); border-radius: 1.2rem; background: linear-gradient(135deg, rgba(15, 55, 65, .72), rgba(8, 20, 35, .96)); }
.domain-whois-summary h2 { margin: .35rem 0 .7rem; overflow-wrap: anywhere; font: 800 clamp(1.8rem, 5vw, 3rem)/1.1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.domain-whois-summary p:last-child { margin-bottom: 0; color: var(--muted); }
.rdap-badge { padding: .8rem 1rem; color: #03111d; background: var(--accent); border-radius: .75rem; font: 900 .8rem ui-monospace, monospace; letter-spacing: .12em; }
.domain-whois-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.domain-whois-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: .8rem; overflow: hidden; }
.domain-whois-facts > div { min-width: 0; padding: .8rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.domain-whois-facts dt { margin-bottom: .3rem; color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.domain-whois-facts dd { margin: 0; overflow-wrap: anywhere; font-size: .86rem; font-weight: 700; }
.domain-list-title { margin: 1.1rem 0 .65rem; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; }
.domain-data-list { display: flex; flex-wrap: wrap; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.domain-data-list li { padding: .45rem .6rem; overflow-wrap: anywhere; color: var(--accent); border: 1px solid var(--border); border-radius: .55rem; background: rgba(5, 17, 29, .65); font: 700 .75rem ui-monospace, monospace; }
.domain-source-note { margin: 1rem 0 0; color: var(--muted); font-size: .82rem; }
.domain-source-note a { color: var(--accent); }
.ping-hero h1 { max-width: 52rem; font-size: clamp(3.2rem, 9vw, 6.4rem); }
.ping-search { max-width: 52rem; margin: 0 auto 2rem; }
.ping-notice { max-width: 52rem; margin: 1rem auto 2rem; }
.ping-summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin: 2.5rem 0 1rem; padding: clamp(1.3rem, 4vw, 2rem); border: 1px solid rgba(112, 225, 215, .45); border-radius: 1.2rem; background: linear-gradient(135deg, rgba(15, 55, 65, .72), rgba(8, 20, 35, .96)); }
.ping-summary h2 { margin: .35rem 0 .7rem; overflow-wrap: anywhere; font: 800 clamp(1.8rem, 5vw, 3rem)/1.1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.ping-summary p:last-child { margin-bottom: 0; color: var(--muted); }
.ping-summary a { color: var(--accent); }
.ping-delivery { display: grid; min-width: 7rem; padding: 1rem; text-align: center; border: 1px solid var(--border); border-radius: .8rem; background: rgba(5, 17, 29, .72); }
.ping-delivery strong { color: var(--accent); font-size: 2rem; }
.ping-delivery span { color: var(--muted); font-size: .72rem; text-transform: uppercase; }
.ping-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 1rem; }
.ping-table-wrap { overflow-x: auto; }
.ping-table { width: 100%; border-collapse: collapse; font-size: .84rem; }
.ping-table th, .ping-table td { padding: .7rem .55rem; text-align: left; border-bottom: 1px solid var(--border); }
.ping-table th { color: var(--muted); font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.ping-table td { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.ping-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; border: 1px solid var(--border); border-radius: .8rem; overflow: hidden; }
.ping-facts > div { min-width: 0; padding: .8rem; border-right: 1px solid var(--border); border-bottom: 1px solid var(--border); }
.ping-facts dt { margin-bottom: .3rem; color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .07em; text-transform: uppercase; }
.ping-facts dd { margin: 0; overflow-wrap: anywhere; font-size: .9rem; font-weight: 700; }
.traceroute-hero h1 { max-width: 52rem; font-size: clamp(3.2rem, 9vw, 6.4rem); }
.traceroute-search { max-width: 52rem; margin: 0 auto 2rem; }
.traceroute-notice { max-width: 52rem; margin: 1rem auto 2rem; }
.traceroute-summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin: 2.5rem 0 1rem; padding: clamp(1.3rem, 4vw, 2rem); border: 1px solid rgba(112, 225, 215, .45); border-radius: 1.2rem; background: linear-gradient(135deg, rgba(15, 55, 65, .72), rgba(8, 20, 35, .96)); }
.traceroute-summary h2 { margin: .35rem 0 .7rem; overflow-wrap: anywhere; font: 800 clamp(1.8rem, 5vw, 3rem)/1.1 ui-monospace, SFMono-Regular, Consolas, monospace; }
.traceroute-summary p:last-child { margin-bottom: 0; color: var(--muted); }
.traceroute-summary a, .trace-table a { color: var(--accent); }
.trace-verdict { display: grid; min-width: 8rem; padding: 1rem; text-align: center; border: 1px solid var(--border); border-radius: .8rem; background: rgba(5, 17, 29, .72); }
.trace-verdict strong { font-size: 2rem; }
.trace-verdict span, .trace-verdict small { color: var(--muted); }
.trace-verdict span { font-size: .7rem; text-transform: uppercase; }
.trace-verdict small { margin-top: .45rem; padding-top: .45rem; border-top: 1px solid var(--border); }
.trace-verdict.is-reached { border-color: #287c68; }
.trace-verdict.is-reached strong { color: #91ead0; }
.trace-verdict.is-partial { border-color: #8a6620; }
.trace-verdict.is-partial strong { color: #ffe0a0; }
.trace-table-wrap { overflow-x: auto; }
.trace-table { width: 100%; border-collapse: collapse; font-size: .85rem; }
.trace-table th, .trace-table td { padding: .75rem .65rem; text-align: left; border-bottom: 1px solid var(--border); }
.trace-table th { color: var(--muted); font-size: .68rem; letter-spacing: .07em; text-transform: uppercase; }
.trace-table td { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; }
.trace-table td:first-child { width: 3.5rem; color: var(--muted); }
.trace-destination { background: rgba(112, 225, 215, .06); }
@media (max-width: 47rem) { .site-header { align-items: flex-start; flex-direction: column; } .site-main { padding-top: 2rem; } .ip-search div, .tool-input-row, .diagnostic-actions, .safe-report { flex-direction: column; align-items: stretch; } .trust-strip, .feature-grid, .tools-grid, .tool-index, .catalog-grid, .diagnostic-grid, .candidate-list, .service-checks, .location-estimate { grid-template-columns: 1fr; } .trust-strip p + p { border-top: 1px solid var(--border); border-left: 0; } .content-section { margin-top: 4.5rem; } .tools-hero, .network-hero { grid-template-columns: 1fr; align-items: start; } .tools-signal { min-width: 0; } .tool-index a { border-right: 0; } .tool-results dl, .diagnostic-facts, .location-estimate dl { grid-template-columns: 1fr; } .tool-results .result-full, .diagnostic-card-wide { grid-column: auto; } .network-cta { grid-template-columns: auto 1fr; } .network-cta-arrow { grid-column: 2; } .diagnostic-card > header { grid-template-columns: auto 1fr; } .diagnostic-card > header .check-state { grid-column: 2; justify-self: start; } }
@media (max-width: 47rem) { .estimate-proof { grid-template-columns: 1fr; } .uncertainty-orbit { justify-self: center; } .estimate-proof .score-note { grid-column: auto; } }
@media (max-width: 47rem) { .reputation-summary, .reputation-grid, .reputation-facts { grid-template-columns: 1fr; } .risk-score { min-width: 0; } }
@media (max-width: 47rem) { .domain-whois-summary { align-items: flex-start; flex-direction: column; } .domain-whois-grid, .domain-whois-facts { grid-template-columns: 1fr; } }
@media (max-width: 47rem) { .ping-summary { align-items: stretch; flex-direction: column; } .ping-grid, .ping-facts { grid-template-columns: 1fr; } }
@media (max-width: 47rem) { .traceroute-summary { align-items: stretch; flex-direction: column; } }
