@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Syne:wght@400;600;700;800&display=swap');

:root {
	--world: #060714;
	--glass: rgba(20, 25, 54, 0.62);
	--glass-bright: rgba(39, 47, 88, 0.72);
	--ink: #f3f5ff !important;
	--bone: #f3f5ff !important;
	--ash: #9ca6ca !important;
	--dim: #121731 !important;
	--rule: rgba(151, 171, 255, 0.22) !important;
	--accent: #8d7cff !important;
	--cyan: #57e8ff !important;
	--green: #b6f36c !important;
	--rose: #ff79b7;
}

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

html, body { background: var(--world) !important; color: var(--ink) !important; }

body {
	font-family: 'DM Mono', monospace !important;
	background-image:
		linear-gradient(rgba(132, 145, 255, 0.055) 1px, transparent 1px),
		linear-gradient(90deg, rgba(132, 145, 255, 0.055) 1px, transparent 1px),
		radial-gradient(ellipse at 15% 0%, rgba(108, 83, 255, 0.25), transparent 34%),
		radial-gradient(ellipse at 90% 20%, rgba(255, 80, 164, 0.13), transparent 30%),
		linear-gradient(145deg, #08091a 0%, #0b1028 48%, #050611 100%) !important;
	background-size: 44px 44px, 44px 44px, auto, auto, auto !important;
	background-attachment: fixed;
	position: relative;
}

body::before {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(ellipse 42% 22% at 50% 66%, rgba(87, 232, 255, 0.18), transparent 72%),
		radial-gradient(ellipse 28% 48% at 8% 58%, rgba(141, 124, 255, 0.13), transparent 72%),
		radial-gradient(ellipse 25% 40% at 94% 42%, rgba(255, 121, 183, 0.1), transparent 72%),
		linear-gradient(160deg, transparent 0 47%, rgba(87, 232, 255, 0.08) 47.1% 47.2%, transparent 47.3% 100%),
		linear-gradient(20deg, transparent 0 56%, rgba(255, 121, 183, 0.06) 56.1% 56.2%, transparent 56.3% 100%),
		repeating-linear-gradient(90deg, transparent 0 109px, rgba(87, 232, 255, 0.035) 110px, transparent 111px),
		linear-gradient(180deg, transparent 0 55%, rgba(87, 232, 255, 0.09) 55.1%, transparent 55.4%);
	background-size: auto, auto, auto, 100% 100%, 100% 100%, 100% 100%, 100% 100%;
	mix-blend-mode: screen;
	opacity: 0.9;
	animation: chamber-drift 22s ease-in-out infinite alternate;
}

body::after {
	content: '';
	position: fixed;
	inset: 0;
	z-index: 9000;
	pointer-events: none;
	opacity: 0.16;
	background:
		repeating-linear-gradient(0deg, rgba(255,255,255,0.05) 0 1px, transparent 1px 5px),
		radial-gradient(ellipse 48% 18% at 50% 56%, transparent 0 35%, rgba(87,232,255,0.08) 36% 36.3%, transparent 37%);
	mix-blend-mode: screen;
}

main, #page, #content { position: relative; z-index: 1; }
.connection-alert[hidden] { display: none; }
.connection-alert {
	position: fixed;
	inset: 0;
	z-index: 11000;
	display: grid;
	place-items: center;
	min-height: 100dvh;
	padding: max(24px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));
	background: rgba(2, 3, 14, 0.8);
	backdrop-filter: blur(14px);
}
.connection-alert-panel {
	width: min(520px, 100%);
	padding: clamp(28px, 7vw, 54px);
	border: 1px solid var(--rule);
	background: linear-gradient(145deg, rgba(39, 47, 88, 0.92), rgba(12, 15, 37, 0.96));
	box-shadow: inset 0 1px rgba(255,255,255,0.1), 0 30px 90px rgba(0,0,0,0.55), 0 0 36px rgba(87,232,255,0.08);
	text-align: left;
}
.connection-alert-mark {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border: 1px solid var(--rose);
	border-radius: 50%;
	color: var(--rose);
	font: 700 0.7rem 'DM Mono', monospace;
	box-shadow: 0 0 28px rgba(255,121,183,0.22);
}
.connection-alert-kicker { margin-top: 28px; color: var(--green); font: 0.58rem 'DM Mono', monospace; letter-spacing: 0.16em; }
.connection-alert h2 { margin: 18px 0 14px; color: var(--ink); font: 800 clamp(3.5rem, 12vw, 6.5rem)/0.86 'Syne', sans-serif; letter-spacing: -0.04em; text-shadow: 0 0 30px rgba(87,232,255,0.18); }
.connection-alert-copy { max-width: 420px; margin: 0; color: var(--ash); font: 0.8rem/1.7 'DM Mono', monospace; }
.connection-alert-status { display: flex; align-items: center; gap: 10px; margin: 28px 0; color: var(--cyan); font: 0.58rem 'DM Mono', monospace; letter-spacing: 0.1em; text-transform: uppercase; }
.connection-alert-status span { width: 8px; height: 8px; border-radius: 50%; background: var(--rose); box-shadow: 0 0 14px var(--rose); }
.connection-alert button { min-height: 44px; padding: 11px 15px; }
body.connection-alert-open { overflow: hidden; }
@media (max-width: 600px) {
	.connection-alert { align-items: end; padding: max(14px, env(safe-area-inset-top)) max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left)); }
	.connection-alert-panel { width: 100%; max-height: calc(100dvh - 28px); overflow: auto; padding: 28px 22px; }
	.connection-alert-mark { width: 48px; height: 48px; }
	.connection-alert-kicker { margin-top: 22px; font-size: 0.54rem; line-height: 1.5; }
	.connection-alert h2 { margin: 16px 0 12px; font-size: clamp(3.2rem, 18vw, 5.4rem); }
	.connection-alert-copy { font-size: 0.72rem; line-height: 1.6; }
	.connection-alert-status { align-items: flex-start; margin: 22px 0; font-size: 0.54rem; line-height: 1.5; }
	.connection-alert button { width: 100%; min-height: 48px; }
}
@media (max-height: 560px) and (orientation: landscape) {
	.connection-alert { align-items: start; }
	.connection-alert-panel { margin: 0 auto; padding: 22px 28px; }
	.connection-alert h2 { margin: 12px 0 10px; font-size: clamp(2.8rem, 12vh, 4.8rem); }
	.connection-alert-status { margin: 16px 0; }
}
.cyber-watermark { position: fixed; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; color: var(--cyan); mix-blend-mode: screen; }
.watermark-monogram { position: absolute; left: -0.06em; top: 24vh; font: 800 clamp(16rem, 42vw, 42rem)/0.7 'Syne', sans-serif; letter-spacing: -0.12em; color: transparent; -webkit-text-stroke: 1px rgba(87,232,255,0.075); transform: translate3d(0, calc(var(--world-scroll, 0px) * -0.08), 0) rotate(-8deg); text-shadow: 24px 24px 0 rgba(255,121,183,0.035); }
.watermark-caption { position: absolute; right: 28px; top: 48%; writing-mode: vertical-rl; font: 0.5rem 'DM Mono', monospace; letter-spacing: 0.28em; color: rgba(182,243,108,0.28); }
.watermark-mark { position: absolute; right: 12vw; bottom: calc(18vh - var(--world-scroll, 0px) * 0.035); display: grid; place-items: center; width: 70px; height: 70px; border: 1px solid rgba(255,121,183,0.17); border-radius: 50%; font: 1.7rem 'Syne', sans-serif; color: rgba(255,121,183,0.22); box-shadow: 0 0 35px rgba(255,121,183,0.07), inset 0 0 20px rgba(87,232,255,0.05); }
.watermark-mark::after { content: 'P'; position: absolute; font: 700 0.7rem 'DM Mono', monospace; color: rgba(87,232,255,0.35); transform: translate(21px, -22px); }
@keyframes chamber-drift {
	0% { transform: scale(1) translate3d(0, 0, 0); background-position: 0 0, 0 0, 0 0, 0 0, 0 0, 0 0, 0 0; }
	100% { transform: scale(1.04) translate3d(0, -10px, 0); background-position: 0 0, 0 0, 0 0, 18px -12px, -14px 10px, 0 18px, 0 -6px; }
}

