/* ==========================================================================
   AI Game Atlas — boss hero layer (home + the four lairs)
   Hero canvas · boss bar · battle FX · level gate
   ========================================================================== */
/* ---------- Hero ---------- */
.aga-hero {
	position: relative; isolation: isolate; overflow: hidden;
		display: flex; flex-direction: column; justify-content: flex-start; gap: 28px;
	padding-top: calc(var(--hdr, 64px) + 12px);
	min-height: 620px; min-height: max(620px, 100vh); min-height: max(620px, 100svh);
	background: var(--void);
}
.aga-hero__poster, .aga-hero__poster img, .aga-hero__canvas, .aga-hero__shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.aga-hero__poster img { object-fit: cover; object-position: 50% 32%; transform: scale(1.04); transition: opacity 1.6s var(--ease-io), transform 8s var(--ease-out); }
.aga-hero__canvas { z-index: 1; display: block; opacity: 0; transition: opacity 1.4s var(--ease-io); touch-action: pan-y; }
.aga-hero.is-live .aga-hero__canvas { opacity: 1; }
.aga-hero.is-live .aga-hero__poster img { opacity: 0; transform: scale(1.12); }
.aga-hero__shade {
	z-index: 2; pointer-events: none;
	background:
		radial-gradient(70% 60% at 12% 100%, rgba(7, 5, 11, .88), rgba(7, 5, 11, 0) 70%),
		linear-gradient(180deg, rgba(7, 5, 11, 0) 62%, var(--void) 100%);
}
body.aga-ghosted .aga-hero__canvas { filter: grayscale(.75) brightness(.8) hue-rotate(210deg); transition: filter 1.2s; }

