/* =========================================================================
   GeeKPress Aurelian — theme.css
   Design DNA: midnight-navy grounds · antique-gold gilt frames with corner
   brackets (signature motif) · royal-violet interactives · Cinzel display.
   ========================================================================= */

:root {
	--aur-bg: #0a0d16;
	--aur-bg-deep: #060810;
	--aur-surface: #0f1322;
	--aur-surface-2: #151a2c;
	--aur-gold: #c9a86a;
	--aur-gold-bright: #e9d6a4;
	--aur-gold-dim: #8a744c;
	--aur-line: rgba(var(--aur-gold-rgb), 0.30);
	--aur-line-soft: rgba(var(--aur-gold-rgb), 0.16);
	--aur-violet: #8e5cf0;
	--aur-violet-2: #b491ff;
	--aur-violet-deep: #2a1d4e;
	--aur-blue: #5d7cf5;
	--aur-hot: #c2503e;
	--aur-text: #e8e4d9;
	--aur-text-dim: #a8a496;
	--aur-text-mute: #716e61;
	--aur-star: #e3b341;
	--aur-font-display: 'Cinzel', 'Times New Roman', serif;
	--aur-font-text: 'Hanken Grotesk', system-ui, sans-serif;
	--aur-font-mono: 'Spline Sans Mono', ui-monospace, monospace;
	--aur-radius: 10px;
	--aur-maxw: 1320px;

	/* palette-engine extras (2026-06-11): every literal in the theme was
	   swept onto these tokens — variants re-bind ONLY this block. */
	--aur-bg-rgb: 10, 13, 22;
	--aur-gold-rgb: 201, 168, 106;
	--aur-gold-bright-rgb: 233, 214, 164;
	--aur-gold-dim-rgb: 138, 116, 76;
	--aur-violet-rgb: 142, 92, 240;
	--aur-violet-2-rgb: 180, 145, 255;
	--aur-blue-rgb: 93, 124, 245;
	--aur-plate-hi: #1a1f35;
	--aur-plate-hov: #232947;
	--aur-plate-mid: #11152a;
	--aur-plate-lo: #0c0f1e;
	--aur-vbtn-1: #a87cfa;
	--aur-vbtn-2: #7e4ce0;
	--aur-vbtn-3: #5f33c4;
	--aur-ink: #06080f; /* deepest line work */
}

/* ---------- Base ---------- */

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body.aurelian-body {
	margin: 0;
	background:
		radial-gradient(1100px 480px at 50% -120px, rgba(var(--aur-violet-rgb), 0.10), transparent 65%),
		radial-gradient(900px 600px at 100% 0, rgba(var(--aur-gold-rgb), 0.05), transparent 60%),
		linear-gradient(180deg, var(--aur-bg) 0%, var(--aur-bg) 30%, var(--aur-bg-deep) 100%);
	background-attachment: fixed;
	color: var(--aur-text);
	font-family: var(--aur-font-text);
	font-size: 16px;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

.aurelian-body a { color: var(--aur-gold-bright); text-decoration: none; transition: color 0.18s ease; }
.aurelian-body a:hover { color: #fff; }

.aurelian-body h1, .aurelian-body h2, .aurelian-body h3,
.aurelian-body h4, .aurelian-body h5, .aurelian-body h6 {
	font-family: var(--aur-font-display);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--aur-text);
	text-wrap: balance;
}

.aurelian-body img { max-width: 100%; height: auto; }

.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px; width: 1px;
	overflow: hidden; position: absolute !important;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute; left: 12px; top: -48px; z-index: 200;
	background: var(--aur-violet); color: #fff; padding: 10px 18px;
	border-radius: 6px; transition: top 0.15s ease;
}
.skip-link:focus { top: 12px; clip: auto; clip-path: none; height: auto; width: auto; }

::selection { background: rgba(var(--aur-violet-rgb), 0.45); color: #fff; }

/* ---------- Signature motif: machined 3-D plates (2026-06-11) ----------
   Every card is a chamfered metal plate: all four corners cut at 45°,
   the 1px edge drawn by a border-box gradient LIT FROM THE TOP-LEFT
   (bright gold) and cooling into violet at the bottom-right, an inner
   top highlight + bottom shade for the bevel, and a drop-shadow that
   follows the cut silhouette. Corner glints ride the chamfers.       */

.aur-frame {
	position: relative;
	--aur-cut: 11px;
	border: 1px solid transparent;
	border-radius: 0;
	background:
		linear-gradient(180deg, var(--aur-plate-hi) 0%, var(--aur-plate-mid) 36%, var(--aur-plate-lo) 100%) padding-box,
		linear-gradient(150deg,
			rgba(var(--aur-gold-bright-rgb), 0.85) 0%,
			rgba(var(--aur-gold-rgb), 0.36) 22%,
			rgba(var(--aur-gold-dim-rgb), 0.18) 50%,
			rgba(var(--aur-violet-rgb), 0.26) 82%,
			rgba(var(--aur-violet-2-rgb), 0.55) 100%) border-box;
	clip-path: polygon(
		var(--aur-cut) 0, calc(100% - var(--aur-cut)) 0, 100% var(--aur-cut),
		100% calc(100% - var(--aur-cut)), calc(100% - var(--aur-cut)) 100%,
		var(--aur-cut) 100%, 0 calc(100% - var(--aur-cut)), 0 var(--aur-cut));
	/* clip-path eats box-shadow → the elevation is a drop-shadow that
	   traces the chamfered silhouette */
	filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.45)) drop-shadow(0 2px 5px rgba(0, 0, 0, 0.5));
	box-shadow:
		inset 0 1px 0 rgba(var(--aur-gold-bright-rgb), 0.10),
		inset 0 -1px 0 rgba(0, 0, 0, 0.46);
}
.aur-frame:hover { filter: drop-shadow(0 12px 20px rgba(0, 0, 0, 0.45)) drop-shadow(0 0 9px rgba(var(--aur-gold-rgb), 0.16)); }

