.network-page{padding-top:64px;padding-bottom:72px}.network-heading{margin-bottom:36px}.network-heading h1{font-size:clamp(32px, 4vw, 47px);line-height:1.28;letter-spacing:-.045em;margin:14px 0 17px;max-width:850px}html[lang=en] .network-heading h1,html[lang=ru] .network-heading h1{font-size:clamp(30px, 3.7vw, 45px)}.network-intro{color:var(--muted);max-width:720px;margin:0;font-size:var(--fs-md)}.test-controls{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface,#fff);padding:30px;box-shadow:0 10px 30px var(--shadow-color,#17223804)}.control-top{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-bottom:29px}.control-top h2{font-size:var(--fs-xl);margin:0 0 7px}.control-top p{margin:0;color:var(--muted);font-size:var(--fs-sm);max-width:530px}.control-actions{display:flex;flex-wrap:wrap;gap:10px;flex-shrink:0}.control-actions .button{min-height:45px;font-size:var(--fs-sm);padding:0 17px}.network-page button:disabled{cursor:default;opacity:.42;transform:none;box-shadow:none}.progress-info{display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:var(--fs-sm);color:var(--muted);margin-bottom:10px}[data-progress-count]{font-variant-numeric:tabular-nums}.network-page progress{width:100%;height:6px;display:block;accent-color:var(--blue);border:none;background:var(--surface-recessed,#edf1f7);border-radius:10px;overflow:hidden}.network-page progress::-webkit-progress-bar{background:var(--surface-recessed,#edf1f7);border-radius:10px}.network-page progress::-webkit-progress-value{background:var(--blue);border-radius:10px;transition:width .2s}.network-page progress::-moz-progress-bar{background:var(--blue);border-radius:10px}.test-time{font-size:var(--fs-xs);color:var(--muted);margin:12px 0 0}.test-time:empty{display:none}.run-message{margin:18px 0 0;padding:13px 15px;background:var(--warning-surface,#fff8eb);color:var(--warning-text,#8c5d15);border-radius:9px;font-size:var(--fs-sm)}.summary-section{margin-top:35px}.block-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:15px}.block-heading h2,.block-heading h3{margin:0;font-size:var(--fs-lg);font-weight:600}.block-note{font-size:var(--fs-xs);color:var(--muted);margin:5px 0 0}.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.summary-card{position:relative;border:1px solid var(--line);border-radius:13px;padding:21px 20px 18px;min-height:141px;background:var(--surface,#fff)}.summary-card>p{color:var(--muted);font-size:var(--fs-sm);margin:0 0 15px;padding-right:40px}.summary-card strong{display:block;font-size:var(--fs-lg);font-weight:600;line-height:1.5;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.summary-card.is-muted strong{color:var(--muted);font-size:var(--fs-sm);font-weight:400}.copy-button{border:none;background:0 0;color:var(--blue-text);font-size:var(--fs-xs);padding:5px;min-height:32px}.summary-card .copy-button{position:absolute;top:12px;right:12px}.copy-feedback,.summary-help{color:var(--muted);font-size:var(--fs-xs);margin-top:10px}.copy-feedback:empty,.summary-help:empty{display:none}.copy-feedback{color:var(--blue-text)}.results-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid var(--line);padding-top:31px;margin:35px 0 23px}.results-title{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}.results-title h2{font-size:var(--fs-2xl);margin:0}.results-title>span{font-size:var(--fs-xs);color:var(--muted)}.filter-control{display:flex;align-items:center;gap:8px;min-height:44px;font-size:var(--fs-sm);color:var(--muted);cursor:pointer;flex-shrink:0}.filter-control input{width:16px;height:16px;accent-color:var(--blue)}.filter-control input:focus-visible{outline:3px solid var(--focus-ring,#87b4ff);outline-offset:4px}.reach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.reach-card{display:flex;flex-direction:column;background:var(--surface,#fff);border:1px solid var(--line);border-radius:13px;padding:19px;min-width:0}.reach-card .reach-average{margin-top:auto}.reach-card .failure-reason{margin:-7px 0 12px}.service-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:15px}.service-name{font-size:var(--fs-sm);font-weight:600}.service-monogram{background:var(--accent-surface,#eef4ff);border-radius:7px;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);color:var(--blue-text);flex-shrink:0;margin-right:8px;vertical-align:middle}.status-badge{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-xs);line-height:1.45;color:var(--muted);background:var(--surface-recessed,#f0f3f8);border-radius:5px;padding:4px 7px;flex-shrink:0}.status-success{color:var(--success-text,#177851);background:var(--success-surface,#eaf7f0)}.status-partial{color:var(--warning-text,#8f6116);background:var(--warning-surface,#fff5df)}.status-failed,.status-timeout,.status-unreachable{color:var(--error-text,#ad4b4b);background:var(--error-surface,#fceeee)}.status-running{color:var(--blue-text);background:var(--accent-surface,#edf3ff)}.probe-dots{display:flex;gap:5px;margin:12px 0 15px}.probe-dot{width:100%;height:5px;background:var(--surface-recessed,#edf1f7);border-radius:4px}.probe-dot.ok{background:var(--probe-success,#40ad83)}.probe-dot.failed{background:var(--probe-error,#dc8585)}.reach-average{font-size:var(--fs-2xl);line-height:1.4;font-weight:600;letter-spacing:-.02em;margin:0}.reach-average span{font-size:var(--fs-xs);font-weight:400;color:var(--muted);margin-left:4px}.reach-meta{display:flex;justify-content:space-between;align-items:center;gap:6px;color:var(--muted);font-size:var(--fs-xs);margin-top:8px}.row-retry{color:var(--blue-text);background:0 0;padding:5px 0 5px 8px;border:none;font-size:var(--fs-sm);min-height:32px}.failure-reason{color:var(--warm-text,#82654b);font-size:var(--fs-sm);line-height:1.6;margin:7px 0 0}.empty-state{background:var(--surface,#fff);border:1px dashed var(--border-soft,#d6deeb);border-radius:13px;padding:35px 24px;color:var(--muted);font-size:var(--fs-sm);text-align:center;grid-column:1/-1;margin:0}.exit-section{margin-top:31px}.exit-heading{align-items:flex-end}.view-switch{display:flex;align-items:center;gap:3px;background:var(--surface-recessed,#eaf0f7);padding:4px;border-radius:8px;flex-shrink:0}.view-switch button{border:none;color:var(--muted);background:0 0;padding:7px 13px;border-radius:5px;min-height:35px;font-size:var(--fs-sm)}.view-switch button[aria-pressed=true]{background:var(--surface,#fff);color:var(--ink);box-shadow:0 2px 6px var(--shadow-color,#17223809)}.exit-table-wrap{border:1px solid var(--line);border-radius:13px;background:var(--surface,#fff);overflow:hidden}.exit-table{width:100%;border-collapse:collapse;table-layout:fixed;text-align:left}.exit-table th{color:var(--muted);font-weight:500;font-size:var(--fs-xs);background:var(--surface-soft,#fbfcfe);padding:14px 18px;border-bottom:1px solid var(--line)}.exit-table th:first-child{width:24%}.exit-table th:nth-child(2){width:17%}.exit-table th:nth-child(3){width:28%}.exit-table th:nth-child(4){width:23%}.exit-table th:nth-child(5){width:8%}.exit-table td{font-size:var(--fs-sm);padding:14px 18px;border-bottom:1px solid var(--border-soft,#eef1f6);vertical-align:top;overflow-wrap:anywhere}.exit-table tr:last-child td{border:none}.service-logo{display:inline-block;width:28px;height:28px;flex-shrink:0;margin-right:8px;border-radius:7px;object-fit:contain;background:#fff;vertical-align:middle}.exit-table .service-name{font-size:var(--fs-sm)}.ip-value{display:inline;font-variant-numeric:tabular-nums;font-size:var(--fs-sm)}.country-inline{display:inline-flex;align-items:center;gap:7px}.country-inline img{width:18px;height:13px;object-fit:cover;border-radius:2px}.route-note{display:block;color:var(--muted);font-size:var(--fs-xs);margin-top:5px}.exit-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.exit-group{background:var(--surface,#fff);border:1px solid var(--line);border-radius:13px;padding:22px}.group-heading{display:flex;align-items:flex-start;gap:10px;margin-bottom:11px}.group-heading h4{overflow-wrap:anywhere;font-size:var(--fs-md);margin:0;flex:1}.group-meta{font-size:var(--fs-xs);color:var(--muted);margin:0 0 17px}.group-services{display:grid;grid-template-columns:minmax(0,1fr);gap:7px;padding:0;list-style:none;margin:0}.group-services li{min-width:0;font-size:var(--fs-sm);border-radius:5px;padding:8px 10px;background:var(--surface-recessed,#f3f6fb)}.group-service-label{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.group-service-label>span:first-child{overflow-wrap:anywhere}.group-services .status-badge{font-size:var(--fs-xs)}.group-services .failure-reason{display:block}.group-services li[data-status=failed],.group-services li[data-status=timeout]{color:var(--error-text,#ad4b4b);background:var(--error-surface,#fceeee)}.test-explanation{display:flex;align-items:flex-start;gap:17px;margin-top:35px;border-radius:13px;background:var(--accent-surface,#edf3fc);padding:26px 28px}.explanation-icon{display:flex;align-items:center;justify-content:center;width:23px;height:23px;border:1px solid var(--accent-border,#8da9d4);border-radius:50%;font-family:Georgia,serif;color:var(--accent-muted,#4b709e);flex-shrink:0}.test-explanation h2{font-size:var(--fs-sm);margin:0 0 10px}.test-explanation p{font-size:var(--fs-sm);color:var(--muted);margin:8px 0 0}@media (max-width:1100px){.control-top{align-items:flex-start;flex-direction:column;gap:18px}.reach-grid,.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.exit-table td,.exit-table th{padding-inline:12px}}@media (max-width:760px){.network-page{padding-top:37px;padding-bottom:45px}.network-heading{margin-bottom:27px}.network-heading h1,html[lang=en] .network-heading h1,html[lang=ru] .network-heading h1{font-size:var(--fs-4xl);max-width:100%}.network-intro{font-size:var(--fs-sm)}.test-controls{padding:22px 18px;border-radius:14px}.control-top h2{font-size:var(--fs-lg)}.control-top p{font-size:var(--fs-sm)}.control-actions{gap:8px;width:100%}.control-actions .button{padding-inline:13px;min-height:44px;font-size:var(--fs-sm)}.progress-info{font-size:var(--fs-sm);align-items:flex-start}.block-heading{align-items:flex-start;flex-direction:column;gap:6px}.block-heading h2,.block-heading h3{font-size:var(--fs-md)}.block-note{font-size:var(--fs-xs)}.reach-grid,.summary-grid{gap:10px}.summary-card{padding:18px 14px 42px;min-height:134px}.summary-card strong{font-size:var(--fs-sm)}.summary-card>p{font-size:var(--fs-sm);padding-right:0}.summary-card .copy-button{top:auto;bottom:6px;right:7px;font-size:var(--fs-xs)}.results-toolbar{align-items:flex-start;flex-wrap:wrap;margin-top:26px;padding-top:23px;gap:10px}.results-title{gap:3px;flex-direction:column}.results-title h2{font-size:var(--fs-xl)}.results-title>span{font-size:var(--fs-xs)}.filter-control{font-size:var(--fs-sm)}.reach-card{padding:15px 12px}.service-topline{gap:5px;flex-direction:column;min-height:53px;margin-bottom:10px}.service-name{font-size:var(--fs-sm)}.service-logo,.service-monogram{width:24px;height:24px;margin-right:5px}.reach-average{font-size:var(--fs-xl)}.reach-average span{font-size:var(--fs-xs)}.probe-dots{gap:3px}.reach-meta{font-size:var(--fs-xs);flex-wrap:wrap}.reach-meta .row-retry{padding-left:0}.exit-heading{gap:14px}.exit-table thead{display:none}.exit-table,.exit-table tbody{display:block}.exit-table tr{display:grid;grid-template-columns:minmax(0,1fr) auto;padding:15px;border-bottom:1px solid var(--line)}.exit-table tr:last-child{border:0}.exit-table td{display:block;border:none;padding:3px 0;min-width:0}.exit-table td:first-child{grid-column:1;grid-row:1}.exit-table td:nth-child(2){grid-column:2;grid-row:1;text-align:right;padding-left:8px}.exit-table td:nth-child(3){grid-column:1/-1;grid-row:2}.exit-table td:nth-child(4){grid-column:1;grid-row:3}.exit-table td:nth-child(5){grid-column:2;grid-row:3}.exit-groups{grid-template-columns:minmax(0,1fr)}.exit-group{padding:19px}.test-explanation{padding:21px 18px;gap:12px}.test-explanation p{font-size:var(--fs-sm)}.test-explanation h2{font-size:var(--fs-sm)}.run-message{font-size:var(--fs-sm)}.empty-state{font-size:var(--fs-sm);padding:27px 20px}}