/* Copy */
.aga-hero__copy {
		position: relative; z-index: 4;
	margin: auto 0 clamp(72px, 12vh, 140px) clamp(20px, 5vw, 88px);   /* in flow, pushed to the bottom: it can never run into the boss HUD */
		max-width: min(46rem, calc(100vw - 40px));
}
.aga-hero__realm {
	display: flex; align-items: center; gap: 12px; margin: 0 0 10px;
	font: italic 500 1.15rem/1.2 var(--f-serif); color: var(--gilt);
}
.aga-hero__realm::before { content: ""; width: 44px; height: 1px; background: linear-gradient(90deg, transparent, var(--gilt)); }
.aga-hero__title {
	margin: 0 0 18px;
	font-family: var(--f-display) !important; font-weight: 700 !important;
			font-size: clamp(2.2rem, 4vw, 4.2rem) !important; line-height: .98 !important; letter-spacing: .01em; max-width: 24ch;
	background: linear-gradient(180deg, #fff6dc 0%, #f0cf8a 38%, #b07c34 52%, #6b4418 58%, #e7c483 76%, #fff1c9 100%);
	-webkit-background-clip: text; background-clip: text; color: transparent !important;
	filter: drop-shadow(0 2px 0 rgba(0, 0, 0, .6)) drop-shadow(0 0 28px rgba(227, 38, 63, .28));
}
.aga-hero__lede { margin: 0 0 22px; max-width: 42rem; font-size: clamp(1rem, 1.25vw, 1.15rem); line-height: 1.6; color: rgba(236, 227, 212, .88); text-shadow: 0 1px 12px rgba(0, 0, 0, .8); }
.aga-hero__ctas { display: flex; flex-wrap: wrap; gap: 12px; }

/* Buttons: forged blade (primary) / gilt outline (ghost) */
.aga-btn {
	--cut: 12px;
	position: relative; isolation: isolate; display: inline-flex; align-items: center; justify-content: center;
	min-height: 52px; padding: 0 28px;
	font: 700 1rem/1 var(--f-ui); letter-spacing: .03em; text-decoration: none !important;
	clip-path: polygon(var(--cut) 0, 100% 0, 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, 0 100%, 0 var(--cut));
	transition: transform .35s var(--ease-out), color .3s;
}
.aga-btn::before { content: ""; position: absolute; inset: 1px; z-index: -1; clip-path: inherit; transition: background .4s; }
.aga-btn--primary { color: #fff5e2 !important; background: linear-gradient(180deg, var(--gilt-hi), var(--gilt-lo)); }
.aga-btn--primary::before { background: linear-gradient(180deg, #a3172d, #57081a 70%, #34040f); }
.aga-btn--primary::after {
	content: ""; position: absolute; inset: 0; z-index: -1; opacity: 0;
	background: radial-gradient(60% 120% at var(--mx, 50%) 120%, rgba(255, 170, 90, .65), transparent 70%);
	transition: opacity .4s;
}
.aga-btn--primary:hover::after { opacity: 1; }
.aga-btn--ghost { color: var(--gilt-hi) !important; background: rgba(213, 169, 90, .55); }
.aga-btn--ghost::before { background: rgba(10, 7, 15, .72); }
.aga-btn--ghost:hover::before { background: rgba(35, 23, 51, .9); }
.aga-btn:hover { transform: translateY(-2px); }
.aga-btn:active { transform: translateY(0) scale(.98); }

/* Hint + scroll cue */
.aga-hero__hint {
	position: absolute; z-index: 4; left: 50%; bottom: 26px; transform: translateX(-50%);
	margin: 0; max-width: 90vw; text-align: center; opacity: 0;
	font: italic 500 1rem/1.3 var(--f-serif); color: rgba(236, 227, 212, .75);
	transition: opacity 1s;
}
body.aga-adv-on .aga-hero.is-live .aga-hero__hint { opacity: 1; }
.aga-hero__hint.is-done { opacity: 0 !important; }
.aga-hint--touch { display: none; }
body.aga-touch .aga-hint--touch { display: inline; }
body.aga-touch .aga-hint--fine { display: none; }
.aga-hero__scroll { position: absolute; z-index: 4; right: clamp(20px, 4vw, 60px); bottom: 34px; width: 26px; height: 44px; border: 1px solid rgba(213, 169, 90, .5); border-radius: 13px; }
.aga-hero__scroll i { position: absolute; left: 50%; top: 9px; width: 2px; height: 8px; margin-left: -1px; background: var(--gilt-hi); animation: aga-scroll 2s var(--ease-io) infinite; }
@keyframes aga-scroll { 60% { transform: translateY(14px); opacity: 0; } 61% { transform: none; opacity: 0; } 100% { opacity: 1; } }
body.aga-adv-on .aga-hero__scroll { right: auto; left: 50%; transform: translateX(-50%); bottom: 64px; }

/* ---------- Boss HUD ---------- */
.aga-boss {
		position: relative; z-index: 5; left: 50%; top: auto; flex: none; margin-top: 6px;   /* in flow at the top of the hero */
	width: min(1040px, 90vw); transform: translateX(-50%);
	opacity: 0; pointer-events: none;
}
body.aga-adv-off .aga-boss { display: none; }
.aga-boss.is-in { animation: aga-boss-in 1.6s var(--ease-out) forwards; }
@keyframes aga-boss-in {
	0% { opacity: 0; transform: translateX(-50%) translateY(-8px) scaleX(.2); filter: brightness(3); }
	50% { opacity: 1; filter: brightness(1.6); }
	100% { opacity: 1; transform: translateX(-50%); filter: none; }
}
.aga-boss__head { display: grid; grid-template-columns: 1fr auto; align-items: end; column-gap: 16px; margin: 0 52px 6px; }
.aga-boss__epithet { grid-column: 1; font: italic 500 .95rem/1 var(--f-serif); color: var(--gilt); }
.aga-boss__name { grid-column: 1; font: 700 clamp(1.25rem, 2.2vw, 1.9rem)/1.1 var(--f-display); color: var(--bone); letter-spacing: .03em; text-shadow: 0 2px 10px #000, 0 0 30px rgba(227, 38, 63, .35); }
.aga-boss__layers { grid-column: 2; grid-row: 1 / span 2; font: 500 1.2rem/1 var(--f-display); color: var(--gilt); }
.aga-boss__layers b { font-size: 2.3rem; font-weight: 700; color: var(--gilt-hi); font-variant-numeric: tabular-nums; text-shadow: 0 0 18px rgba(246, 223, 164, .5); }

.aga-boss__frame { position: relative; display: flex; align-items: center; }
.aga-boss__cap { width: 56px; height: 38px; flex: none; filter: drop-shadow(0 2px 6px rgba(0, 0, 0, .8)); }
.aga-boss__cap--l { margin-right: -6px; transform: scaleX(-1); }
.aga-boss__cap--r { margin-left: -6px; }
.aga-boss__track { flex: 1; display: grid; gap: 3px; }

.aga-boss__ward { position: relative; display: block; height: 7px; margin: 0 14px; background: rgba(20, 12, 36, .8); border: 1px solid rgba(185, 168, 255, .45); overflow: hidden; }
.aga-boss__ward i {
	position: absolute; inset: 0; transform-origin: left; transform: scaleX(var(--v, 1));
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='7'%3E%3Cpath d='M0 3.5 6 0l6 3.5L6 7Z' fill='none' stroke='%23fff' stroke-opacity='.45' stroke-width='.8'/%3E%3C/svg%3E"),
		linear-gradient(180deg, #efe8ff, #9a86ff 50%, #4d36b8);
	box-shadow: 0 0 12px rgba(154, 107, 255, .9);
	transition: transform .15s linear;
}
.aga-boss__ward.is-broken { border-color: rgba(185, 168, 255, .15); }
.aga-boss__ward.is-shatter { animation: aga-shatter .6s var(--ease-out); }
@keyframes aga-shatter { 0% { filter: brightness(4); transform: scaleY(2.4); } 100% { filter: none; transform: none; } }

.aga-boss__hp {
	position: relative; display: block; height: 20px; overflow: hidden;
	background: #0b0710;
	border: 1px solid var(--gilt);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .8), 0 0 0 1px rgba(0, 0, 0, .7), 0 6px 22px rgba(0, 0, 0, .65), 0 0 30px rgba(227, 38, 63, .18);
}
.aga-boss__hp i { position: absolute; inset: 0; transform-origin: left; }
.aga-boss__next { background: var(--next, #3b1f73); opacity: .85; }
.aga-boss__lag { background: linear-gradient(180deg, #fff3d6, #f2b35c); transform: scaleX(var(--lag, 1)); transition: transform .9s var(--ease-io) .45s; }
.aga-boss__fill {
	transform: scaleX(var(--v, 1));
	background: linear-gradient(180deg, color-mix(in srgb, var(--cur, #e3263f) 60%, #fff) 0%, var(--cur, #e3263f) 28%, color-mix(in srgb, var(--cur, #e3263f) 55%, #000) 100%);
	transition: transform .12s linear, background .4s;
}
.aga-boss__lattice { /* the heavy shield engraving over the bar */
	background:
		linear-gradient(180deg, rgba(255, 255, 255, .22), transparent 40%, transparent 70%, rgba(0, 0, 0, .35)),
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='26' height='20'%3E%3Cg fill='none' stroke='%23000' stroke-opacity='.38' stroke-width='1'%3E%3Cpath d='M0 10h5l3-6h10l3 6h5M8 4l-3 6 3 6h10l3-6-3-6'/%3E%3Cpath d='M13 7v6M10 10h6' stroke-opacity='.25'/%3E%3C/g%3E%3C/svg%3E");
	mix-blend-mode: normal;
}
.aga-boss__hp::after { /* sheen sweep on hit */
	content: ""; position: absolute; inset: 0; background: linear-gradient(100deg, transparent 40%, rgba(255, 255, 255, .5) 50%, transparent 60%);
	transform: translateX(-100%);
}
.aga-boss.is-hit .aga-boss__hp::after { animation: aga-sheen .45s linear; }
@keyframes aga-sheen { to { transform: translateX(100%); } }
.aga-boss.is-hit .aga-boss__frame { animation: aga-bosshit .16s linear; }
@keyframes aga-bosshit { 30% { transform: translate(2px, -1px); } 60% { transform: translate(-2px, 1px); } }
.aga-boss.is-stagger .aga-boss__hp { box-shadow: 0 0 0 1px #000, 0 0 26px rgba(246, 223, 164, .8); }
.aga-boss.is-stagger .aga-boss__name::after { content: " — staggered"; font: italic 500 1rem var(--f-serif); color: var(--gilt-hi); }

.aga-boss__meta { display: flex; justify-content: space-between; margin: 6px 52px 0; font: 500 .82rem/1 var(--f-ui); color: var(--ash); font-variant-numeric: tabular-nums; letter-spacing: .02em; }
[data-boss-phase] { font: italic 500 .95rem/1 var(--f-serif); color: var(--gilt); }

/* ---------- Battle FX layers ---------- */
.aga-fx { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.aga-fx__letterbox i { position: absolute; left: 0; right: 0; height: 10vh; background: #000; transform: scaleY(0); transition: transform 1.1s var(--ease-io); z-index: 6; will-change: transform; }   /* 2.23.2: scaled on the compositor, no layout per frame */
.aga-fx__letterbox i:first-child { top: 0; transform-origin: 50% 0; }
.aga-fx__letterbox i:last-child { bottom: 0; transform-origin: 50% 100%; }
.aga-hero.is-cine .aga-fx__letterbox i { transform: scaleY(1); }
.aga-hero.is-cine .aga-hero__copy, .aga-hero.is-cine .aga-hero__hint, .aga-hero.is-cine .aga-hero__scroll { opacity: 0; transition: opacity .8s; }
.aga-hero__copy { transition: opacity .8s; }

.aga-fx__tele { position: absolute; inset: 0; }
.aga-mark {
	position: absolute; left: 0; top: 0; width: calc(var(--r) * 2); height: calc(var(--r) * 2);
	margin: calc(var(--r) * -1) 0 0 calc(var(--r) * -1);
	transform: translate(var(--x), var(--y));
	border-radius: 50%;
	background: radial-gradient(circle, rgba(227, 38, 63, .28), rgba(227, 38, 63, .08) 62%, transparent 70%);
	box-shadow: inset 0 0 0 1.5px rgba(255, 70, 90, .85), 0 0 24px rgba(227, 38, 63, .45);
	animation: aga-mark-in .3s var(--ease-out);
}
.aga-mark::before { /* rotating rune ring */
	content: ""; position: absolute; inset: 8%; border-radius: 50%;
	border: 1.5px dashed rgba(255, 150, 160, .7);
	animation: aga-spin 3s linear infinite;
}
.aga-mark::after { /* closing timer ring */
	content: ""; position: absolute; inset: -30%; border-radius: 50%;
	border: 2px solid rgba(255, 230, 230, .9);
	animation: aga-close var(--t, 1s) linear forwards;
}
.aga-mark.is-boom { animation: aga-boom .5s var(--ease-out) forwards; }
@keyframes aga-mark-in { from { transform: translate(var(--x), var(--y)) scale(.2); opacity: 0; } }
@keyframes aga-close { from { transform: scale(1); opacity: .2; } to { transform: scale(.62); opacity: 1; } }
@keyframes aga-spin { to { transform: rotate(360deg); } }
@keyframes aga-boom { 0% { background: radial-gradient(circle, #fff, rgba(255, 90, 110, .8) 50%, transparent 70%); } 100% { opacity: 0; transform: translate(var(--x), var(--y)) scale(1.6); } }

.aga-reticle {
	position: absolute; left: 0; top: 0; width: 110px; height: 110px; margin: -55px 0 0 -55px;
	transform: translate(var(--x), var(--y));
	border-radius: 50%; border: 1.5px solid rgba(255, 70, 90, .9);
	box-shadow: 0 0 18px rgba(227, 38, 63, .6), inset 0 0 18px rgba(227, 38, 63, .35);
	transition: width .3s, height .3s, margin .3s;
}
.aga-reticle::before, .aga-reticle::after { content: ""; position: absolute; background: rgba(255, 90, 110, .9); }
.aga-reticle::before { left: 50%; top: -14px; bottom: -14px; width: 1.5px; margin-left: -.75px; }
.aga-reticle::after { top: 50%; left: -14px; right: -14px; height: 1.5px; margin-top: -.75px; }
.aga-reticle.is-locked { width: 70px; height: 70px; margin: -35px 0 0 -35px; border-color: #fff; box-shadow: 0 0 30px #ff2a45, inset 0 0 26px #ff2a45; animation: aga-lock .12s linear infinite alternate; }
@keyframes aga-lock { to { opacity: .55; } }

.aga-well {
	position: absolute; left: 0; top: 0; width: calc(var(--r) * 2); height: calc(var(--r) * 2); margin: calc(var(--r) * -1) 0 0 calc(var(--r) * -1);
	transform: translate(var(--x), var(--y)); border-radius: 50%;
	box-shadow: inset 0 0 0 1px rgba(185, 150, 255, .7), 0 0 40px rgba(122, 60, 255, .5);
	transition: width .2s linear, height .2s linear, margin .2s linear;
}
.aga-well::before { content: ""; position: absolute; inset: -12%; border-radius: 50%; border: 1px dashed rgba(200, 180, 255, .55); animation: aga-spin 1.6s linear infinite reverse; }

.aga-fx__cracks { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.aga-fx__cracks g { animation: aga-crackfade 3.2s ease-in forwards; }
.aga-fx__cracks path { fill: none; stroke: #fff; stroke-linecap: round; filter: drop-shadow(0 0 3px rgba(255, 60, 90, .9)); }
@keyframes aga-crackfade { 0%, 60% { opacity: 1; } 100% { opacity: 0; } }

.aga-fx__callout { position: absolute; left: 50%; top: calc(var(--hdr) + 140px); transform: translateX(-50%); text-align: center; width: 90vw; opacity: 0; transition: opacity .5s; }
.aga-fx__callout.is-on { opacity: 1; }
.aga-fx__skill { display: block; font: italic 600 clamp(1.5rem, 3vw, 2.4rem)/1.1 var(--f-serif); color: #ffe3e6; text-shadow: 0 0 22px rgba(227, 38, 63, .95), 0 2px 8px #000; }
.aga-fx__line { display: block; margin-top: 6px; font: 500 1rem/1.3 var(--f-ui); color: var(--ash); text-shadow: 0 1px 6px #000; }

.aga-fx__ward { position: absolute; left: 0; top: 0; width: 190px; height: 190px; margin: -95px 0 0 -95px; transform: translate(var(--x, 50vw), var(--y, 50vh)); display: none; text-align: center; }
.aga-fx__ward.is-on { display: block; animation: aga-ward-in .6s var(--ease-out); }
.aga-fx__ward svg { width: 100%; height: 100%; animation: aga-spin 6s linear infinite; filter: drop-shadow(0 0 12px rgba(246, 223, 164, .9)); }
.aga-fx__ward span { position: absolute; left: 50%; top: 100%; transform: translateX(-50%); white-space: nowrap; font: italic 600 1.1rem var(--f-serif); color: var(--gilt-hi); text-shadow: 0 0 10px #000; }
.aga-fx__ward.is-inside svg { filter: drop-shadow(0 0 22px #fff) drop-shadow(0 0 40px var(--gilt)); }
body.aga-touch .aga-fx__ward { pointer-events: auto; }
@keyframes aga-ward-in { from { opacity: 0; transform: translate(var(--x), var(--y)) scale(2.4) rotate(90deg); } }

.aga-fx__flash { position: absolute; inset: 0; z-index: 7; opacity: 0; background: #fff; }
.aga-fx__flash.is-white { animation: aga-flash .9s var(--ease-out); }
.aga-fx__flash.is-red { --fo: .5; background: #ff1f3d; mix-blend-mode: screen; animation: aga-flash .35s var(--ease-out); }
.aga-fx__flash.is-violet { --fo: .7; background: radial-gradient(circle at 50% 40%, #fff 0, #cfb6ff 34%, #7a3cff 78%); mix-blend-mode: screen; animation: aga-flash .55s var(--ease-out); }
.aga-fx__flash.is-neg { background: #fff; mix-blend-mode: difference; animation: aga-neg .5s steps(3) ; }
@keyframes aga-flash { 0% { opacity: var(--fo, .95); } 100% { opacity: 0; } }
@keyframes aga-neg { 0%, 66% { opacity: 1; } 100% { opacity: 0; } }

.aga-fx__banner {
	position: absolute; left: 0; right: 0; top: 50%; z-index: 8; transform: translateY(-50%);
	padding: 26px 0; text-align: center; opacity: 0;
	background: linear-gradient(180deg, transparent, rgba(0, 0, 0, .72) 25%, rgba(0, 0, 0, .72) 75%, transparent);
	font: 700 clamp(2rem, 6vw, 4.6rem)/1 var(--f-display); letter-spacing: .08em;
	color: var(--gilt-hi); text-shadow: 0 0 30px rgba(246, 223, 164, .6);
}
.aga-fx__banner.is-on { animation: aga-banner 3.6s var(--ease-out) forwards; }
.aga-fx__banner.is-ichor { color: #ff4a5e; text-shadow: 0 0 30px rgba(227, 38, 63, .8); }
.aga-fx__banner small { display: block; margin-top: 10px; font: italic 500 clamp(1rem, 1.6vw, 1.3rem)/1.2 var(--f-serif); letter-spacing: .02em; color: var(--bone); }
@keyframes aga-banner { 0% { opacity: 0; letter-spacing: .3em; } 15% { opacity: 1; } 80% { opacity: 1; letter-spacing: .1em; } 100% { opacity: 0; letter-spacing: .12em; } }

.aga-hero.is-shake { animation: aga-shake .5s linear; }
@keyframes aga-shake { 10% { transform: translate(-6px, 3px); } 25% { transform: translate(5px, -4px); } 40% { transform: translate(-4px, 2px); } 60% { transform: translate(3px, -2px); } 80% { transform: translate(-1px, 1px); } }

@media (max-width: 767px) {
	.aga-hero { min-height: 560px; }
	.aga-hero__poster img { object-position: 50% 30%; }
		.aga-boss { width: 94vw; margin-top: 0; }
	.aga-boss__head, .aga-boss__meta { margin-left: 30px; margin-right: 30px; }
	.aga-boss__epithet { display: none; }
	.aga-boss__layers b { font-size: 1.6rem; }
	.aga-boss__cap { width: 34px; height: 24px; }
	.aga-boss__hp { height: 13px; }
	.aga-boss__ward { height: 5px; margin: 0 8px; }
	.aga-boss__meta { font-size: .72rem; }
		.aga-hero__copy { margin-bottom: 96px; }
	.aga-hero__lede { font-size: 1rem; }
	.aga-btn { min-height: 48px; padding: 0 20px; }
	.aga-fx__callout { top: calc(var(--hdr) + 96px); }
	.aga-hero__hint { bottom: auto; top: calc(var(--hdr) + 104px); font-size: .85rem; width: 86vw; }
	.aga-boss__name { font-size: 1.05rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.aga-boss__layers { align-self: center; }
		.aga-hero__title { font-size: clamp(2rem, 8.4vw, 2.8rem) !important; }
	.aga-hero__lede { font-size: .98rem; margin-bottom: 20px; }
	body.aga-adv-on .aga-hero__scroll { display: none; }
		body.aga-adv-on .aga-hero__copy { margin-bottom: 110px; }
}
/* ---------- Verdict of Stillness: violet-white ring, closes over 1.5 s, then the ray ---------- */
.aga-mark--verdict {
	background: radial-gradient(circle, rgba(236, 224, 255, .26), rgba(122, 60, 255, .14) 60%, transparent 70%);
	box-shadow: inset 0 0 0 1.5px rgba(226, 208, 255, .95), 0 0 34px rgba(150, 90, 255, .6);
}
.aga-mark--verdict::before { border-color: rgba(240, 230, 255, .85); animation-duration: 1.4s; }
.aga-mark--verdict::after { border-color: rgba(255, 255, 255, .95); }
.aga-mark--verdict.is-locked { box-shadow: inset 0 0 0 2px #fff, 0 0 60px rgba(180, 130, 255, .95), inset 0 0 40px rgba(220, 200, 255, .8); animation: aga-lock .1s linear infinite alternate; }
.aga-mark--verdict.is-boom { animation: aga-boom-v .6s var(--ease-out) forwards; }
@keyframes aga-boom-v { 0% { background: radial-gradient(circle, #fff, rgba(190, 150, 255, .85) 50%, transparent 70%); } 100% { opacity: 0; transform: translate(var(--x), var(--y)) scale(1.9); } }

/* ---------- Level gate chip under the boss bar ---------- */
.aga-boss__gate { display: inline-flex; align-items: center; gap: 7px; margin: 8px 52px 0; padding: 4px 11px 4px 8px; border: 1px solid rgba(213, 169, 90, .45); background: rgba(10, 6, 14, .6); border-radius: 2px; font: 500 .8rem/1 var(--f-ui); letter-spacing: .03em; color: var(--gilt-hi); }
.aga-boss__gate svg { width: 15px; height: 15px; flex: none; color: var(--gilt); }
.aga-boss__gate b { font-weight: 700; }
.aga-boss__gate i { font-style: normal; color: var(--ash); }
.aga-boss__gate.is-open { border-color: rgba(120, 220, 160, .6); color: #c9f5d9; }
.aga-boss__gate.is-open svg { color: #7fe0a6; }
@media (max-width: 767px) { .aga-boss__gate { margin-left: 30px; font-size: .7rem; } .aga-boss__gate i { display: none; } }

/* ---------- Shared hero copy (2.12): search, topic chips, stats. Front page and all four lairs; lairs tint it with their own colours ---------- */
.aga-hero-search{margin:4px 0 0;max-width:36rem}
.aga-hero-search__label{display:block;font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--acc-2,var(--gilt,#d5a95a));font-weight:700;margin-bottom:.45rem}
.aga-hero-search__box{display:flex;align-items:center;gap:10px;background:color-mix(in srgb,var(--ground,#120c19) 80%,transparent);border:1px solid color-mix(in srgb,var(--acc-2,#d5a95a) 55%,transparent);border-radius:999px;padding:5px 5px 5px 16px;color:var(--acc-2,var(--gilt,#d5a95a));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:border-color .3s,box-shadow .3s}
.aga-hero-search__box:focus-within{border-color:var(--acc-2,#d5a95a);box-shadow:0 0 0 4px color-mix(in srgb,var(--acc-2,#d5a95a) 18%,transparent)}
.aga-hero-search__box svg{flex:none}
.aga-hero-search__box input{flex:1;min-width:0;height:auto;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--ink,var(--bone,#ece3d4))!important;font:inherit;font-size:1.02rem;padding:.6rem 0!important;outline:none}
.aga-hero-search__box input::placeholder{color:color-mix(in srgb,var(--ink,#ece3d4) 55%,transparent)}
.aga-hero-search__box button{min-height:44px;padding:0 1.2rem;border-radius:999px;border:0;background:var(--acc-2,var(--gilt,#d5a95a));color:var(--ground,#120c19);font:inherit;font-weight:800;cursor:pointer}
.aga-hero-chips{display:flex;flex-wrap:wrap;gap:8px;margin:.85rem 0 0;padding:0;list-style:none}
.aga-hero-chips a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--ink,#ece3d4) 24%,transparent);color:var(--ink,var(--bone,#ece3d4));background:color-mix(in srgb,var(--ground,#0c0910) 55%,transparent);font-size:.92rem;text-decoration:none}
.aga-hero-chips a:hover,.aga-hero-chips a:focus-visible{border-color:var(--acc-2,#d5a95a);color:var(--acc-2,#f6dfa4)}
.aga-hero-stats{display:flex;flex-wrap:wrap;gap:8px 26px;margin:1.1rem 0 0}
.aga-hero-stats div{display:flex;flex-direction:column;min-width:0}
.aga-hero-stats dt{font-size:.76rem;color:color-mix(in srgb,var(--ink,#ece3d4) 70%,transparent)}
.aga-hero-stats dd{margin:0;max-width:16rem;font-family:var(--f-display);font-size:1.55rem;font-weight:700;line-height:1.1;color:var(--acc-2,#f0d79b);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.aga-hero-stats dd.is-text{font-size:1.1rem;padding-top:.3rem}
@media (max-width:767px){.aga-hero-stats{gap:6px 18px}.aga-hero-stats dd{font-size:1.25rem}.aga-hero-chips a{min-height:36px;font-size:.86rem}}