a { color: var(--cyan) !important; }
a:hover { color: var(--green) !important; }
nav, #nav { padding: 22px 42px !important; border-bottom-color: transparent !important; }
nav.scrolled, #nav.scrolled { background: rgba(7, 8, 23, 0.78) !important; border-bottom-color: var(--rule) !important; backdrop-filter: blur(22px) saturate(150%); }
.nav-logo::before { content: '◈ '; color: var(--rose); }
.nav-links a, .nav-link, .footer-links a { color: var(--ash) !important; }
.nav-links a:hover, .nav-link:hover, .footer-links a:hover { color: var(--cyan) !important; }

.nav-logo, .footer-logo, .gate-studio, .signup-display, .profile-name,
.page-heading, .login-title, .tos-title { color: var(--ink) !important; text-shadow: 0 0 32px rgba(87, 232, 255, 0.18); }
#progress-line { background: linear-gradient(90deg, var(--rose), var(--cyan), var(--green)) !important; box-shadow: 0 0 14px var(--cyan) !important; }

#gate, #site-loading, #loading {
	background:
		radial-gradient(circle at 50% 42%, rgba(141, 124, 255, 0.22), transparent 30%),
		linear-gradient(rgba(87, 232, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(87, 232, 255, 0.05) 1px, transparent 1px),
		#060714 !important;
	background-size: auto, 36px 36px, 36px 36px, auto !important;
}
#site-loading { z-index: 10000 !important; }
#site-loading.hidden { display: none !important; opacity: 0 !important; visibility: hidden !important; pointer-events: none !important; }
#gate { z-index: 9999 !important; }
.gate-studio { -webkit-text-stroke-color: var(--cyan) !important; animation: world-breathe 3s ease-in-out infinite !important; }
.gate-status, .load-title, .load-logo { color: var(--ash) !important; }
.gate-bar-wrap, .load-bar { background: rgba(87, 232, 255, 0.14) !important; }
.gate-bar, .load-fill { background: linear-gradient(90deg, var(--rose), var(--cyan)) !important; box-shadow: 0 0 18px var(--cyan); }
@keyframes world-breathe { 0%, 100% { opacity: 0.65; } 50% { opacity: 1; text-shadow: 0 0 30px rgba(87, 232, 255, 0.6); } }

