/* base/screen-shell.css — кабинет, главная и «Получить доступ» */

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

html {
	-webkit-text-size-adjust: 100%;
}

body.reclaim-screen-shell {
	margin: 0;
	background: var( --bg );
	color: var( --ink );
	font-family: var( --font-body );
	font-size: 1rem;
	line-height: 1.5;
}

.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	min-height: 100dvh;
}

.site-main {
	flex: 1 0 auto;
}

html::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -2;
	pointer-events: none;
	opacity: 0.14;
	background-image:
		linear-gradient( rgba( 87, 66, 185, 0.06 ) 1px, transparent 1px ),
		linear-gradient( 90deg, rgba( 87, 66, 185, 0.06 ) 1px, transparent 1px );
	background-size: 34px 34px;
	mask-image: linear-gradient( to bottom, #000, transparent 72% );
}

body.reclaim-screen-shell::after {
	content: "";
	position: fixed;
	inset: -25%;
	z-index: -3;
	pointer-events: none;
	opacity: 0.45;
	background:
		radial-gradient( ellipse 42% 38% at 18% 22%, var( --body-glow-1 ), transparent 58% ),
		radial-gradient( ellipse 36% 42% at 82% 12%, var( --body-glow-2 ), transparent 52% ),
		radial-gradient( ellipse 48% 40% at 72% 78%, var( --body-glow-3 ), transparent 55% );
	animation: rtw-orb-pulse 14s ease-in-out infinite;
	will-change: opacity;
}

.reclaim-particles-canvas {
	position: fixed;
	inset: 0;
	z-index: -2;
	display: block;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

@keyframes rtw-orb-pulse {
	0%,
	100% {
		opacity: 0.42;
	}

	50% {
		opacity: 0.55;
	}
}

@media ( prefers-color-scheme: dark ) {
	:root:not( [data-theme="light"] ) body.reclaim-screen-shell {
		background:
			radial-gradient( circle at 12% 0%, var( --body-glow-1 ), transparent 28rem ),
			radial-gradient( circle at 88% 14%, var( --body-glow-2 ), transparent 30rem ),
			radial-gradient( circle at 50% 100%, var( --body-glow-3 ), transparent 32rem ),
			linear-gradient( 135deg, #111418 0%, #171b22 54%, #1c2129 100% );
	}

	:root:not( [data-theme="light"] ) html::before {
		opacity: 0.09;
	}
}

:root[data-theme="dark"] body.reclaim-screen-shell {
	background:
		radial-gradient( circle at 12% 0%, var( --body-glow-1 ), transparent 28rem ),
		radial-gradient( circle at 88% 14%, var( --body-glow-2 ), transparent 30rem ),
		radial-gradient( circle at 50% 100%, var( --body-glow-3 ), transparent 32rem ),
		linear-gradient( 135deg, #111418 0%, #171b22 54%, #1c2129 100% );
}

:root[data-theme="dark"] html::before {
	opacity: 0.09;
}

@media ( prefers-reduced-motion: reduce ) {
	body.reclaim-screen-shell::after {
		animation: none;
	}

	.reclaim-particles-canvas {
		display: none;
	}
}

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

a {
	color: var( --accent-strong );
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var( --accent-rose );
}

:focus-visible {
	outline: 3px solid var( --accent-blue );
	outline-offset: 3px;
}

body.reclaim-screen-shell input:focus,
body.reclaim-screen-shell input:focus-visible,
body.reclaim-screen-shell textarea:focus,
body.reclaim-screen-shell textarea:focus-visible,
body.reclaim-screen-shell select:focus,
body.reclaim-screen-shell select:focus-visible {
	outline: none;
}

body.reclaim-screen-shell .wp-block-group {
	margin: 0;
	max-width: none;
}

body.reclaim-screen-shell .wp-block-heading {
	border: 0;
	padding-bottom: 0;
}

body.reclaim-screen-shell .wp-block-group__inner-container {
	margin: 0;
	padding: 0;
}

body.reclaim-screen-shell .screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	overflow: hidden;
	clip: rect( 1px, 1px, 1px, 1px );
	clip-path: inset( 50% );
	border: 0;
	white-space: nowrap;
}
