/* FYI Patch Notes Landing Page v1.0.0 */
:root {
	--pnx-bg: #08070a;
	--pnx-bg-soft: #0e0b12;
	--pnx-panel: #121018;
	--pnx-panel-2: #17131f;
	--pnx-text: #f8f4ec;
	--pnx-muted: #d0c8d4;
	--pnx-dim: #aaa1b0;
	--pnx-bone: #e7dfcf;
	--pnx-purple: #2e0055;
	--pnx-purple-bright: #7e42b8;
	--pnx-teal: #72d7dc;
	--pnx-line: rgba(231, 223, 207, 0.18);
	--pnx-line-strong: rgba(231, 223, 207, 0.30);
	--pnx-success: #9bd36a;
	--pnx-danger: #ff7b74;
	--pnx-radius: 24px;
	--pnx-radius-sm: 14px;
	--pnx-shadow: 0 28px 90px rgba(0, 0, 0, 0.44);
	--pnx-container: 1220px;
}

body.fyi-pnx-page {
	background: var(--pnx-bg) !important;
}

body.fyi-pnx-page .entry-content,
body.fyi-pnx-page .site-main,
body.fyi-pnx-page [data-content="normal"],
body.fyi-pnx-page .ct-container-full {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.fyi-pnx,
.fyi-pnx * {
	box-sizing: border-box;
}

.fyi-pnx {
	position: relative;
	isolation: isolate;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	overflow: clip;
	background: var(--pnx-bg);
	color: var(--pnx-text);
	font-family: inherit;
	line-height: 1.58;
	--build-accent: #f0c64a;
	--build-accent-2: #58b882;
	--build-glow: rgba(240, 198, 74, 0.30);
}

.fyi-pnx a {
	color: inherit;
}

.fyi-pnx img {
	max-width: 100%;
}

.fyi-pnx-container {
	width: min(var(--pnx-container), calc(100% - 44px));
	margin-inline: auto;
}

.fyi-pnx-skip {
	position: fixed;
	z-index: 100000;
	top: 12px;
	left: 12px;
	padding: 10px 14px;
	border-radius: 8px;
	background: #fff;
	color: #000 !important;
	font-weight: 800;
	transform: translateY(-180%);
	transition: transform .2s ease;
}

.fyi-pnx-skip:focus {
	transform: translateY(0);
}

.fyi-pnx-scroll {
	position: fixed;
	z-index: 9999;
	top: 0;
	left: 0;
	width: 100%;
	height: 3px;
	background: rgba(255,255,255,.04);
	pointer-events: none;
}

.fyi-pnx-scroll span {
	display: block;
	width: 0;
	height: 100%;
	background: linear-gradient(90deg, var(--pnx-purple-bright), var(--pnx-teal), var(--build-accent));
	box-shadow: 0 0 18px var(--build-accent);
}

.fyi-pnx-grid {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(255,255,255,.075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.075) 1px, transparent 1px);
	background-size: 52px 52px;
	-webkit-mask-image: linear-gradient(to bottom, #000 10%, transparent 96%);
	mask-image: linear-gradient(to bottom, #000 10%, transparent 96%);
	opacity: .22;
}

.fyi-pnx-kicker,
.fyi-pnx-section-heading > p,
.fyi-pnx-final__inner > p,
.fyi-pnx-build-intro > p {
	margin: 0 0 14px;
	color: var(--pnx-teal) !important;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .19em;
	text-transform: uppercase;
}

.fyi-pnx-kicker {
	display: flex;
	align-items: center;
	gap: 10px;
}

.fyi-pnx-kicker > span {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: var(--pnx-success);
	box-shadow: 0 0 20px var(--pnx-success);
	animation: fyi-pnx-pulse 1.8s ease-in-out infinite;
}

.fyi-pnx-hero {
	position: relative;
	min-height: 820px;
	display: grid;
	align-items: center;
	padding: 110px 0 94px;
	background:
		radial-gradient(circle at 16% 18%, rgba(89, 25, 125, .48), transparent 31%),
		radial-gradient(circle at 84% 58%, rgba(46, 113, 123, .26), transparent 30%),
		linear-gradient(180deg, #100a16 0%, #08070a 100%);
}

.fyi-pnx-ambient {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.fyi-pnx-ambient span {
	position: absolute;
	width: 360px;
	height: 360px;
	border-radius: 50%;
	filter: blur(80px);
	opacity: .16;
	animation: fyi-pnx-drift 13s ease-in-out infinite alternate;
}

.fyi-pnx-ambient span:nth-child(1) { left: -100px; top: 5%; background: #7f3bac; }
.fyi-pnx-ambient span:nth-child(2) { right: -80px; top: 35%; background: #2e717b; animation-delay: -4s; }
.fyi-pnx-ambient span:nth-child(3) { left: 46%; bottom: -180px; background: var(--build-accent); animation-delay: -8s; }

.fyi-pnx-hero__layout {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(410px, .95fr);
	gap: clamp(48px, 7vw, 104px);
	align-items: center;
}

.fyi-pnx-hero h1 {
	max-width: 780px;
	margin: 0;
	color: var(--pnx-text) !important;
	font-size: clamp(3.5rem, 7.5vw, 8.4rem);
	font-weight: 900;
	line-height: .85;
	letter-spacing: -.065em;
	text-transform: uppercase;
	text-wrap: balance;
}

.fyi-pnx-hero h1 em {
	font-style: normal;
	color: transparent !important;
	-webkit-text-fill-color: transparent !important;
	-webkit-text-stroke: 1.5px var(--pnx-bone);
	text-shadow: 0 0 42px rgba(126,66,184,.24);
}

.fyi-pnx-hero__lede {
	max-width: 690px;
	margin: 30px 0 0;
	color: var(--pnx-muted) !important;
	font-size: clamp(1.08rem, 1.7vw, 1.34rem);
}

.fyi-pnx-hero__actions,
.fyi-pnx-final__actions,
.fyi-pnx-generator__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 32px;
}

.fyi-pnx-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	padding: 13px 21px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-size: .91rem;
	font-weight: 900;
	line-height: 1.2;
	text-decoration: none !important;
	cursor: pointer;
	transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease, color .22s ease;
}

.fyi-pnx-btn:hover,
.fyi-pnx-btn:focus-visible {
	transform: translateY(-2px);
}

.fyi-pnx-btn:focus-visible,
.fyi-pnx-tab:focus-visible,
.fyi-pnx-product__thumb:focus-visible,
.fyi-pnx-faq summary:focus-visible,
.fyi-pnx select:focus-visible {
	outline: 3px solid var(--pnx-teal);
	outline-offset: 3px;
}

.fyi-pnx-btn--primary {
	background: var(--pnx-bone) !important;
	color: #111 !important;
	-webkit-text-fill-color: #111 !important;
	box-shadow: 0 16px 38px rgba(231,223,207,.15);
}

.fyi-pnx-btn--primary:hover {
	box-shadow: 0 20px 50px rgba(231,223,207,.24), 0 0 0 1px var(--build-accent);
}

.fyi-pnx-btn--ghost,
.fyi-pnx-btn--product {
	border-color: var(--pnx-line-strong);
	background: rgba(255,255,255,.035) !important;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
}

.fyi-pnx-btn--ghost:hover,
.fyi-pnx-btn--product:hover {
	border-color: var(--build-accent);
	background: color-mix(in srgb, var(--build-accent) 10%, transparent) !important;
	box-shadow: 0 0 26px var(--build-glow);
}

.fyi-pnx-patch-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	padding: 0;
	margin: 30px 0 0;
	list-style: none;
}

.fyi-pnx-patch-chips li {
	padding: 8px 11px;
	border: 1px solid var(--pnx-line);
	border-radius: 9px;
	background: rgba(0,0,0,.24);
	color: var(--pnx-muted) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .78rem;
}

.fyi-pnx-patch-chips span {
	color: var(--pnx-success);
	font-weight: 900;
}

.fyi-pnx-patch-chips .is-negative {
	color: var(--pnx-danger);
}

.fyi-pnx-hero__visual {
	position: relative;
	min-height: 610px;
	display: grid;
	place-items: center;
}

.fyi-pnx-terminal {
	position: relative;
	z-index: 3;
	width: min(100%, 520px);
	border: 1px solid rgba(231,223,207,.26);
	border-radius: 24px;
	background: rgba(10,9,13,.88);
	box-shadow: var(--pnx-shadow), 0 0 0 8px rgba(255,255,255,.015), 0 0 70px var(--build-glow);
	backdrop-filter: blur(18px);
	overflow: hidden;
	transform: rotate(1.3deg);
}

.fyi-pnx-terminal::before {
	content: "";
	position: absolute;
	inset: -45%;
	z-index: -1;
	background: conic-gradient(from 180deg, transparent, var(--build-glow), transparent 36%);
	animation: fyi-pnx-spin 13s linear infinite;
}

.fyi-pnx-terminal__bar {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 15px 17px;
	border-bottom: 1px solid var(--pnx-line);
	background: rgba(255,255,255,.02);
}

.fyi-pnx-terminal__bar > span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #ff6a6a;
}

.fyi-pnx-terminal__bar > span:nth-child(2) { background: #e8cf62; }
.fyi-pnx-terminal__bar > span:nth-child(3) { background: #8fd46c; }
.fyi-pnx-terminal__bar b {
	margin-left: auto;
	color: #c7bfca !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .74rem;
	letter-spacing: .08em;
}

.fyi-pnx-terminal__body {
	padding: clamp(28px, 5vw, 48px);
}

.fyi-pnx-terminal__label,
.fyi-pnx-generator__card > p {
	margin: 0 0 17px;
	color: var(--pnx-teal) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .78rem;
	font-weight: 800;
	letter-spacing: .17em;
}

.fyi-pnx-terminal__percent {
	display: flex;
	align-items: flex-start;
	margin: 0 0 19px;
	color: var(--pnx-bone);
	font-size: clamp(5rem, 9vw, 8rem);
	font-weight: 900;
	line-height: .9;
	letter-spacing: -.07em;
}

.fyi-pnx-terminal__percent small {
	margin-top: .08em;
	font-size: .52em;
}

.fyi-pnx-terminal__progress {
	height: 9px;
	padding: 2px;
	border: 1px solid rgba(255,255,255,.16);
	border-radius: 999px;
	background: #050507;
	overflow: hidden;
}

.fyi-pnx-terminal__progress span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #6f2fa7, var(--pnx-teal), var(--build-accent));
	box-shadow: 0 0 18px var(--build-accent);
}

.fyi-pnx-terminal__checks {
	display: grid;
	gap: 9px;
	padding: 0;
	margin: 26px 0 0;
	list-style: none;
	color: var(--pnx-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .8rem;
}

.fyi-pnx-terminal__checks li {
	opacity: .52;
	transition: opacity .3s ease, color .3s ease;
}

.fyi-pnx-terminal__checks li.is-complete {
	opacity: 1;
	color: var(--pnx-text);
}

.fyi-pnx-terminal__checks span {
	color: var(--pnx-dim);
}

.fyi-pnx-terminal__checks li.is-complete span {
	color: var(--pnx-success);
}

.fyi-pnx-terminal__complete {
	margin: 24px 0 0;
	color: var(--pnx-dim) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .76rem;
	font-weight: 900;
	letter-spacing: .16em;
}

.fyi-pnx-terminal__complete.is-complete {
	color: var(--pnx-success) !important;
	text-shadow: 0 0 18px rgba(155,211,106,.34);
}

.fyi-pnx-loadout-stack {
	position: absolute;
	inset: auto -30px -16px auto;
	z-index: 4;
	width: 290px;
	height: 330px;
	pointer-events: none;
}

.fyi-pnx-loadout {
	position: absolute;
	display: block;
	width: 178px;
	padding: 9px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 16px;
	background: rgba(17,16,23,.92);
	box-shadow: 0 16px 44px rgba(0,0,0,.42);
	text-decoration: none !important;
	pointer-events: auto;
	transition: transform .25s ease, border-color .25s ease, z-index 0s;
}

.fyi-pnx-loadout:hover,
.fyi-pnx-loadout:focus-visible {
	z-index: 9;
	border-color: var(--build-accent);
	transform: translateY(-8px) rotate(0deg) scale(1.04);
}

.fyi-pnx-loadout img {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	object-fit: contain;
	border-radius: 10px;
	background: #0b0a0e;
}

.fyi-pnx-loadout span {
	display: block;
	margin-top: 8px;
	color: var(--pnx-text) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .62rem;
	font-weight: 800;
	letter-spacing: .08em;
}

.fyi-pnx-loadout--1 { right: 0; top: 0; transform: rotate(7deg); }
.fyi-pnx-loadout--2 { left: 28px; top: 82px; transform: rotate(-6deg); }
.fyi-pnx-loadout--3 { right: 16px; bottom: 0; transform: rotate(2deg); }

.fyi-pnx-status-strip {
	position: relative;
	z-index: 6;
	border-top: 1px solid var(--pnx-line);
	border-bottom: 1px solid var(--pnx-line);
	background: #0c0a0f;
}

.fyi-pnx-status-strip .fyi-pnx-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
}

.fyi-pnx-status-strip .fyi-pnx-container > div {
	display: flex;
	align-items: center;
	gap: 14px;
	min-height: 102px;
	padding: 20px 26px;
	border-left: 1px solid var(--pnx-line);
}

.fyi-pnx-status-strip .fyi-pnx-container > div:last-child {
	border-right: 1px solid var(--pnx-line);
}

.fyi-pnx-status-strip strong {
	color: var(--pnx-bone) !important;
	font-size: 1.9rem;
	line-height: 1;
}

.fyi-pnx-status-strip span {
	color: var(--pnx-dim) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .69rem;
	font-weight: 800;
	letter-spacing: .1em;
}

.fyi-pnx-main {
	background: var(--pnx-bg);
}

.fyi-pnx-builds,
.fyi-pnx-story,
.fyi-pnx-compare,
.fyi-pnx-proof,
.fyi-pnx-faq {
	padding: clamp(86px, 10vw, 140px) 0;
}

.fyi-pnx-section-heading {
	max-width: 780px;
	margin-bottom: 44px;
}

.fyi-pnx-section-heading h2,
.fyi-pnx-generator h2,
.fyi-pnx-final h2 {
	margin: 0;
	color: var(--pnx-text) !important;
	font-size: clamp(2.4rem, 5vw, 5.1rem);
	font-weight: 900;
	line-height: .96;
	letter-spacing: -.045em;
	text-wrap: balance;
}

.fyi-pnx-section-heading > span,
.fyi-pnx-generator__copy > p,
.fyi-pnx-build-intro > span,
.fyi-pnx-final small {
	display: block;
	max-width: 720px;
	margin-top: 18px;
	color: var(--pnx-muted) !important;
	font-size: 1.04rem;
}

.fyi-pnx-tabs {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
	margin-bottom: 28px;
}

.fyi-pnx-tab {
	position: relative;
	min-height: 152px;
	padding: 20px;
	border: 1px solid var(--pnx-line);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.015));
	color: var(--pnx-text) !important;
	text-align: left;
	cursor: pointer;
	overflow: hidden;
	transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.fyi-pnx-tab::after {
	content: "";
	position: absolute;
	inset: auto -10% -75% 20%;
	height: 130px;
	border-radius: 50%;
	background: var(--tab-accent, var(--build-accent));
	filter: blur(50px);
	opacity: 0;
	transition: opacity .25s ease;
}

.fyi-pnx-tab:nth-child(1) { --tab-accent:#f0c64a; }
.fyi-pnx-tab:nth-child(2) { --tab-accent:#72d7dc; }
.fyi-pnx-tab:nth-child(3) { --tab-accent:#e7dfcf; }

.fyi-pnx-tab:hover {
	transform: translateY(-3px);
	border-color: var(--pnx-line-strong);
}

.fyi-pnx-tab.is-active {
	border-color: var(--tab-accent);
	background: linear-gradient(145deg, color-mix(in srgb, var(--tab-accent) 12%, #15111c), #0e0c12);
	box-shadow: 0 20px 52px rgba(0,0,0,.25), 0 0 35px color-mix(in srgb, var(--tab-accent) 18%, transparent);
}

.fyi-pnx-tab.is-active::after {
	opacity: .18;
}

.fyi-pnx-tab > span,
.fyi-pnx-tab > small {
	display: block;
	position: relative;
	z-index: 2;
	color: var(--pnx-dim) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .67rem;
	font-weight: 800;
	letter-spacing: .11em;
}

.fyi-pnx-tab strong {
	display: block;
	position: relative;
	z-index: 2;
	margin: 12px 0 8px;
	color: var(--pnx-text) !important;
	font-size: 1.16rem;
}

.fyi-pnx-tab.is-active > span,
.fyi-pnx-tab.is-active > small {
	color: var(--pnx-text) !important;
}

.fyi-pnx-panel {
	padding-top: 28px;
}

.fyi-pnx-panel[hidden] {
	display: none !important;
}

.fyi-pnx-build-intro {
	display: grid;
	grid-template-columns: .8fr 1fr;
	column-gap: 34px;
	align-items: end;
	margin-bottom: 30px;
	padding: 26px 0;
	border-top: 1px solid var(--pnx-line);
	border-bottom: 1px solid var(--pnx-line);
}

.fyi-pnx-build-intro > p {
	grid-column: 1 / -1;
}

.fyi-pnx-build-intro h3 {
	margin: 0;
	color: var(--pnx-text) !important;
	font-size: clamp(2rem, 4vw, 4rem);
	line-height: .98;
	letter-spacing: -.04em;
}

.fyi-pnx-build-intro > span {
	margin: 0;
}

.fyi-pnx-products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.fyi-pnx-product {
	position: relative;
	min-width: 0;
	border: 1px solid var(--pnx-line);
	border-radius: var(--pnx-radius);
	background: linear-gradient(150deg, #15121b 0%, #0d0b10 100%);
	box-shadow: 0 18px 54px rgba(0,0,0,.26);
	overflow: hidden;
	transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}

.fyi-pnx-product:hover {
	transform: translateY(-5px);
	border-color: color-mix(in srgb, var(--build-accent) 72%, transparent);
	box-shadow: 0 28px 74px rgba(0,0,0,.38), 0 0 46px var(--build-glow);
}

.fyi-pnx-product__gallery {
	position: relative;
}

.fyi-pnx-product__image-link {
	position: relative;
	display: grid;
	place-items: center;
	min-height: 520px;
	padding: 24px;
	background:
		radial-gradient(circle at 50% 45%, color-mix(in srgb, var(--build-accent) 16%, transparent), transparent 42%),
		linear-gradient(145deg, #121017, #09080b);
	overflow: hidden;
	text-decoration: none !important;
}

.fyi-pnx-product__image-link::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px);
	background-size: 34px 34px;
	-webkit-mask-image: radial-gradient(circle, #000 0%, transparent 75%);
	mask-image: radial-gradient(circle, #000 0%, transparent 75%);
	opacity: .36;
	pointer-events: none;
}

.fyi-pnx-product__image {
	position: relative;
	z-index: 2;
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: 100% !important;
	max-height: 475px !important;
	object-fit: contain !important;
	object-position: center !important;
	image-rendering: auto !important;
	filter: none !important;
	transform: translateZ(0);
	transition: transform .35s ease;
}

.fyi-pnx-product:hover .fyi-pnx-product__image {
	transform: translateZ(0) scale(1.025);
}

.fyi-pnx-product__type {
	position: absolute;
	z-index: 4;
	top: 18px;
	left: 18px;
	padding: 7px 9px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 8px;
	background: rgba(8,7,10,.78);
	color: var(--pnx-text) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .67rem;
	font-weight: 900;
	letter-spacing: .12em;
	backdrop-filter: blur(8px);
}

.fyi-pnx-product__zoom {
	position: absolute;
	z-index: 4;
	right: 18px;
	bottom: 18px;
	padding: 7px 9px;
	border-radius: 8px;
	background: rgba(8,7,10,.76);
	color: var(--pnx-text) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .62rem;
	font-weight: 900;
	letter-spacing: .09em;
	opacity: .86;
}

.fyi-pnx-product__thumbs {
	display: flex;
	gap: 8px;
	padding: 12px 16px;
	border-top: 1px solid var(--pnx-line);
	background: rgba(255,255,255,.018);
	overflow-x: auto;
}

.fyi-pnx-product__thumb {
	flex: 0 0 auto;
	width: 62px;
	height: 62px;
	padding: 3px;
	border: 1px solid var(--pnx-line);
	border-radius: 10px;
	background: #0a090c;
	cursor: pointer;
	overflow: hidden;
	opacity: .68;
	transition: opacity .2s ease, border-color .2s ease, transform .2s ease;
}

.fyi-pnx-product__thumb:hover,
.fyi-pnx-product__thumb.is-active {
	border-color: var(--build-accent);
	opacity: 1;
	transform: translateY(-2px);
}

.fyi-pnx-product__thumb img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 6px;
}

.fyi-pnx-product__body {
	padding: 25px;
}

.fyi-pnx-product__meta-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.fyi-pnx-product__status,
.fyi-pnx-product__price,
.fyi-pnx-product__note {
	margin: 0;
	color: var(--pnx-muted) !important;
}

.fyi-pnx-product__status {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: .76rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.fyi-pnx-product__status span {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pnx-success);
	box-shadow: 0 0 12px rgba(155,211,106,.65);
}

.fyi-pnx-product__price,
.fyi-pnx-product__price .amount,
.fyi-pnx-product__price bdi {
	color: var(--pnx-bone) !important;
	font-weight: 900;
}

.fyi-pnx-product h3 {
	margin: 16px 0 8px;
	font-size: clamp(1.35rem, 2vw, 1.8rem);
	line-height: 1.15;
}

.fyi-pnx-product h3 a {
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	text-decoration: none !important;
}

.fyi-pnx-product h3 a:hover {
	color: var(--build-accent) !important;
	-webkit-text-fill-color: var(--build-accent) !important;
}

.fyi-pnx-product__note {
	font-size: .92rem;
}

.fyi-pnx-btn--product {
	width: 100%;
	margin-top: 20px;
	justify-content: space-between;
	border-radius: 12px;
}

.fyi-pnx-generator {
	position: relative;
	padding: clamp(88px, 10vw, 140px) 0;
	border-top: 1px solid var(--pnx-line);
	border-bottom: 1px solid var(--pnx-line);
	background:
		radial-gradient(circle at 15% 20%, rgba(84,31,116,.34), transparent 30%),
		linear-gradient(180deg, #0e0a12, #09080b);
}

.fyi-pnx-generator__layout {
	display: grid;
	grid-template-columns: .9fr 1.1fr;
	gap: clamp(38px, 7vw, 90px);
	align-items: center;
}

.fyi-pnx-generator__controls {
	display: grid;
	gap: 13px;
	margin-top: 30px;
}

.fyi-pnx-generator__controls label {
	display: grid;
	gap: 7px;
	color: var(--pnx-teal) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .69rem;
	font-weight: 900;
	letter-spacing: .12em;
}

.fyi-pnx-generator select {
	width: 100%;
	min-height: 52px;
	padding: 10px 14px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 11px;
	background: #121018;
	color: var(--pnx-text) !important;
	font: inherit;
}

.fyi-pnx-generator__card {
	position: relative;
	padding: clamp(28px, 5vw, 52px);
	border: 1px solid var(--pnx-line-strong);
	border-radius: var(--pnx-radius);
	background: rgba(10,9,13,.88);
	box-shadow: var(--pnx-shadow), 0 0 70px var(--build-glow);
	overflow: hidden;
}

.fyi-pnx-generator__card::after {
	content: "";
	position: absolute;
	inset: auto -20% -60% 20%;
	height: 280px;
	border-radius: 50%;
	background: var(--build-accent);
	filter: blur(110px);
	opacity: .15;
	pointer-events: none;
}

.fyi-pnx-generator__card-top {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 16px;
	margin-bottom: 28px;
	border-bottom: 1px solid var(--pnx-line);
	color: var(--pnx-dim) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .7rem;
	font-weight: 800;
	letter-spacing: .09em;
}

.fyi-pnx-generator__card ul {
	position: relative;
	z-index: 2;
	display: grid;
	gap: 18px;
	padding: 0;
	margin: 0;
	list-style: none;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: clamp(1rem, 2vw, 1.28rem);
}

.fyi-pnx-generator__card li {
	color: var(--pnx-muted) !important;
}

.fyi-pnx-generator__card li > span {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	margin-right: 8px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 8px;
	color: var(--pnx-success) !important;
}

.fyi-pnx-generator__card strong {
	color: var(--pnx-text) !important;
}

.fyi-pnx-generator__feedback {
	position: relative;
	z-index: 2;
	min-height: 24px;
	margin: 14px 0 0;
	color: var(--pnx-teal) !important;
	font-size: .84rem;
	font-weight: 800;
}

.fyi-pnx-story {
	background: #0a090c;
}

.fyi-pnx-story__grid,
.fyi-pnx-proof__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
}

.fyi-pnx-story-card,
.fyi-pnx-proof-card {
	position: relative;
	min-height: 260px;
	padding: 28px;
	border: 1px solid var(--pnx-line);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.01));
	overflow: hidden;
}

.fyi-pnx-story-card::after,
.fyi-pnx-proof-card::after {
	content: "";
	position: absolute;
	right: -70px;
	bottom: -90px;
	width: 190px;
	height: 190px;
	border-radius: 50%;
	background: var(--build-accent);
	filter: blur(70px);
	opacity: .08;
}

.fyi-pnx-story-card > span,
.fyi-pnx-proof-card > span {
	color: var(--pnx-teal) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .73rem;
	font-weight: 900;
	letter-spacing: .12em;
}

.fyi-pnx-story-card h3,
.fyi-pnx-proof-card h3 {
	margin: 54px 0 12px;
	color: var(--pnx-text) !important;
	font-size: 1.5rem;
}

.fyi-pnx-story-card p,
.fyi-pnx-proof-card p {
	margin: 0;
	color: var(--pnx-muted) !important;
}

.fyi-pnx-compare {
	background: linear-gradient(180deg, #0b090e, #08070a);
}

.fyi-pnx-compare__table-wrap {
	overflow-x: auto;
	border: 1px solid var(--pnx-line);
	border-radius: 18px;
	background: #0d0b10;
}

.fyi-pnx-compare__table {
	width: 100%;
	min-width: 760px;
	border-collapse: collapse;
}

.fyi-pnx-compare__table th,
.fyi-pnx-compare__table td {
	padding: 22px;
	border-bottom: 1px solid var(--pnx-line);
	color: var(--pnx-muted) !important;
	text-align: left;
}

.fyi-pnx-compare__table thead th {
	color: var(--pnx-teal) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .69rem;
	letter-spacing: .11em;
	text-transform: uppercase;
}

.fyi-pnx-compare__table tbody th {
	color: var(--pnx-text) !important;
}

.fyi-pnx-compare__table tbody tr:last-child th,
.fyi-pnx-compare__table tbody tr:last-child td {
	border-bottom: 0;
}

.fyi-pnx-proof {
	border-top: 1px solid var(--pnx-line);
	border-bottom: 1px solid var(--pnx-line);
	background: #0b090e;
}

.fyi-pnx-proof-card h3 {
	margin-top: 36px;
}

.fyi-pnx-faq {
	background: #08070a;
}

.fyi-pnx-faq__layout {
	display: grid;
	grid-template-columns: .7fr 1.3fr;
	gap: clamp(34px, 7vw, 90px);
	align-items: start;
}

.fyi-pnx-faq__items {
	border-top: 1px solid var(--pnx-line);
}

.fyi-pnx-faq details {
	border-bottom: 1px solid var(--pnx-line);
}

.fyi-pnx-faq summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 2px;
	color: var(--pnx-text) !important;
	font-size: 1.04rem;
	font-weight: 850;
	cursor: pointer;
	list-style: none;
}

.fyi-pnx-faq summary::-webkit-details-marker { display: none; }

.fyi-pnx-faq summary span {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 30px;
	height: 30px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 50%;
	color: var(--pnx-teal) !important;
	transition: transform .2s ease;
}

.fyi-pnx-faq details[open] summary span {
	transform: rotate(45deg);
}

.fyi-pnx-faq details p {
	max-width: 760px;
	padding: 0 42px 24px 2px;
	margin: 0;
	color: var(--pnx-muted) !important;
}

.fyi-pnx-trust {
	padding: 28px 0;
	border-top: 1px solid var(--pnx-line);
	border-bottom: 1px solid var(--pnx-line);
	background: #0d0b10;
}

.fyi-pnx-trust .fyi-pnx-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
}

.fyi-pnx-trust p {
	margin: 0;
	color: var(--pnx-muted) !important;
	font-size: .9rem;
}

.fyi-pnx-trust p span {
	color: var(--pnx-success) !important;
}

.fyi-pnx-trust nav {
	display: flex;
	flex-wrap: wrap;
	gap: 11px;
}

.fyi-pnx-trust nav a {
	color: var(--pnx-text) !important;
	font-size: .86rem;
	font-weight: 800;
	text-decoration: none;
}

.fyi-pnx-trust nav a:hover {
	color: var(--pnx-teal) !important;
}

.fyi-pnx-trust nav > span {
	color: var(--pnx-dim) !important;
}

.fyi-pnx-final {
	position: relative;
	padding: clamp(100px, 12vw, 170px) 0;
	background:
		radial-gradient(circle at 50% 100%, rgba(70,25,98,.45), transparent 42%),
		linear-gradient(180deg, #09080b, #0f0a15);
	overflow: hidden;
}

.fyi-pnx-final__inner {
	position: relative;
	z-index: 2;
	text-align: center;
}

.fyi-pnx-final h2 em {
	font-style: normal;
	color: transparent !important;
	-webkit-text-fill-color: transparent !important;
	-webkit-text-stroke: 1px var(--pnx-bone);
}

.fyi-pnx-final__actions {
	justify-content: center;
}

.fyi-pnx-final small {
	margin-inline: auto;
}

.fyi-pnx-mobile-bar {
	display: none;
}


.fyi-pnx-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1);
}

.fyi-pnx-reveal.is-visible {
	opacity: 1;
	transform: none;
}

.fyi-pnx-product--missing,
.fyi-pnx-product__placeholder {
	display: grid;
	place-items: center;
	min-height: 320px;
	padding: 28px;
	border: 1px dashed var(--pnx-line-strong);
	color: var(--pnx-muted) !important;
	text-align: center;
}

/* Newsletter Group block placed after the shortcode. */
body.fyi-pnx-page .fyi-pn-signup-block,
body.fyi-pnx-page .fyi-pnx-signup-block {
	position: relative;
	width: min(var(--pnx-container), calc(100% - 44px));
	margin: 0 auto 90px !important;
	padding: clamp(28px, 5vw, 54px) !important;
	border: 1px solid rgba(231,223,207,.24) !important;
	border-radius: 22px !important;
	background:
		radial-gradient(circle at 88% 20%, rgba(114,215,220,.13), transparent 28%),
		linear-gradient(145deg, #15111c, #0d0b10) !important;
	color: var(--pnx-text) !important;
	box-shadow: 0 26px 80px rgba(0,0,0,.35) !important;
}

body.fyi-pnx-page .fyi-pn-signup-block h2,
body.fyi-pnx-page .fyi-pn-signup-block h3,
body.fyi-pnx-page .fyi-pn-signup-block p,
body.fyi-pnx-page .fyi-pn-signup-block label,
body.fyi-pnx-page .fyi-pnx-signup-block h2,
body.fyi-pnx-page .fyi-pnx-signup-block h3,
body.fyi-pnx-page .fyi-pnx-signup-block p,
body.fyi-pnx-page .fyi-pnx-signup-block label {
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
}

body.fyi-pnx-page .fyi-pn-signup-block input[type="email"],
body.fyi-pnx-page .fyi-pn-signup-block input[type="text"],
body.fyi-pnx-page .fyi-pnx-signup-block input[type="email"],
body.fyi-pnx-page .fyi-pnx-signup-block input[type="text"] {
	min-height: 52px !important;
	border: 1px solid #d6cfd9 !important;
	background: #fff !important;
	color: #111 !important;
	-webkit-text-fill-color: #111 !important;
}

body.fyi-pnx-page .fyi-pn-signup-block button,
body.fyi-pnx-page .fyi-pn-signup-block input[type="submit"],
body.fyi-pnx-page .fyi-pnx-signup-block button,
body.fyi-pnx-page .fyi-pnx-signup-block input[type="submit"] {
	min-height: 50px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--pnx-bone) !important;
	color: #111 !important;
	-webkit-text-fill-color: #111 !important;
	font-weight: 900 !important;
}

@keyframes fyi-pnx-pulse {
	0%,100% { transform: scale(.86); opacity: .72; }
	50% { transform: scale(1.15); opacity: 1; }
}

@keyframes fyi-pnx-spin { to { transform: rotate(360deg); } }

@keyframes fyi-pnx-drift {
	0% { transform: translate3d(-12px,-8px,0) scale(.95); }
	100% { transform: translate3d(26px,22px,0) scale(1.08); }
}

@media (max-width: 1100px) {
	.fyi-pnx-hero__layout { grid-template-columns: 1fr; }
	.fyi-pnx-hero__copy { max-width: 900px; }
	.fyi-pnx-hero__visual { min-height: 570px; }
	.fyi-pnx-loadout-stack { right: 7%; }
	.fyi-pnx-status-strip .fyi-pnx-container { grid-template-columns: repeat(2, 1fr); }
	.fyi-pnx-status-strip .fyi-pnx-container > div:nth-child(3) { border-top: 1px solid var(--pnx-line); }
	.fyi-pnx-status-strip .fyi-pnx-container > div:nth-child(4) { border-top: 1px solid var(--pnx-line); }
}

@media (max-width: 900px) {
	.fyi-pnx-tabs { grid-template-columns: 1fr; }
	.fyi-pnx-tab { min-height: 110px; }
	.fyi-pnx-products { grid-template-columns: 1fr; }
	.fyi-pnx-generator__layout,
	.fyi-pnx-faq__layout { grid-template-columns: 1fr; }
	.fyi-pnx-story__grid,
	.fyi-pnx-proof__grid { grid-template-columns: 1fr; }
	.fyi-pnx-story-card,
	.fyi-pnx-proof-card { min-height: auto; }
	.fyi-pnx-build-intro { grid-template-columns: 1fr; gap: 16px; }
}

@media (max-width: 680px) {
	.fyi-pnx-container { width: min(100% - 28px, var(--pnx-container)); }
	.fyi-pnx-hero { min-height: auto; padding: 78px 0 70px; }
	.fyi-pnx-hero h1 { font-size: clamp(3.1rem, 17vw, 5.4rem); }
	.fyi-pnx-hero__lede { font-size: 1rem; }
	.fyi-pnx-hero__actions .fyi-pnx-btn,
	.fyi-pnx-final__actions .fyi-pnx-btn { width: 100%; }
	.fyi-pnx-hero__visual { min-height: 500px; }
	.fyi-pnx-terminal { width: 100%; transform: none; }
	.fyi-pnx-loadout-stack { right: -25px; bottom: -34px; transform: scale(.76); transform-origin: right bottom; }
	.fyi-pnx-status-strip .fyi-pnx-container { grid-template-columns: 1fr 1fr; width: 100%; }
	.fyi-pnx-status-strip .fyi-pnx-container > div { min-height: 90px; padding: 15px 13px; border-left: 0; border-right: 1px solid var(--pnx-line); }
	.fyi-pnx-status-strip .fyi-pnx-container > div:nth-child(even) { border-right: 0; }
	.fyi-pnx-status-strip strong { font-size: 1.42rem; }
	.fyi-pnx-status-strip span { font-size: .6rem; }
	.fyi-pnx-builds,
	.fyi-pnx-story,
	.fyi-pnx-compare,
	.fyi-pnx-proof,
	.fyi-pnx-faq { padding: 76px 0; }
	.fyi-pnx-section-heading h2,
	.fyi-pnx-generator h2,
	.fyi-pnx-final h2 { font-size: clamp(2.3rem, 12vw, 3.8rem); }
	.fyi-pnx-product__image-link { min-height: 390px; padding: 18px; }
	.fyi-pnx-product__image { max-height: 350px !important; }
	.fyi-pnx-product__body { padding: 20px; }
	.fyi-pnx-product__meta-row { align-items: flex-start; flex-direction: column; }
	.fyi-pnx-generator__card { padding: 24px 20px; }
	.fyi-pnx-generator__card-top { flex-direction: column; }
	.fyi-pnx-generator__actions .fyi-pnx-btn { width: 100%; }
	.fyi-pnx-trust .fyi-pnx-container { align-items: flex-start; flex-direction: column; }
	body.fyi-pnx-page .fyi-pn-signup-block,
	body.fyi-pnx-page .fyi-pnx-signup-block { width: calc(100% - 28px); margin-bottom: 88px !important; }
	.fyi-pnx-mobile-bar {
		position: fixed;
		z-index: 9996;
		left: 10px;
		right: 10px;
		bottom: max(10px, env(safe-area-inset-bottom));
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		padding: 5px;
		border: 1px solid var(--pnx-line-strong);
		border-radius: 16px;
		background: rgba(10,9,13,.94);
		box-shadow: 0 16px 50px rgba(0,0,0,.52);
		backdrop-filter: blur(16px);
		overflow: hidden;
		opacity: 0;
		transform: translateY(calc(100% + 26px));
		pointer-events: none;
		transition: opacity .25s ease, transform .3s cubic-bezier(.2,.7,.2,1);
	}
	.fyi-pnx-mobile-bar.is-visible {
		opacity: 1;
		transform: translateY(0);
		pointer-events: auto;
	}
	.fyi-pnx-mobile-bar a {
		display: grid;
		place-items: center;
		min-height: 54px;
		padding: 8px;
		border-radius: 11px;
		color: var(--pnx-text) !important;
		text-decoration: none !important;
		text-align: center;
	}
	.fyi-pnx-mobile-bar a:last-child { background: var(--pnx-bone); color: #111 !important; }
	.fyi-pnx-mobile-bar span { font-size: .73rem; font-weight: 900; letter-spacing: .05em; }
	.fyi-pnx-mobile-bar small { font-size: .62rem; opacity: .72; }
	.fyi-pnx-mobile-bar a,
	.fyi-pnx-mobile-bar span,
	.fyi-pnx-mobile-bar small { min-width: 0; overflow-wrap: anywhere; }
	body.fyi-pnx-page .grecaptcha-badge,
	body.fyi-patch-notes-page .grecaptcha-badge {
		bottom: 86px !important;
		z-index: 9995 !important;
	}
}

@media (max-width: 420px) {
	.fyi-pnx-mobile-bar { left: 7px; right: 7px; }
	.fyi-pnx-mobile-bar a { min-height: 50px; padding: 7px 5px; }
	.fyi-pnx-mobile-bar span { font-size: .66rem; }
	.fyi-pnx-mobile-bar small { font-size: .57rem; }
}

@media (prefers-reduced-motion: reduce) {
	.fyi-pnx *,
	.fyi-pnx *::before,
	.fyi-pnx *::after {
		scroll-behavior: auto !important;
		animation-duration: .001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .001ms !important;
	}
	.fyi-pnx-reveal { opacity: 1 !important; transform: none !important; }
}

/* Header visibility is handled by the independent patch-notes-header.css campaign header layer. */


/* ==========================================================
   v1.0.0 CONTRAST LOCK
   Prevent Blocksy/WooCommerce global colors from darkening
   landing-page content before hover.
   ========================================================== */
.fyi-pnx,
.fyi-pnx :where(section, article, div, nav, main, details) {
	--theme-text-color: #f8f4ec;
	--theme-heading-color: #f8f4ec;
	--theme-link-initial-color: #f8f4ec;
	--theme-link-hover-color: #82edf2;
}

.fyi-pnx :where(h1, h2, h3, h4, h5, h6, summary),
.fyi-pnx :where(h1, h2, h3, h4, h5, h6, summary) * {
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-shadow: none;
}

.fyi-pnx #fyi-pnx-title em,
.fyi-pnx .fyi-pnx-final h2 em {
	color: transparent !important;
	-webkit-text-fill-color: transparent !important;
}

.fyi-pnx :where(
	.fyi-pnx-hero__lede,
	.fyi-pnx-section-heading > span,
	.fyi-pnx-build-intro > span,
	.fyi-pnx-product__copy > p,
	.fyi-pnx-product__status,
	.fyi-pnx-generator__copy > p,
	.fyi-pnx-story-card p,
	.fyi-pnx-proof-card p,
	.fyi-pnx-faq p,
	.fyi-pnx-final small
) {
	color: #d8d1dc !important;
	-webkit-text-fill-color: #d8d1dc !important;
	opacity: 1 !important;
}

.fyi-pnx :where(
	.fyi-pnx-kicker,
	.fyi-pnx-section-heading > p,
	.fyi-pnx-build-intro > p,
	.fyi-pnx-tab > span,
	.fyi-pnx-product__eyebrow,
	.fyi-pnx-product__status.is-available,
	.fyi-pnx-proof-card > span,
	.fyi-pnx-trust p
) {
	color: #82edf2 !important;
	-webkit-text-fill-color: #82edf2 !important;
	opacity: 1 !important;
}

.fyi-pnx .fyi-pnx-product__price,
.fyi-pnx .fyi-pnx-product__price :where(.amount, bdi, span),
.fyi-pnx .fyi-pnx-product h3 a,
.fyi-pnx .fyi-pnx-tab strong,
.fyi-pnx .fyi-pnx-tab small {
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	opacity: 1 !important;
}

.fyi-pnx .fyi-pnx-btn--primary,
.fyi-pnx .fyi-pnx-btn--primary * {
	color: #08070a !important;
	-webkit-text-fill-color: #08070a !important;
}

.fyi-pnx .fyi-pnx-btn--ghost,
.fyi-pnx .fyi-pnx-btn--ghost *,
.fyi-pnx .fyi-pnx-product__button,
.fyi-pnx .fyi-pnx-product__button * {
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
}

body.fyi-patch-notes-page .fyi-pn-signup-block,
body.fyi-pnx-page .fyi-pn-signup-block {
	--theme-text-color: #f8f4ec;
	--theme-heading-color: #f8f4ec;
	color: #f8f4ec !important;
}

body.fyi-patch-notes-page .fyi-pn-signup-block :where(h1, h2, h3, h4, p, label, legend),
body.fyi-pnx-page .fyi-pn-signup-block :where(h1, h2, h3, h4, p, label, legend) {
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	opacity: 1 !important;
}

body.fyi-patch-notes-page .fyi-pn-signup-block :where(input[type="email"], input[type="text"]),
body.fyi-pnx-page .fyi-pn-signup-block :where(input[type="email"], input[type="text"]) {
	background: #fff !important;
	color: #111 !important;
	-webkit-text-fill-color: #111 !important;
}

body.fyi-patch-notes-page .fyi-pn-signup-block :where(button, input[type="submit"]),
body.fyi-pnx-page .fyi-pn-signup-block :where(button, input[type="submit"]) {
	background: #e7dfcf !important;
	color: #111 !important;
	-webkit-text-fill-color: #111 !important;
}


/* ==========================================================
   PATCH NOTES GAME FOUNDATION — v1.0.0
   Local player progression, XP, levels, streaks, achievements.
   ========================================================== */

.fyi-pnx-game-rules {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin-top: 26px;
}

.fyi-pnx-game-rules > div {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 4px 9px;
	align-items: center;
	padding: 12px;
	border: 1px solid var(--pnx-line);
	border-radius: 12px;
	background: rgba(255,255,255,.025);
}

.fyi-pnx-game-rules span {
	grid-row: 1 / 3;
	display: grid;
	place-items: center;
	width: 31px;
	height: 31px;
	border: 1px solid rgba(114,215,220,.25);
	border-radius: 9px;
	color: var(--build-accent) !important;
	-webkit-text-fill-color: var(--build-accent) !important;
	font: 900 .66rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-game-rules strong {
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font-size: .74rem;
	letter-spacing: .08em;
}

.fyi-pnx-game-rules small {
	color: var(--pnx-dim) !important;
	font-size: .69rem;
	line-height: 1.25;
}

.fyi-pnx-mission-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
	margin-top: 24px;
}

.fyi-pnx-mission-steps label {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 7px 9px;
	align-items: center;
	padding: 13px;
	border: 1px solid var(--pnx-line);
	border-radius: 13px;
	background: rgba(255,255,255,.025);
	color: var(--pnx-teal) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .68rem;
	font-weight: 900;
	letter-spacing: .1em;
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.fyi-pnx-mission-steps label:focus-within {
	border-color: var(--build-accent);
	background: rgba(114,215,220,.055);
	transform: translateY(-1px);
}

.fyi-pnx-mission-steps label > span {
	display: inline-grid;
	place-items: center;
	width: 28px;
	height: 28px;
	border: 1px solid rgba(114,215,220,.25);
	border-radius: 8px;
	background: rgba(114,215,220,.06);
	color: var(--build-accent) !important;
	-webkit-text-fill-color: var(--build-accent) !important;
}

.fyi-pnx-mission-steps__campaign { grid-column: 1 / -1; }

.fyi-pnx-mission-steps select {
	grid-column: 1 / -1;
	width: 100%;
	min-height: 52px;
	padding: 10px 38px 10px 13px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 10px;
	background-color: #121018;
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font: 720 .85rem/1.2 system-ui, sans-serif;
	letter-spacing: 0;
}

.fyi-pnx-mission-steps select:disabled {
	cursor: not-allowed;
	opacity: .68;
}

.fyi-pnx-generator__builder-actions {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-top: 16px;
}

.fyi-pnx-generator__builder-actions .fyi-pnx-btn {
	min-height: 46px;
	padding: 11px 18px;
}

.fyi-pnx-generator__builder-actions > span {
	color: var(--pnx-dim) !important;
	font-size: .78rem;
	font-weight: 700;
}

.fyi-pnx-game-card {
	isolation: isolate;
}

.fyi-pnx-game-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		linear-gradient(rgba(114,215,220,.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(114,215,220,.035) 1px, transparent 1px);
	background-size: 28px 28px;
	mask-image: linear-gradient(to bottom, rgba(0,0,0,.7), transparent 78%);
	pointer-events: none;
}

.fyi-pnx-generator__card.is-active {
	border-color: rgba(114,215,220,.5);
}

.fyi-pnx-generator__card.is-complete {
	border-color: rgba(155,211,106,.72);
	box-shadow: var(--pnx-shadow), 0 0 90px rgba(155,211,106,.22);
}

.fyi-pnx-generator__card.is-complete::after {
	background: #9bd36a;
	opacity: .26;
}

.fyi-pnx-mission-status-row {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 18px;
	color: var(--pnx-dim) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .7rem;
	font-weight: 850;
	letter-spacing: .09em;
}

.fyi-pnx-mission-status {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 10px;
	border: 1px solid rgba(114,215,220,.24);
	border-radius: 999px;
	background: rgba(114,215,220,.07);
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
}

.fyi-pnx-mission-status::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: currentColor;
	box-shadow: 0 0 13px currentColor;
}

.fyi-pnx-player-hud {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: auto 1fr auto;
	gap: 14px;
	align-items: center;
	padding: 15px;
	margin-bottom: 12px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(114,215,220,.08), rgba(126,66,184,.05));
}

.fyi-pnx-player-avatar {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border: 1px solid var(--build-accent);
	border-radius: 14px;
	background: rgba(8,7,10,.8);
	box-shadow: inset 0 0 22px var(--build-glow), 0 0 22px var(--build-glow);
	color: var(--build-accent) !important;
	-webkit-text-fill-color: var(--build-accent) !important;
	font: 950 1.55rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-player-identity { min-width: 0; }
.fyi-pnx-player-identity > span,
.fyi-pnx-player-power > span {
	display: block;
	margin-bottom: 4px;
	color: var(--pnx-dim) !important;
	font: 850 .59rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-player-identity > strong {
	display: block;
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font-size: 1.08rem;
	line-height: 1.1;
}

.fyi-pnx-player-identity small {
	display: block;
	margin-top: 5px;
	color: var(--pnx-muted) !important;
	font: 800 .64rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .06em;
}

.fyi-pnx-player-identity b {
	color: var(--build-accent) !important;
	-webkit-text-fill-color: var(--build-accent) !important;
}

.fyi-pnx-player-power {
	text-align: right;
}

.fyi-pnx-player-power strong {
	color: var(--pnx-bone) !important;
	-webkit-text-fill-color: var(--pnx-bone) !important;
	font: 950 1.45rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-game-stats {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin-bottom: 22px;
}

.fyi-pnx-game-stats > div {
	padding: 11px 12px;
	border: 1px solid var(--pnx-line);
	border-radius: 10px;
	background: rgba(255,255,255,.025);
}

.fyi-pnx-game-stats span {
	display: block;
	margin-bottom: 5px;
	color: var(--pnx-dim) !important;
	font: 850 .58rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .09em;
}

.fyi-pnx-game-stats strong {
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font: 900 .82rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-generator__card h3 {
	position: relative;
	z-index: 2;
	margin: 0 0 16px;
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font-size: clamp(1.55rem, 4vw, 2.35rem);
	line-height: .96;
}

.fyi-pnx-mission-log {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
}

.fyi-pnx-mission-log > div {
	padding: 14px;
	border: 1px solid var(--pnx-line);
	border-radius: 12px;
	background: rgba(255,255,255,.025);
}

.fyi-pnx-mission-log__quest { grid-column: 1 / -1; }

.fyi-pnx-mission-log dt {
	margin-bottom: 8px;
	color: var(--pnx-dim) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .62rem;
	font-weight: 900;
	letter-spacing: .11em;
}

.fyi-pnx-mission-log dd { margin: 0; }

.fyi-pnx-mission-log strong {
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font-size: .91rem;
	line-height: 1.35;
}

.fyi-pnx-checkpoint-map {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(7, minmax(24px, 1fr));
	gap: 7px;
	margin-top: 18px;
	padding: 14px;
	border: 1px solid var(--pnx-line);
	border-radius: 13px;
	background: rgba(0,0,0,.2);
}

.fyi-pnx-checkpoint-node {
	position: relative;
	display: grid;
	place-items: center;
	min-width: 0;
	height: 31px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 9px;
	background: #0b0a0e;
	color: var(--pnx-dim) !important;
	font: 900 .61rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	transition: transform .25s ease, border-color .25s ease, background .25s ease, box-shadow .25s ease;
}

.fyi-pnx-checkpoint-node.is-complete {
	border-color: var(--build-accent);
	background: color-mix(in srgb, var(--build-accent) 18%, #0b0a0e);
	color: #fff !important;
	box-shadow: 0 0 15px var(--build-glow);
}

.fyi-pnx-checkpoint-node.is-current {
	transform: translateY(-3px);
	border-color: var(--pnx-teal);
	box-shadow: 0 0 16px rgba(114,215,220,.24);
}

.fyi-pnx-checkpoint-node.is-boss::after {
	content: "BOSS";
	position: absolute;
	top: -7px;
	right: -5px;
	padding: 2px 4px;
	border-radius: 4px;
	background: #9a3750;
	color: #fff;
	font-size: .42rem;
	letter-spacing: .04em;
}

.fyi-pnx-mission-progress {
	position: relative;
	z-index: 2;
	margin-top: 17px;
	padding-top: 17px;
	border-top: 1px solid var(--pnx-line);
}

.fyi-pnx-mission-progress__meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
	color: var(--pnx-dim) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .67rem;
	font-weight: 850;
	letter-spacing: .07em;
}

.fyi-pnx-mission-progress__meta strong {
	color: var(--pnx-bone) !important;
	-webkit-text-fill-color: var(--pnx-bone) !important;
}

.fyi-pnx-mission-progress__track {
	height: 13px;
	border: 1px solid var(--pnx-line-strong);
	border-radius: 999px;
	background: #08070a;
	overflow: hidden;
}

.fyi-pnx-mission-progress__track > span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--build-accent), var(--build-accent-2));
	box-shadow: 0 0 20px var(--build-glow);
	transition: width .45s cubic-bezier(.2,.8,.2,1);
}

.fyi-pnx-mission-progress > p {
	margin: 11px 0 0;
	color: var(--pnx-muted) !important;
	font-size: .83rem;
	line-height: 1.5;
}

.fyi-pnx-achievements {
	position: relative;
	z-index: 2;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 8px;
	margin-top: 16px;
}

.fyi-pnx-achievements > div {
	padding: 10px 8px;
	border: 1px solid var(--pnx-line);
	border-radius: 10px;
	background: rgba(255,255,255,.02);
	filter: grayscale(1);
	opacity: .42;
	text-align: center;
	transition: filter .25s ease, opacity .25s ease, transform .25s ease, box-shadow .25s ease;
}

.fyi-pnx-achievements > div.is-unlocked {
	border-color: color-mix(in srgb, var(--build-accent) 55%, transparent);
	filter: none;
	opacity: 1;
	box-shadow: 0 0 20px var(--build-glow);
	transform: translateY(-2px);
}

.fyi-pnx-achievements span {
	display: block;
	margin-bottom: 5px;
	color: var(--build-accent) !important;
	-webkit-text-fill-color: var(--build-accent) !important;
}

.fyi-pnx-achievements strong {
	display: block;
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font-size: .57rem;
	line-height: 1.15;
	letter-spacing: .05em;
}

.fyi-pnx-achievements small {
	display: block;
	margin-top: 4px;
	color: var(--pnx-dim) !important;
	font-size: .55rem;
	line-height: 1.2;
}

.fyi-pnx-generator__actions--mission {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr;
	gap: 9px;
	margin-top: 20px;
}

.fyi-pnx-generator__actions--mission .fyi-pnx-btn {
	min-width: 0;
	width: 100%;
	padding-inline: 12px;
}

.fyi-pnx-generator__actions--mission button:disabled,
.fyi-pnx-generator__builder-actions button:disabled {
	cursor: not-allowed;
	opacity: .62;
}

.fyi-pnx-mission-reset {
	position: relative;
	z-index: 2;
	margin-top: 12px;
	padding: 4px 0;
	border: 0;
	background: transparent;
	color: var(--pnx-dim) !important;
	-webkit-text-fill-color: var(--pnx-dim) !important;
	font: 750 .72rem/1 system-ui, sans-serif;
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
}

.fyi-pnx-mission-reset:hover,
.fyi-pnx-mission-reset:focus-visible {
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
}

.fyi-pnx-xp-pop {
	position: absolute;
	z-index: 8;
	top: 22%;
	right: 8%;
	pointer-events: none;
	color: #9bd36a !important;
	-webkit-text-fill-color: #9bd36a !important;
	font: 950 clamp(1.3rem, 4vw, 2.2rem)/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	text-shadow: 0 0 22px rgba(155,211,106,.7);
	opacity: 0;
	transform: translateY(16px) scale(.8);
}

.fyi-pnx-xp-pop.is-visible {
	animation: fyi-pnx-xp-pop 1.25s ease both;
}

@keyframes fyi-pnx-xp-pop {
	0% { opacity: 0; transform: translateY(18px) scale(.78); }
	18% { opacity: 1; transform: translateY(0) scale(1.08); }
	72% { opacity: 1; transform: translateY(-18px) scale(1); }
	100% { opacity: 0; transform: translateY(-34px) scale(.92); }
}

.fyi-pnx-reward-burst {
	position: absolute;
	inset: 0;
	z-index: 7;
	pointer-events: none;
	overflow: hidden;
}

.fyi-pnx-reward-particle {
	position: absolute;
	left: 50%;
	top: 48%;
	width: 7px;
	height: 7px;
	border-radius: 2px;
	background: var(--particle-color, var(--build-accent));
	box-shadow: 0 0 10px var(--particle-color, var(--build-accent));
	animation: fyi-pnx-reward-particle 1.1s cubic-bezier(.1,.7,.2,1) forwards;
}

@keyframes fyi-pnx-reward-particle {
	to {
		opacity: 0;
		transform: translate(var(--x), var(--y)) rotate(var(--r)) scale(.3);
	}
}

@media (max-width: 900px) {
	.fyi-pnx-game-rules { grid-template-columns: 1fr; }
	.fyi-pnx-checkpoint-map { grid-template-columns: repeat(7, minmax(21px, 1fr)); }
	.fyi-pnx-achievements { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.fyi-pnx-mission-steps,
	.fyi-pnx-mission-log,
	.fyi-pnx-generator__actions--mission {
		grid-template-columns: 1fr;
	}
	.fyi-pnx-mission-steps__campaign,
	.fyi-pnx-mission-log__quest { grid-column: auto; }
	.fyi-pnx-generator__builder-actions {
		align-items: stretch;
		flex-direction: column;
	}
	.fyi-pnx-generator__builder-actions .fyi-pnx-btn { width: 100%; }
	.fyi-pnx-mission-status-row,
	.fyi-pnx-mission-progress__meta {
		align-items: flex-start;
		flex-direction: column;
	}
	.fyi-pnx-player-hud { grid-template-columns: auto 1fr; }
	.fyi-pnx-player-power {
		grid-column: 1 / -1;
		display: flex;
		align-items: baseline;
		justify-content: space-between;
		padding-top: 10px;
		border-top: 1px solid var(--pnx-line);
		text-align: left;
	}
	.fyi-pnx-game-stats { grid-template-columns: 1fr; }
	.fyi-pnx-checkpoint-map {
		grid-template-columns: repeat(7, minmax(24px, 1fr));
		overflow-x: auto;
	}
}

@media (max-width: 430px) {
	.fyi-pnx-achievements { grid-template-columns: 1fr 1fr; }
	.fyi-pnx-player-avatar { width: 50px; height: 50px; }
}

@media (prefers-reduced-motion: reduce) {
	.fyi-pnx-mission-progress__track > span,
	.fyi-pnx-checkpoint-node,
	.fyi-pnx-achievements > div { transition: none; }
	.fyi-pnx-xp-pop.is-visible,
	.fyi-pnx-reward-particle { animation: none; }
}

/* ==========================================================
   v1.0.0 — PATCH NOTES: SKILL LOADOUT FOUNDATION
   Branching, accessible mini-RPG and personalized collection reveal
   ========================================================== */

.fyi-pnx-rpg {
	position: relative;
	padding: clamp(76px, 9vw, 128px) 0;
	background:
		radial-gradient(circle at 8% 16%, rgba(126,66,184,.24), transparent 30%),
		radial-gradient(circle at 88% 78%, rgba(114,215,220,.13), transparent 34%),
		linear-gradient(180deg, #09070c 0%, #0e0b13 48%, #08070a 100%);
	border-block: 1px solid var(--pnx-line);
	overflow: hidden;
}

.fyi-pnx-rpg::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image:
		linear-gradient(rgba(114,215,220,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(114,215,220,.045) 1px, transparent 1px);
	background-size: 46px 46px;
	mask-image: linear-gradient(to bottom, transparent, #000 14%, #000 86%, transparent);
}

.fyi-pnx-rpg__intro {
	position: relative;
	z-index: 1;
	max-width: 880px;
	margin-bottom: 34px;
}

.fyi-pnx-rpg__intro h2 {
	margin: 10px 0 14px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: clamp(2.2rem, 5.5vw, 5rem);
	line-height: .98;
	letter-spacing: -.055em;
}

.fyi-pnx-rpg__intro > p:last-of-type {
	max-width: 760px;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: clamp(1rem, 1.6vw, 1.16rem);
}

.fyi-pnx-rpg__facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 26px;
}

.fyi-pnx-rpg__facts > div {
	padding: 15px 17px;
	border: 1px solid rgba(114,215,220,.18);
	border-radius: 14px;
	background: rgba(9,7,12,.68);
	box-shadow: inset 0 1px rgba(255,255,255,.035);
}

.fyi-pnx-rpg__facts strong,
.fyi-pnx-rpg__facts span {
	display: block;
}

.fyi-pnx-rpg__facts strong {
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .76rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
}

.fyi-pnx-rpg__facts span {
	margin-top: 6px;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: .86rem;
}

.fyi-pnx-rpg-game {
	position: relative;
	z-index: 1;
	border: 1px solid rgba(231,223,207,.22);
	border-radius: 26px;
	background:
		linear-gradient(145deg, rgba(23,19,31,.98), rgba(10,8,13,.99)),
		#0c0a0f;
	box-shadow: 0 38px 110px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.055);
	overflow: hidden;
}

.fyi-pnx-rpg-game::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: inherit;
	box-shadow: inset 0 0 80px rgba(126,66,184,.06);
}

.fyi-pnx-rpg-game__topbar {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 14px 20px;
	border-bottom: 1px solid var(--pnx-line);
	background: rgba(5,4,7,.92);
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font: 800 .7rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-rpg-game__topbar span:last-child {
	color: var(--pnx-success) !important;
	-webkit-text-fill-color: var(--pnx-success) !important;
}

.fyi-pnx-rpg-resume {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 22px;
	border-bottom: 1px solid rgba(240,198,74,.28);
	background: linear-gradient(90deg, rgba(240,198,74,.16), rgba(114,215,220,.07));
}

.fyi-pnx-rpg-resume[hidden] { display: none !important; }

.fyi-pnx-rpg-resume > div:first-child strong,
.fyi-pnx-rpg-resume > div:first-child span {
	display: block;
}

.fyi-pnx-rpg-resume strong {
	color: #f5d36c !important;
	-webkit-text-fill-color: #f5d36c !important;
	font: 900 .77rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
}

.fyi-pnx-rpg-resume span {
	margin-top: 5px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
}

.fyi-pnx-rpg-resume > div:last-child {
	display: flex;
	gap: 10px;
	flex-wrap: wrap;
}

.fyi-pnx-rpg-screen {
	position: relative;
	z-index: 2;
	padding: clamp(24px, 4vw, 44px);
}

.fyi-pnx-rpg-screen[hidden] { display: none !important; }

.fyi-pnx-rpg-setup__copy {
	max-width: 720px;
	margin-bottom: 24px;
}

.fyi-pnx-rpg-setup__copy > span,
.fyi-pnx-rpg-result__hero > span {
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .72rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .14em;
}

.fyi-pnx-rpg-setup__copy h3,
.fyi-pnx-rpg-result__hero h3 {
	margin: 8px 0 10px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: clamp(1.8rem, 4vw, 3.4rem);
	line-height: 1;
	letter-spacing: -.04em;
}

.fyi-pnx-rpg-setup__copy p,
.fyi-pnx-rpg-result__hero p {
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
}

.fyi-pnx-rpg-classes {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.fyi-pnx-rpg-class {
	position: relative;
	display: flex;
	min-height: 220px;
	flex-direction: column;
	align-items: flex-start;
	padding: 20px;
	border: 1px solid rgba(231,223,207,.18);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(255,255,255,.035), rgba(255,255,255,.012));
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	text-align: left;
	cursor: pointer;
	transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.fyi-pnx-rpg-class:hover,
.fyi-pnx-rpg-class:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(114,215,220,.52);
	background: rgba(114,215,220,.065);
	box-shadow: 0 16px 40px rgba(0,0,0,.26);
}

.fyi-pnx-rpg-class.is-selected {
	border-color: var(--pnx-teal);
	background: linear-gradient(145deg, rgba(114,215,220,.15), rgba(126,66,184,.12));
	box-shadow: 0 0 0 2px rgba(114,215,220,.16), 0 18px 50px rgba(0,0,0,.32);
}

.fyi-pnx-rpg-class__icon {
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	margin-bottom: 25px;
	border: 1px solid rgba(114,215,220,.38);
	border-radius: 14px;
	background: rgba(114,215,220,.08);
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 950 1.5rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-class strong,
.fyi-pnx-rpg-class small,
.fyi-pnx-rpg-class b {
	display: block;
}

.fyi-pnx-rpg-class strong {
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: 1.02rem;
	letter-spacing: .06em;
}

.fyi-pnx-rpg-class small {
	margin-top: 7px;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: .84rem;
}

.fyi-pnx-rpg-class b {
	margin-top: auto;
	padding-top: 18px;
	color: var(--pnx-success) !important;
	-webkit-text-fill-color: var(--pnx-success) !important;
	font: 800 .72rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-setup__actions,
.fyi-pnx-rpg-result__actions,
.fyi-pnx-rpg-recommendation__actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 24px;
}

.fyi-pnx-rpg-hud {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 16px;
	border: 1px solid var(--pnx-line);
	border-radius: 17px;
	background: rgba(5,4,8,.72);
}

.fyi-pnx-rpg-player {
	display: flex;
	align-items: center;
	gap: 12px;
}

.fyi-pnx-rpg-player__avatar {
	display: grid;
	width: 52px;
	height: 52px;
	place-items: center;
	border: 1px solid var(--pnx-teal);
	border-radius: 14px;
	background: linear-gradient(145deg, rgba(114,215,220,.2), rgba(126,66,184,.18));
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font: 950 1.4rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-player small,
.fyi-pnx-rpg-player strong,
.fyi-pnx-rpg-player span {
	display: block;
}

.fyi-pnx-rpg-player small,
.fyi-pnx-rpg-player span {
	color: var(--pnx-dim) !important;
	-webkit-text-fill-color: var(--pnx-dim) !important;
	font: 750 .68rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-player strong {
	margin: 2px 0 3px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: 1rem;
}

.fyi-pnx-rpg-player b {
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
}

.fyi-pnx-rpg-player em {
	color: var(--pnx-success) !important;
	-webkit-text-fill-color: var(--pnx-success) !important;
	font-style: normal;
}

.fyi-pnx-rpg-hud__metrics {
	display: grid;
	grid-template-columns: repeat(3, minmax(88px, 1fr));
	gap: 9px;
}

.fyi-pnx-rpg-hud__metrics > div {
	padding: 10px 12px;
	border: 1px solid rgba(231,223,207,.14);
	border-radius: 12px;
	background: rgba(255,255,255,.025);
	text-align: center;
}

.fyi-pnx-rpg-hud__metrics small,
.fyi-pnx-rpg-hud__metrics strong {
	display: block;
}

.fyi-pnx-rpg-hud__metrics small {
	color: var(--pnx-dim) !important;
	-webkit-text-fill-color: var(--pnx-dim) !important;
	font: 800 .62rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-rpg-hud__metrics strong {
	margin-top: 6px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font: 900 .92rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-progress {
	margin: 14px 0 22px;
}

.fyi-pnx-rpg-progress__meta {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 7px;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font: 800 .67rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .08em;
}

.fyi-pnx-rpg-progress__track,
.fyi-pnx-rpg-boss > div:last-child {
	height: 8px;
	border: 1px solid rgba(231,223,207,.15);
	border-radius: 999px;
	background: #070609;
	overflow: hidden;
}

.fyi-pnx-rpg-progress__track > span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--pnx-purple-bright), var(--pnx-teal), var(--pnx-success));
	box-shadow: 0 0 18px rgba(114,215,220,.35);
	transition: width .45s ease;
}

.fyi-pnx-rpg-play__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(260px, .72fr);
	gap: 16px;
}

.fyi-pnx-rpg-scene,
.fyi-pnx-rpg-sidebar > div,
.fyi-pnx-rpg-patch-card,
.fyi-pnx-rpg-recommendations {
	border: 1px solid var(--pnx-line);
	border-radius: 18px;
	background: rgba(6,5,9,.74);
	box-shadow: inset 0 1px rgba(255,255,255,.035);
}

.fyi-pnx-rpg-scene {
	position: relative;
	min-height: 620px;
	padding: clamp(22px, 3vw, 34px);
	overflow: hidden;
}

.fyi-pnx-rpg-scene::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: radial-gradient(circle at 75% 15%, rgba(126,66,184,.13), transparent 33%);
}

.fyi-pnx-rpg-scene__meta {
	position: relative;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 850 .7rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-rpg-scene__visual {
	position: relative;
	display: grid;
	width: 112px;
	height: 112px;
	place-items: center;
	margin: 28px 0 22px;
	border: 1px solid rgba(114,215,220,.3);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(114,215,220,.17), rgba(126,66,184,.08) 58%, transparent 60%);
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font-size: 2.7rem;
	box-shadow: 0 0 45px rgba(114,215,220,.12);
}

.fyi-pnx-rpg-scene__visual i {
	position: absolute;
	inset: -8px;
	border: 1px dashed rgba(114,215,220,.25);
	border-radius: 50%;
	animation: fyi-pnx-rpg-orbit 14s linear infinite;
}

.fyi-pnx-rpg-scene__visual i:nth-child(2) { inset: -17px; animation-duration: 20s; animation-direction: reverse; border-color: rgba(240,198,74,.2); }
.fyi-pnx-rpg-scene__visual i:nth-child(3) { inset: -27px; animation-duration: 27s; border-color: rgba(126,66,184,.26); }

@keyframes fyi-pnx-rpg-orbit { to { transform: rotate(360deg); } }

.fyi-pnx-rpg-scene h3 {
	position: relative;
	max-width: 780px;
	margin: 0 0 12px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: clamp(1.7rem, 3.4vw, 3rem);
	line-height: 1.03;
	letter-spacing: -.04em;
}

.fyi-pnx-rpg-scene > p {
	position: relative;
	max-width: 760px;
	margin: 0 0 24px;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: 1rem;
}

.fyi-pnx-rpg-boss {
	position: relative;
	margin: 18px 0 24px;
	padding: 14px;
	border: 1px solid rgba(255,123,116,.28);
	border-radius: 14px;
	background: rgba(255,123,116,.06);
}

.fyi-pnx-rpg-boss[hidden] { display: none !important; }

.fyi-pnx-rpg-boss > div:first-child {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
	color: #ffaaa5 !important;
	-webkit-text-fill-color: #ffaaa5 !important;
	font: 900 .7rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-rpg-boss > div:last-child > span {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #ff7b74, #f0c64a);
	transition: width .4s ease;
}

.fyi-pnx-rpg-choices {
	position: relative;
	display: grid;
	gap: 10px;
}

.fyi-pnx-rpg-choices.is-resolved {
	pointer-events: none;
	opacity: .38;
	filter: grayscale(.5);
}

.fyi-pnx-rpg-choice {
	display: grid;
	grid-template-columns: 38px 1fr;
	gap: 2px 13px;
	align-items: center;
	width: 100%;
	padding: 15px 17px;
	border: 1px solid rgba(231,223,207,.16);
	border-radius: 14px;
	background: rgba(255,255,255,.025);
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	text-align: left;
	cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.fyi-pnx-rpg-choice:hover,
.fyi-pnx-rpg-choice:focus-visible {
	transform: translateX(4px);
	border-color: rgba(114,215,220,.54);
	background: rgba(114,215,220,.07);
}

.fyi-pnx-rpg-choice > span {
	grid-row: 1 / span 2;
	display: grid;
	width: 34px;
	height: 34px;
	place-items: center;
	border: 1px solid rgba(114,215,220,.28);
	border-radius: 10px;
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .7rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-choice strong {
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: .98rem;
}

.fyi-pnx-rpg-choice small {
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: .82rem;
}

.fyi-pnx-rpg-choice.is-locked,
.fyi-pnx-rpg-choice:disabled {
	cursor: not-allowed;
	opacity: .5;
}

.fyi-pnx-rpg-choice.is-locked strong::after {
	content: " // LOCKED";
	color: #ffaaa5;
}

.fyi-pnx-rpg-outcome {
	position: relative;
	margin-top: 16px;
	padding: 17px;
	border: 1px solid rgba(155,211,106,.35);
	border-radius: 14px;
	background: linear-gradient(100deg, rgba(155,211,106,.11), rgba(114,215,220,.055));
}

.fyi-pnx-rpg-outcome[hidden] { display: none !important; }

.fyi-pnx-rpg-outcome strong {
	color: var(--pnx-success) !important;
	-webkit-text-fill-color: var(--pnx-success) !important;
	font: 900 .7rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .11em;
}

.fyi-pnx-rpg-outcome p {
	margin: 7px 0 14px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
}

.fyi-pnx-rpg-sidebar {
	display: grid;
	align-content: start;
	gap: 12px;
}

.fyi-pnx-rpg-sidebar > div {
	padding: 17px;
}

.fyi-pnx-rpg-sidebar h4 {
	margin: 0 0 13px;
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .7rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
}

.fyi-pnx-rpg-stat {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 6px 12px;
	align-items: center;
	margin-top: 12px;
}

.fyi-pnx-rpg-stat > span,
.fyi-pnx-rpg-alignment-panel span {
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font: 800 .67rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-stat > strong,
.fyi-pnx-rpg-alignment-panel b {
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font: 900 .74rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-stat > i {
	grid-column: 1 / -1;
	display: block;
	height: 6px;
	border-radius: 99px;
	background: #070609;
	overflow: hidden;
}

.fyi-pnx-rpg-stat > i > b {
	display: block;
	width: 8%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--pnx-purple-bright), var(--pnx-teal));
	transition: width .4s ease;
}

.fyi-pnx-rpg-loadout-panel p {
	margin: -4px 0 17px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-weight: 800;
}

.fyi-pnx-rpg-loadout-panel ul {
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fyi-pnx-rpg-loadout-panel li {
	padding: 8px 10px;
	border: 1px solid rgba(155,211,106,.18);
	border-radius: 9px;
	background: rgba(155,211,106,.055);
	color: #dff3c8 !important;
	-webkit-text-fill-color: #dff3c8 !important;
	font-size: .78rem;
}

.fyi-pnx-rpg-alignment-panel > div {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-top: 1px solid rgba(231,223,207,.1);
}

.fyi-pnx-rpg-result {
	background:
		radial-gradient(circle at 50% 0%, rgba(114,215,220,.14), transparent 40%),
		rgba(6,5,9,.72);
}

.fyi-pnx-rpg-result__hero {
	max-width: 850px;
}

.fyi-pnx-rpg-result__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 24px 0 16px;
}

.fyi-pnx-rpg-result__grid > div {
	padding: 15px;
	border: 1px solid var(--pnx-line);
	border-radius: 13px;
	background: rgba(255,255,255,.025);
}

.fyi-pnx-rpg-result__grid span,
.fyi-pnx-rpg-result__grid strong {
	display: block;
}

.fyi-pnx-rpg-result__grid span {
	color: var(--pnx-dim) !important;
	-webkit-text-fill-color: var(--pnx-dim) !important;
	font: 800 .63rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .09em;
}

.fyi-pnx-rpg-result__grid strong {
	margin-top: 8px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: 1rem;
}

.fyi-pnx-rpg-patch-card {
	padding: 20px;
	background: linear-gradient(145deg, rgba(126,66,184,.13), rgba(114,215,220,.05));
}

.fyi-pnx-rpg-patch-card > div {
	display: flex;
	justify-content: space-between;
	gap: 15px;
	padding-bottom: 13px;
	border-bottom: 1px solid var(--pnx-line);
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .72rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-rpg-patch-card ul {
	display: grid;
	gap: 9px;
	margin: 17px 0 0;
	padding: 0;
	list-style: none;
}

.fyi-pnx-rpg-patch-card li {
	position: relative;
	padding-left: 28px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font: 760 .85rem/1.45 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-patch-card li::before {
	content: "[OK]";
	position: absolute;
	left: 0;
	color: var(--pnx-success);
	font-size: .7rem;
}

.fyi-pnx-rpg-recommendations {
	margin-top: 28px;
	padding: clamp(18px, 3vw, 28px);
	border-color: rgba(240,198,74,.3);
	background:
		radial-gradient(circle at 92% 10%, rgba(240,198,74,.12), transparent 30%),
		rgba(8,7,10,.9);
}

.fyi-pnx-rpg-recommendations[hidden],
.fyi-pnx-rpg-recommendation[hidden] { display: none !important; }

.fyi-pnx-rpg-recommendations__heading > p,
.fyi-pnx-rpg-recommendation__identity > span {
	margin: 0;
	color: #f5d36c !important;
	-webkit-text-fill-color: #f5d36c !important;
	font: 900 .7rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
}

.fyi-pnx-rpg-recommendations__heading h3,
.fyi-pnx-rpg-recommendation__identity h4 {
	margin: 8px 0 8px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: clamp(1.5rem, 3.5vw, 2.5rem);
	line-height: 1.05;
}

.fyi-pnx-rpg-recommendations__heading span,
.fyi-pnx-rpg-recommendation__identity p,
.fyi-pnx-rpg-recommendations__note {
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
}

.fyi-pnx-rpg-recommendation {
	margin-top: 22px;
}

.fyi-pnx-rpg-recommendation__products {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 18px;
}

.fyi-pnx-rpg-product {
	display: grid;
	grid-template-columns: 116px minmax(0, 1fr);
	grid-template-rows: auto auto auto 1fr;
	gap: 3px 14px;
	align-items: center;
	padding: 12px;
	border: 1px solid rgba(231,223,207,.16);
	border-radius: 15px;
	background: rgba(255,255,255,.025);
	text-decoration: none;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.fyi-pnx-rpg-product:hover,
.fyi-pnx-rpg-product:focus-visible {
	transform: translateY(-3px);
	border-color: rgba(114,215,220,.45);
	background: rgba(114,215,220,.055);
}

.fyi-pnx-rpg-product img {
	grid-row: 1 / -1;
	width: 116px;
	height: 116px;
	object-fit: contain;
	border-radius: 11px;
	background: #0b0a0d;
}

.fyi-pnx-rpg-product > span {
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .64rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-rpg-product > strong {
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: .93rem;
	line-height: 1.25;
}

.fyi-pnx-rpg-product > small,
.fyi-pnx-rpg-product > small .amount,
.fyi-pnx-rpg-product > small bdi {
	color: var(--pnx-bone) !important;
	-webkit-text-fill-color: var(--pnx-bone) !important;
	font-weight: 800;
}

.fyi-pnx-rpg-product > b {
	align-self: end;
	color: var(--pnx-success) !important;
	-webkit-text-fill-color: var(--pnx-success) !important;
	font-size: .75rem;
}

.fyi-pnx-rpg-recommendations__note {
	margin: 18px 0 0;
	font-size: .78rem;
}

.fyi-pnx-rpg-feedback {
	position: relative;
	z-index: 3;
	min-height: 0;
	padding: 0 26px 20px;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: .82rem;
}

@media (max-width: 1050px) {
	.fyi-pnx-rpg-classes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.fyi-pnx-rpg-play__layout { grid-template-columns: 1fr; }
	.fyi-pnx-rpg-sidebar { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.fyi-pnx-rpg-scene { min-height: auto; }
}

@media (max-width: 760px) {
	.fyi-pnx-rpg__facts,
	.fyi-pnx-rpg-result__grid,
	.fyi-pnx-rpg-sidebar,
	.fyi-pnx-rpg-recommendation__products { grid-template-columns: 1fr; }
	.fyi-pnx-rpg-game__topbar,
	.fyi-pnx-rpg-resume,
	.fyi-pnx-rpg-hud {
		align-items: flex-start;
		flex-direction: column;
	}
	.fyi-pnx-rpg-hud__metrics { width: 100%; }
	.fyi-pnx-rpg-product { grid-template-columns: 96px minmax(0, 1fr); }
	.fyi-pnx-rpg-product img { width: 96px; height: 96px; }
	.fyi-pnx-rpg-resume > div:last-child,
	.fyi-pnx-rpg-setup__actions,
	.fyi-pnx-rpg-result__actions,
	.fyi-pnx-rpg-recommendation__actions { width: 100%; }
	.fyi-pnx-rpg-resume .fyi-pnx-btn,
	.fyi-pnx-rpg-setup__actions .fyi-pnx-btn,
	.fyi-pnx-rpg-result__actions .fyi-pnx-btn,
	.fyi-pnx-rpg-recommendation__actions .fyi-pnx-btn { flex: 1 1 220px; }
}

@media (max-width: 520px) {
	.fyi-pnx-rpg-classes { grid-template-columns: 1fr; }
	.fyi-pnx-rpg-class { min-height: 178px; }
	.fyi-pnx-rpg-hud__metrics { grid-template-columns: 1fr; }
	.fyi-pnx-rpg-scene__meta { flex-direction: column; gap: 5px; }
	.fyi-pnx-rpg-scene__visual { width: 88px; height: 88px; font-size: 2.1rem; }
	.fyi-pnx-rpg-choice { grid-template-columns: 32px 1fr; padding: 13px; }
	.fyi-pnx-rpg-choice > span { width: 30px; height: 30px; }
}

@media (prefers-reduced-motion: reduce) {
	.fyi-pnx-rpg-scene__visual i { animation: none !important; }
	.fyi-pnx-rpg-class,
	.fyi-pnx-rpg-choice,
	.fyi-pnx-rpg-product,
	.fyi-pnx-rpg-progress__track > span,
	.fyi-pnx-rpg-boss > div:last-child > span,
	.fyi-pnx-rpg-stat > i > b { transition: none !important; }
}


/* ==========================================================
   v1.0.0 — PATCH NOTES: SKILL LOADOUT
   Collection-accurate loadout selection, active skills, passive abilities,
   patch status, effect previews, and responsive game controls.
   ========================================================== */

.fyi-pnx-loadout-step {
	margin-top: 38px;
	padding-top: 32px;
	border-top: 1px solid rgba(231,223,207,.14);
}

.fyi-pnx-loadout-grid .fyi-pnx-rpg-class {
	min-height: 245px;
}

.fyi-pnx-loadout-preview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-top: 24px;
}

.fyi-pnx-loadout-preview > div {
	padding: 16px;
	border: 1px solid rgba(114,215,220,.18);
	border-radius: 14px;
	background: linear-gradient(145deg, rgba(114,215,220,.065), rgba(126,66,184,.055));
}

.fyi-pnx-loadout-preview span,
.fyi-pnx-loadout-preview strong {
	display: block;
}

.fyi-pnx-loadout-preview span {
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .66rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .11em;
}

.fyi-pnx-loadout-preview strong {
	margin-top: 8px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: .88rem;
	line-height: 1.35;
}

.fyi-pnx-skill-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 17px 0;
}

.fyi-pnx-skill-action {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) auto;
	grid-template-rows: auto auto;
	gap: 3px 11px;
	align-items: center;
	padding: 12px;
	border: 1px solid rgba(114,215,220,.24);
	border-radius: 13px;
	background: rgba(114,215,220,.055);
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	text-align: left;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, transform .18s ease;
}

.fyi-pnx-skill-action:hover,
.fyi-pnx-skill-action:focus-visible {
	transform: translateY(-2px);
	border-color: var(--pnx-teal);
	background: rgba(114,215,220,.11);
}

.fyi-pnx-skill-action > span {
	grid-row: 1 / -1;
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgba(114,215,220,.36);
	border-radius: 10px;
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 950 .78rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-skill-action strong,
.fyi-pnx-skill-action small,
.fyi-pnx-skill-action b {
	display: block;
}

.fyi-pnx-skill-action strong {
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: .82rem;
}

.fyi-pnx-skill-action small {
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: .72rem;
	line-height: 1.3;
}

.fyi-pnx-skill-action b {
	grid-column: 3;
	grid-row: 1 / -1;
	color: var(--pnx-success) !important;
	-webkit-text-fill-color: var(--pnx-success) !important;
	font: 900 .62rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	text-align: right;
}

.fyi-pnx-skill-action.is-passive {
	cursor: default;
	border-color: rgba(155,211,106,.24);
	background: rgba(155,211,106,.055);
}

.fyi-pnx-skill-action:disabled,
.fyi-pnx-skill-action.is-used {
	cursor: not-allowed;
	opacity: .5;
	transform: none;
}

.fyi-pnx-vision-status {
	margin: 12px 0;
	padding: 10px 12px;
	border: 1px solid rgba(240,198,74,.28);
	border-radius: 10px;
	background: rgba(240,198,74,.08);
	color: #f5d36c !important;
	-webkit-text-fill-color: #f5d36c !important;
	font: 900 .68rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .08em;
}

.fyi-pnx-vision-status[hidden] { display: none !important; }

.fyi-pnx-rpg-choice em {
	grid-column: 2;
	display: block;
	margin-top: 7px;
	padding-top: 7px;
	border-top: 1px dashed rgba(114,215,220,.16);
	color: #f5d36c !important;
	-webkit-text-fill-color: #f5d36c !important;
	font: 800 .67rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-style: normal;
}

.fyi-pnx-rpg-stat--doubt > i > b {
	background: linear-gradient(90deg, #e15c65, #f0c64a);
}

.fyi-patch-status-panel b.is-complete {
	color: var(--pnx-success) !important;
	-webkit-text-fill-color: var(--pnx-success) !important;
}

.fyi-pnx-rpg-boss {
	display: block;
}

@media (max-width: 900px) {
	.fyi-pnx-loadout-preview { grid-template-columns: 1fr; }
	.fyi-pnx-skill-actions { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
	.fyi-pnx-loadout-grid .fyi-pnx-rpg-class { min-height: 195px; }
	.fyi-pnx-skill-action { grid-template-columns: 38px minmax(0, 1fr); }
	.fyi-pnx-skill-action > span { width: 38px; height: 38px; }
	.fyi-pnx-skill-action b { grid-column: 2; grid-row: auto; text-align: left; margin-top: 3px; }
	.fyi-pnx-rpg-choice em { grid-column: 1 / -1; }
}

@media (prefers-reduced-motion: reduce) {
	.fyi-pnx-skill-action { transition: none !important; }
}


/* ==========================================================
   SKILL LOADOUT STORY EDITION — GAME-ONLY ENHANCEMENTS
   ========================================================== */
.fyi-pnx-rpg-story-log ol {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: patch-log;
}

.fyi-pnx-rpg-story-log li {
	position: relative;
	padding: 10px 10px 10px 38px;
	border: 1px solid rgba(114,215,220,.12);
	border-radius: 10px;
	background: rgba(114,215,220,.035);
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: .74rem;
	line-height: 1.45;
	counter-increment: patch-log;
}

.fyi-pnx-rpg-story-log li::before {
	content: counter(patch-log, decimal-leading-zero);
	position: absolute;
	left: 10px;
	top: 10px;
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .66rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-story-log li strong,
.fyi-pnx-rpg-story-log li span {
	display: block;
}

.fyi-pnx-rpg-story-log li strong {
	margin-bottom: 3px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font: 850 .65rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .06em;
}

.fyi-pnx-rpg-choice strong {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: .9rem;
	letter-spacing: .015em;
}

.fyi-pnx-rpg-choice small {
	margin-top: 3px;
	line-height: 1.45;
}

.fyi-pnx-rpg-outcome p {
	line-height: 1.6;
}

.fyi-pnx-rpg-ending-lesson {
	position: relative;
	margin-top: 16px;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid rgba(240,198,74,.3);
	border-radius: 18px;
	background:
		linear-gradient(135deg, rgba(240,198,74,.11), rgba(126,66,184,.09) 55%, rgba(114,215,220,.06)),
		rgba(6,5,9,.78);
	overflow: hidden;
}

.fyi-pnx-rpg-ending-lesson::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.025), transparent);
}

.fyi-pnx-rpg-ending-lesson > span {
	position: relative;
	color: #f5d36c !important;
	-webkit-text-fill-color: #f5d36c !important;
	font: 900 .68rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .13em;
}

.fyi-pnx-rpg-ending-lesson h4 {
	position: relative;
	margin: 10px 0 8px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: clamp(1.3rem, 2.6vw, 2rem);
	line-height: 1.1;
	letter-spacing: -.025em;
}

.fyi-pnx-rpg-ending-lesson p {
	position: relative;
	max-width: 900px;
	margin: 0;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	line-height: 1.65;
}

.fyi-pnx-rpg-ending-lesson blockquote {
	position: relative;
	margin: 20px 0 0;
	padding: 17px 18px;
	border-left: 3px solid var(--pnx-teal);
	background: rgba(114,215,220,.055);
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: clamp(1rem, 2vw, 1.25rem);
	font-weight: 750;
	font-style: italic;
	line-height: 1.5;
}

.fyi-pnx-rpg-result .fyi-pnx-rpg-recommendations {
	margin-top: 18px;
}

@media (max-width: 520px) {
	.fyi-pnx-rpg-story-log li { padding-left: 34px; }
	.fyi-pnx-rpg-ending-lesson { padding: 18px; }
	.fyi-pnx-rpg-ending-lesson blockquote { padding: 14px; }
}

/* ==========================================================
   SKILL LOADOUT — CLEAR STORY UPDATE
   Game-only organization for Current Update selection and preview.
   ========================================================== */
.fyi-pnx-loadout-preview {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.fyi-pnx-rpg-loadout-panel [data-rpg-current-update] {
	margin: 0 0 16px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-weight: 800;
	line-height: 1.35;
}

@media (max-width: 900px) {
	.fyi-pnx-loadout-preview { grid-template-columns: 1fr; }
}

/* ==========================================================
   SKILL LOADOUT — OBSTACLE STORY SYSTEM
   Game-only UI for enemies, deterministic counters, patch plans,
   share cards, and the post-game continuation path.
   ========================================================== */
.fyi-pnx-rpg-boss {
	display: grid;
	gap: 10px;
	padding: 17px;
	border-color: rgba(255,123,116,.34);
	background:
		linear-gradient(135deg, rgba(255,123,116,.09), rgba(126,66,184,.07) 58%, rgba(114,215,220,.04)),
		rgba(7,6,10,.84);
}

.fyi-pnx-rpg-boss__head,
.fyi-pnx-rpg-boss__weakness,
.fyi-pnx-rpg-boss__threat > div:first-child {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 14px;
}

.fyi-pnx-rpg-boss > .fyi-pnx-rpg-boss__head {
	margin: 0;
	color: #ffaaa5 !important;
	-webkit-text-fill-color: #ffaaa5 !important;
	font: 900 .7rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-rpg-boss__head strong {
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font-size: .82rem;
	text-align: right;
}

.fyi-pnx-rpg-boss__type {
	width: fit-content;
	padding: 5px 8px;
	border: 1px solid rgba(255,123,116,.24);
	border-radius: 999px;
	background: rgba(255,123,116,.08);
	color: #ffcbc7 !important;
	-webkit-text-fill-color: #ffcbc7 !important;
	font: 800 .61rem/1 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .08em;
}

.fyi-pnx-rpg-boss > p {
	margin: 0;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	font-size: .86rem;
	line-height: 1.5;
}

.fyi-pnx-rpg-boss__weakness {
	padding: 9px 10px;
	border: 1px solid rgba(114,215,220,.17);
	border-radius: 10px;
	background: rgba(114,215,220,.045);
}

.fyi-pnx-rpg-boss__weakness span,
.fyi-pnx-rpg-boss__threat span {
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .62rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .08em;
}

.fyi-pnx-rpg-boss__weakness strong {
	max-width: 70%;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font: 750 .72rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	text-align: right;
}

.fyi-pnx-rpg-boss__threat {
	display: grid;
	gap: 7px;
}

.fyi-pnx-rpg-boss__threat > div:first-child {
	margin: 0;
	color: #ffaaa5 !important;
	-webkit-text-fill-color: #ffaaa5 !important;
	font: 900 .68rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .1em;
}

.fyi-pnx-rpg-boss__threat > div:last-child {
	height: 9px;
	border: 1px solid rgba(231,223,207,.15);
	border-radius: 999px;
	background: #070609;
	overflow: hidden;
}

.fyi-pnx-rpg-boss__threat > div:last-child > span {
	display: block;
	width: 100%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #ff7b74, #f0c64a);
	box-shadow: 0 0 16px rgba(255,123,116,.24);
	transition: width .4s ease;
}

.fyi-pnx-rpg-choice b {
	grid-column: 2;
	display: block;
	margin-top: 5px;
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 850 .64rem/1.35 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .07em;
}

.fyi-pnx-rpg-choice em {
	grid-column: 2;
}

.fyi-pnx-skill-action:disabled {
	opacity: .52;
	filter: saturate(.65);
	cursor: not-allowed;
}

.fyi-pnx-rpg-plan,
.fyi-pnx-rpg-share-card,
.fyi-pnx-rpg-continuation {
	margin-top: 18px;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid var(--pnx-line);
	border-radius: 18px;
	background: rgba(6,5,9,.78);
	box-shadow: inset 0 1px rgba(255,255,255,.035);
}

.fyi-pnx-rpg-plan > span,
.fyi-pnx-rpg-share-card > span,
.fyi-pnx-rpg-continuation > div:first-child > span {
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .66rem/1.2 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .12em;
}

.fyi-pnx-rpg-plan h4,
.fyi-pnx-rpg-share-card h4,
.fyi-pnx-rpg-continuation h4 {
	margin: 9px 0 10px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font-size: clamp(1.25rem, 2.5vw, 1.9rem);
	line-height: 1.1;
	letter-spacing: -.025em;
}

.fyi-pnx-rpg-plan ol {
	display: grid;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: patch-plan;
}

.fyi-pnx-rpg-plan li {
	position: relative;
	padding: 13px 14px 13px 48px;
	border: 1px solid rgba(114,215,220,.14);
	border-radius: 12px;
	background: rgba(114,215,220,.035);
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	line-height: 1.5;
	counter-increment: patch-plan;
}

.fyi-pnx-rpg-plan li::before {
	content: counter(patch-plan, decimal-leading-zero);
	position: absolute;
	left: 14px;
	top: 13px;
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font: 900 .72rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-share-card {
	position: relative;
	overflow: hidden;
	border-color: rgba(240,198,74,.28);
	background:
		radial-gradient(circle at 88% 8%, rgba(114,215,220,.16), transparent 30%),
		linear-gradient(135deg, rgba(126,66,184,.16), rgba(240,198,74,.08) 58%, rgba(114,215,220,.07)),
		rgba(6,5,9,.84);
}

.fyi-pnx-rpg-share-card::after {
	content: "FYI";
	position: absolute;
	right: -10px;
	bottom: -34px;
	color: rgba(248,244,236,.035) !important;
	-webkit-text-fill-color: rgba(248,244,236,.035) !important;
	font-size: clamp(7rem, 18vw, 14rem);
	font-weight: 950;
	line-height: 1;
	pointer-events: none;
}

.fyi-pnx-rpg-share-card > p {
	position: relative;
	z-index: 1;
	margin: 0;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
}

.fyi-pnx-rpg-share-card__stats {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 18px 0;
}

.fyi-pnx-rpg-share-card__stats > div {
	padding: 13px;
	border: 1px solid rgba(231,223,207,.13);
	border-radius: 12px;
	background: rgba(0,0,0,.2);
}

.fyi-pnx-rpg-share-card__stats span,
.fyi-pnx-rpg-share-card__stats strong {
	display: block;
}

.fyi-pnx-rpg-share-card__stats span {
	color: var(--pnx-dim) !important;
	-webkit-text-fill-color: var(--pnx-dim) !important;
	font: 800 .59rem/1.25 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	letter-spacing: .08em;
}

.fyi-pnx-rpg-share-card__stats strong {
	margin-top: 7px;
	color: var(--pnx-text) !important;
	-webkit-text-fill-color: var(--pnx-text) !important;
	font: 900 .8rem/1.3 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.fyi-pnx-rpg-share-card blockquote {
	position: relative;
	z-index: 1;
	margin: 0;
	padding: 15px 17px;
	border-left: 3px solid var(--pnx-teal);
	background: rgba(114,215,220,.055);
	color: #f5d36c !important;
	-webkit-text-fill-color: #f5d36c !important;
	font-size: clamp(1rem, 2vw, 1.25rem);
	font-weight: 850;
	font-style: normal;
}

.fyi-pnx-rpg-continuation {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(250px, .7fr);
	gap: 20px;
	align-items: center;
}

.fyi-pnx-rpg-continuation p {
	margin: 0;
	color: var(--pnx-muted) !important;
	-webkit-text-fill-color: var(--pnx-muted) !important;
	line-height: 1.55;
}

.fyi-pnx-rpg-continuation > div:last-child {
	display: grid;
	gap: 10px;
}

.fyi-pnx-rpg-continuation .fyi-pnx-btn {
	width: 100%;
	text-align: center;
}

@media (max-width: 760px) {
	.fyi-pnx-rpg-boss__head,
	.fyi-pnx-rpg-boss__weakness {
		align-items: flex-start;
		flex-direction: column;
	}
	.fyi-pnx-rpg-boss__weakness strong {
		max-width: none;
		text-align: left;
	}
	.fyi-pnx-rpg-share-card__stats,
	.fyi-pnx-rpg-continuation {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.fyi-pnx-rpg-choice b,
	.fyi-pnx-rpg-choice em {
		grid-column: 1 / -1;
	}
	.fyi-pnx-rpg-plan,
	.fyi-pnx-rpg-share-card,
	.fyi-pnx-rpg-continuation {
		padding: 18px;
	}
}

/* ==========================================================
   PATCH NOTES: SKILL LOADOUT — CLEAR STORY EDITION
   Game-only layout and readability refinements.
   ========================================================== */

.fyi-pnx-storygame {
	position: relative;
	padding: clamp(72px, 9vw, 126px) 0;
	background:
		radial-gradient(circle at 12% 8%, rgba(114, 215, 220, .10), transparent 34%),
		radial-gradient(circle at 88% 82%, rgba(126, 66, 184, .14), transparent 36%),
		linear-gradient(180deg, #09070d 0%, #0c0910 52%, #08070a 100%);
}

.fyi-pnx-storygame__shell {
	min-height: 720px;
	border: 1px solid rgba(114, 215, 220, .22);
	border-radius: 28px;
	background: rgba(10, 8, 13, .94);
	box-shadow: 0 34px 100px rgba(0, 0, 0, .48), inset 0 1px 0 rgba(255,255,255,.035);
	overflow: hidden;
	scroll-margin-top: 96px;
}

.fyi-pnx-storygame__setup,
.fyi-pnx-storygame__play,
.fyi-pnx-storygame__result {
	padding: clamp(24px, 4vw, 54px);
}

.fyi-pnx-storygame__objective-card {
	margin-bottom: 34px;
	padding: clamp(24px, 3vw, 38px);
	border: 1px solid rgba(114, 215, 220, .26);
	border-radius: 22px;
	background:
		linear-gradient(145deg, rgba(114, 215, 220, .08), rgba(126, 66, 184, .07)),
		#111018;
}

.fyi-pnx-storygame__objective-card > span,
.fyi-pnx-storygame__goal-field > span,
.fyi-pnx-storygame__goal-field > label,
.fyi-pnx-storygame__choice-heading > span,
.fyi-pnx-storygame__scenario > span,
.fyi-pnx-storygame__outcome > span {
	display: block;
	margin-bottom: 8px;
	color: var(--pnx-teal) !important;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.fyi-pnx-storygame__objective-card h3 {
	margin: 0 0 10px;
	color: var(--pnx-text) !important;
	font-size: clamp(26px, 3.2vw, 42px);
	line-height: 1.08;
}

.fyi-pnx-storygame__objective-card > p {
	max-width: 920px;
	margin: 0;
	color: #ddd6e2 !important;
	font-size: 16px;
}

.fyi-pnx-storygame__rule-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 24px;
}

.fyi-pnx-storygame__rule-grid > div {
	padding: 16px;
	border: 1px solid rgba(231, 223, 207, .15);
	border-radius: 14px;
	background: rgba(0,0,0,.23);
}

.fyi-pnx-storygame__rule-grid b,
.fyi-pnx-storygame__rule-grid span {
	display: block;
}

.fyi-pnx-storygame__rule-grid b {
	margin-bottom: 5px;
	color: var(--pnx-bone) !important;
	font-size: 12px;
	letter-spacing: .08em;
}

.fyi-pnx-storygame__rule-grid span {
	color: #cfc6d3 !important;
	font-size: 13px;
	line-height: 1.45;
}

.fyi-pnx-storygame__goal-field {
	display: block;
	margin: 26px 0 38px;
	padding: 20px;
	border: 1px solid rgba(231, 223, 207, .18);
	border-radius: 18px;
	background: #111018;
}

.fyi-pnx-storygame__goal-controls {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: stretch;
}

.fyi-pnx-storygame__goal-save {
	min-width: 190px;
	min-height: 52px;
	padding: 10px 16px !important;
	white-space: nowrap;
}

.fyi-pnx-storygame__goal-field input {
	display: block;
	width: 100%;
	min-height: 52px;
	margin: 0;
	padding: 12px 15px;
	border: 1px solid rgba(114, 215, 220, .30) !important;
	border-radius: 10px !important;
	background: #f8f4ec !important;
	color: #151218 !important;
	-webkit-text-fill-color: #151218 !important;
	font: inherit;
	font-size: 16px;
	box-shadow: none !important;
}

.fyi-pnx-storygame__goal-field input:focus {
	outline: 3px solid rgba(114, 215, 220, .26) !important;
	outline-offset: 2px;
	border-color: var(--pnx-teal) !important;
}

.fyi-pnx-storygame__goal-field small {
	display: block;
	margin-top: 8px;
	color: #b9b0bf !important;
	font-size: 12px;
}

.fyi-pnx-storygame__goal-status {
	display: inline-flex;
	align-items: center;
	margin-top: 10px;
	padding: 6px 9px;
	border: 1px solid rgba(240, 198, 74, .28);
	border-radius: 999px;
	background: rgba(240, 198, 74, .07);
	color: #f0c64a !important;
	font-family: var(--pnx-mono);
	font-size: 10px;
	line-height: 1.3;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.fyi-pnx-storygame__goal-status.is-saved {
	border-color: rgba(155, 211, 106, .32);
	background: rgba(155, 211, 106, .08);
	color: #9bd36a !important;
}

.fyi-pnx-storygame .fyi-pnx-rpg-class {
	min-height: 208px;
	padding: 20px;
	text-align: left;
}

.fyi-pnx-storygame .fyi-pnx-rpg-class strong,
.fyi-pnx-storygame .fyi-pnx-rpg-class small,
.fyi-pnx-storygame .fyi-pnx-rpg-class b {
	display: block;
}

.fyi-pnx-storygame .fyi-pnx-rpg-class strong {
	margin: 14px 0 8px;
	color: #f8f4ec !important;
	font-size: 16px;
	line-height: 1.2;
}

.fyi-pnx-storygame .fyi-pnx-rpg-class small {
	color: #d4ccd8 !important;
	font-size: 13px;
	line-height: 1.5;
}

.fyi-pnx-storygame .fyi-pnx-rpg-class b {
	margin-top: auto;
	padding-top: 14px;
	color: var(--pnx-teal) !important;
	font-size: 10px;
	letter-spacing: .08em;
}

.fyi-pnx-storygame__story-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 20px;
	padding: 20px 22px;
	border: 1px solid rgba(114, 215, 220, .20);
	border-radius: 18px;
	background: #111018;
}

.fyi-pnx-storygame__story-header small,
.fyi-pnx-storygame__story-header strong,
.fyi-pnx-storygame__story-header span {
	display: block;
}

.fyi-pnx-storygame__story-header small {
	margin-bottom: 5px;
	color: var(--pnx-teal) !important;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .12em;
}

.fyi-pnx-storygame__story-header strong {
	max-width: 760px;
	color: #f8f4ec !important;
	font-size: clamp(18px, 2vw, 25px);
	line-height: 1.28;
}

.fyi-pnx-storygame__story-header span {
	margin-top: 6px;
	color: #cfc7d3 !important;
	font-size: 13px;
}

.fyi-pnx-storygame__day-counter {
	min-width: 112px;
	padding: 12px 14px;
	border: 1px solid rgba(231, 223, 207, .17);
	border-radius: 13px;
	background: rgba(0,0,0,.25);
	text-align: center;
}

.fyi-pnx-storygame__day-counter span {
	margin: 0 0 4px;
	color: #bcb3c1 !important;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
}

.fyi-pnx-storygame__day-counter strong {
	font-size: 22px;
}

.fyi-pnx-storygame__roadmap {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 7px;
	margin: 18px 0;
}

.fyi-pnx-storygame__roadmap > div {
	position: relative;
	min-width: 0;
	padding: 12px 5px 10px;
	border: 1px solid rgba(231, 223, 207, .12);
	border-radius: 12px;
	background: rgba(255,255,255,.025);
	text-align: center;
	transition: border-color .2s ease, background .2s ease, transform .2s ease;
}

.fyi-pnx-storygame__roadmap b,
.fyi-pnx-storygame__roadmap span {
	display: block;
}

.fyi-pnx-storygame__roadmap b {
	color: #c5bdc9 !important;
	font-size: 15px;
}

.fyi-pnx-storygame__roadmap span {
	margin-top: 3px;
	color: #968d9d !important;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .06em;
}

.fyi-pnx-storygame__roadmap > div.is-current {
	border-color: var(--pnx-teal);
	background: rgba(114, 215, 220, .10);
	transform: translateY(-2px);
}

.fyi-pnx-storygame__roadmap > div.is-current b,
.fyi-pnx-storygame__roadmap > div.is-current span {
	color: var(--pnx-teal) !important;
}

.fyi-pnx-storygame__roadmap > div.is-complete {
	border-color: rgba(155, 211, 106, .42);
	background: rgba(155, 211, 106, .08);
}

.fyi-pnx-storygame__roadmap > div.is-complete b,
.fyi-pnx-storygame__roadmap > div.is-complete span {
	color: var(--pnx-success) !important;
}

.fyi-pnx-storygame__metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
	margin: 18px 0 26px;
}

.fyi-pnx-storygame__metrics > div {
	padding: 15px;
	border: 1px solid rgba(231, 223, 207, .14);
	border-radius: 14px;
	background: #111018;
}

.fyi-pnx-storygame__metrics span,
.fyi-pnx-storygame__metrics strong,
.fyi-pnx-storygame__metrics small {
	display: block;
}

.fyi-pnx-storygame__metrics span {
	color: #bdb5c3 !important;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
}

.fyi-pnx-storygame__metrics strong {
	margin: 4px 0 2px;
	color: #f8f4ec !important;
	font-size: 25px;
}

.fyi-pnx-storygame__metrics small {
	color: #918896 !important;
	font-size: 11px;
}

.fyi-pnx-storygame__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(310px, .75fr);
	gap: 22px;
	align-items: start;
}

.fyi-pnx-storygame__scene,
.fyi-pnx-storygame__sidebar > div {
	border: 1px solid rgba(231, 223, 207, .14);
	border-radius: 20px;
	background: #111018;
}

.fyi-pnx-storygame__scene {
	padding: clamp(22px, 3vw, 36px);
}

.fyi-pnx-storygame__scene > h3 {
	margin: 12px 0 18px;
	color: #f8f4ec !important;
	font-size: clamp(26px, 3vw, 40px);
	line-height: 1.08;
}

.fyi-pnx-storygame__scenario {
	margin-bottom: 18px;
	padding: 18px;
	border-left: 4px solid var(--pnx-teal);
	border-radius: 0 14px 14px 0;
	background: rgba(114, 215, 220, .06);
}

.fyi-pnx-storygame__scenario p {
	margin: 0;
	color: #e1d9e4 !important;
	font-size: 15px;
	line-height: 1.68;
}

.fyi-pnx-storygame__obstacle {
	margin: 0 0 24px;
	padding: 20px;
	border: 1px solid rgba(255, 123, 116, .24);
	border-radius: 16px;
	background: linear-gradient(145deg, rgba(255,123,116,.055), rgba(0,0,0,.16));
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__head,
.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 14px;
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__head span,
.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness span {
	color: #ffa19b !important;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .1em;
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__head strong {
	color: #fff1ef !important;
	font-size: 17px;
	text-align: right;
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__type {
	margin: 12px 0 7px;
	color: #c5bcc8 !important;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .05em;
}

.fyi-pnx-storygame__obstacle p {
	margin: 0 0 14px;
	color: #ddd5df !important;
	font-size: 14px;
	line-height: 1.6;
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness {
	padding-top: 13px;
	border-top: 1px solid rgba(231, 223, 207, .12);
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness strong {
	max-width: 70%;
	color: var(--pnx-bone) !important;
	font-size: 13px;
	line-height: 1.42;
	text-align: right;
}

.fyi-pnx-storygame__choice-heading {
	margin: 26px 0 12px;
}

.fyi-pnx-storygame__choice-heading p {
	margin: 0;
	color: #bfb6c3 !important;
	font-size: 13px;
}

.fyi-pnx-storygame__choices {
	display: grid;
	gap: 14px;
}

.fyi-pnx-storygame__choice {
	display: block;
	width: 100%;
	padding: 20px;
	border: 1px solid rgba(231, 223, 207, .16) !important;
	border-radius: 16px !important;
	background: #15121b !important;
	color: #f8f4ec !important;
	-webkit-text-fill-color: initial !important;
	text-align: left;
	box-shadow: none !important;
	cursor: pointer;
	transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.fyi-pnx-storygame__choice:hover,
.fyi-pnx-storygame__choice:focus-visible {
	transform: translateY(-2px);
	border-color: var(--pnx-teal) !important;
	background: #191620 !important;
	outline: none;
}

.fyi-pnx-storygame__choice:focus-visible {
	box-shadow: 0 0 0 3px rgba(114, 215, 220, .22) !important;
}

.fyi-pnx-storygame__choice.is-loadout-route {
	border-color: rgba(240, 198, 74, .44) !important;
	background: linear-gradient(145deg, rgba(240,198,74,.07), #15121b) !important;
}

.fyi-pnx-storygame__choice-tag {
	display: inline-flex;
	margin-bottom: 8px;
	padding: 5px 8px;
	border: 1px solid rgba(114, 215, 220, .24);
	border-radius: 999px;
	color: var(--pnx-teal) !important;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .08em;
}

.fyi-pnx-storygame__choice.is-loadout-route .fyi-pnx-storygame__choice-tag {
	border-color: rgba(240,198,74,.35);
	color: #f0c64a !important;
}

.fyi-pnx-storygame__choice h4 {
	margin: 0 0 10px;
	color: #f8f4ec !important;
	font-size: 19px;
	line-height: 1.25;
}

.fyi-pnx-storygame__choice p {
	margin: 0;
	color: #d6ceda !important;
	font-size: 13px;
	line-height: 1.58;
}

.fyi-pnx-storygame__choice-action {
	margin-bottom: 13px !important;
}

.fyi-pnx-storygame__choice-action b {
	color: var(--pnx-bone) !important;
}

.fyi-pnx-storygame__choice-patches {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin: 13px 0;
	padding: 11px 12px;
	border: 1px solid rgba(155, 211, 106, .20);
	border-radius: 10px;
	background: rgba(155, 211, 106, .055);
}

.fyi-pnx-storygame__choice-patches span {
	color: #aab0a3 !important;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .08em;
}

.fyi-pnx-storygame__choice-patches strong {
	color: var(--pnx-success) !important;
	font-size: 11px;
	line-height: 1.4;
	text-align: right;
}

.fyi-pnx-storygame__choice-why,
.fyi-pnx-storygame__choice-next {
	padding-top: 12px;
	border-top: 1px solid rgba(231, 223, 207, .10);
}

.fyi-pnx-storygame__choice-why span,
.fyi-pnx-storygame__choice-next span {
	display: block;
	margin-bottom: 4px;
	color: #aaa1b0 !important;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .08em;
}

.fyi-pnx-storygame__choice-next {
	margin-top: 12px;
}

.fyi-pnx-storygame__choice-next:not(.is-hidden-info) span {
	color: var(--pnx-teal) !important;
}

.fyi-pnx-storygame__choice-next.is-hidden-info p {
	color: #918896 !important;
	font-style: italic;
}

.fyi-pnx-storygame__outcome {
	margin-top: 18px;
	padding: 22px;
	border: 1px solid rgba(155, 211, 106, .36);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(155,211,106,.09), #111018);
}

.fyi-pnx-storygame__outcome h4 {
	margin: 0 0 9px;
	color: #f8f4ec !important;
	font-size: 21px;
}

.fyi-pnx-storygame__outcome > p {
	margin: 0 0 16px;
	color: #ddd6e2 !important;
	font-size: 14px;
	line-height: 1.65;
}

.fyi-pnx-storygame__applied-patches {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 18px;
}

.fyi-pnx-storygame__applied-patches span {
	padding: 7px 9px;
	border: 1px solid rgba(155, 211, 106, .30);
	border-radius: 999px;
	background: rgba(155,211,106,.08);
	color: var(--pnx-success) !important;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .05em;
}

.fyi-pnx-storygame__sidebar {
	display: grid;
	gap: 14px;
	position: sticky;
	top: 94px;
}

.fyi-pnx-storygame__sidebar > div {
	padding: 18px;
}

.fyi-pnx-storygame__sidebar h4 {
	margin: 0 0 13px;
	color: var(--pnx-teal) !important;
	font-size: 11px;
	font-weight: 900;
	letter-spacing: .1em;
}

.fyi-pnx-storygame__loadout > div + div {
	margin-top: 14px;
	padding-top: 14px;
	border-top: 1px solid rgba(231, 223, 207, .10);
}

.fyi-pnx-storygame__loadout > div > span {
	display: block;
	margin-bottom: 7px;
	color: #aaa1b0 !important;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .08em;
}

.fyi-pnx-storygame__loadout ul {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.fyi-pnx-storygame__loadout li,
.fyi-pnx-storygame__loadout p {
	margin: 0;
	padding: 10px;
	border: 1px solid rgba(231, 223, 207, .10);
	border-radius: 10px;
	background: rgba(255,255,255,.025);
}

.fyi-pnx-storygame__loadout li strong,
.fyi-pnx-storygame__loadout li span,
.fyi-pnx-storygame__loadout li b,
.fyi-pnx-storygame__loadout p strong,
.fyi-pnx-storygame__loadout p span,
.fyi-pnx-storygame__loadout p b {
	display: block;
}

.fyi-pnx-storygame__loadout li strong,
.fyi-pnx-storygame__loadout p strong {
	color: #f8f4ec !important;
	font-size: 12px;
}

.fyi-pnx-storygame__loadout li span,
.fyi-pnx-storygame__loadout p span {
	margin-top: 5px;
	color: #bdb5c3 !important;
	font-size: 11px;
	line-height: 1.45;
}

.fyi-pnx-storygame__loadout li b,
.fyi-pnx-storygame__loadout p b {
	margin-top: 7px;
	color: var(--pnx-success) !important;
	font-size: 9px;
	letter-spacing: .08em;
}

.fyi-pnx-storygame__rules-live p {
	margin: 0;
	color: #d3cbd6 !important;
	font-size: 12px;
	line-height: 1.58;
}

.fyi-pnx-storygame__log > div {
	max-height: 520px;
	overflow: auto;
	padding-right: 5px;
	scrollbar-width: thin;
	scrollbar-color: rgba(114,215,220,.35) transparent;
}

.fyi-pnx-storygame__log-empty {
	margin: 0;
	color: #a9a0af !important;
	font-size: 12px;
}

.fyi-pnx-storygame__log-entry {
	padding: 13px;
	border: 1px solid rgba(231, 223, 207, .10);
	border-radius: 12px;
	background: rgba(255,255,255,.025);
}

.fyi-pnx-storygame__log-entry + .fyi-pnx-storygame__log-entry {
	margin-top: 10px;
}

.fyi-pnx-storygame__log-entry header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 9px;
}

.fyi-pnx-storygame__log-entry header span {
	color: var(--pnx-teal) !important;
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .07em;
}

.fyi-pnx-storygame__log-entry header strong {
	color: #f8f4ec !important;
	font-size: 10px;
	text-align: right;
}

.fyi-pnx-storygame__log-entry p {
	margin: 0 0 7px;
	color: #cfc7d3 !important;
	font-size: 11px;
	line-height: 1.5;
}

.fyi-pnx-storygame__log-entry p:last-child {
	margin-bottom: 0;
}

.fyi-pnx-storygame__log-entry p b {
	color: var(--pnx-bone) !important;
	font-size: 9px;
	letter-spacing: .04em;
}

.fyi-pnx-storygame__log-patch {
	padding-top: 7px;
	border-top: 1px solid rgba(231,223,207,.08);
	color: var(--pnx-success) !important;
}

.fyi-pnx-storygame__result .fyi-pnx-rpg-result__hero p,
.fyi-pnx-storygame__result .fyi-pnx-rpg-ending-lesson p,
.fyi-pnx-storygame__result .fyi-pnx-rpg-plan li,
.fyi-pnx-storygame__result .fyi-pnx-rpg-share-card p {
	color: #ddd6e2 !important;
}

.fyi-pnx-storygame__result .fyi-pnx-rpg-ending-lesson blockquote,
.fyi-pnx-storygame__result .fyi-pnx-rpg-share-card blockquote {
	color: #f0c64a !important;
}

@media (max-width: 1060px) {
	.fyi-pnx-storygame__layout {
		grid-template-columns: 1fr;
	}
	.fyi-pnx-storygame__sidebar {
		position: static;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.fyi-pnx-storygame__log {
		grid-column: 1 / -1;
	}
}

@media (max-width: 820px) {
	.fyi-pnx-storygame__rule-grid,
	.fyi-pnx-storygame__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.fyi-pnx-storygame__roadmap {
		grid-template-columns: repeat(7, minmax(72px, 1fr));
		overflow-x: auto;
		padding-bottom: 5px;
	}
	.fyi-pnx-storygame__story-header {
		flex-direction: column;
	}
	.fyi-pnx-storygame__day-counter {
		min-width: 0;
		width: 100%;
		text-align: left;
	}
}

@media (max-width: 680px) {
	.fyi-pnx-storygame {
		padding: 54px 0 76px;
	}
	.fyi-pnx-storygame__shell {
		min-height: 660px;
		border-radius: 18px;
		scroll-margin-top: 74px;
	}
	.fyi-pnx-storygame__setup,
	.fyi-pnx-storygame__play,
	.fyi-pnx-storygame__result {
		padding: 18px;
	}
	.fyi-pnx-storygame__rule-grid,
	.fyi-pnx-storygame__metrics,
	.fyi-pnx-storygame__sidebar {
		grid-template-columns: 1fr;
	}
	.fyi-pnx-storygame .fyi-pnx-rpg-class {
		min-height: 0;
	}
	.fyi-pnx-storygame__scene {
		padding: 18px;
	}
	.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__head,
	.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness,
	.fyi-pnx-storygame__choice-patches {
		flex-direction: column;
	}
	.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__head strong,
	.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness strong,
	.fyi-pnx-storygame__choice-patches strong {
		max-width: none;
		text-align: left;
	}
	.fyi-pnx-storygame__choice {
		padding: 17px;
	}
	.fyi-pnx-storygame__log > div {
		max-height: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fyi-pnx-storygame__choice,
	.fyi-pnx-storygame__roadmap > div {
		transition: none !important;
	}
}

/* Keep transient game notices readable without covering story metrics. */
.fyi-pnx-storygame .fyi-pnx-xp-pop {
	top: 74px;
	right: clamp(18px, 4vw, 48px);
	max-width: calc(100% - 36px);
	padding: 8px 12px;
	border: 1px solid rgba(155, 211, 106, .28);
	border-radius: 10px;
	background: rgba(8, 7, 10, .92);
	font-size: clamp(.78rem, 2.5vw, 1.05rem);
	line-height: 1.2;
	text-align: right;
}

@media (max-width: 680px) {
	.fyi-pnx-storygame .fyi-pnx-xp-pop {
		top: 58px;
		right: 14px;
		left: 14px;
		max-width: none;
		text-align: center;
	}
}


/* ==========================================================
   FINAL GAME CARD CONTAINMENT FIX
   Prevent legacy RPG button rules and theme button typography
   from compressing, stacking, or overlapping the story choices.
   ========================================================== */
.fyi-pnx-storygame__choices {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 16px !important;
	min-width: 0 !important;
	width: 100% !important;
}

.fyi-pnx-storygame__choice {
	appearance: none !important;
	-webkit-appearance: none !important;
	display: block !important;
	position: relative !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: clamp(18px, 2vw, 24px) !important;
	overflow: hidden !important;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	font-style: normal !important;
	line-height: 1.5 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	-webkit-text-fill-color: #f8f4ec !important;
}

.fyi-pnx-storygame__choice *,
.fyi-pnx-storygame__choice *::before,
.fyi-pnx-storygame__choice *::after {
	box-sizing: border-box !important;
	min-width: 0 !important;
	max-width: 100% !important;
	font-style: normal !important;
	text-transform: none !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
}

.fyi-pnx-storygame__choice-head {
	display: flex !important;
	align-items: flex-start !important;
	gap: 12px !important;
	margin: 0 0 18px !important;
}

.fyi-pnx-storygame__choice-tag {
	flex: 0 0 auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: auto !important;
	height: auto !important;
	min-height: 28px !important;
	margin: 0 !important;
	padding: 6px 9px !important;
	border-radius: 8px !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	letter-spacing: .055em !important;
	text-align: center !important;
}

.fyi-pnx-storygame__choice h4 {
	flex: 1 1 auto !important;
	display: block !important;
	position: static !important;
	grid-column: auto !important;
	grid-row: auto !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
	color: #f8f4ec !important;
	-webkit-text-fill-color: #f8f4ec !important;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: clamp(18px, 2vw, 22px) !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	letter-spacing: -.01em !important;
	text-align: left !important;
}

.fyi-pnx-storygame__choice-section {
	display: block !important;
	position: static !important;
	grid-column: auto !important;
	grid-row: auto !important;
	margin: 0 !important;
	padding: 0 !important;
}

.fyi-pnx-storygame__choice-section > span {
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
	color: var(--pnx-teal) !important;
	-webkit-text-fill-color: var(--pnx-teal) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	letter-spacing: .065em !important;
	text-align: left !important;
}

.fyi-pnx-storygame__choice p,
.fyi-pnx-storygame__choice-action p,
.fyi-pnx-storygame__choice-why p,
.fyi-pnx-storygame__choice-next p {
	display: block !important;
	grid-column: auto !important;
	grid-row: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #d9d2dd !important;
	-webkit-text-fill-color: #d9d2dd !important;
	font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.62 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
}

.fyi-pnx-storygame__choice-action {
	margin-bottom: 16px !important;
	padding: 14px !important;
	border: 1px solid rgba(114, 215, 220, .16) !important;
	border-radius: 12px !important;
	background: rgba(114, 215, 220, .045) !important;
}

.fyi-pnx-storygame__choice-patches {
	display: grid !important;
	grid-template-columns: minmax(110px, auto) minmax(0, 1fr) !important;
	align-items: center !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 12px 14px !important;
}

.fyi-pnx-storygame__choice-patches span,
.fyi-pnx-storygame__choice-patches strong {
	display: block !important;
	position: static !important;
	grid-column: auto !important;
	grid-row: auto !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
}

.fyi-pnx-storygame__choice-patches span {
	font-size: 9px !important;
	letter-spacing: .06em !important;
	text-align: left !important;
}

.fyi-pnx-storygame__choice-patches strong {
	color: var(--pnx-success) !important;
	-webkit-text-fill-color: var(--pnx-success) !important;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-align: right !important;
}

.fyi-pnx-storygame__choice-why,
.fyi-pnx-storygame__choice-next {
	margin-top: 0 !important;
	padding-top: 14px !important;
	border-top: 1px solid rgba(231, 223, 207, .10) !important;
}

.fyi-pnx-storygame__choice-next {
	margin-top: 14px !important;
}

.fyi-pnx-storygame__choice:hover,
.fyi-pnx-storygame__choice:focus-visible {
	transform: translateY(-2px) !important;
}

@media (max-width: 680px) {
	.fyi-pnx-storygame__choice-head {
		flex-direction: column !important;
		gap: 9px !important;
	}
	.fyi-pnx-storygame__choice-patches {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}
	.fyi-pnx-storygame__choice-patches strong {
		text-align: left !important;
	}
}


@media (max-width: 680px) {
	.fyi-pnx-storygame__goal-controls {
		grid-template-columns: 1fr;
	}

	.fyi-pnx-storygame__goal-save {
		width: 100%;
		min-width: 0;
	}
}

/* ==========================================================
   SKILL LOADOUT TERM DEFINITIONS
   Plain-language glossary for first-time players.
   ========================================================== */
.fyi-pnx-storygame__terms {
	margin: 18px 0 30px;
	border: 1px solid rgba(114, 215, 220, .24);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(114,215,220,.055), rgba(255,255,255,.018));
	overflow: hidden;
}

.fyi-pnx-storygame__terms > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 18px 20px;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.fyi-pnx-storygame__terms > summary::-webkit-details-marker { display: none; }

.fyi-pnx-storygame__terms > summary::after {
	content: "+";
	flex: 0 0 auto;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(114, 215, 220, .35);
	border-radius: 50%;
	color: var(--pnx-teal) !important;
	font-size: 20px;
	line-height: 1;
}

.fyi-pnx-storygame__terms[open] > summary::after { content: "−"; }

.fyi-pnx-storygame__terms > summary span,
.fyi-pnx-storygame__terms > summary small {
	display: block;
}

.fyi-pnx-storygame__terms > summary span {
	color: var(--pnx-teal) !important;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .09em;
}

.fyi-pnx-storygame__terms > summary small {
	margin-top: 4px;
	color: #bfb6c3 !important;
	font-size: 12px;
	line-height: 1.45;
}

.fyi-pnx-storygame__term-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	padding: 0 18px 18px;
}

.fyi-pnx-storygame__term-grid article {
	min-width: 0;
	padding: 15px;
	border: 1px solid rgba(231, 223, 207, .10);
	border-radius: 13px;
	background: rgba(8, 7, 10, .58);
}

.fyi-pnx-storygame__term-grid h4 {
	margin: 0 0 9px;
	color: #f8f4ec !important;
	font-size: 13px;
	line-height: 1.3;
	letter-spacing: .04em;
}

.fyi-pnx-storygame__term-grid p {
	margin: 0;
	color: #cec5d1 !important;
	font-size: 12px;
	line-height: 1.58;
	letter-spacing: normal !important;
	text-transform: none !important;
}

.fyi-pnx-storygame__term-grid p + p { margin-top: 7px; }
.fyi-pnx-storygame__term-grid p b { color: var(--pnx-bone) !important; }

.fyi-pnx-storygame__terms--compact {
	margin: 0;
	background: #111018;
}

.fyi-pnx-storygame__terms--compact > summary {
	padding: 16px 18px;
}

.fyi-pnx-storygame__terms--compact > summary span {
	font-size: 10px;
}

.fyi-pnx-storygame__terms--compact dl {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0 18px 16px;
}

.fyi-pnx-storygame__terms--compact dl > div {
	padding: 10px 0;
	border-top: 1px solid rgba(231, 223, 207, .09);
}

.fyi-pnx-storygame__terms--compact dt {
	margin: 0 0 3px;
	color: #f8f4ec !important;
	font-size: 11px;
	font-weight: 800;
}

.fyi-pnx-storygame__terms--compact dd {
	margin: 0;
	color: #bfb6c3 !important;
	font-size: 11px;
	line-height: 1.5;
}

@media (max-width: 760px) {
	.fyi-pnx-storygame__term-grid { grid-template-columns: 1fr; }
	.fyi-pnx-storygame__terms > summary {
		align-items: flex-start;
		padding: 16px;
	}
	.fyi-pnx-storygame__term-grid { padding: 0 14px 14px; }
}


/* ==========================================================
   SKILL LOADOUT — PURPOSEFUL PROGRESSION + CLIPPING GUARD
   Keeps every counter useful and prevents legacy boss-meter rules
   from clipping Chapter Objective content.
   ========================================================== */
.fyi-pnx-storygame__rule-grid {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fyi-pnx-storygame__metrics {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.fyi-pnx-storygame__metrics > div {
	min-width: 0;
	transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.fyi-pnx-storygame__metrics > div.is-installed {
	border-color: rgba(155, 211, 106, .48);
	background: linear-gradient(145deg, rgba(155,211,106,.10), #111018);
	box-shadow: inset 0 0 0 1px rgba(155,211,106,.08);
}

.fyi-pnx-storygame__metrics > div.is-installed strong,
.fyi-pnx-storygame__metrics > div.is-installed small {
	color: #b8e98f !important;
}

.fyi-pnx-storygame__metrics small {
	min-height: 2.8em;
	line-height: 1.4;
	overflow-wrap: anywhere;
}

/* A legacy selector treated the final child of every old boss card as
   an 8px progress track. The story obstacle's Chapter Objective is the
   final child, so reset it to a normal readable information panel. */
.fyi-pnx-storygame__obstacle.fyi-pnx-rpg-boss > .fyi-pnx-rpg-boss__weakness,
.fyi-pnx-storygame__obstacle.fyi-pnx-rpg-boss > div:last-child {
	display: grid !important;
	grid-template-columns: max-content minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 14px !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 12px 13px !important;
	overflow: visible !important;
	border: 1px solid rgba(114, 215, 220, .20) !important;
	border-radius: 10px !important;
	background: rgba(7, 6, 10, .72) !important;
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness > span,
.fyi-pnx-storygame__obstacle.fyi-pnx-rpg-boss > div:last-child > span {
	display: block !important;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: none !important;
	box-shadow: none !important;
	color: var(--pnx-teal) !important;
	font-size: 10px !important;
	line-height: 1.35 !important;
	white-space: normal !important;
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness > strong,
.fyi-pnx-storygame__obstacle.fyi-pnx-rpg-boss > div:last-child > strong {
	display: block !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #f8f4ec !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	text-align: right !important;
	white-space: normal !important;
	overflow: visible !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
}

.fyi-pnx-storygame__choice-heading > span {
	display: inline-block;
	max-width: 100%;
	padding: 2px 4px;
	line-height: 1.25;
	white-space: normal;
}

@media (max-width: 1180px) {
	.fyi-pnx-storygame__rule-grid,
	.fyi-pnx-storygame__metrics {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {
	.fyi-pnx-storygame__rule-grid,
	.fyi-pnx-storygame__metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 680px) {
	.fyi-pnx-storygame__rule-grid,
	.fyi-pnx-storygame__metrics {
		grid-template-columns: 1fr;
	}
	.fyi-pnx-storygame__obstacle.fyi-pnx-rpg-boss > .fyi-pnx-rpg-boss__weakness,
	.fyi-pnx-storygame__obstacle.fyi-pnx-rpg-boss > div:last-child {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}
	.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__weakness > strong,
	.fyi-pnx-storygame__obstacle.fyi-pnx-rpg-boss > div:last-child > strong {
		text-align: left !important;
	}
}


/* ==========================================================
   SKILL LOADOUT — NATURAL COPY + OBJECTIVE PANEL FIX
   Uses a unique class so older boss-meter styles cannot clip it.
   ========================================================== */
.fyi-pnx-storygame,
.fyi-pnx-storygame * {
	box-sizing: border-box;
}

.fyi-pnx-storygame__scene,
.fyi-pnx-storygame__obstacle,
.fyi-pnx-storygame__choice,
.fyi-pnx-storygame__sidebar,
.fyi-pnx-storygame__objective-panel {
	min-width: 0;
}

.fyi-pnx-storygame__objective-panel {
	display: grid !important;
	grid-template-columns: minmax(132px, max-content) minmax(0, 1fr) !important;
	align-items: start !important;
	gap: 14px !important;
	width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin: 14px 0 0 !important;
	padding: 13px 14px !important;
	overflow: visible !important;
	contain: none !important;
	position: relative !important;
	border: 1px solid rgba(114, 215, 220, .22) !important;
	border-radius: 11px !important;
	background: rgba(7, 6, 10, .78) !important;
}

.fyi-pnx-storygame__objective-panel > span,
.fyi-pnx-storygame__objective-panel > strong {
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	text-overflow: clip !important;
}

.fyi-pnx-storygame__objective-panel > span {
	color: var(--pnx-teal) !important;
	font: 900 10px/1.4 ui-monospace, SFMono-Regular, Menlo, Consolas, monospace !important;
	letter-spacing: .08em !important;
	text-transform: uppercase !important;
}

.fyi-pnx-storygame__objective-panel > strong {
	color: #f8f4ec !important;
	font-size: 14px !important;
	font-weight: 750 !important;
	line-height: 1.5 !important;
	text-align: left !important;
}

.fyi-pnx-storygame__obstacle,
.fyi-pnx-storygame__obstacle > *,
.fyi-pnx-storygame__choice,
.fyi-pnx-storygame__choice > *,
.fyi-pnx-storygame__sidebar > div {
	max-height: none !important;
}

.fyi-pnx-storygame__obstacle .fyi-pnx-rpg-boss__type,
.fyi-pnx-storygame__choice-heading > span,
.fyi-pnx-storygame__choice-tag,
.fyi-pnx-storygame__choice-section > span,
.fyi-pnx-storygame__choice-patches > span,
.fyi-pnx-storygame__sidebar h4 {
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}

.fyi-pnx-storygame__choice p,
.fyi-pnx-storygame__scenario p,
.fyi-pnx-storygame__obstacle p,
.fyi-pnx-storygame__loadout span,
.fyi-pnx-storygame__loadout strong,
.fyi-pnx-storygame__loadout b,
.fyi-pnx-storygame__rules-live p,
.fyi-pnx-storygame__log-entry p {
	letter-spacing: 0 !important;
	text-transform: none !important;
}

@media (max-width: 680px) {
	.fyi-pnx-storygame__objective-panel {
		grid-template-columns: 1fr !important;
		gap: 6px !important;
	}
}

/* Plain-English labels inside the loadout card descriptions must not inherit
   the direct-child status-label spacing. */
.fyi-pnx-storygame .fyi-pnx-rpg-class small b {
	display: inline;
	margin: 0;
	padding: 0;
	color: var(--pnx-teal) !important;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: 0;
}

.fyi-pnx-storygame .fyi-pnx-rpg-class small br {
	display: block;
	content: "";
	margin-top: 8px;
}

/* Smart Goal Engine — game-only contextual match panel. */
.fyi-pnx-storygame__goal-insight {
	margin-top: 14px;
	padding: 15px 17px;
	border: 1px solid rgba(114, 215, 220, .38);
	border-radius: 14px;
	background: linear-gradient(135deg, rgba(114, 215, 220, .09), rgba(127, 85, 181, .08));
	color: #f8f4ec;
}
.fyi-pnx-storygame__goal-insight[hidden] { display: none !important; }
.fyi-pnx-storygame__goal-insight > span {
	display: block;
	margin-bottom: 6px;
	color: #72d7dc;
	font: 800 .78rem/1.3 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	letter-spacing: .11em;
}
.fyi-pnx-storygame__goal-insight p {
	margin: 0 0 7px;
	color: #f8f4ec;
	font-size: .98rem;
	line-height: 1.55;
	letter-spacing: 0;
	text-transform: none;
}
.fyi-pnx-storygame__goal-insight small {
	display: block;
	color: #bfc2ca;
	font-size: .76rem;
	line-height: 1.45;
	letter-spacing: .02em;
	text-transform: none;
}

/* ==========================================================
   SKILL LOADOUT — CONTEXT, MOBILE SAFETY, AND FINAL REWARD
   ========================================================== */

.fyi-pnx-storygame__top-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
	min-width: 0;
}

.fyi-pnx-storygame__top-actions > span {
	min-width: 0;
	white-space: normal;
	text-align: right;
}

.fyi-pnx-storygame__top-actions button {
	appearance: none;
	border: 1px solid rgba(114, 215, 220, .48);
	border-radius: 999px;
	background: rgba(114, 215, 220, .08);
	color: #f8f4ec;
	padding: 7px 10px;
	font: inherit;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	line-height: 1.2;
	cursor: pointer;
	white-space: nowrap;
}

.fyi-pnx-storygame__top-actions button:hover,
.fyi-pnx-storygame__top-actions button:focus-visible,
.fyi-pnx-storygame__top-actions button[aria-pressed="true"] {
	border-color: #82edf2;
	background: rgba(130, 237, 242, .16);
	color: #82edf2;
}

.fyi-pnx-storygame__fallback {
	margin: 16px;
	padding: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border: 1px solid rgba(240, 198, 74, .52);
	border-radius: 16px;
	background: #17121c;
	color: #f8f4ec;
}

.fyi-pnx-storygame__fallback[hidden] { display: none !important; }
.fyi-pnx-storygame__fallback div { min-width: 0; }
.fyi-pnx-storygame__fallback strong,
.fyi-pnx-storygame__fallback span { display: block; }
.fyi-pnx-storygame__fallback strong {
	color: #f0c64a;
	font-size: 13px;
	letter-spacing: .06em;
}
.fyi-pnx-storygame__fallback span {
	margin-top: 5px;
	color: #ddd6e2;
	font-size: 13px;
	line-height: 1.55;
}

.fyi-pnx-storygame__context {
	margin: 18px 0 28px;
	padding: clamp(16px, 2.5vw, 24px);
	border: 1px solid rgba(114, 215, 220, .22);
	border-radius: 18px;
	background: linear-gradient(145deg, rgba(114, 215, 220, .055), rgba(126, 66, 184, .045));
}

.fyi-pnx-storygame__context .fyi-pnx-rpg-setup__copy { margin: 0 0 14px; }

.fyi-pnx-storygame__context-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.fyi-pnx-storygame__context-grid label {
	display: grid;
	gap: 7px;
	min-width: 0;
}

.fyi-pnx-storygame__context-grid label > span {
	color: #82edf2;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .09em;
	line-height: 1.35;
}

.fyi-pnx-storygame__context-grid select {
	width: 100%;
	min-height: 48px;
	border: 1px solid rgba(248, 244, 236, .24);
	border-radius: 12px;
	background: #0f0c14;
	color: #f8f4ec;
	padding: 11px 38px 11px 12px;
	font-size: 14px;
	line-height: 1.35;
}

.fyi-pnx-storygame__context-grid select:focus {
	outline: 2px solid #82edf2;
	outline-offset: 2px;
}

.fyi-pnx-storygame__context-summary {
	margin: 12px 0 0;
	padding: 11px 12px;
	border-left: 3px solid #82edf2;
	background: rgba(114, 215, 220, .07);
	color: #e5dfea;
	font-size: 13px;
	line-height: 1.55;
}

.fyi-pnx-storygame__story-header {
	grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr) minmax(0, 1fr) auto;
	align-items: stretch;
}

.fyi-pnx-storygame__story-header > div:not(.fyi-pnx-storygame__day-counter) {
	min-width: 0;
	padding-right: 14px;
	border-right: 1px solid rgba(248, 244, 236, .1);
}

.fyi-pnx-storygame__story-header > div strong,
.fyi-pnx-storygame__story-header > div span {
	overflow-wrap: anywhere;
	word-break: normal;
}

.fyi-pnx-storygame__result-insights {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin: 18px 0;
}

.fyi-pnx-storygame__result-insights article {
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(114, 215, 220, .2);
	border-radius: 15px;
	background: rgba(255, 255, 255, .035);
}

.fyi-pnx-storygame__result-insights span,
.fyi-pnx-storygame__result-insights strong,
.fyi-pnx-storygame__result-insights p { display: block; }

.fyi-pnx-storygame__result-insights span {
	color: #82edf2;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .1em;
	line-height: 1.35;
}

.fyi-pnx-storygame__result-insights strong {
	margin-top: 8px;
	color: #f8f4ec;
	font-size: clamp(15px, 1.7vw, 19px);
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.fyi-pnx-storygame__result-insights p {
	margin: 8px 0 0;
	color: #d8d1dc;
	font-size: 13px;
	line-height: 1.55;
}

/* Basic mode keeps the complete story and choices but removes costly effects. */
.fyi-pnx.is-basic-mode .fyi-pnx-rpg *,
.fyi-pnx.is-basic-mode .fyi-pnx-rpg *::before,
.fyi-pnx.is-basic-mode .fyi-pnx-rpg *::after {
	animation: none !important;
	transition-duration: .01ms !important;
	scroll-behavior: auto !important;
}

.fyi-pnx.is-basic-mode .fyi-pnx-rpg-game::after,
.fyi-pnx.is-basic-mode .fyi-pnx-rpg-burst,
.fyi-pnx.is-basic-mode .fyi-pnx-xp-pop {
	display: none !important;
}

.fyi-pnx.is-basic-mode .fyi-pnx-storygame__choice:hover,
.fyi-pnx.is-basic-mode .fyi-pnx-storygame__choice:focus-visible {
	transform: none !important;
}

@media (max-width: 1100px) {
	.fyi-pnx-storygame__story-header {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.fyi-pnx-storygame__story-header > div:not(.fyi-pnx-storygame__day-counter) {
		padding-right: 0;
		border-right: 0;
	}
	.fyi-pnx-storygame__day-counter {
		justify-self: stretch;
	}
}

@media (max-width: 760px) {
	.fyi-pnx-rpg-game {
		min-width: 0;
		overflow: clip;
	}
	.fyi-pnx-rpg-game__topbar {
		align-items: flex-start;
		gap: 8px;
	}
	.fyi-pnx-storygame__top-actions {
		align-items: flex-end;
		flex-direction: column;
	}
	.fyi-pnx-storygame__top-actions > span {
		font-size: 9px;
	}
	.fyi-pnx-storygame__top-actions button {
		font-size: 9px;
		padding: 6px 8px;
	}
	.fyi-pnx-storygame__fallback {
		align-items: stretch;
		flex-direction: column;
	}
	.fyi-pnx-storygame__fallback .fyi-pnx-btn { width: 100%; }
	.fyi-pnx-storygame__context-grid,
	.fyi-pnx-storygame__story-header,
	.fyi-pnx-storygame__result-insights {
		grid-template-columns: 1fr;
	}
	.fyi-pnx-storygame__story-header > div {
		padding: 10px 0;
		border-right: 0 !important;
		border-bottom: 1px solid rgba(248, 244, 236, .1);
	}
	.fyi-pnx-storygame__story-header > div:last-child { border-bottom: 0; }
	.fyi-pnx-storygame__context-grid select {
		font-size: 16px; /* prevents iOS form zoom */
	}
	.fyi-pnx-storygame__choices,
	.fyi-pnx-storygame__choice,
	.fyi-pnx-storygame__choice * {
		min-width: 0;
		max-width: 100%;
	}
	.fyi-pnx-storygame__choice {
		contain: layout paint;
	}
}

@media (max-width: 430px) {
	.fyi-pnx-storygame__context,
	.fyi-pnx-storygame__result-insights article {
		padding: 13px;
	}
	.fyi-pnx-storygame__top-actions > span {
		max-width: 125px;
	}
}