#hero, #about, #profile-hero, #profile-details, #stats, footer, .chapter,
.col-center, .page-header, .section, .doc-nav { border-color: var(--rule) !important; }
.hero-tag, .section-num, .chapter-num, .section-tag, .effective-date, .side-tag,
.stat-label, .detail-label, .profile-num, .footer-copy { color: var(--green) !important; }
.hero-body, .about-small, .line-small, .side-body, .intro-text, .section-body,
.stat-sub, .detail-value, .signup-body, .footer-copy { color: var(--ash) !important; }
.hero-title, .stat-num, .footer-logo { -webkit-text-stroke-color: var(--cyan) !important; }

.stat-cell, .detail-cell, .callout, .contact-block, .security-notice,
.login-panel, .tos-panel, .settings-dropdown, .glass, .col-center {
	background: linear-gradient(145deg, rgba(39, 47, 88, 0.7), rgba(12, 15, 37, 0.78)) !important;
	border: 1px solid var(--rule) !important;
	box-shadow: inset 0 1px rgba(255,255,255,0.1), 0 22px 70px rgba(0,0,0,0.24);
	backdrop-filter: blur(18px) saturate(145%);
}
.stat-cell, .detail-cell, .callout, .contact-block, .security-notice { transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease; }
.stat-cell:hover, .detail-cell:hover, .callout:hover, .contact-block:hover, .security-notice:hover { transform: translateY(-7px); border-color: rgba(87, 232, 255, 0.75) !important; box-shadow: inset 0 1px rgba(255,255,255,0.16), 0 28px 75px rgba(0,0,0,0.38), 0 0 28px rgba(87,232,255,0.1); }