/* corner glints — light streaks lying ON the 45° cuts; top-left pair
   catches the gold light, the bottom-right pair cools to violet */
.aur-corners { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
.aur-c {
	position: absolute; width: 17px; height: 2px;
	border: 0; opacity: 0.85; border-radius: 2px;
	background: linear-gradient(90deg, transparent, var(--aur-gold-bright), transparent);
	box-shadow: 0 0 6px rgba(var(--aur-gold-bright-rgb), 0.4);
}
.aur-c--tl { top: 4.5px; left: -3px; transform: rotate(-45deg); }
.aur-c--tr { top: 4.5px; right: -3px; transform: rotate(45deg); }
.aur-c--bl { bottom: 4.5px; left: -3px; transform: rotate(45deg); opacity: 0.55; }
.aur-c--br {
	bottom: 4.5px; right: -3px; transform: rotate(-45deg);
	background: linear-gradient(90deg, transparent, var(--aur-violet-2), transparent);
	box-shadow: 0 0 6px rgba(var(--aur-violet-2-rgb), 0.4);
}

.aur-frame:hover > .aur-corners .aur-c { opacity: 1; }

/* tighter cut for small plates */
.aur-card { --aur-cut: 9px; }
.aur-side-card { --aur-cut: 9px; }

.aur-diamond {
	display: inline-block; width: 8px; height: 8px; flex: none;
	background: linear-gradient(135deg, var(--aur-gold-bright), var(--aur-gold-dim));
	transform: rotate(45deg);
	margin-right: 14px;
	vertical-align: middle;
}
.aur-diamond--xs { width: 5px; height: 5px; margin-right: 10px; }

/* ---------- Buttons & chips ---------- */

.aur-btn {
	display: inline-flex; align-items: center; gap: 10px;
	font-family: var(--aur-font-display); font-size: 14px; font-weight: 600;
	letter-spacing: 0.14em; text-transform: uppercase;
	padding: 13px 26px; border-radius: 8px; border: 1px solid var(--aur-line);
	cursor: pointer; transition: all 0.18s ease;
	/* pressed-metal bevel: lit top edge, sunken bottom edge */
	background: linear-gradient(180deg, var(--aur-plate-hi), var(--aur-surface));
	box-shadow:
		inset 0 1px 0 rgba(var(--aur-gold-bright-rgb), 0.12),
		inset 0 -2px 0 rgba(0, 0, 0, 0.38),
		0 6px 14px rgba(0, 0, 0, 0.35);
}
.aur-btn:active { transform: translateY(1px); box-shadow: inset 0 1px 0 rgba(0, 0, 0, 0.3), 0 3px 8px rgba(0, 0, 0, 0.3); }
.aur-btn--violet {
	background: linear-gradient(180deg, var(--aur-vbtn-1), var(--aur-vbtn-2));
	border-color: rgba(var(--aur-violet-2-rgb), 0.55);
	color: #f6f1ff;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.28),
		inset 0 -2px 0 rgba(38, 16, 84, 0.55),
		0 6px 22px rgba(var(--aur-violet-rgb), 0.35);
}
.aur-btn--violet:hover { background: linear-gradient(180deg, var(--aur-vbtn-1), var(--aur-vbtn-2)); color: #fff; }
.aur-btn--gold {
	background: transparent; color: var(--aur-gold-bright);
}
.aur-btn--gold:hover { background: rgba(var(--aur-gold-rgb), 0.10); color: #fff; }

.aur-chip {
	display: inline-flex; align-items: center;
	font-family: var(--aur-font-mono); font-size: 11.5px; letter-spacing: 0.08em;
	text-transform: uppercase; color: var(--aur-gold-bright);
	border: 1px solid var(--aur-line-soft); border-radius: 5px;
	background: rgba(var(--aur-gold-rgb), 0.07);
	padding: 4px 11px;
	transition: all 0.15s ease;
}
a.aur-chip:hover { border-color: var(--aur-gold); color: #fff; }
.aur-chip--violet { color: var(--aur-violet-2); border-color: rgba(var(--aur-violet-rgb), 0.35); background: rgba(var(--aur-violet-rgb), 0.10); }
a.aur-chip--violet:hover { border-color: var(--aur-violet-2); }
.aur-chip-row { display: flex; flex-wrap: wrap; gap: 7px; }

/* ---------- Stars ---------- */

.aur-stars { display: inline-flex; gap: 3px; }
.aur-star {
	width: 11px; height: 11px;
	clip-path: polygon(50% 0, 63% 35%, 100% 38%, 71% 61%, 81% 100%, 50% 76%, 19% 100%, 29% 61%, 0 38%, 37% 35%);
	background: rgba(232, 228, 217, 0.16);
}
.aur-star.is-on { background: var(--aur-star); }

/* ---------- Header ---------- */

.aur-header {
	position: sticky; top: 0; z-index: 100;
	/* plate tokens so every palette/mode re-tints the bar */
	background: linear-gradient(180deg,
		color-mix(in srgb, var(--aur-plate-hi) 94%, transparent),
		color-mix(in srgb, var(--aur-bg-deep) 90%, transparent));
	backdrop-filter: blur(14px);
	/* top-lit plate edge, like the cards */
	box-shadow: inset 0 1px 0 rgba(var(--aur-gold-bright-rgb), 0.08);
}
.aur-brand-sigil svg { display: block; filter: drop-shadow(0 2px 5px rgba(0, 0, 0, 0.55)) drop-shadow(0 0 10px rgba(var(--aur-gold-rgb), 0.18)); }
/* brand sigil follows the palette — SVG gradient stops carry classes
   styled here (inline stop-color can't read tokens) */
.aur-brand-sigil .aur-sig-g1 { stop-color: var(--aur-gold-bright); }
.aur-brand-sigil .aur-sig-g2 { stop-color: var(--aur-gold); }
.aur-brand-sigil .aur-sig-g3 { stop-color: var(--aur-gold-dim); }
.aur-brand-sigil .aur-sig-d1 { stop-color: var(--aur-plate-hov); }
.aur-brand-sigil .aur-sig-d2 { stop-color: var(--aur-bg-deep); }
.aur-brand-sigil .aur-sig-core { fill: var(--aur-bg-deep); }
.aur-brand-sigil .aur-sig-glint { fill: color-mix(in srgb, var(--aur-gold-bright) 70%, #fff); opacity: 0.55; }
.aur-header-inner {
	max-width: var(--aur-maxw); margin: 0 auto;
	display: flex; align-items: center; gap: 30px;
	padding: 14px 28px;
}
.aur-header-rule {
	display: block; height: 1px;
	background: linear-gradient(90deg, transparent, var(--aur-line) 18%, var(--aur-line) 82%, transparent);
}

.aur-brand-link { display: inline-flex; align-items: center; gap: 12px; color: var(--aur-gold-bright); }
.aur-brand-sigil { display: inline-flex; color: var(--aur-gold); }
.aur-brand-name {
	font-family: var(--aur-font-display); font-size: 21px; font-weight: 700;
	letter-spacing: 0.22em; text-transform: uppercase; color: var(--aur-text);
}
.aur-brand-link:hover .aur-brand-name { color: #fff; }
.aur-brand .custom-logo { max-height: 44px; width: auto; }

.aur-nav { flex: 1; min-width: 0; }
.aur-nav-list {
	list-style: none; margin: 0; padding: 0;
	display: flex; align-items: center; gap: 6px; flex-wrap: wrap;
}
.aur-nav-list li { position: relative; }
.aur-nav-list a {
	display: block; padding: 8px 13px;
	font-family: var(--aur-font-display); font-size: 12.5px; font-weight: 600;
	letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--aur-text-dim); border-bottom: 1px solid transparent;
}
.aur-nav-list a:hover { color: var(--aur-gold-bright); }
.aur-nav-list .current-menu-item > a,
.aur-nav-list .current_page_item > a {
	color: var(--aur-gold-bright);
	border-bottom-color: var(--aur-gold);
}
.aur-nav-list .sub-menu {
	display: none; position: absolute; top: 100%; left: 0; min-width: 210px;
	list-style: none; margin: 0; padding: 8px;
	background: var(--aur-surface); border: 1px solid var(--aur-line-soft);
	border-radius: 8px; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.5);
}
.aur-nav-list li:hover > .sub-menu,
.aur-nav-list li:focus-within > .sub-menu { display: block; }

.aur-header-tools { display: flex; align-items: center; gap: 14px; }
.aur-search {
	display: flex; align-items: center;
	border: 1px solid var(--aur-line-soft); border-radius: 999px;
	background: rgba(15, 19, 34, 0.85); overflow: hidden;
	transition: border-color 0.15s ease;
}
.aur-search:focus-within { border-color: var(--aur-gold); }
.aur-search input {
	border: 0; background: transparent; color: var(--aur-text);
	font-family: var(--aur-font-text); font-size: 13.5px;
	padding: 9px 4px 9px 18px; width: 185px; outline: none;
}
.aur-search input::placeholder { color: var(--aur-text-mute); }
.aur-search button {
	border: 0; background: transparent; color: var(--aur-gold);
	padding: 9px 14px; cursor: pointer; display: inline-flex;
}

.aur-nav-toggle { display: none; border: 1px solid var(--aur-line-soft); background: transparent; border-radius: 8px; padding: 9px 11px; cursor: pointer; }
.aur-nav-toggle-bars { display: grid; gap: 4px; }
.aur-nav-toggle-bars i { display: block; width: 18px; height: 1.6px; background: var(--aur-gold-bright); }

/* ---------- Layout shells ---------- */

.aur-main {
	max-width: var(--aur-maxw);
	margin: 0 auto;
	padding: 34px 28px 90px;
}

/* ---------- Section headers ---------- */

.aur-sect { display: flex; align-items: center; gap: 20px; margin: 0 0 24px; }
.aur-sect-title {
	display: flex; align-items: center; margin: 0;
	font-size: 19px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase;
	color: var(--aur-gold-bright); white-space: nowrap;
}
.aur-sect-rule {
	flex: 1; height: 1px; min-width: 40px;
	background: linear-gradient(90deg, var(--aur-line), var(--aur-line-soft) 55%, transparent);
}
.aur-sect-link {
	font-family: var(--aur-font-mono); font-size: 12px; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--aur-violet-2); white-space: nowrap;
}
.aur-sect-link:hover { color: #fff; }
.aur-sect-title-sm {
	font-size: 14px; letter-spacing: 0.16em; text-transform: uppercase;
	color: var(--aur-gold-bright); margin: 0 0 14px;
}

.aur-front-sect { margin-top: 56px; }
.aur-front-sect:empty { display: none; }
.aur-game-sect { margin-top: 48px; }

/* ---------- Front hero ---------- */

.aur-hero {
	display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 40px;
	padding: 34px; overflow: hidden;
}
.aur-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none;
	background:
		radial-gradient(620px 320px at 85% 0%, rgba(var(--aur-violet-rgb), 0.14), transparent 70%),
		radial-gradient(420px 260px at 0% 100%, rgba(var(--aur-gold-rgb), 0.07), transparent 70%);
	border-radius: inherit;
}
.aur-hero-cover { position: relative; z-index: 1; }
.aur-hero-cover-frame {
	display: block; aspect-ratio: 3 / 4.1; overflow: hidden; padding: 7px;
}
.aur-hero-cover-frame img,
.aur-hero-cover-frame .aur-card-noposter {
	width: 100%; height: 100%; object-fit: cover; border-radius: 6px; display: block;
}
.aur-hero-info { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; gap: 16px; min-width: 0; }
.aur-hero-kicker {
	margin: 0; font-family: var(--aur-font-mono); font-size: 12px;
	letter-spacing: 0.3em; text-transform: uppercase; color: var(--aur-gold);
}
.aur-hero-title { margin: 0; font-size: clamp(30px, 4.4vw, 52px); font-weight: 700; line-height: 1.08; }
.aur-hero-title a { color: var(--aur-text); }
.aur-hero-title a:hover { color: var(--aur-gold-bright); }
.aur-hero-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.aur-hero-date { font-family: var(--aur-font-mono); font-size: 13px; color: var(--aur-text-dim); letter-spacing: 0.06em; }
.aur-hero-score { display: flex; align-items: center; gap: 14px; }
.aur-hero-score-num {
	font-family: var(--aur-font-display); font-size: 44px; font-weight: 700;
	color: var(--aur-blue); line-height: 1;
	text-shadow: 0 0 26px rgba(var(--aur-blue-rgb), 0.45);
}
.aur-hero-score-detail { display: grid; gap: 5px; }
.aur-hero-score-detail small { color: var(--aur-text-mute); font-size: 12px; }
.aur-hero-cta { margin-top: 6px; }

/* ---------- Game cards ---------- */

.aur-games { display: grid; gap: 22px; }
.aur-games--grid { grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.aur-games--rail {
	grid-auto-flow: column; grid-auto-columns: 196px;
	overflow-x: auto; padding-bottom: 10px;
	scrollbar-width: thin; scrollbar-color: var(--aur-gold-dim) transparent;
}

.aur-card { overflow: hidden; transition: transform 0.2s ease, border-color 0.2s ease; }
.aur-card:hover { transform: translateY(-4px); border-color: var(--aur-line); }
.aur-card-cover { display: block; aspect-ratio: 3 / 4; overflow: hidden; padding: 6px 6px 0; }
.aur-card-cover img {
	width: 100%; height: 100%; object-fit: cover; display: block;
	border-radius: 6px; transition: transform 0.35s ease;
}
.aur-card:hover .aur-card-cover img { transform: scale(1.04); }

.aur-card-noposter {
	width: 100%; height: 100%; border-radius: 6px;
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px;
	background:
		radial-gradient(120% 90% at 50% 0%, rgba(var(--aur-violet-rgb), 0.16), transparent 60%),
		linear-gradient(160deg, #1a2036, #0c0f1c);
	border: 1px solid rgba(var(--aur-gold-rgb), 0.10);
	padding: 18px; text-align: center;
}
.aur-card-noposter-glyph { color: var(--aur-gold); font-size: 17px; }
.aur-card-noposter-title {
	font-family: var(--aur-font-display); font-size: 16px; font-weight: 600;
	letter-spacing: 0.08em; color: var(--aur-text-dim); line-height: 1.35;
}

.aur-card-body { padding: 13px 14px 15px; }
.aur-card-title { margin: 0 0 7px; font-size: 14.5px; font-weight: 600; letter-spacing: 0.05em; line-height: 1.35; }
.aur-card-title a { color: var(--aur-text); }
.aur-card-title a:hover { color: var(--aur-gold-bright); }
.aur-card-meta { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.aur-card-year, .aur-card-genre {
	font-family: var(--aur-font-mono); font-size: 11.5px;
	color: var(--aur-text-mute); letter-spacing: 0.05em;
}
.aur-card-rating { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; }
.aur-card-rating b { font-family: var(--aur-font-mono); font-size: 12.5px; color: var(--aur-star); font-weight: 600; }

/* ---------- Upcoming rows ---------- */

.aur-upcoming { display: grid; gap: 10px; }
.aur-upcoming-row {
	display: flex; align-items: center; gap: 18px;
	padding: 15px 20px; color: var(--aur-text);
}
.aur-upcoming-row:hover { border-color: var(--aur-line); color: var(--aur-gold-bright); }
.aur-upcoming-date {
	font-family: var(--aur-font-mono); font-size: 12.5px; letter-spacing: 0.06em;
	color: var(--aur-violet-2); min-width: 120px;
}
.aur-upcoming-title { font-family: var(--aur-font-display); font-weight: 600; letter-spacing: 0.06em; font-size: 16px; }
.aur-upcoming-arrow { margin-left: auto; color: var(--aur-gold); font-size: 19px; }

/* ---------- Platforms & companies ---------- */

.aur-platforms { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 16px; }
.aur-platform {
	display: flex; flex-direction: column; align-items: center; gap: 12px;
	padding: 22px 14px; text-align: center; color: var(--aur-text-dim);
	transition: transform 0.18s ease, border-color 0.18s ease;
}
.aur-platform:hover { transform: translateY(-3px); border-color: var(--aur-line); color: var(--aur-gold-bright); }
.aur-platform-logo img { max-height: 44px; width: auto; border-radius: 4px; }
.aur-platform-glyph { color: var(--aur-gold); font-size: 19px; }
.aur-platform-name { font-family: var(--aur-font-display); font-size: 13px; font-weight: 600; letter-spacing: 0.1em; text-transform: uppercase; }

.aur-companies { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
.aur-company { display: flex; align-items: center; gap: 16px; padding: 17px 20px; color: var(--aur-text); }
.aur-company:hover { border-color: var(--aur-line); }
.aur-company-mark {
	width: 48px; height: 48px; flex: none; border-radius: 8px;
	border: 1px solid var(--aur-line-soft);
	display: flex; align-items: center; justify-content: center; overflow: hidden;
	background: rgba(var(--aur-gold-rgb), 0.06);
}
.aur-company-mark img { width: 100%; height: 100%; object-fit: cover; }
.aur-company-mark b { font-family: var(--aur-font-display); font-size: 20px; color: var(--aur-gold-bright); }
.aur-company-info { display: grid; gap: 2px; min-width: 0; }
.aur-company-name { font-family: var(--aur-font-display); font-weight: 600; letter-spacing: 0.07em; }
.aur-company-sub { font-size: 12px; color: var(--aur-text-mute); }
.aur-company-arrow { margin-left: auto; color: var(--aur-gold); font-size: 19px; }

/* ---------- Empty state ---------- */

.aur-empty { padding: 44px 30px; text-align: center; }
.aur-empty-sigil { display: block; color: var(--aur-gold); font-size: 20px; margin-bottom: 14px; }
.aur-empty-title { margin: 0 0 6px; font-family: var(--aur-font-display); font-size: 19px; font-weight: 600; letter-spacing: 0.06em; }
.aur-empty-text { margin: 0 auto; max-width: 480px; color: var(--aur-text-dim); font-size: 14.5px; }
.aur-games--demo { margin-top: 22px; }

/* ---------- Breadcrumbs ---------- */

.aur-crumbs {
	display: flex; align-items: center; flex-wrap: wrap; gap: 9px;
	font-family: var(--aur-font-mono); font-size: 12px; letter-spacing: 0.07em;
	text-transform: uppercase; margin-bottom: 24px;
}
.aur-crumbs a { color: var(--aur-text-dim); }
.aur-crumbs a:hover { color: var(--aur-gold-bright); }
.aur-crumbs span[aria-current] { color: var(--aur-gold-bright); }
.aur-crumbs-sep { color: var(--aur-gold-dim); }

/* ---------- Game single: split-screen archetype ---------- */

.aur-game-split {
	display: grid;
	grid-template-columns: 285px minmax(0, 1fr);
	gap: 34px;
	align-items: start;
}
.aur-game-rail-sticky { position: sticky; top: 86px; display: grid; gap: 16px; }

.aur-game-cover { padding: 7px; overflow: hidden; }
.aur-game-cover img, .aur-game-cover .aur-card-noposter {
	width: 100%; aspect-ratio: 3 / 4.1; object-fit: cover; display: block; border-radius: 6px;
}
.aur-game-cover-date {
	display: grid; gap: 1px; text-align: center; padding: 12px 6px 8px;
}
.aur-game-cover-date small {
	font-family: var(--aur-font-mono); font-size: 10.5px; letter-spacing: 0.26em;
	text-transform: uppercase; color: var(--aur-text-mute);
}
.aur-game-cover-date span {
	font-family: var(--aur-font-display); font-size: 16px; font-weight: 600;
	letter-spacing: 0.1em; color: var(--aur-gold-bright);
}

.aur-game-railscore { display: flex; align-items: center; gap: 15px; padding: 16px 20px; }
.aur-game-railscore-num {
	font-family: var(--aur-font-display); font-size: 36px; font-weight: 700; line-height: 1;
	color: var(--aur-blue); text-shadow: 0 0 22px rgba(var(--aur-blue-rgb), 0.4);
}
.aur-game-railscore-side { display: grid; gap: 4px; }
.aur-game-railscore-side small { color: var(--aur-text-mute); font-size: 11.5px; }

.aur-game-tags, .aur-game-releases { padding: 17px 20px; display: grid; gap: 11px; }
.aur-rail-label {
	margin: 0; font-size: 11.5px; font-weight: 700; letter-spacing: 0.24em;
	text-transform: uppercase; color: var(--aur-gold);
}
.aur-release-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.aur-release-list li {
	display: flex; align-items: center;
	font-family: var(--aur-font-mono); font-size: 13px; color: var(--aur-text-dim);
}

.aur-game-flow { min-width: 0; }
.aur-game-app { min-width: 0; }

/* ---------- Screenshot showcase ---------- */

.aur-shots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.aur-shot { margin: 0; padding: 6px; overflow: hidden; }
.aur-shot img { width: 100%; height: 100%; object-fit: cover; border-radius: 6px; display: block; aspect-ratio: 16 / 9; }
.aur-shot--lead { grid-column: span 2; grid-row: span 2; }
.aur-shot--lead img { aspect-ratio: auto; height: 100%; }

/* ---------- Page heads / blog ---------- */

.aur-page-head { margin-bottom: 30px; }
.aur-page-title {
	display: flex; align-items: center; margin: 0 0 12px;
	font-size: clamp(24px, 3.4vw, 36px); font-weight: 700; letter-spacing: 0.1em;
}
.aur-page-sub { color: var(--aur-text-dim); max-width: 720px; margin-bottom: 14px; }

.aur-blog-cols { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 36px; align-items: start; }
.aur-blog-list { display: grid; gap: 24px; min-width: 0; }
.aur-sidebar { display: grid; gap: 20px; position: sticky; top: 86px; }
.aur-sidebar .widget { padding: 20px 22px; }
.aur-sidebar .widget ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.aur-sidebar .widget a { color: var(--aur-text-dim); }
.aur-sidebar .widget a:hover { color: var(--aur-gold-bright); }

.aur-post-card { overflow: hidden; }
.aur-post-thumb { display: block; padding: 6px 6px 0; }
.aur-post-thumb img { width: 100%; border-radius: 6px; display: block; object-fit: cover; max-height: 340px; }
.aur-post-body { padding: 20px 24px 24px; }
.aur-post-title { margin: 0 0 8px; font-size: 22px; }
.aur-post-title a { color: var(--aur-text); }
.aur-post-title a:hover { color: var(--aur-gold-bright); }
.aur-entry-meta {
	display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
	font-family: var(--aur-font-mono); font-size: 12px; letter-spacing: 0.06em;
	text-transform: uppercase; color: var(--aur-text-mute); margin-bottom: 10px;
}
.aur-entry-meta a { color: var(--aur-gold); }
.aur-post-excerpt { color: var(--aur-text-dim); font-size: 14.5px; }
.aur-post-excerpt p { margin: 0; }
.aur-readmore {
	display: inline-flex; align-items: center; gap: 7px; margin-top: 12px;
	font-family: var(--aur-font-mono); font-size: 12px; letter-spacing: 0.1em;
	text-transform: uppercase; color: var(--aur-violet-2);
}
.aur-readmore:hover { color: #fff; }

/* ---------- Prose ---------- */

.aur-prose { max-width: 820px; }
.aur-prose p { color: var(--aur-text-dim); }
.aur-prose a { text-decoration: underline; text-underline-offset: 3px; }
.aur-prose blockquote {
	margin: 28px 0; padding: 4px 0 4px 24px;
	border-left: 2px solid var(--aur-gold);
	font-family: var(--aur-font-display); font-size: 18px; color: var(--aur-text);
}
.aur-prose code { font-family: var(--aur-font-mono); background: rgba(var(--aur-gold-rgb), 0.08); padding: 2px 6px; border-radius: 4px; font-size: 0.9em; }

.aur-article-head { margin-bottom: 26px; }
.aur-article-title { margin: 10px 0 12px; font-size: clamp(28px, 4vw, 42px); }
.aur-article-hero { margin: 0 0 30px; padding: 7px; }
.aur-article-hero img { width: 100%; border-radius: 6px; display: block; }
.aur-comments { margin-top: 44px; padding: 26px 28px; }

/* ---------- Pagination ---------- */

.aur-pagination ul { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.aur-pagination a, .aur-pagination span.page-numbers {
	display: inline-block; min-width: 40px; text-align: center; padding: 9px 13px;
	border: 1px solid var(--aur-line-soft); border-radius: 7px;
	font-family: var(--aur-font-mono); font-size: 13px; color: var(--aur-text-dim);
}
.aur-pagination a:hover { border-color: var(--aur-gold); color: var(--aur-gold-bright); }
.aur-pagination span.current { border-color: var(--aur-violet); color: #fff; background: rgba(var(--aur-violet-rgb), 0.18); }

/* ---------- 404 ---------- */

.aur-404 { display: grid; place-items: center; min-height: 52vh; }
.aur-404-box { max-width: 560px; width: 100%; text-align: center; padding: 56px 40px; display: grid; gap: 14px; justify-items: center; }
.aur-404-code {
	margin: 0; font-family: var(--aur-font-display); font-size: 72px; font-weight: 800;
	color: transparent; line-height: 1;
	background: linear-gradient(180deg, var(--aur-gold-bright), var(--aur-gold-dim));
	-webkit-background-clip: text; background-clip: text;
}
.aur-404-title { margin: 0; font-size: 24px; }
.aur-404-text { margin: 0; color: var(--aur-text-dim); }
.aur-page-search .aur-search { max-width: 360px; margin: 6px auto; }

/* ---------- GeeKPress shortcode pages ---------- */

.aur-geekp-page { padding-top: 22px; }
.aur-geekp-app { min-width: 0; }

/* ---------- Footer ---------- */

.aur-footer { max-width: var(--aur-maxw); margin: 0 auto; padding: 30px 28px 56px; text-align: center; }
.aur-footer-emblem { display: flex; align-items: center; gap: 22px; margin-bottom: 24px; }
.aur-footer-rule { flex: 1; height: 1px; background: linear-gradient(90deg, transparent, var(--aur-line)); }
.aur-footer-rule:last-of-type { background: linear-gradient(90deg, var(--aur-line), transparent); }
.aur-footer-sigil { color: var(--aur-gold); display: inline-flex; }
.aur-footer-list { list-style: none; margin: 0 0 14px; padding: 0; display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 22px; }
.aur-footer-list a {
	font-family: var(--aur-font-display); font-size: 12px; font-weight: 600;
	letter-spacing: 0.18em; text-transform: uppercase; color: var(--aur-text-dim);
}
.aur-footer-list a:hover { color: var(--aur-gold-bright); }
.aur-footer-copy {
	margin: 0; font-family: var(--aur-font-mono); font-size: 12px;
	letter-spacing: 0.14em; text-transform: uppercase; color: var(--aur-text-mute);
}
.aur-footer-copy span { color: var(--aur-gold-dim); margin: 0 8px; }


/* ================================================================
   HEADER KIT (2026-06-11): global autocomplete search (ported from
   the marquee/movie companion family, re-tokened to --aur-*),
   session account icons, and the WP admin-bar sticky offset.
   ================================================================ */

/* sticky header must clear the WP admin bar when logged in */
body.admin-bar .aur-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .aur-header { top: 46px; } }

/* account icons */
.aur-topbar-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 38px; height: 38px; flex: none;
	border: 1px solid var(--aur-line-soft); border-radius: 0;
	clip-path: polygon(5px 0, calc(100% - 5px) 0, 100% 5px, 100% calc(100% - 5px), calc(100% - 5px) 100%, 5px 100%, 0 calc(100% - 5px), 0 5px);
	background: linear-gradient(180deg, var(--aur-plate-hi), var(--aur-plate-lo));
	color: var(--aur-gold);
	box-shadow: inset 0 1px 0 rgba(var(--aur-gold-bright-rgb), 0.10), inset 0 -1px 0 rgba(0, 0, 0, 0.4);
	transition: color 0.15s ease, border-color 0.15s ease;
}
.aur-topbar-icon:hover { color: var(--aur-gold-bright); border-color: var(--aur-gold); }
.aur-topbar-icon .aur-topbar-avatar,
.aur-topbar-icon img { width: 26px; height: 26px; border-radius: 50%; display: block; object-fit: cover; }

/* comment header of the ported block starts mid-rule — make it whole */
/* .gpg-search — global autocomplete (ported) */
.aur-search-wrap { flex: 1 1 auto; max-width: 480px; min-width: 0; display: flex; justify-content: flex-end; }
.gpg-search {
  position: relative;
  display: flex;
  align-items: stretch;
  width: 100%;
  background: color-mix(in srgb, var(--aur-bg, #1a0a0e) 70%, transparent);
  border: 1px solid var(--aur-line, rgba(168, 116, 32, 0.30));
  border-radius: 2px;
  overflow: visible;
}
.gpg-search-type {
  appearance: none; -webkit-appearance: none;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--aur-line, rgba(168, 116, 32, 0.30));
  color: var(--aur-text, #f6e8c4);
  font-family: var(--aur-font-mono, "IBM Plex Mono", monospace);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 0 24px 0 12px;
  cursor: pointer;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--aur-gold, #f5c518) 50%),
    linear-gradient(135deg, var(--aur-gold, #f5c518) 50%, transparent 50%);
  background-position: calc(100% - 12px) center, calc(100% - 7px) center;
  background-size: 5px 5px;
  background-repeat: no-repeat;
}
.gpg-search-type:focus { outline: none; color: var(--aur-gold, #f5c518); }
.gpg-search-field {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  color: var(--aur-text-mute, #c0a070);
  min-width: 0;
}
.gpg-search-field svg { width: 14px; height: 14px; flex-shrink: 0; }
.gpg-search-input {
  flex: 1 1 auto; min-width: 0;
  border: 0; background: transparent;
  color: var(--aur-text, #f6e8c4);
  font-family: var(--aur-font-text, "Inter", sans-serif);
  font-size: 13px;
  letter-spacing: 0.02em;
  height: 38px;
  outline: none;
}
.gpg-search-input::placeholder { color: var(--aur-text-mute, #c0a070); font-family: var(--aur-font-mono); font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; }
.gpg-search-results {
  position: absolute;
  top: calc(100% + 6px); left: 0; right: 0;
  background: var(--aur-surface, var(--aur-surface));
  border: 1px solid var(--aur-line, rgba(168, 116, 32, 0.55));
  border-radius: 2px;
  max-height: 480px;
  overflow-y: auto;
  z-index: 70;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.65);
}
.gpg-search-results[hidden] { display: none; }
.gpg-search-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  color: var(--aur-text, #f6e8c4);
  text-decoration: none;
  border-bottom: 1px solid var(--aur-line, rgba(168, 116, 32, 0.20));
  transition: background 0.15s ease;
}
.gpg-search-item:last-child { border-bottom: 0; }
.gpg-search-item:hover,
.gpg-search-item.is-active {
  background: color-mix(in srgb, var(--aur-gold, #f5c518) 12%, transparent);
  color: var(--aur-gold, #f5c518);
}
.gpg-search-thumb {
  width: 34px; height: 48px;
  background-color: color-mix(in srgb, var(--aur-gold, #f5c518) 10%, transparent);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border-radius: 2px;
  flex-shrink: 0;
}
.gpg-search-info { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.gpg-search-title {
  font-size: 13px; font-weight: 600;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.gpg-search-year  { color: var(--aur-text-mute, #c0a070); font-weight: 400; font-size: 12px; }
.gpg-search-badge {
  font-size: 10px; font-weight: 600;
  letter-spacing: 0.10em; text-transform: uppercase;
  color: var(--aur-gold, #f5c518);
  background: color-mix(in srgb, var(--aur-gold, #f5c518) 10%, transparent);
  border: 1px solid var(--aur-line, rgba(168, 116, 32, 0.30));
  padding: 3px 8px;
  border-radius: 2px;
  flex-shrink: 0;
}
.gpg-search-empty {
  padding: 16px 12px;
  text-align: center;
  color: var(--aur-text-mute, #c0a070);
  font-size: 12px;
  font-family: var(--aur-font-mono);
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
@media (max-width: 880px) {
  .aur-search-wrap { display: none; }
}



/* ── Header balance (2026-06-11): keep the nav on ONE line ─────────
   The ported search box was greedy (flex 1 1 auto / 480px) and pushed
   COMPANIES + LISTS onto a second row. Search yields, nav never wraps. */
.aur-header-inner { gap: 20px; }
.aur-nav-list { flex-wrap: nowrap; gap: 2px; }
.aur-nav { overflow-x: auto; scrollbar-width: none; }
.aur-nav::-webkit-scrollbar { display: none; }
.aur-nav-list a { padding: 8px 10px; font-size: 12px; letter-spacing: 0.1em; white-space: nowrap; }
.aur-search-wrap { flex: 0 1 330px; min-width: 190px; }
.gpg-search-type { padding: 0 20px 0 10px; font-size: 10.5px; }
@media (max-width: 1100px) {
	.aur-search-wrap { flex-basis: 230px; }
	.aur-nav-list a { padding: 8px 8px; letter-spacing: 0.06em; }
}

/* ── Special homepage container (2026-06-11): NOT full-bleed — the
   widget grid sits inside the theme's default content width. ── */
body.aurelian-body .gpg-home {
	max-width: var(--aur-maxw);
	margin-left: auto;
	margin-right: auto;
	padding-left: 28px;
	padding-right: 28px;
}
@media (max-width: 900px) {
	body.aurelian-body .gpg-home { padding-left: 20px; padding-right: 20px; }
}

/* ════════════════════════════════════════════════════════════════
   VIDEO / IMAGE SINGLE (2026-06-11) — the plugin renders gp_video
   pages server-side with INLINE styles + the .geekui wrapper (green
   link trap). Re-dress into the plate language; !important is the
   only way past the inline attributes.
   ════════════════════════════════════════════════════════════════ */
.aurelian-body .geekui-video-single a { color: var(--aur-gold-bright) !important; }
.aurelian-body .geekui-video-single a:hover { color: #fff !important; }
.aurelian-body .gp-video-title {
	font-family: var(--aur-font-display) !important;
	letter-spacing: 0.03em;
	color: var(--aur-text) !important;
}
.aurelian-body .gp-video-meta {
	font-family: var(--aur-font-mono) !important;
	color: var(--aur-text-mute) !important;
}
.aurelian-body .gp-video-frame {
	border: 1px solid transparent !important;
	border-radius: 0 !important;
	background:
		linear-gradient(#000, #000) padding-box,
		linear-gradient(150deg,
			rgba(var(--aur-gold-bright-rgb), 0.8) 0%,
			rgba(var(--aur-gold-rgb), 0.32) 24%,
			rgba(var(--aur-gold-dim-rgb), 0.16) 55%,
			rgba(var(--aur-violet-2-rgb), 0.45) 100%) border-box !important;
	clip-path: polygon(9px 0, calc(100% - 9px) 0, 100% 9px, 100% calc(100% - 9px), calc(100% - 9px) 100%, 9px 100%, 0 calc(100% - 9px), 0 9px);
	filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.45));
}
.aurelian-body .gp-video-game {
	background:
		linear-gradient(180deg, var(--aur-plate-hi) 0%, var(--aur-plate-mid) 36%, var(--aur-plate-lo) 100%) padding-box,
		linear-gradient(150deg,
			rgba(var(--aur-gold-bright-rgb), 0.85) 0%,
			rgba(var(--aur-gold-rgb), 0.36) 22%,
			rgba(var(--aur-gold-dim-rgb), 0.18) 50%,
			rgba(var(--aur-violet-rgb), 0.26) 82%,
			rgba(var(--aur-violet-2-rgb), 0.55) 100%) border-box !important;
	border: 1px solid transparent !important;
	border-radius: 0 !important;
	clip-path: polygon(9px 0, calc(100% - 9px) 0, 100% 9px, 100% calc(100% - 9px), calc(100% - 9px) 100%, 9px 100%, 0 calc(100% - 9px), 0 9px);
	box-shadow:
		inset 0 1px 0 rgba(var(--aur-gold-bright-rgb), 0.10),
		inset 0 -1px 0 rgba(0, 0, 0, 0.46) !important;
}
.aurelian-body .gp-video-game-poster {
	border-radius: 0 !important;
	border-color: var(--aur-line) !important;
}
/* the inline-styled cyan pill CTA → violet machined button */
.aurelian-body .gp-video-game a[style*="999px"] {
	background:
		linear-gradient(180deg, var(--aur-vbtn-1) 0%, var(--aur-vbtn-2) 55%, var(--aur-vbtn-3) 100%) padding-box,
		linear-gradient(150deg, rgba(241, 231, 255, 0.85) 0%, rgba(var(--aur-violet-2-rgb), 0.5) 40%, rgba(70, 30, 150, 0.7) 100%) border-box !important;
	border: 1px solid transparent !important;
	border-radius: 0 !important;
	clip-path: polygon(6px 0, calc(100% - 6px) 0, 100% 6px, 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 6px);
	color: #f6f1ff !important;
	font-family: var(--aur-font-display) !important;
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.38),
		inset 0 -2px 0 rgba(32, 10, 76, 0.6) !important;
}
