/* =====================================================================
   DigitalRadar — Base
   Reset moderno, tipografia base e elementos globais.
   ===================================================================== */

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

* { margin: 0; }

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scrollbar-color: var(--dr-neon) var(--dr-bg-2);
}

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

body.dr-body {
	min-height: 100vh;
	margin: 0;
	font-family: var(--dr-font-body);
	font-size: var(--dr-fs-base);
	line-height: var(--dr-lh-body);
	color: var(--dr-text);
	background: var(--dr-bg);
	background-image:
		radial-gradient(1200px 600px at 50% -10%, rgba(0, 180, 255, .10), transparent 60%),
		radial-gradient(900px 500px at 100% 0%, rgba(10, 31, 68, .55), transparent 55%);
	background-attachment: fixed;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	/* clip (não hidden) evita quebrar position: sticky dos descendentes
	   — ex.: a sidebar do post que acompanha o scroll. */
	overflow-x: clip;
}

/* ---- Tipografia ---- */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--dr-font-head);
	font-weight: var(--dr-fw-semi); /* Orbitron SemiBold */
	line-height: var(--dr-lh-head);
	letter-spacing: 0; /* Orbitron já é largo; sem tracking negativo */
	color: var(--dr-heading);
	text-wrap: balance;
}

p { color: var(--dr-text); }
p + p { margin-top: var(--dr-sp-4); }

a {
	color: var(--dr-neon);
	text-decoration: none;
	transition: color var(--dr-dur-fast) var(--dr-ease);
}
a:hover { color: var(--dr-neon-2); }

img, svg, video { display: block; max-width: 100%; height: auto; }

ul, ol { padding-left: 1.25rem; }

strong, b { font-weight: var(--dr-fw-bold); color: var(--dr-heading); }

::selection {
	background: var(--dr-neon);
	color: var(--dr-on-neon);
}

/* ---- Foco acessível ---- */
:focus-visible {
	outline: 2px solid var(--dr-neon);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ---- Scrollbar (WebKit) ---- */
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: var(--dr-bg-2); }
::-webkit-scrollbar-thumb {
	background: linear-gradient(var(--dr-deep), var(--dr-neon));
	border-radius: 999px;
	border: 3px solid var(--dr-bg-2);
}

/* ---- Utilitários globais ---- */
.dr-text-gradient {
	background: var(--dr-grad-text);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: var(--dr-neon);
}

.screen-reader-text,
.dr-skip-link {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0,0,0,0);
	white-space: nowrap; border: 0;
}

.dr-skip-link:focus {
	position: fixed !important;
	top: 12px; left: 12px;
	z-index: 9999;
	width: auto; height: auto;
	clip: auto;
	padding: .75rem 1.25rem;
	background: var(--dr-neon);
	color: var(--dr-on-neon);
	font-weight: var(--dr-fw-semi);
	border-radius: var(--dr-r-sm);
}