button, .auth-btn, .btn-primary, .btn-google, .google-btn, .tos-btn, .login-submit,
.settings-action-btn, .avatar-save-btn { color: var(--ink) !important; background: rgba(15, 22, 51, 0.68) !important; border-color: rgba(87, 232, 255, 0.35) !important; transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease !important; }
button:hover, .auth-btn:hover, .btn-primary:hover:not(:disabled), .login-submit:hover:not(:disabled), .tos-btn.accept:hover { color: #08091a !important; background: var(--cyan) !important; border-color: var(--cyan) !important; box-shadow: 0 0 28px rgba(87, 232, 255, 0.35); transform: translateY(-2px); }
input { color: var(--ink) !important; border-color: var(--rule) !important; }
input::placeholder { color: #69749b !important; }
input:focus { border-color: var(--cyan) !important; box-shadow: 0 10px 24px -18px var(--cyan); }

.avatar { background: var(--glass-bright) !important; border-color: var(--rose) !important; box-shadow: 0 0 35px rgba(255, 121, 183, 0.25); }
.profile-status[data-verified="true"], #verified-status[data-verified="true"] { color: var(--green) !important; }
.profile-status[data-verified="false"], #verified-status[data-verified="false"] { color: var(--rose) !important; }
.title-vert { -webkit-text-stroke-color: var(--cyan) !important; opacity: 0.22 !important; }
#login-trigger {
  left: 30px !important;
  right: auto !important;
  bottom: 30px !important;
  width: 54px !important;
  height: 54px !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg, rgba(27, 34, 67, 0.86), rgba(8, 11, 26, 0.9)) !important;
  border-color: rgba(87, 232, 255, 0.4) !important;
  box-shadow: 0 18px 40px rgba(0,0,0,0.24), inset 0 1px rgba(255,255,255,0.12), 0 0 24px rgba(87,232,255,0.12) !important;
}
#login-trigger:hover {
  border-color: rgba(87,232,255,0.9) !important;
  box-shadow: 0 20px 48px rgba(0,0,0,0.28), 0 0 26px rgba(87,232,255,0.2) !important;
}
#login-trigger svg { stroke: var(--cyan) !important; }
#login-modal, #tosModal { background: rgba(2, 3, 14, 0.78) !important; }
.login-panel, .tos-panel, .settings-dropdown { box-shadow: 18px 22px 0 rgba(87,232,255,0.04), 0 30px 90px rgba(0,0,0,0.55); }

/* Story pages: soft rose light inside the machine world. */
#hero::before, #confession::before, #love-truth::before, #finale::before { background: radial-gradient(ellipse 58% 55% at 50% 44%, rgba(255, 121, 183, 0.14), transparent 68%) !important; }
#hero .hero-6, .solo-line, .confession-name, .finale-word { -webkit-text-stroke-color: var(--rose) !important; text-shadow: 0 0 75px rgba(255,121,183,0.18) !important; }
.hero-love-note, .line-big strong, .line-big em, .confession-body em, .glitch-word { color: var(--rose) !important; }
.chapter::before { background: linear-gradient(var(--rose), transparent) !important; box-shadow: 0 0 18px rgba(255,121,183,0.55); }
.love-still, .inventory, .count-block { background: rgba(16, 21, 49, 0.62) !important; border-color: rgba(255,121,183,0.25) !important; backdrop-filter: blur(16px); }
.callout { background: linear-gradient(110deg, rgba(255,121,183,0.11), rgba(12,15,37,0.72)) !important; }
.love-still::before { color: rgba(255,121,183,0.08) !important; }
.fh { color: rgba(255,121,183,0.35) !important; }

