/*
 * Digiter Network Tools
 * Isolated public console styles.
 */

.dnt-console {
	--dnt-accent: #5b469e;
	--dnt-accent-2: #8067c7;
	--dnt-violet: #a855f7;
	--dnt-danger: #ff4567;
	--dnt-warning: #ffd166;
	--dnt-bg: #030916;
	--dnt-panel: rgba(7, 18, 39, 0.86);
	--dnt-panel-solid: #07172b;
	--dnt-border: rgba(132, 207, 255, 0.16);
	--dnt-text: #eef8ff;
	--dnt-muted: #91a9c7;
	--dnt-font: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;
	position: relative;
	isolation: isolate;
	width: 100%;
	overflow: hidden;
	color: var(--dnt-text);
	background:
		radial-gradient(circle at 15% 8%, rgba(102, 210, 255, 0.12), transparent 30rem),
		radial-gradient(circle at 86% 28%, rgba(75, 133, 255, 0.14), transparent 34rem),
		linear-gradient(180deg, #061630 0%, #020817 48%, #061126 100%);
	border: 1px solid rgba(151, 224, 255, 0.18);
	border-radius: 28px;
	box-shadow:
		0 35px 100px rgba(0, 0, 0, 0.42),
		0 0 80px rgba(45, 151, 255, 0.07),
		inset 0 1px rgba(255, 255, 255, 0.06);
	font-family: var(--dnt-font);
	line-height: 1.5;
	letter-spacing: 0;
}

.dnt-console::before,
.dnt-console::after {
	position: absolute;
	z-index: -2;
	content: "";
	pointer-events: none;
}

.dnt-console::before {
	top: -11rem;
	left: 8%;
	width: 84%;
	height: 34rem;
	border-radius: 50%;
	background: conic-gradient(
		from 210deg at 50% 55%,
		transparent 0deg,
		rgba(99, 218, 255, 0.13) 45deg,
		rgba(88, 118, 255, 0.08) 88deg,
		transparent 145deg
	);
	filter: blur(42px);
	animation: dnt-aurora 18s ease-in-out infinite alternate;
}

.dnt-console::after {
	inset: 0;
	background:
		linear-gradient(115deg, transparent 18%, rgba(134, 225, 255, 0.022) 34%, transparent 48%),
		linear-gradient(75deg, transparent 66%, rgba(68, 128, 255, 0.025) 78%, transparent 90%);
	background-size: 180% 100%, 170% 100%;
	animation: dnt-light-drift 22s linear infinite alternate;
}

.dnt-console *,
.dnt-console *::before,
.dnt-console *::after {
	box-sizing: border-box;
}

.dnt-console button,
.dnt-console input {
	font: inherit;
}

.dnt-console button {
	cursor: pointer;
}

.dnt-console a {
	color: inherit;
	text-decoration: none;
}

.dnt-matrix {
	position: absolute;
	z-index: -3;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0.45;
	pointer-events: none;
	mask-image: linear-gradient(to bottom, #000 0, rgba(0, 0, 0, 0.7) 35%, rgba(0, 0, 0, 0.2) 80%, transparent);
}

.dnt-ambient {
	position: absolute;
	z-index: -2;
	width: 38rem;
	height: 38rem;
	border-radius: 50%;
	opacity: 0.13;
	filter: blur(110px);
	pointer-events: none;
	animation: dnt-ambient-float 16s ease-in-out infinite alternate;
}

.dnt-ambient-a {
	top: 22%;
	left: -22rem;
	background: var(--dnt-accent);
}

.dnt-ambient-b {
	top: 58%;
	right: -25rem;
	background: var(--dnt-accent-2);
	animation-delay: -7s;
}

.dnt-shell {
	position: relative;
	z-index: 1;
	width: min(100%, 1440px);
	margin: 0 auto;
	padding: clamp(20px, 4vw, 64px);
}

.dnt-hero {
	position: relative;
	display: flex;
	min-height: 440px;
	padding: clamp(58px, 8vw, 110px) 20px 54px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.dnt-hero::before {
	position: absolute;
	z-index: -1;
	width: min(68vw, 860px);
	height: min(38vw, 470px);
	border: 1px solid color-mix(in srgb, var(--dnt-accent) 20%, transparent);
	border-radius: 50%;
	content: "";
	background:
		radial-gradient(circle, rgba(112, 215, 255, 0.055), transparent 58%),
		repeating-radial-gradient(circle, transparent 0 34px, rgba(130, 216, 255, 0.035) 35px 36px);
	box-shadow: inset 0 0 90px rgba(85, 169, 255, 0.04), 0 0 45px rgba(80, 185, 255, 0.04);
	transform: perspective(500px) rotateX(68deg);
	animation: dnt-hero-orbit 14s ease-in-out infinite alternate;
}

.dnt-hero::after {
	position: absolute;
	z-index: -1;
	bottom: 54px;
	width: 55%;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--dnt-accent), transparent);
	box-shadow: 0 0 22px var(--dnt-accent);
	content: "";
	opacity: 0.32;
}

.dnt-kicker {
	display: flex;
	margin-bottom: 20px;
	align-items: center;
	gap: 14px;
	color: var(--dnt-accent);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
}

.dnt-kicker span {
	width: 38px;
	height: 1px;
	background: currentColor;
	box-shadow: 0 0 10px currentColor;
}

.dnt-hero h1 {
	max-width: 1100px;
	margin: 0;
	color: #f2f9ff;
	font-family: var(--dnt-font);
	font-size: clamp(34px, 6.2vw, 86px);
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 0.96;
	text-shadow:
		0 0 45px color-mix(in srgb, var(--dnt-accent) 18%, transparent),
		2px 0 color-mix(in srgb, var(--dnt-accent-2) 22%, transparent);
}

.dnt-hero h1::after {
	display: inline-block;
	width: 0.08em;
	height: 0.82em;
	margin-left: 0.12em;
	background: var(--dnt-accent);
	box-shadow: 0 0 18px var(--dnt-accent);
	content: "";
	animation: dnt-blink 1.1s steps(2) infinite;
	vertical-align: -0.05em;
}

.dnt-hero > p {
	margin: 26px 0 0;
	color: #9fb7d5;
	font-size: clamp(12px, 1.4vw, 15px);
	letter-spacing: 0.08em;
}

.dnt-system-strip {
	display: flex;
	margin-top: 36px;
	padding: 9px 14px;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px 25px;
	border: 1px solid rgba(150, 224, 255, 0.12);
	border-radius: 99px;
	background: rgba(2, 12, 28, 0.66);
	color: #718fac;
	font-size: 9px;
	letter-spacing: 0.13em;
	backdrop-filter: blur(10px);
}

.dnt-system-strip span {
	display: flex;
	align-items: center;
	gap: 7px;
}

.dnt-led {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--dnt-accent);
	box-shadow: 0 0 9px var(--dnt-accent);
	animation: dnt-led 1.8s ease-in-out infinite;
}

.dnt-module-nav {
	display: grid;
	width: min(100%, 800px);
	margin-top: 42px;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid var(--dnt-border);
	border-radius: 13px;
	overflow: hidden;
	background: rgba(4, 14, 31, 0.72);
}

.dnt-module-nav a {
	display: flex;
	padding: 12px 16px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: #5b7899;
	font-size: 10px;
	letter-spacing: 0.08em;
	transition: 180ms ease;
}

.dnt-module-nav a + a {
	border-left: 1px solid var(--dnt-border);
}

.dnt-module-nav a strong {
	color: #aec7df;
	font-size: 11px;
	font-weight: 600;
}

.dnt-module-nav a:hover,
.dnt-module-nav a:focus-visible {
	color: var(--dnt-accent);
	background: color-mix(in srgb, var(--dnt-accent) 7%, transparent);
	outline: none;
}

.dnt-modules {
	display: grid;
	gap: clamp(34px, 5vw, 68px);
}

.dnt-module {
	position: relative;
	padding: clamp(22px, 4vw, 52px);
	border: 1px solid rgba(125, 210, 255, 0.2);
	border-radius: 24px;
	background:
		linear-gradient(135deg, rgba(142, 225, 255, 0.055), transparent 26%),
		linear-gradient(180deg, rgba(9, 28, 57, 0.91), rgba(4, 15, 34, 0.93));
	box-shadow:
		0 25px 70px rgba(0, 0, 0, 0.25),
		inset 0 1px rgba(255, 255, 255, 0.055),
		inset 0 0 80px rgba(56, 158, 255, 0.025);
	backdrop-filter: blur(22px) saturate(125%);
	scroll-margin-top: 30px;
	transition: border-color 350ms ease, box-shadow 350ms ease;
}

.dnt-module:hover {
	border-color: rgba(135, 219, 255, 0.3);
	box-shadow:
		0 28px 82px rgba(0, 0, 0, 0.28),
		0 0 50px rgba(57, 153, 255, 0.045),
		inset 0 1px rgba(255, 255, 255, 0.06);
}

.dnt-module::before,
.dnt-module::after {
	position: absolute;
	width: 56px;
	height: 56px;
	border-color: var(--dnt-accent);
	content: "";
	opacity: 0.72;
	pointer-events: none;
}

.dnt-module::before {
	top: -1px;
	left: -1px;
	border-top: 1px solid;
	border-left: 1px solid;
	border-radius: 22px 0 0;
}

.dnt-module::after {
	right: -1px;
	bottom: -1px;
	border-right: 1px solid;
	border-bottom: 1px solid;
	border-radius: 0 0 22px;
}

.dnt-module-head {
	display: flex;
	margin-bottom: clamp(24px, 4vw, 44px);
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
}

.dnt-index {
	display: block;
	margin-bottom: 8px;
	color: var(--dnt-accent);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.2em;
}

.dnt-module h2 {
	margin: 0;
	color: #edf8ff;
	font-family: var(--dnt-font);
	font-size: clamp(23px, 3vw, 38px);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.15;
}

.dnt-module-head p {
	max-width: 690px;
	margin: 10px 0 0;
	color: var(--dnt-muted);
	font-size: 12px;
}

