/* Theme styles. No build step, no external assets. */
:root {
	color-scheme: light;
	--bg: var( --wp--preset--color--background, #fff8e6 );
	--bg-strong: var( --wp--preset--color--background-strong, #ede8ff );
	--surface: var( --wp--preset--color--surface, #ffffff );
	--surface-soft: var( --wp--preset--color--surface-soft, #f3eeff );
	--surface-warm: var( --wp--preset--color--warm, #fff8e6 );
	--ink: var( --wp--preset--color--ink, #1b1430 );
	--on-ink: var( --wp--preset--color--white, #ffffff );
	--muted: var( --wp--preset--color--muted, #5e5678 );
	--line: var( --wp--preset--color--line, rgba( 27, 20, 48, 0.18 ) );
	--stroke-strong: var( --ink );
	--stroke-soft: var( --card-border );
	--accent: var( --wp--preset--color--accent, #5742b9 );
	--accent-strong: var( --wp--preset--color--accent-strong, #4315ab );
	--accent-blue: var( --wp--preset--color--blue, #5742b9 );
	--accent-rose: var( --wp--preset--color--rose, #ff4f6c );
	--accent-warm: var( --wp--preset--color--coral, #ff4f6c );
	--highlight: var( --wp--preset--color--highlight, #e4dcff );
	--hero-accent: var( --accent );
	--body-glow-1: rgba( 87, 66, 185, 0.28 );
	--body-glow-2: rgba( 255, 79, 108, 0.16 );
	--body-glow-3: rgba( 240, 183, 58, 0.14 );
	--inline-code-bg: rgba( 228, 220, 255, 0.65 );
	--pre-bg: #1b1430;
	--pre-ink: #f5f0ff;
	--header-bg: rgba( 255, 248, 230, 0.55 );
	--header-bg-solid: rgba( 255, 248, 230, 0.92 );
	--header-border: rgba( 27, 20, 48, 0.08 );
	--nav-pill-bg: rgba( 87, 66, 185, 0.1 );
	--glass: rgba( 255, 255, 255, 0.86 );
	--glass-strong: rgba( 255, 255, 255, 0.96 );
	--hero-card-border: rgba( 27, 20, 48, 0.12 );
	--hero-card-bg: linear-gradient( 160deg, rgba( 255, 255, 255, 0.98 ), rgba( 243, 238, 255, 0.96 ) );
	--hero-card-dash: rgba( 87, 66, 185, 0.22 );
	--connector-line: rgba( 87, 66, 185, 0.45 );
	--connector-arrow: rgba( 87, 66, 185, 0.45 );
	--alt-bg: rgba( 255, 255, 255, 0.62 );
	--card-border: rgba( 27, 20, 48, 0.1 );
	--card-border-width: 1px;
	--card-radius: 10px;
	--icon-ring: transparent;
	--card-icon-bg: #e4dcff;
	--feature-glow: rgba( 87, 66, 185, 0.16 );
	--callout-bg: linear-gradient( 135deg, rgba( 255, 255, 255, 0.96 ), rgba( 237, 232, 255, 0.92 ) );
	--footer-bg: rgba( 255, 248, 230, 0.92 );
	--primary-bg: #e85e1a;
	--primary-ink: #ffffff;
	--primary-hover-bg: #cf5217;
	--primary-shadow: 0 3px 0 rgba( 180, 72, 14, 0.35 );
	--on-highlight: #102337;
	--highlight-interactive: var( --highlight );
	--step-number-bg: #ede8ff;
	--step-number-ink: #1b1430;
	--shadow: 0 6px 20px rgba( 27, 20, 48, 0.08 );
	--shadow-soft: 0 3px 12px rgba( 27, 20, 48, 0.06 );
	--shadow-ink: rgba( 27, 20, 48, 0.35 );
	--shadow-coral: 0 8px 24px rgba( 255, 79, 108, 0.18 );
	--shadow-teal: 0 4px 14px rgba( 87, 66, 185, 0.14 );
	--node-route-bg: #ede8ff;
	--node-route-ink: #1b1430;
	--node-route-muted: #5e5678;
	--get-involved-bg: linear-gradient( 135deg, rgba( 255, 255, 255, 0.98 ), rgba( 255, 248, 230, 0.95 ) );
	--paper: var( --wp--preset--color--background, #fff8e6 );
	--mint: var( --wp--preset--color--background-strong, #ede8ff );
	--aqua: #e4dcff;
	--cream: var( --wp--preset--color--warm, #fff8e6 );
	--coral: var( --wp--preset--color--coral, #ff4f6c );
	--orange: var( --wp--preset--color--orange, #f0b73a );
	--yellow: var( --wp--preset--color--orange, #f0b73a );
	--white: var( --wp--preset--color--white, #ffffff );
	--radius-lg: 8px;
	--radius-md: 6px;
	--radius-sm: 4px;
	--font-body: var( --wp--preset--font-family--body, Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif );
	--font-display: var( --wp--preset--font-family--display, "Avenir Next", Avenir, "Segoe UI", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, sans-serif );
	--font-brand: "Dela Gothic One", var( --font-display );
	--font-hero-accent: "PT Serif", "Noto Serif", "Times New Roman", serif;
	--hero-emphasis-gradient-lectures: linear-gradient( 118deg, #4315ab 0%, #5742b9 38%, #c45a18 92% );
	--hero-emphasis-gradient-exams: linear-gradient( 118deg, #352a8a 0%, #6b9fff 44%, #e85e1a 100% );
	--max-width: 1520px;
	--content-width: 96ch;
	--section-padding-block: 1.5rem;
	--section-glow-a: rgba( 87, 66, 185, 0.16 );
	--section-glow-b: rgba( 255, 79, 108, 0.1 );
	--section-glow-c: rgba( 240, 183, 58, 0.09 );
	--section-beam: rgba( 87, 66, 185, 0.07 );
	--content-font-size: 1.125rem;
	--content-line-height: 1.72;
}

@media ( prefers-color-scheme: dark ) {
	:root:not( [data-theme="light"] ) {
		color-scheme: dark;
		--bg: #111418;
		--bg-strong: #171b22;
		--surface: #1c2129;
		--surface-soft: #242a34;
		--surface-warm: #242a34;
		--ink: #eef1f5;
		--on-ink: #111418;
		--muted: #9aa3af;
		--line: rgba( 154, 163, 175, 0.14 );
		--stroke-strong: color-mix( in srgb, var( --ink ) 24%, transparent );
		--stroke-soft: color-mix( in srgb, var( --ink ) 11%, transparent );
		--icon-ring: var( --stroke-strong );
		--accent: #6b9fff;
		--accent-strong: #8fb4ff;
		--accent-blue: #6b9fff;
		--accent-rose: #ff6b85;
		--accent-warm: #ff6b85;
		--highlight: #2a313c;
		--hero-accent: #8fb4ff;
		--body-glow-1: rgba( 107, 159, 255, 0.12 );
		--body-glow-2: rgba( 255, 107, 133, 0.07 );
		--body-glow-3: rgba( 240, 183, 58, 0.06 );
		--inline-code-bg: rgba( 42, 49, 60, 0.8 );
		--pre-bg: #111418;
		--pre-ink: #eef1f5;
		--header-bg: rgba( 17, 20, 24, 0.72 );
		--header-bg-solid: rgba( 17, 20, 24, 0.94 );
		--header-border: rgba( 154, 163, 175, 0.12 );
		--nav-pill-bg: rgba( 107, 159, 255, 0.12 );
		--glass: rgba( 28, 33, 41, 0.86 );
		--glass-strong: rgba( 28, 33, 41, 0.96 );
		--hero-card-border: rgba( 107, 159, 255, 0.22 );
		--hero-card-bg: linear-gradient( 160deg, rgba( 28, 33, 41, 0.98 ), rgba( 36, 42, 52, 0.96 ) );
		--hero-card-dash: rgba( 107, 159, 255, 0.2 );
		--connector-line: rgba( 107, 159, 255, 0.28 );
		--connector-arrow: rgba( 107, 159, 255, 0.28 );
		--alt-bg: rgba( 255, 255, 255, 0.03 );
		--card-border: var( --stroke-soft );
		--card-icon-bg: #2a313c;
		--feature-glow: rgba( 107, 159, 255, 0.1 );
		--callout-bg: linear-gradient( 135deg, rgba( 28, 33, 41, 0.96 ), rgba( 36, 42, 52, 0.92 ) );
		--footer-bg: rgba( 17, 20, 24, 0.94 );
		--primary-bg: #e85e1a;
		--primary-ink: #ffffff;
		--primary-hover-bg: #cf5217;
		--primary-shadow: 0 3px 0 rgba( 0, 0, 0, 0.35 );
		--on-highlight: var( --ink );
		--highlight-interactive: rgba( 107, 159, 255, 0.2 );
		--step-number-bg: #242a34;
		--step-number-ink: #eef1f5;
		--shadow: 0 6px 20px rgba( 0, 0, 0, 0.28 );
		--shadow-soft: 0 3px 12px rgba( 0, 0, 0, 0.2 );
		--shadow-ink: rgba( 0, 0, 0, 0.45 );
		--shadow-coral: 0 8px 24px rgba( 255, 107, 133, 0.14 );
		--shadow-teal: 0 4px 14px rgba( 107, 159, 255, 0.12 );
		--node-route-bg: #242a34;
		--node-route-ink: #eef1f5;
		--node-route-muted: #9aa3af;
		--get-involved-bg: linear-gradient( 135deg, rgba( 28, 33, 41, 0.98 ), rgba( 36, 42, 52, 0.94 ) );
		--paper: #111418;
		--mint: #171b22;
		--aqua: #242a34;
		--cream: #242a34;
		--coral: #ff6b85;
		--orange: #f0b73a;
		--yellow: #f0b73a;
		--white: #ffffff;
		--hero-emphasis-gradient-lectures: linear-gradient( 118deg, #dbe8ff 0%, #c4b5ff 42%, #ffb27a 92% );
		--hero-emphasis-gradient-exams: linear-gradient( 118deg, #a8c8ff 0%, #9eb5ff 38%, #ff9d6c 78%, #f0c96a 100% );
		--section-glow-a: rgba( 107, 159, 255, 0.14 );
		--section-glow-b: rgba( 255, 107, 133, 0.09 );
		--section-glow-c: rgba( 240, 183, 58, 0.07 );
		--section-beam: rgba( 107, 159, 255, 0.1 );
	}
}

:root[data-theme="dark"] {
	color-scheme: dark;
	--bg: #111418;
	--bg-strong: #171b22;
	--surface: #1c2129;
	--surface-soft: #242a34;
	--surface-warm: #242a34;
	--ink: #eef1f5;
	--on-ink: #111418;
	--muted: #9aa3af;
	--line: rgba( 154, 163, 175, 0.14 );
	--stroke-strong: color-mix( in srgb, var( --ink ) 24%, transparent );
	--stroke-soft: color-mix( in srgb, var( --ink ) 11%, transparent );
	--icon-ring: var( --stroke-strong );
	--accent: #6b9fff;
	--accent-strong: #8fb4ff;
	--accent-blue: #6b9fff;
	--accent-rose: #ff6b85;
	--accent-warm: #ff6b85;
	--highlight: #2a313c;
	--hero-accent: #8fb4ff;
	--body-glow-1: rgba( 107, 159, 255, 0.12 );
	--body-glow-2: rgba( 255, 107, 133, 0.07 );
	--body-glow-3: rgba( 240, 183, 58, 0.06 );
	--inline-code-bg: rgba( 42, 49, 60, 0.8 );
	--pre-bg: #111418;
	--pre-ink: #eef1f5;
	--header-bg: rgba( 17, 20, 24, 0.72 );
	--header-bg-solid: rgba( 17, 20, 24, 0.94 );
	--header-border: rgba( 154, 163, 175, 0.12 );
	--nav-pill-bg: rgba( 107, 159, 255, 0.12 );
	--glass: rgba( 28, 33, 41, 0.86 );
	--glass-strong: rgba( 28, 33, 41, 0.96 );
	--hero-card-border: rgba( 107, 159, 255, 0.22 );
	--hero-card-bg: linear-gradient( 160deg, rgba( 28, 33, 41, 0.98 ), rgba( 36, 42, 52, 0.96 ) );
	--hero-card-dash: rgba( 107, 159, 255, 0.2 );
	--connector-line: rgba( 107, 159, 255, 0.28 );
	--connector-arrow: rgba( 107, 159, 255, 0.28 );
	--alt-bg: rgba( 255, 255, 255, 0.03 );
	--card-border: var( --stroke-soft );
	--card-icon-bg: #2a313c;
	--feature-glow: rgba( 107, 159, 255, 0.1 );
	--callout-bg: linear-gradient( 135deg, rgba( 28, 33, 41, 0.96 ), rgba( 36, 42, 52, 0.92 ) );
	--footer-bg: rgba( 17, 20, 24, 0.94 );
	--primary-bg: #e85e1a;
	--primary-ink: #ffffff;
	--primary-hover-bg: #cf5217;
	--primary-shadow: 0 3px 0 rgba( 0, 0, 0, 0.35 );
	--on-highlight: var( --ink );
	--highlight-interactive: rgba( 107, 159, 255, 0.2 );
	--step-number-bg: #242a34;
	--step-number-ink: #eef1f5;
	--shadow: 0 6px 20px rgba( 0, 0, 0, 0.28 );
	--shadow-soft: 0 3px 12px rgba( 0, 0, 0, 0.2 );
	--shadow-ink: rgba( 0, 0, 0, 0.45 );
	--shadow-coral: 0 8px 24px rgba( 255, 107, 133, 0.14 );
	--shadow-teal: 0 4px 14px rgba( 107, 159, 255, 0.12 );
	--node-route-bg: #242a34;
	--node-route-ink: #eef1f5;
	--node-route-muted: #9aa3af;
	--get-involved-bg: linear-gradient( 135deg, rgba( 28, 33, 41, 0.98 ), rgba( 36, 42, 52, 0.94 ) );
	--paper: #111418;
	--mint: #171b22;
	--aqua: #242a34;
	--cream: #242a34;
	--coral: #ff6b85;
	--orange: #f0b73a;
	--yellow: #f0b73a;
	--white: #ffffff;
	--hero-emphasis-gradient-lectures: linear-gradient( 118deg, #dbe8ff 0%, #c4b5ff 42%, #ffb27a 92% );
	--hero-emphasis-gradient-exams: linear-gradient( 118deg, #a8c8ff 0%, #9eb5ff 38%, #ff9d6c 78%, #f0c96a 100% );
	--section-glow-a: rgba( 107, 159, 255, 0.14 );
	--section-glow-b: rgba( 255, 107, 133, 0.09 );
	--section-glow-c: rgba( 240, 183, 58, 0.07 );
	--section-beam: rgba( 107, 159, 255, 0.1 );
}

* {
	box-sizing: border-box;
}

html {
	scroll-padding-top: 6.5rem;
	scroll-behavior: smooth;
}

body {
	position: relative;
	isolation: isolate;
	min-width: 320px;
	margin: 0;
	overflow-x: hidden;
	overflow-x: clip;
	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, var( --bg-strong ) 0%, var( --bg ) 48%, var( --surface-warm ) 100% );
	color: var( --ink );
	font-family: var( --font-body );
	font-size: 16px;
	line-height: 1.6;
}

@keyframes rtw-mesh-drift {
	0%,
	100% {
		transform: translate3d( 0, 0, 0 ) scale( 1 );
	}

	33% {
		transform: translate3d( 2.5%, -1.5%, 0 ) scale( 1.04 );
	}

	66% {
		transform: translate3d( -2%, 2%, 0 ) scale( 0.98 );
	}
}

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

	50% {
		opacity: 0.85;
	}
}

@keyframes rtw-section-shimmer {
	0% {
		background-position: 0% 50%;
	}

	100% {
		background-position: 200% 50%;
	}
}

@keyframes rtw-section-aurora {
	0%,
	100% {
		transform: translate3d( 0, 0, 0 ) scale( 1 ) rotate( 0deg );
		opacity: 0.62;
	}

	33% {
		transform: translate3d( 4%, -3%, 0 ) scale( 1.06 ) rotate( 1.5deg );
		opacity: 0.78;
	}

	66% {
		transform: translate3d( -3%, 4%, 0 ) scale( 0.97 ) rotate( -1deg );
		opacity: 0.68;
	}
}

@keyframes rtw-section-mesh-pan {
	0% {
		background-position: 0% 0%, 100% 100%, 50% 50%;
	}

	50% {
		background-position: 100% 40%, 0% 60%, 70% 20%;
	}

	100% {
		background-position: 0% 0%, 100% 100%, 50% 50%;
	}
}

@keyframes rtw-section-beam-sweep {
	0%,
	18% {
		transform: translate3d( -55%, 0, 0 ) skewX( -14deg );
		opacity: 0;
	}

	45% {
		opacity: 0.35;
	}

	55% {
		transform: translate3d( 155%, 0, 0 ) skewX( -14deg );
		opacity: 0.4;
	}

	72%,
	100% {
		transform: translate3d( 155%, 0, 0 ) skewX( -14deg );
		opacity: 0;
	}
}