#love-hate {
	min-height: 78vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 120px 30px;
	position: relative;
	overflow: hidden;
}
#love-hate::before, #love-hate::after { content: ''; position: absolute; border: 1px solid rgba(255,121,183,0.16); border-radius: 50%; pointer-events: none; }
#love-hate::before { width: 58vw; height: 58vw; max-width: 680px; max-height: 680px; box-shadow: 0 0 100px rgba(255,121,183,0.08), inset 0 0 80px rgba(87,232,255,0.06); }
#love-hate::after { width: 39vw; height: 39vw; max-width: 460px; max-height: 460px; border-color: rgba(87,232,255,0.18); }
.love-hate-inner { width: min(680px, 100%); position: relative; z-index: 1; padding: 48px; border: 1px solid var(--rule); background: rgba(13, 16, 42, 0.64); backdrop-filter: blur(18px); box-shadow: inset 0 1px rgba(255,255,255,0.12), 0 30px 90px rgba(0,0,0,0.32); }
.love-hate-label { color: var(--green); font: 0.58rem 'DM Mono', monospace; letter-spacing: 0.18em; margin-bottom: 28px; }
.love-hate-title { display: flex; align-items: center; justify-content: space-between; font: 800 clamp(3.5rem, 10vw, 7.5rem)/0.9 'Syne', sans-serif; letter-spacing: -0.04em; }
.love-hate-title span:first-child { color: var(--rose); text-shadow: 0 0 30px rgba(255,121,183,0.28); }
.love-hate-title span:last-child { color: var(--cyan); text-shadow: 0 0 30px rgba(87,232,255,0.28); }
.love-hate-title i { color: var(--ash); font: normal 0.6em 'DM Mono', monospace; }
.love-hate-copy { min-height: 92px; margin: 42px 0 34px; color: var(--ink); font: italic clamp(1.35rem, 3vw, 2rem)/1.5 'Cormorant Garamond', Georgia, serif; }
.love-hate-control { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 14px; color: var(--ash); font: 0.56rem 'DM Mono', monospace; letter-spacing: 0.14em; text-transform: uppercase; }
.love-hate-control input { width: 100%; accent-color: var(--rose); cursor: pointer; }
.love-hate-readout { margin-top: 28px; color: var(--rose); font: 0.58rem 'DM Mono', monospace; letter-spacing: 0.16em; text-transform: uppercase; }

@media (max-width: 600px) {
	#love-hate { min-height: 70vh; padding: 84px 20px; }
	.love-hate-inner { padding: 28px 22px; }
	.love-hate-title { font-size: clamp(2.6rem, 15vw, 5rem); }
	.love-hate-copy { min-height: 132px; margin: 30px 0; }
}