.dnt-status {
	display: inline-flex;
	min-width: 78px;
	padding: 7px 11px;
	align-items: center;
	justify-content: center;
	border: 1px solid color-mix(in srgb, var(--dnt-accent) 25%, transparent);
	border-radius: 4px;
	background: color-mix(in srgb, var(--dnt-accent) 5%, transparent);
	color: var(--dnt-accent);
	font-size: 9px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dnt-status.is-running {
	animation: dnt-status-pulse 1.2s ease-in-out infinite;
}

.dnt-status.is-error {
	border-color: color-mix(in srgb, var(--dnt-danger) 35%, transparent);
	background: color-mix(in srgb, var(--dnt-danger) 7%, transparent);
	color: var(--dnt-danger);
	animation: none;
}

/* Speed test */

.dnt-bst-dashboard {
	position: relative;
	padding: clamp(22px, 3.6vw, 46px);
	border: 1px solid rgba(124, 210, 255, 0.16);
	border-radius: 22px;
	background:
		radial-gradient(circle at 50% 28%, rgba(59, 151, 255, 0.13), transparent 31rem),
		linear-gradient(180deg, rgba(4, 16, 37, 0.82), rgba(2, 9, 23, 0.94));
	box-shadow:
		inset 0 1px rgba(255, 255, 255, 0.055),
		inset 0 0 100px rgba(48, 139, 255, 0.035),
		0 24px 75px rgba(0, 0, 0, 0.22);
	overflow: hidden;
}

.dnt-bst-dashboard::before {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(rgba(94, 184, 255, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(94, 184, 255, 0.025) 1px, transparent 1px);
	background-size: 42px 42px;
	content: "";
	mask-image: radial-gradient(circle at 50% 35%, #000, transparent 78%);
	pointer-events: none;
}

.dnt-speed-brand {
	position: relative;
	z-index: 2;
	display: flex;
	margin-bottom: 12px;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.dnt-speed-brand strong {
	color: #eff8ff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(22px, 3.2vw, 42px);
	font-weight: 800;
	letter-spacing: 0.09em;
	line-height: 1;
	text-shadow: 0 0 28px rgba(91, 184, 255, 0.16);
}

.dnt-speed-brand strong span {
	color: var(--dnt-accent-2);
}

.dnt-speed-brand small {
	margin-top: 9px;
	color: #b6cce3;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(9px, 1.25vw, 14px);
	font-weight: 600;
	letter-spacing: 0.19em;
}

.dnt-bst-layout {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: minmax(190px, 0.72fr) minmax(380px, 1.55fr) minmax(190px, 0.72fr);
	align-items: center;
	gap: clamp(16px, 2.5vw, 38px);
}

.dnt-speed-side {
	position: relative;
	display: flex;
	min-height: 300px;
	padding: 28px 24px 18px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(122, 198, 255, 0.2);
	border-radius: 20px;
	background:
		linear-gradient(180deg, rgba(11, 31, 61, 0.72), rgba(3, 14, 32, 0.78)),
		rgba(4, 15, 34, 0.7);
	box-shadow:
		inset 0 1px rgba(255, 255, 255, 0.045),
		0 14px 40px rgba(0, 0, 0, 0.18);
	overflow: hidden;
}

.dnt-speed-side::after {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 45%;
	background: linear-gradient(to top, rgba(52, 147, 255, 0.045), transparent);
	content: "";
	pointer-events: none;
}

.dnt-side-icon {
	display: flex;
	width: 57px;
	height: 57px;
	margin-bottom: 24px;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--dnt-accent-2);
	border-radius: 50%;
	color: var(--dnt-accent-2);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 38px;
	font-weight: 300;
	line-height: 1;
	box-shadow: 0 0 22px rgba(69, 169, 255, 0.12), inset 0 0 18px rgba(69, 169, 255, 0.06);
}

.dnt-upload-side .dnt-side-icon {
	border-color: var(--dnt-accent);
	color: var(--dnt-accent);
	box-shadow: 0 0 22px rgba(125, 223, 255, 0.13), inset 0 0 18px rgba(125, 223, 255, 0.06);
}

.dnt-speed-side > span {
	color: #dceeff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.dnt-speed-side > strong {
	position: relative;
	z-index: 2;
	margin-top: 10px;
	color: var(--dnt-accent-2);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(33px, 4vw, 54px);
	font-weight: 700;
	letter-spacing: -0.045em;
	line-height: 1;
	text-shadow: 0 0 24px rgba(69, 169, 255, 0.18);
}

.dnt-upload-side > strong {
	color: var(--dnt-accent);
	text-shadow: 0 0 24px rgba(125, 223, 255, 0.18);
}

.dnt-speed-side > small {
	position: relative;
	z-index: 2;
	margin-top: 8px;
	color: #9fb6cf;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
}

.dnt-sparkline {
	position: relative;
	z-index: 2;
	width: 100%;
	height: 64px;
	margin-top: 22px;
	overflow: visible;
}

.dnt-spark-line,
.dnt-spark-fill {
	vector-effect: non-scaling-stroke;
}

.dnt-spark-line {
	fill: none;
	stroke: var(--dnt-accent-2);
	stroke-width: 2.2;
	stroke-linecap: round;
	stroke-linejoin: round;
	filter: drop-shadow(0 0 4px rgba(69, 169, 255, 0.45));
}

.dnt-upload-side .dnt-spark-line {
	stroke: var(--dnt-accent);
	filter: drop-shadow(0 0 4px rgba(125, 223, 255, 0.42));
}

.dnt-master-gauge {
	min-width: 0;
	text-align: center;
}

.dnt-gauge-shell {
	position: relative;
	width: min(100%, 540px);
	aspect-ratio: 1;
	margin: 0 auto;
	border-radius: 50%;
	filter: drop-shadow(0 22px 34px rgba(0, 0, 0, 0.34));
}

.dnt-gauge-shell > svg {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.dnt-dial-face {
	stroke: rgba(119, 193, 244, 0.34);
	stroke-width: 2;
}

.dnt-dial-metal {
	fill: none;
	vector-effect: non-scaling-stroke;
}

.dnt-dial-metal-a {
	stroke: rgba(207, 237, 255, 0.72);
	stroke-width: 8;
	filter: drop-shadow(0 0 4px rgba(115, 195, 255, 0.4));
}

.dnt-dial-metal-b {
	stroke: rgba(45, 92, 139, 0.9);
	stroke-width: 11;
}

.dnt-speed-arc-track,
.dnt-speed-arc-value {
	fill: none;
	stroke-linecap: butt;
	stroke-dasharray: 72 100;
	stroke-width: 10;
	transform: rotate(140deg);
	transform-origin: 260px 260px;
}

.dnt-speed-arc-track {
	stroke: rgba(72, 121, 170, 0.22);
}

.dnt-speed-arc-value {
	stroke-dasharray: 0 100;
	filter: drop-shadow(0 0 6px rgba(91, 196, 255, 0.7));
	transition: stroke-dasharray 420ms cubic-bezier(0.22, 1, 0.36, 1);
}

.dnt-dial-ticks line {
	stroke: rgba(154, 218, 255, 0.66);
	stroke-width: 1.3;
	vector-effect: non-scaling-stroke;
}

.dnt-dial-ticks line.is-major {
	stroke: #a9e9ff;
	stroke-width: 3.2;
	filter: drop-shadow(0 0 3px rgba(102, 201, 255, 0.75));
}

.dnt-dial-labels text {
	fill: #d7e9fb;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 20px;
	font-weight: 600;
	text-anchor: middle;
	dominant-baseline: middle;
}

.dnt-speed-needle {
	transform: rotate(140deg);
	transform-box: view-box;
	transform-origin: 260px 260px;
	transition: transform 430ms cubic-bezier(0.22, 1, 0.36, 1);
}

.dnt-speed-needle path {
	fill: #55cfff;
	stroke: #bcefff;
	stroke-width: 1;
}

.dnt-needle-hub-outer {
	fill: #07182c;
	stroke: rgba(138, 215, 255, 0.56);
	stroke-width: 2;
	filter: drop-shadow(0 0 8px rgba(86, 190, 255, 0.34));
}

.dnt-needle-hub-inner {
	fill: #102c4c;
	stroke: rgba(201, 237, 255, 0.38);
	stroke-width: 1;
}

.dnt-gauge-center {
	position: absolute;
	z-index: 3;
	top: 31%;
	right: 18%;
	left: 18%;
	display: flex;
	height: 54%;
	flex-direction: column;
	align-items: center;
	pointer-events: none;
}

.dnt-gauge-center > span {
	color: #afc7df;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(13px, 1.8vw, 21px);
}

.dnt-gauge-center > strong {
	margin-top: auto;
	color: #f4f9ff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(42px, 6vw, 76px);
	font-weight: 500;
	letter-spacing: -0.055em;
	line-height: 0.92;
	text-shadow: 0 0 24px rgba(78, 181, 255, 0.17);
}

.dnt-gauge-center > small {
	margin-top: 8px;
	color: var(--dnt-accent-2);
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(14px, 2vw, 23px);
}

.dnt-gauge-center > em {
	margin-top: auto;
	color: #8ba6c1;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(9px, 1.2vw, 13px);
	font-style: normal;
	letter-spacing: 0.04em;
}

.dnt-gauge-center > em.is-active {
	color: var(--dnt-accent);
	text-shadow: 0 0 10px rgba(125, 223, 255, 0.38);
}

.dnt-speed-action {
	position: relative;
	z-index: 5;
	display: inline-flex;
	min-width: 170px;
	min-height: 51px;
	margin: -27px auto 0;
	padding: 0 25px;
	align-items: center;
	justify-content: center;
	gap: 11px;
	border: 1px solid rgba(108, 203, 255, 0.52);
	border-radius: 12px;
	background: rgba(5, 19, 41, 0.94);
	color: #deefff;
	box-shadow: 0 12px 26px rgba(0, 0, 0, 0.3), inset 0 1px rgba(255, 255, 255, 0.05);
	font-family: Arial, Helvetica, sans-serif;
	transition: 200ms ease;
}

.dnt-speed-action:hover,
.dnt-speed-action:focus-visible {
	border-color: var(--dnt-accent);
	outline: none;
	background: rgba(14, 49, 83, 0.98);
	box-shadow: 0 0 28px rgba(82, 188, 255, 0.17);
	transform: translateY(-1px);
}

.dnt-speed-action i {
	color: var(--dnt-accent);
	font-size: 12px;
	font-style: normal;
}

.dnt-speed-action strong {
	font-size: 11px;
	letter-spacing: 0.08em;
}

.dnt-speed-action.is-running {
	border-color: rgba(255, 93, 120, 0.65);
}

.dnt-speed-action.is-running i {
	color: #ff6b86;
}

.dnt-master-gauge .dnt-test-phases {
	max-width: 320px;
	margin: 17px auto 0;
}

.dnt-master-gauge .dnt-test-progress {
	max-width: 320px;
	margin-right: auto;
	margin-left: auto;
}

.dnt-bst-metrics {
	position: relative;
	z-index: 2;
	display: grid;
	max-width: 1040px;
	margin: 30px auto 0;
	grid-template-columns: repeat(3, 1fr);
	border: 1px solid rgba(121, 196, 255, 0.22);
	border-radius: 16px;
	background: rgba(5, 18, 40, 0.7);
	overflow: hidden;
}

.dnt-bst-metrics > div {
	display: grid;
	min-height: 100px;
	padding: 17px clamp(15px, 2.5vw, 32px);
	grid-template-columns: 54px auto 1fr auto;
	align-items: center;
	gap: 4px 10px;
}

.dnt-bst-metrics > div + div {
	border-left: 1px solid rgba(121, 196, 255, 0.18);
}

.dnt-bst-metrics i {
	display: flex;
	width: 44px;
	height: 44px;
	grid-row: 1 / span 2;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(126, 203, 255, 0.45);
	border-radius: 50%;
	color: var(--dnt-accent);
	font-size: 22px;
	font-style: normal;
}

.dnt-bst-metrics span {
	align-self: end;
	color: #9ab2cb;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
	letter-spacing: 0.06em;
}

.dnt-bst-metrics strong {
	align-self: start;
	color: #edf7ff;
	font-family: Arial, Helvetica, sans-serif;
	font-size: clamp(26px, 3vw, 42px);
	font-weight: 400;
	letter-spacing: -0.04em;
	line-height: 1;
}

.dnt-bst-metrics small {
	align-self: start;
	color: var(--dnt-accent);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
}

.dnt-speed-privacy {
	position: relative;
	z-index: 2;
	display: grid;
	margin-top: 25px;
	grid-template-columns: 1fr auto;
	align-items: center;
	color: #718ca7;
	font-family: Arial, Helvetica, sans-serif;
	text-align: center;
}

.dnt-speed-privacy p,
.dnt-speed-privacy span {
	grid-column: 1 / -1;
	margin: 0;
}

.dnt-speed-privacy p {
	font-size: 12px;
}

.dnt-speed-privacy p strong {
	color: var(--dnt-accent-2);
}

.dnt-speed-privacy span {
	margin-top: 3px;
	font-size: 10px;
}

.dnt-speed-privacy button {
	position: absolute;
	right: 0;
	bottom: 0;
	padding: 5px 8px;
	border: 0;
	background: transparent;
	color: #55748f;
	font-size: 7px;
	letter-spacing: 0.1em;
}

.dnt-speed-privacy button:not(:disabled):hover {
	color: var(--dnt-accent);
}

.dnt-speed-grid {
	display: grid;
	max-width: 1060px;
	margin: 0 auto;
	grid-template-columns: minmax(230px, 1fr) 210px minmax(230px, 1fr);
	align-items: end;
	gap: clamp(12px, 3vw, 40px);
}

.dnt-gauge {
	text-align: center;
}

.dnt-gauge-frame {
	position: relative;
	max-width: 300px;
	margin: 0 auto;
}

.dnt-gauge svg {
	display: block;
	width: 100%;
	overflow: visible;
	filter: drop-shadow(0 0 14px rgba(125, 223, 255, 0.17));
}

.dnt-gauge path {
	fill: none;
	stroke-linecap: round;
}

.dnt-gauge-track {
	stroke: rgba(139, 194, 234, 0.15);
	stroke-width: 11;
}

.dnt-gauge-value {
	stroke: var(--dnt-accent);
	stroke-width: 11;
	stroke-dasharray: 283;
	stroke-dashoffset: 283;
	transition: stroke-dashoffset 430ms cubic-bezier(0.22, 1, 0.36, 1);
}

.dnt-gauge-frame::before {
	position: absolute;
	right: 10%;
	bottom: 6%;
	left: 10%;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(140, 220, 255, 0.25), transparent);
	content: "";
}

.dnt-gauge-readout {
	position: absolute;
	right: 0;
	bottom: 12px;
	left: 0;
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 7px;
}

.dnt-gauge-readout span {
	color: #f3faff;
	font-size: clamp(30px, 4vw, 48px);
	font-weight: 700;
	letter-spacing: -0.06em;
	line-height: 1;
	text-shadow: 0 0 18px color-mix(in srgb, var(--dnt-accent) 24%, transparent);
}

.dnt-gauge-readout small {
	color: var(--dnt-accent);
	font-size: 9px;
	font-weight: 700;
}

.dnt-gauge > strong {
	display: block;
	margin-top: 10px;
	color: #c8ddf2;
	font-size: 11px;
	letter-spacing: 0.17em;
}

.dnt-gauge > em {
	display: block;
	margin-top: 4px;
	color: #526f8b;
	font-size: 9px;
	font-style: normal;
}

.dnt-speed-core {
	display: flex;
	padding-bottom: 1px;
	flex-direction: column;
	align-items: center;
}

.dnt-orb-button {
	position: relative;
	display: flex;
	width: 134px;
	height: 134px;
	padding: 0;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid color-mix(in srgb, var(--dnt-accent) 50%, transparent);
	border-radius: 50%;
	outline: 1px solid rgba(135, 210, 255, 0.08);
	outline-offset: 9px;
	background:
		radial-gradient(circle at 42% 35%, rgba(173, 237, 255, 0.25), rgba(32, 115, 191, 0.12) 35%, rgba(7, 25, 48, 0.94) 68%),
		#07172b;
	color: #edf8ff;
	box-shadow:
		inset 0 0 34px rgba(125, 223, 255, 0.12),
		0 0 48px rgba(71, 175, 255, 0.09);
	transition: transform 220ms ease, box-shadow 220ms ease;
}

.dnt-orb-button:hover,
.dnt-orb-button:focus-visible {
	outline-color: color-mix(in srgb, var(--dnt-accent) 40%, transparent);
	box-shadow:
		inset 0 0 42px rgba(125, 223, 255, 0.22),
		0 0 62px rgba(77, 179, 255, 0.2);
	transform: scale(1.04);
}

.dnt-orb-button:disabled {
	cursor: wait;
	opacity: 0.72;
}

.dnt-orb-button strong {
	position: relative;
	z-index: 2;
	font-size: 18px;
	letter-spacing: 0.08em;
}

.dnt-orb-button small {
	position: relative;
	z-index: 2;
	margin-top: 3px;
	color: var(--dnt-accent);
	font-size: 8px;
	letter-spacing: 0.14em;
}

.dnt-orb-rings,
.dnt-orb-rings::before,
.dnt-orb-rings::after {
	position: absolute;
	border: 1px solid rgba(125, 223, 255, 0.15);
	border-radius: 50%;
	content: "";
}

.dnt-orb-rings {
	inset: 12px;
	border-right-color: var(--dnt-accent);
	animation: dnt-spin 9s linear infinite;
}

.dnt-orb-rings::before {
	inset: 8px;
	border-top-color: var(--dnt-accent-2);
	animation: dnt-spin 6s linear infinite reverse;
}

.dnt-orb-rings::after {
	inset: 19px;
	border-bottom-color: rgba(255, 255, 255, 0.34);
	animation: dnt-spin 4s linear infinite;
}

.dnt-orb-button.is-running .dnt-orb-rings {
	animation-duration: 1.4s;
}

.dnt-test-phases {
	display: flex;
	width: 100%;
	margin-top: 27px;
	justify-content: space-between;
	gap: 8px;
	color: #425f78;
	font-size: 7px;
	letter-spacing: 0.08em;
}

.dnt-test-phases span.is-active {
	color: var(--dnt-accent);
	text-shadow: 0 0 10px var(--dnt-accent);
}

.dnt-test-phases span.is-done {
	color: #8fb4d3;
}

.dnt-test-progress {
	width: 100%;
	height: 2px;
	margin-top: 7px;
	overflow: hidden;
	background: rgba(104, 164, 218, 0.1);
}

.dnt-test-progress i {
	display: block;
	width: 0;
	height: 100%;
	background: linear-gradient(90deg, var(--dnt-accent), var(--dnt-accent-2));
	box-shadow: 0 0 10px var(--dnt-accent);
	transition: width 320ms ease;
}

.dnt-metrics {
	display: grid;
	max-width: 980px;
	margin: clamp(30px, 5vw, 58px) auto 0;
	grid-template-columns: repeat(4, 1fr);
	border: 1px solid rgba(120, 199, 255, 0.11);
	border-radius: 12px;
	background: rgba(2, 11, 26, 0.45);
	overflow: hidden;
}

.dnt-metrics > div {
	position: relative;
	display: grid;
	min-height: 84px;
	padding: 16px;
	grid-template-columns: 1fr auto;
	align-content: center;
	align-items: baseline;
}

.dnt-metrics > div + div {
	border-left: 1px solid rgba(120, 199, 255, 0.1);
}

.dnt-metrics span {
	grid-column: 1 / -1;
	margin-bottom: 5px;
	color: #4f6e8c;
	font-size: 8px;
	letter-spacing: 0.16em;
}

.dnt-metrics strong {
	color: #c7ddf2;
	font-size: 21px;
	font-weight: 600;
}

.dnt-metrics small {
	color: #54728f;
	font-size: 8px;
}

.dnt-detail-terminal {
	max-width: 1080px;
	margin: 24px auto 0;
	border: 1px solid rgba(130, 205, 255, 0.11);
	border-radius: 11px;
	background: rgba(2, 10, 25, 0.68);
	overflow: hidden;
}

.dnt-terminal-bar {
	display: grid;
	min-height: 38px;
	padding: 0 14px;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	border-bottom: 1px solid rgba(130, 205, 255, 0.09);
	background: rgba(255, 255, 255, 0.018);
}

.dnt-terminal-bar > span {
	display: flex;
	gap: 5px;
}

.dnt-terminal-bar > span i {
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #ff4567;
}

.dnt-terminal-bar > span i:nth-child(2) {
	background: #ffd166;
}

.dnt-terminal-bar > span i:nth-child(3) {
	background: var(--dnt-accent);
}

.dnt-terminal-bar strong {
	color: #5e82a5;
	font-size: 8px;
	letter-spacing: 0.16em;
}

.dnt-terminal-bar button {
	justify-self: end;
	padding: 4px 7px;
	border: 0;
	background: transparent;
	color: var(--dnt-accent);
	font-size: 7px;
	letter-spacing: 0.1em;
}

.dnt-terminal-bar button:disabled {
	color: #3a566e;
	cursor: default;
}

.dnt-terminal-empty {
	padding: 23px;
	color: #4d6883;
	font-size: 10px;
	text-align: center;
}

.dnt-telemetry-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.dnt-telemetry-grid div {
	padding: 18px;
}

.dnt-telemetry-grid span {
	display: block;
	margin-bottom: 6px;
	color: #49675f;
	font-size: 7px;
	letter-spacing: 0.13em;
}

.dnt-telemetry-grid strong {
	color: #bed5eb;
	font-size: 11px;
	font-weight: 500;
}

/* Command forms */

.dnt-command-form > label,
.dnt-form-field > label {
	display: block;
	margin: 0 0 9px 2px;
	color: #6585a7;
	font-size: 8px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dnt-command-form > div:not(.dnt-form-field),
.dnt-form-field > div {
	display: flex;
	height: 58px;
	align-items: center;
	border: 1px solid color-mix(in srgb, var(--dnt-accent) 22%, transparent);
	border-radius: 10px;
	background: rgba(2, 11, 27, 0.7);
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.dnt-command-form > div:focus-within,
.dnt-form-field > div:focus-within {
	border-color: color-mix(in srgb, var(--dnt-accent) 62%, transparent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--dnt-accent) 6%, transparent);
}

.dnt-prompt {
	flex: 0 0 auto;
	padding-left: 17px;
	color: var(--dnt-accent);
	font-size: 13px;
	font-weight: 700;
	text-shadow: 0 0 8px color-mix(in srgb, var(--dnt-accent) 55%, transparent);
}

.dnt-command-form input {
	min-width: 0;
	height: 100%;
	padding: 0 16px;
	flex: 1;
	border: 0;
	outline: 0;
	background: transparent;
	color: #e4f5ff;
	font-size: 13px;
	box-shadow: none;
}

.dnt-command-form input::placeholder {
	color: #3c5770;
	opacity: 1;
}

.dnt-command-form button[type="submit"] {
	display: flex;
	height: 100%;
	padding: 0 clamp(17px, 3vw, 34px);
	align-items: center;
	gap: 15px;
	border: 0;
	border-left: 1px solid color-mix(in srgb, var(--dnt-accent) 28%, transparent);
	background: color-mix(in srgb, var(--dnt-accent) 8%, transparent);
	color: var(--dnt-accent);
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.1em;
	transition: 180ms ease;
}

.dnt-command-form button[type="submit"] i {
	font-size: 16px;
	font-style: normal;
}

.dnt-command-form button[type="submit"]:hover,
.dnt-command-form button[type="submit"]:focus-visible {
	outline: none;
	background: var(--dnt-accent);
	color: #03111f;
}

.dnt-command-form button[type="submit"]:disabled {
	cursor: wait;
	opacity: 0.55;
}

/* Domain/IP map */

.dnt-scan-stage {
	display: grid;
	min-height: 500px;
	margin-top: 25px;
	grid-template-columns: minmax(0, 1.45fr) minmax(310px, 0.75fr);
	border: 1px solid rgba(100, 180, 255, 0.11);
	border-radius: 15px;
	background: #041027;
	overflow: hidden;
}

.dnt-world-map {
	position: relative;
	min-height: 500px;
	overflow: hidden;
	touch-action: none;
	background:
		radial-gradient(circle at 50% 48%, rgba(125, 223, 255, 0.06), transparent 54%),
		linear-gradient(155deg, rgba(10, 30, 62, 0.4), transparent 48%);
}

.dnt-world-map:focus-visible {
	outline: 3px solid rgba(91, 70, 158, 0.38);
	outline-offset: -3px;
}

.dnt-map-grid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(72, 139, 220, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(72, 139, 220, 0.055) 1px, transparent 1px);
	background-size: 32px 32px;
	mask-image: radial-gradient(circle at center, #000, transparent 74%);
}

.dnt-map-canvas {
	position: absolute;
	inset: 50% auto auto 50%;
	width: 96%;
	aspect-ratio: 2 / 1;
	--dnt-map-pan-x: 0px;
	--dnt-map-pan-y: 0px;
	--dnt-map-zoom: 1;
	transform:
		translate(
			calc(-50% + var(--dnt-map-pan-x)),
			calc(-50% + var(--dnt-map-pan-y))
		)
		scale(var(--dnt-map-zoom));
	transform-origin: 50% 50%;
	transition: transform 180ms cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
}

.dnt-world-map.is-interacting .dnt-map-canvas {
	transition: none;
}

.dnt-world-map.is-zoomed {
	cursor: grab;
}

.dnt-world-map.is-panning {
	cursor: grabbing;
	user-select: none;
}

.dnt-real-map,
.dnt-map-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.dnt-real-map {
	z-index: 1;
	display: block;
	opacity: 0.97;
	filter: drop-shadow(0 0 22px rgba(90, 196, 255, 0.12));
}

.dnt-map-overlay {
	z-index: 2;
	overflow: visible;
	pointer-events: none;
}

.dnt-map-controls {
	position: absolute;
	z-index: 7;
	top: 16px;
	right: 17px;
	display: grid;
	padding: 5px;
	grid-template-columns: 38px minmax(54px, auto) 38px 38px;
	align-items: center;
	gap: 4px;
	border: 1px solid rgba(91, 70, 158, 0.27);
	border-radius: 9px;
	background: rgba(255, 255, 255, 0.91);
	box-shadow: 0 10px 28px rgba(71, 52, 124, 0.13);
	backdrop-filter: blur(12px);
}

.dnt-map-controls button {
	display: flex;
	width: 38px;
	height: 34px;
	padding: 0;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(91, 70, 158, 0.2);
	border-radius: 6px;
	background: rgba(128, 103, 199, 0.08);
	color: #4d397e;
	cursor: pointer;
	font-family: var(--dnt-font);
	font-size: 19px;
	font-weight: 700;
	line-height: 1;
	transition: 160ms ease;
}

.dnt-map-controls button:hover,
.dnt-map-controls button:focus-visible {
	outline: none;
	border-color: #5b469e;
	background: #5b469e;
	color: #ffffff;
}

.dnt-map-controls span {
	color: #5b469e;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-align: center;
}

.dnt-continents path {
	fill: rgba(20, 65, 116, 0.28);
	stroke: rgba(105, 214, 255, 0.42);
	stroke-width: 1.2;
	vector-effect: non-scaling-stroke;
}

.dnt-map-latitudes path {
	fill: none;
	stroke: rgba(82, 164, 232, 0.11);
	stroke-dasharray: 4 9;
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.dnt-map-marker {
	opacity: 0;
	transition: transform 900ms cubic-bezier(0.22, 1, 0.36, 1), opacity 320ms;
}

.dnt-map-marker.is-visible {
	opacity: 1;
}

.dnt-map-marker path {
	fill: none;
	stroke: var(--dnt-accent);
	stroke-width: 2;
}

.dnt-marker-pulse {
	fill: none;
	stroke: var(--dnt-accent);
	stroke-width: 1.4;
	transform-box: fill-box;
	transform-origin: center;
	animation: dnt-marker 1.8s ease-out infinite;
}

.dnt-marker-pulse-b {
	animation-delay: 0.8s;
}

.dnt-marker-ring {
	fill: rgba(125, 223, 255, 0.11);
	stroke: var(--dnt-accent);
	stroke-width: 2;
}

.dnt-marker-core {
	fill: rgba(69, 169, 255, 0.9);
	stroke: #c8f4ff;
	stroke-width: 1.2;
}

.dnt-marker-dot {
	fill: #f1f9ff;
	filter: drop-shadow(0 0 5px var(--dnt-accent));
}

.dnt-marker-crosshair {
	fill: none;
	stroke: rgba(184, 237, 255, 0.72);
	stroke-width: 1;
	vector-effect: non-scaling-stroke;
}

.dnt-map-coords {
	position: absolute;
	z-index: 4;
	right: 17px;
	bottom: 15px;
	padding: 6px 9px;
	border: 1px solid rgba(86, 200, 255, 0.15);
	background: rgba(2, 11, 27, 0.75);
	color: #557e9e;
	font-size: 8px;
	letter-spacing: 0.09em;
}

.dnt-map-location {
	position: absolute;
	z-index: 4;
	top: 16px;
	left: 17px;
	display: flex;
	max-width: calc(100% - 34px);
	padding: 10px 13px;
	flex-direction: column;
	border: 1px solid rgba(108, 207, 255, 0.23);
	border-radius: 8px;
	background: rgba(2, 12, 29, 0.84);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
	opacity: 0;
	transform: translateY(-8px);
	transition: opacity 260ms ease, transform 380ms cubic-bezier(0.22, 1, 0.36, 1);
}

.dnt-map-location.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.dnt-map-location span {
	color: #5d84a7;
	font-size: 7px;
	letter-spacing: 0.13em;
}

.dnt-map-location strong {
	margin-top: 4px;
	overflow: hidden;
	color: #dff5ff;
	font-size: 11px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dnt-map-sweep {
	position: absolute;
	z-index: 3;
	top: -30%;
	left: 0;
	width: 100%;
	height: 35%;
	background:
		linear-gradient(to bottom, transparent, rgba(125, 223, 255, 0.018), rgba(125, 223, 255, 0.16), transparent),
		linear-gradient(90deg, transparent 8%, rgba(185, 239, 255, 0.22), transparent 92%);
	filter: blur(0.2px);
	opacity: 0;
	pointer-events: none;
}

.dnt-world-map.is-scanning .dnt-map-sweep {
	opacity: 1;
	animation: dnt-sweep 1.8s linear infinite;
}

.dnt-map-idle {
	position: absolute;
	z-index: 5;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	pointer-events: none;
	transition: opacity 250ms;
}

.dnt-map-idle::before {
	width: 86px;
	height: 86px;
	margin-bottom: 17px;
	border: 1px solid rgba(125, 223, 255, 0.19);
	border-radius: 50%;
	box-shadow: inset 0 0 30px rgba(125, 223, 255, 0.04);
	content: "";
}

.dnt-map-idle::after {
	position: absolute;
	width: 52px;
	height: 52px;
	margin-top: -62px;
	border: 1px dashed rgba(125, 223, 255, 0.32);
	border-radius: 50%;
	content: "";
	animation: dnt-spin 12s linear infinite;
}

.dnt-map-idle strong {
	color: #7199bd;
	font-size: 10px;
	letter-spacing: 0.16em;
}

.dnt-map-idle span {
	margin-top: 7px;
	color: #3f5c75;
	font-size: 8px;
}

.dnt-map-idle.is-hidden {
	opacity: 0;
}

.dnt-intel-panel {
	position: relative;
	z-index: 4;
	min-width: 0;
	border-left: 1px solid rgba(100, 180, 255, 0.11);
	background: rgba(5, 17, 37, 0.94);
}

.dnt-intel-idle {
	display: flex;
	height: 100%;
	min-height: 390px;
	padding: 30px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.dnt-radar-icon {
	position: relative;
	width: 74px;
	height: 74px;
	margin-bottom: 19px;
	border: 1px solid rgba(125, 223, 255, 0.18);
	border-radius: 50%;
	background: conic-gradient(from 0deg, rgba(125, 223, 255, 0.18), transparent 28%, transparent);
	animation: dnt-spin 7s linear infinite;
}

.dnt-radar-icon::before,
.dnt-radar-icon::after {
	position: absolute;
	border: 1px solid rgba(125, 223, 255, 0.11);
	border-radius: 50%;
	content: "";
}

.dnt-radar-icon::before {
	inset: 14px;
}

.dnt-radar-icon::after {
	inset: 28px;
	background: var(--dnt-accent);
	box-shadow: 0 0 9px var(--dnt-accent);
}

.dnt-intel-idle strong,
.dnt-mail-idle strong {
	color: #789dc2;
	font-size: 10px;
	letter-spacing: 0.15em;
}

.dnt-intel-idle p,
.dnt-mail-idle p {
	max-width: 420px;
	margin: 9px 0 0;
	color: #435f79;
	font-size: 9px;
}

.dnt-loading-state,
.dnt-error-state {
	display: flex;
	min-height: 400px;
	padding: 30px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.dnt-loader {
	position: relative;
	width: 72px;
	height: 72px;
	margin-bottom: 22px;
	border: 1px solid rgba(125, 223, 255, 0.1);
	border-top-color: var(--dnt-accent);
	border-radius: 50%;
	box-shadow: 0 0 20px rgba(125, 223, 255, 0.06);
	animation: dnt-spin 1.1s linear infinite;
}

.dnt-loader::after {
	position: absolute;
	inset: 12px;
	border: 1px dashed rgba(24, 167, 255, 0.4);
	border-radius: 50%;
	content: "";
	animation: dnt-spin 2.2s linear infinite reverse;
}

.dnt-loading-state strong {
	color: var(--dnt-accent);
	font-size: 10px;
	letter-spacing: 0.14em;
}

.dnt-loading-state span {
	margin-top: 8px;
	color: #48657f;
	font-size: 8px;
}

.dnt-error-state i {
	display: flex;
	width: 58px;
	height: 58px;
	margin-bottom: 18px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 69, 103, 0.35);
	border-radius: 50%;
	background: rgba(255, 69, 103, 0.06);
	color: var(--dnt-danger);
	font-size: 22px;
	font-style: normal;
}

.dnt-error-state strong {
	color: var(--dnt-danger);
	font-size: 10px;
	letter-spacing: 0.13em;
}

.dnt-error-state p {
	max-width: 340px;
	margin: 10px 0 0;
	color: #86616a;
	font-size: 9px;
}

.dnt-intel-output {
	min-height: 100%;
	padding: 26px;
}

.dnt-intel-target {
	display: flex;
	padding-bottom: 18px;
	align-items: center;
	justify-content: space-between;
	gap: 13px;
	border-bottom: 1px solid rgba(130, 205, 255, 0.1);
}

.dnt-intel-target > div {
	min-width: 0;
}

.dnt-intel-target span {
	display: block;
	color: #496783;
	font-size: 7px;
	letter-spacing: 0.13em;
}

.dnt-intel-target strong {
	display: block;
	margin-top: 5px;
	overflow: hidden;
	color: #dcefff;
	font-size: 15px;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dnt-flag {
	font-size: 25px;
	filter: saturate(0.75);
}

.dnt-intel-location {
	padding: 18px 0;
	border-bottom: 1px solid rgba(130, 205, 255, 0.1);
}

.dnt-intel-location > span {
	color: var(--dnt-accent);
	font-size: 7px;
	letter-spacing: 0.12em;
}

.dnt-intel-location h3 {
	margin: 5px 0 0;
	color: #edf8ff;
	font-family: var(--dnt-font);
	font-size: 19px;
	font-weight: 600;
	letter-spacing: -0.03em;
}

.dnt-intel-location p {
	margin: 4px 0 0;
	color: #678aaa;
	font-size: 9px;
}

.dnt-intel-list {
	display: grid;
	padding: 13px 0;
	gap: 0;
}

.dnt-intel-row {
	display: grid;
	padding: 7px 0;
	grid-template-columns: 86px minmax(0, 1fr);
	gap: 10px;
}

.dnt-intel-row span {
	color: #496987;
	font-size: 7px;
	letter-spacing: 0.08em;
}

.dnt-intel-row strong {
	overflow-wrap: anywhere;
	color: #aec6de;
	font-size: 9px;
	font-weight: 500;
	text-align: right;
}

.dnt-security-box {
	padding: 14px;
	border: 1px solid rgba(130, 205, 255, 0.11);
	border-radius: 9px;
	background: rgba(125, 223, 255, 0.025);
}

.dnt-security-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.dnt-security-head span {
	color: #5b7c9f;
	font-size: 7px;
	letter-spacing: 0.12em;
}

.dnt-security-head strong {
	color: var(--dnt-accent);
	font-size: 8px;
	font-weight: 600;
	text-align: right;
}

.dnt-security-head strong.is-alert {
	color: var(--dnt-danger);
}

.dnt-security-signals {
	display: grid;
	margin-top: 12px;
	grid-template-columns: repeat(4, 1fr);
	gap: 6px;
}

.dnt-security-signals span {
	padding: 7px 3px;
	border: 1px solid rgba(116, 183, 237, 0.09);
	border-radius: 4px;
	color: #49675f;
	font-size: 6px;
	text-align: center;
}

.dnt-security-signals span.is-yes {
	border-color: rgba(255, 69, 103, 0.25);
	color: var(--dnt-danger);
}

.dnt-security-signals span.is-no {
	color: #7fa6cb;
}

.dnt-security-note {
	margin: 10px 0 0;
	color: #415d76;
	font-size: 7px;
}

/* Mail analyzer */

.dnt-mail-form {
	display: grid;
	grid-template-columns: minmax(260px, 1fr) minmax(170px, 0.34fr) auto;
	align-items: end;
	gap: 12px;
}

.dnt-mail-form > button[type="submit"] {
	height: 58px;
	border: 1px solid color-mix(in srgb, var(--dnt-accent) 32%, transparent);
	border-radius: 10px;
}

.dnt-mail-results {
	min-height: 390px;
	margin-top: 25px;
	border: 1px solid rgba(100, 180, 255, 0.11);
	border-radius: 15px;
	background:
		linear-gradient(rgba(40, 95, 175, 0.025) 1px, transparent 1px),
		linear-gradient(90deg, rgba(40, 95, 175, 0.025) 1px, transparent 1px),
		rgba(2, 12, 28, 0.58);
	background-size: 28px 28px;
	overflow: hidden;
}

.dnt-mail-idle {
	display: flex;
	min-height: 390px;
	padding: 40px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.dnt-envelope {
	position: relative;
	width: 92px;
	height: 61px;
	margin-bottom: 28px;
	border: 1px solid rgba(125, 223, 255, 0.25);
	border-radius: 7px;
	background: rgba(125, 223, 255, 0.025);
	box-shadow: 0 0 35px rgba(125, 223, 255, 0.04);
}

.dnt-envelope::before,
.dnt-envelope::after {
	position: absolute;
	top: 3px;
	width: 58px;
	height: 1px;
	background: rgba(125, 223, 255, 0.3);
	content: "";
}

.dnt-envelope::before {
	left: 0;
	transform: rotate(31deg);
	transform-origin: left center;
}

.dnt-envelope::after {
	right: 0;
	transform: rotate(-31deg);
	transform-origin: right center;
}

.dnt-envelope i {
	position: absolute;
	top: -12px;
	right: -12px;
	width: 25px;
	height: 25px;
	border: 1px solid var(--dnt-accent);
	border-radius: 50%;
	background: #061426;
	box-shadow: 0 0 14px rgba(125, 223, 255, 0.2);
}

.dnt-envelope i::before {
	position: absolute;
	top: 7px;
	left: 7px;
	width: 8px;
	height: 5px;
	border-bottom: 1px solid var(--dnt-accent);
	border-left: 1px solid var(--dnt-accent);
	content: "";
	transform: rotate(-45deg);
}

.dnt-mail-output {
	padding: clamp(18px, 3vw, 34px);
}

.dnt-mail-overview {
	display: grid;
	grid-template-columns: 170px minmax(0, 1fr) auto;
	align-items: center;
	gap: clamp(20px, 4vw, 46px);
}

.dnt-score-ring {
	position: relative;
	display: flex;
	width: 150px;
	height: 150px;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: conic-gradient(var(--dnt-accent) var(--dnt-score-angle, 0deg), rgba(88, 117, 165, 0.1) 0);
	box-shadow: 0 0 35px rgba(125, 223, 255, 0.07);
}

.dnt-score-ring::before {
	position: absolute;
	inset: 9px;
	border: 1px solid rgba(145, 218, 255, 0.09);
	border-radius: 50%;
	background: #07172b;
	content: "";
}

.dnt-score-ring div {
	position: relative;
	z-index: 1;
	text-align: center;
}

.dnt-score-ring strong {
	display: block;
	color: #f1f9ff;
	font-size: 45px;
	letter-spacing: -0.08em;
	line-height: 1;
}

.dnt-score-ring span {
	display: block;
	margin-top: 5px;
	color: #6284a6;
	font-size: 7px;
	letter-spacing: 0.13em;
}

.dnt-mail-summary > span {
	color: var(--dnt-accent);
	font-size: 8px;
	letter-spacing: 0.15em;
}

.dnt-mail-summary h3 {
	margin: 6px 0 8px;
	color: #ebfff9;
	font-family: var(--dnt-font);
	font-size: clamp(23px, 3vw, 34px);
	font-weight: 600;
	letter-spacing: -0.04em;
}

.dnt-mail-summary p {
	margin: 0;
	color: #6e8ead;
	font-size: 9px;
}

.dnt-grade {
	display: flex;
	width: 78px;
	height: 78px;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid color-mix(in srgb, var(--dnt-accent) 32%, transparent);
	border-radius: 12px;
	background: color-mix(in srgb, var(--dnt-accent) 5%, transparent);
}

.dnt-grade strong {
	color: var(--dnt-accent);
	font-size: 30px;
	line-height: 1;
}

.dnt-grade span {
	margin-top: 4px;
	color: #607fa1;
	font-size: 7px;
	letter-spacing: 0.1em;
}

.dnt-check-grid {
	display: grid;
	margin-top: 30px;
	grid-template-columns: repeat(3, 1fr);
	gap: 10px;
}

.dnt-check-card {
	position: relative;
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(110, 183, 239, 0.11);
	border-radius: 9px;
	background: rgba(255, 255, 255, 0.013);
}

.dnt-check-card::before {
	position: absolute;
	top: 16px;
	right: 15px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--dnt-danger);
	box-shadow: 0 0 8px rgba(255, 69, 103, 0.45);
	content: "";
}

.dnt-check-card.is-pass::before {
	background: var(--dnt-accent);
	box-shadow: 0 0 8px var(--dnt-accent);
}

.dnt-check-card.is-warn::before {
	background: var(--dnt-warning);
	box-shadow: 0 0 8px rgba(255, 209, 102, 0.45);
}

.dnt-check-card span {
	display: block;
	padding-right: 16px;
	color: #567796;
	font-size: 7px;
	letter-spacing: 0.12em;
}

.dnt-check-card strong {
	display: block;
	margin-top: 9px;
	overflow: hidden;
	color: #b5cce3;
	font-size: 10px;
	font-weight: 500;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.dnt-mail-details {
	display: grid;
	margin-top: 25px;
	grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
	gap: 14px;
}

.dnt-records,
.dnt-recommendations {
	border: 1px solid rgba(110, 183, 239, 0.1);
	border-radius: 10px;
	background: rgba(2, 9, 23, 0.35);
	overflow: hidden;
}

.dnt-subhead {
	display: flex;
	min-height: 39px;
	padding: 0 14px;
	align-items: center;
	justify-content: space-between;
	border-bottom: 1px solid rgba(110, 183, 239, 0.09);
	color: #5e7da0;
	font-size: 7px;
	letter-spacing: 0.13em;
}

.dnt-subhead button {
	padding: 5px 0;
	border: 0;
	background: transparent;
	color: var(--dnt-accent);
	font-size: 7px;
}

.dnt-record-row {
	display: grid;
	padding: 12px 14px;
	grid-template-columns: 75px minmax(0, 1fr);
	gap: 12px;
}

.dnt-record-row + .dnt-record-row {
	border-top: 1px solid rgba(110, 183, 239, 0.06);
}

.dnt-record-row span {
	color: #486680;
	font-size: 7px;
	letter-spacing: 0.08em;
}

.dnt-record-row code {
	overflow-wrap: anywhere;
	color: #9ab5d2;
	background: none;
	font-family: var(--dnt-font);
	font-size: 8px;
	line-height: 1.6;
}

.dnt-recommendations ol {
	margin: 0;
	padding: 13px 18px 16px 37px;
}

.dnt-recommendations li {
	padding: 6px 0 6px 3px;
	color: #829e96;
	font-size: 8px;
}

.dnt-recommendations li::marker {
	color: var(--dnt-accent);
	font-size: 8px;
}

/* Visitor connection profile */

.dnt-visitor-profile {
	margin-top: 25px;
	border: 1px solid rgba(91, 70, 158, 0.2);
	border-radius: 16px;
	background:
		linear-gradient(rgba(91, 70, 158, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(91, 70, 158, 0.04) 1px, transparent 1px),
		rgba(255, 255, 255, 0.88);
	background-size: 30px 30px;
	box-shadow: 0 16px 38px rgba(71, 52, 124, 0.09);
	overflow: hidden;
}

.dnt-visitor-profile .dnt-loading-state {
	min-height: 320px;
}

.dnt-visitor-summary {
	display: grid;
	padding: clamp(22px, 3vw, 34px);
	grid-template-columns: 96px minmax(0, 1fr) auto;
	align-items: center;
	gap: 24px;
	border-bottom: 1px solid rgba(91, 70, 158, 0.17);
	background: linear-gradient(135deg, rgba(128, 103, 199, 0.11), rgba(255, 255, 255, 0.72));
}

.dnt-visitor-sigil {
	position: relative;
	display: flex;
	width: 84px;
	height: 84px;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(91, 70, 158, 0.3);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(128, 103, 199, 0.18), rgba(255, 255, 255, 0.8) 62%);
	box-shadow: inset 0 0 28px rgba(91, 70, 158, 0.08), 0 12px 28px rgba(71, 52, 124, 0.12);
}

.dnt-visitor-sigil::before,
.dnt-visitor-sigil::after,
.dnt-visitor-sigil i,
.dnt-visitor-sigil b {
	position: absolute;
	border: 1px solid rgba(91, 70, 158, 0.23);
	border-radius: 50%;
	content: "";
}

.dnt-visitor-sigil::before {
	inset: 10px;
}

.dnt-visitor-sigil::after {
	inset: 20px;
	border-style: dashed;
	animation: dnt-spin 12s linear infinite;
}

.dnt-visitor-sigil i {
	inset: 32px -5px;
	transform: rotate(54deg);
}

.dnt-visitor-sigil b {
	inset: -5px 32px;
	transform: rotate(54deg);
}

.dnt-visitor-sigil span {
	position: relative;
	z-index: 2;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 28px;
	font-style: normal;
}

.dnt-visitor-summary > div:nth-child(2) > span {
	display: block;
	color: #756b8f;
	font-size: 10px;
	letter-spacing: 0.13em;
}

.dnt-visitor-summary h3 {
	margin: 7px 0 6px;
	overflow-wrap: anywhere;
	color: #3e3068;
	font-family: var(--dnt-font);
	font-size: clamp(23px, 2.5vw, 36px);
	font-weight: 600;
	letter-spacing: -0.035em;
}

.dnt-visitor-summary p {
	margin: 0;
	color: #675b82;
	font-size: clamp(11px, 1vw, 14px);
	line-height: 1.55;
}

.dnt-visitor-live {
	display: flex;
	padding: 9px 11px;
	align-items: center;
	gap: 7px;
	border: 1px solid rgba(91, 70, 158, 0.22);
	border-radius: 99px;
	background: rgba(255, 255, 255, 0.78);
	color: #5b469e;
	font-size: 9px;
	letter-spacing: 0.09em;
	white-space: nowrap;
}

.dnt-visitor-live i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #5b469e;
	box-shadow: 0 0 9px rgba(91, 70, 158, 0.62);
	animation: dnt-led 1.8s ease-in-out infinite;
}

.dnt-visitor-grid {
	display: grid;
	padding: clamp(18px, 2.7vw, 30px);
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.dnt-visitor-card {
	min-width: 0;
	min-height: 112px;
	padding: 18px;
	border: 1px solid rgba(91, 70, 158, 0.17);
	border-radius: 11px;
	background: rgba(255, 255, 255, 0.84);
	box-shadow: 0 8px 22px rgba(71, 52, 124, 0.055);
}

.dnt-visitor-card span {
	display: block;
	color: #786d91;
	font-size: clamp(9px, 0.78vw, 11px);
	letter-spacing: 0.1em;
}

.dnt-visitor-card strong {
	display: block;
	margin-top: 12px;
	overflow-wrap: anywhere;
	color: #4d3d70;
	font-size: clamp(12px, 1.05vw, 16px);
	font-weight: 600;
	line-height: 1.5;
}

.dnt-visitor-privacy {
	display: flex;
	padding: 16px clamp(18px, 2.7vw, 30px);
	align-items: center;
	gap: 18px;
	border-top: 1px solid rgba(91, 70, 158, 0.15);
	background: rgba(238, 232, 250, 0.5);
}

.dnt-visitor-privacy span {
	flex: 0 0 auto;
	color: #5b469e;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.dnt-visitor-privacy p {
	margin: 0;
	color: #71668a;
	font-size: 10px;
	line-height: 1.55;
}

.dnt-fine-print {
	max-width: 1000px;
	margin: 17px auto 0;
	color: #3d5870;
	font-size: 7px;
	line-height: 1.7;
	text-align: center;
}

.dnt-footer {
	display: flex;
	padding: 35px 8px 0;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	color: #364f65;
	font-size: 7px;
	letter-spacing: 0.12em;
}

/* Decorative qubits */

.dnt-qubit {
	position: absolute;
	z-index: -1;
	width: 150px;
	height: 150px;
	border: 1px solid rgba(125, 223, 255, 0.11);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(69, 169, 255, 0.055), transparent 62%);
	color: rgba(125, 223, 255, 0.32);
	filter: drop-shadow(0 0 20px rgba(69, 169, 255, 0.08));
	font-family: var(--dnt-font);
	font-size: 11px;
	pointer-events: none;
	animation: dnt-qubit-float 13s ease-in-out infinite;
}

.dnt-qubit::before,
.dnt-qubit::after {
	position: absolute;
	inset: 25px -5px;
	border: 1px solid currentColor;
	border-radius: 50%;
	content: "";
	transform: rotate(58deg);
	animation: dnt-qubit-orbit-a 10s linear infinite;
}

.dnt-qubit::after {
	transform: rotate(-58deg);
	animation-name: dnt-qubit-orbit-b;
	animation-duration: 14s;
}

.dnt-qubit span,
.dnt-qubit b {
	position: absolute;
	padding: 2px 4px;
	background: #041027;
	font-weight: 500;
}

.dnt-qubit span {
	top: 8px;
	left: 67px;
}

.dnt-qubit b {
	right: 5px;
	bottom: 30px;
}

.dnt-qubit i {
	position: absolute;
	top: 71px;
	left: 71px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 18px currentColor;
	animation: dnt-qubit-pulse 2.6s ease-in-out infinite;
}

.dnt-qubit-a {
	top: 110px;
	left: -45px;
	transform: rotate(-12deg);
}

.dnt-qubit-b {
	top: 840px;
	right: -55px;
	color: rgba(24, 167, 255, 0.2);
	animation-delay: -4s;
	transform: scale(1.2) rotate(18deg);
}

.dnt-qubit-c {
	top: 46%;
	left: -38px;
	animation-delay: -8s;
	transform: scale(0.92) rotate(28deg);
}

.dnt-qubit-d {
	top: 74%;
	right: -48px;
	animation-delay: -11s;
	transform: scale(1.08) rotate(-22deg);
}

/* Bright ice theme */

.dnt-console {
	--dnt-bg: #f4fbff;
	--dnt-panel: rgba(255, 255, 255, 0.91);
	--dnt-panel-solid: #ffffff;
	--dnt-border: rgba(25, 133, 192, 0.18);
	--dnt-text: #123a5b;
	--dnt-muted: #5f7d98;
	color: var(--dnt-text);
	border-color: rgba(39, 151, 208, 0.2);
	background:
		radial-gradient(circle at 14% 7%, rgba(85, 199, 242, 0.22), transparent 31rem),
		radial-gradient(circle at 87% 29%, rgba(116, 213, 248, 0.2), transparent 36rem),
		linear-gradient(180deg, #ffffff 0%, #f3fbff 48%, #edf8ff 100%);
	box-shadow:
		0 30px 80px rgba(30, 112, 159, 0.14),
		0 0 0 1px rgba(255, 255, 255, 0.8) inset;
}

.dnt-console::before {
	background: conic-gradient(
		from 210deg at 50% 55%,
		transparent 0deg,
		rgba(49, 177, 228, 0.2) 45deg,
		rgba(123, 210, 245, 0.14) 88deg,
		transparent 145deg
	);
	filter: blur(48px);
}

.dnt-console::after {
	background:
		linear-gradient(115deg, transparent 18%, rgba(47, 168, 219, 0.07) 34%, transparent 48%),
		linear-gradient(75deg, transparent 66%, rgba(86, 190, 233, 0.08) 78%, transparent 90%);
}

.dnt-matrix {
	opacity: 0.76;
	mask-image: linear-gradient(to bottom, #000 0, rgba(0, 0, 0, 0.82) 48%, rgba(0, 0, 0, 0.5) 88%, transparent);
}

.dnt-ambient {
	opacity: 0.19;
	filter: blur(115px);
}

.dnt-hero::before {
	border-color: rgba(13, 137, 199, 0.18);
	background:
		radial-gradient(circle, rgba(45, 174, 224, 0.1), transparent 58%),
		repeating-radial-gradient(circle, transparent 0 34px, rgba(27, 145, 202, 0.07) 35px 36px);
	box-shadow: inset 0 0 90px rgba(42, 160, 216, 0.07), 0 0 45px rgba(65, 175, 226, 0.08);
}

.dnt-hero h1,
.dnt-module h2 {
	color: #0a3152;
	text-shadow: 0 8px 28px rgba(48, 145, 192, 0.12);
}

.dnt-hero > p {
	color: #547590;
}

.dnt-system-strip,
.dnt-module-nav {
	border-color: rgba(29, 139, 196, 0.18);
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 12px 35px rgba(41, 130, 177, 0.08);
	color: #547590;
}

.dnt-module-nav a {
	color: #66849e;
}

.dnt-module-nav a strong {
	color: #244c6c;
}

.dnt-module-nav a + a {
	border-color: rgba(29, 139, 196, 0.15);
}

.dnt-module-nav a:hover,
.dnt-module-nav a:focus-visible {
	background: rgba(56, 181, 230, 0.11);
	color: #087fbc;
}

.dnt-module {
	border-color: rgba(34, 146, 202, 0.2);
	background:
		linear-gradient(135deg, rgba(92, 199, 239, 0.1), transparent 27%),
		rgba(255, 255, 255, 0.91);
	box-shadow:
		0 22px 58px rgba(27, 105, 150, 0.11),
		inset 0 1px rgba(255, 255, 255, 0.95);
	backdrop-filter: blur(24px) saturate(120%);
}

.dnt-module:hover {
	border-color: rgba(24, 143, 202, 0.32);
	box-shadow:
		0 26px 70px rgba(27, 105, 150, 0.15),
		0 0 45px rgba(66, 184, 229, 0.1),
		inset 0 1px #ffffff;
}

.dnt-module-head p,
.dnt-speed-privacy,
.dnt-fine-print,
.dnt-footer {
	color: #617f99;
}

.dnt-status {
	border-color: rgba(11, 145, 209, 0.3);
	background: rgba(61, 184, 232, 0.1);
	color: #087db8;
}

.dnt-bst-dashboard {
	border-color: rgba(25, 142, 200, 0.2);
	background:
		radial-gradient(circle at 50% 28%, rgba(72, 184, 230, 0.14), transparent 31rem),
		linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(238, 249, 255, 0.97));
	box-shadow:
		inset 0 1px #ffffff,
		inset 0 0 100px rgba(80, 188, 230, 0.06),
		0 22px 55px rgba(42, 123, 165, 0.1);
}

.dnt-bst-dashboard::before {
	background:
		linear-gradient(rgba(31, 145, 199, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(31, 145, 199, 0.055) 1px, transparent 1px);
}

.dnt-speed-brand strong {
	color: #103c5f;
	text-shadow: 0 8px 25px rgba(37, 139, 188, 0.12);
}

.dnt-speed-brand small,
.dnt-speed-side > small,
.dnt-gauge-center > span,
.dnt-gauge-center > em,
.dnt-speed-privacy span {
	color: #69879f;
}

.dnt-speed-side {
	border-color: rgba(28, 143, 201, 0.2);
	background:
		linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(233, 247, 255, 0.88));
	box-shadow:
		inset 0 1px #ffffff,
		0 14px 34px rgba(35, 119, 163, 0.1);
}

.dnt-speed-side::after {
	background: linear-gradient(to top, rgba(61, 179, 228, 0.1), transparent);
}

.dnt-speed-side > span {
	color: #315976;
}

.dnt-speed-side > strong {
	color: #087fbd;
	text-shadow: 0 6px 22px rgba(21, 132, 190, 0.16);
}

.dnt-upload-side > strong {
	color: #169fcf;
}

.dnt-dial-face {
	stroke: rgba(29, 136, 191, 0.32);
}

.dnt-dial-metal-a {
	stroke: rgba(255, 255, 255, 0.96);
	filter: drop-shadow(0 5px 8px rgba(37, 123, 168, 0.22));
}

.dnt-dial-metal-b {
	stroke: rgba(103, 175, 211, 0.55);
}

.dnt-speed-arc-track {
	stroke: rgba(58, 137, 178, 0.16);
}

.dnt-dial-ticks line {
	stroke: rgba(28, 114, 161, 0.54);
}

.dnt-dial-ticks line.is-major {
	stroke: #087fbd;
	filter: drop-shadow(0 0 2px rgba(11, 145, 209, 0.28));
}

.dnt-dial-labels text {
	fill: #244e6d;
}

.dnt-speed-needle path {
	fill: #0789c8;
	stroke: #ffffff;
	filter: drop-shadow(0 2px 3px rgba(16, 102, 150, 0.25));
}

.dnt-needle-hub-outer {
	fill: #ffffff;
	stroke: rgba(20, 132, 190, 0.6);
	filter: drop-shadow(0 4px 8px rgba(28, 123, 171, 0.22));
}

.dnt-needle-hub-inner {
	fill: #bce8fa;
	stroke: #ffffff;
}

.dnt-gauge-center > strong {
	color: #0d3859;
	text-shadow: 0 7px 24px rgba(26, 122, 172, 0.12);
}

.dnt-speed-action {
	border-color: #078ac8;
	background: linear-gradient(135deg, #0b98d8, #45c3ee);
	color: #ffffff;
	box-shadow: 0 12px 26px rgba(17, 132, 191, 0.22), inset 0 1px rgba(255, 255, 255, 0.35);
}

.dnt-speed-action i {
	color: #ffffff;
}

.dnt-speed-action:hover,
.dnt-speed-action:focus-visible {
	border-color: #067bb4;
	background: linear-gradient(135deg, #087fbd, #2db5e7);
	box-shadow: 0 14px 30px rgba(17, 132, 191, 0.28);
}

.dnt-bst-metrics {
	border-color: rgba(25, 140, 197, 0.2);
	background: rgba(255, 255, 255, 0.82);
	box-shadow: 0 12px 28px rgba(34, 119, 163, 0.07);
}

.dnt-bst-metrics > div + div {
	border-color: rgba(25, 140, 197, 0.16);
}

.dnt-bst-metrics span {
	color: #64829b;
}

.dnt-bst-metrics strong {
	color: #173f5f;
}

.dnt-bst-metrics i {
	border-color: rgba(13, 142, 205, 0.4);
	background: rgba(66, 191, 240, 0.08);
}

.dnt-test-phases {
	color: #8299ad;
}

.dnt-test-phases span.is-done {
	color: #386985;
}

.dnt-test-progress {
	background: rgba(28, 124, 174, 0.12);
}

.dnt-command-form > div:not(.dnt-form-field),
.dnt-form-field > div {
	border-color: rgba(23, 139, 197, 0.24);
	background: rgba(255, 255, 255, 0.93);
	box-shadow: 0 8px 24px rgba(28, 109, 151, 0.06);
}

.dnt-command-form input {
	color: #153e5e;
}

.dnt-command-form input::placeholder {
	color: #88a0b4;
}

.dnt-command-form button[type="submit"] {
	border-color: rgba(11, 145, 209, 0.25);
	background: rgba(52, 181, 232, 0.1);
	color: #087fbd;
}

.dnt-command-form button[type="submit"]:hover,
.dnt-command-form button[type="submit"]:focus-visible {
	background: #0b91d1;
	color: #ffffff;
}

.dnt-scan-stage {
	border-color: rgba(24, 139, 197, 0.2);
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 16px 38px rgba(30, 113, 157, 0.09);
}

.dnt-world-map {
	background:
		radial-gradient(circle at 50% 48%, rgba(50, 175, 226, 0.12), transparent 54%),
		linear-gradient(155deg, rgba(219, 243, 255, 0.55), rgba(255, 255, 255, 0.4));
}

.dnt-real-map {
	filter: saturate(1.08) contrast(1.03) drop-shadow(0 8px 18px rgba(39, 126, 170, 0.13));
}

.dnt-map-coords,
.dnt-map-location {
	border-color: rgba(13, 137, 199, 0.24);
	background: rgba(255, 255, 255, 0.91);
	color: #4d7391;
	box-shadow: 0 9px 24px rgba(36, 117, 159, 0.1);
}

.dnt-map-location strong {
	color: #143e5e;
}

.dnt-map-idle::before,
.dnt-map-idle::after {
	border-color: rgba(10, 137, 200, 0.28);
	background: rgba(255, 255, 255, 0.36);
}

.dnt-map-idle strong,
.dnt-intel-idle strong,
.dnt-mail-idle strong {
	color: #376887;
}

.dnt-map-idle span,
.dnt-intel-idle p,
.dnt-mail-idle p {
	color: #718ba1;
}

.dnt-intel-panel {
	border-color: rgba(26, 139, 196, 0.18);
	background: rgba(255, 255, 255, 0.92);
}

.dnt-radar-icon {
	border-color: rgba(15, 139, 200, 0.25);
	background: conic-gradient(from 0deg, rgba(24, 157, 215, 0.22), transparent 30%, transparent);
}

.dnt-loading-state strong,
.dnt-error-state strong {
	color: #204f6e;
}

.dnt-loading-state > span,
.dnt-error-state p {
	color: #6a879d;
}

.dnt-intel-target,
.dnt-intel-location {
	border-color: rgba(28, 137, 191, 0.14);
}

.dnt-intel-target strong,
.dnt-intel-location h3 {
	color: #123d5d;
}

.dnt-intel-target span,
.dnt-intel-row span,
.dnt-security-head span {
	color: #68859b;
}

.dnt-intel-location p,
.dnt-security-note {
	color: #5f7f98;
}

.dnt-intel-row strong {
	color: #335d78;
}

.dnt-security-box {
	border-color: rgba(20, 139, 198, 0.18);
	background: rgba(224, 246, 255, 0.5);
}

.dnt-security-signals span {
	border-color: rgba(29, 139, 194, 0.15);
	background: rgba(255, 255, 255, 0.66);
	color: #587790;
}

.dnt-security-signals span.is-no {
	color: #336885;
}

.dnt-mail-results {
	border-color: rgba(26, 139, 196, 0.2);
	background:
		linear-gradient(rgba(28, 140, 193, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(28, 140, 193, 0.045) 1px, transparent 1px),
		rgba(255, 255, 255, 0.84);
	background-size: 28px 28px;
	box-shadow: 0 16px 38px rgba(30, 113, 157, 0.08);
}

.dnt-envelope {
	border-color: rgba(11, 145, 209, 0.35);
	background: rgba(210, 241, 253, 0.55);
	box-shadow: 0 12px 30px rgba(40, 139, 187, 0.1);
}

.dnt-envelope i {
	background: #ffffff;
}

.dnt-score-ring {
	background: conic-gradient(var(--dnt-accent) var(--dnt-score-angle, 0deg), rgba(52, 139, 184, 0.12) 0);
	box-shadow: 0 13px 32px rgba(26, 125, 176, 0.13);
}

.dnt-score-ring::before {
	border-color: rgba(23, 132, 188, 0.12);
	background: #ffffff;
}

.dnt-score-ring strong,
.dnt-mail-summary h3 {
	color: #133e5e;
}

.dnt-mail-summary p,
.dnt-grade span {
	color: #617f98;
}

.dnt-grade {
	border-color: rgba(11, 145, 209, 0.28);
	background: rgba(71, 192, 237, 0.1);
}

.dnt-check-card {
	border-color: rgba(27, 138, 192, 0.17);
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 8px 22px rgba(28, 109, 151, 0.05);
}

.dnt-check-card span,
.dnt-subhead,
.dnt-record-row span {
	color: #65829a;
}

.dnt-check-card strong,
.dnt-record-row code,
.dnt-recommendations li {
	color: #345e78;
}

.dnt-records,
.dnt-recommendations {
	border-color: rgba(27, 138, 192, 0.16);
	background: rgba(255, 255, 255, 0.82);
}

.dnt-subhead,
.dnt-record-row + .dnt-record-row {
	border-color: rgba(27, 138, 192, 0.13);
}

.dnt-qubit {
	z-index: 0;
	border-color: rgba(11, 137, 199, 0.25);
	background: radial-gradient(circle, rgba(59, 182, 230, 0.14), transparent 64%);
	color: rgba(8, 121, 184, 0.54);
	filter: drop-shadow(0 8px 18px rgba(42, 142, 191, 0.13));
}

.dnt-qubit span,
.dnt-qubit b {
	background: rgba(244, 251, 255, 0.92);
	color: #087bb7;
}

.dnt-qubit-b,
.dnt-qubit-d {
	color: rgba(20, 149, 207, 0.46);
}

/* Dark lavender contrast theme */

.dnt-console {
	--dnt-bg: #f8f6ff;
	--dnt-panel: rgba(255, 255, 255, 0.92);
	--dnt-panel-solid: #ffffff;
	--dnt-border: rgba(91, 70, 158, 0.2);
	--dnt-text: #35285f;
	--dnt-muted: #6f658a;
	color: var(--dnt-text);
	border-color: rgba(91, 70, 158, 0.23);
	background:
		radial-gradient(circle at 14% 7%, rgba(143, 116, 207, 0.22), transparent 31rem),
		radial-gradient(circle at 87% 29%, rgba(177, 156, 224, 0.2), transparent 36rem),
		linear-gradient(180deg, #ffffff 0%, #f8f6ff 48%, #f0ecfb 100%);
	box-shadow:
		0 30px 80px rgba(72, 53, 125, 0.15),
		0 0 0 1px rgba(255, 255, 255, 0.82) inset;
}

.dnt-console::before {
	background: conic-gradient(
		from 210deg at 50% 55%,
		transparent 0deg,
		rgba(112, 84, 181, 0.22) 45deg,
		rgba(170, 145, 220, 0.17) 88deg,
		transparent 145deg
	);
}

.dnt-console::after {
	background:
		linear-gradient(115deg, transparent 18%, rgba(103, 77, 168, 0.075) 34%, transparent 48%),
		linear-gradient(75deg, transparent 66%, rgba(147, 121, 205, 0.085) 78%, transparent 90%);
}

.dnt-matrix {
	opacity: 0.8;
}

.dnt-ambient-a {
	background: #9a7bd6;
}

.dnt-ambient-b {
	background: #6548a8;
}

.dnt-hero::before {
	border-color: rgba(91, 70, 158, 0.21);
	background:
		radial-gradient(circle, rgba(124, 94, 190, 0.12), transparent 58%),
		repeating-radial-gradient(circle, transparent 0 34px, rgba(91, 70, 158, 0.075) 35px 36px);
	box-shadow: inset 0 0 90px rgba(103, 79, 166, 0.08), 0 0 45px rgba(122, 94, 190, 0.09);
}

.dnt-hero h1,
.dnt-module h2 {
	color: #382a65;
	text-shadow: 0 8px 28px rgba(81, 59, 140, 0.14);
}

.dnt-hero > p,
.dnt-module-head p,
.dnt-speed-brand small,
.dnt-speed-side > small,
.dnt-gauge-center > span,
.dnt-gauge-center > em,
.dnt-speed-privacy,
.dnt-fine-print,
.dnt-footer {
	color: #71668b;
}

.dnt-system-strip,
.dnt-module-nav,
.dnt-module-nav a {
	color: #6d6288;
}

.dnt-module-nav a strong,
.dnt-speed-side > span,
.dnt-bst-metrics span {
	color: #4f416f;
}

.dnt-kicker,
.dnt-index,
.dnt-speed-brand strong span,
.dnt-gauge-center > small,
.dnt-bst-metrics small,
.dnt-intel-location > span,
.dnt-mail-summary > span,
.dnt-grade strong,
.dnt-subhead button {
	color: #5b469e;
}

.dnt-system-strip,
.dnt-module-nav,
.dnt-module,
.dnt-bst-dashboard,
.dnt-speed-side,
.dnt-bst-metrics,
.dnt-command-form > div:not(.dnt-form-field),
.dnt-form-field > div,
.dnt-scan-stage,
.dnt-intel-panel,
.dnt-mail-results,
.dnt-check-card,
.dnt-records,
.dnt-recommendations {
	border-color: rgba(91, 70, 158, 0.2);
}

.dnt-module {
	background:
		linear-gradient(135deg, rgba(139, 111, 202, 0.1), transparent 27%),
		rgba(255, 255, 255, 0.92);
	box-shadow: 0 22px 58px rgba(70, 51, 124, 0.11), inset 0 1px #ffffff;
}

.dnt-module-nav a:hover,
.dnt-module-nav a:focus-visible {
	background: rgba(125, 95, 191, 0.11);
	color: #5b469e;
}

.dnt-status {
	border-color: rgba(91, 70, 158, 0.34);
	background: rgba(128, 103, 199, 0.1);
	color: #5b469e;
}

.dnt-bst-dashboard {
	background:
		radial-gradient(circle at 50% 28%, rgba(132, 104, 197, 0.14), transparent 31rem),
		linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(246, 242, 253, 0.97));
	box-shadow: inset 0 1px #ffffff, inset 0 0 100px rgba(108, 81, 174, 0.06), 0 22px 55px rgba(68, 49, 120, 0.1);
}

.dnt-bst-dashboard::before {
	background:
		linear-gradient(rgba(91, 70, 158, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(91, 70, 158, 0.055) 1px, transparent 1px);
}

.dnt-speed-brand strong,
.dnt-gauge-center > strong,
.dnt-bst-metrics strong {
	color: #3b2c68;
}

.dnt-speed-side {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.97), rgba(242, 237, 251, 0.9));
	box-shadow: inset 0 1px #ffffff, 0 14px 34px rgba(72, 52, 126, 0.1);
}

.dnt-speed-side::after {
	background: linear-gradient(to top, rgba(128, 103, 199, 0.11), transparent);
}

.dnt-speed-side > strong,
.dnt-upload-side > strong {
	color: #5b469e;
	text-shadow: 0 6px 22px rgba(91, 70, 158, 0.17);
}

.dnt-spark-line,
.dnt-upload-side .dnt-spark-line {
	stroke: #6a51ae;
	filter: drop-shadow(0 0 4px rgba(91, 70, 158, 0.38));
}

.dnt-dial-face {
	stroke: rgba(91, 70, 158, 0.34);
}

.dnt-dial-metal-b {
	stroke: rgba(126, 103, 183, 0.55);
}

.dnt-speed-arc-track {
	stroke: rgba(91, 70, 158, 0.15);
}

.dnt-dial-ticks line {
	stroke: rgba(73, 55, 126, 0.55);
}

.dnt-dial-ticks line.is-major {
	stroke: #5b469e;
	filter: drop-shadow(0 0 2px rgba(91, 70, 158, 0.3));
}

.dnt-dial-labels text {
	fill: #493a72;
}

.dnt-speed-needle path {
	fill: #5b469e;
	filter: drop-shadow(0 2px 3px rgba(71, 52, 124, 0.28));
}

.dnt-needle-hub-outer {
	stroke: rgba(91, 70, 158, 0.62);
}

.dnt-needle-hub-inner {
	fill: #d8cef0;
}

.dnt-speed-action {
	border-color: #503b91;
	background: linear-gradient(135deg, #5b469e, #8067c7);
	box-shadow: 0 12px 26px rgba(72, 52, 126, 0.24), inset 0 1px rgba(255, 255, 255, 0.35);
}

.dnt-speed-action:hover,
.dnt-speed-action:focus-visible {
	border-color: #44317f;
	background: linear-gradient(135deg, #4e388f, #7055ba);
	box-shadow: 0 14px 30px rgba(72, 52, 126, 0.29);
}

.dnt-bst-metrics,
.dnt-command-form > div:not(.dnt-form-field),
.dnt-form-field > div,
.dnt-intel-panel,
.dnt-check-card,
.dnt-records,
.dnt-recommendations {
	background: rgba(255, 255, 255, 0.87);
}

.dnt-bst-metrics i {
	border-color: rgba(91, 70, 158, 0.42);
	background: rgba(128, 103, 199, 0.09);
	color: #5b469e;
}

.dnt-test-progress i {
	background: linear-gradient(90deg, #5b469e, #9a7bd6);
	box-shadow: 0 0 10px rgba(91, 70, 158, 0.38);
}

.dnt-command-form button[type="submit"] {
	border-color: rgba(91, 70, 158, 0.28);
	background: rgba(128, 103, 199, 0.1);
	color: #5b469e;
}

.dnt-command-form input {
	color: #443568;
}

.dnt-command-form input::placeholder {
	color: #958ca7;
}

.dnt-command-form button[type="submit"]:hover,
.dnt-command-form button[type="submit"]:focus-visible {
	background: #5b469e;
	color: #ffffff;
}

.dnt-scan-stage {
	min-height: 0;
	grid-template-columns: 1fr;
	background: rgba(255, 255, 255, 0.91);
	box-shadow: 0 16px 38px rgba(71, 52, 124, 0.1);
}

.dnt-world-map {
	height: clamp(520px, 55vw, 720px);
	min-height: 0;
	border-bottom: 1px solid rgba(91, 70, 158, 0.2);
	background:
		radial-gradient(circle at 50% 48%, rgba(143, 116, 207, 0.13), transparent 54%),
		linear-gradient(155deg, rgba(237, 231, 250, 0.65), rgba(255, 255, 255, 0.5));
}

.dnt-intel-panel {
	border-top: 0;
	border-left: 0;
}

.dnt-real-map {
	filter: saturate(1.08) contrast(1.06) drop-shadow(0 8px 18px rgba(78, 58, 132, 0.14));
}

.dnt-map-coords,
.dnt-map-location {
	border-color: rgba(91, 70, 158, 0.27);
	color: #665985;
	box-shadow: 0 9px 24px rgba(71, 52, 124, 0.11);
}

.dnt-map-location strong,
.dnt-intel-target strong,
.dnt-intel-location h3,
.dnt-score-ring strong,
.dnt-mail-summary h3 {
	color: #3e3068;
}

.dnt-marker-pulse,
.dnt-marker-ring,
.dnt-marker-core,
.dnt-marker-crosshair {
	stroke: #5b469e;
}

.dnt-marker-core {
	fill: #8067c7;
}

.dnt-marker-dot {
	filter: drop-shadow(0 0 5px #5b469e);
}

.dnt-radar-icon {
	border-color: rgba(91, 70, 158, 0.28);
	background: conic-gradient(from 0deg, rgba(128, 103, 199, 0.24), transparent 30%, transparent);
}

.dnt-security-box {
	border-color: rgba(91, 70, 158, 0.2);
	background: rgba(238, 232, 250, 0.58);
}

.dnt-security-signals span {
	border-color: rgba(91, 70, 158, 0.17);
}

.dnt-intel-target span,
.dnt-intel-row span,
.dnt-security-head span,
.dnt-intel-location p,
.dnt-security-note,
.dnt-mail-summary p,
.dnt-grade span,
.dnt-check-card span,
.dnt-subhead,
.dnt-record-row span {
	color: #756b8f;
}

.dnt-intel-row strong,
.dnt-check-card strong,
.dnt-record-row code,
.dnt-recommendations li {
	color: #51436f;
}

.dnt-mail-results {
	background:
		linear-gradient(rgba(91, 70, 158, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(91, 70, 158, 0.045) 1px, transparent 1px),
		rgba(255, 255, 255, 0.86);
	background-size: 28px 28px;
	box-shadow: 0 16px 38px rgba(71, 52, 124, 0.09);
}

.dnt-envelope {
	border-color: rgba(91, 70, 158, 0.38);
	background: rgba(222, 213, 244, 0.58);
}

.dnt-score-ring {
	background: conic-gradient(var(--dnt-accent) var(--dnt-score-angle, 0deg), rgba(91, 70, 158, 0.13) 0);
	box-shadow: 0 13px 32px rgba(71, 52, 124, 0.14);
}

.dnt-grade {
	border-color: rgba(91, 70, 158, 0.3);
	background: rgba(128, 103, 199, 0.1);
}

.dnt-qubit,
.dnt-qubit-b,
.dnt-qubit-d {
	border-color: rgba(91, 70, 158, 0.28);
	background: radial-gradient(circle, rgba(128, 103, 199, 0.17), transparent 64%);
	color: rgba(91, 70, 158, 0.58);
	filter: drop-shadow(0 8px 18px rgba(71, 52, 124, 0.14));
}

.dnt-qubit span,
.dnt-qubit b {
	background: rgba(248, 246, 255, 0.93);
	color: #5b469e;
}

/* Larger analysis results */

.dnt-intel-output {
	display: grid;
	padding: 30px;
	grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
	gap: 32px;
}

.dnt-intel-target span,
.dnt-intel-location > span,
.dnt-intel-row span,
.dnt-security-head span {
	font-size: clamp(8.25px, 0.7125vw, 10.5px);
	letter-spacing: 0.09em;
}

.dnt-intel-target strong {
	margin-top: 8px;
	font-size: clamp(16.5px, 1.425vw, 21.75px);
}

.dnt-flag {
	font-size: 28.5px;
}

.dnt-intel-location {
	padding: 24px 0;
}

.dnt-intel-location h3 {
	margin-top: 9px;
	font-size: clamp(20.25px, 1.7625vw, 27px);
	line-height: 1.16;
}

.dnt-intel-location p {
	margin-top: 8px;
	font-size: clamp(9.75px, 0.8625vw, 12.75px);
	line-height: 1.55;
}

.dnt-intel-list {
	padding: 18px 0;
}

.dnt-intel-row {
	padding: 11px 0;
	grid-template-columns: 130px minmax(0, 1fr);
	gap: 15px;
}

.dnt-intel-row strong {
	font-size: clamp(10.5px, 0.8625vw, 12.75px);
	line-height: 1.45;
}

.dnt-security-box {
	padding: 20px;
}

.dnt-security-head strong {
	font-size: clamp(9.75px, 0.7875vw, 12px);
}

.dnt-security-signals {
	margin-top: 17px;
	grid-template-columns: repeat(2, 1fr);
	gap: 9px;
}

.dnt-security-signals span {
	padding: 10px 6px;
	font-size: clamp(8.25px, 0.675vw, 9.75px);
}

.dnt-security-note {
	margin-top: 15px;
	font-size: clamp(8.25px, 0.675vw, 9.75px);
	line-height: 1.55;
}

.dnt-mail-summary > span {
	font-size: clamp(12px, 1vw, 15px);
}

.dnt-mail-summary h3 {
	font-size: clamp(34px, 3.5vw, 50px);
}

.dnt-mail-summary p {
	font-size: clamp(14px, 1.2vw, 17px);
	line-height: 1.5;
}

.dnt-score-ring strong {
	font-size: 54px;
}

.dnt-score-ring span,
.dnt-grade span {
	font-size: 12px;
}

.dnt-grade strong {
	font-size: 42px;
}

.dnt-check-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
}

.dnt-check-card {
	padding: 21px;
}

.dnt-check-card span,
.dnt-subhead,
.dnt-record-row span {
	font-size: clamp(11px, 0.95vw, 14px);
}

.dnt-check-card strong {
	margin-top: 12px;
	font-size: clamp(15px, 1.25vw, 19px);
	line-height: 1.4;
	overflow-wrap: anywhere;
	white-space: normal;
}

.dnt-subhead {
	min-height: 52px;
	padding: 0 18px;
}

.dnt-subhead button {
	font-size: 12px;
}

.dnt-record-row {
	padding: 17px 18px;
	grid-template-columns: 122px minmax(0, 1fr);
	gap: 16px;
}

.dnt-record-row code,
.dnt-recommendations li {
	font-size: clamp(13px, 1.05vw, 16px);
	line-height: 1.65;
}

.dnt-recommendations ol {
	padding: 18px 24px 22px 44px;
}

.dnt-mail-details {
	grid-template-columns: 1fr;
}

/* Animations */

@keyframes dnt-blink {
	50% { opacity: 0; }
}

@keyframes dnt-led {
	0%, 100% { opacity: 0.55; }
	50% { opacity: 1; }
}

@keyframes dnt-spin {
	to { transform: rotate(360deg); }
}

@keyframes dnt-status-pulse {
	50% {
		border-color: var(--dnt-accent);
		box-shadow: 0 0 14px color-mix(in srgb, var(--dnt-accent) 18%, transparent);
	}
}

@keyframes dnt-marker {
	0% { opacity: 0.8; transform: scale(0.5); }
	100% { opacity: 0; transform: scale(2.4); }
}

@keyframes dnt-sweep {
	from { transform: translateY(0); }
	to { transform: translateY(370%); }
}

@keyframes dnt-float {
	0%, 100% { margin-top: 0; }
	50% { margin-top: 22px; }
}

@keyframes dnt-qubit-float {
	0%, 100% { translate: 0 0; }
	35% { translate: 11px 20px; }
	70% { translate: -7px 10px; }
}

@keyframes dnt-qubit-orbit-a {
	from { transform: rotate(58deg) rotateZ(0deg); }
	to { transform: rotate(58deg) rotateZ(360deg); }
}

@keyframes dnt-qubit-orbit-b {
	from { transform: rotate(-58deg) rotateZ(360deg); }
	to { transform: rotate(-58deg) rotateZ(0deg); }
}

@keyframes dnt-qubit-pulse {
	50% { opacity: 0.48; transform: scale(1.8); }
}

@keyframes dnt-aurora {
	0% { opacity: 0.55; transform: translate3d(-4%, 0, 0) rotate(-3deg) scale(0.96); }
	100% { opacity: 0.95; transform: translate3d(5%, 4%, 0) rotate(4deg) scale(1.05); }
}

@keyframes dnt-light-drift {
	from { background-position: 0 0, 100% 0; }
	to { background-position: 100% 0, 0 0; }
}

@keyframes dnt-ambient-float {
	from { transform: translate3d(-3%, -2%, 0) scale(0.95); }
	to { transform: translate3d(5%, 6%, 0) scale(1.08); }
}

@keyframes dnt-hero-orbit {
	from { opacity: 0.6; transform: perspective(500px) rotateX(68deg) rotateZ(-2deg) scale(0.97); }
	to { opacity: 1; transform: perspective(500px) rotateX(68deg) rotateZ(3deg) scale(1.03); }
}

/* Responsive */

@media (max-width: 1180px) {
	.dnt-bst-layout {
		grid-template-columns: minmax(165px, 0.62fr) minmax(360px, 1.38fr) minmax(165px, 0.62fr);
		gap: 16px;
	}

	.dnt-speed-side {
		min-height: 260px;
		padding-right: 16px;
		padding-left: 16px;
	}
}

@media (max-width: 980px) {
	.dnt-bst-layout {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.dnt-master-gauge {
		grid-column: 1 / -1;
		grid-row: 1;
	}

	.dnt-speed-side {
		min-height: 235px;
	}

	.dnt-download-side {
		grid-column: 1;
		grid-row: 2;
	}

	.dnt-upload-side {
		grid-column: 2;
		grid-row: 2;
	}

	.dnt-speed-grid {
		grid-template-columns: 1fr 160px 1fr;
	}

	.dnt-orb-button {
		width: 112px;
		height: 112px;
	}

	.dnt-scan-stage {
		grid-template-columns: 1fr;
	}

	.dnt-intel-panel {
		border-top: 1px solid rgba(100, 180, 255, 0.11);
		border-left: 0;
	}

	.dnt-intel-output {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 24px;
	}

	.dnt-security-box {
		align-self: start;
	}

	.dnt-mail-form {
		grid-template-columns: 1fr 0.45fr;
	}

	.dnt-mail-form > button[type="submit"] {
		grid-column: 1 / -1;
		justify-content: center;
	}

	.dnt-check-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.dnt-visitor-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.dnt-console {
		border-radius: 14px;
	}

	.dnt-shell {
		padding: 14px;
	}

	.dnt-hero {
		min-height: 390px;
		padding-right: 8px;
		padding-left: 8px;
	}

	.dnt-system-strip span:nth-child(3) {
		display: none;
	}

	.dnt-module-nav a {
		flex-direction: column;
		gap: 2px;
	}

	.dnt-module {
		padding: 20px 15px;
		border-radius: 15px;
	}

	.dnt-bst-dashboard {
		padding: 22px 13px;
		border-radius: 16px;
	}

	.dnt-speed-brand {
		margin-bottom: 19px;
	}

	.dnt-gauge-shell {
		width: min(100%, 460px);
	}

	.dnt-speed-side {
		min-height: 205px;
		padding: 20px 13px 12px;
	}

	.dnt-side-icon {
		width: 46px;
		height: 46px;
		margin-bottom: 14px;
		font-size: 30px;
	}

	.dnt-speed-side > strong {
		font-size: clamp(28px, 8vw, 42px);
	}

	.dnt-sparkline {
		height: 48px;
		margin-top: 12px;
	}

	.dnt-bst-metrics {
		grid-template-columns: 1fr;
	}

	.dnt-bst-metrics > div {
		min-height: 78px;
	}

	.dnt-bst-metrics > div + div {
		border-top: 1px solid rgba(121, 196, 255, 0.18);
		border-left: 0;
	}

	.dnt-speed-privacy {
		padding-bottom: 25px;
	}

	.dnt-speed-privacy button {
		right: 50%;
		transform: translateX(50%);
	}

	.dnt-module-head {
		align-items: flex-start;
	}

	.dnt-module-head p {
		font-size: 10px;
	}

	.dnt-status {
		min-width: 60px;
		padding: 6px 7px;
	}

	.dnt-speed-grid {
		grid-template-columns: 1fr 1fr;
		align-items: start;
	}

	.dnt-speed-core {
		grid-column: 1 / -1;
		grid-row: 2;
		margin-top: 30px;
	}

	.dnt-gauge-readout span {
		font-size: clamp(24px, 9vw, 42px);
	}

	.dnt-metrics {
		grid-template-columns: repeat(2, 1fr);
	}

	.dnt-metrics > div:nth-child(3) {
		border-top: 1px solid rgba(120, 199, 255, 0.1);
		border-left: 0;
	}

	.dnt-metrics > div:nth-child(4) {
		border-top: 1px solid rgba(120, 199, 255, 0.1);
	}

	.dnt-telemetry-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.dnt-command-form > div:not(.dnt-form-field) {
		height: auto;
		flex-wrap: wrap;
		overflow: visible;
	}

	.dnt-command-form > div:not(.dnt-form-field) input {
		height: 56px;
	}

	.dnt-command-form > div:not(.dnt-form-field) button {
		width: 100%;
		height: 50px;
		justify-content: center;
		border-top: 1px solid color-mix(in srgb, var(--dnt-accent) 28%, transparent);
		border-left: 0;
	}

	.dnt-world-map {
		height: 390px;
		min-height: 390px;
	}

	.dnt-scan-stage {
		min-height: 390px;
	}

	.dnt-intel-output {
		display: block;
	}

	.dnt-mail-form {
		grid-template-columns: 1fr;
	}

	.dnt-mail-form > button[type="submit"] {
		grid-column: auto;
		justify-content: center;
	}

	.dnt-mail-overview {
		grid-template-columns: 130px 1fr;
	}

	.dnt-score-ring {
		width: 120px;
		height: 120px;
	}

	.dnt-score-ring strong {
		font-size: 36px;
	}

	.dnt-grade {
		display: none;
	}

	.dnt-check-grid {
		grid-template-columns: 1fr;
	}

	.dnt-mail-details {
		grid-template-columns: 1fr;
	}

	.dnt-visitor-summary {
		grid-template-columns: 74px minmax(0, 1fr);
		gap: 16px;
	}

	.dnt-visitor-sigil {
		width: 68px;
		height: 68px;
	}

	.dnt-visitor-live {
		grid-column: 1 / -1;
		justify-self: start;
	}

	.dnt-visitor-grid {
		grid-template-columns: 1fr;
	}

	.dnt-visitor-card {
		min-height: 0;
	}

	.dnt-visitor-privacy {
		align-items: flex-start;
		flex-direction: column;
		gap: 7px;
	}

	.dnt-footer {
		flex-direction: column;
		text-align: center;
	}
}

@media (max-width: 440px) {
	.dnt-hero h1 {
		font-size: 34px;
	}

	.dnt-kicker {
		font-size: 8px;
	}

	.dnt-kicker span {
		width: 18px;
	}

	.dnt-module-nav a {
		padding: 10px 5px;
		font-size: 8px;
	}

	.dnt-module-nav a strong {
		font-size: 8px;
	}

	.dnt-module-head {
		display: block;
	}

	.dnt-status {
		margin-top: 14px;
	}

	.dnt-gauge > em {
		display: none;
	}

	.dnt-gauge-readout {
		bottom: 6px;
	}

	.dnt-gauge-readout small {
		font-size: 7px;
	}

	.dnt-terminal-bar {
		grid-template-columns: 1fr 1fr;
	}

	.dnt-terminal-bar strong {
		display: none;
	}

	.dnt-mail-overview {
		grid-template-columns: 1fr;
		justify-items: center;
		text-align: center;
	}

	.dnt-intel-row {
		grid-template-columns: 70px minmax(0, 1fr);
	}
}

@media (prefers-reduced-motion: reduce) {
	.dnt-console *,
	.dnt-console *::before,
	.dnt-console *::after {
		scroll-behavior: auto !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}

	.dnt-matrix {
		display: none;
	}
}