@media (max-width: 768px) {
	nav, #nav { padding: 17px 22px !important; }
	#hero { padding-left: 24px !important; padding-right: 24px !important; }
	.content-wrap { display: block !important; }
	.col-left, .col-right { display: none !important; }
	.col-center { padding: 108px 24px 58px !important; border: 0 !important; }
	footer { padding: 54px 24px 38px !important; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
}

/* Interactive story layer. */
.journey-hud {
	position: fixed;
	right: 28px;
	bottom: 28px;
	z-index: 700;
	width: 210px;
	padding: 15px;
	border: 1px solid rgba(87, 232, 255, 0.3);
	background: rgba(10, 13, 35, 0.74);
	backdrop-filter: blur(18px) saturate(145%);
	box-shadow: inset 0 1px rgba(255,255,255,0.1), 0 14px 40px rgba(0,0,0,0.3);
	font: 0.58rem 'DM Mono', monospace;
	letter-spacing: 0.08em;
	color: var(--ash);
}
.journey-kicker { color: var(--rose); letter-spacing: 0.16em; margin-bottom: 11px; }
.journey-meter { height: 3px; background: rgba(87, 232, 255, 0.14); overflow: hidden; }
.journey-meter span { display: block; width: 0; height: 100%; background: linear-gradient(90deg, var(--rose), var(--cyan), var(--green)); box-shadow: 0 0 12px var(--cyan); transition: width 0.6s cubic-bezier(0.2, 0.8, 0.2, 1); }
.journey-state { color: var(--ink); margin: 11px 0 7px; line-height: 1.5; }
.journey-count { color: var(--ash); font-size: 0.52rem; }
.journey-count span { color: var(--green); }

.memory-choice {
	margin-top: 68px;
	padding: 18px 0 0;
	border-top: 1px solid rgba(255, 121, 183, 0.28);
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
}
.memory-choice-label { flex-basis: 100%; color: var(--rose); font: 0.58rem 'DM Mono', monospace; letter-spacing: 0.14em; text-transform: uppercase; }
.memory-choice button { padding: 10px 13px; font: 0.56rem 'DM Mono', monospace; letter-spacing: 0.09em; text-transform: uppercase; }
.memory-choice button:disabled { opacity: 0.36; }
.memory-choice.answered { border-top-color: rgba(182, 243, 108, 0.5); }
.memory-choice.answered .memory-choice-label::after { content: ' // memory logged'; color: var(--green); }
.chapter.memory-held { animation: chapter-glow 1.2s ease; }
@keyframes chapter-glow { 0% { background: rgba(255, 121, 183, 0.08); } 100% { background: transparent; } }

@media (max-width: 768px) {
	.journey-hud { right: 14px; bottom: 14px; width: 174px; padding: 11px; }
	.memory-choice { margin-top: 48px; }
	.memory-choice button { flex: 1; min-width: 110px; }
}

@media (prefers-reduced-motion: reduce) {
	.journey-meter span { transition: none; }
}

/* Lightweight spatial interaction layer. */
@media (pointer: fine) {
	body { cursor: none !important; }
	a, button, input, [role="button"] { cursor: none !important; }
	.cyber-cursor, .cyber-cursor-trail {
		position: fixed;
		left: 0;
		top: 0;
		width: 18px;
		height: 18px;
		border: 1px solid var(--cyan);
		border-radius: 50%;
		pointer-events: none;
		z-index: 10001;
		transform: translate3d(-50%, -50%, 0);
		margin: -9px 0 0 -9px;
		box-shadow: 0 0 16px rgba(87, 232, 255, 0.5);
		transition: width 0.2s ease, height 0.2s ease, border-color 0.2s ease;
	}
	.cyber-cursor::before, .cyber-cursor::after {
		content: '';
		position: absolute;
		background: var(--cyan);
	}
	.cyber-cursor::before { width: 28px; height: 1px; left: -6px; top: 8px; }
	.cyber-cursor::after { width: 1px; height: 28px; left: 8px; top: -6px; }
	.cyber-cursor span { position: absolute; inset: 6px; border-radius: 50%; background: var(--rose); box-shadow: 0 0 9px var(--rose); }
	.cyber-cursor-trail { width: 42px; height: 42px; border-color: rgba(255, 121, 183, 0.28); margin: -21px 0 0 -21px; box-shadow: none; transition: width 0.35s ease, height 0.35s ease; }
	body.cursor-active .cyber-cursor { width: 30px; height: 30px; margin: -15px 0 0 -15px; border-color: var(--green); box-shadow: 0 0 22px rgba(182, 243, 108, 0.6); }
	body.cursor-active .cyber-cursor-trail { width: 58px; height: 58px; margin: -29px 0 0 -29px; }
	a, button, input, [role="button"] { transform: translate3d(var(--magnet-x, 0), var(--magnet-y, 0), 0); }
}

.cyber-field { position: fixed; inset: 0; overflow: hidden; pointer-events: none; z-index: 2; }
.cyber-field i { position: absolute; left: var(--particle-x); bottom: -10px; width: var(--particle-size); height: var(--particle-size); border-radius: 50%; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); opacity: 0; animation: particle-rise var(--particle-duration) linear var(--particle-delay) infinite; }
.cyber-field i:nth-child(3n) { background: var(--rose); box-shadow: 0 0 14px var(--rose); }
.cyber-field i:nth-child(4n) { border-radius: 0; transform: rotate(45deg); background: var(--green); box-shadow: 0 0 14px var(--green); }
.cyber-field i.ember { width: calc(var(--particle-size) * 1.4); height: calc(var(--particle-size) * 3.2); border-radius: 55% 45% 50% 50%; background: #ff9b5f; box-shadow: 0 0 16px #ff754d, 0 0 30px rgba(255, 121, 83, 0.38); filter: blur(0.2px); }
@keyframes particle-rise { 0% { opacity: 0; transform: translate3d(0, 0, 0) scale(0.5); } 15% { opacity: 0.55; } 80% { opacity: 0.12; } 100% { opacity: 0; transform: translate3d(30px, -110vh, 0) scale(1.3); } }

.nav-logo { font-family: 'Syne', sans-serif !important; font-weight: 800; letter-spacing: 0.08em !important; }
.section-num, .chapter-num, .section-tag, .effective-date, .side-tag { letter-spacing: 0.18em !important; }
.hero-tag::before, .section-num::before, .chapter-num::before { content: '/// '; color: var(--rose); }
.footer-logo { font-family: 'Syne', sans-serif !important; font-weight: 800; }

@media (max-width: 768px), (prefers-reduced-motion: reduce) {
	.cyber-field { display: none; }
	.watermark-monogram { left: -0.12em; top: 31vh; font-size: 15rem; }
	.watermark-caption { right: 12px; }
	.watermark-mark { right: 16px; bottom: 16vh; width: 54px; height: 54px; font-size: 1.3rem; }
}
