/* ==========================================================================
   S.T.A.L.K.E.R. EXCLUSION ZONE — AUTHENTIC ZONE PDA OS DESIGN SYSTEM
   Theme: Weathered Tactical Military PDA / Exclusion Zone Terminal
   ========================================================================== */

:root {
	/* Stalker Exclusion Zone Color Palette */
	--bg-dark: #0a0c0a;
	--bg-container: #10140e;
	--card-bg: linear-gradient(180deg, rgba(22, 27, 20, 0.94) 0%, rgba(14, 18, 13, 0.97) 100%);
	--card-border: #323d2b;
	--card-border-light: #44543b;
	--card-hover-border: #78e08f;
	
	/* Phosphor Accents */
	--accent-green: #78e08f;
	--accent-green-bright: #55efc4;
	--accent-green-glow: rgba(120, 224, 143, 0.25);
	
	--accent-amber: #e67e22;
	--accent-amber-bright: #ff9f43;
	--accent-amber-glow: rgba(230, 126, 34, 0.3);
	
	--accent-yellow: #f1c40f;
	--accent-red: #ea2027;
	--accent-red-glow: rgba(234, 32, 39, 0.3);
	
	/* Text Colors */
	--text-main: #dcdde1;
	--text-muted: #889882;
	--text-dark: #576550;
	--text-amber: #f39c12;
	--text-green: #78e08f;
	
	/* Typography */
	--font-main: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
	--font-pda: 'Arial Narrow', 'Roboto Condensed', system-ui, sans-serif;
	--font-mono: Consolas, 'Liberation Mono', monospace;
}

/* ==========================================================================
   Base Atmosphere & CRT Scanlines
   ========================================================================== */
html {
	background-color: var(--bg-dark) !important;
	background-image: 
		radial-gradient(circle at 50% 0%, rgba(230, 126, 34, 0.08) 0%, transparent 60%),
		radial-gradient(circle at 50% 100%, rgba(120, 224, 143, 0.05) 0%, transparent 60%),
		linear-gradient(to bottom, #0a0c0a, #0e120d) !important;
	background-attachment: fixed !important;
	min-height: 100vh;
	min-height: 100dvh;
}

/* CRT Scanlines Overlay */
body::before {
	content: " ";
	display: block;
	position: fixed;
	top: 0; left: 0; bottom: 0; right: 0;
	background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%), linear-gradient(90deg, rgba(255, 0, 0, 0.02), rgba(0, 255, 0, 0.01), rgba(0, 0, 255, 0.02));
	z-index: 999;
	background-size: 100% 3px, 6px 100%;
	pointer-events: none;
	opacity: 0.7;
}

body {
	background-color: var(--bg-container) !important;
	color: var(--text-main) !important;
	font-family: var(--font-main) !important;
	font-size: 14px;
	line-height: 1.5;
	margin: 0 auto !important;
	padding: 0;
	min-height: 100vh;
	min-height: 100dvh;
	max-width: 560px !important;
	width: 100% !important;
	box-shadow: 0 0 50px rgba(0, 0, 0, 0.95), 0 0 20px rgba(120, 224, 143, 0.08) !important;
	border-left: 2px solid #283223 !important;
	border-right: 2px solid #283223 !important;
	position: relative;
	box-sizing: border-box;
	overflow-wrap: anywhere;
	padding-bottom: 76px;
}

/* PDA Outer Frame Padding */
.container, .body, div.body {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding: 10px 12px !important;
	box-sizing: border-box !important;
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
}

/* ==========================================================================
   Tactical PDA Cards (.well)
   ========================================================================== */
.well {
	background: var(--card-bg) !important;
	border: 1px solid var(--card-border) !important;
	border-top: 1px solid var(--card-border-light) !important;
	border-radius: 4px !important;
	padding: 12px 14px !important;
	margin-bottom: 10px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 12px rgba(0, 0, 0, 0.6) !important;
	color: var(--text-main) !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
	position: relative;
}

.well:hover {
	border-color: var(--card-border-light) !important;
}

/* Metal Corner Plates on Cards */
.well::before {
	content: "";
	position: absolute;
	top: 0; left: 0;
	width: 8px; height: 8px;
	border-top: 2px solid var(--accent-amber);
	border-left: 2px solid var(--accent-amber);
	opacity: 0.7;
}

.well::after {
	content: "";
	position: absolute;
	bottom: 0; right: 0;
	width: 8px; height: 8px;
	border-bottom: 2px solid var(--accent-amber);
	border-right: 2px solid var(--accent-amber);
	opacity: 0.7;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	font-family: var(--font-pda) !important;
	font-weight: 700 !important;
	letter-spacing: 0.8px !important;
	text-transform: uppercase !important;
	color: var(--accent-amber-bright) !important;
	margin-top: 0;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.8);
}

h3 { font-size: 1.2rem; }
h4 { font-size: 1.05rem; }
h5 { font-size: 0.95rem; }

/* ==========================================================================
   Navigation Links & Buttons (.link & .btn)
   ========================================================================== */
a {
	color: var(--accent-green-bright) !important;
	text-decoration: none !important;
	transition: color 0.15s ease !important;
}

a:hover {
	color: var(--accent-amber-bright) !important;
	text-decoration: none !important;
}

/* Zone PDA Menu Link Buttons */
.link {
	display: flex !important;
	align-items: center !important;
	background: linear-gradient(180deg, #1b2219 0%, #121711 100%) !important;
	border: 1px solid #364230 !important;
	border-left: 4px solid var(--accent-amber) !important;
	border-radius: 4px !important;
	padding: 10px 14px !important;
	margin-bottom: 7px !important;
	color: var(--text-main) !important;
	font-family: var(--font-pda) !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.6px !important;
	text-transform: uppercase !important;
	transition: all 0.2s ease !important;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.4) !important;
	min-height: 44px !important;
	box-sizing: border-box !important;
}

.link:hover {
	background: linear-gradient(180deg, #263123 0%, #192117 100%) !important;
	border-color: var(--accent-green) !important;
	border-left-color: var(--accent-green-bright) !important;
	color: #fff !important;
	transform: translateX(2px) !important;
	box-shadow: 0 4px 12px var(--accent-green-glow) !important;
}

.link img {
	margin-right: 10px !important;
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.8));
}

/* Tactical Action Buttons */
.btn {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-family: var(--font-pda) !important;
	font-size: 0.9rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.8px !important;
	text-transform: uppercase !important;
	padding: 8px 16px !important;
	min-height: 44px !important;
	border-radius: 3px !important;
	border: 1px solid #44543b !important;
	background: linear-gradient(180deg, #253021 0%, #161e14 100%) !important;
	color: var(--text-main) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 2px 6px rgba(0, 0, 0, 0.5) !important;
	transition: all 0.15s ease !important;
	cursor: pointer !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.9) !important;
}

.btn:hover {
	background: linear-gradient(180deg, #32422c 0%, #1f2b1d 100%) !important;
	color: #fff !important;
	border-color: var(--accent-green) !important;
	box-shadow: 0 2px 10px var(--accent-green-glow) !important;
}

.btn:active {
	transform: translateY(1px) !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.7) !important;
}

/* Primary / Action CTA Buttons */
.btn-inverse, .btn-primary {
	background: linear-gradient(180deg, #d35400 0%, #a04000 100%) !important;
	border-color: var(--accent-amber-bright) !important;
	color: #ffffff !important;
	box-shadow: 0 2px 10px var(--accent-amber-glow) !important;
}

.btn-inverse:hover, .btn-primary:hover {
	background: linear-gradient(180deg, #e67e22 0%, #d35400 100%) !important;
	border-color: #ff9f43 !important;
	box-shadow: 0 4px 14px rgba(255, 159, 67, 0.5) !important;
}

.btn-danger, .btn-important {
	background: linear-gradient(180deg, #c0392b 0%, #962d22 100%) !important;
	border-color: #e74c3c !important;
	color: #ffffff !important;
	box-shadow: 0 2px 10px var(--accent-red-glow) !important;
}

.btn-warning {
	background: linear-gradient(180deg, #f39c12 0%, #d68910 100%) !important;
	border-color: #f1c40f !important;
	color: #ffffff !important;
}

/* Special Stalker Call to Action Button */
.btn-stalker-cta {
	display: block;
	width: 100%;
	padding: 12px 16px;
	margin: 10px 0;
	font-family: var(--font-pda);
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-align: center;
	color: #ffffff !important;
	background: repeating-linear-gradient(
		45deg,
		#d35400,
		#d35400 15px,
		#b94600 15px,
		#b94600 30px
	) !important;
	border: 1px solid #ff9f43 !important;
	border-radius: 4px !important;
	box-shadow: 0 0 15px var(--accent-amber-glow), inset 0 1px 0 rgba(255, 255, 255, 0.2) !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9) !important;
	transition: all 0.2s ease !important;
	cursor: pointer;
	box-sizing: border-box;
}

.btn-stalker-cta:hover {
	background: repeating-linear-gradient(
		45deg,
		#e67e22,
		#e67e22 15px,
		#d35400 15px,
		#d35400 30px
	) !important;
	border-color: #f1c40f !important;
	box-shadow: 0 0 25px rgba(255, 159, 67, 0.6) !important;
	transform: translateY(-1px);
}

/* ==========================================================================
   Forms & Inputs
   ========================================================================== */
input[type="text"],
input[type="password"],
input[type="number"],
input[type="email"],
textarea,
select,
.input-block-level {
	width: 100% !important;
	box-sizing: border-box !important;
	background: #080a08 !important;
	border: 1px solid #364230 !important;
	border-radius: 4px !important;
	padding: 8px 12px !important;
	color: var(--text-main) !important;
	font-family: var(--font-mono) !important;
	font-size: 0.95rem !important;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.7) !important;
	transition: border-color 0.2s ease !important;
	margin-bottom: 8px !important;
}

input:focus, textarea:focus, select:focus {
	outline: none !important;
	border-color: var(--accent-amber) !important;
	box-shadow: 0 0 8px var(--accent-amber-glow), inset 0 2px 4px rgba(0, 0, 0, 0.7) !important;
}

/* Badges & Labels */
.badge, .label {
	display: inline-flex !important;
	align-items: center !important;
	font-family: var(--font-mono) !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	padding: 2px 7px !important;
	border-radius: 3px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.5px !important;
}

.badge-info, .label-info {
	background: rgba(52, 152, 219, 0.2) !important;
	color: #74b9ff !important;
	border: 1px solid rgba(52, 152, 219, 0.4) !important;
}

.badge-success, .label-success {
	background: rgba(120, 224, 143, 0.2) !important;
	color: #78e08f !important;
	border: 1px solid rgba(120, 224, 143, 0.4) !important;
}

.badge-important, .label-important, .badge-danger, .label-danger {
	background: rgba(234, 32, 39, 0.2) !important;
	color: #ff7675 !important;
	border: 1px solid rgba(234, 32, 39, 0.4) !important;
}

.badge-warning, .label-warning {
	background: rgba(243, 156, 18, 0.2) !important;
	color: #ffeaa7 !important;
	border: 1px solid rgba(243, 156, 18, 0.4) !important;
}

/* Alerts */
.alert {
	background: rgba(230, 126, 34, 0.15) !important;
	border: 1px solid var(--accent-amber) !important;
	color: #ffeaa7 !important;
	border-radius: 4px !important;
	padding: 10px 14px !important;
	margin-bottom: 10px !important;
	box-shadow: 0 4px 10px var(--accent-amber-glow) !important;
	font-family: var(--font-pda) !important;
}

.alert-error {
	background: rgba(234, 32, 39, 0.15) !important;
	border-color: var(--accent-red) !important;
	color: #ff7675 !important;
	box-shadow: 0 4px 10px var(--accent-red-glow) !important;
}

.alert-success {
	background: rgba(120, 224, 143, 0.15) !important;
	border-color: var(--accent-green) !important;
	color: #55efc4 !important;
	box-shadow: 0 4px 10px var(--accent-green-glow) !important;
}

/* Equipment / Item Borders */
.borderitem {
	display: inline-block !important;
	padding: 4px !important;
	border: 1px solid #364230 !important;
	background-color: #0c0f0b !important;
	border-radius: 4px !important;
	box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.8) !important;
}

/* Custom STALKER Top PDA Header Bar */
.pda-header {
	background: linear-gradient(180deg, #1c231a 0%, #111610 100%);
	border: 1px solid #364230;
	border-top: 2px solid #4a5a43;
	border-radius: 4px;
	padding: 8px 12px;
	margin-bottom: 10px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 4px 10px rgba(0, 0, 0, 0.6);
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px;
}

.pda-logo {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-pda);
	font-weight: 700;
	font-size: 1.05rem;
	letter-spacing: 1.2px;
	color: var(--accent-amber-bright);
	text-transform: uppercase;
}

.pda-radar-container {
	position: relative;
	width: 18px;
	height: 18px;
	border: 1px solid var(--accent-green);
	border-radius: 50%;
	background: rgba(120, 224, 143, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
}

.pda-radar-dot {
	width: 6px;
	height: 6px;
	background: var(--accent-green-bright);
	border-radius: 50%;
	box-shadow: 0 0 6px var(--accent-green-bright);
}

.pda-radar-sweep {
	position: absolute;
	top: 0; left: 0; width: 100%; height: 100%;
	border-radius: 50%;
	border-top: 2px solid var(--accent-green-bright);
	animation: radarSweep 2s linear infinite;
}

@keyframes radarSweep {
	0% { transform: rotate(0deg); }
	100% { transform: rotate(360deg); }
}

.pda-header-right {
	display: flex;
	align-items: center;
	gap: 10px;
}

/* Tactical Signal Indicator */
.pda-signal {
	display: flex;
	align-items: flex-end;
	gap: 2px;
	height: 12px;
}

.signal-bar {
	width: 3px;
	background: var(--accent-green-bright);
	border-radius: 1px;
}
.signal-bar.b1 { height: 4px; }
.signal-bar.b2 { height: 7px; }
.signal-bar.b3 { height: 10px; }
.signal-bar.b4 { height: 12px; opacity: 0.4; }

/* Geiger Dosimeter Counter */
.pda-geiger {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	color: var(--accent-amber-bright);
	background: rgba(230, 126, 34, 0.12);
	padding: 2px 7px;
	border-radius: 3px;
	border: 1px solid rgba(230, 126, 34, 0.35);
	display: flex;
	align-items: center;
	gap: 4px;
}

.pda-geiger-danger {
	color: #ff7675;
	border-color: rgba(234, 32, 39, 0.65);
	background: rgba(234, 32, 39, 0.16);
}

.geiger-icon {
	color: var(--accent-amber);
	font-size: 0.85rem;
	animation: geigerBlink 1.2s infinite ease-in-out;
}

@keyframes geigerBlink {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.3; }
}

.pda-clock {
	font-family: var(--font-mono);
	font-size: 0.85rem;
	color: var(--accent-green-bright);
	background: rgba(120, 224, 143, 0.1);
	padding: 2px 8px;
	border-radius: 3px;
	border: 1px solid rgba(120, 224, 143, 0.3);
}

/* Live weather contour in the shared PDA header */
.pda-weather-widget {
	--weather-accent: #78e08f;
	--weather-glow: rgba(120, 224, 143, .24);
	--weather-line: rgba(120, 224, 143, .46);
	position: relative;
	min-width: 214px;
	font-family: var(--font-pda);
	color: #dfe7dc;
}
.pda-weather-widget.is-warning { --weather-accent: #f0b64f; --weather-glow: rgba(240, 182, 79, .25); --weather-line: rgba(240, 182, 79, .5); }
.pda-weather-widget.is-danger { --weather-accent: #ff7169; --weather-glow: rgba(255, 82, 72, .27); --weather-line: rgba(255, 113, 105, .58); }
.pda-weather-widget > summary {
	display: grid;
	grid-template-columns: 32px minmax(88px, 1fr) auto 8px;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	box-sizing: border-box;
	padding: 3px 7px 3px 4px;
	border: 1px solid var(--weather-line);
	border-radius: 4px;
	background: linear-gradient(115deg, var(--weather-glow), rgba(4, 9, 7, .88) 55%);
	box-shadow: inset 0 1px rgba(255, 255, 255, .04), 0 2px 8px rgba(0, 0, 0, .34);
	cursor: pointer;
	list-style: none;
}
.pda-weather-widget > summary::-webkit-details-marker { display: none; }
.pda-weather-widget > summary:hover,
.pda-weather-widget[open] > summary { border-color: var(--weather-accent); box-shadow: 0 0 12px var(--weather-glow), inset 0 1px rgba(255, 255, 255, .06); }
.pda-weather-orbit {
	position: relative;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid var(--weather-line);
	border-radius: 50%;
	background: radial-gradient(circle, var(--weather-glow) 0 25%, transparent 28%), rgba(0, 0, 0, .32);
	overflow: hidden;
}
.pda-weather-orbit::before { content: ""; position: absolute; inset: 4px; border: 1px solid var(--weather-line); border-radius: 50%; opacity: .45; }
.pda-weather-orbit::after { content: ""; position: absolute; inset: 0; border-top: 1px solid var(--weather-accent); border-radius: 50%; animation: pdaWeatherSweep 3s linear infinite; }
.pda-weather-orbit img { position: relative; z-index: 1; width: 22px; height: 22px; object-fit: contain; filter: drop-shadow(0 0 4px var(--weather-glow)); }
.pda-weather-summary-copy { display: block; min-width: 0; line-height: 1.08; }
.pda-weather-summary-copy small { display: flex; align-items: center; gap: 4px; margin-bottom: 2px; color: #7f927d; font: 600 .52rem/1.1 var(--font-mono); letter-spacing: .55px; white-space: nowrap; }
.pda-weather-summary-copy strong { display: block; overflow: hidden; color: #e8eee5; font-size: .68rem; letter-spacing: .25px; text-overflow: ellipsis; white-space: nowrap; }
.pda-weather-live-dot { width: 5px; height: 5px; border-radius: 50%; background: var(--weather-accent); box-shadow: 0 0 6px var(--weather-accent); }
.pda-weather-compact-temp { color: var(--weather-accent); font: 700 .68rem/1 var(--font-mono); white-space: nowrap; }
.pda-weather-chevron { width: 6px; height: 6px; border-right: 1px solid var(--weather-accent); border-bottom: 1px solid var(--weather-accent); transform: rotate(45deg); transition: transform .18s ease; }
.pda-weather-widget[open] .pda-weather-chevron { transform: rotate(225deg); }
.pda-weather-popover {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 1300;
	width: min(430px, calc(100vw - 28px));
	box-sizing: border-box;
	padding: 14px;
	border: 1px solid var(--weather-line);
	border-top: 2px solid var(--weather-accent);
	border-radius: 5px;
	background: radial-gradient(circle at 8% 0, var(--weather-glow), transparent 46%), linear-gradient(180deg, rgba(18, 25, 18, .99), rgba(7, 12, 8, .995));
	box-shadow: 0 16px 36px rgba(0, 0, 0, .86), inset 0 1px rgba(255, 255, 255, .05);
}
.pda-weather-popover::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .13; background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(120, 224, 143, .13) 4px); }
.pda-weather-popover > * { position: relative; }
.pda-weather-popover-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; padding-bottom: 9px; border-bottom: 1px solid rgba(111, 137, 104, .34); }
.pda-weather-popover-head small { display: block; max-width: 290px; color: #7f927c; font: .55rem/1.35 var(--font-mono); letter-spacing: .55px; text-transform: uppercase; }
.pda-weather-popover-head h3 { margin: 3px 0 0; color: #f0f3ed; font-size: 1rem; line-height: 1.2; }
.pda-weather-tone { padding: 3px 6px; border: 1px solid var(--weather-accent); border-radius: 3px; background: var(--weather-glow); color: var(--weather-accent); font: 700 .55rem/1.2 var(--font-mono); letter-spacing: .5px; white-space: nowrap; }
.pda-weather-description { margin: 10px 0; color: #b8c4b5; font-size: .76rem; line-height: 1.45; }
.pda-weather-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; }
.pda-weather-metrics > span { display: grid; grid-template-columns: 20px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 6px; padding: 7px; border: 1px solid rgba(92, 112, 86, .34); border-radius: 4px; background: rgba(0, 0, 0, .25); }
.pda-weather-metrics img { grid-row: 1 / 3; align-self: center; width: 17px; height: 17px; object-fit: contain; }
.pda-weather-metrics small { color: #71806e; font: .5rem/1 var(--font-mono); letter-spacing: .45px; }
.pda-weather-metrics b { overflow: hidden; color: #e0e7dd; font: 700 .65rem/1.25 var(--font-mono); text-overflow: ellipsis; white-space: nowrap; }
.pda-weather-popover blockquote { margin: 10px 0; padding: 8px 10px; border-left: 2px solid var(--weather-accent); background: rgba(0, 0, 0, .27); color: #aebbaa; font-size: .72rem; line-height: 1.42; }
.pda-weather-popover blockquote b { color: var(--weather-accent); }
.pda-weather-popover footer { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-top: 8px; border-top: 1px solid rgba(111, 137, 104, .28); color: #758471; font: .56rem/1.2 var(--font-mono); letter-spacing: .35px; text-transform: uppercase; }
.pda-weather-popover footer b { color: var(--weather-accent); font-size: .72rem; }
.pda-weather-widget.is-loading { opacity: .72; }
.pda-weather-widget.is-updating > summary { animation: pdaWeatherUpdate 1.1s ease-out; }
.pda-weather-widget.is-danger .pda-weather-live-dot { animation: geigerBlink .8s infinite ease-in-out; }

@keyframes pdaWeatherSweep { to { transform: rotate(360deg); } }
@keyframes pdaWeatherUpdate { 0% { box-shadow: 0 0 0 var(--weather-glow); } 45% { box-shadow: 0 0 22px var(--weather-accent); } 100% { box-shadow: 0 0 0 var(--weather-glow); } }

@media (max-width: 620px) {
	.pda-header-right { flex: 1 1 100%; flex-wrap: wrap; justify-content: flex-end; width: 100%; }
	.pda-weather-widget { order: 2; flex: 1 1 100%; width: 100%; min-width: 0; }
	.pda-weather-popover { right: 0; width: calc(100vw - 32px); }
}

@media (max-width: 430px) {
	.pda-weather-widget > summary { grid-template-columns: 28px minmax(58px, 1fr) auto 7px; gap: 5px; }
	.pda-weather-orbit { width: 26px; height: 26px; }
	.pda-weather-orbit img { width: 19px; height: 19px; }
	.pda-weather-summary-copy small { display: none; }
	.pda-weather-summary-copy strong { font-size: .62rem; }
	.pda-weather-compact-temp { font-size: .62rem; }
	.pda-weather-popover { right: 0; width: calc(100vw - 24px); padding: 12px; }
	.pda-weather-popover-head small { max-width: 210px; }
}

/* Fixed field-weather contract shared by raids, caches and expeditions */
.field-weather-brief {
	--field-weather-accent: #78e08f;
	--field-weather-line: rgba(120, 224, 143, .42);
	display: grid;
	grid-template-columns: 48px minmax(150px, 1fr) minmax(220px, auto) auto;
	align-items: center;
	gap: 10px;
	margin: 9px 0;
	padding: 9px 11px;
	border: 1px solid var(--field-weather-line);
	border-left: 3px solid var(--field-weather-accent);
	border-radius: 5px;
	background: radial-gradient(circle at 0 50%, rgba(120, 224, 143, .09), transparent 35%), linear-gradient(180deg, rgba(16, 23, 16, .98), rgba(8, 13, 8, .99));
	box-shadow: 0 3px 12px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 255, 255, .035);
}
.field-weather-brief.is-warning { --field-weather-accent: #efb650; --field-weather-line: rgba(239, 182, 80, .48); }
.field-weather-brief.is-danger { --field-weather-accent: #ff7169; --field-weather-line: rgba(255, 113, 105, .56); }
.field-weather-signal { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--field-weather-line); border-radius: 50%; background: rgba(0, 0, 0, .32); overflow: hidden; }
.field-weather-signal::before { content: ""; position: absolute; inset: 5px; border: 1px solid var(--field-weather-line); border-radius: 50%; }
.field-weather-signal span { position: absolute; inset: 0; border-top: 1px solid var(--field-weather-accent); border-radius: 50%; animation: fieldWeatherRadar 3.2s linear infinite; }
.field-weather-signal img { position: relative; z-index: 1; width: 30px; height: 30px; object-fit: contain; filter: drop-shadow(0 0 5px var(--field-weather-accent)); }
.field-weather-copy { min-width: 0; }
.field-weather-copy small { display: block; margin-bottom: 2px; color: #778873; font: 700 .52rem/1.2 var(--font-mono); letter-spacing: .65px; }
.field-weather-copy strong { display: block; color: #edf1ea; font: 700 .82rem/1.2 var(--font-pda); }
.field-weather-copy p { margin: 3px 0 0; color: #9eab9a; font-size: .68rem; line-height: 1.35; }
.field-weather-effects { display: flex; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 5px; }
.field-weather-effects span { padding: 4px 7px; border: 1px solid rgba(92, 112, 86, .42); border-radius: 3px; background: rgba(0, 0, 0, .25); color: #cbd4c7; font: 700 .59rem/1.2 var(--font-mono); white-space: nowrap; }
.field-weather-effects .is-reward { border-color: rgba(120, 224, 143, .34); color: #9fdfa9; }
.field-weather-effects .is-radiation { border-color: var(--field-weather-line); color: var(--field-weather-accent); }
.field-weather-lock { padding: 4px 6px; border: 1px solid var(--field-weather-line); border-radius: 3px; background: rgba(0, 0, 0, .28); color: var(--field-weather-accent); font: 700 .5rem/1.2 var(--font-mono); letter-spacing: .5px; }

.has-zone-weather { position: relative; isolation: isolate; overflow: hidden; }
.has-zone-weather > :not(.zone-weather-atmosphere) { position: relative; z-index: 2; }
.zone-weather-atmosphere { position: absolute; inset: 0; z-index: 1; pointer-events: none; overflow: hidden; opacity: .7; }
.zone-weather-atmosphere > span,
.zone-weather-atmosphere > i,
.zone-weather-atmosphere > b { position: absolute; display: block; pointer-events: none; }
.zone-weather-atmosphere.weather-calm { background: radial-gradient(circle at 75% 20%, rgba(137, 224, 153, .16), transparent 32%), linear-gradient(120deg, transparent 40%, rgba(119, 197, 133, .055)); }
.zone-weather-atmosphere.weather-calm span { top: -80%; right: 10%; width: 28%; height: 220%; background: linear-gradient(90deg, transparent, rgba(193, 239, 201, .08), transparent); transform: rotate(18deg); animation: fieldWeatherCalm 8s ease-in-out infinite alternate; }
.zone-weather-atmosphere.weather-fog { background: linear-gradient(180deg, rgba(127, 151, 146, .13), rgba(87, 112, 105, .05)); }
.zone-weather-atmosphere.weather-fog span,
.zone-weather-atmosphere.weather-fog i { left: -20%; width: 140%; height: 45%; border-radius: 50%; background: rgba(190, 207, 201, .1); filter: blur(18px); animation: fieldWeatherFog 12s ease-in-out infinite alternate; }
.zone-weather-atmosphere.weather-fog span { top: 8%; }
.zone-weather-atmosphere.weather-fog i { bottom: 0; animation-direction: alternate-reverse; }
.zone-weather-atmosphere.weather-acid_rain { background: linear-gradient(180deg, rgba(132, 179, 82, .13), rgba(32, 66, 34, .08)); }
.zone-weather-atmosphere.weather-acid_rain span { inset: -35% -20%; background: repeating-linear-gradient(108deg, transparent 0 17px, rgba(176, 235, 93, .22) 18px 19px, transparent 20px 31px); animation: fieldWeatherRain 1.1s linear infinite; }
.zone-weather-atmosphere.weather-storm { background: radial-gradient(circle at 70% 15%, rgba(93, 151, 212, .17), transparent 35%), rgba(19, 32, 48, .08); }
.zone-weather-atmosphere.weather-storm span { inset: 0; background: linear-gradient(112deg, transparent 45%, rgba(197, 228, 255, .34) 48%, transparent 51%); opacity: 0; animation: fieldWeatherLightning 6s steps(1) infinite; }
.zone-weather-atmosphere.weather-wind { background: linear-gradient(90deg, rgba(179, 146, 90, .04), rgba(196, 161, 101, .12), transparent); }
.zone-weather-atmosphere.weather-wind span { inset: 8% -40%; background: repeating-linear-gradient(0deg, transparent 0 19px, rgba(221, 194, 143, .14) 20px 21px, transparent 22px 35px); transform: skewX(-22deg); animation: fieldWeatherWind 2.7s linear infinite; }
.zone-weather-atmosphere.weather-emission_glow { background: radial-gradient(circle at 78% 24%, rgba(255, 71, 68, .24), transparent 38%), linear-gradient(180deg, rgba(109, 24, 31, .11), transparent); animation: fieldWeatherEmission 3.4s ease-in-out infinite alternate; }
.zone-weather-atmosphere.weather-emission_glow span { top: 0; right: 8%; width: 34%; height: 2px; background: #ff5d56; box-shadow: 0 0 18px 7px rgba(255, 63, 56, .18); }
.raid-battle-shell .field-weather-brief { grid-template-columns: 38px minmax(120px, 1fr) auto auto; margin: 6px 0; padding: 6px 8px; }
.raid-battle-shell .field-weather-signal { width: 34px; height: 34px; }
.raid-battle-shell .field-weather-signal img { width: 23px; height: 23px; }
.raid-battle-shell .field-weather-copy p { display: none; }
.arena-log-system { border-left-color: #5dade2 !important; background: rgba(93, 173, 226, .07); }

@keyframes fieldWeatherRadar { to { transform: rotate(360deg); } }
@keyframes fieldWeatherCalm { to { transform: translateX(30px) rotate(18deg); opacity: .45; } }
@keyframes fieldWeatherFog { to { transform: translateX(9%); opacity: .5; } }
@keyframes fieldWeatherRain { to { transform: translate(-5%, 18%); } }
@keyframes fieldWeatherLightning { 0%, 8%, 11%, 100% { opacity: 0; } 9%, 10% { opacity: 1; } }
@keyframes fieldWeatherWind { to { transform: translateX(18%) skewX(-22deg); } }
@keyframes fieldWeatherEmission { to { opacity: .42; filter: saturate(1.35); } }

@media (max-width: 700px) {
	.field-weather-brief { grid-template-columns: 42px minmax(0, 1fr) auto; gap: 8px; }
	.field-weather-effects { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.field-weather-effects span { overflow: hidden; text-align: center; text-overflow: ellipsis; white-space: nowrap; }
	.raid-battle-shell .field-weather-brief { grid-template-columns: 34px minmax(0, 1fr) auto; }
	.raid-battle-shell .field-weather-effects { display: flex; grid-column: 1 / -1; }
	.raid-battle-shell .field-weather-effects span { flex: 1 1 140px; }
}

@media (max-width: 390px) {
	.field-weather-copy p { display: none; }
	.field-weather-lock { align-self: start; }
}

@media (prefers-reduced-motion: reduce) {
	.field-weather-signal span,
	.zone-weather-atmosphere,
	.zone-weather-atmosphere > span,
	.zone-weather-atmosphere > i,
	.zone-weather-atmosphere > b { animation: none !important; }
}

/* Advanced Tactical HUD Panel */
.pda-hud-panel {
	background: linear-gradient(180deg, #161d15 0%, #0d120c 100%);
	border: 1px solid #323d2b;
	border-radius: 4px;
	padding: 10px 12px;
	margin-bottom: 10px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 3px 8px rgba(0, 0, 0, 0.6);
}

.pda-hud-panel-combat-focus {
	display: none;
}

.pda-resource-strip {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 6px;
	margin-bottom: 9px;
	font-family: var(--font-mono);
	font-size: 0.8rem;
}

.pda-resource-strip span {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 4px;
	min-width: 0;
	padding: 4px 5px;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid #283223;
	border-radius: 3px;
}

.pda-stat-row {
	margin-bottom: 8px;
}
.pda-stat-row:last-child {
	margin-bottom: 0;
}

.pda-stat-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 3px;
	font-family: var(--font-pda);
	font-size: 0.85rem;
	font-weight: 600;
}

.pda-stat-title {
	color: var(--text-main);
	display: flex;
	align-items: center;
	gap: 6px;
}

.pda-stat-num {
	font-family: var(--font-mono);
	color: var(--text-muted);
	font-size: 0.8rem;
}

.pda-bar-wrap {
	background: #060806;
	border: 1px solid #242d20;
	border-radius: 3px;
	height: 10px;
	overflow: hidden;
	position: relative;
	box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.8);
}

.pda-bar-fill {
	height: 100%;
	border-radius: 2px;
	transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
}

.pda-bar-fill::after {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	background: linear-gradient(90deg, rgba(255,255,255,0.15) 0%, transparent 100%);
}

.bar-hp {
	background: linear-gradient(90deg, #c0392b 0%, #e74c3c 100%);
	box-shadow: 0 0 8px rgba(231, 76, 60, 0.4);
}

.bar-endurance {
	background: linear-gradient(90deg, #2980b9 0%, #3498db 100%);
	box-shadow: 0 0 8px rgba(52, 152, 219, 0.4);
}

.bar-exp {
	background: linear-gradient(90deg, #d35400 0%, #f39c12 100%);
	box-shadow: 0 0 8px rgba(243, 156, 18, 0.4);
}

/* Top Navigation Bar (.secondBar) */
.secondBar {
	background: linear-gradient(180deg, #181f16 0%, #0f140e 100%) !important;
	border: 1px solid #323d2b !important;
	border-radius: 4px !important;
	padding: 6px !important;
	margin-bottom: 10px !important;
}

.secondBarButtons {
	background: linear-gradient(180deg, #242f21 0%, #161e14 100%) !important;
	border: 1px solid #3c4b35 !important;
	border-radius: 4px !important;
	padding: 6px !important;
	margin: 0 auto !important;
	width: 90% !important;
	min-height: 40px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	transition: all 0.2s ease !important;
}

.secondBarButtons:hover {
	background: linear-gradient(180deg, #32422c 0%, #212c1d 100%) !important;
	border-color: var(--accent-amber) !important;
}

/* Footer & Copyright */
.foot {
	background: #0b0e0a !important;
	border-top: 1px solid #283223 !important;
	padding: 10px !important;
	color: var(--text-muted) !important;
	font-family: var(--font-mono) !important;
	font-size: 0.8rem !important;
	text-align: center !important;
}

/* Safe Area Insets for iPhones */
@supports (padding-bottom: env(safe-area-inset-bottom)) {
	body {
		padding-bottom: calc(76px + env(safe-area-inset-bottom, 0px));
	}
	.pda-header {
		padding-top: calc(8px + env(safe-area-inset-top, 0px));
	}
}

/* Sticky Mobile Bottom Navigation Bar */
.pda-bottom-nav {
	position: fixed;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: min(100%, 560px);
	box-sizing: border-box;
	background: linear-gradient(180deg, #182017 0%, #0d120d 100%);
	border-top: 2px solid #364230;
	display: flex;
	justify-content: space-around;
	align-items: center;
	padding: 6px 0 max(6px, env(safe-area-inset-bottom, 0px));
	z-index: 1000;
	margin: 0;
	box-shadow: 0 -4px 15px rgba(0, 0, 0, 0.85);
}

.pda-nav-item {
	text-align: center;
	font-family: var(--font-pda);
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--text-muted) !important;
	text-decoration: none !important;
	padding: 4px 6px;
	border-radius: 4px;
	flex: 1;
	transition: all 0.15s ease;
	line-height: 1.2;
	min-height: 52px;
	box-sizing: border-box;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 2px solid var(--accent-yellow) !important;
	outline-offset: 2px !important;
}

.pda-nav-item:hover, .pda-nav-item.active {
	color: var(--accent-amber-bright) !important;
	background: rgba(230, 126, 34, 0.15);
}

.pda-nav-item img {
	filter: drop-shadow(0 1px 2px rgba(0,0,0,0.9));
}

/* ==========================================================================
   S.T.A.L.K.E.R. NPC Radio Dialogue Card
   ========================================================================== */
.npc-dialog-card {
	background: linear-gradient(180deg, #1d251a 0%, #121811 100%) !important;
	border: 1px solid #3d4f34 !important;
	border-left: 4px solid var(--accent-amber-bright) !important;
	border-radius: 4px !important;
	padding: 12px 14px !important;
	margin-bottom: 12px !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 4px 12px rgba(0, 0, 0, 0.6) !important;
	position: relative;
}

.npc-dialog-card .media-object {
	border: 1px solid var(--accent-amber);
	border-radius: 4px;
	box-shadow: 0 0 10px rgba(230, 126, 34, 0.3);
}

.npc-dialog-title {
	font-family: var(--font-pda) !important;
	font-size: 1.1rem !important;
	color: var(--accent-amber-bright) !important;
	letter-spacing: 1px !important;
	margin-bottom: 4px !important;
	display: flex;
	align-items: center;
	gap: 6px;
}

.npc-radio-freq {
	font-family: var(--font-mono);
	font-size: 0.75rem;
	color: var(--accent-green-bright);
	background: rgba(120, 224, 143, 0.12);
	padding: 1px 5px;
	border-radius: 3px;
	border: 1px solid rgba(120, 224, 143, 0.3);
	margin-left: auto;
}

/* ==========================================================================
   Quest Contract Cards (.quest-card)
   ========================================================================== */
.quest-card {
	background: linear-gradient(180deg, #182017 0%, #0e130d 100%) !important;
	border: 1px solid #364230 !important;
	border-radius: 4px !important;
	padding: 14px !important;
	margin-bottom: 10px !important;
	position: relative;
	overflow: hidden;
}

.quest-card::before {
	content: "CONTRACT";
	position: absolute;
	top: 8px; right: 10px;
	font-family: var(--font-mono);
	font-size: 0.65rem;
	letter-spacing: 2px;
	color: rgba(136, 152, 130, 0.3);
	font-weight: 700;
}

.quest-card h5 {
	color: var(--accent-amber-bright) !important;
	font-size: 1.05rem !important;
	margin-bottom: 6px !important;
	border-bottom: 1px dashed rgba(54, 66, 48, 0.8);
	padding-bottom: 4px;
}

.reward-pill {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: rgba(120, 224, 143, 0.1);
	border: 1px solid rgba(120, 224, 143, 0.3);
	color: var(--accent-green-bright);
	padding: 2px 8px;
	border-radius: 3px;
	font-family: var(--font-mono);
	font-size: 0.82rem;
	margin-right: 6px;
	margin-top: 4px;
}

.stamp-completed {
	display: inline-block;
	font-family: var(--font-pda);
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--accent-green-bright);
	border: 2px solid var(--accent-green);
	padding: 4px 10px;
	border-radius: 4px;
	transform: rotate(-3deg);
	box-shadow: 0 0 10px var(--accent-green-glow);
	margin-top: 6px;
}

/* ==========================================================================
   Target Crosshair Frame (Mutant / Combat Screen)
   ========================================================================== */
.target-frame {
	position: relative;
	display: inline-block;
	padding: 8px;
	background: #090c09;
	border: 1px solid #364230;
	border-radius: 6px;
	box-shadow: inset 0 0 15px rgba(0, 0, 0, 0.9), 0 0 12px rgba(120, 224, 143, 0.15);
}

.target-frame::before {
	content: "";
	position: absolute;
	top: -2px; left: -2px; width: 14px; height: 14px;
	border-top: 2px solid var(--accent-green-bright);
	border-left: 2px solid var(--accent-green-bright);
}

.target-frame::after {
	content: "";
	position: absolute;
	bottom: -2px; right: -2px; width: 14px; height: 14px;
	border-bottom: 2px solid var(--accent-green-bright);
	border-right: 2px solid var(--accent-green-bright);
}

/* ==========================================================================
   Tactical Combat Actions
   ========================================================================== */
.combat-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
	margin: 10px 0 14px;
}

.mob-combat-duel {
	display: grid;
	grid-template-columns: minmax(90px, 1fr) 42px minmax(110px, 1fr);
	align-items: center;
	gap: 10px;
	margin: 4px 0 14px;
	text-align: center;
}

.mob-raid-card {
	position: relative;
	overflow: hidden;
	border-left: 3px solid rgba(127, 176, 105, 0.58) !important;
	background:
		linear-gradient(115deg, rgba(75, 110, 63, 0.12), transparent 48%),
		var(--panel-bg, rgba(8, 14, 10, 0.96)) !important;
}

.mob-raid-card-body {
	display: grid;
	grid-template-columns: 120px minmax(0, 1fr);
	align-items: start;
	gap: 14px;
}

.mob-raid-visual {
	display: grid;
	place-items: center;
	min-height: 116px;
	border: 1px solid rgba(127, 176, 105, 0.18);
	background: radial-gradient(circle, rgba(127, 176, 105, 0.12), rgba(0, 0, 0, 0.18) 68%);
}

.mob-raid-visual img {
	display: block;
	max-width: 100%;
	object-fit: contain;
	filter: drop-shadow(0 6px 8px rgba(0, 0, 0, 0.72));
}

.mob-raid-content {
	min-width: 0;
}

.mob-raid-content h4 {
	margin: 1px 0 7px;
	color: #dcebd5;
	font-family: var(--font-pda);
	letter-spacing: 0.035em;
}

.mob-raid-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 9px;
}

.mob-raid-meta span {
	padding: 3px 7px;
	border: 1px solid rgba(127, 176, 105, 0.22);
	border-radius: 3px;
	background: rgba(0, 0, 0, 0.22);
	color: #b8d4ac;
	font-family: var(--font-mono);
	font-size: 0.68rem;
}

.mob-intel {
	margin: 0 0 10px;
	border: 1px solid rgba(91, 192, 235, 0.2);
	border-radius: 4px;
	background: rgba(7, 17, 21, 0.52);
}

.mob-intel summary {
	display: grid;
	grid-template-columns: 22px minmax(0, 1fr) 18px;
	align-items: center;
	gap: 7px;
	min-height: 34px;
	padding: 4px 8px;
	color: #a9d9eb;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

.mob-intel summary::-webkit-details-marker {
	display: none;
}

.mob-intel summary:hover,
.mob-intel summary:focus-visible {
	background: rgba(91, 192, 235, 0.09);
	color: #d9f5ff;
	outline: none;
}

.mob-intel-icon {
	display: inline-grid;
	place-items: center;
	width: 18px;
	height: 18px;
	border: 1px solid currentColor;
	border-radius: 50%;
	font-family: Georgia, serif;
	font-size: 0.75rem;
	font-weight: 700;
}

.mob-intel-chevron {
	display: inline-block;
	font-size: 1rem;
	line-height: 1;
	text-align: center;
	transition: transform 160ms ease;
}

.mob-intel[open] .mob-intel-chevron {
	transform: rotate(180deg);
}

.mob-intel-description {
	padding: 9px 10px 11px;
	border-top: 1px solid rgba(91, 192, 235, 0.16);
	color: #c1c9bd;
	font-size: 0.78rem;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.mob-raid-action {
	margin: 0;
}

.mob-raid-action.btn {
	display: inline-block;
}

.mob-combatant {
	display: grid;
	justify-items: center;
	gap: 7px;
}

.mob-combat-label,
.mob-combat-vs {
	font-family: var(--font-mono);
}

.mob-combat-label {
	max-width: 160px;
	color: #b8d4ac;
	font-size: 0.75rem;
	letter-spacing: 0.05em;
}

.mob-combat-vs {
	color: var(--accent-amber-bright);
	font-size: 1.1rem;
	font-weight: 800;
}

.mob-target-image {
	display: block;
	width: min(120px, 100%);
	height: 110px;
	object-fit: contain;
	filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.75));
}

.arena-result-rewards.mob-result-rewards {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.mob-loot-message {
	margin: 9px 0;
	padding: 7px 9px;
	border-left: 2px solid var(--accent-amber-bright);
	background: rgba(215, 167, 74, 0.1);
	color: #ead38f;
	font-family: var(--font-mono);
	font-size: 0.72rem;
}

.combat-telemetry-board {
	border-top: 2px solid #5bc0eb !important;
	background: radial-gradient(circle at 80% 0, rgba(41, 128, 185, 0.16), transparent 36%), #0a0f0b !important;
}

.combat-telemetry-head,
.combat-telemetry-card-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 10px;
}

.combat-telemetry-head small,
.combat-telemetry-head > span,
.combat-telemetry-card-head span,
.combat-telemetry-outcomes {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	color: var(--text-muted);
}

.combat-telemetry-head h4 {
	margin: 3px 0 12px;
	color: #bce8fb;
}

.combat-telemetry-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.combat-telemetry-card {
	padding: 11px;
	border: 1px solid #30443a;
	border-radius: 5px;
	background: rgba(5, 10, 7, 0.78);
}

.combat-telemetry-card-head strong {
	color: var(--accent-green-bright);
}

.combat-telemetry-metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 5px;
	margin: 9px 0;
}

.combat-telemetry-metrics span,
.combat-telemetry-weapons span,
.combat-telemetry-effects span {
	padding: 5px 6px;
	border: 1px solid rgba(87, 111, 78, 0.42);
	background: rgba(17, 27, 15, 0.72);
	font-family: var(--font-mono);
	font-size: 0.68rem;
	color: #aab9a4;
}

.combat-telemetry-metrics b,
.combat-telemetry-weapons b,
.combat-telemetry-effects b {
	display: block;
	margin-top: 2px;
	color: #f4d06f;
	font-size: 0.88rem;
}

.combat-telemetry-weapons {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
	margin-top: 9px;
}

.combat-telemetry-effects {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 5px;
	margin-top: 5px;
}

.combat-telemetry-effects span {
	border-color: rgba(190, 119, 50, 0.38);
}

.combat-telemetry-effects b {
	color: #ffad66;
}

.clan-danger-zone {
	border: 1px solid rgba(192, 57, 43, 0.72) !important;
	border-top: 3px solid #c0392b !important;
	background: linear-gradient(180deg, rgba(70, 22, 18, 0.28), rgba(15, 10, 9, 0.96)) !important;
}

.clan-danger-zone > strong {
	display: block;
	margin-bottom: 7px;
	color: #ff8b84;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.clan-danger-zone p,
.clan-danger-zone li,
.clan-danger-zone label,
.clan-danger-blocked {
	font-family: var(--font-mono);
	font-size: 0.72rem;
}

.clan-danger-zone ul {
	margin: 8px 0 12px 18px;
}

.clan-danger-zone li.is-ready { color: #8fd18a; }
.clan-danger-zone li.is-blocked,
.clan-danger-blocked { color: #ff938d; }
.clan-danger-zone form { margin: 0; }
.clan-danger-zone .btn-danger { width: 100%; margin-top: 6px; }

.clan-member-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 6px;
}

.clan-member-actions form {
	margin: 0;
}

.clan-member-actions .btn {
	margin: 0;
}

.arena-battle-app {
	position: relative;
	isolation: isolate;
}

.arena-matchmaking-app {
	position: relative;
	margin-bottom: 14px;
	padding: 12px;
	border: 1px solid rgba(87, 111, 78, 0.72);
	border-top: 2px solid var(--accent-green-bright);
	border-radius: 6px;
	background: linear-gradient(180deg, rgba(21, 31, 19, 0.96), rgba(8, 13, 8, 0.98));
	box-shadow: 0 7px 18px rgba(0, 0, 0, 0.42), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.arena-matchmaking-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.arena-matchmaking-head small {
	font-family: var(--font-mono);
	color: var(--accent-amber-bright);
	letter-spacing: 0.08em;
}

.arena-matchmaking-head h3 {
	margin: 2px 0 0;
	color: var(--accent-green-bright);
}

.arena-matchmaking-note {
	margin: 8px 0;
	padding: 6px 8px;
	border-left: 2px solid rgba(91, 192, 235, 0.7);
	background: rgba(24, 58, 72, 0.24);
	color: #a8c4ce;
	font-family: var(--font-mono);
	font-size: 0.7rem;
}

.arena-matchmaking-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 8px;
}

.arena-opponent-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 0;
	padding: 9px 7px;
	border: 1px solid #354330;
	border-top: 2px solid #79966d;
	border-radius: 5px;
	background: linear-gradient(180deg, rgba(29, 40, 26, 0.96), rgba(10, 16, 10, 0.98));
	text-align: center;
}

.arena-opponent-danger { border-top-color: #e74c3c; }
.arena-opponent-even { border-top-color: var(--accent-amber-bright); }
.arena-opponent-advantage { border-top-color: var(--accent-green-bright); }

.arena-opponent-top {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 4px;
	width: 100%;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	color: #aab7a5;
}

.arena-opponent-risk {
	padding: 2px 5px;
	border-radius: 10px;
	background: rgba(196, 133, 45, 0.18);
	color: #f3cd7a;
}

.arena-opponent-avatar {
	display: block;
	margin: 8px 0 5px;
}

.arena-opponent-avatar img {
	width: 86px;
	height: 86px;
	border: 1px solid #455840;
	border-radius: 5px;
	background: #080b08;
	object-fit: cover;
}

.arena-opponent-card h4 {
	width: 100%;
	margin: 0 0 7px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.arena-opponent-card h4 a { color: var(--accent-green-bright); }

.arena-opponent-stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3px;
	width: 100%;
}

.arena-opponent-stats span {
	padding: 4px 2px;
	border: 1px solid rgba(74, 94, 68, 0.55);
	background: rgba(8, 14, 8, 0.7);
	font-family: var(--font-mono);
	font-size: 0.56rem;
	color: #98a794;
}

.arena-opponent-stats b {
	display: block;
	margin-top: 2px;
	color: #e9c96c;
	font-size: 0.76rem;
}

.arena-opponent-forecast,
.arena-opponent-reward {
	width: 100%;
	margin-top: 6px;
	font-family: var(--font-mono);
	font-size: 0.64rem;
}

.arena-opponent-forecast { color: #91cce3; }
.arena-opponent-reward { min-height: 32px; color: #a7bd9f; }
.arena-opponent-card form { width: 100%; margin: auto 0 0; }
.arena-opponent-card .btn { width: 100%; margin-top: 8px; }
.arena-opponent-blocked { margin-top: 5px; color: #ff8b84; }

.arena-battle-app::after {
	content: "";
	pointer-events: none;
	position: absolute;
	inset: 0;
	z-index: 20;
	border-radius: inherit;
	opacity: 0;
	box-shadow: inset 0 0 42px 12px rgba(190, 34, 34, 0.78);
}

.arena-battle-app.is-low-hp::after {
	animation: arena-low-hp 1.45s ease-in-out infinite;
}

.arena-combatant-stage {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	isolation: isolate;
	will-change: transform, filter;
}

.arena-combatant-stage::after {
	content: "";
	pointer-events: none;
	position: absolute;
	inset: -4px;
	z-index: 2;
	border-radius: 7px;
	opacity: 0;
}

.combat-avatar {
	width: min(100px, 100%);
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border: 1px solid #3c4936;
	border-radius: 4px;
	background: #080b08;
}

.arena-combatant-stage.is-hit {
	animation: arena-hit-shake 430ms ease-out;
}

.arena-combatant-stage.is-hit::after {
	animation: arena-hit-flash 430ms ease-out;
}

.arena-combatant-stage.is-critical-hit {
	animation: arena-critical-hit 650ms cubic-bezier(0.2, 0.75, 0.25, 1);
}

.arena-combatant-stage.is-critical-hit::after {
	background: radial-gradient(circle, rgba(255, 207, 74, 0.58), rgba(231, 76, 60, 0.32) 48%, transparent 72%);
	animation: arena-critical-flash 650ms ease-out;
}

.arena-combatant-stage.is-dodge {
	animation: arena-dodge 460ms ease-out;
}

.arena-combatant-stage.is-bleeding::after {
	background: radial-gradient(circle, rgba(188, 28, 28, 0.72), rgba(112, 10, 10, 0.24) 52%, transparent 74%);
	animation: arena-status-flash 720ms ease-out;
}

.arena-combatant-stage.is-weak-point::after {
	background: radial-gradient(circle, rgba(255, 214, 72, 0.68), rgba(255, 125, 32, 0.22) 48%, transparent 72%);
	animation: arena-status-flash 720ms ease-out;
}

.arena-combatant-stage.is-parry {
	animation: arena-parry 620ms ease-out;
}

.arena-combatant-stage.is-parry::after {
	background: radial-gradient(circle, rgba(118, 202, 255, 0.7), rgba(65, 115, 170, 0.18) 52%, transparent 74%);
	animation: arena-status-flash 620ms ease-out;
}

.arena-combatant-stage.is-healed::after {
	background: radial-gradient(circle, rgba(106, 226, 122, 0.58), rgba(76, 175, 80, 0.18) 54%, transparent 74%);
	animation: arena-restore-pulse 720ms ease-out;
}

.arena-combatant-stage.is-energized::after {
	background: radial-gradient(circle, rgba(91, 192, 235, 0.62), rgba(41, 128, 185, 0.2) 54%, transparent 74%);
	animation: arena-restore-pulse 720ms ease-out;
}

.arena-floating-text {
	pointer-events: none;
	position: absolute;
	left: 50%;
	top: 20%;
	z-index: 6;
	min-width: max-content;
	font-family: var(--font-mono);
	font-size: 1rem;
	font-weight: 800;
	line-height: 1;
	letter-spacing: 0.03em;
	text-shadow: 0 2px 3px rgba(0, 0, 0, 0.98), 0 0 8px currentColor;
	transform: translate(-50%, 0);
	animation: arena-floating-text 900ms ease-out forwards;
}

.arena-floating-damage { color: #ff6b62; }
.arena-floating-critical { color: #ffd34f; font-size: 1.2rem; }
.arena-floating-critical-label { top: -7%; color: #fff0a6; font-size: 0.72rem; }
.arena-floating-miss { color: #e8d77b; font-size: 0.78rem; }
.arena-floating-heal { color: #7ee787; }
.arena-floating-energy { color: #69c9f0; }
.arena-floating-bleed { top: 4%; color: #ff7068; font-size: 0.72rem; }
.arena-floating-weak-point { top: 4%; color: #ffd34f; font-size: 0.72rem; }
.arena-floating-parry { color: #8dd8ff; font-size: 0.78rem; }

.arena-battle-app .bloodBar {
	overflow: hidden;
}

.arena-battle-app .bloodBar .line {
	transition: max-width 320ms cubic-bezier(0.22, 0.78, 0.24, 1), filter 220ms ease, box-shadow 220ms ease;
}

.arena-battle-app .line.is-restored {
	filter: brightness(1.75);
	box-shadow: 0 0 12px currentColor;
}

.arena-battle-app.is-low-energy [data-role="player-endurance-bar"] {
	animation: arena-energy-alert 1.15s ease-in-out infinite;
}

.combat-vital-value {
	display: block;
	margin-top: 3px;
	font-family: var(--font-mono);
	font-size: 0.75rem;
	color: #b8d4ac;
	text-align: center;
}

.combat-action-form {
	margin: 0;
}

.combat-action {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	gap: 4px;
	width: 100%;
	min-height: 68px;
	padding: 10px 8px;
	border: 1px solid #3c4936;
	border-radius: 5px;
	background: linear-gradient(180deg, #1b2319 0%, #0c110c 100%);
	color: var(--text-main);
	font-family: var(--font-pda);
	text-align: center;
	cursor: pointer;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04), 0 4px 10px rgba(0, 0, 0, 0.45);
}

.combat-action:hover,
.combat-action:focus-visible {
	border-color: var(--accent-green-bright);
	background: linear-gradient(180deg, #263121 0%, #111811 100%);
}

.combat-action-gun {
	border-top: 2px solid var(--accent-amber-bright);
}

.combat-action-pistol {
	border-top: 2px solid var(--accent-green-bright);
}

.combat-action-knife {
	border-top: 2px solid #5dade2;
}

.combat-action[disabled] {
	opacity: 0.52;
	filter: grayscale(0.65);
	cursor: not-allowed;
	box-shadow: none;
}

.combat-action.is-energy-blocked {
	border-color: rgba(84, 183, 229, 0.58);
	background: linear-gradient(180deg, rgba(25, 54, 69, 0.82), #0c1113 100%);
}

.combat-action.is-energy-blocked .combat-action-state {
	color: #7bd5ff;
}

.combat-action.is-action-fired {
	animation: arena-action-fired 420ms ease-out;
}

.combat-action-visual {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	border: 1px solid #364230;
	border-radius: 4px;
	background: #080b08;
}

.combat-action-visual img {
	max-width: 48px;
	max-height: 48px;
	object-fit: contain;
}

.combat-action-fallback {
	font-size: 1.8rem;
}

.combat-action strong {
	color: var(--accent-green-bright);
	font-size: 0.95rem;
}

.combat-action small {
	display: block;
	min-height: 48px;
	color: var(--text-muted);
	line-height: 1.25;
}

.combat-action-stats,
.combat-action-effect,
.combat-action-cost,
.combat-action-state {
	display: block;
	font-family: var(--font-mono);
	font-size: 0.74rem;
}

.combat-action-stats {
	color: #b8d4ac;
}

.combat-action-effect {
	margin: 4px 0;
	padding: 3px 5px;
	border-left: 2px solid rgba(255, 173, 102, 0.75);
	background: rgba(122, 57, 18, 0.2);
	color: #ffbd7a;
}

.combat-action-cost {
	color: var(--accent-amber-bright);
}

.combat-action-state {
	color: #ff7675;
}

.combat-retreat-form {
	margin: 0 0 14px;
	text-align: center;
}

.arena-ajax-status {
	min-height: 20px;
	margin: 0 0 8px;
	padding: 0 8px;
	border-left: 2px solid transparent;
	font-family: var(--font-mono);
	font-size: 0.76rem;
	line-height: 20px;
	color: var(--text-muted);
}

.arena-battle-app [hidden] {
	display: none !important;
}

[data-role="player-hp-warning"][hidden],
[data-role="player-endurance-warning"][hidden] {
	display: none !important;
}

.arena-status-pending {
	border-color: var(--accent-amber-bright);
	color: var(--accent-amber-bright);
}

.arena-status-success {
	border-color: var(--accent-green-bright);
	color: var(--accent-green-bright);
}

.arena-status-error {
	border-color: #ff7675;
	color: #ff9a96;
}

.arena-battle-app.is-arena-busy .combat-action:not([disabled]) {
	opacity: 0.7;
}

.arena-consumables {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 10px 0 14px;
}

.arena-consumable-group {
	padding: 8px;
	border: 1px solid #364230;
	border-radius: 4px;
	background: rgba(8, 13, 8, 0.7);
}

.arena-consumable-group > strong {
	display: block;
	margin-bottom: 7px;
	color: #b8d4ac;
	font-size: 0.78rem;
	letter-spacing: 0.5px;
	text-transform: uppercase;
}

.arena-energy-hint {
	display: block;
	margin: -2px 0 8px;
	padding: 5px 7px;
	border-left: 2px solid #5bc0eb;
	background: rgba(35, 91, 119, 0.18);
	color: #9eddfa;
	font-family: var(--font-mono);
	font-size: 0.7rem;
	line-height: 1.35;
}

.arena-consumable-group.is-energy-recommended {
	border-color: rgba(91, 192, 235, 0.72);
	box-shadow: inset 0 0 16px rgba(41, 128, 185, 0.12), 0 0 9px rgba(41, 128, 185, 0.12);
}

.arena-consumable-group.is-energy-empty {
	border-color: rgba(231, 76, 60, 0.5);
}

.arena-consumable-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.arena-consumable-form {
	margin: 0;
}

.arena-consumable-button {
	position: relative;
	display: grid;
	grid-template-columns: 42px auto;
	align-items: center;
	gap: 4px;
	min-width: 82px;
	min-height: 52px;
	padding: 4px 6px;
	border: 1px solid #45533e;
	border-radius: 4px;
	background: linear-gradient(180deg, #1a2318, #0c110c);
	color: var(--accent-green-bright);
	cursor: pointer;
}

.arena-consumable-button:hover,
.arena-consumable-button:focus-visible {
	border-color: var(--accent-green-bright);
}

.arena-consumable-button[disabled] {
	opacity: 0.42;
	filter: grayscale(0.7);
	cursor: not-allowed;
}

.arena-consumable-button img {
	grid-row: 1 / span 2;
	width: 42px;
	height: 42px;
	object-fit: contain;
}

.arena-consumable-button > span {
	font-family: var(--font-mono);
	font-size: 0.74rem;
}

.arena-consumable-button > small {
	color: var(--text-muted);
	font-size: 0.68rem;
}

.arena-consumable-button.is-recommended {
	border-color: #5bc0eb;
	box-shadow: 0 0 10px rgba(91, 192, 235, 0.32);
	animation: arena-energy-item 1.4s ease-in-out infinite;
}

.arena-consumable-button.is-recommended::after {
	content: attr(data-recommendation);
	position: absolute;
	right: -4px;
	top: -7px;
	padding: 1px 4px;
	border: 1px solid #5bc0eb;
	border-radius: 2px;
	background: #0c1c24;
	color: #a9e4ff;
	font-family: var(--font-mono);
	font-size: 0.55rem;
	letter-spacing: 0.04em;
}

.arena-consumable-empty {
	color: var(--text-muted);
	font-size: 0.74rem;
}

.arena-result {
	margin: 18px 0 12px;
	padding: 18px 14px;
	border: 1px solid #64735d;
	border-top-width: 3px;
	border-radius: 5px;
	background: radial-gradient(circle at top, rgba(88, 120, 70, 0.22), rgba(5, 9, 5, 0.96) 68%);
	text-align: center;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.48);
}

.arena-result.is-result-revealed {
	animation: arena-result-reveal 760ms cubic-bezier(0.16, 0.78, 0.24, 1);
}

.arena-result.is-result-revealed .arena-result-rewards span {
	animation: arena-reward-arrive 520ms ease-out both;
}

.arena-result.is-result-revealed .arena-result-rewards span:nth-child(2) { animation-delay: 90ms; }
.arena-result.is-result-revealed .arena-result-rewards span:nth-child(3) { animation-delay: 180ms; }

.arena-result[hidden] {
	display: none;
}

.arena-result-success { border-top-color: var(--accent-green-bright); }
.arena-result-warning { border-top-color: var(--accent-amber-bright); }
.arena-result-danger { border-top-color: #e74c3c; }

.arena-result-signal {
	font-family: var(--font-mono);
	font-size: 0.68rem;
	letter-spacing: 1.6px;
	color: var(--text-muted);
}

.arena-result h2 {
	margin: 7px 0;
	color: var(--accent-green-bright);
	text-transform: uppercase;
}

.arena-result-danger h2 { color: #ff8b84; }
.arena-result-warning h2 { color: var(--accent-amber-bright); }

.arena-result-rewards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
	margin: 12px 0;
}

.arena-result-rewards span {
	padding: 8px 5px;
	border: 1px solid #3b4935;
	border-radius: 3px;
	background: rgba(13, 21, 12, 0.9);
	font-family: var(--font-mono);
	font-size: 0.72rem;
	color: var(--text-muted);
}

.arena-result-rewards b {
	display: block;
	margin-top: 3px;
	font-size: 1rem;
	color: #f5d76e;
}

.is-arena-ended .arena-consumables,
.is-arena-ended .combat-actions,
.is-arena-ended .arena-retreat-form {
	display: none;
}

.arena-combat-log {
	display: grid;
	gap: 6px;
}

.arena-log-entry {
	display: grid;
	grid-template-columns: 8px auto minmax(0, 1fr);
	align-items: start;
	gap: 6px;
	padding: 6px 8px;
	border-left: 2px solid #55624e;
	background: rgba(5, 9, 5, 0.48);
	font-size: 0.78rem;
	animation: arena-log-arrive 180ms ease-out;
}

.arena-log-player { border-left-color: var(--accent-green-bright); }
.arena-log-enemy { border-left-color: #e74c3c; }
.arena-log-critical { border-left-color: #f39c12; }
.arena-log-miss { border-left-color: #d4ac0d; }

.arena-log-presence {
	width: 6px;
	height: 6px;
	margin-top: 6px;
	border-radius: 50%;
	background: #596159;
}

.arena-log-presence.is-online {
	background: var(--accent-green-bright);
	box-shadow: 0 0 5px rgba(146, 208, 80, 0.8);
}

.arena-log-text {
	min-width: 0;
	color: #c7d6c0;
	word-break: break-word;
}

.arena-log-critical .arena-log-text {
	color: #ffd166;
	font-weight: 700;
}

@keyframes arena-log-arrive {
	from { opacity: 0; transform: translateY(-3px); }
	to { opacity: 1; transform: translateY(0); }
}

@keyframes arena-hit-shake {
	0%, 100% { transform: translateX(0); filter: none; }
	25% { transform: translateX(-5px) rotate(-1deg); filter: brightness(1.35); }
	50% { transform: translateX(4px) rotate(1deg); }
	75% { transform: translateX(-2px); }
}

@keyframes arena-hit-flash {
	0% { opacity: 0; background: rgba(255, 65, 52, 0); }
	22% { opacity: 0.78; background: rgba(255, 65, 52, 0.45); }
	100% { opacity: 0; background: rgba(255, 65, 52, 0); }
}

@keyframes arena-critical-hit {
	0%, 100% { transform: translate(0, 0) scale(1); }
	18% { transform: translate(-7px, 1px) scale(1.04); }
	38% { transform: translate(6px, -2px) scale(0.98); }
	58% { transform: translate(-3px, 0) scale(1.02); }
}

@keyframes arena-critical-flash {
	0% { opacity: 0; transform: scale(0.78); }
	25% { opacity: 1; transform: scale(1.08); }
	100% { opacity: 0; transform: scale(1.26); }
}

@keyframes arena-dodge {
	0%, 100% { transform: translateX(0); }
	45% { transform: translateX(9px) skewX(-4deg); filter: brightness(1.15); }
}

@keyframes arena-status-flash {
	0% { opacity: 0; transform: scale(0.72); }
	30% { opacity: 1; transform: scale(1.06); }
	100% { opacity: 0; transform: scale(1.28); }
}

@keyframes arena-parry {
	0%, 100% { transform: translateX(0); filter: none; }
	28% { transform: translateX(-4px) scale(1.03); filter: brightness(1.5); }
	52% { transform: translateX(3px) scale(0.99); }
}

@keyframes arena-restore-pulse {
	0% { opacity: 0; transform: scale(0.72); }
	38% { opacity: 1; transform: scale(1.08); }
	100% { opacity: 0; transform: scale(1.3); }
}

@keyframes arena-floating-text {
	0% { opacity: 0; transform: translate(-50%, 8px) scale(0.72); }
	20% { opacity: 1; transform: translate(-50%, -2px) scale(1.08); }
	100% { opacity: 0; transform: translate(-50%, -42px) scale(1); }
}

@keyframes arena-action-fired {
	0%, 100% { transform: translateY(0); }
	35% { transform: translateY(-3px); border-color: var(--accent-amber-bright); filter: brightness(1.35); }
}

@keyframes arena-energy-alert {
	0%, 100% { filter: brightness(0.92); box-shadow: 0 0 0 rgba(91, 192, 235, 0); }
	50% { filter: brightness(1.6); box-shadow: 0 0 10px rgba(91, 192, 235, 0.82); }
}

@keyframes arena-energy-item {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-2px); }
}

@keyframes arena-low-hp {
	0%, 100% { opacity: 0.12; }
	50% { opacity: 0.58; }
}

@keyframes arena-result-reveal {
	0% { opacity: 0; transform: translateY(14px) scale(0.97); filter: brightness(0.75); }
	55% { opacity: 1; transform: translateY(-2px) scale(1.01); filter: brightness(1.16); }
	100% { opacity: 1; transform: translateY(0) scale(1); filter: none; }
}

@keyframes arena-reward-arrive {
	from { opacity: 0; transform: translateY(9px) scale(0.94); }
	to { opacity: 1; transform: translateY(0) scale(1); }
}

/* ==========================================================================
   Unified Activity Dashboard
   ========================================================================== */
.activity-dashboard {
	display: grid;
	gap: 12px;
}

.activity-command-scene {
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 330px;
	overflow: hidden;
	align-items: flex-end;
	padding: 24px;
	border: 1px solid rgba(154, 188, 126, 0.26);
	border-radius: 8px;
	background:
		linear-gradient(90deg, rgba(2, 6, 4, 0.96) 0%, rgba(3, 8, 5, 0.72) 46%, rgba(2, 5, 3, 0.26) 100%),
		linear-gradient(0deg, rgba(2, 5, 3, 0.9), transparent 58%),
		url('/assets/img/scenes/activity-command-bunker.webp') center 48% / cover no-repeat;
	box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.64), 0 12px 34px rgba(0, 0, 0, 0.34);
}

.activity-command-scene::before {
	position: absolute;
	z-index: -1;
	inset: 0;
	background: radial-gradient(circle at 71% 45%, rgba(112, 184, 135, 0.1), transparent 22%);
	content: '';
	pointer-events: none;
}

.activity-command-scene.has-active-route {
	border-color: rgba(226, 164, 72, 0.42);
	box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.68), 0 0 28px rgba(207, 137, 41, 0.08);
}

.activity-command-scan {
	position: absolute;
	z-index: -1;
	inset: 0;
	opacity: 0.13;
	background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(167, 207, 142, 0.1) 3px 4px);
	pointer-events: none;
}

.activity-command-copy {
	display: grid;
	z-index: 2;
	width: min(520px, 72%);
	gap: 7px;
}

.activity-command-kicker {
	color: #88aa78;
	font: 800 0.55rem/1.3 var(--font-mono);
	letter-spacing: 0.13em;
}

.activity-command-copy h1 {
	margin: 0;
	color: #f0b568;
	font: 900 clamp(1.25rem, 3vw, 2rem)/1.05 var(--font-pda);
	letter-spacing: 0.05em;
	text-shadow: 0 2px 12px #000;
}

.activity-command-copy p {
	max-width: 480px;
	margin: 0;
	color: #c0c9ba;
	font-size: 0.76rem;
	line-height: 1.5;
	text-shadow: 0 1px 7px #000;
}

.activity-command-live {
	display: grid;
	grid-template-columns: 9px auto;
	grid-template-areas: 'signal title' 'signal detail';
	width: fit-content;
	margin-top: 5px;
	padding: 7px 10px;
	border: 1px solid rgba(126, 178, 103, 0.3);
	border-radius: 4px;
	background: rgba(2, 8, 4, 0.82);
	box-shadow: inset 0 0 18px rgba(79, 141, 70, 0.08);
}

.activity-command-live i {
	grid-area: signal;
	align-self: center;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #79ce6e;
	box-shadow: 0 0 9px rgba(121, 206, 110, 0.8);
}

.has-active-route .activity-command-live i {
	background: #e7a044;
	box-shadow: 0 0 9px rgba(231, 160, 68, 0.82);
}

.activity-command-live strong {
	grid-area: title;
	color: #d9e6d1;
	font: 800 0.63rem/1.2 var(--font-mono);
}

.activity-command-live small {
	grid-area: detail;
	color: #768570;
	font: 600 0.52rem/1.2 var(--font-mono);
}

.activity-command-radar {
	position: absolute;
	top: 22px;
	right: 24px;
	width: 92px;
	height: 92px;
	border: 1px solid rgba(114, 181, 99, 0.25);
	border-radius: 50%;
	background: repeating-radial-gradient(circle, transparent 0 16px, rgba(113, 179, 98, 0.18) 17px 18px);
	box-shadow: inset 0 0 28px rgba(77, 142, 71, 0.08);
}

.activity-command-radar::before,
.activity-command-radar::after {
	position: absolute;
	background: rgba(113, 179, 98, 0.2);
	content: '';
}

.activity-command-radar::before { top: 50%; right: 5px; left: 5px; height: 1px; }
.activity-command-radar::after { top: 5px; bottom: 5px; left: 50%; width: 1px; }
.activity-command-radar span:first-child { position: absolute; inset: 8px 45px 45px; transform-origin: 50% 100%; transform: rotate(38deg); background: linear-gradient(180deg, rgba(125, 209, 111, 0.52), transparent); }
.activity-command-radar span:nth-child(2) { position: absolute; top: 29px; left: 62px; width: 4px; height: 4px; border-radius: 50%; background: #9cdf85; box-shadow: 0 0 8px #74b865; }
.activity-command-radar i { position: absolute; top: 52px; left: 24px; width: 3px; height: 3px; border-radius: 50%; background: #d79a49; box-shadow: 0 0 7px #d79a49; }

.activity-command-beacons {
	position: absolute;
	right: 23px;
	bottom: 18px;
	display: flex;
	gap: 5px;
}

.activity-command-beacons i {
	width: 22px;
	height: 3px;
	background: rgba(112, 157, 94, 0.28);
}

.activity-command-beacons i:first-child { background: #9bc17e; }
.has-active-route .activity-command-beacons i:nth-child(2) { background: #dc963e; }

.activity-launch-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.activity-launch {
	--activity-card-scene: url('/assets/img/scenes/pda-command-room.webp');
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 138px;
	overflow: hidden;
	align-items: flex-end;
	gap: 9px;
	padding: 13px;
	border: 1px solid rgba(128, 163, 105, 0.28);
	border-radius: 7px;
	color: var(--text-main);
	text-decoration: none;
	box-shadow: inset 0 0 30px rgba(0, 0, 0, 0.46), 0 7px 20px rgba(0, 0, 0, 0.25);
}

.activity-launch::before,
.activity-launch::after {
	position: absolute;
	z-index: -2;
	inset: 0;
	content: '';
}

.activity-launch::before {
	background: var(--activity-card-scene) center / cover no-repeat;
	filter: saturate(0.78) brightness(0.73);
	transform: scale(1.015);
	transition: filter 180ms ease, transform 240ms ease;
}

.activity-launch::after {
	z-index: -1;
	background: linear-gradient(0deg, rgba(2, 6, 3, 0.98) 0%, rgba(3, 8, 5, 0.7) 57%, rgba(3, 7, 4, 0.16) 100%);
}

.activity-launch--mobs {
	--activity-card-scene: url('/assets/img/scenes/raid-perimeter.webp');
	grid-column: 1 / -1;
	min-height: 176px;
}

.activity-launch--cache { --activity-card-scene: url('/assets/img/scenes/raid-loot-table.webp'); }
.activity-launch--expedition { --activity-card-scene: url('/assets/img/scenes/expedition-departure.webp'); }
.activity-launch--arena { --activity-card-scene: url('/assets/img/scenes/arena-observation-ring.webp'); }
.activity-launch--training { --activity-card-scene: url('/assets/img/scenes/inventory-armory.webp'); }

.activity-launch-signal {
	position: relative;
	display: grid;
	flex: 0 0 42px;
	height: 42px;
	place-items: center;
	border: 1px solid rgba(141, 190, 113, 0.38);
	border-radius: 50%;
	background: rgba(4, 13, 7, 0.86);
	box-shadow: 0 0 0 4px rgba(45, 80, 40, 0.15), inset 0 0 13px rgba(81, 159, 76, 0.15);
}

.activity-launch-signal b { font-size: 1.25rem; line-height: 1; }
.activity-launch-signal i { position: absolute; right: 1px; bottom: 2px; width: 7px; height: 7px; border-radius: 50%; background: #79c86c; box-shadow: 0 0 8px #79c86c; }

.activity-launch-copy {
	display: grid;
	min-width: 0;
	gap: 2px;
	padding-right: 6px;
}

.activity-launch-copy > small {
	color: #82a473;
	font: 800 0.48rem/1.2 var(--font-mono);
	letter-spacing: 0.1em;
}

.activity-launch-copy > strong {
	color: #e7f0e2;
	font: 900 0.91rem/1.2 var(--font-pda);
	text-shadow: 0 2px 8px #000;
}

.activity-launch-copy > span {
	display: -webkit-box;
	overflow: hidden;
	color: #abb7a6;
	font-size: 0.66rem;
	line-height: 1.35;
	text-shadow: 0 1px 5px #000;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.activity-launch-enter {
	position: absolute;
	top: 9px;
	right: 10px;
	padding: 4px 6px;
	border: 1px solid rgba(132, 178, 107, 0.22);
	border-radius: 3px;
	color: #a9c49a;
	background: rgba(2, 8, 4, 0.73);
	font: 800 0.47rem/1.1 var(--font-mono);
	letter-spacing: 0.05em;
}

.activity-launch:hover,
.activity-launch:focus-visible {
	border-color: var(--accent-green-bright);
	color: #fff;
}

.activity-launch:hover::before,
.activity-launch:focus-visible::before { filter: saturate(0.95) brightness(0.9); transform: scale(1.045); }
.activity-launch.is-locked::before { filter: grayscale(0.72) brightness(0.42); }
.activity-launch.is-locked .activity-launch-signal i { background: #7c7770; box-shadow: none; }
.activity-launch.is-locked .activity-launch-enter { color: #9c8e82; border-color: rgba(152, 128, 104, 0.25); }

.activity-state-list {
	display: grid;
	gap: 10px;
}

.activity-state-card {
	--activity-state-scene: url('/assets/img/scenes/pda-command-room.webp');
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr) minmax(130px, auto);
	gap: 10px;
	align-items: center;
	padding: 12px;
	border: 1px solid #3c4936;
	border-left: 3px solid var(--accent-amber-bright);
	border-radius: 5px;
	background:
		linear-gradient(90deg, rgba(7, 14, 8, 0.98), rgba(7, 13, 8, 0.83)),
		var(--activity-state-scene) center / cover no-repeat;
	box-shadow: inset 0 0 24px rgba(0, 0, 0, 0.46);
}

.activity-state-card.arena { --activity-state-scene: url('/assets/img/scenes/arena-combat-hall.webp'); border-left-color: #ff7675; }
.activity-state-card.mob { --activity-state-scene: url('/assets/img/scenes/raid-combat-yard.webp'); border-left-color: #ff7675; }
.activity-state-card.cache { --activity-state-scene: url('/assets/img/scenes/raid-loot-table.webp'); }
.activity-state-card.expedition { --activity-state-scene: url('/assets/img/scenes/expedition-departure.webp'); }
.activity-state-card.training { --activity-state-scene: url('/assets/img/scenes/inventory-armory.webp'); border-left-color: #5dade2; }

.activity-state-icon {
	font-size: 1.8rem;
	text-align: center;
}

.activity-state-main {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.activity-state-main strong {
	color: var(--accent-green-bright);
	font-size: 1rem;
}

.activity-subject {
	color: #f4f4e8;
}

.activity-status {
	font-family: var(--font-mono);
	font-size: 0.78rem;
}

.activity-status.ready {
	color: #55efc4;
}

.activity-status.running {
	color: var(--accent-amber-bright);
}

.activity-status.invalid,
.activity-cancel-warning {
	color: #ff7675;
}

.activity-state-actions {
	display: flex;
	flex-direction: column;
	gap: 5px;
	text-align: center;
}

.activity-state-actions form {
	margin: 0;
}

.activity-state-actions .btn {
	box-sizing: border-box;
	width: 100%;
}

.activity-cancel-warning {
	display: block;
	max-width: 190px;
	font-size: 0.7rem;
	line-height: 1.25;
}

@media (max-width: 760px) {
	.activity-command-scene { min-height: 310px; padding: 17px; background-position: 54% center; }
	.activity-command-copy { width: min(100%, 470px); }
	.activity-command-radar { top: 15px; right: 15px; width: 72px; height: 72px; }
	.activity-command-beacons { right: 15px; bottom: 13px; }
	.activity-launch { min-height: 128px; padding: 11px; }
	.activity-launch--mobs { min-height: 154px; }
}

/* ==========================================================================
   Combat Telemetry Log (.combat-log-container)
   ========================================================================== */
.combat-log-container {
	background: #060806 !important;
	border: 1px solid #242d20 !important;
	border-radius: 4px !important;
	padding: 10px 12px !important;
	font-family: var(--font-mono) !important;
	font-size: 0.85rem !important;
	line-height: 1.6 !important;
	max-height: 220px;
	overflow-y: auto;
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.9) !important;
}

.combat-log-entry {
	border-bottom: 1px solid rgba(36, 45, 32, 0.6);
	padding: 3px 0;
}
.combat-log-entry:last-child {
	border-bottom: none;
}

/* ==========================================================================
   Tactical Military Weapon Card (StatTrak & Segmented Specs)
   ========================================================================== */
.tactical-item-card {
	background: linear-gradient(180deg, #1b2319 0%, #10160f 100%) !important;
	border: 1px solid #364230 !important;
	border-radius: 6px !important;
	padding: 14px !important;
	margin-bottom: 14px !important;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.8), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
	position: relative;
}

.tactical-card-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 8px;
}

.tactical-title {
	font-family: var(--font-pda);
	font-size: 1.15rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #ffffff;
}

.rarity-unique { color: #f39c12 !important; text-shadow: 0 0 10px rgba(243, 156, 18, 0.5); }
.rarity-epic { color: #9b59b6 !important; text-shadow: 0 0 10px rgba(155, 89, 182, 0.5); }
.rarity-rare { color: #3498db !important; }
.rarity-uncommon { color: #63cdda !important; }
.rarity-common { color: #78e08f !important; }

.card-top-info {
	display: flex;
	justify-content: space-between;
	font-family: var(--font-mono);
	font-size: 0.85rem;
	color: var(--text-muted);
	margin-bottom: 10px;
}

/* StatTrak LED Counter */
.stattrak-container {
	text-align: center;
	margin: 10px 0 14px 0;
}

.stattrak-display {
	background: #040504;
	border: 2px solid #283223;
	border-radius: 4px;
	padding: 4px 14px;
	display: inline-block;
	font-family: var(--font-mono);
	color: #ff3838;
	font-size: 1.3rem;
	font-weight: 700;
	letter-spacing: 3px;
	box-shadow: inset 0 0 10px rgba(255, 0, 0, 0.5), 0 2px 8px rgba(0, 0, 0, 0.9);
	position: relative;
}

.stattrak-label {
	display: block;
	font-size: 0.65rem;
	letter-spacing: 1px;
	color: #888;
	text-transform: uppercase;
	margin-top: 2px;
}

/* Segmented Progress Stat Bars */
.stat-bar-row {
	margin-bottom: 8px;
}

.stat-bar-label {
	display: flex;
	justify-content: space-between;
	font-family: var(--font-pda);
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--text-main);
	margin-bottom: 3px;
}

.stat-segments-container {
	display: flex;
	gap: 4px;
	height: 8px;
}

.stat-segment {
	flex: 1;
	background: #121811;
	border: 1px solid #283223;
	border-radius: 2px;
}

.stat-segment.filled {
	background: linear-gradient(90deg, #d35400 0%, #f39c12 100%);
	border-color: #ff9f43;
	box-shadow: 0 0 6px rgba(243, 156, 18, 0.4);
}

/* Detailed Spec List Rows */
.spec-list-row {
	display: flex;
	justify-content: space-between;
	padding: 4px 0;
	border-bottom: 1px dashed rgba(40, 50, 35, 0.7);
	font-family: var(--font-pda);
	font-size: 0.85rem;
}

.spec-list-row:last-child {
	border-bottom: none;
}

.spec-list-label {
	color: var(--text-main);
}

.spec-list-val {
	font-family: var(--font-mono);
	font-weight: 700;
	color: var(--accent-amber-bright);
}

/* 3-Column Bottom Specifications Grid */
.specs-grid-3col {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 6px;
	background: rgba(10, 14, 9, 0.95);
	border: 1px solid #283223;
	border-radius: 4px;
	padding: 8px;
	margin-top: 12px;
	text-align: center;
}

.spec-grid-item {
	font-family: var(--font-pda);
}

.spec-grid-label {
	font-size: 0.72rem;
	color: var(--text-muted);
	text-transform: uppercase;
	margin-bottom: 2px;
}

.spec-grid-value {
	font-family: var(--font-mono);
	font-size: 0.9rem;
	font-weight: 700;
	color: #ffffff;
}

/* ==========================================================================
   Stalker Inventory Equipment Matrix (Doll Grid & Artifact Container)
   ========================================================================== */
.stalker-profile-card {
	background: linear-gradient(180deg, #0e1514 0%, #060b0a 100%);
	border: 1px solid #23362a;
	border-radius: 6px;
	padding: 12px;
	margin-bottom: 14px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.8);
	position: relative;
}

.stalker-profile-top {
	display: flex;
	align-items: center;
	gap: 12px;
}

.stalker-avatar-box {
	position: relative;
	width: 64px;
	height: 64px;
	border: 2px solid var(--accent-green-bright);
	border-radius: 4px;
	box-shadow: 0 0 10px var(--accent-green-glow);
	overflow: hidden;
}

.stalker-avatar-box img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.stalker-user-details {
	flex: 1;
	font-family: var(--font-pda);
}

.stalker-user-login {
	font-size: 1.05rem;
	font-weight: 700;
	color: #ffffff;
}

.stalker-user-rank {
	font-size: 0.85rem;
	color: var(--accent-amber-bright);
	margin-top: 2px;
}

.stalker-xp-bar-wrap {
	background: rgba(0, 0, 0, 0.8);
	border: 1px solid #1e2b21;
	border-radius: 4px;
	height: 22px;
	margin-top: 10px;
	position: relative;
	overflow: hidden;
}

.stalker-xp-bar-fill {
	background: linear-gradient(90deg, #16a085 0%, #1abc9c 100%);
	height: 100%;
	box-shadow: 0 0 8px rgba(26, 188, 156, 0.5);
}

.stalker-xp-bar-text {
	position: absolute;
	top: 0; left: 0; right: 0; bottom: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-mono);
	font-size: 0.78rem;
	color: #ffffff;
	font-weight: 700;
	text-shadow: 0 1px 3px rgba(0,0,0,0.9);
}

/* Equipment Doll Matrix Grid */
.equipment-doll-matrix {
	display: grid;
	grid-template-columns: 100px 1fr 100px;
	gap: 10px;
	background: #080c07;
	border: 1px solid #202d1d;
	border-radius: 6px;
	padding: 10px;
	margin-bottom: 14px;
}

.doll-column {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.doll-slot {
	background: #0d140b;
	border: 1px solid #283724;
	border-radius: 4px;
	height: 64px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.8);
	transition: all 0.2s ease;
}

.doll-slot.occupied {
	border-color: var(--accent-green-bright);
	box-shadow: inset 0 0 12px rgba(120, 224, 143, 0.2);
}

.doll-slot-large {
	height: 208px;
}

.doll-slot-gear-icon {
	max-width: 90%;
	max-height: 90%;
	object-fit: contain;
}

.doll-slot-label {
	position: absolute;
	bottom: 2px; right: 4px;
	font-family: var(--font-mono);
	font-size: 0.62rem;
	color: rgba(255, 255, 255, 0.4);
	text-transform: uppercase;
}

/* 7 Artifacts Row Grid */
.artifact-row-7 {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 6px;
	background: #080c07;
	border: 1px solid #202d1d;
	border-radius: 6px;
	padding: 8px;
	margin-bottom: 14px;
}

.artifact-slot {
	background: #0a1009;
	border: 1px dashed #202e1c;
	border-radius: 4px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}

.artifact-slot.active {
	border: 1px solid #1abc9c;
	background: rgba(26, 188, 156, 0.1);
	box-shadow: 0 0 8px rgba(26, 188, 156, 0.3);
}

.artifact-slot img {
	width: 32px;
	height: 32px;
	filter: drop-shadow(0 0 6px rgba(120, 224, 143, 0.6));
}

/* 4-Column Ammo & Battery Grid */
.ammo-grid-4col {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 10px;
}

.ammo-card-tile {
	background: #0d120d;
	border: 1px solid #202b1f;
	border-radius: 4px;
	padding: 10px 4px;
	text-align: center;
	transition: all 0.2s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.ammo-card-tile:hover {
	border-color: var(--accent-green-bright);
	box-shadow: 0 0 10px rgba(120, 224, 143, 0.25);
	text-decoration: none;
}

.ammo-card-img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	margin-bottom: 6px;
	filter: drop-shadow(0 2px 4px rgba(0,0,0,0.8));
}

.ammo-card-title {
	font-family: var(--font-pda);
	font-size: 0.78rem;
	color: #e0e0e0;
	line-height: 1.2;
	word-break: break-word;
}

/* Daily Operations / PDA briefing */
.ops-board {
	--ops-line: rgba(146, 198, 108, 0.18);
	position: relative;
	margin: 0 0 16px;
	color: #dce8d5;
}

.ops-board::before {
	content: "";
	pointer-events: none;
	position: absolute;
	inset: 0;
	z-index: 2;
	opacity: 0.16;
	background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(190, 255, 170, 0.07) 3px 4px);
	mix-blend-mode: screen;
}

.ops-board > * {
	position: relative;
	z-index: 3;
}

.ops-briefing {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 132px;
	gap: 18px;
	align-items: center;
	padding: 22px;
	margin-bottom: 12px;
	overflow: hidden;
	border: 1px solid rgba(137, 190, 96, 0.42);
	border-radius: 8px;
	background:
		linear-gradient(115deg, rgba(31, 50, 28, 0.98), rgba(10, 17, 11, 0.96) 62%),
		radial-gradient(circle at 80% 20%, rgba(131, 192, 76, 0.22), transparent 42%);
	box-shadow: inset 0 0 32px rgba(3, 8, 3, 0.72), 0 8px 24px rgba(0, 0, 0, 0.28);
}

.ops-briefing::after {
	content: "07";
	position: absolute;
	right: 154px;
	top: -25px;
	font-family: var(--font-mono);
	font-size: 8rem;
	font-weight: 800;
	line-height: 1;
	color: rgba(179, 228, 141, 0.035);
}

.ops-kicker,
.ops-priority-label,
.ops-slot,
.ops-progress-meta,
.ops-contract-state,
.ops-reset {
	font-family: var(--font-mono);
	letter-spacing: 0.08em;
}

.ops-kicker {
	display: block;
	margin-bottom: 5px;
	font-size: 0.68rem;
	color: #9db98c;
}

.ops-briefing h1 {
	margin: 0 0 7px;
	font-family: var(--font-pda);
	font-size: clamp(1.55rem, 6vw, 2.25rem);
	line-height: 1;
	letter-spacing: 0.06em;
	color: #e9f4df;
	text-shadow: 0 0 16px rgba(151, 215, 108, 0.22);
}

.ops-briefing p {
	max-width: 620px;
	margin: 0;
	color: #aebba7;
	font-size: 0.9rem;
	line-height: 1.45;
}

.ops-reset {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	margin-top: 13px;
	font-size: 0.7rem;
	color: #d6b768;
}

.ops-live-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #efb84c;
	box-shadow: 0 0 8px #efb84c;
	animation: ops-pulse 1.8s ease-in-out infinite;
}

@keyframes ops-pulse {
	50% { opacity: 0.4; transform: scale(0.75); }
}

.ops-overall {
	width: 118px;
	height: 118px;
	padding: 7px;
	border-radius: 50%;
	background: conic-gradient(#9bd668 var(--ops-progress), rgba(125, 158, 105, 0.13) 0);
	box-shadow: 0 0 24px rgba(130, 205, 79, 0.16);
}

.ops-overall-inner {
	display: flex;
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(162, 215, 123, 0.28);
	border-radius: 50%;
	background: #0b110b;
}

.ops-overall strong {
	font-family: var(--font-mono);
	font-size: 1.65rem;
	line-height: 1;
	color: #dff7cf;
}

.ops-overall span {
	margin-top: 5px;
	font-size: 0.64rem;
	color: #87967f;
}

.ops-ready-banner {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 11px 14px;
	margin-bottom: 12px;
	border: 1px solid rgba(246, 193, 73, 0.48);
	border-radius: 6px;
	background: linear-gradient(90deg, rgba(118, 78, 12, 0.35), rgba(32, 27, 16, 0.72));
	color: #ffe3a0;
}

.ops-ready-banner > span {
	font-size: 1.6rem;
	filter: drop-shadow(0 0 7px rgba(255, 197, 68, 0.55));
}

.ops-ready-banner strong,
.ops-ready-banner small {
	display: block;
}

.ops-ready-banner small {
	margin-top: 2px;
	color: #c8b98e;
}

.ops-contract-list {
	display: grid;
	gap: 10px;
}

.ops-contract {
	--operation-accent: #85b96c;
	display: grid;
	grid-template-columns: 68px minmax(0, 1fr);
	overflow: hidden;
	border: 1px solid rgba(109, 139, 94, 0.34);
	border-left: 3px solid var(--operation-accent);
	border-radius: 7px;
	background: linear-gradient(105deg, rgba(18, 27, 17, 0.98), rgba(8, 12, 9, 0.96));
	box-shadow: 0 5px 18px rgba(0, 0, 0, 0.24);
}

.ops-contract.is-priority {
	border-top-color: rgba(221, 183, 83, 0.48);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.32), inset 0 1px rgba(255, 220, 130, 0.05);
}

.ops-tone-red { --operation-accent: #e06455; }
.ops-tone-acid { --operation-accent: #a9d64f; }
.ops-tone-amber { --operation-accent: #e6ad45; }
.ops-tone-blue { --operation-accent: #62aeca; }
.ops-tone-green { --operation-accent: #72c58b; }

.ops-contract-rail {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	padding: 14px 8px 10px;
	border-right: 1px solid rgba(135, 165, 116, 0.14);
	background: rgba(126, 164, 103, 0.08);
	background: linear-gradient(180deg, color-mix(in srgb, var(--operation-accent) 13%, transparent), transparent);
}

.ops-contract-icon {
	font-size: 1.8rem;
	line-height: 1;
	filter: drop-shadow(0 0 8px rgba(143, 194, 109, 0.25));
	filter: drop-shadow(0 0 8px color-mix(in srgb, var(--operation-accent) 48%, transparent));
}

.ops-slot {
	font-size: 0.65rem;
	color: #aabda0;
	color: color-mix(in srgb, var(--operation-accent) 75%, #bec8b8);
}

.ops-contract-body {
	min-width: 0;
	padding: 14px 15px;
}

.ops-contract-heading {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 10px;
}

.ops-priority-label {
	display: block;
	margin-bottom: 2px;
	font-size: 0.6rem;
	color: #aabda0;
	color: color-mix(in srgb, var(--operation-accent) 78%, #aeb9a8);
}

.ops-contract h2 {
	margin: 0;
	font-family: var(--font-pda);
	font-size: 1.15rem;
	line-height: 1.2;
	color: #e6eee1;
}

.ops-contract-state {
	flex: 0 0 auto;
	padding: 3px 6px;
	border: 1px solid rgba(141, 174, 121, 0.3);
	border-radius: 3px;
	font-size: 0.58rem;
	color: #93a68b;
}

.ops-contract.is-ready .ops-contract-state {
	border-color: rgba(243, 191, 73, 0.62);
	background: rgba(143, 93, 12, 0.2);
	color: #ffd477;
}

.ops-contract.is-claimed {
	opacity: 0.72;
	filter: saturate(0.55);
}

.ops-contract-brief {
	margin: 7px 0 11px;
	color: #9faa99;
	font-size: 0.84rem;
	line-height: 1.4;
}

.ops-progress-meta {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 5px;
	font-size: 0.66rem;
	color: #798875;
}

.ops-progress-meta strong {
	color: #c9d6c2;
}

.ops-progress-track {
	height: 7px;
	overflow: hidden;
	border: 1px solid rgba(118, 148, 101, 0.25);
	border-radius: 8px;
	background: #080c08;
	box-shadow: inset 0 1px 4px rgba(0, 0, 0, 0.75);
}

.ops-progress-track span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--operation-accent);
	background: linear-gradient(90deg, color-mix(in srgb, var(--operation-accent) 68%, #25321f), var(--operation-accent));
	box-shadow: 0 0 10px rgba(140, 195, 103, 0.2);
	box-shadow: 0 0 10px color-mix(in srgb, var(--operation-accent) 40%, transparent);
	transition: width 0.35s ease;
}

.ops-contract-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
}

.ops-rewards {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.ops-rewards > span {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	min-height: 22px;
	padding: 2px 7px;
	border: 1px solid rgba(130, 157, 114, 0.23);
	border-radius: 12px;
	background: rgba(112, 135, 100, 0.08);
	font-family: var(--font-mono);
	font-size: 0.68rem;
	color: #c2cdbd;
}

.ops-rewards img {
	width: 13px;
	height: 13px;
	object-fit: contain;
}

.ops-rewards .ops-exp-reward {
	color: #9fd7e8;
}

.ops-contract-action {
	flex: 0 0 auto;
}

.ops-contract-action form {
	margin: 0;
}

.ops-go,
.ops-claim {
	box-sizing: border-box;
	min-height: 36px;
	font-family: var(--font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.04em;
}

.ops-go {
	border-color: rgba(126, 161, 106, 0.38) !important;
	background: rgba(92, 120, 77, 0.12) !important;
	color: #cce0c0 !important;
}

.ops-complete-stamp {
	display: inline-block;
	padding: 6px 8px;
	transform: rotate(-1deg);
	border: 1px solid rgba(121, 190, 128, 0.46);
	font-family: var(--font-mono);
	font-size: 0.65rem;
	color: #87c98d;
}

.ops-board-footer {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 10px 3px;
	font-size: 0.72rem;
	color: #73806f;
}

.ops-board-footer a {
	color: #a9c598;
}

.operations-ready-link {
	border-color: rgba(244, 184, 63, 0.5) !important;
	color: #ffd879 !important;
}

@media (max-width: 430px) {
	.ops-briefing {
		grid-template-columns: minmax(0, 1fr) 82px;
		gap: 10px;
		padding: 16px 13px;
	}

	.ops-briefing::after {
		display: none;
	}

	.ops-briefing p {
		font-size: 0.8rem;
	}

	.ops-overall {
		width: 74px;
		height: 74px;
		padding: 5px;
	}

	.ops-overall strong {
		font-size: 1.15rem;
	}

	.ops-overall span {
		font-size: 0.53rem;
	}

	.ops-contract {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.ops-contract-rail {
		padding: 12px 4px 9px;
	}

	.ops-contract-icon {
		font-size: 1.35rem;
	}

	.ops-contract-body {
		padding: 12px 10px;
	}

	.ops-contract-heading {
		align-items: center;
	}

	.ops-contract h2 {
		font-size: 1rem;
	}

	.ops-contract-state {
		font-size: 0.5rem;
	}

	.ops-contract-footer,
	.ops-board-footer {
		align-items: stretch;
		flex-direction: column;
	}

	.ops-contract-action .btn,
	.ops-contract-action form,
	.ops-complete-stamp {
		display: block;
		width: 100%;
		text-align: center;
	}

	.activity-launch-grid {
		grid-template-columns: 1fr;
	}

	.activity-command-scene {
		min-height: 295px;
		padding: 14px;
		background-position: 58% center;
	}

	.activity-command-kicker {
		max-width: calc(100% - 66px);
		font-size: 0.46rem;
	}

	.activity-command-copy h1 {
		font-size: 1.08rem;
	}

	.activity-command-copy p {
		font-size: 0.66rem;
	}

	.activity-command-radar {
		top: 11px;
		right: 11px;
		width: 58px;
		height: 58px;
	}

	.activity-command-radar span:first-child,
	.activity-command-radar span:nth-child(2),
	.activity-command-radar i {
		display: none;
	}

	.activity-command-beacons {
		display: none;
	}

	.activity-launch--mobs {
		grid-column: auto;
		min-height: 132px;
	}

	.activity-launch-enter {
		font-size: 0.42rem;
	}

	.activity-state-card {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.activity-state-actions {
		grid-column: 1 / -1;
	}

	.activity-cancel-warning {
		max-width: none;
	}

	.combat-avatar {
		width: 72px;
	}

	.combat-actions {
		grid-template-columns: 1fr;
	}

	.arena-matchmaking-head {
		align-items: stretch;
		flex-direction: column;
	}

	.arena-matchmaking-head .btn {
		width: 100%;
	}

	.arena-matchmaking-grid {
		grid-template-columns: 1fr;
	}

	.arena-opponent-card {
		display: grid;
		grid-template-columns: 92px minmax(0, 1fr);
		column-gap: 8px;
		text-align: left;
	}

	.arena-opponent-top,
	.arena-opponent-card h4,
	.arena-opponent-stats,
	.arena-opponent-forecast,
	.arena-opponent-reward,
	.arena-opponent-card form,
	.arena-opponent-blocked {
		grid-column: 2;
	}

	.arena-opponent-avatar {
		grid-column: 1;
		grid-row: 1 / span 6;
		align-self: start;
	}

	.arena-opponent-card h4 { margin-top: 4px; }
	.arena-opponent-reward { min-height: 0; }

	.clan-member-actions,
	.clan-member-actions form,
	.clan-member-actions .btn {
		width: 100%;
	}

	.arena-consumables {
		grid-template-columns: 1fr;
	}

	.mob-combat-duel {
		grid-template-columns: minmax(78px, 1fr) 30px minmax(92px, 1fr);
		gap: 5px;
	}

	.mob-raid-card-body {
		grid-template-columns: 82px minmax(0, 1fr);
		gap: 9px;
	}

	.mob-raid-visual {
		min-height: 88px;
	}

	.mob-raid-visual img {
		width: 82px;
		height: 82px;
	}

	.mob-raid-meta span {
		font-size: 0.63rem;
	}

	.mob-intel summary {
		grid-template-columns: 20px minmax(0, 1fr) 16px;
		font-size: 0.68rem;
	}

	.mob-target-image {
		height: 86px;
	}

	.arena-result-rewards.mob-result-rewards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.combat-telemetry-grid {
		grid-template-columns: 1fr;
	}

	.combat-action {
		display: grid;
		grid-template-columns: 58px 1fr;
		grid-template-rows: auto;
		align-items: center;
		min-height: 0;
		text-align: left;
	}

	.combat-action-visual {
		grid-row: 1 / span 5;
	}

	.combat-action small {
		min-height: 0;
	}

	.container, .body, div.body {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	.pda-header {
		padding-left: 8px;
		padding-right: 8px;
	}

	.pda-logo {
		font-size: 0.9rem;
		letter-spacing: 0.6px;
	}

	.pda-header-right {
		gap: 5px;
	}

	.pda-nav-item {
		padding: 5px 2px;
		font-size: clamp(0.62rem, 2.8vw, 0.72rem);
	}

	.equipment-doll-matrix {
		grid-template-columns: minmax(72px, 88px) minmax(64px, 1fr) minmax(72px, 88px);
		gap: 6px;
		padding: 6px;
	}

	.artifact-row-7 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.specs-grid-3col {
		grid-template-columns: 1fr;
		text-align: left;
	}
}

@media (max-width: 360px) {
	.pda-signal {
		display: none;
	}

	.ammo-grid-4col {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.btn {
		padding-left: 10px !important;
		padding-right: 10px !important;
	}
}

@media (hover: none) {
	.link:hover,
	.btn-stalker-cta:hover {
		transform: none !important;
	}
}

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

	body::before {
		opacity: 0.25;
	}
}



.smiley-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  min-height: 32px;
  margin: 1px;
  padding: 2px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  cursor: pointer;
}

.smiley-button:hover,
.smiley-button:focus-visible {
  border-color: var(--accent);
  background: rgba(109, 156, 0, 0.12);
}
/* Character and inventory foundation 1.13 */
.inventory-character-sheet h4 {
	margin: 0 0 10px;
	color: var(--accent-green-bright);
	font-family: var(--font-pda);
}

.inventory-stat-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
}

.inventory-stat-grid > div {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2px 10px;
	padding: 9px 10px;
	border: 1px solid #2b3b29;
	border-radius: 5px;
	background: rgba(5, 12, 6, .72);
}

.inventory-stat-grid span,
.inventory-stat-grid small {
	color: var(--text-muted);
}

.inventory-stat-grid b {
	color: #fff;
	font-size: 1.1rem;
}

.inventory-stat-grid small {
	grid-column: 1 / -1;
	font-size: .72rem;
}

.inventory-comparison {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin: 0 0 8px;
}

.inventory-comparison span {
	padding: 2px 6px;
	border-radius: 4px;
	font-size: .74rem;
	background: rgba(255, 255, 255, .05);
}

.inventory-comparison .is-positive { color: #63df85; }
.inventory-comparison .is-negative { color: #ff7770; }

@media (max-width: 430px) {
	.inventory-stat-grid { grid-template-columns: 1fr; }
}
/* 1.14 ammunition and reload controls */
.combat-action-ammo {
	display: block;
	margin-top: 5px;
	color: #f3c969;
	font-size: .78rem;
	font-weight: 700;
}

.arena-reload-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	margin: 10px 0 14px;
}

.arena-reload-actions form,
.arena-reload-actions button {
	width: 100%;
	box-sizing: border-box;
}

.ammo-compatible-note {
	margin: 10px 0;
	padding: 9px 11px;
	border: 1px solid rgba(243, 201, 105, .35);
	background: rgba(243, 201, 105, .08);
	color: #d8d2c2;
	border-radius: 5px;
}

@media (max-width: 430px) {
	.arena-reload-actions { grid-template-columns: 1fr; }
}

/* 1.15 equipment condition and repair */
.inventory-ajax-status {
	min-height: 20px;
	margin: 0 0 8px;
	font-size: .85rem;
	color: var(--text-muted);
}
.inventory-status-pending { color: #f1c40f; }
.inventory-status-success { color: #78e08f; }
.inventory-status-error { color: #ff7675; }

.durability-panel {
	margin: 7px 0 9px;
	padding: 7px 9px;
	border: 1px solid #334230;
	background: rgba(0, 0, 0, .22);
	border-radius: 5px;
}
.durability-head {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	font-size: .78rem;
}
.durability-track {
	height: 6px;
	margin: 5px 0;
	background: #171d16;
	border: 1px solid #2b3528;
	overflow: hidden;
}
.durability-track span {
	display: block;
	height: 100%;
	background: #78e08f;
	transition: width .28s ease;
}
.durability-stable .durability-track span { background: #b8c96b; }
.durability-warning .durability-track span { background: #f39c12; }
.durability-danger .durability-track span,
.durability-broken .durability-track span { background: #e74c3c; }
.durability-warning { border-color: rgba(243, 156, 18, .55); }
.durability-danger,
.durability-broken { border-color: rgba(231, 76, 60, .65); }
.inventory-repair-form .btn { width: 100%; }

.inventory-capacity {
	margin: 0 0 12px;
	padding: 10px 12px;
	background: rgba(10, 15, 10, .92);
	border: 1px solid #354332;
	border-left: 4px solid #7aa35f;
	border-radius: 5px;
}
.inventory-capacity-head {
	display: flex;
	justify-content: space-between;
	gap: 8px;
	font-family: var(--font-pda);
}
.inventory-capacity-track {
	height: 8px;
	margin: 7px 0;
	background: #171d16;
	border: 1px solid #303b2d;
	overflow: hidden;
}
.inventory-capacity-track span {
	display: block;
	height: 100%;
	background: #7aa35f;
	transition: width .25s ease;
}
.capacity-stable { border-left-color: #d5bd65; }
.capacity-stable .inventory-capacity-track span { background: #d5bd65; }
.capacity-warning { border-left-color: #f39c12; }
.capacity-warning .inventory-capacity-track span { background: #f39c12; }
.capacity-danger { border-left-color: #e74c3c; }
.capacity-danger .inventory-capacity-track span { background: #e74c3c; }
.inventory-capacity-warning { margin-top: 6px; color: #ffb15c; font-size: .78rem; }
.inventory-stack-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 7px;
	margin-top: 8px;
}
.inventory-stack-actions form {
	display: grid;
	grid-template-columns: minmax(54px, .45fr) minmax(0, 1fr);
	gap: 5px;
	margin: 0;
}
.inventory-stack-actions input[type="number"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 44px;
	margin: 0;
	text-align: center;
}
.inventory-stack-actions .btn { box-sizing: border-box; width: 100%; margin: 0; }
.arena-load-state {
	grid-column: 1 / -1;
	padding: 7px 9px;
	background: rgba(11, 16, 11, .9);
	border: 1px solid #394735;
	border-left: 3px solid #7aa35f;
	font-size: .78rem;
	color: #b9c5b4;
}
.arena-load-state.capacity-warning { border-left-color: #f39c12; color: #ffc36f; }
.arena-load-state.capacity-danger { border-left-color: #e74c3c; color: #ff9289; }
.pda-weight-warning { color: #ffc36f !important; }
.pda-weight-danger { color: #ff9289 !important; }
.communication-page { position: relative; }
.communication-status {
	box-sizing: border-box;
	margin: 0 0 8px;
	padding: 8px 10px;
	border: 1px solid #3c4a39;
	border-left: 3px solid #7aa35f;
	background: rgba(12, 18, 12, .94);
	color: #c8d2c3;
	font-size: .82rem;
}
.communication-status:empty { display: none; }
.communication-status-loading { border-left-color: #4ba3d3; color: #9ddcff; }
.communication-status-success { border-left-color: #79b85a; color: #b9ed9f; }
.communication-status-error { border-left-color: #e55b4f; color: #ffaaa3; }
.communication-form-busy { opacity: .68; }
.communication-hint {
	display: block;
	margin-top: 6px;
	color: #91a08d;
	font-size: .75rem;
}
.communication-counters {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 5px 0;
}
.communication-counters [hidden] { display: none !important; }
.communication-counter-new { animation: communication-counter-pulse .7s ease-out; }
@keyframes communication-counter-pulse {
	0% { transform: scale(1); box-shadow: 0 0 0 rgba(255, 190, 70, 0); }
	45% { transform: scale(1.06); box-shadow: 0 0 14px rgba(255, 190, 70, .65); }
	100% { transform: scale(1); box-shadow: 0 0 0 rgba(255, 190, 70, 0); }
}

/* Shared PDA communication center — 1.20.6 */
.communication-page {
	--communication-line: #33422f;
	--communication-panel: rgba(11, 16, 11, .95);
	--communication-muted: #91a08b;
}
.communication-hero {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr);
	align-items: center;
	gap: 12px;
	margin: 0 0 8px;
	padding: 14px;
	position: relative;
	overflow: hidden;
	border: 1px solid #384634;
	border-left: 4px solid var(--accent-green);
	border-radius: 5px;
	background:
		linear-gradient(90deg, rgba(120, 224, 143, .075), transparent 62%),
		repeating-linear-gradient(0deg, rgba(255, 255, 255, .015) 0, rgba(255, 255, 255, .015) 1px, transparent 1px, transparent 4px),
		#0a0f09;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .035);
}
.communication-hero--mail { border-left-color: #4ba3d3; }
.communication-hero--journal { border-left-color: #d89a42; }
.communication-hero--clan { border-left-color: #9b8f62; }
.communication-hero--admin { border-left-color: #d2574d; }
.communication-hero-signal {
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	position: relative;
	border: 1px solid rgba(120, 224, 143, .35);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(120, 224, 143, .13), rgba(5, 9, 5, .9) 68%);
}
.communication-hero-signal::before,
.communication-hero-signal::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 25px;
	height: 25px;
	transform: translate(-50%, -50%);
	border: 1px solid rgba(120, 224, 143, .22);
	border-radius: 50%;
}
.communication-hero-signal::after { width: 38px; height: 38px; opacity: .62; }
.communication-hero-signal span {
	width: 7px;
	height: 7px;
	position: relative;
	z-index: 1;
	border-radius: 50%;
	background: var(--accent-green);
	box-shadow: 0 0 10px var(--accent-green);
}
.communication-hero--mail .communication-hero-signal span { background: #4ba3d3; box-shadow: 0 0 10px #4ba3d3; }
.communication-hero--journal .communication-hero-signal span { background: #d89a42; box-shadow: 0 0 10px #d89a42; }
.communication-hero--admin .communication-hero-signal span { background: #d2574d; box-shadow: 0 0 10px #d2574d; }
.communication-hero-copy { min-width: 0; }
.communication-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: #d29a58;
	font: 700 .61rem/1.2 var(--font-mono);
	letter-spacing: 1px;
	text-transform: uppercase;
}
.communication-hero h1 {
	margin: 0;
	color: #f0f3ec !important;
	font-size: 1.18rem;
	letter-spacing: .85px !important;
}
.communication-hero p { margin: 4px 0 0; color: var(--communication-muted); font-size: .75rem; }
.communication-channel-tabs {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 4px;
	margin: 0 0 11px;
	padding: 4px;
	border: 1px solid #2c3829;
	border-radius: 5px;
	background: rgba(4, 8, 4, .72);
}
.communication-channel-tabs a {
	min-width: 0;
	padding: 8px 4px;
	border: 1px solid transparent;
	border-radius: 3px;
	color: #899783 !important;
	font: 700 .66rem/1.2 var(--font-pda);
	letter-spacing: .35px;
	text-align: center;
	text-transform: uppercase;
}
.communication-channel-tabs a:hover { border-color: #354331; background: rgba(120, 224, 143, .04); }
.communication-channel-tabs a[aria-current="page"] {
	border-color: #526448;
	background: linear-gradient(180deg, #222d1f, #151c13);
	color: #dfe8db !important;
	box-shadow: inset 0 -2px 0 var(--accent-green);
}
.communication-toolbar,
.communication-panel-heading,
.communication-form-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 7px;
}
.communication-toolbar {
	margin: 0 0 9px;
	padding: 9px 10px;
	border: 1px solid #303d2c;
	border-radius: 4px;
	background: rgba(9, 14, 8, .78);
}
.communication-toolbar-title { min-width: 0; }
.communication-toolbar-title strong { display: block; color: #dce3d8; font-family: var(--font-pda); }
.communication-toolbar-title span { display: block; margin-top: 2px; color: var(--communication-muted); font-size: .66rem; }
.communication-toolbar-actions { display: flex; flex-wrap: wrap; gap: 6px; }
.communication-toolbar-actions .btn,
.communication-message-actions .btn { min-height: 34px !important; padding: 5px 9px !important; font-size: .66rem !important; }
.communication-composer {
	margin: 0 0 11px;
	border: 1px solid var(--communication-line);
	border-left: 3px solid #4f7147;
	border-radius: 5px;
	background: var(--communication-panel);
	box-shadow: 0 4px 12px rgba(0, 0, 0, .4);
}
.communication-panel-heading {
	padding: 9px 11px;
	border-bottom: 1px solid rgba(68, 84, 59, .55);
	background: linear-gradient(90deg, rgba(120, 224, 143, .055), transparent);
}
.communication-panel-heading strong { color: #dfe6db; font-family: var(--font-pda); text-transform: uppercase; }
.communication-panel-heading span { color: var(--communication-muted); font: .63rem/1.2 var(--font-mono); }
.communication-form { padding: 11px; margin: 0; }
.communication-form textarea,
.communication-form input[type="text"] { margin-bottom: 0 !important; }
.communication-form-footer { margin-top: 8px; }
.communication-form-footer .communication-hint { margin: 0; flex: 1 1 180px; }
.communication-message-list,
.communication-dialog-list,
.communication-journal-list { display: grid; gap: 8px; }
.communication-message-card {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 10px;
	padding: 10px;
	position: relative;
	border: 1px solid var(--communication-line);
	border-radius: 5px;
	background: linear-gradient(180deg, rgba(18, 24, 17, .96), rgba(9, 14, 8, .98));
	box-shadow: 0 3px 10px rgba(0, 0, 0, .36);
}
.communication-message-card.is-addressed { border-left: 3px solid #d49a37; padding-left: 8px; }
.communication-message-card.is-hidden { border-style: dashed; opacity: .82; }
.communication-message-card.is-own { background: linear-gradient(180deg, rgba(24, 31, 22, .96), rgba(12, 17, 11, .98)); }
.communication-message-card.is-unread { border-left: 3px solid #4ba3d3; padding-left: 8px; }
.communication-message-avatar {
	width: 46px;
	height: 46px;
	border: 1px solid #354330;
	border-radius: 4px;
	object-fit: cover;
	background: #080c07;
}
.communication-message-content { min-width: 0; }
.communication-message-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 5px 9px;
	margin-bottom: 6px;
}
.communication-message-author,
.communication-message-meta,
.communication-message-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.communication-message-author > a { display: inline-flex; align-items: center; gap: 3px; }
.communication-message-meta { justify-content: flex-end; color: #778371; font: .63rem/1.2 var(--font-mono); }
.communication-message-body {
	color: #d7ded3;
	font-size: .84rem;
	line-height: 1.52;
	overflow-wrap: anywhere;
}
.communication-author-tone-1 { color: #eda662; }
.communication-author-tone-2 { color: #79bce9; }
.communication-author-tone-3 { color: #75d493; }
.communication-addressed-badge,
.communication-unread-badge {
	display: inline-flex;
	padding: 2px 6px;
	border: 1px solid rgba(241, 196, 15, .4);
	border-radius: 3px;
	background: rgba(241, 196, 15, .08);
	color: #f3ce68;
	font: 700 .56rem/1.25 var(--font-mono);
	letter-spacing: .3px;
	text-transform: uppercase;
}
.communication-unread-badge { border-color: rgba(75, 163, 211, .42); background: rgba(75, 163, 211, .09); color: #a9d8f0; }
.communication-missing-user { color: #899386; font-size: .72rem; font-style: italic; }
.communication-hidden-message { color: #8e988a; font-style: italic; }
.communication-system-badge {
	display: inline-flex;
	align-items: center;
	padding: 3px 7px;
	border: 1px solid rgba(120, 224, 143, .42);
	border-radius: 3px;
	background: rgba(120, 224, 143, .09);
	color: #9ee8ae;
	font: 700 .58rem/1.2 var(--font-mono);
	letter-spacing: .5px;
}
.communication-system-badge.is-synoptic { border-color: rgba(89, 173, 222, .55); background: rgba(66, 145, 190, .12); color: #a8dcf6; }
.communication-message-card.is-system { border-left: 3px solid #688063; background: linear-gradient(90deg, rgba(93, 122, 86, .09), rgba(9, 14, 8, .98) 42%); }
.communication-message-card.is-synoptic { overflow: hidden; border-left: 3px solid #5daed8; background: radial-gradient(circle at 0 0, rgba(69, 143, 184, .14), transparent 46%), linear-gradient(180deg, rgba(14, 23, 27, .98), rgba(7, 13, 15, .99)); }
.communication-message-card.is-synoptic::after { content: ""; position: absolute; right: -28px; bottom: -38px; width: 110px; height: 110px; border: 1px solid rgba(93, 174, 216, .08); border-radius: 50%; box-shadow: 0 0 0 18px rgba(93, 174, 216, .035), 0 0 0 36px rgba(93, 174, 216, .02); pointer-events: none; }
.communication-message-card.is-synoptic .communication-message-avatar { box-sizing: border-box; padding: 9px; border-color: rgba(93, 174, 216, .5); background: radial-gradient(circle, rgba(93, 174, 216, .2), rgba(4, 10, 12, .95)); object-fit: contain; }
.communication-author-system { color: #b7c6b3; }
.communication-author-synoptic { position: relative; z-index: 1; color: #c8e3ef; }
.communication-message-actions { grid-column: 1 / -1; justify-content: flex-end; padding-top: 7px; border-top: 1px solid rgba(68, 84, 59, .42); }
.communication-empty-state {
	display: grid;
	gap: 4px;
	padding: 16px;
	border: 1px dashed #3a4935;
	border-radius: 5px;
	background: rgba(8, 12, 8, .74);
	text-align: center;
}
.communication-empty-state strong { color: #d6ddd1; font-family: var(--font-pda); text-transform: uppercase; }
.communication-empty-state span { color: var(--communication-muted); font-size: .74rem; }
.communication-dialog-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 5px 10px;
	padding: 11px 12px;
	border: 1px solid var(--communication-line);
	border-left: 3px solid #455640;
	border-radius: 5px;
	background: var(--communication-panel);
	color: #dce3d8 !important;
}
.communication-dialog-card.is-unread { border-left-color: #4ba3d3; background: linear-gradient(90deg, rgba(75, 163, 211, .075), var(--communication-panel) 38%); }
.communication-dialog-card strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.communication-dialog-card time { color: #758171; font: .61rem/1.2 var(--font-mono); }
.communication-dialog-preview { grid-column: 1 / -1; overflow: hidden; color: #94a08f; font-size: .74rem; text-overflow: ellipsis; white-space: nowrap; }
.communication-dialog-card.is-unread .communication-dialog-preview { color: #b8dbee; }
.communication-journal-card {
	padding: 10px 11px;
	border: 1px solid var(--communication-line);
	border-left: 3px solid #485743;
	border-radius: 5px;
	background: var(--communication-panel);
}
.communication-journal-card.is-unread { border-left-color: #d89a42; background: linear-gradient(90deg, rgba(216, 154, 66, .075), var(--communication-panel) 38%); }
.communication-journal-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.communication-journal-head time { color: #758171; font: .62rem/1.2 var(--font-mono); }
.communication-journal-body { color: #d8ded4; font-size: .82rem; line-height: 1.48; }
.communication-journal-card.is-unread .communication-journal-body { color: #f0d097; }
.communication-journal-actions { display: flex; justify-content: flex-end; margin-top: 6px; }
.communication-page .pagination { margin: 12px 0; }

/* Forum tactical radio network — 1.20.5 */
.forum-page {
	--forum-panel: rgba(11, 16, 11, .94);
	--forum-panel-soft: rgba(19, 25, 17, .88);
	--forum-line: #33422f;
	--forum-line-bright: #526448;
	--forum-muted: #94a38e;
}
.forum-page form { margin: 0; }
.forum-hero {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	margin: 0 0 12px;
	padding: 16px;
	overflow: hidden;
	position: relative;
	border: 1px solid #3a4935;
	border-left: 4px solid var(--accent-amber);
	border-radius: 5px;
	background:
		linear-gradient(90deg, rgba(230, 126, 34, .09), transparent 58%),
		repeating-linear-gradient(0deg, rgba(255, 255, 255, .018) 0, rgba(255, 255, 255, .018) 1px, transparent 1px, transparent 4px),
		#0b100a;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 5px 16px rgba(0, 0, 0, .55);
}
.forum-hero::after {
	content: "FORUM // ONLINE";
	position: absolute;
	right: 9px;
	top: 7px;
	color: rgba(120, 224, 143, .2);
	font: 700 .55rem/1 var(--font-mono);
	letter-spacing: 1.2px;
}
.forum-hero-signal {
	display: grid;
	place-items: center;
	width: 58px;
	height: 58px;
	position: relative;
	border: 1px solid rgba(120, 224, 143, .38);
	border-radius: 50%;
	background: radial-gradient(circle, rgba(120, 224, 143, .14), rgba(5, 9, 5, .85) 68%);
	box-shadow: 0 0 18px rgba(120, 224, 143, .12), inset 0 0 14px rgba(0, 0, 0, .8);
}
.forum-hero-signal::before,
.forum-hero-signal::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 30px;
	height: 30px;
	transform: translate(-50%, -50%);
	border: 1px solid rgba(120, 224, 143, .24);
	border-radius: 50%;
}
.forum-hero-signal::after { width: 44px; height: 44px; opacity: .6; }
.forum-hero-signal span {
	width: 8px;
	height: 8px;
	position: relative;
	z-index: 1;
	border-radius: 50%;
	background: var(--accent-green);
	box-shadow: 0 0 10px var(--accent-green), 0 0 22px rgba(120, 224, 143, .55);
}
.forum-hero-copy { min-width: 0; }
.forum-eyebrow {
	display: block;
	margin-bottom: 4px;
	color: #d59449;
	font: 700 .64rem/1.2 var(--font-mono);
	letter-spacing: 1.1px;
	text-transform: uppercase;
}
.forum-hero h1,
.forum-board-heading h2,
.forum-panel-heading h2,
.forum-discussion-heading h3 {
	margin: 0;
	color: #f1f3ed !important;
}
.forum-hero h1 { font-size: 1.35rem; letter-spacing: 1.1px !important; }
.forum-hero p {
	margin: 5px 0 0;
	color: var(--forum-muted);
	font-size: .79rem;
}
.forum-breadcrumbs {
	display: flex;
	align-items: center;
	gap: 7px;
	min-width: 0;
	margin: 0 0 9px;
	padding: 8px 10px;
	border: 1px solid #283425;
	border-radius: 4px;
	background: rgba(5, 9, 5, .62);
	color: var(--forum-muted);
	font-size: .76rem;
}
.forum-breadcrumbs a,
.forum-breadcrumbs strong {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.forum-breadcrumbs strong { color: #d7ded3; font-weight: 600; }
.forum-board-heading,
.forum-discussion-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 9px;
	padding: 11px 12px;
	border-bottom: 1px solid var(--forum-line);
	background: linear-gradient(90deg, rgba(120, 224, 143, .055), transparent);
}
.forum-board-heading h2 { font-size: 1.05rem; }
.forum-board-action { flex: 0 0 auto; }
.forum-section-list,
.forum-topic-list {
	display: grid;
	gap: 8px;
	margin-bottom: 10px;
}
.forum-section-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--forum-line);
	border-radius: 5px;
	background: linear-gradient(180deg, rgba(22, 29, 20, .96), rgba(10, 15, 9, .98));
	box-shadow: 0 4px 12px rgba(0, 0, 0, .4), inset 0 1px 0 rgba(255, 255, 255, .035);
}
.forum-section-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: var(--accent-green);
	opacity: .72;
}
.forum-section-card.is-restricted::before { background: #4ba3d3; }
.forum-section-main {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) 20px;
	align-items: center;
	gap: 11px;
	padding: 12px 12px 9px 14px;
	color: var(--text-main) !important;
}
.forum-section-main:hover { background: rgba(120, 224, 143, .035); }
.forum-section-frequency {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border: 1px solid #3c4d37;
	border-radius: 4px;
	background: #0a0f09;
	color: #84b777;
	font: 700 .9rem/1 var(--font-mono);
	box-shadow: inset 0 0 9px rgba(120, 224, 143, .08);
}
.forum-section-frequency::before { content: "CH"; margin-right: 2px; color: #65735f; font-size: .5rem; }
.forum-section-copy { display: block; min-width: 0; }
.forum-section-copy strong {
	display: block;
	overflow: hidden;
	color: #edf1e9;
	font: 700 .98rem/1.3 var(--font-pda);
	letter-spacing: .35px;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.forum-section-copy > span {
	display: block;
	margin-top: 4px;
	color: var(--forum-muted);
	font: .7rem/1.2 var(--font-mono);
}
.forum-section-arrow { color: #71806a; font-size: 1.55rem; line-height: 1; }
.forum-section-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	min-height: 22px;
	padding: 8px 11px 9px 14px;
	border-top: 1px solid rgba(68, 84, 59, .45);
	color: var(--forum-muted);
	font-size: .68rem;
}
.forum-system-mark { color: #91a48a; font-family: var(--font-mono); text-transform: uppercase; }
.forum-scope-badge,
.forum-topic-badge,
.forum-addressed-badge {
	display: inline-flex;
	align-items: center;
	padding: 2px 6px;
	border: 1px solid rgba(75, 163, 211, .35);
	border-radius: 3px;
	background: rgba(75, 163, 211, .09);
	color: #a9d8f0;
	font: 700 .58rem/1.25 var(--font-mono);
	letter-spacing: .35px;
	text-transform: uppercase;
}
.forum-scope-badge.is-open,
.forum-topic-badge.is-open { border-color: rgba(120, 224, 143, .3); background: rgba(120, 224, 143, .07); color: #9ed9aa; }
.forum-scope-badge.is-staff { border-color: rgba(230, 126, 34, .4); background: rgba(230, 126, 34, .08); color: #efb474; }
.forum-card-actions,
.forum-action-bar,
.forum-comment-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	padding: 8px 11px;
	border-top: 1px solid rgba(68, 84, 59, .45);
	background: rgba(0, 0, 0, .18);
}
.forum-card-actions .btn,
.forum-action-bar .btn,
.forum-comment-actions .btn {
	min-height: 34px !important;
	padding: 5px 10px !important;
	font-size: .68rem !important;
}
.forum-topic-card {
	display: grid;
	grid-template-columns: 12px minmax(0, 1fr) 54px;
	align-items: center;
	gap: 10px;
	min-height: 58px;
	padding: 9px 10px 9px 12px;
	border: 1px solid var(--forum-line);
	border-radius: 5px;
	background: var(--forum-panel-soft);
	color: var(--text-main) !important;
	box-shadow: 0 3px 9px rgba(0, 0, 0, .32);
}
.forum-topic-card:hover { border-color: var(--forum-line-bright); background: rgba(27, 36, 24, .96); }
.forum-topic-card.is-pinned { border-left: 3px solid var(--accent-amber); padding-left: 10px; }
.forum-topic-card.is-closed { opacity: .82; }
.forum-topic-marker {
	width: 8px;
	height: 8px;
	border: 1px solid rgba(120, 224, 143, .55);
	border-radius: 50%;
	background: rgba(120, 224, 143, .18);
	box-shadow: 0 0 7px rgba(120, 224, 143, .18);
}
.forum-topic-card.is-pinned .forum-topic-marker { border-color: #f0a24b; background: #9d5818; }
.forum-topic-card.is-closed .forum-topic-marker { border-color: #657061; background: #30382e; box-shadow: none; }
.forum-topic-copy { min-width: 0; }
.forum-topic-title {
	display: block;
	overflow: hidden;
	color: #e4e9df;
	font: 700 .9rem/1.28 var(--font-pda);
	text-overflow: ellipsis;
	white-space: nowrap;
}
.forum-topic-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: 4px;
	color: var(--forum-muted);
	font-size: .65rem;
}
.forum-topic-badge.is-pinned { border-color: rgba(230, 126, 34, .42); background: rgba(230, 126, 34, .09); color: #f1b978; }
.forum-topic-badge.is-closed { border-color: rgba(234, 32, 39, .35); background: rgba(234, 32, 39, .08); color: #ef9994; }
.forum-topic-count {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	border-left: 1px solid rgba(68, 84, 59, .55);
}
.forum-topic-count strong { color: #d8e6d3; font: 700 1rem/1 var(--font-mono); }
.forum-topic-count small { margin-top: 3px; color: #778471; font-size: .54rem; text-transform: uppercase; }
.forum-empty-state,
.forum-locked-notice {
	display: grid;
	gap: 4px;
	margin: 8px 0 11px;
	padding: 15px;
	border: 1px dashed #3a4935;
	border-radius: 5px;
	background: rgba(8, 12, 8, .74);
	text-align: center;
}
.forum-empty-state strong,
.forum-locked-notice strong { color: #d6ddd1; font-family: var(--font-pda); text-transform: uppercase; }
.forum-empty-state span,
.forum-locked-notice span { color: var(--forum-muted); font-size: .75rem; }
.forum-locked-notice { border-style: solid; border-left: 3px solid #9e4f47; text-align: left; }
.forum-editor-card,
.forum-reply-card,
.forum-topic-post {
	margin-bottom: 11px;
	border: 1px solid var(--forum-line);
	border-radius: 5px;
	background: var(--forum-panel);
	box-shadow: 0 4px 14px rgba(0, 0, 0, .45), inset 0 1px 0 rgba(255, 255, 255, .035);
}
.forum-panel-heading {
	padding: 12px 13px 9px;
	border-bottom: 1px solid var(--forum-line);
	background: linear-gradient(90deg, rgba(230, 126, 34, .075), transparent);
}
.forum-panel-heading > span { color: #a88662; font: 700 .61rem/1 var(--font-mono); letter-spacing: .9px; text-transform: uppercase; }
.forum-panel-heading h2 { margin-top: 4px; font-size: 1rem; }
.forum-form { padding: 12px; }
.forum-field { display: block; margin: 0 0 9px; }
.forum-field > span {
	display: block;
	margin: 0 0 5px;
	color: #b9c6b3;
	font: 700 .72rem/1.2 var(--font-pda);
	letter-spacing: .4px;
	text-transform: uppercase;
}
.forum-field input,
.forum-field textarea,
.forum-field select { margin-bottom: 0 !important; }
.forum-form-actions,
.forum-quick-reply-footer {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 7px;
	margin-top: 10px;
}
.forum-smiley-picker {
	margin: 8px 0 0;
	border: 1px solid #303d2c;
	border-radius: 4px;
	background: rgba(3, 7, 3, .45);
}
.forum-smiley-picker summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 9px 10px;
	cursor: pointer;
	color: #b9c6b3;
	font: 700 .72rem/1.2 var(--font-pda);
	letter-spacing: .45px;
	text-transform: uppercase;
}
.forum-smiley-picker summary small { color: #6f7e69; font: .62rem/1.2 var(--font-mono); text-transform: none; }
.forum-smiley-picker[open] summary { border-bottom: 1px solid #303d2c; color: var(--accent-green); }
.forum-smiley-grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(32px, 1fr));
	gap: 3px;
	max-height: 168px;
	overflow-y: auto;
	padding: 8px;
}
.forum-smiley-grid .smiley-button { width: 100%; min-width: 0; min-height: 34px; margin: 0; }
.forum-topic-post { overflow: hidden; border-top: 2px solid #56684d; }
.forum-topic-post.is-closed { border-top-color: #70423d; }
.forum-topic-post-status {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 11px 13px 0;
}
.forum-topic-post-status > div { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px; }
.forum-topic-post h2 {
	margin: 5px 13px 11px;
	color: #f0f2ed !important;
	font-size: 1.18rem;
	line-height: 1.3;
	text-transform: none !important;
	overflow-wrap: anywhere;
}
.forum-post-author,
.forum-comment-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	padding: 8px 12px;
	border-top: 1px solid rgba(68, 84, 59, .48);
	border-bottom: 1px solid rgba(68, 84, 59, .48);
	background: rgba(0, 0, 0, .2);
}
.forum-post-author > div,
.forum-comment-author,
.forum-comment-tools { display: flex; align-items: center; flex-wrap: wrap; gap: 6px; }
.forum-post-author time,
.forum-comment-author time { color: #7f8e79; font: .64rem/1.2 var(--font-mono); }
.forum-level { color: #82917c; font-size: .65rem; }
.forum-post-body,
.forum-comment-body {
	padding: 14px;
	color: #dce2d8;
	font-size: .87rem;
	line-height: 1.62;
	overflow-wrap: anywhere;
}
.forum-author-tone-1 { color: #eda662; }
.forum-author-tone-2 { color: #79bce9; }
.forum-author-tone-3 { color: #75d493; }
.forum-topic-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 6px 12px;
	padding: 8px 12px;
	border-top: 1px solid rgba(68, 84, 59, .45);
	color: #7f8d79;
	font-size: .67rem;
}
.forum-discussion-heading { margin-top: 14px; }
.forum-discussion-heading h3 { font-size: .98rem; }
.forum-discussion-count { color: #9eae98; font: 700 .68rem/1.2 var(--font-mono); text-transform: uppercase; }
.forum-reply-card { border-left: 3px solid #4c6e44; }
.forum-quick-reply-footer { justify-content: space-between; }
.forum-quick-reply-footer .communication-hint { margin: 0; }
.forum-comment-card {
	margin-bottom: 8px;
	overflow: hidden;
	border: 1px solid var(--forum-line);
	border-radius: 5px;
	background: linear-gradient(180deg, rgba(18, 24, 17, .95), rgba(10, 14, 9, .97));
	box-shadow: 0 3px 10px rgba(0, 0, 0, .36);
	scroll-margin-top: 12px;
}
.forum-comment-card:target { border-color: #d78a39; box-shadow: 0 0 0 2px rgba(215, 138, 57, .16), 0 5px 16px rgba(0, 0, 0, .5); }
.forum-comment-card.is-addressed { border-left: 3px solid #d49a37; }
.forum-comment-card.is-hidden { border-style: dashed; opacity: .82; }
.forum-comment-head { padding: 8px 10px; border-top: 0; }
.forum-comment-tools { justify-content: flex-end; color: #798674; font-size: .66rem; }
.forum-comment-number { color: #62705d; font-family: var(--font-mono); }
.forum-addressed-badge { border-color: rgba(241, 196, 15, .4); background: rgba(241, 196, 15, .08); color: #f3ce68; }
.forum-comment-body { min-height: 24px; padding: 11px 12px 13px; }
.forum-hidden-message { color: #8d9789; font-style: italic; }
.forum-comment-actions { justify-content: flex-end; padding: 6px 9px; }
.forum-page .pagination { margin: 12px 0; }
.forum-page .pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }
.forum-page .pagination li > a,
.forum-page .pagination li > span,
.forum-page .pagination li > b { border-radius: 3px !important; }

@media (max-width: 430px) {
	.inventory-capacity-head { align-items: flex-start; flex-direction: column; }
	.inventory-stack-actions { grid-template-columns: 1fr; }
	.communication-page form .btn { min-height: 44px; }
	.communication-counters { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.communication-counters .btn { box-sizing: border-box; width: 100%; }
	.communication-hero { grid-template-columns: 44px minmax(0, 1fr); gap: 9px; padding: 12px 10px; }
	.communication-hero-signal { width: 40px; height: 40px; }
	.communication-hero-signal::before { width: 20px; height: 20px; }
	.communication-hero-signal::after { width: 31px; height: 31px; }
	.communication-hero h1 { font-size: 1rem; }
	.communication-hero p { font-size: .69rem; }
	.communication-channel-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.communication-toolbar { align-items: stretch; flex-direction: column; }
	.communication-toolbar-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.communication-toolbar-actions .btn,
	.communication-toolbar-actions form { box-sizing: border-box; width: 100%; }
	.communication-form-footer { align-items: stretch; flex-direction: column; }
	.communication-form-footer .btn { box-sizing: border-box; width: 100%; }
	.communication-message-card { grid-template-columns: 40px minmax(0, 1fr); gap: 8px; padding: 9px; }
	.communication-message-avatar { width: 38px; height: 38px; }
	.communication-message-head { align-items: flex-start; flex-direction: column; }
	.communication-message-meta { justify-content: flex-start; }
	.communication-message-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.communication-message-actions .btn,
	.communication-message-actions form { box-sizing: border-box; width: 100%; }
	.communication-dialog-card { grid-template-columns: minmax(0, 1fr); }
	.communication-dialog-card time { grid-row: 2; }
	.communication-dialog-preview { grid-row: 3; }
	.forum-hero { grid-template-columns: 48px minmax(0, 1fr); gap: 10px; padding: 13px 11px; }
	.forum-hero-signal { width: 44px; height: 44px; }
	.forum-hero-signal::before { width: 23px; height: 23px; }
	.forum-hero-signal::after { width: 34px; height: 34px; }
	.forum-hero h1 { font-size: 1.08rem; }
	.forum-hero p { font-size: .72rem; }
	.forum-board-heading { align-items: stretch; flex-direction: column; }
	.forum-board-action { box-sizing: border-box; width: 100%; }
	.forum-section-main { grid-template-columns: 42px minmax(0, 1fr) 14px; gap: 8px; padding-left: 11px; }
	.forum-section-frequency { width: 38px; height: 38px; }
	.forum-section-meta { align-items: flex-start; flex-direction: column; }
	.forum-card-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.forum-card-actions .btn,
	.forum-card-actions form { box-sizing: border-box; width: 100%; }
	.forum-topic-card { grid-template-columns: 9px minmax(0, 1fr) 46px; gap: 7px; padding-right: 7px; }
	.forum-topic-count { min-height: 38px; }
	.forum-topic-count small { font-size: .48rem; }
	.forum-form-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.forum-form-actions .btn { box-sizing: border-box; width: 100%; padding-left: 8px !important; padding-right: 8px !important; }
	.forum-smiley-grid { grid-template-columns: repeat(6, minmax(34px, 1fr)); }
	.forum-topic-post-status,
	.forum-post-author,
	.forum-comment-head { align-items: flex-start; flex-direction: column; }
	.forum-topic-post-status > div,
	.forum-comment-tools { justify-content: flex-start; }
	.forum-topic-post h2 { font-size: 1.05rem; }
	.forum-action-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.forum-action-bar .btn,
	.forum-action-bar form { box-sizing: border-box; width: 100%; }
	.forum-action-bar .btn,
	.forum-card-actions .btn,
	.forum-comment-actions .btn { min-height: 44px !important; }
	.forum-quick-reply-footer { align-items: stretch; flex-direction: column; }
	.forum-quick-reply-footer .btn { box-sizing: border-box; width: 100%; }
	.forum-comment-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.forum-comment-actions form,
	.forum-comment-actions .btn { box-sizing: border-box; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.durability-track span,
	.inventory-capacity-track span { transition: none; }
	.communication-counter-new { animation: none; }
}


/* ==========================================================================
   STALKER 100 RENTGEN BAR MODULE DESIGN
   ========================================================================== */
.bar-barmen-card {
	background: #090d09;
	border: 1px solid #1c261b;
	border-left: 3px solid var(--accent-amber-bright);
	border-radius: 4px;
	padding: 12px;
	margin-bottom: 12px;
	font-family: var(--font-pda);
}

.bar-barmen-top {
	display: flex;
	align-items: center;
	gap: 12px;
}

.bar-barmen-avatar {
	width: 70px;
	height: 70px;
	border-radius: 4px;
	border: 1px solid #334230;
	box-shadow: 0 0 10px rgba(0,0,0,0.8);
	object-fit: cover;
}

.bar-barmen-name { margin: 0; color: #fff; font: 700 .9rem/1.25 var(--font-pda); }
.bar-barmen-name small { color: var(--accent-amber-bright); font-size: .75rem; }

.bar-barmen-speech {
	margin-top: 6px;
	background: #060906;
	border: 1px solid #283526;
	border-radius: 4px;
	padding: 8px 12px;
	font-size: 0.85rem;
	color: #d1d8ce;
	position: relative;
	line-height: 1.4;
}

.bar-barmen-speech::before {
	content: '';
	position: absolute;
	left: -8px;
	top: 15px;
	border-width: 6px 8px 6px 0;
	border-style: solid;
	border-color: transparent #283526 transparent transparent;
}

.bar-stalkers-banner {
	background: linear-gradient(180deg, rgba(12,18,12,0.92) 0%, rgba(6,9,6,0.96) 100%), url('/img/bar.jpg') center/cover;
	border: 1px solid #283526;
	border-radius: 4px;
	padding: 14px;
	margin-bottom: 14px;
}
.bar-stalkers-head { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin-bottom: 10px; }
.bar-stalkers-title { color: #fff; font: 700 .95rem/1.25 var(--font-pda); }
.bar-stalkers-count { font-size: .8rem; }
.bar-inline-icon { margin-right: 4px; vertical-align: middle; }
.bar-form-reset { margin: 0; }

.bar-drink-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 8px;
	margin-top: 10px;
}

@media (max-width: 500px) {
	.bar-drink-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

.bar-drink-tile {
	box-sizing: border-box;
	width: 100%;
	background: #090d09;
	border: 1px solid #1c261b;
	border-radius: 4px;
	padding: 10px 6px;
	text-align: center;
	transition: all 0.2s ease;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
}

.bar-drink-tile:hover {
	border-color: #2ecc71;
	background: #0e150e;
	box-shadow: 0 0 10px rgba(46, 204, 113, 0.2);
}

.bar-drink-icon {
	width: 36px;
	height: 36px;
	object-fit: contain;
	margin-bottom: 4px;
}

.bar-drink-title {
	font-family: var(--font-pda);
	font-size: 0.82rem;
	color: #fff;
	font-weight: 700;
}
.bar-drink-effect { font-size: .7rem; }

.bar-drink-price {
	font-family: var(--font-mono);
	font-size: 0.85rem;
	color: #f39c12;
	margin-top: 4px;
}

.bar-rumors-box {
	background: #060906;
	border: 1px dashed #283526;
	border-radius: 4px;
	padding: 10px 12px;
	margin-bottom: 12px;
	font-family: var(--font-mono);
	font-size: 0.8rem;
	color: #aaa;
}

.bar-rumors-title {
	color: var(--accent-amber-bright);
	font-weight: 700;
	margin-bottom: 4px;
	display: flex;
	align-items: center;
	gap: 6px;
}
.bar-special-actions { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.bar-action-note { color: #8da18b; font-size: .72rem; line-height: 1.45; text-align: center; }
.bar-action-done { color: #2ecc71; font-size: .8rem; text-align: center; }
.bar-offer-note { margin-top: 5px; color: #d5ae68; font-size: .72rem; text-align: center; }
.bar-reputation-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(170px, 0.42fr);
	gap: 14px;
	align-items: center;
	margin-bottom: 12px;
	padding: 12px 14px;
	border: 1px solid rgba(128, 178, 96, 0.24);
	border-left: 3px solid #79ad5c;
	border-radius: 4px;
	background: linear-gradient(110deg, rgba(103, 157, 72, 0.1), rgba(5, 10, 6, 0.96) 55%);
}
.bar-reputation-card.is-legend { border-left-color: #d8b25e; box-shadow: inset 0 0 24px rgba(216, 178, 94, 0.05); }
.bar-reputation-copy > span { color: #70806a; font: 700 0.46rem/1.35 var(--font-mono); letter-spacing: 0.08em; }
.bar-reputation-copy h3 { margin: 4px 0; color: #d9e6d2; font: 700 0.78rem/1.25 var(--font-pda); }
.bar-reputation-copy p { margin: 0; color: #899584; font-size: 0.54rem; line-height: 1.5; }
.bar-reputation-progress > div { height: 7px; overflow: hidden; border: 1px solid rgba(122, 169, 94, 0.2); border-radius: 10px; background: #050805; }
.bar-reputation-progress i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #557d41, #8ac267); box-shadow: 0 0 9px rgba(128, 190, 91, 0.32); }
.bar-reputation-progress small { display: block; margin-top: 5px; color: #74806f; font-size: 0.47rem; line-height: 1.35; }
@media (max-width: 600px) {
	.bar-reputation-card { grid-template-columns: 1fr; gap: 9px; }
}
/* Story quest journal 1.19 */
.story-board { --story-glow: #a8ff60; margin: 12px 0 22px; }
.story-signal { position: relative; display: grid; grid-template-columns: 88px 1fr; gap: 18px; padding: 22px; overflow: hidden; border: 1px solid rgba(168,255,96,.32); background: linear-gradient(135deg,rgba(13,25,16,.98),rgba(18,25,27,.95)); box-shadow: inset 0 0 34px rgba(0,0,0,.45),0 10px 28px rgba(0,0,0,.24); }
.story-signal:after { content:""; position:absolute; inset:0; pointer-events:none; opacity:.08; background:repeating-linear-gradient(0deg,transparent 0 3px,#d8ffc0 4px); }
.story-kicker { color:#c9ff9e; font:700 11px/1.4 var(--font-mono); letter-spacing:.13em; }
.story-signal h1 { margin:5px 0 8px; color:#e6ffd2; font:800 clamp(24px,7vw,40px)/1 var(--font-heading); letter-spacing:.06em; text-shadow:0 0 18px rgba(168,255,96,.28); }
.story-signal p { max-width:760px; margin:0; color:var(--text-muted); line-height:1.55; }
.story-signal-pulse { position:relative; width:72px; height:72px; align-self:center; border:1px solid rgba(168,255,96,.4); border-radius:50%; box-shadow:0 0 24px rgba(168,255,96,.12); }
.story-signal-pulse:before,.story-signal-pulse:after { content:""; position:absolute; inset:12px; border:1px solid rgba(168,255,96,.28); border-radius:50%; }
.story-signal-pulse:after { inset:25px; background:var(--story-glow); box-shadow:0 0 14px var(--story-glow); }
.story-signal-pulse span { position:absolute; left:50%; top:50%; width:46%; height:2px; transform-origin:left; background:linear-gradient(90deg,var(--story-glow),transparent); animation:story-scan 3s linear infinite; }
@keyframes story-scan { to { transform:rotate(360deg); } }
.story-dialog { display:flex; gap:12px; align-items:center; margin:10px 0 18px; padding:13px 16px; border-left:3px solid #d89c36; background:rgba(216,156,54,.08); }
.story-avatar { flex:0 0 42px; height:42px; display:grid; place-items:center; border:1px solid rgba(216,156,54,.55); border-radius:50%; color:#ffd991; font:bold 20px var(--font-heading); }
.story-dialog strong,.story-dialog span { display:block; }.story-dialog strong { color:#ffd991; }.story-dialog span { color:var(--text-muted); font-size:.9rem; line-height:1.45; }
.story-dialog[class*="faction-accent-"] { border-left-color:rgb(var(--faction-glow)); background:linear-gradient(90deg,rgba(var(--faction-glow),.11),rgba(var(--faction-glow),.025)); }
.story-dialog[class*="faction-accent-"] .story-avatar { width:42px; object-fit:contain; border-color:rgba(var(--faction-glow),.48); background:rgba(2,7,4,.55); }
.story-dialog[class*="faction-accent-"] strong { color:rgb(var(--faction-glow)); }.story-dialog small { display:block; margin:2px 0 4px; color:#74866f; font:700 9px var(--font-mono); letter-spacing:.08em; }
.story-timeline { position:relative; }.story-timeline:before { content:""; position:absolute; top:0; bottom:0; left:23px; width:1px; background:linear-gradient(#9adf61,rgba(154,223,97,.08)); }
.story-chapter { position:relative; display:grid; grid-template-columns:48px 1fr; gap:12px; margin-bottom:14px; }
.story-node { position:relative; z-index:1; padding-top:18px; }.story-node span { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; border:1px solid #557047; background:#172018; color:#cceeb5; font:700 12px var(--font-mono); }
.story-card { padding:17px; border:1px solid rgba(133,164,112,.25); background:linear-gradient(145deg,rgba(23,31,26,.98),rgba(15,20,19,.98)); box-shadow:0 8px 20px rgba(0,0,0,.22); }
.story-chapter.is-active .story-card,.story-chapter.is-completed .story-card { border-color:rgba(168,255,96,.48); box-shadow:inset 3px 0 #a8ff60,0 8px 24px rgba(0,0,0,.26); }
.story-chapter.is-locked { opacity:.58; }.story-chapter.is-claimed .story-node span { background:#29451f; }
.story-heading { display:flex; justify-content:space-between; gap:10px; align-items:flex-start; }.story-heading small { color:#92aa82; font:700 10px var(--font-mono); letter-spacing:.12em; }.story-heading h2 { margin:2px 0 0; color:#e5eddf; font:700 20px/1.2 var(--font-heading); }
.story-status { padding:4px 7px; border:1px solid rgba(168,255,96,.27); color:#bfe89e; background:rgba(168,255,96,.06); font:700 9px var(--font-mono); white-space:nowrap; }
.story-summary { margin:10px 0 6px; color:#f0d49c; font-weight:600; }.story-lore { margin:0 0 13px; color:var(--text-muted); line-height:1.52; }
.story-objective { padding:12px; border:1px solid rgba(110,151,84,.24); background:rgba(0,0,0,.18); }.story-objective>span { color:#8baa78; font:700 9px var(--font-mono); letter-spacing:.12em; }.story-objective>strong { display:block; margin:3px 0; color:#dfffc9; }.story-objective p { margin:0 0 10px; color:#b9c5b4; font-size:.9rem; }
.story-objective[class*="faction-accent-"] { margin-bottom:10px; border-color:rgba(var(--faction-glow),.25); background:linear-gradient(135deg,rgba(var(--faction-glow),.075),rgba(0,0,0,.18)); }.story-objective[class*="faction-accent-"]>span,.story-objective[class*="faction-accent-"]>strong { color:rgb(var(--faction-glow)); }.story-objective[class*="faction-accent-"]>small { color:#71806e; font:700 9px var(--font-mono); }
.story-progress-meta { display:flex; justify-content:space-between; color:#8faa7c; font:700 10px var(--font-mono); }.story-progress-meta b { color:#dfffc9; }.story-progress { height:6px; margin-top:5px; overflow:hidden; background:#0b100c; }.story-progress span { display:block; height:100%; background:linear-gradient(90deg,#6eaa42,#b5ff77); box-shadow:0 0 10px rgba(181,255,119,.45); transition:width .35s ease; }
.story-footer { display:flex; justify-content:space-between; gap:12px; align-items:center; margin-top:14px; }.story-rewards { display:flex; flex-wrap:wrap; gap:7px; }.story-rewards span { padding:4px 7px; background:rgba(0,0,0,.24); color:#d7ddcf; font:700 11px var(--font-mono); }.story-rewards img { width:14px; height:14px; object-fit:contain; }.story-rewards .story-exp { color:#b8e89a; }
.story-action form { margin:0; }.story-go { border-color:rgba(168,255,96,.38)!important; color:#d8ffc0!important; background:rgba(168,255,96,.07)!important; }.story-stamp { color:#9bc77d; font:700 10px var(--font-mono); }.story-lock { display:block; max-width:190px; color:#899286; font-size:.78rem; text-align:right; }
.story-note { padding:10px 14px; color:#82917c; border:1px dashed rgba(130,145,124,.25); font-size:.8rem; text-align:center; }.story-ajax-notice { position:sticky; z-index:20; top:8px; margin:8px 0; padding:10px 14px; border:1px solid; background:#152017; box-shadow:0 8px 22px rgba(0,0,0,.32); }.story-ajax-notice.is-ok { border-color:#75b94b;color:#d9ffc1; }.story-ajax-notice.is-error { border-color:#b94b4b;color:#ffd0d0; }
@media(max-width:600px){.story-signal{grid-template-columns:1fr;padding:16px}.story-signal-pulse{width:58px;height:58px}.story-timeline:before{left:15px}.story-chapter{grid-template-columns:32px 1fr;gap:8px}.story-node span{width:31px;height:31px;font-size:9px}.story-card{padding:13px}.story-heading{display:block}.story-status{display:inline-block;margin-top:7px}.story-footer{display:block}.story-action{margin-top:11px}.story-action .btn{width:100%;box-sizing:border-box}.story-lock{text-align:left;max-width:none}.story-rewards{gap:4px}}
@media(prefers-reduced-motion:reduce){.story-signal-pulse span{animation:none}.story-progress span{transition:none}}

/* Unified player progression 1.20 */
.progression-guide {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  margin: 10px 0;
  padding: 12px;
  overflow: hidden;
  border: 1px solid rgba(74, 222, 128, 0.4);
  border-radius: 8px;
  background: linear-gradient(120deg, rgba(7, 18, 12, 0.98), rgba(17, 31, 24, 0.94));
  box-shadow: inset 0 0 22px rgba(34, 197, 94, 0.05), 0 5px 18px rgba(0, 0, 0, 0.28);
}

.progression-guide-ready { border-color: rgba(250, 204, 21, 0.7); }
.progression-guide-locked { border-color: rgba(148, 163, 184, 0.4); }
.progression-guide-complete { border-color: rgba(56, 189, 248, 0.6); }

.progression-guide-signal {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(74, 222, 128, 0.55);
  border-radius: 50%;
  box-shadow: 0 0 14px rgba(34, 197, 94, 0.25);
}

.progression-guide-signal span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #4ade80;
  box-shadow: 0 0 12px #4ade80;
}

.progression-guide-copy { min-width: 0; }
.progression-guide-copy small,
.progression-guide-copy strong,
.progression-guide-copy span,
.progression-guide-copy em { display: block; }
.progression-guide-copy small { color: #86efac; font: 700 0.67rem/1.25 var(--font-pda); letter-spacing: 0.08em; }
.progression-guide-copy strong { margin: 3px 0; color: #f8fafc; font-size: 0.98rem; }
.progression-guide-copy span { color: #cbd5e1; font-size: 0.82rem; line-height: 1.35; }
.progression-guide-copy em { margin-top: 4px; color: #94a3b8; font-size: 0.7rem; font-style: normal; }
.progression-guide-action { margin: 0; white-space: nowrap; }

.progression-menu-link {
  display: grid !important;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
}
.progression-menu-icon { font-size: 1.25rem; text-align: center; }
.progression-menu-link span strong,
.progression-menu-link span small { display: block; }
.progression-menu-link span small { margin-top: 2px; color: #94a3b8; font-size: 0.72rem; }
.progression-menu-link > b { color: #86efac; font: 700 0.64rem/1.2 var(--font-pda); letter-spacing: 0.04em; text-align: right; }
.progression-menu-link.is-locked,
.activity-launch.is-locked { filter: saturate(0.45); opacity: 0.72; }
.progression-menu-link.is-locked > b,
.progression-footer-locked { color: #94a3b8 !important; }
.pda-nav-item.is-locked { opacity: 0.48; filter: grayscale(0.75); }

@media (max-width: 520px) {
  .progression-guide { grid-template-columns: 34px minmax(0, 1fr); }
  .progression-guide-signal { width: 30px; height: 30px; }
  .progression-guide-action { grid-column: 1 / -1; width: auto; text-align: center; }
  .progression-menu-link { grid-template-columns: 28px minmax(0, 1fr); }
  .progression-menu-link > b { grid-column: 2; text-align: left; }
}

/* PDA route map 1.20.1 */
.pda-route-map {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(74, 222, 128, 0.35);
  border-radius: 9px;
  background: radial-gradient(circle at 90% 0, rgba(34, 197, 94, 0.09), transparent 36%), rgba(7, 13, 10, 0.96);
}
.pda-route-map-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.pda-route-map-head small { color: #86efac; font: 700 0.68rem/1.2 var(--font-pda); letter-spacing: 0.09em; }
.pda-route-map-head h1 { margin: 3px 0 5px; color: #f8fafc; font: 800 1.25rem/1.1 var(--font-pda); letter-spacing: 0.05em; }
.pda-route-map-head p { margin: 0; color: #aebbaa; font-size: 0.8rem; line-height: 1.4; }
.pda-route-map-head > strong { min-width: 78px; padding: 9px; color: #4ade80; text-align: center; font-size: 1.35rem; border: 1px solid rgba(74, 222, 128, 0.3); border-radius: 7px; }
.pda-route-map-head > strong span { display: block; color: #94a3b8; font-size: 0.58rem; font-weight: 600; text-transform: uppercase; }
.pda-route-list { position: relative; display: grid; gap: 6px; margin-top: 12px; }
.pda-route-list::before { content: ''; position: absolute; top: 14px; bottom: 14px; left: 19px; width: 1px; background: linear-gradient(#4ade80, rgba(74, 222, 128, 0.08)); }
.pda-route-node { position: relative; display: grid; grid-template-columns: 39px 32px minmax(0, 1fr) auto; gap: 8px; align-items: center; min-height: 48px; padding: 7px 9px 7px 0; border: 1px solid rgba(148, 163, 184, 0.16); border-radius: 7px; background: rgba(15, 23, 18, 0.84); text-decoration: none !important; }
.pda-route-node:hover, .pda-route-node:focus { border-color: rgba(74, 222, 128, 0.55); background: rgba(20, 35, 26, 0.96); }
.pda-route-node.is-optional { margin-left: 25px; border-style: dashed; }
.pda-route-index { z-index: 1; display: grid; place-items: center; width: 25px; height: 25px; margin: auto; border: 1px solid #4ade80; border-radius: 50%; color: #86efac; background: #09110c; font: 700 0.62rem/1 var(--font-pda); }
.pda-route-icon { font-size: 1.15rem; text-align: center; }
.pda-route-copy strong, .pda-route-copy small { display: block; }
.pda-route-copy strong { color: #e5e7eb; font-size: 0.86rem; }
.pda-route-copy small { margin-top: 2px; color: #94a3b8; font-size: 0.7rem; }
.pda-route-state { color: #86efac; font: 700 0.61rem/1.2 var(--font-pda); letter-spacing: 0.04em; text-align: right; }
.pda-route-node.is-locked { opacity: 0.58; filter: grayscale(0.65); }
.pda-route-node.is-locked .pda-route-index { border-color: #64748b; color: #94a3b8; }
.pda-route-map footer { margin-top: 10px; text-align: right; }
@media (max-width: 520px) {
  .pda-route-map-head { grid-template-columns: 1fr; }
  .pda-route-map-head > strong { justify-self: start; min-width: 92px; }
  .pda-route-node { grid-template-columns: 37px 28px minmax(0, 1fr); }
  .pda-route-node.is-optional { margin-left: 14px; }
  .pda-route-state { grid-column: 3; text-align: left; }
  .pda-route-copy small { line-height: 1.3; }
  .pda-route-map footer .btn { display: block; text-align: center; }
}

/* Starter equipment briefing 1.20.2 */
.starter-briefing {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 16px;
  align-items: center;
  margin: 12px 0;
  padding: 13px;
  border: 1px solid rgba(250, 204, 21, 0.5);
  border-radius: 9px;
  background: linear-gradient(125deg, rgba(27, 24, 8, 0.95), rgba(12, 20, 15, 0.97));
  box-shadow: inset 0 0 20px rgba(250, 204, 21, 0.04);
}
.starter-briefing-copy small { color: #fde047; font: 700 0.66rem/1.2 var(--font-pda); letter-spacing: 0.08em; }
.starter-briefing-copy h2 { margin: 3px 0 5px; color: #f8fafc; font: 800 1rem/1.2 var(--font-pda); }
.starter-briefing-copy p { margin: 0; color: #cbd5e1; font-size: 0.78rem; line-height: 1.4; }
.starter-briefing-checks { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.starter-briefing-checks span { display: flex; gap: 6px; align-items: center; padding: 7px; border: 1px solid rgba(148, 163, 184, 0.2); border-radius: 6px; color: #cbd5e1; font-size: 0.72rem; }
.starter-briefing-checks span b { display: grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; }
.starter-briefing-checks .is-ready b { color: #052e16; background: #4ade80; }
.starter-briefing-checks .is-missing { border-color: rgba(248, 113, 113, 0.45); color: #fecaca; }
.starter-briefing-checks .is-missing b { color: #fff; background: #b91c1c; }
.starter-briefing form { margin: 0; text-align: right; }
.starter-briefing-warning { grid-column: 1 / -1; color: #fca5a5; font-size: 0.7rem; }
@media (max-width: 520px) {
  .starter-briefing { grid-template-columns: 1fr; }
  .starter-briefing-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .starter-briefing form .btn { display: block; width: 100%; }
}

/* Connected PDA field dashboard — 1.20.7 */
.pda-summary {
  --pda-panel: rgba(9, 17, 12, 0.96);
  --pda-panel-soft: rgba(16, 28, 20, 0.92);
  --pda-line: rgba(129, 171, 107, 0.25);
  --pda-green: #9ee872;
  --pda-muted: #95a590;
  display: grid;
  gap: 12px;
  margin: 12px 0;
}

.pda-summary-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px;
  overflow: hidden;
  border: 1px solid rgba(158, 232, 114, 0.4);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(158, 232, 114, 0.04) 1px, transparent 1px) 0 0 / 24px 24px,
    radial-gradient(circle at 88% 15%, rgba(158, 232, 114, 0.16), transparent 34%),
    linear-gradient(130deg, #08110c, #132018);
  box-shadow: inset 0 0 30px rgba(158, 232, 114, 0.04), 0 8px 26px rgba(0, 0, 0, 0.3);
}

.pda-summary-hero::after {
  content: '';
  position: absolute;
  right: -34px;
  bottom: -58px;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(158, 232, 114, 0.1);
  border-radius: 50%;
  box-shadow: 0 0 0 22px rgba(158, 232, 114, 0.03), 0 0 0 48px rgba(158, 232, 114, 0.02);
  pointer-events: none;
}

.pda-summary-kicker,
.pda-card-kicker {
  display: block;
  color: var(--pda-green);
  font: 700 0.66rem/1.25 var(--font-pda);
  letter-spacing: 0.1em;
}

.pda-summary-hero h1 {
  margin: 4px 0 7px;
  color: #f3f8ef;
  font: 800 1.45rem/1.1 var(--font-heading);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.pda-summary-hero p {
  max-width: 650px;
  margin: 0;
  color: #b8c5b4;
  font-size: 0.82rem;
  line-height: 1.5;
}

.pda-summary-identity {
  position: relative;
  z-index: 1;
  min-width: 170px;
  padding: 11px 13px;
  border: 1px solid rgba(158, 232, 114, 0.28);
  border-radius: 8px;
  background: rgba(3, 9, 5, 0.7);
  text-align: right;
}

.pda-summary-identity strong,
.pda-summary-identity span,
.pda-summary-identity small { display: block; }
.pda-summary-identity strong { color: #eaffdc; font-size: 0.98rem; }
.pda-summary-identity span { margin-top: 3px; color: #b9dba6; font-size: 0.73rem; }
.pda-summary-identity small { margin-top: 3px; color: #798a76; font: 0.62rem var(--font-pda); }

.pda-command-grid,
.pda-signal-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.pda-focus-card,
.pda-activity-card,
.pda-signal-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 15px;
  border: 1px solid var(--pda-line);
  border-radius: 9px;
  background: var(--pda-panel);
  box-shadow: inset 3px 0 rgba(158, 232, 114, 0.4), 0 6px 18px rgba(0, 0, 0, 0.22);
}

.pda-focus-card.is-ready { border-color: rgba(250, 204, 21, 0.55); box-shadow: inset 3px 0 #facc15, 0 6px 18px rgba(0, 0, 0, 0.22); }
.pda-focus-card.is-locked { box-shadow: inset 3px 0 #64748b, 0 6px 18px rgba(0, 0, 0, 0.22); }
.pda-focus-card.is-complete { box-shadow: inset 3px 0 #38bdf8, 0 6px 18px rgba(0, 0, 0, 0.22); }
.pda-activity-card.is-running { border-color: rgba(250, 204, 21, 0.45); box-shadow: inset 3px 0 #facc15, 0 6px 18px rgba(0, 0, 0, 0.22); }

.pda-focus-card h2,
.pda-activity-card h2,
.pda-signal-card h2 {
  margin: 5px 0 7px;
  color: #edf6e8;
  font: 700 1.05rem/1.25 var(--font-heading);
}

.pda-focus-card p,
.pda-activity-card p,
.pda-signal-card p {
  margin: 0 0 12px;
  color: #aab7a6;
  font-size: 0.79rem;
  line-height: 1.45;
}

.pda-focus-card > .btn,
.pda-activity-card > .btn,
.pda-signal-card > .btn { align-self: flex-start; margin-top: auto; }
.pda-mode-note { display: block; margin: -5px 0 10px; color: #82917d; font-size: 0.67rem; }
.pda-secondary-action { margin-top: 8px; color: #91b57e; font-size: 0.69rem; }

.pda-active-line {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  gap: 8px;
  align-items: center;
  margin-bottom: 8px;
  padding: 8px;
  border: 1px solid rgba(250, 204, 21, 0.18);
  border-radius: 6px;
  background: rgba(250, 204, 21, 0.04);
}
.pda-active-line > span { font-size: 1.25rem; text-align: center; }
.pda-active-line div strong,
.pda-active-line div small { display: block; }
.pda-active-line div strong { color: #f2f6ef; font-size: 0.78rem; }
.pda-active-line div small { color: #94a18f; font-size: 0.67rem; }
.pda-active-line > b { color: #fde68a; font: 700 0.6rem/1.3 var(--font-pda); text-align: right; }

.pda-warning-list {
  overflow: hidden;
  border: 1px solid rgba(248, 113, 113, 0.36);
  border-radius: 9px;
  background: rgba(28, 12, 11, 0.85);
}
.pda-warning-list > header,
.pda-ready-banner {
  display: flex;
  gap: 10px;
  align-items: center;
  padding: 10px 13px;
}
.pda-warning-list > header { border-bottom: 1px solid rgba(248, 113, 113, 0.2); }
.pda-warning-list > header > span { color: #fca5a5; font-size: 1.25rem; }
.pda-warning-list > header strong,
.pda-warning-list > header small,
.pda-ready-banner strong,
.pda-ready-banner small { display: block; }
.pda-warning-list > header strong { color: #fecaca; }
.pda-warning-list > header small { color: #a98e8c; font-size: 0.67rem; }
.pda-warning {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 13px;
  border-bottom: 1px solid rgba(248, 113, 113, 0.1);
}
.pda-warning:last-child { border-bottom: 0; }
.pda-warning div strong,
.pda-warning div span { display: block; }
.pda-warning div strong { color: #f4dedc; font-size: 0.78rem; }
.pda-warning div span { margin-top: 2px; color: #bda9a6; font-size: 0.7rem; }
.pda-warning > a { color: #fecaca; font-size: 0.7rem; white-space: nowrap; }
.pda-warning.is-warning > a { color: #fde68a; }

.pda-ready-banner {
  border: 1px solid rgba(74, 222, 128, 0.32);
  border-radius: 9px;
  background: rgba(8, 27, 16, 0.78);
}
.pda-ready-banner > span { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; color: #052e16; background: #4ade80; font-weight: 900; }
.pda-ready-banner strong { color: #d9fbd0; font-size: 0.8rem; }
.pda-ready-banner small { color: #8eaa88; font-size: 0.68rem; }

.pda-readiness-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.pda-readiness-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  padding: 12px;
  border: 1px solid var(--pda-line);
  border-radius: 8px;
  background: var(--pda-panel-soft);
}
.pda-readiness-card > header { display: flex; gap: 8px; align-items: center; padding-bottom: 8px; border-bottom: 1px solid rgba(129, 171, 107, 0.14); }
.pda-readiness-card > header > span { display: grid; place-items: center; width: 29px; height: 29px; border: 1px solid rgba(158, 232, 114, 0.25); border-radius: 50%; color: #c9f0b2; }
.pda-readiness-card > header strong,
.pda-readiness-card > header small { display: block; }
.pda-readiness-card > header strong { color: #e4edde; font-size: 0.78rem; }
.pda-readiness-card > header small { color: #82917e; font-size: 0.62rem; }
.pda-readiness-card > a { margin-top: auto; padding-top: 9px; color: #a9d690; font-size: 0.69rem; }

.pda-mini-meter { margin-top: 9px; }
.pda-mini-meter > span { display: flex; justify-content: space-between; gap: 8px; color: #9aa795; font-size: 0.65rem; }
.pda-mini-meter > span b { color: #dce8d5; }
.pda-mini-meter > div { height: 5px; margin-top: 4px; overflow: hidden; border-radius: 5px; background: #060a07; }
.pda-mini-meter i { display: block; height: 100%; background: #73c64f; box-shadow: 0 0 8px rgba(115, 198, 79, 0.4); }
.pda-mini-meter i.is-warning { background: #eab308; }
.pda-mini-meter i.is-danger { background: #ef4444; }
.pda-mini-meter i.is-stable { background: #84cc16; }

.pda-readiness-facts { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 9px; }
.pda-readiness-facts span { padding: 4px 6px; border-radius: 4px; color: #93a18e; background: rgba(0, 0, 0, 0.22); font-size: 0.61rem; }
.pda-readiness-facts span b { color: #e0ead9; }
.pda-capacity-number,
.pda-equipment-condition { display: flex; gap: 7px; align-items: baseline; margin-top: 11px; }
.pda-capacity-number strong,
.pda-equipment-condition strong { color: #dfffc9; font: 800 1.35rem/1 var(--font-pda); }
.pda-capacity-number span,
.pda-equipment-condition span { color: #8e9c89; font-size: 0.64rem; line-height: 1.3; }

.pda-ammo-line { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 8px 0; border-bottom: 1px solid rgba(129, 171, 107, 0.12); }
.pda-ammo-line span,
.pda-ammo-line small { display: block; }
.pda-ammo-line span { color: #cbd8c5; font-size: 0.7rem; }
.pda-ammo-line small { max-width: 120px; overflow: hidden; color: #748070; font-size: 0.58rem; text-overflow: ellipsis; white-space: nowrap; }
.pda-ammo-line strong { color: #dfffc9; font: 700 0.72rem var(--font-pda); white-space: nowrap; }
.pda-ammo-line.is-missing { opacity: 0.55; }

.pda-signal-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
  margin-top: auto;
}
.pda-signal-actions a { display: flex; min-height: 42px; justify-content: space-between; gap: 8px; align-items: center; padding: 0 10px; border: 1px solid rgba(158, 232, 114, 0.18); border-radius: 6px; color: #cce8bc; background: rgba(158, 232, 114, 0.03); font-size: 0.72rem; text-decoration: none; }
.pda-signal-actions a:hover,
.pda-signal-actions a:focus { border-color: rgba(158, 232, 114, 0.5); background: rgba(158, 232, 114, 0.08); }
.pda-signal-actions b { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 10px; color: #071008; background: var(--pda-green); font-size: 0.62rem; }

.pda-route-disclosure {
  border: 1px solid var(--pda-line);
  border-radius: 9px;
  background: var(--pda-panel);
}
.pda-route-disclosure > summary { display: flex; min-height: 48px; justify-content: space-between; gap: 12px; align-items: center; padding: 8px 13px; color: #dcebd4; cursor: pointer; list-style-position: inside; }
.pda-route-disclosure > summary span { display: inline-block; vertical-align: middle; }
.pda-route-disclosure > summary b,
.pda-route-disclosure > summary small { display: block; }
.pda-route-disclosure > summary b { font-size: 0.78rem; }
.pda-route-disclosure > summary small { color: #81907c; font-size: 0.63rem; }
.pda-route-disclosure > summary > strong { color: var(--pda-green); font: 700 0.68rem var(--font-pda); white-space: nowrap; }
.pda-route-disclosure[open] > summary { border-bottom: 1px solid var(--pda-line); }
.pda-route-disclosure .pda-route-map { margin: 0; border: 0; border-radius: 0 0 9px 9px; }
.pda-route-map-head h2 { margin: 3px 0 5px; color: #f8fafc; font: 800 1.25rem/1.1 var(--font-pda); letter-spacing: 0.05em; }

.pda-service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.pda-service-grid > a { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 8px; align-items: center; min-height: 48px; padding: 8px; border: 1px solid rgba(129, 171, 107, 0.18); border-radius: 7px; color: #d3dfcc; background: rgba(10, 17, 12, 0.78); text-decoration: none; }
.pda-service-grid > a:hover,
.pda-service-grid > a:focus { border-color: rgba(158, 232, 114, 0.5); background: rgba(158, 232, 114, 0.05); }
.pda-service-grid > a > span { grid-row: 1 / span 2; color: #9edc7b; font-size: 1.05rem; text-align: center; }
.pda-service-grid strong,
.pda-service-grid small { display: block; }
.pda-service-grid strong { font-size: 0.73rem; }
.pda-service-grid small { color: #798676; font-size: 0.6rem; }
.pda-logout { margin: -3px 0 0; text-align: right; }
.pda-logout .btn { color: #7f8d7b; font-size: 0.68rem; }

@media (max-width: 760px) {
  .pda-readiness-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .pda-summary { gap: 9px; }
  .pda-summary-hero,
  .pda-command-grid,
  .pda-signal-grid { grid-template-columns: 1fr; }
  .pda-summary-hero { padding: 14px; }
  .pda-summary-hero h1 { font-size: 1.2rem; }
  .pda-summary-identity { min-width: 0; text-align: left; }
  .pda-focus-card,
  .pda-activity-card,
  .pda-signal-card { padding: 13px; }
  .pda-focus-card > .btn,
  .pda-activity-card > .btn,
  .pda-signal-card > .btn { width: 100%; box-sizing: border-box; text-align: center; }
  .pda-active-line { grid-template-columns: 30px minmax(0, 1fr); }
  .pda-active-line > b { grid-column: 2; text-align: left; }
  .pda-warning { grid-template-columns: 1fr; }
  .pda-warning > a { min-height: 36px; display: flex; align-items: center; white-space: normal; }
  .pda-readiness-grid { grid-template-columns: 1fr; }
  .pda-readiness-card { padding: 11px; }
  .pda-signal-actions { grid-template-columns: 1fr; }
  .pda-signal-actions a { min-height: 44px; }
  .pda-route-disclosure > summary { min-height: 52px; }
  .pda-route-disclosure > summary > strong { display: none; }
  .pda-service-grid { grid-template-columns: 1fr; }
  .pda-service-grid > a { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .pda-summary *,
  .pda-summary *::before,
  .pda-summary *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Field inventory — 1.21.0 */
.field-inventory {
  --inventory-panel: rgba(9, 16, 11, 0.96);
  --inventory-panel-soft: rgba(15, 25, 17, 0.94);
  --inventory-line: rgba(130, 166, 108, 0.24);
  --inventory-accent: #9ee872;
  display: grid;
  gap: 11px;
  margin: 12px 0;
}

.field-inventory-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(158, 232, 114, 0.38);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(158, 232, 114, 0.035) 1px, transparent 1px) 0 0 / 22px 22px,
    radial-gradient(circle at 90% 10%, rgba(158, 232, 114, 0.12), transparent 36%),
    linear-gradient(130deg, #08110b, #142019);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}
.field-inventory-title span,
.inventory-panel-heading span,
.inventory-browser-head > div > span { color: var(--inventory-accent); font: 700 0.64rem/1.25 var(--font-pda); letter-spacing: 0.1em; }
.field-inventory-title h1 { margin: 3px 0 5px; color: #f4f8f1; font: 800 1.35rem/1.15 var(--font-heading); text-transform: uppercase; }
.field-inventory-title p { max-width: 650px; margin: 0; color: #aab7a6; font-size: 0.78rem; line-height: 1.45; }
.field-inventory-title > .btn { margin: 0; white-space: nowrap; }

.field-inventory-profile { margin: 0; border-color: var(--inventory-line); box-shadow: none; }
.field-inventory-profile .stalker-user-login > span { color: #72d796; font-size: 0.72rem; }
.field-inventory-id { margin-top: 3px; color: #7f8d7b; font-size: 0.7rem; }

.field-inventory .equipment-doll-matrix {
  margin: 0;
  border-color: var(--inventory-line);
  background:
    radial-gradient(circle at center, rgba(158, 232, 114, 0.055), transparent 48%),
    #070c08;
}
.field-inventory .doll-slot { min-height: 64px; height: auto; padding: 5px; box-sizing: border-box; }
.field-inventory .doll-slot-large { min-height: 208px; }
.field-inventory .doll-slot > a { display: grid; width: 100%; height: 100%; place-items: center; }
.field-inventory .doll-slot-link { display: contents; }
.field-inventory .doll-slot-empty { color: #4e5b4b; font-size: 0.68rem; text-align: center; }
.field-inventory .doll-slot-placeholder { opacity: .25; }
.field-inventory .inventory-card-image { object-fit: contain; }

.inventory-primary-nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 7px;
}
.inventory-primary-nav > a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 52px;
  padding: 8px 10px;
  border: 1px solid var(--inventory-line);
  border-radius: 8px;
  color: #d8e2d2;
  background: var(--inventory-panel);
  text-decoration: none;
}
.inventory-primary-nav > a:hover,
.inventory-primary-nav > a:focus,
.inventory-primary-nav > a.is-active { border-color: rgba(158, 232, 114, 0.56); background: rgba(158, 232, 114, 0.07); }
.inventory-primary-nav > a.is-active { box-shadow: inset 3px 0 var(--inventory-accent); }
.inventory-primary-nav > a > span { grid-row: 1 / span 2; color: #b9e9a0; font-size: 1.15rem; text-align: center; }
.inventory-primary-nav strong,
.inventory-primary-nav small { display: block; }
.inventory-primary-nav strong { font-size: 0.78rem; }
.inventory-primary-nav small { color: #788575; font-size: 0.61rem; }

.field-inventory .inventory-ajax-status {
  position: sticky;
  z-index: 30;
  top: 8px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border-radius: 7px;
  background: rgba(7, 12, 8, 0.96);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}
.field-inventory .inventory-ajax-status:not(:empty) { min-height: 20px; padding: 9px 11px; border: 1px solid var(--inventory-line); }
.field-inventory .inventory-status-pending { border-color: rgba(250, 204, 21, 0.5) !important; }
.field-inventory .inventory-status-success { border-color: rgba(74, 222, 128, 0.5) !important; }
.field-inventory .inventory-status-error { border-color: rgba(248, 113, 113, 0.55) !important; }

.inventory-diagnostics { border: 1px solid var(--inventory-line); border-radius: 8px; background: rgba(7, 13, 9, .91); }
.inventory-diagnostics > summary { display: flex; justify-content: space-between; gap: 10px; align-items: center; min-height: 40px; padding: 7px 10px; color: #cbd9c5; font: 800 .7rem/1.25 var(--font-pda); cursor: pointer; }
.inventory-diagnostics > summary small { color: #83917e; font-size: .6rem; font-weight: 500; text-align: right; }
.inventory-diagnostics[open] > summary { border-bottom: 1px solid var(--inventory-line); }
.inventory-diagnostics > section { margin: 8px !important; }

.field-inventory .inventory-capacity,
.field-inventory .inventory-character-sheet,
.inventory-ammo-summary {
  margin: 0;
  padding: 12px;
  border: 1px solid var(--inventory-line);
  border-radius: 8px;
  background: var(--inventory-panel);
}
.field-inventory .inventory-capacity { border-left: 4px solid #7aa35f; }
.field-inventory .inventory-capacity.capacity-warning { border-left-color: #f59e0b; }
.field-inventory .inventory-capacity.capacity-danger { border-left-color: #ef4444; }

.inventory-panel-heading {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 10px;
}
.inventory-panel-heading h2 { margin: 2px 0 0; color: #e9f1e5; font: 700 0.98rem/1.2 var(--font-heading); }
.inventory-panel-heading > a { color: #9fcf87; font-size: 0.68rem; white-space: nowrap; }
.inventory-character-sheet .inventory-stat-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }

.inventory-ammo-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.inventory-ammo-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid rgba(158, 232, 114, 0.2);
  border-radius: 7px;
  background: rgba(0, 0, 0, 0.2);
}
.inventory-ammo-card.is-empty { border-color: rgba(248, 113, 113, 0.45); }
.inventory-ammo-card.is-missing { opacity: 0.55; border-style: dashed; }
.inventory-ammo-card > div:first-child > span,
.inventory-ammo-card > div:first-child > strong,
.inventory-ammo-card > div:first-child > small { display: block; }
.inventory-ammo-card > div:first-child > span { color: #93a48d; font-size: 0.62rem; text-transform: uppercase; }
.inventory-ammo-card > div:first-child > strong { margin: 2px 0; overflow: hidden; color: #e0eadb; font-size: 0.78rem; text-overflow: ellipsis; white-space: nowrap; }
.inventory-ammo-card > div:first-child > small { color: #74806f; font-size: 0.61rem; }
.inventory-ammo-values { min-width: 76px; text-align: right; }
.inventory-ammo-values strong,
.inventory-ammo-values small,
.inventory-ammo-values b { display: block; }
.inventory-ammo-values strong { color: #dfffc9; font: 800 1.02rem/1 var(--font-pda); }
.inventory-ammo-values small { margin-top: 2px; color: #788575; font-size: 0.56rem; }
.inventory-ammo-values b { margin-top: 4px; color: #e8c96d; font-size: 0.63rem; }
.inventory-ammo-note { display: block; margin-top: 8px; color: #7e8c79; font-size: 0.64rem; line-height: 1.4; }

.inventory-browser-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  margin-top: 3px;
  padding: 12px;
  border: 1px solid var(--inventory-line);
  border-radius: 8px 8px 0 0;
  background: var(--inventory-panel);
}
.inventory-browser-head h2 { margin: 2px 0 3px; color: #edf3e9; font: 700 1.02rem/1.2 var(--font-heading); }
.inventory-browser-head p { margin: 0; color: #849080; font-size: 0.68rem; }
.inventory-browser-head form,
.inventory-browser-head label { margin: 0; }
.inventory-browser-head label { color: #7f8c7a; font-size: 0.62rem; }
.inventory-browser-head select { display: block; min-width: 170px; min-height: 38px; margin: 3px 0 0; color: #dbe8d5; border-color: #354431; background: #0a100b; }

.inventory-category-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  border: 1px solid var(--inventory-line);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: rgba(4, 8, 5, 0.9);
}
.inventory-category-tabs.is-supplies { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.inventory-category-tabs > a { display: grid; min-height: 42px; place-items: center; padding: 4px 6px; color: #93a18e; background: rgba(16, 25, 17, 0.75); font-size: 0.66rem; text-align: center; text-decoration: none; }
.inventory-category-tabs > a:hover,
.inventory-category-tabs > a:focus,
.inventory-category-tabs > a.is-active { color: #e4f7d9; background: rgba(158, 232, 114, 0.1); }
.inventory-category-tabs > a.is-active { box-shadow: inset 0 -2px var(--inventory-accent); }

.field-item-card,
.field-stack-card {
  position: relative;
  margin: 0;
  padding: 12px;
  border: 1px solid var(--inventory-line);
  border-left: 3px solid #53624e;
  border-radius: 8px;
  background: linear-gradient(130deg, rgba(11, 18, 12, 0.98), rgba(16, 25, 18, 0.96));
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.2);
}
.field-item-card.is-equipped { border-color: rgba(74, 222, 128, 0.48); border-left-color: #4ade80; box-shadow: inset 0 0 22px rgba(74, 222, 128, 0.035), 0 5px 16px rgba(0, 0, 0, 0.2); }
.field-item-card.rarity-uncommon,
.field-stack-card.rarity-uncommon { border-left-color: #6fcf78; }
.field-item-card.rarity-rare,
.field-stack-card.rarity-rare { border-left-color: #5ba8e8; }
.field-item-card.rarity-epic,
.field-stack-card.rarity-epic { border-left-color: #b27bea; }
.field-item-card.rarity-unique,
.field-stack-card.rarity-unique { border-left-color: #e9bb55; }
.field-item-card .media,
.field-stack-card .media { margin: 0; }
.field-item-card .media-body,
.field-stack-card .media-body { min-width: 0; font-family: var(--font-pda); }
.field-item-card .media-heading { margin-top: 0 !important; }
.field-item-card .media-heading > a { color: #f4f8f1; text-decoration: none; }
.field-item-card .media-heading > a:hover,
.field-item-card .media-heading > a:focus { color: var(--inventory-accent); }
.inventory-rarity-label { font-size: 0.67rem; font-weight: normal; }
.field-item-card .inventory-item-image { position: relative; border-color: #32412f; background: #080d09; }
.inventory-equipped-badge { position: absolute; top: -6px; right: -7px; padding: 3px 5px; border-radius: 8px; color: #052e16; background: #4ade80; font: 800 0.55rem/1 var(--font-pda); }
.inventory-item-description { margin: 4px 0 8px; color: #9da99a; font-size: 0.73rem; line-height: 1.4; }
.inventory-item-statline { margin-bottom: 8px; color: #8ddf9d; font-size: 0.72rem; line-height: 1.55; }
.inventory-item-intel,
.inventory-stack-intel { margin-top: 7px; border: 1px solid rgba(130, 166, 108, .18); border-radius: 5px; background: rgba(0, 0, 0, .14); }
.inventory-item-intel > summary,
.inventory-stack-intel > summary { display: flex; justify-content: space-between; gap: 8px; align-items: center; padding: 6px 7px; color: #a8c69a; font: 700 .62rem/1.25 var(--font-pda); cursor: pointer; }
.inventory-item-intel > summary b { color: #e3c66e; font-size: .58rem; white-space: nowrap; }
.inventory-item-intel > .inventory-item-description,
.inventory-stack-intel > .inventory-item-description { margin: 0; padding: 0 7px 7px; }
.inventory-item-intel > .inventory-item-statline { margin: 0; padding: 0 7px 7px; }
.inventory-item-intel > .inventory-comparison { margin: 0 7px 7px; }
.inventory-level-notice { margin: 0 0 8px; padding: 6px 8px; }

.inventory-item-actions { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 6px; margin-top: 8px; }
.inventory-item-actions form { margin: 0; }
.inventory-item-actions form:first-child { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; }
.inventory-item-actions .btn { box-sizing: border-box; width: 100%; min-height: 40px; margin: 0; }
.inventory-item-actions form:first-child > a { width: auto; }
.field-inventory .inventory-repair-form .btn { width: 100%; }

.inventory-stack-heading { display: flex; justify-content: space-between; gap: 10px; align-items: flex-start; }
.inventory-stack-heading h4 { margin: 0; color: #edf3e9; font-size: 0.92rem; }
.inventory-stack-heading small { display: block; margin-top: 2px; color: #81907d; font-size: 0.61rem; }
.inventory-stack-count { flex: 0 0 auto; padding: 4px 7px; border: 1px solid rgba(234, 179, 8, 0.28); border-radius: 10px; color: #fde68a; background: rgba(234, 179, 8, 0.07); font: 700 0.65rem var(--font-pda); }
.inventory-effect-list { display: flex; flex-wrap: wrap; gap: 5px; margin: 8px 0; }
.inventory-effect-list span { padding: 5px 7px; border-radius: 5px; color: #9cab98; background: rgba(0, 0, 0, 0.22); font-size: 0.64rem; }
.inventory-effect-list b { color: #dfffc9; }
.inventory-consumable-form { margin: 8px 0 0; }
.inventory-consumable-form .btn { box-sizing: border-box; width: 100%; min-height: 42px; }
.field-stack-card .inventory-stack-actions { margin-top: 8px; }

.inventory-empty-state {
  display: grid;
  min-height: 135px;
  place-items: center;
  align-content: center;
  gap: 4px;
  padding: 18px;
  border: 1px dashed rgba(130, 166, 108, 0.3);
  border-radius: 8px;
  color: #82907e;
  background: rgba(9, 15, 10, 0.75);
  text-align: center;
}
.inventory-empty-state > span { color: #60705b; font-size: 1.45rem; }
.inventory-empty-state > strong { color: #cad6c5; font-size: 0.82rem; }
.inventory-empty-state > small { max-width: 480px; font-size: 0.68rem; line-height: 1.4; }
.inventory-empty-state > .btn { margin-top: 7px; }

@media (max-width: 760px) {
  .inventory-character-sheet .inventory-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-category-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .inventory-primary-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .field-inventory { gap: 8px; }
  .field-inventory-title { grid-template-columns: 1fr; padding: 13px; }
  .field-inventory-title h1 { font-size: 1.16rem; }
  .field-inventory-title > .btn { width: 100%; box-sizing: border-box; text-align: center; }
  .field-inventory-profile .stalker-profile-top { align-items: flex-start; }
  .field-inventory-profile .stalker-avatar-box { width: 52px; height: 52px; }
  .field-inventory .equipment-doll-matrix { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 7px; }
  .field-inventory .doll-column { gap: 6px; }
  .field-inventory .doll-slot { min-height: 58px; }
  .field-inventory .doll-slot-large { min-height: 186px; }
  .field-inventory .doll-slot-label { font-size: 0.52rem; }
  .inventory-primary-nav { grid-template-columns: 1fr; }
  .inventory-primary-nav > a { min-height: 48px; }
  .inventory-panel-heading { align-items: flex-start; flex-direction: column; }
  .inventory-panel-heading > a { min-height: 32px; display: flex; align-items: center; white-space: normal; }
	.inventory-diagnostics > summary { align-items: flex-start; flex-direction: column; }
	.inventory-diagnostics > summary small { text-align: left; }
  .inventory-character-sheet .inventory-stat-grid,
  .inventory-ammo-grid { grid-template-columns: 1fr; }
  .inventory-browser-head { grid-template-columns: 1fr; align-items: stretch; }
  .inventory-browser-head select { box-sizing: border-box; width: 100%; min-height: 44px; }
  .inventory-category-tabs,
  .inventory-category-tabs.is-supplies { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inventory-category-tabs > a { min-height: 44px; }
  .field-item-card,
  .field-stack-card { padding: 10px; }
  .field-item-card .media > .pull-left,
  .field-stack-card .media > .pull-left { float: none; display: block; width: fit-content; margin: 0 0 8px; }
  .inventory-item-actions { grid-template-columns: 1fr; }
  .inventory-item-actions form:first-child { grid-template-columns: 1fr; }
  .inventory-item-actions .btn,
  .inventory-consumable-form .btn { min-height: 44px; }
  .inventory-stack-actions { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .field-inventory *,
  .field-inventory *::before,
  .field-inventory *::after { transition: none !important; animation: none !important; }
}

/* Field supply and market — 1.22.0 */
.supply-market,
.supply-reward-page {
  --supply-panel: rgba(9, 16, 11, 0.96);
  --supply-soft: rgba(15, 25, 17, 0.94);
  --supply-line: rgba(130, 166, 108, 0.24);
  --supply-accent: #9ee872;
  display: grid;
  gap: 10px;
  margin: 12px 0;
  font-family: var(--font-pda);
}

.supply-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid rgba(158, 232, 114, 0.38);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(158, 232, 114, 0.035) 1px, transparent 1px) 0 0 / 22px 22px,
    radial-gradient(circle at 88% 15%, rgba(234, 179, 8, 0.12), transparent 34%),
    linear-gradient(130deg, #08110b, #142019);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.28);
}
.supply-hero.is-sale { border-color: rgba(234, 179, 8, 0.34); }
.supply-hero span,
.supply-browser-head > div > span,
.supply-trader-card > div > span,
.supply-trophy-card header span,
.supply-result-card > span { color: var(--supply-accent); font: 700 0.62rem/1.2 var(--font-pda); letter-spacing: 0.1em; }
.supply-hero h1 { margin: 3px 0 5px; color: #f4f8f1; font: 800 1.35rem/1.15 var(--font-heading); text-transform: uppercase; }
.supply-hero p { max-width: 650px; margin: 0; color: #aab7a6; font-size: 0.76rem; line-height: 1.45; }
.supply-hero > .btn { margin: 0; white-space: nowrap; }

.supply-primary-nav {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}
.supply-primary-nav > a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 8px;
  align-items: center;
  min-height: 52px;
  padding: 8px 10px;
  border: 1px solid var(--supply-line);
  border-radius: 8px;
  color: #d8e2d2;
  background: var(--supply-panel);
  text-decoration: none;
}
.supply-primary-nav > a:hover,
.supply-primary-nav > a:focus,
.supply-primary-nav > a.is-active { border-color: rgba(158, 232, 114, 0.56); background: rgba(158, 232, 114, 0.07); }
.supply-primary-nav > a.is-active { box-shadow: inset 3px 0 var(--supply-accent); }
.supply-primary-nav > a > span { grid-row: 1 / span 2; color: #b9e9a0; font-size: 1.15rem; text-align: center; }
.supply-primary-nav strong,
.supply-primary-nav small { display: block; }
.supply-primary-nav strong { font-size: 0.78rem; }
.supply-primary-nav small { color: #788575; font-size: 0.61rem; }

.supply-capacity-warning { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 8px 10px; border: 1px solid rgba(245, 158, 11, .42); border-radius: 7px; color: #f9c77b; background: rgba(76, 35, 5, .25); font: 700 .65rem/1.3 var(--font-pda); }
.supply-capacity-warning.is-danger { border-color: rgba(248, 113, 113, .5); color: #ffaaa3; background: rgba(73, 15, 12, .28); }
.supply-capacity-warning span { color: inherit; font-size: .61rem; font-weight: 500; text-align: right; }
.supply-capacity-warning[hidden] { display: none; }

.supply-ajax-status {
  position: sticky;
  z-index: 30;
  top: 8px;
  min-height: 0;
  padding: 0;
  border-radius: 7px;
  color: #dce8d7;
  background: rgba(7, 12, 8, 0.97);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.28);
}
.supply-ajax-status:not(:empty) { min-height: 20px; padding: 9px 11px; border: 1px solid var(--supply-line); }
.supply-ajax-status.is-pending { border-color: rgba(250, 204, 21, 0.5); }
.supply-ajax-status.is-success { border-color: rgba(74, 222, 128, 0.5); }
.supply-ajax-status.is-error { border-color: rgba(248, 113, 113, 0.55); }

.supply-discount,
.supply-trader-card {
  padding: 12px;
  border: 1px solid rgba(74, 222, 128, 0.36);
  border-left: 4px solid #4ade80;
  border-radius: 8px;
  background: linear-gradient(120deg, rgba(5, 20, 10, 0.96), rgba(15, 25, 17, 0.94));
}
.supply-discount > div { display: flex; justify-content: space-between; gap: 14px; align-items: center; }
.supply-discount h2 { margin: 0; color: #74dd92; font-size: 0.78rem; }
.supply-discount p { margin: 3px 0 0; color: #99a695; font-size: 0.67rem; line-height: 1.4; }
.supply-discount > div > div:last-child span { display: inline-block; padding: 5px 7px; border-radius: 10px; color: #dcfce7; background: rgba(74, 222, 128, 0.12); font-size: 0.66rem; white-space: nowrap; }

.supply-entry-grid,
.supply-category-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.supply-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.supply-entry-grid > a,
.supply-category-grid > a {
  display: grid;
  gap: 4px;
  min-height: 62px;
  align-content: center;
  padding: 12px;
  border: 1px solid var(--supply-line);
  border-radius: 8px;
  color: #d8e2d2;
  background: var(--supply-panel);
  text-decoration: none;
}
.supply-entry-grid > a { grid-template-columns: 32px minmax(0, 1fr); }
.supply-entry-grid > a > span { grid-row: 1 / span 2; color: var(--supply-accent); font-size: 1.05rem; text-align: center; }
.supply-entry-grid strong,
.supply-entry-grid small,
.supply-category-grid strong,
.supply-category-grid small { display: block; }
.supply-entry-grid small,
.supply-category-grid small { color: #7e8a7a; font-size: 0.62rem; }
.supply-entry-grid > a:hover,
.supply-entry-grid > a:focus,
.supply-category-grid > a:hover,
.supply-category-grid > a:focus { border-color: rgba(158, 232, 114, 0.5); background: rgba(158, 232, 114, 0.06); }

.supply-browser-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
  padding: 12px;
  border: 1px solid var(--supply-line);
  border-radius: 8px 8px 0 0;
  background: var(--supply-panel);
}
.supply-browser-head h2 { margin: 2px 0 3px; color: #edf3e9; font: 700 1.02rem/1.2 var(--font-heading); }
.supply-browser-head p { margin: 0; color: #849080; font-size: 0.68rem; }
.supply-browser-head form { display: flex; gap: 7px; align-items: flex-end; margin: 0; }
.supply-browser-head label { margin: 0; color: #7f8c7a; font-size: 0.6rem; }
.supply-browser-head select { display: block; min-width: 150px; min-height: 38px; margin: 3px 0 0; color: #dbe8d5; border-color: #354431; background: #0a100b; }

.supply-category-tabs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  border: 1px solid var(--supply-line);
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: rgba(4, 8, 5, 0.9);
}
.supply-category-tabs > a { display: grid; min-height: 40px; place-items: center; padding: 4px; color: #93a18e; background: rgba(16, 25, 17, 0.75); font-size: 0.62rem; text-align: center; text-decoration: none; }
.supply-category-tabs > a:hover,
.supply-category-tabs > a:focus,
.supply-category-tabs > a.is-active { color: #e4f7d9; background: rgba(158, 232, 114, 0.1); }
.supply-category-tabs > a.is-active { box-shadow: inset 0 -2px var(--supply-accent); }

.supply-product-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.supply-product {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 11px;
  min-width: 0;
  padding: 11px;
  border: 1px solid var(--supply-line);
  border-left: 3px solid #53624e;
  border-radius: 8px;
  background: linear-gradient(130deg, rgba(11, 18, 12, 0.98), rgba(16, 25, 18, 0.96));
  box-shadow: 0 5px 16px rgba(0, 0, 0, 0.2);
}
.supply-product.is-owned { opacity: 0.78; border-color: rgba(74, 222, 128, 0.38); }
.supply-product.rarity-uncommon { border-left-color: #6fcf78; }
.supply-product.rarity-rare { border-left-color: #5ba8e8; }
.supply-product.rarity-epic { border-left-color: #b27bea; }
.supply-product.rarity-unique { border-left-color: #e9bb55; }
.supply-product-image { display: grid; width: 92px; height: 92px; place-items: center; border: 1px solid #31402e; border-radius: 7px; background: #070c08; }
.supply-product-image img { display: block; max-width: 82px; max-height: 82px; object-fit: contain; }
.supply-product-body { min-width: 0; }
.supply-product-body > header { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.supply-product-body > header span { color: #81907d; font-size: 0.58rem; text-transform: uppercase; }
.supply-product-body > header h3 { margin: 2px 0 0; font-size: 0.84rem; line-height: 1.2; }
.supply-product-body > header h3 a { color: #edf3e9; text-decoration: none; }
.supply-product-body > header h3 a:hover,
.supply-product-body > header h3 a:focus { color: var(--supply-accent); }
.supply-product-body > header > b { flex: 0 0 auto; padding: 3px 6px; border-radius: 9px; color: #fde68a; background: rgba(234, 179, 8, 0.08); font-size: 0.58rem; }
.supply-stat-list { display: flex; flex-wrap: wrap; gap: 4px; }
.supply-stat-list span { padding: 4px 6px; border-radius: 4px; color: #8f9c8b; background: rgba(0, 0, 0, 0.22); font-size: 0.59rem; }
.supply-stat-list b { color: #dfffc9; }
.supply-price { display: flex; justify-content: space-between; gap: 8px; align-items: center; margin: 7px 0; padding: 6px 7px; border: 1px solid rgba(234, 179, 8, 0.18); border-radius: 5px; background: rgba(234, 179, 8, 0.035); }
.supply-price span { color: #8f9a8b; font-size: 0.59rem; }
.supply-price strong { color: #f8dc7c; font-size: 0.68rem; text-align: right; }
.supply-card-intel { margin-top: 6px; border: 1px solid rgba(130, 166, 108, .17); border-radius: 5px; background: rgba(0, 0, 0, .14); }
.supply-card-intel > summary { padding: 6px 7px; color: #a9c79a; font: 700 .61rem/1.25 var(--font-pda); cursor: pointer; }
.supply-card-intel > p { margin: 0; padding: 0 7px 7px; color: #98a594; font-size: .66rem; line-height: 1.4; }
.supply-card-intel .inventory-comparison { margin: 0 7px 7px; }
.supply-buy-actions { display: grid; grid-template-columns: 1fr; gap: 5px; }
.supply-buy-actions.is-stackable { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.supply-buy-actions .btn { display: grid; box-sizing: border-box; min-height: 40px; align-content: center; gap: 1px; margin: 0; padding: 5px; white-space: normal; }
.supply-buy-actions .btn span,
.supply-buy-actions .btn small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.supply-buy-actions .btn small { opacity: .78; font-size: .53rem; }
.supply-details-link { display: inline-block; margin-top: 7px; color: #9fcf87; font-size: 0.62rem; }
.supply-lock,
.supply-owned { margin-top: 7px; padding: 7px; border-radius: 5px; font-size: 0.64rem; }
.supply-lock { color: #fecaca; background: rgba(185, 28, 28, 0.13); }
.supply-owned { color: #bbf7d0; background: rgba(22, 101, 52, 0.13); }
.supply-product-detail { margin: 0; border-color: var(--supply-line); }
.supply-detail-actions { display: grid; gap: 7px; margin-top: 14px; }
.supply-detail-breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; padding: 8px 10px; border: 1px solid var(--supply-line); border-radius: 7px; color: #7f8b7a; background: var(--supply-panel); font-size: .65rem; }
.supply-detail-breadcrumb a { color: #a9d493; }
.supply-detail-breadcrumb strong { color: #d9e4d4; }
.supply-discount-price { color: #4ade80; }
.supply-detail-intel { margin-top: 10px; border: 1px solid var(--supply-line); border-radius: 7px; background: rgba(3, 8, 5, .62); }
.supply-detail-intel > summary { padding: 9px 10px; color: #bed8af; font: 800 .68rem/1.25 var(--font-pda); cursor: pointer; }
.supply-detail-intel > :not(summary) { margin-right: 9px; margin-left: 9px; }
.supply-detail-intel > :last-child { margin-bottom: 9px; }
.supply-detail-description { padding: 9px; border: 1px solid rgba(130, 166, 108, .14); border-radius: 5px; color: var(--text-muted); background: rgba(0, 0, 0, .24); font: .76rem/1.5 var(--font-pda); }
.spec-list-val.is-muted { color: #888; }
.supply-purchase-confirmation { padding: 13px; border: 1px solid var(--supply-line); border-radius: 8px; color: #bdc8b8; background: #090d09; font-family: var(--font-pda); text-align: center; }
.supply-purchase-confirmation h4 { margin-top: 0; color: #fff; }
.supply-voucher-confirmation { margin-bottom: 14px; padding: 10px; border: 1px solid #2ecc71; border-radius: 6px; color: #66dc8a; background: #060906; }
.supply-voucher-confirmation b { color: #fff; }
.supply-voucher-confirmation small { color: #aaa; }
.supply-confirm-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 0; }

.check-terminal { display: grid; gap: 10px; font-family: var(--font-pda); }
.check-terminal-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 16px; border: 1px solid rgba(234, 179, 8, .32); border-radius: 9px; background: radial-gradient(circle at 88% 20%, rgba(234, 179, 8, .13), transparent 34%), linear-gradient(135deg, #091109, #11140c); }
.check-terminal-hero span { color: #89a17e; font-size: .59rem; letter-spacing: .11em; }
.check-terminal-hero h1 { margin: 4px 0 5px; color: #f2f5ee; font: 800 1.2rem/1.15 var(--font-heading); }
.check-terminal-hero p { max-width: 610px; margin: 0; color: #96a392; font-size: .68rem; line-height: 1.45; }
.check-terminal-hero > img { filter: drop-shadow(0 0 12px rgba(234, 179, 8, .24)); }
.check-package-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.check-package-card { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 11px; border: 1px solid rgba(130, 166, 108, .24); border-left: 3px solid #d7a916; border-radius: 8px; background: linear-gradient(135deg, rgba(8, 15, 9, .97), rgba(18, 22, 13, .97)); }
.check-package-card > img { filter: drop-shadow(0 0 7px rgba(234, 179, 8, .2)); }
.check-package-card strong,
.check-package-card small { display: block; }
.check-package-card strong { color: #eef4ea; font-size: .82rem; }
.check-package-card small { margin-top: 2px; color: #e8c762; font-size: .65rem; }
.check-package-card form { margin: 0; }
.check-package-card .btn { box-sizing: border-box; min-height: 40px; margin: 0; }
.check-terminal-note { display: grid; gap: 3px; padding: 10px 12px; border: 1px solid rgba(130, 166, 108, .2); border-radius: 7px; color: #83917e; background: rgba(5, 10, 6, .84); font-size: .62rem; line-height: 1.4; }
.check-terminal-note strong { color: #b8d3aa; }

.supply-trader-card { display: grid; grid-template-columns: 72px minmax(0, 1fr); gap: 12px; align-items: center; border-color: rgba(234, 179, 8, 0.3); border-left-color: #eab308; }
.supply-trader-card.is-trophy { border-color: rgba(248, 113, 113, 0.28); border-left-color: #ef4444; }
.supply-trader-card img { width: 72px; height: 72px; border: 1px solid #354431; border-radius: 7px; object-fit: cover; }
.supply-trader-card h2 { margin: 2px 0 4px; color: #edf3e9; font-size: 0.92rem; }
.supply-trader-card p { margin: 0; color: #97a493; font-size: 0.68rem; line-height: 1.4; }
.supply-sale-card form,
.supply-trophy-card form { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px; align-items: end; margin: 7px 0 0; }
.supply-sale-card form label,
.supply-trophy-card form label { margin: 0; color: #8b9887; font-size: 0.59rem; }
.supply-sale-card form input[type="number"],
.supply-trophy-card form input[type="number"] { box-sizing: border-box; width: 100%; min-height: 38px; margin: 3px 0 0; color: #e2ebde; border-color: #344330; background: #080d09; }
.supply-sale-card form .btn,
.supply-trophy-card form .btn { min-height: 40px; margin: 0; }

.supply-trophy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.supply-trophy-card { padding: 11px; border: 1px solid rgba(248, 113, 113, 0.24); border-left: 3px solid #b45309; border-radius: 8px; background: linear-gradient(130deg, rgba(19, 12, 8, 0.96), rgba(18, 24, 16, 0.96)); }
.supply-trophy-card > header { display: flex; justify-content: space-between; gap: 8px; align-items: flex-start; }
.supply-trophy-card h3 { margin: 2px 0 0; color: #edf3e9; font-size: 0.86rem; }
.supply-trophy-card header > b { padding: 4px 7px; border-radius: 9px; color: #fed7aa; background: rgba(180, 83, 9, 0.13); font-size: 0.62rem; }

.supply-empty {
  display: grid;
  min-height: 135px;
  place-items: center;
  align-content: center;
  gap: 4px;
  padding: 18px;
  border: 1px dashed rgba(130, 166, 108, 0.3);
  border-radius: 8px;
  color: #82907e;
  background: rgba(9, 15, 10, 0.75);
  text-align: center;
}
.supply-empty > span { color: #60705b; font-size: 1.4rem; }
.supply-empty > strong { color: #cad6c5; font-size: 0.8rem; }
.supply-empty > small { max-width: 480px; font-size: 0.66rem; line-height: 1.4; }
.supply-empty > .btn { margin-top: 6px; }

.supply-result-card { padding: 15px; border: 1px solid rgba(74, 222, 128, 0.42); border-radius: 9px; background: radial-gradient(circle at 88% 12%, rgba(74, 222, 128, 0.12), transparent 38%), #09120b; }
.supply-result-card h2 { margin: 3px 0 10px; color: #f0f7ec; font-size: 1rem; }
.supply-result-values { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; margin-bottom: 10px; }
.supply-result-values b { padding: 8px; border: 1px solid var(--supply-line); border-radius: 6px; color: #84917f; background: rgba(0, 0, 0, 0.2); font-size: 0.59rem; text-transform: uppercase; }
.supply-result-values i { display: block; margin-top: 2px; color: #dfffc9; font: 800 0.9rem var(--font-pda); font-style: normal; }
.supply-result-card > div:last-child { display: flex; flex-wrap: wrap; gap: 6px; }

@media (max-width: 760px) {
  .supply-product-grid { grid-template-columns: 1fr; }
  .supply-category-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .supply-market,
  .supply-reward-page { gap: 8px; }
  .supply-hero { grid-template-columns: 1fr; padding: 13px; }
  .supply-hero h1 { font-size: 1.15rem; }
  .supply-hero > .btn { box-sizing: border-box; width: 100%; text-align: center; }
  .supply-primary-nav { grid-template-columns: 1fr; }
  .supply-primary-nav > a { min-height: 48px; }
  .supply-capacity-warning { align-items: flex-start; flex-direction: column; }
  .supply-capacity-warning span { text-align: left; }
  .supply-discount > div { align-items: flex-start; flex-direction: column; }
  .supply-entry-grid,
  .supply-category-grid { grid-template-columns: 1fr; }
  .supply-browser-head { grid-template-columns: 1fr; align-items: stretch; }
  .supply-browser-head form { align-items: stretch; flex-direction: column; }
  .supply-browser-head select { box-sizing: border-box; width: 100%; min-height: 44px; }
  .supply-category-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supply-category-tabs > a { min-height: 44px; }
  .supply-product { grid-template-columns: 70px minmax(0, 1fr); padding: 9px; }
  .supply-product-image { width: 70px; height: 70px; }
  .supply-product-image img { max-width: 62px; max-height: 62px; }
	.supply-buy-actions.is-stackable { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .supply-buy-actions .btn { min-height: 44px; }
  .supply-trader-card { grid-template-columns: 58px minmax(0, 1fr); }
  .supply-trader-card img { width: 58px; height: 58px; }
  .supply-sale-card form,
  .supply-trophy-card form { grid-template-columns: 1fr; }
  .supply-sale-card form .btn,
  .supply-trophy-card form .btn { min-height: 44px; }
  .supply-trophy-grid { grid-template-columns: 1fr; }
  .check-terminal-hero { grid-template-columns: minmax(0, 1fr) 42px; padding: 13px; }
  .check-terminal-hero > img { width: 42px; height: 42px; }
  .check-package-grid { grid-template-columns: 1fr; }
  .check-package-card .btn { min-height: 44px; }
  .supply-result-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .supply-result-card > div:last-child { display: grid; grid-template-columns: 1fr; }
  .supply-result-card .btn { box-sizing: border-box; width: 100%; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .supply-market *,
  .supply-market *::before,
  .supply-market *::after,
  .supply-reward-page *,
  .supply-reward-page *::before,
  .supply-reward-page *::after { transition: none !important; animation: none !important; }
}

/* Unified field parameters — 1.23.0 */
.field-stat-guide {
  margin: 10px 0;
  border: 1px solid rgba(128, 158, 110, 0.3);
  border-radius: 8px;
  color: #aab6a5;
  background: linear-gradient(135deg, rgba(8, 14, 9, 0.96), rgba(15, 23, 16, 0.94));
}
.field-stat-guide > summary {
  box-sizing: border-box;
  min-height: 44px;
  padding: 12px 38px 12px 13px;
  color: #dce9d6;
  font: 700 0.72rem/1.35 var(--font-heading);
  letter-spacing: 0.035em;
  cursor: pointer;
}
.field-stat-guide > summary::marker { color: #9ee872; }
.field-stat-guide[open] > summary { border-bottom: 1px solid rgba(128, 158, 110, 0.22); }
.field-stat-guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  background: rgba(128, 158, 110, 0.12);
}
.field-stat-guide-grid > div {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  gap: 8px;
  min-width: 0;
  padding: 10px;
  background: rgba(8, 14, 9, 0.98);
}
.field-stat-guide-grid > div > span { color: #b9e99f; font-size: 1rem; text-align: center; }
.field-stat-guide-grid p,
.field-stat-guide-grid strong,
.field-stat-guide-grid small { display: block; margin: 0; }
.field-stat-guide-grid strong { color: #dce8d7; font-size: 0.68rem; }
.field-stat-guide-grid small { margin-top: 2px; color: #879383; font-size: 0.61rem; line-height: 1.42; }
.field-stat-guide-note { margin: 0; padding: 9px 11px; color: #8d9a88; font-size: 0.62rem; line-height: 1.45; }
.inventory-character-sheet .field-stat-guide { margin: 12px 0 0; }
.profile-stat-guide { max-width: 680px; margin: 12px auto; text-align: left; }

.field-item-stat-list {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
.field-item-stat-list > span {
  display: inline-flex;
  gap: 4px;
  align-items: center;
  padding: 4px 6px;
  border: 1px solid rgba(128, 158, 110, 0.16);
  border-radius: 5px;
  color: #93a18e;
  background: rgba(0, 0, 0, 0.2);
  font-size: 0.62rem;
}
.field-item-stat-list > span b { color: #dfffc9; }
.supply-stat-list i,
.field-item-stat-list i,
.field-spec-explained i { color: #b9e99f; font-style: normal; }
.field-projection { display: flex; flex-wrap: wrap; gap: 5px; }
.field-projection > span { cursor: help; }
.field-projection > .is-warning { color: #fde68a; border-color: rgba(234, 179, 8, 0.25); background: rgba(234, 179, 8, 0.08); }
.field-spec-explained { align-items: flex-start; }
.field-spec-explained .spec-list-val { max-width: 68%; text-align: right; }
.field-spec-explained .spec-list-val small { display: block; margin-top: 2px; color: #7f8c7a; font-size: 0.6rem; line-height: 1.35; }
.firearm-spec-note { margin-top: 6px; border-left: 2px solid rgba(158, 232, 114, 0.35); background: rgba(0, 0, 0, 0.18); }

@media (max-width: 520px) {
  .field-stat-guide-grid { grid-template-columns: 1fr; }
  .field-stat-guide > summary { min-height: 46px; }
  .field-spec-explained { display: grid; grid-template-columns: 1fr; gap: 3px; }
  .field-spec-explained .spec-list-val { max-width: none; text-align: left; }
}

@media (prefers-reduced-motion: reduce) {
  .field-stat-guide,
  .field-stat-guide * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

/* Field training — 1.24.0 */
.training-hub {
  --training-panel: rgba(8, 15, 10, 0.97);
  --training-soft: rgba(14, 23, 16, 0.94);
  --training-line: rgba(145, 184, 117, 0.25);
  --training-accent: #a7ed78;
  display: grid;
  gap: 10px;
  margin: 12px 0;
  font-family: var(--font-pda);
}

.training-ajax-status {
  position: sticky;
  z-index: 30;
  top: 8px;
  min-height: 0;
  padding: 0;
  border-radius: 7px;
  color: #dce8d7;
  background: rgba(6, 11, 7, 0.98);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}
.training-ajax-status:not(:empty) { min-height: 20px; padding: 9px 11px; border: 1px solid var(--training-line); }
.training-ajax-status.is-pending { border-color: rgba(250, 204, 21, 0.52); }
.training-ajax-status.is-success { border-color: rgba(74, 222, 128, 0.5); }
.training-ajax-status.is-error { border-color: rgba(248, 113, 113, 0.58); }

.training-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 17px;
  border: 1px solid rgba(167, 237, 120, 0.38);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(167, 237, 120, 0.035) 1px, transparent 1px) 0 0 / 22px 22px,
    radial-gradient(circle at 86% 18%, rgba(234, 179, 8, 0.13), transparent 35%),
    linear-gradient(132deg, #071009, #142019);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.29);
}
.training-kicker { color: var(--training-accent); font: 700 0.61rem/1.25 var(--font-pda); letter-spacing: 0.11em; }
.training-hero h1 { margin: 3px 0 5px; color: #f2f8ee; font: 800 1.34rem/1.15 var(--font-heading); text-transform: uppercase; }
.training-hero p { max-width: 660px; margin: 0; color: #a3b09e; font-size: 0.73rem; line-height: 1.5; }
.training-hero nav { display: grid; gap: 6px; min-width: 190px; }
.training-hero nav .btn { box-sizing: border-box; min-height: 40px; margin: 0; text-align: center; }

.training-summary {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 1px;
  padding: 1px;
  border: 1px solid var(--training-line);
  border-radius: 8px;
  overflow: hidden;
  background: rgba(3, 7, 4, 0.92);
}
.training-summary article { min-width: 0; padding: 9px 8px; background: var(--training-panel); }
.training-summary span,
.training-summary b { display: block; }
.training-summary span { color: #778573; font-size: 0.54rem; text-transform: uppercase; }
.training-summary b { margin-top: 2px; overflow: hidden; color: #e0ebda; font-size: 0.72rem; text-overflow: ellipsis; white-space: nowrap; }
.training-summary i { color: inherit; font-style: normal; }

.training-active {
  display: grid;
  grid-template-columns: 45px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid rgba(250, 204, 21, 0.42);
  border-left: 4px solid #eab308;
  border-radius: 9px;
  background: radial-gradient(circle at 5% 50%, rgba(234, 179, 8, 0.1), transparent 27%), var(--training-panel);
}
.training-active[hidden] { display: none; }
.training-active.is-ready { border-color: rgba(74, 222, 128, 0.5); border-left-color: #4ade80; }
.training-active-signal { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(250, 204, 21, 0.28); border-radius: 50%; }
.training-active-signal span { width: 11px; height: 11px; border-radius: 50%; background: #eab308; box-shadow: 0 0 0 0 rgba(234, 179, 8, 0.48); animation: training-signal 1.8s ease-out infinite; }
.training-active.is-ready .training-active-signal span { background: #4ade80; box-shadow: 0 0 12px rgba(74, 222, 128, 0.42); animation: none; }
.training-active h2 { margin: 2px 0; color: #edf4e9; font: 700 0.96rem/1.2 var(--font-heading); }
.training-active p { margin: 0 0 3px; color: #929e8e; font-size: 0.66rem; line-height: 1.4; }
.training-active strong { color: #f8dc7c; font-size: 0.74rem; }
.training-active.is-ready strong { color: #86efac; }
.training-active form { margin: 0; }
.training-active .btn { box-sizing: border-box; min-height: 40px; margin: 0; }

.training-brief,
.training-footnote { padding: 11px 13px; border: 1px solid var(--training-line); border-radius: 8px; background: var(--training-panel); }
.training-brief h2 { margin: 0 0 3px; color: #dce9d6; font-size: 0.78rem; }
.training-brief p,
.training-footnote { margin: 0; color: #8d9a88; font-size: 0.64rem; line-height: 1.5; }
.training-footnote strong { color: #c9d9c1; }

.training-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.training-card {
  display: grid;
  grid-template-rows: auto auto auto auto auto minmax(0, 1fr);
  gap: 9px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--training-line);
  border-left: 3px solid #607354;
  border-radius: 9px;
  background: linear-gradient(132deg, rgba(8, 15, 10, 0.99), rgba(16, 25, 18, 0.96));
  box-shadow: 0 5px 17px rgba(0, 0, 0, 0.22);
  transition: border-color 0.18s ease, transform 0.18s ease;
}
.training-card:hover { border-color: rgba(167, 237, 120, 0.42); transform: translateY(-1px); }
.training-card.is-active { border-color: rgba(250, 204, 21, 0.46); border-left-color: #eab308; }
.training-card.is-complete { border-left-color: #4ade80; }
.training-card > header { display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 10px; align-items: center; }
.training-card-icon { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(167, 237, 120, 0.25); border-radius: 7px; color: #c8f7ac; background: rgba(167, 237, 120, 0.05); font-size: 1.05rem; }
.training-card h2 { margin: 2px 0 0; color: #ecf3e8; font: 700 0.9rem/1.2 var(--font-heading); }
.training-description { min-height: 2.8em; margin: 0; color: #929f8e; font-size: 0.66rem; line-height: 1.42; }

.training-change { display: flex; justify-content: space-between; gap: 10px; align-items: center; padding: 8px 9px; border: 1px solid rgba(167, 237, 120, 0.16); border-radius: 6px; background: rgba(0, 0, 0, 0.2); }
.training-change > span { color: #859181; font-size: 0.6rem; }
.training-change > b { color: #dde9d7; font-size: 0.8rem; white-space: nowrap; }
.training-change i { color: inherit; font-style: normal; }
.training-change i:last-child { color: var(--training-accent); }
.training-change em,
.training-impact-list em { margin: 0 3px; color: #64705f; font-style: normal; }

.training-level-line { display: flex; justify-content: space-between; gap: 8px; color: #7d8a78; font-size: 0.58rem; }
.training-level-line b { color: #cbd8c5; }
.training-progress { height: 6px; overflow: hidden; border-radius: 4px; background: #273025; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.42); }
.training-progress > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #6ca84d, #b5ef83); transition: width 0.25s ease; }
.training-card.is-complete .training-progress > span { background: linear-gradient(90deg, #269b54, #74df91); }

.training-impact-list { display: grid; gap: 4px; }
.training-impact-list:empty { display: none; }
.training-impact-list > div { display: flex; justify-content: space-between; gap: 8px; padding: 5px 7px; border-radius: 5px; color: #7f8d7b; background: rgba(0, 0, 0, 0.16); font-size: 0.59rem; }
.training-impact-list b { color: #cfe3c5; font-weight: 600; white-space: nowrap; }
.training-impact-list b em + * { color: var(--training-accent); }

.training-card > footer { display: grid; gap: 8px; align-content: end; }
.training-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; }
.training-meta > span { padding: 7px; border: 1px solid rgba(145, 184, 117, 0.14); border-radius: 5px; background: rgba(0, 0, 0, 0.14); }
.training-meta small,
.training-meta b { display: block; }
.training-meta small { color: #71806c; font-size: 0.53rem; text-transform: uppercase; }
.training-meta b { margin-top: 2px; color: #d5e2cf; font-size: 0.63rem; }
.training-card form { display: grid; gap: 4px; margin: 0; }
.training-card form .btn { box-sizing: border-box; width: 100%; min-height: 40px; margin: 0; }
.training-block-reason { min-height: 1.35em; color: #d2a951; font-size: 0.57rem; text-align: center; }
.training-card.is-complete .training-block-reason { color: #72d58b; }
.training-hub.is-busy .training-card { opacity: 0.78; }

@keyframes training-signal {
  0% { box-shadow: 0 0 0 0 rgba(234, 179, 8, 0.48); }
  70% { box-shadow: 0 0 0 12px rgba(234, 179, 8, 0); }
  100% { box-shadow: 0 0 0 0 rgba(234, 179, 8, 0); }
}

@media (max-width: 760px) {
  .training-summary { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .training-hub { gap: 8px; }
  .training-hero { grid-template-columns: 1fr; padding: 13px; }
  .training-hero h1 { font-size: 1.14rem; }
  .training-hero nav { grid-template-columns: 1fr; min-width: 0; }
  .training-hero nav .btn { min-height: 44px; }
  .training-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .training-summary article { padding: 8px; }
  .training-active { grid-template-columns: 38px minmax(0, 1fr); padding: 11px; }
  .training-active-signal { width: 36px; height: 36px; }
  .training-active form,
  .training-activity-link { grid-column: 1 / -1; }
  .training-active .btn { width: 100%; min-height: 44px; }
  .training-grid { grid-template-columns: 1fr; }
  .training-card { padding: 10px; }
  .training-description { min-height: 0; }
  .training-card form .btn { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .training-hub *,
  .training-hub *::before,
  .training-hub *::after { transition: none !important; animation: none !important; }
}

/* Field shelter and recovery — 1.25.0 */
.recovery-center {
  --recovery-panel: rgba(8, 15, 10, 0.97);
  --recovery-soft: rgba(14, 23, 16, 0.94);
  --recovery-line: rgba(135, 174, 109, 0.25);
  --recovery-accent: #a7ed78;
  display: grid;
  gap: 10px;
  margin: 12px 0;
  font-family: var(--font-pda);
}

.recovery-ajax-status {
  position: sticky;
  z-index: 30;
  top: 8px;
  min-height: 0;
  padding: 0;
  border-radius: 7px;
  color: #dce8d7;
  background: rgba(6, 11, 7, 0.98);
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.3);
}
.recovery-ajax-status:not(:empty) { min-height: 20px; padding: 9px 11px; border: 1px solid var(--recovery-line); }
.recovery-ajax-status.is-pending { border-color: rgba(250, 204, 21, 0.52); }
.recovery-ajax-status.is-success { border-color: rgba(74, 222, 128, 0.5); }
.recovery-ajax-status.is-error { border-color: rgba(248, 113, 113, 0.58); }

.recovery-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 17px;
  border: 1px solid rgba(167, 237, 120, 0.38);
  border-radius: 10px;
  background:
    linear-gradient(90deg, rgba(167, 237, 120, 0.035) 1px, transparent 1px) 0 0 / 22px 22px,
    radial-gradient(circle at 88% 15%, rgba(45, 212, 191, 0.12), transparent 35%),
    linear-gradient(132deg, #071009, #132119);
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.29);
}
.recovery-kicker { color: var(--recovery-accent); font: 700 0.61rem/1.25 var(--font-pda); letter-spacing: 0.11em; }
.recovery-hero h1 { margin: 3px 0 5px; color: #f2f8ee; font: 800 1.34rem/1.15 var(--font-heading); text-transform: uppercase; }
.recovery-hero p { max-width: 660px; margin: 0; color: #a3b09e; font-size: 0.73rem; line-height: 1.5; }
.recovery-hero nav { display: grid; gap: 6px; min-width: 190px; }
.recovery-hero nav .btn { box-sizing: border-box; min-height: 40px; margin: 0; text-align: center; }

.recovery-overview {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border: 1px solid var(--recovery-line);
  border-left: 4px solid #eab308;
  border-radius: 9px;
  background: var(--recovery-panel);
}
.recovery-overview.is-good { border-color: rgba(74, 222, 128, 0.42); border-left-color: #4ade80; }
.recovery-overview.is-danger { border-color: rgba(248, 113, 113, 0.45); border-left-color: #ef4444; }
.recovery-state-mark { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid rgba(167, 237, 120, 0.25); border-radius: 8px; color: #a7ed78; background: rgba(167, 237, 120, 0.06); font-size: 1.25rem; font-weight: 800; }
.recovery-overview h2 { margin: 2px 0; color: #edf4e9; font: 700 0.96rem/1.2 var(--font-heading); }
.recovery-overview p { margin: 0; color: #929e8e; font-size: 0.65rem; line-height: 1.4; }
.recovery-overview > .btn { box-sizing: border-box; min-height: 40px; margin: 0; }

.recovery-vitals { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.recovery-vitals > article { min-width: 0; padding: 11px; border: 1px solid var(--recovery-line); border-top: 3px solid #5b6d51; border-radius: 8px; background: linear-gradient(135deg, rgba(8, 15, 10, 0.99), rgba(15, 24, 17, 0.96)); }
.recovery-vitals > article.is-good { border-top-color: #4ade80; }
.recovery-vitals > article.is-warning { border-top-color: #eab308; }
.recovery-vitals > article.is-danger { border-top-color: #ef4444; }
.recovery-vitals article > header { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 7px; align-items: center; }
.recovery-vitals article > header > span { color: #b7eb99; font-size: 1rem; text-align: center; }
.recovery-vitals header strong,
.recovery-vitals header small { display: block; }
.recovery-vitals header strong { color: #dce8d7; font-size: 0.7rem; }
.recovery-vitals header small { color: #74806f; font-size: 0.54rem; }
.recovery-vitals header b { color: #e5efdf; font-size: 0.74rem; white-space: nowrap; }
.recovery-vitals header i { color: inherit; font-style: normal; }
.recovery-vitals article > p { min-height: 2.9em; margin: 7px 0 0; color: #899585; font-size: 0.59rem; line-height: 1.45; }
.recovery-meter { height: 7px; margin-top: 9px; overflow: hidden; border-radius: 5px; background: #253024; box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.44); }
.recovery-meter > span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #59983d, #a7ed78); transition: width 0.25s ease; }
.is-warning .recovery-meter > span { background: linear-gradient(90deg, #a16207, #facc15); }
.is-danger .recovery-meter > span { background: linear-gradient(90deg, #991b1b, #ef4444); }
.recovery-radiation-scale { display: grid; grid-template-columns: repeat(4, 1fr); gap: 3px; margin-top: 9px; }
.recovery-radiation-scale span { height: 7px; border-radius: 4px; background: #293027; }
.recovery-vitals article.is-warning .recovery-radiation-scale span:nth-child(-n+2),
.recovery-vitals article.is-danger .recovery-radiation-scale span { background: #d9b719; box-shadow: 0 0 7px rgba(217, 183, 25, 0.22); }
.recovery-vitals article.is-danger .recovery-radiation-scale span { background: #ef4444; }

.recovery-guidance { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.recovery-guidance > div { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 8px; align-items: center; padding: 9px 11px; border: 1px solid var(--recovery-line); border-radius: 7px; background: var(--recovery-panel); }
.recovery-guidance > div > span { color: #9ee872; font-size: 1rem; text-align: center; }
.recovery-guidance p { margin: 0; color: #899585; font-size: 0.61rem; line-height: 1.45; }
.recovery-guidance strong { color: #cedbc8; }
.recovery-guidance a { color: #b9e99f; }
.recovery-guidance .is-radiation { border-color: rgba(217, 183, 25, 0.31); }
.recovery-guidance .is-radiation > span { color: #e4c62d; }

.recovery-supply-grid { display: grid; gap: 9px; }
.recovery-supply-group { overflow: hidden; border: 1px solid var(--recovery-line); border-radius: 9px; background: var(--recovery-panel); }
.recovery-supply-group > header { display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 11px 12px; border-bottom: 1px solid var(--recovery-line); background: rgba(167, 237, 120, 0.025); }
.recovery-supply-group > header > span { color: #b9e99f; font-size: 1.05rem; text-align: center; }
.recovery-supply-group h2 { margin: 0; color: #e1ecdc; font: 700 0.84rem/1.2 var(--font-heading); }
.recovery-supply-group header p { margin: 2px 0 0; color: #7e8b79; font-size: 0.59rem; }
.recovery-supply-group > header > b { padding: 4px 7px; border-radius: 10px; color: #d7e7cf; background: rgba(167, 237, 120, 0.07); font-size: 0.61rem; white-space: nowrap; }
.recovery-supply-group > header i { color: inherit; font-style: normal; }
.recovery-item-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(135, 174, 109, 0.13); }
.recovery-item {
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-width: 0;
  padding: 10px;
  background: linear-gradient(132deg, rgba(8, 14, 9, 0.99), rgba(15, 23, 16, 0.98));
  transition: opacity 0.18s ease, background 0.18s ease;
}
.recovery-item.is-disabled { opacity: 0.69; }
.recovery-item.is-usable { box-shadow: inset 3px 0 rgba(167, 237, 120, 0.35); }
.recovery-item > img { width: 58px; height: 58px; border: 1px solid #31402e; border-radius: 7px; background: #060b07; object-fit: contain; }
.recovery-item-copy { min-width: 0; }
.recovery-item-copy > header { display: flex; justify-content: space-between; gap: 7px; align-items: flex-start; }
.recovery-item h3 { margin: 0; overflow: hidden; color: #e5eee0; font-size: 0.72rem; text-overflow: ellipsis; white-space: nowrap; }
.recovery-item-copy > header > b { flex: 0 0 auto; color: #c9eebb; font-size: 0.58rem; }
.recovery-item-copy > p { margin: 4px 0 6px; color: #7e8a7a; font-size: 0.58rem; line-height: 1.35; }
.recovery-item-effect { display: flex; flex-wrap: wrap; gap: 4px; }
.recovery-item-effect span { padding: 3px 5px; border-radius: 4px; color: #8e9b89; background: rgba(0, 0, 0, 0.2); font-size: 0.56rem; }
.recovery-item-effect b { color: #cdf2ba; }
.recovery-waste { display: block; margin-top: 4px; color: #e5bb55; font-size: 0.54rem; }
.recovery-item > form { display: grid; gap: 3px; width: 116px; margin: 0; }
.recovery-item > form .btn { box-sizing: border-box; width: 100%; min-height: 40px; margin: 0; padding: 6px; }
.recovery-item > form small { min-height: 1.3em; color: #bba45b; font-size: 0.52rem; line-height: 1.3; text-align: center; }
.recovery-empty { display: grid; min-height: 76px; place-items: center; align-content: center; gap: 3px; padding: 12px; color: #82907e; background: rgba(7, 12, 8, 0.92); font-size: 0.62rem; }
.recovery-empty[hidden] { display: none; }
.recovery-empty a { color: #b9e99f; }
.recovery-supply-group > footer { display: flex; justify-content: flex-end; gap: 14px; padding: 8px 11px; border-top: 1px solid var(--recovery-line); }
.recovery-supply-group > footer a { color: #9fcf87; font-size: 0.58rem; }
.recovery-center.is-busy .recovery-item { opacity: 0.62; }

@media (max-width: 760px) {
  .recovery-vitals { grid-template-columns: 1fr; }
  .recovery-vitals article > p { min-height: 0; }
  .recovery-item-list { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .recovery-center { gap: 8px; }
  .recovery-hero { grid-template-columns: 1fr; padding: 13px; }
  .recovery-hero h1 { font-size: 1.14rem; }
  .recovery-hero nav { grid-template-columns: 1fr; min-width: 0; }
  .recovery-hero nav .btn { min-height: 44px; }
  .recovery-overview { grid-template-columns: 38px minmax(0, 1fr); padding: 11px; }
  .recovery-state-mark { width: 36px; height: 36px; }
  .recovery-overview > .btn { grid-column: 1 / -1; width: 100%; min-height: 44px; }
  .recovery-guidance { grid-template-columns: 1fr; }
  .recovery-supply-group > header { grid-template-columns: 32px minmax(0, 1fr) auto; padding: 10px; }
  .recovery-item { grid-template-columns: 52px minmax(0, 1fr); padding: 9px; }
  .recovery-item > img { width: 48px; height: 48px; }
  .recovery-item > form { grid-column: 1 / -1; width: auto; }
  .recovery-item > form .btn { min-height: 44px; }
  .recovery-supply-group > footer { display: grid; grid-template-columns: 1fr; gap: 6px; }
  .recovery-supply-group > footer a { min-height: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .recovery-center *,
  .recovery-center *::before,
  .recovery-center *::after { transition: none !important; animation: none !important; }
}

/* Compact field clearance — 1.64.0 */
.field-readiness {
  --readiness-accent: #a8e178;
  display: grid;
  gap: 0;
  margin: 10px 0;
  overflow: hidden;
  border: 1px solid rgba(139, 177, 111, 0.31);
  border-top: 3px solid #8ca36f;
  border-radius: 10px;
  color: #dbe5d6;
  background:
    linear-gradient(90deg, rgba(168, 225, 120, 0.025) 1px, transparent 1px) 0 0 / 24px 24px,
    linear-gradient(135deg, rgba(7, 13, 8, 0.99), rgba(15, 23, 16, 0.98));
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.27);
  font-family: var(--font-pda);
}
.field-readiness.is-good { border-top-color: #54d17a; }
.field-readiness.is-warning { border-top-color: #e0b72b; }
.field-readiness.is-danger { border-top-color: #ef6464; }

.field-readiness-summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  padding: 13px;
  border-bottom: 1px solid rgba(139, 177, 111, 0.22);
  background: rgba(168, 225, 120, 0.025);
}
.field-readiness.is-compact-ready { margin: 8px 0; border-top-width: 1px; box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18); }
.field-readiness.is-compact-ready .field-readiness-summary { min-height: 54px; padding: 8px 11px; border-bottom: 0; }
.field-readiness.is-compact-ready .field-readiness-signal { width: 30px; height: 30px; border-radius: 50%; font-size: 0.9rem; }
.field-readiness-signal {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(168, 225, 120, 0.34);
  border-radius: 8px;
  color: var(--readiness-accent);
  background: rgba(168, 225, 120, 0.06);
  font-size: 1.15rem;
  font-weight: 900;
}
.field-readiness.is-warning .field-readiness-signal { border-color: rgba(224, 183, 43, 0.45); color: #e7c34d; background: rgba(224, 183, 43, 0.07); }
.field-readiness.is-danger .field-readiness-signal { border-color: rgba(239, 100, 100, 0.48); color: #ff8585; background: rgba(239, 100, 100, 0.07); }
.field-readiness-summary small { color: #9dd677; font-size: 0.56rem; font-weight: 700; letter-spacing: 0.08em; }
.field-readiness-summary h2 { margin: 2px 0; color: #eef5ea; font: 700 0.9rem/1.2 var(--font-heading); text-transform: uppercase; }
.field-readiness-summary p { margin: 0; color: #879482; font-size: 0.61rem; line-height: 1.4; }
.field-readiness-clear { padding: 5px 9px; border: 1px solid rgba(84, 209, 122, 0.3); border-radius: 999px; color: #a8e6b6; background: rgba(84, 209, 122, 0.08); font-size: 0.53rem; font-weight: 800; letter-spacing: 0.06em; white-space: nowrap; }
.field-readiness-counts { display: grid; grid-template-columns: repeat(2, auto); gap: 5px; }
.field-readiness-counts span { padding: 5px 7px; border: 1px solid rgba(139, 177, 111, 0.16); border-radius: 5px; color: #7f8c7a; background: rgba(0, 0, 0, 0.18); font-size: 0.53rem; text-align: center; }
.field-readiness-counts b { display: block; margin-top: 1px; color: #dce8d6; font-size: 0.72rem; }

.field-readiness-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; background: rgba(139, 177, 111, 0.13); }
.field-readiness-check {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr) 20px;
  gap: 8px;
  min-width: 0;
  padding: 10px;
  background: rgba(8, 14, 9, 0.98);
  box-shadow: inset 3px 0 #5e6b57;
}
.field-readiness-check.is-good { box-shadow: inset 3px 0 #4dbb70; }
.field-readiness-check.is-warning { box-shadow: inset 3px 0 #d0a923; }
.field-readiness-check.is-danger { box-shadow: inset 3px 0 #df5b5b; }
.field-readiness-check.is-neutral { box-shadow: inset 3px 0 #59665a; }
.field-readiness-icon { color: #a8d98a; font-size: 1rem; text-align: center; }
.field-readiness-check small,
.field-readiness-check strong { display: block; }
.field-readiness-check small { color: #778472; font-size: 0.52rem; font-weight: 700; text-transform: uppercase; }
.field-readiness-check strong { margin-top: 2px; overflow: hidden; color: #dce7d7; font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }
.field-readiness-check p { min-height: 2.7em; margin: 4px 0 0; color: #7f8b7a; font-size: 0.56rem; line-height: 1.35; }
.field-readiness-check a { display: inline-flex; min-height: 26px; align-items: center; margin-top: 4px; color: #a9dc8b; font-size: 0.55rem; }
.field-readiness-mark { color: #70c984; font-size: 0.76rem; text-align: center; }
.field-readiness-check.is-warning .field-readiness-mark { color: #e4bd3f; }
.field-readiness-check.is-danger .field-readiness-mark { color: #f07171; }
.field-readiness-check.is-neutral .field-readiness-mark { color: #708070; }

.field-readiness-diagnostics { border-top: 1px solid rgba(139, 177, 111, 0.18); background: rgba(4, 9, 5, 0.72); }
.field-readiness-diagnostics > summary {
  display: flex;
  min-height: 42px;
  gap: 8px;
  align-items: center;
  padding: 8px 12px;
  color: #9fbe8c;
  cursor: pointer;
  font-size: 0.61rem;
  list-style: none;
}
.field-readiness-diagnostics > summary::-webkit-details-marker { display: none; }
.field-readiness-diagnostics > summary b { min-width: 24px; padding: 3px 7px; border-radius: 999px; color: #dff7d2; background: rgba(84, 209, 122, 0.12); text-align: center; }
.field-readiness-diagnostics > summary small { margin-left: auto; color: #71816b; font-size: 0.55rem; }
.field-readiness-diagnostics > summary::after { content: '+'; color: #9bc982; font-size: 0.9rem; font-weight: 800; }
.field-readiness-diagnostics[open] > summary::after { content: '−'; }
.field-readiness-diagnostics .field-readiness-grid { border-top: 1px solid rgba(139, 177, 111, 0.14); }

@media (max-width: 760px) {
  .field-readiness-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .field-readiness-summary { grid-template-columns: 34px minmax(0, 1fr); padding: 10px; }
  .field-readiness-counts { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .field-readiness-clear { grid-column: 2; justify-self: start; }
  .field-readiness.is-compact-ready .field-readiness-summary { grid-template-columns: 32px minmax(0, 1fr); }
  .field-readiness.is-compact-ready .field-readiness-summary-copy p { display: none; }
  .field-readiness.is-compact-ready .field-readiness-clear { display: none; }
  .field-readiness-grid { grid-template-columns: 1fr; }
  .field-readiness-check { min-height: 92px; }
  .field-readiness-check p { min-height: 0; }
  .field-readiness-check a { min-height: 44px; }
	.field-readiness-diagnostics > summary { min-height: 48px; }
}

@media (prefers-reduced-motion: reduce) {
  .field-readiness *,
  .field-readiness *::before,
  .field-readiness *::after { transition: none !important; animation: none !important; }
}

/* Field expeditions — 1.27.0 */
.expedition-hub { display: grid; gap: 12px; color: #cdd8c8; }
.expedition-hub [hidden] { display: none !important; }
.expedition-hub.is-busy { cursor: progress; }
.expedition-ajax-status { min-height: 0; padding: 0 12px; border: 0 solid transparent; border-radius: 5px; color: #aeb9aa; font-size: 0.65rem; line-height: 1.45; transition: min-height 0.18s ease, padding 0.18s ease; }
.expedition-ajax-status:not(:empty) { min-height: 34px; padding: 8px 12px; border-width: 1px; background: rgba(15, 22, 16, 0.96); }
.expedition-ajax-status.is-pending { border-color: rgba(217, 178, 62, 0.34); color: #e1c968; }
.expedition-ajax-status.is-success { border-color: rgba(75, 190, 112, 0.32); color: #91d9a2; }
.expedition-ajax-status.is-error { border-color: rgba(221, 82, 82, 0.4); color: #ef8a8a; }

.expedition-hero,
.expedition-catalog,
.expedition-active,
.expedition-result,
.expedition-footnote { border: 1px solid rgba(137, 174, 109, 0.24); border-radius: 7px; background: linear-gradient(145deg, rgba(16, 24, 17, 0.98), rgba(7, 12, 8, 0.98)); box-shadow: inset 0 1px rgba(255, 255, 255, 0.025), 0 6px 24px rgba(0, 0, 0, 0.18); }
.expedition-hero { position: relative; display: flex; gap: 18px; align-items: flex-end; justify-content: space-between; overflow: hidden; padding: 18px; }
.expedition-hero::after { position: absolute; top: -60px; right: -20px; width: 210px; height: 170px; border: 1px solid rgba(147, 190, 115, 0.1); border-radius: 50%; box-shadow: 0 0 0 24px rgba(147, 190, 115, 0.025), 0 0 0 52px rgba(147, 190, 115, 0.018); content: ''; pointer-events: none; }
.expedition-hero > div { position: relative; z-index: 1; max-width: 640px; }
.expedition-hero small,
.expedition-catalog > header small,
.expedition-active-copy > small,
.expedition-result > span { color: #8fbb73; font-size: 0.56rem; font-weight: 800; letter-spacing: 0.12em; }
.expedition-hero h1 { margin: 3px 0 5px; color: #eef5e9; font-size: clamp(1.15rem, 3vw, 1.65rem); line-height: 1.05; }
.expedition-hero p { max-width: 580px; margin: 0; color: #869181; font-size: 0.65rem; line-height: 1.5; }
.expedition-hero nav { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 7px; justify-content: flex-end; }

.expedition-result { padding: 14px 16px; border-color: rgba(71, 194, 108, 0.38); box-shadow: inset 4px 0 #47b96a, 0 6px 24px rgba(0, 0, 0, 0.2); }
.expedition-result h2 { margin: 3px 0; color: #e6f4df; font-size: 1rem; }
.expedition-result p { margin: 0 0 9px; color: #8d9b88; font-size: 0.62rem; }

.expedition-active { display: grid; grid-template-columns: 150px minmax(0, 1fr) minmax(170px, auto); gap: 14px; align-items: center; padding: 14px; box-shadow: inset 4px 0 #829c6e, 0 6px 24px rgba(0, 0, 0, 0.2); }
.expedition-active.is-ready { border-color: rgba(76, 191, 110, 0.38); box-shadow: inset 4px 0 #4cbe70, 0 6px 24px rgba(0, 0, 0, 0.2); }
.expedition-active.is-danger { border-color: rgba(218, 78, 78, 0.42); box-shadow: inset 4px 0 #d34f4f, 0 6px 24px rgba(0, 0, 0, 0.2); }
.expedition-active-visual { display: grid; min-height: 104px; place-items: center; overflow: hidden; border: 1px solid rgba(143, 183, 112, 0.2); border-radius: 6px; background: radial-gradient(circle at 50% 42%, rgba(102, 137, 80, 0.25), rgba(4, 8, 5, 0.94) 68%); }
.expedition-active-visual img { display: block; width: 100%; height: 104px; object-fit: cover; filter: saturate(0.8) contrast(1.08); }
.expedition-active-visual span { color: #9fc183; font-size: 2rem; filter: drop-shadow(0 0 12px rgba(149, 190, 113, 0.32)); }
.expedition-active-copy { min-width: 0; }
.expedition-active-copy h2 { margin: 2px 0 4px; overflow: hidden; color: #e5eee0; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.expedition-active-copy > p { margin: 0 0 9px; color: #808c7c; font-size: 0.6rem; line-height: 1.45; }
.expedition-progress { height: 8px; overflow: hidden; border: 1px solid rgba(131, 168, 104, 0.22); border-radius: 999px; background: #060a07; }
.expedition-progress > span { display: block; width: 0; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #527b43, #9cc66f); box-shadow: 0 0 9px rgba(144, 193, 106, 0.34); transition: width 0.45s linear; }
.expedition-active.is-ready .expedition-progress > span { background: linear-gradient(90deg, #3d985c, #7ed897); }
.expedition-active-meta { display: flex; gap: 14px; justify-content: space-between; margin-top: 6px; color: #748071; font-size: 0.54rem; }
.expedition-active-meta b { color: #cbd9c5; font-weight: 700; }
.expedition-active > form { display: grid; gap: 7px; min-width: 170px; }
.expedition-active > form .btn { display: flex; min-height: 38px; align-items: center; justify-content: center; margin: 0; text-align: center; }

.expedition-catalog { overflow: hidden; }
.expedition-catalog > header { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 13px 15px; border-bottom: 1px solid rgba(137, 174, 109, 0.17); }
.expedition-catalog > header h2 { margin: 2px 0 0; color: #e2ecdd; font-size: 0.95rem; }
.expedition-catalog > header p { max-width: 330px; margin: 0; color: #778273; font-size: 0.58rem; line-height: 1.4; text-align: right; }
.expedition-route-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(137, 174, 109, 0.13); }
.expedition-route { display: grid; grid-template-columns: 150px minmax(0, 1fr); min-width: 0; background: rgba(7, 12, 8, 0.98); transition: background 0.18s ease, box-shadow 0.18s ease; }
.expedition-route.is-available { box-shadow: inset 0 -2px rgba(108, 166, 78, 0.18); }
.expedition-route.is-available:hover { background: rgba(14, 22, 15, 0.99); box-shadow: inset 0 -2px rgba(139, 195, 103, 0.45); }
.expedition-route.is-locked { opacity: 0.72; }
.expedition-route-visual { position: relative; display: grid; min-height: 170px; place-items: center; overflow: hidden; background: radial-gradient(circle at 50% 43%, rgba(106, 137, 85, 0.25), rgba(4, 8, 5, 0.96) 70%); }
.expedition-route-visual img { display: block; width: 100%; height: 100%; min-height: 170px; object-fit: cover; filter: saturate(0.72) contrast(1.08) brightness(0.8); transition: transform 0.25s ease, filter 0.25s ease; }
.expedition-route.is-available:hover .expedition-route-visual img { transform: scale(1.025); filter: saturate(0.92) contrast(1.08) brightness(0.92); }
.expedition-route-visual > span { color: #93b579; font-size: 2.1rem; }
.expedition-route-visual > b { position: absolute; right: 7px; bottom: 7px; padding: 4px 6px; border: 1px solid rgba(151, 194, 116, 0.28); border-radius: 3px; color: #c1d6b2; background: rgba(3, 7, 4, 0.84); font-size: 0.49rem; letter-spacing: 0.08em; }
.expedition-route-body { display: flex; min-width: 0; flex-direction: column; padding: 11px; }
.expedition-route-body > header { display: flex; gap: 10px; align-items: flex-start; justify-content: space-between; }
.expedition-route-body > header small { color: #789466; font-size: 0.49rem; font-weight: 800; letter-spacing: 0.08em; }
.expedition-route-body h3 { margin: 2px 0 0; overflow: hidden; color: #dce8d7; font-size: 0.78rem; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; }
.expedition-route-body > header > b { flex: 0 0 auto; color: #a9c494; font-size: 0.55rem; }
.expedition-reward-line { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.expedition-reward-line b { padding: 4px 6px; border: 1px solid rgba(139, 177, 111, 0.17); border-radius: 4px; color: #7e8a79; background: rgba(0, 0, 0, 0.17); font-size: 0.49rem; font-weight: 600; }
.expedition-reward-line i { color: #cedcc7; font-style: normal; }
.expedition-intel { margin: 8px 0; border-top: 1px solid rgba(137, 174, 109, 0.12); border-bottom: 1px solid rgba(137, 174, 109, 0.12); }
.expedition-intel summary { display: flex; min-height: 34px; gap: 7px; align-items: center; color: #93aa83; cursor: pointer; font-size: 0.56rem; list-style: none; }
.expedition-intel summary::-webkit-details-marker { display: none; }
.expedition-intel summary span { display: grid; width: 18px; height: 18px; place-items: center; border: 1px solid rgba(143, 184, 111, 0.32); border-radius: 50%; color: #a8ca8d; font-size: 0.5rem; }
.expedition-intel summary b { margin-left: auto; transition: transform 0.18s ease; }
.expedition-intel[open] summary b { transform: rotate(180deg); }
.expedition-intel > div { padding: 0 0 9px; color: #7e8979; font-size: 0.56rem; line-height: 1.45; }
.expedition-intel > div p { margin: 4px 0; }
.expedition-route-body form { display: grid; grid-template-columns: minmax(110px, auto) minmax(0, 1fr); gap: 8px; align-items: center; margin-top: auto; }
.expedition-route-body form .btn { min-height: 36px; margin: 0; }
.expedition-route-body form > small { color: #a77e6d; font-size: 0.51rem; line-height: 1.3; }
.expedition-route.is-available form > small:empty { display: none; }
.expedition-empty { display: grid; min-height: 180px; place-items: center; align-content: center; gap: 5px; color: #778472; text-align: center; }
.expedition-empty > span { color: #91b379; font-size: 2rem; }
.expedition-empty strong { color: #cbd8c5; font-size: 0.75rem; }
.expedition-empty small { font-size: 0.56rem; }
.expedition-footnote { display: flex; min-height: 38px; gap: 14px; align-items: center; justify-content: space-between; padding: 8px 12px; color: #74816f; font-size: 0.55rem; }
.expedition-footnote a { color: #a2cf85; }

@media (max-width: 980px) {
  .expedition-route-grid { grid-template-columns: 1fr; }
  .expedition-route-visual { min-height: 150px; }
  .expedition-route-visual img { min-height: 150px; }
}

@media (max-width: 760px) {
  .expedition-hero { align-items: flex-start; flex-direction: column; }
  .expedition-hero nav { width: 100%; justify-content: flex-start; }
  .expedition-active { grid-template-columns: 110px minmax(0, 1fr); }
  .expedition-active > form { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .expedition-hub { gap: 8px; }
  .expedition-hero { padding: 14px; }
  .expedition-hero nav { display: grid; grid-template-columns: 1fr; }
  .expedition-hero .btn,
  .expedition-active > form .btn,
  .expedition-route-body form .btn { min-height: 44px; }
  .expedition-active { grid-template-columns: 78px minmax(0, 1fr); gap: 10px; padding: 11px; }
  .expedition-active-visual { min-height: 78px; }
  .expedition-active-visual img { height: 78px; }
  .expedition-active-copy > p { max-height: 4.35em; overflow: hidden; }
  .expedition-active-meta { align-items: flex-start; flex-direction: column; gap: 3px; }
  .expedition-active > form { grid-template-columns: 1fr; }
  .expedition-catalog > header { align-items: flex-start; flex-direction: column; gap: 5px; }
  .expedition-catalog > header p { text-align: left; }
  .expedition-route { grid-template-columns: 94px minmax(0, 1fr); }
  .expedition-route-visual,
  .expedition-route-visual img { min-height: 100%; }
  .expedition-route-body { padding: 10px; }
  .expedition-route-body form { grid-template-columns: 1fr; }
  .expedition-footnote { align-items: flex-start; flex-direction: column; gap: 5px; }
}

@media (prefers-reduced-motion: reduce) {
  .expedition-hub *,
  .expedition-hub *::before,
  .expedition-hub *::after { transition: none !important; animation: none !important; }
}

/* 1.28 — сюжетные стороны: единый экран выбора и профиль допуска */
.faction-terminal {
  position: relative;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(127, 169, 103, 0.23);
  background:
    linear-gradient(180deg, rgba(15, 25, 18, 0.94), rgba(5, 10, 7, 0.98)),
    repeating-linear-gradient(90deg, transparent 0, transparent 31px, rgba(126, 165, 102, 0.025) 32px);
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.28), inset 0 1px rgba(198, 230, 174, 0.04);
}
.faction-terminal::before {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  height: 2px;
  background: linear-gradient(90deg, transparent, #8eb975 30%, #d3a752 67%, transparent);
  content: "";
  opacity: 0.72;
}
.faction-terminal-head { padding: 18px 20px 15px; border-bottom: 1px solid rgba(132, 170, 108, 0.16); }
.faction-terminal-kicker { color: #7e9e6b; font-family: var(--font-mono); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.16em; }
.faction-terminal-head h2 { margin: 5px 0 4px; color: #e4ecdf; font-family: var(--font-pda); font-size: 1.22rem; letter-spacing: 0.03em; }
.faction-terminal-head p { max-width: 780px; margin: 0; color: #849080; font-size: 0.67rem; line-height: 1.55; }
.faction-choice-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 1px; background: rgba(128, 165, 104, 0.13); }
.faction-card { --faction-glow: 137, 183, 104; position: relative; display: flex; min-width: 0; min-height: 390px; flex-direction: column; align-items: stretch; margin: 0; padding: 16px; overflow: hidden; border: 0; background: linear-gradient(180deg, rgba(9, 15, 11, 0.98), rgba(5, 9, 7, 0.99)); color: #dce5d8; text-align: left; transition: background 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease; }
.faction-card:hover, .faction-card:focus-within { z-index: 1; background: linear-gradient(180deg, rgba(var(--faction-glow), 0.09), rgba(6, 11, 8, 0.99) 58%); box-shadow: inset 0 0 0 1px rgba(var(--faction-glow), 0.34), 0 12px 30px rgba(0, 0, 0, 0.24); }
.faction-card.is-current { background: linear-gradient(180deg, rgba(var(--faction-glow), 0.13), rgba(6, 11, 8, 0.99) 65%); box-shadow: inset 0 0 0 1px rgba(var(--faction-glow), 0.42); }
.faction-accent-red { --faction-glow: 225, 74, 48; }
.faction-accent-cyan { --faction-glow: 71, 201, 222; }
.faction-accent-amber { --faction-glow: 222, 167, 74; }
.faction-accent-orange { --faction-glow: 220, 102, 46; }
.faction-accent-green { --faction-glow: 132, 202, 73; }
.faction-card-scan { position: absolute; top: -60%; right: -20%; left: -20%; height: 70%; pointer-events: none; background: linear-gradient(180deg, transparent, rgba(var(--faction-glow), 0.07), transparent); transform: rotate(-8deg); transition: top 0.5s ease; }
.faction-card:hover .faction-card-scan, .faction-card:focus-within .faction-card-scan { top: 82%; }
.faction-card-emblem { position: relative; display: block; width: min(78%, 190px); height: auto; aspect-ratio: 1; margin: 0 auto 8px; object-fit: contain; filter: saturate(0.86) drop-shadow(0 12px 15px rgba(0, 0, 0, 0.54)); transition: filter 0.2s ease, transform 0.2s ease; }
.faction-card:hover .faction-card-emblem, .faction-card:focus-within .faction-card-emblem { filter: saturate(1.08) drop-shadow(0 0 16px rgba(var(--faction-glow), 0.18)); transform: translateY(-2px); }
.faction-card-copy { position: relative; display: flex; flex: 1; flex-direction: column; }
.faction-card-role { color: rgb(var(--faction-glow)); font-family: var(--font-mono); font-size: 0.53rem; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.faction-card h3 { margin: 4px 0 3px; color: #eef3eb; font-family: var(--font-pda); font-size: 0.95rem; letter-spacing: 0.035em; }
.faction-card q { min-height: 2.6em; margin: 0 0 8px; color: rgba(var(--faction-glow), 0.92); font-size: 0.58rem; font-style: normal; line-height: 1.35; }
.faction-card q::before, .faction-card q::after { color: rgba(var(--faction-glow), 0.55); }
.faction-card p { margin: 0 0 12px; color: #7f8a7c; font-size: 0.59rem; line-height: 1.5; }
.faction-card-action { width: 100%; min-height: 38px; margin: auto 0 0; font-family: var(--font-pda); font-size: 0.58rem; letter-spacing: 0.06em; }
.faction-card-action[disabled] { border-color: rgba(var(--faction-glow), 0.28); color: rgba(var(--faction-glow), 0.78); background: rgba(var(--faction-glow), 0.08); cursor: default; opacity: 1; }
.faction-terminal-note { margin: 0; padding: 10px 18px; border-top: 1px solid rgba(132, 170, 108, 0.13); color: #6f7d6b; background: rgba(0, 0, 0, 0.16); font-size: 0.56rem; line-height: 1.45; }
.onboarding-terminal { overflow: hidden; border-color: rgba(132, 170, 108, .25); background: radial-gradient(circle at 50% 0, rgba(112, 170, 78, .09), transparent 38%), #080e09; font-family: var(--font-pda); text-align: center; }
.onboarding-terminal-head { margin: -19px -19px 16px; padding: 17px 18px 14px; border-bottom: 1px solid rgba(132, 170, 108, .16); background: rgba(3, 8, 4, .42); }
.onboarding-terminal-head > span,
.onboarding-ready-kicker { color: #78936b; font: 700 .58rem/1.35 var(--font-mono); letter-spacing: .12em; }
.onboarding-terminal-head h2 { margin: 5px 0 4px; color: #e7eee3; font: 800 1.08rem/1.2 var(--font-heading); }
.onboarding-terminal-head p { max-width: 620px; margin: 0 auto; color: #859181; font-size: .66rem; line-height: 1.45; }
.onboarding-sex-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 150px)); gap: 12px; justify-content: center; margin: 4px auto; }
.onboarding-sex-form { margin: 0; }
.onboarding-sex-button { width: 100%; padding: 0; border: 0; color: inherit; background: transparent; cursor: pointer; }
.onboarding-sex-card { display: grid; min-height: 126px; place-items: center; align-content: center; gap: 9px; padding: 12px; border: 1px solid rgba(132, 170, 108, .28); border-radius: 8px; background: rgba(11, 18, 12, .94); transition: border-color .18s ease, background .18s ease, transform .18s ease; }
.onboarding-sex-card:hover,
.onboarding-sex-button:focus-visible .onboarding-sex-card { border-color: rgba(168, 255, 96, .65); background: rgba(23, 35, 21, .96); transform: translateY(-2px); }
.onboarding-sex-card img { box-sizing: border-box; object-fit: cover; }
.onboarding-sex-card span { color: #fff; font: 700 .72rem/1.2 var(--font-pda); letter-spacing: .1em; }
.onboarding-captcha-terminal form { display: grid; justify-items: center; gap: 13px; margin: 0; }
.onboarding-captcha-terminal .onboarding-terminal-head { width: 100%; }
.onboarding-captcha-field { display: grid; gap: 10px; justify-items: center; width: min(100%, 240px); }
.onboarding-captcha-field img { border: 1px solid var(--accent-green); border-radius: 6px; box-shadow: 0 0 10px rgba(16, 185, 129, .3); }
.onboarding-captcha-field input { box-sizing: border-box; width: 100%; max-width: 220px; margin: 0; font: 1.1rem var(--font-mono); letter-spacing: 2px; text-align: center; }
.onboarding-ready-terminal { display: grid; justify-items: center; gap: 9px; }
.onboarding-ready-logo { box-sizing: border-box; max-width: min(100%, 270px); height: auto; border-radius: 6px; box-shadow: 0 0 15px rgba(16, 185, 129, .2); }
.onboarding-ready-terminal h3 { margin: 0; color: var(--accent-green-bright); font: 800 1.08rem/1.2 var(--font-pda); }
.onboarding-ready-terminal p { margin: 0; color: var(--text-main); font-size: .78rem; line-height: 1.6; }
.onboarding-ready-terminal form { margin: 3px 0 0; }
.faction-current { display: grid; grid-template-columns: 76px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 11px 18px; border-bottom: 1px solid rgba(132, 170, 108, 0.15); background: rgba(110, 150, 85, 0.055); }
.faction-current img { display: block; width: 76px; height: 76px; object-fit: contain; filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.45)); }
.faction-current span { display: block; color: #71856a; font-size: 0.53rem; letter-spacing: 0.09em; text-transform: uppercase; }
.faction-current strong { display: block; margin-top: 2px; color: #dce8d7; font-family: var(--font-pda); font-size: 0.86rem; }
.faction-current-price { padding: 6px 9px; border: 1px solid rgba(207, 166, 83, 0.22); border-radius: 3px; color: #c7aa6a; background: rgba(187, 130, 45, 0.07); font-size: 0.55rem; }
.faction-lock-notice { padding: 10px 18px; border-bottom: 1px solid rgba(205, 118, 67, 0.17); color: #967e70; background: rgba(183, 80, 40, 0.07); font-size: 0.58rem; }
.faction-lock-notice strong { color: #d08b65; }

@media (max-width: 700px) {
  .faction-choice-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .faction-card { min-height: 350px; padding: 12px; }
  .faction-card-emblem { width: min(80%, 150px); }
  .faction-current { grid-template-columns: 60px minmax(0, 1fr); }
  .faction-current img { width: 60px; height: 60px; }
  .faction-current-price { grid-column: 1 / -1; }
}

@media (max-width: 430px) {
  .faction-terminal-head { padding: 15px; }
  .faction-choice-grid { grid-template-columns: 1fr; }
  .faction-card { min-height: 0; }
  .faction-card-emblem { width: 142px; }
  .faction-card q { min-height: 0; }
  .faction-card-action { min-height: 44px; }
  .onboarding-terminal-head { padding: 15px; }
  .onboarding-sex-grid { gap: 8px; }
  .onboarding-ready-terminal .btn { box-sizing: border-box; width: 100%; min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .faction-terminal *,
  .faction-terminal *::before,
  .faction-terminal *::after,
  .onboarding-terminal * { transition: none !important; }
}

/* 1.28 — отряды: каталог, профиль, состав и прозрачная казна */
.clan-hub { display: grid; gap: 10px; color: #d6e0d1; }
.clan-hero, .clan-console, .clan-profile-hero, .clan-join-panel, .clan-profile-nav, .clan-roster, .clan-balance-grid, .clan-ledger {
  border: 1px solid rgba(129, 168, 104, 0.2);
  background: linear-gradient(155deg, rgba(13, 22, 16, 0.97), rgba(5, 10, 7, 0.99));
  box-shadow: inset 0 1px rgba(201, 227, 183, 0.035), 0 10px 26px rgba(0, 0, 0, 0.18);
}
.clan-hero { display: flex; min-height: 82px; gap: 16px; align-items: center; justify-content: space-between; padding: 16px 18px; border-top-color: rgba(169, 207, 140, 0.34); }
.clan-kicker { display: block; color: #789a67; font-family: var(--font-mono); font-size: 0.53rem; font-weight: 800; letter-spacing: 0.13em; }
.clan-hero h2, .clan-console h2, .clan-profile-copy h2 { margin: 4px 0 3px; color: #e5ede1; font-family: var(--font-pda); font-size: 1.1rem; letter-spacing: 0.025em; }
.clan-hero p, .clan-console header p { max-width: 650px; margin: 0; color: #7d8a79; font-size: 0.61rem; line-height: 1.5; }
.clan-hero nav { display: flex; flex: 0 0 auto; gap: 7px; }
.clan-hero .btn { min-height: 34px; margin: 0; }
.clan-side-filter { display: flex; gap: 1px; overflow-x: auto; border: 1px solid rgba(129, 168, 104, 0.16); background: rgba(114, 152, 91, 0.09); scrollbar-width: thin; }
.clan-side-filter a { flex: 1 0 auto; padding: 8px 10px; color: #778673; background: rgba(5, 10, 7, 0.94); font-size: 0.54rem; font-weight: 700; text-align: center; text-decoration: none; white-space: nowrap; }
.clan-side-filter a:hover, .clan-side-filter a.is-active { color: #c9dec0; background: rgba(105, 157, 76, 0.14); box-shadow: inset 0 -2px #7eaf62; }
.clan-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; border: 1px solid rgba(129, 168, 104, 0.16); background: rgba(129, 168, 104, 0.13); }
.clan-card { position: relative; display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; min-width: 0; gap: 11px; align-items: center; padding: 12px; color: inherit; background: rgba(6, 12, 8, 0.98); text-decoration: none; transition: background 0.18s ease, box-shadow 0.18s ease; }
.clan-card:hover, .clan-card:focus { color: inherit; background: linear-gradient(90deg, rgba(118, 169, 88, 0.12), rgba(7, 13, 9, 0.99)); box-shadow: inset 2px 0 #8ab96d; text-decoration: none; }
.clan-card-emblem { display: grid; width: 64px; height: 64px; place-items: center; border: 1px solid rgba(131, 172, 105, 0.16); border-radius: 50%; background: radial-gradient(circle, rgba(119, 163, 92, 0.1), rgba(0, 0, 0, 0.2)); }
.clan-card-emblem img { width: 58px; height: 58px; object-fit: contain; filter: saturate(0.8) drop-shadow(0 4px 5px rgba(0, 0, 0, 0.45)); }
.clan-card-copy { min-width: 0; }
.clan-card-copy > span { color: #7d9d6c; font-size: 0.49rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.clan-card-copy h3 { margin: 2px 0 6px; overflow: hidden; color: #dce6d8; font-size: 0.72rem; text-overflow: ellipsis; white-space: nowrap; }
.clan-card-copy h3 b { color: #d1a85c; }
.clan-card-copy > div { display: flex; flex-wrap: wrap; gap: 9px; }
.clan-card-copy small { color: #697665; font-size: 0.5rem; }
.clan-card-copy small strong { color: #a7b99e; font-weight: 700; }
.clan-card-arrow { color: #78976b; font-size: 1.35rem; }
.clan-empty { display: grid; min-height: 170px; grid-column: 1 / -1; place-items: center; align-content: center; gap: 4px; color: #788374; background: #070d09; text-align: center; }
.clan-empty span { color: #8daf75; font-size: 2rem; }
.clan-empty strong { color: #cad6c5; font-size: 0.7rem; }
.clan-empty small { font-size: 0.54rem; }
.clan-console { padding: 17px; }
.clan-console > header { margin-bottom: 13px; }
.clan-console h3, .clan-roster h3, .clan-ledger h3 { margin: 3px 0; color: #d9e4d4; font-family: var(--font-pda); font-size: 0.82rem; }
.clan-faction-lock { display: flex; gap: 11px; align-items: center; margin: 0 0 14px; padding: 9px; border: 1px solid rgba(126, 170, 100, 0.17); background: rgba(111, 154, 84, 0.055); }
.clan-faction-lock img { width: 64px; height: 64px; object-fit: contain; filter: drop-shadow(0 5px 7px rgba(0, 0, 0, 0.45)); }
.clan-faction-lock span, .clan-faction-lock small { display: block; color: #72806e; font-size: 0.51rem; }
.clan-faction-lock strong { display: block; margin: 2px 0; color: #d5e4ce; font-family: var(--font-pda); font-size: 0.74rem; }
.clan-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; margin: 0; }
.clan-form label { margin: 0; color: #a6b39f; font-size: 0.57rem; font-weight: 700; }
.clan-form label small { display: block; min-height: 1.4em; color: #687365; font-size: 0.49rem; font-weight: 400; }
.clan-form input, .clan-form textarea { box-sizing: border-box; min-height: 38px; margin: 5px 0 0; border-color: rgba(130, 166, 107, 0.25); color: #dce5d8; background: rgba(0, 0, 0, 0.27); }
.clan-form textarea { min-height: 82px; resize: vertical; }
.clan-form-wide { grid-column: 1 / -1; }
.clan-form-submit { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding-top: 3px; border-top: 1px solid rgba(129, 168, 104, 0.13); }
.clan-form-submit span { color: #768172; font-size: 0.52rem; }
.clan-form-submit b { color: #d4ae67; }
.clan-form-submit .btn { min-width: 180px; margin: 7px 0 0; }
.clan-profile-hero { display: grid; grid-template-columns: 180px minmax(0, 1fr); min-height: 220px; overflow: hidden; }
.clan-profile-visual { position: relative; display: grid; min-height: 220px; place-items: center; overflow: hidden; border-right: 1px solid rgba(129, 168, 104, 0.16); background: radial-gradient(circle at 50% 42%, rgba(123, 167, 97, 0.16), rgba(3, 8, 5, 0.98) 72%); }
.clan-profile-avatar { display: block; width: 100%; height: 100%; min-height: 220px; object-fit: cover; filter: saturate(0.68) contrast(1.06) brightness(0.72); }
.clan-profile-side { position: absolute; right: 8px; bottom: 8px; width: 68px; height: 68px; object-fit: contain; filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.7)); }
.clan-profile-copy { display: flex; min-width: 0; flex-direction: column; padding: 20px; }
.clan-profile-copy h2 { font-size: 1.22rem; }
.clan-profile-copy h2 b { color: #d2aa62; }
.clan-profile-copy > p { flex: 1; margin: 7px 0 16px; color: #828d7e; font-size: 0.62rem; line-height: 1.55; }
.clan-profile-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: rgba(127, 166, 103, 0.14); }
.clan-profile-stats > div { min-width: 0; padding: 8px; background: rgba(5, 10, 7, 0.93); }
.clan-profile-stats span { display: block; color: #657260; font-size: 0.48rem; text-transform: uppercase; }
.clan-profile-stats strong { display: block; margin-top: 2px; overflow: hidden; color: #c7d5c0; font-size: 0.64rem; text-overflow: ellipsis; white-space: nowrap; }
.clan-profile-stats a { color: #a7cc90; }
.clan-join-panel { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 12px 15px; }
.clan-join-panel.is-open { border-color: rgba(125, 184, 88, 0.3); background: linear-gradient(90deg, rgba(106, 170, 68, 0.1), rgba(6, 11, 8, 0.98)); }
.clan-join-panel.is-locked { opacity: 0.76; }
.clan-join-panel span, .clan-join-panel small { display: block; color: #71806d; font-size: 0.5rem; }
.clan-join-panel span { color: #85a672; font-weight: 800; letter-spacing: 0.1em; }
.clan-join-panel strong { display: block; margin: 2px 0; color: #d3e0ce; font-size: 0.7rem; }
.clan-join-panel form { flex: 0 0 auto; margin: 0; }
.clan-join-panel .btn { min-height: 37px; margin: 0; }
.clan-profile-nav { display: flex; overflow-x: auto; }
.clan-profile-nav a { flex: 1 0 auto; padding: 10px 12px; border-right: 1px solid rgba(129, 168, 104, 0.13); color: #91a289; font-size: 0.56rem; font-weight: 700; text-align: center; text-decoration: none; }
.clan-profile-nav a:hover { color: #d1e2c8; background: rgba(115, 166, 84, 0.1); }
.clan-profile-nav b { margin-left: 4px; color: #d4ad66; }
.clan-leave-form { display: flex; gap: 12px; align-items: center; justify-content: space-between; margin: 0; padding: 9px 12px; border: 1px solid rgba(191, 89, 66, 0.18); background: rgba(145, 55, 38, 0.055); }
.clan-leave-form span { color: #806f67; font-size: 0.51rem; }
.clan-leave-form .btn { margin: 0; }
.clan-roster > header, .clan-ledger > header { display: flex; align-items: center; justify-content: space-between; padding: 12px 14px; border-bottom: 1px solid rgba(129, 168, 104, 0.14); }
.clan-roster > header > small { color: #657161; font-size: 0.5rem; }
.clan-roster-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(129, 168, 104, 0.12); }
.clan-member { display: flex; min-width: 0; gap: 8px; align-items: center; justify-content: space-between; padding: 10px 12px; background: #070d09; }
.clan-member-main { display: flex; min-width: 0; gap: 9px; align-items: center; color: inherit; text-decoration: none; }
.clan-member-main:hover { color: inherit; text-decoration: none; }
.clan-member-signal { width: 8px; height: 8px; flex: 0 0 auto; border-radius: 50%; background: #424b40; box-shadow: 0 0 0 3px rgba(67, 75, 64, 0.12); }
.clan-member-signal.is-online { background: #82c661; box-shadow: 0 0 8px rgba(125, 201, 91, 0.55); }
.clan-member-main strong { display: block; overflow: hidden; color: #cbd8c5; font-size: 0.62rem; text-overflow: ellipsis; white-space: nowrap; }
.clan-member-main small { display: block; color: #687565; font-size: 0.49rem; }
.clan-balance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(129, 168, 104, 0.13); }
.clan-balance-grid > div { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 3px 10px; align-items: center; padding: 13px 16px; background: #070d09; }
.clan-balance-grid img { grid-row: 1 / 3; object-fit: contain; }
.clan-balance-grid span { color: #6f7d6b; font-size: 0.5rem; text-transform: uppercase; }
.clan-balance-grid strong { color: #d7c185; font-family: var(--font-mono); font-size: 0.86rem; }
.clan-treasury-layout, .clan-settings-grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 10px; }
.clan-ledger { min-width: 0; overflow: hidden; }
.clan-ledger-list { max-height: 440px; overflow-y: auto; }
.clan-ledger article { display: grid; grid-template-columns: 86px minmax(0, 1fr); gap: 10px; padding: 9px 12px; border-bottom: 1px solid rgba(129, 168, 104, 0.1); }
.clan-ledger time { color: #677563; font-family: var(--font-mono); font-size: 0.47rem; }
.clan-ledger strong { color: #a7c497; font-size: 0.56rem; }
.clan-ledger p { margin: 2px 0 0; color: #788474; font-size: 0.53rem; line-height: 1.35; }
.clan-ledger-empty { padding: 24px; color: #6e796a; font-size: 0.56rem; text-align: center; }
.clan-upload-form { display: grid; gap: 10px; margin: 0; }
.clan-upload-form input { box-sizing: border-box; width: 100%; padding: 8px; border: 1px dashed rgba(130, 169, 105, 0.26); color: #86917f; background: rgba(0, 0, 0, 0.22); }
.clan-upload-form .btn { margin: 0; }
.clan-settings .clan-danger-zone { margin: 0; }
.clan-forfeit-box { margin: 10px 0; padding: 10px; border: 1px solid rgba(211, 158, 70, 0.24); background: rgba(176, 119, 39, 0.07); }
.clan-forfeit-box > strong { color: #d9b66f; font-size: 0.65rem; }
.clan-forfeit-box form label { display: block; margin: 7px 0 4px; }
.clan-forfeit-box input[type="checkbox"] { margin: 0 5px 1px 0; }
.clan-upgrade-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.clan-upgrade-card { display: grid; grid-template-columns: 150px minmax(0, 1fr); min-width: 0; overflow: hidden; border: 1px solid rgba(129, 168, 104, 0.2); background: linear-gradient(155deg, rgba(13, 22, 16, 0.97), rgba(5, 10, 7, 0.99)); }
.clan-upgrade-visual { position: relative; display: grid; min-height: 190px; place-items: center; overflow: hidden; border-right: 1px solid rgba(129, 168, 104, 0.14); background: radial-gradient(circle at 50% 45%, rgba(119, 160, 93, 0.2), rgba(3, 8, 5, 0.98) 72%); }
.clan-upgrade-visual img { display: block; width: 100%; height: 100%; min-height: 190px; object-fit: cover; filter: saturate(0.72) brightness(0.8) contrast(1.06); }
.clan-upgrade-visual b { position: absolute; right: 7px; bottom: 7px; padding: 4px 6px; border: 1px solid rgba(144, 186, 115, 0.28); color: #b4cbab; background: rgba(2, 7, 4, 0.85); font-size: 0.5rem; letter-spacing: 0.08em; }
.clan-upgrade-copy { display: flex; min-width: 0; flex-direction: column; padding: 13px; }
.clan-upgrade-copy h3 { margin: 3px 0 5px; color: #dce7d8; font-family: var(--font-pda); font-size: 0.78rem; }
.clan-upgrade-copy > p { flex: 1; margin: 0 0 10px; color: #788575; font-size: 0.55rem; line-height: 1.5; }
.clan-upgrade-price { margin-bottom: 9px; padding: 7px; border: 1px solid rgba(131, 169, 106, 0.13); background: rgba(0, 0, 0, 0.18); }
.clan-upgrade-price span { display: block; color: #687465; font-size: 0.48rem; text-transform: uppercase; }
.clan-upgrade-price strong { color: #d4b570; font-size: 0.57rem; }
.clan-upgrade-copy form { margin: 0; }
.clan-upgrade-copy .btn { width: 100%; min-height: 37px; margin: 0; }
.clan-upgrade-complete { padding: 9px; border: 1px solid rgba(122, 181, 87, 0.2); color: #94bd7e; background: rgba(102, 160, 70, 0.08); font-size: 0.54rem; text-align: center; }

.force-terminal { overflow: hidden; border: 1px solid rgba(128, 168, 103, 0.21); background: #060c08; }
.force-terminal > header { position: relative; padding: 17px 19px; border-bottom: 1px solid rgba(128, 168, 103, 0.16); background: linear-gradient(120deg, rgba(116, 159, 89, 0.1), rgba(6, 12, 8, 0.97)); }
.force-terminal > header h2 { margin: 4px 0 3px; color: #e1eadc; font-family: var(--font-pda); font-size: 1.08rem; }
.force-terminal > header p { max-width: 640px; margin: 0; color: #7b8877; font-size: 0.59rem; }
.force-terminal > header > strong { position: absolute; top: 18px; right: 18px; color: #d3b36e; font-family: var(--font-mono); font-size: 1.05rem; }
.force-terminal > header > strong small { color: #6f7c6b; font-size: 0.48rem; font-weight: 400; }
.force-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(205px, 1fr)); gap: 1px; background: rgba(128, 168, 103, 0.13); }
.force-card { --faction-glow: 137, 183, 104; display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: 10px; padding: 12px; background: linear-gradient(145deg, rgba(var(--faction-glow), 0.055), #060c08 70%); }
.force-card > img { width: 76px; height: 76px; object-fit: contain; filter: saturate(0.85) drop-shadow(0 5px 7px rgba(0, 0, 0, 0.5)); }
.force-card span { color: rgb(var(--faction-glow)); font-size: 0.46rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.force-card h3 { margin: 2px 0 3px; color: #d6e2d1; font-size: 0.68rem; }
.force-card p { min-height: 3.7em; margin: 0 0 6px; color: #6f7c6c; font-size: 0.49rem; line-height: 1.4; }
.force-meter { height: 3px; overflow: hidden; background: rgba(255, 255, 255, 0.055); }
.force-meter i { display: block; height: 100%; background: rgb(var(--faction-glow)); box-shadow: 0 0 8px rgba(var(--faction-glow), 0.4); }
.force-card strong { display: block; margin-top: 5px; color: #c5d1c0; font-family: var(--font-mono); font-size: 0.63rem; }
.force-card strong small { color: #687465; font-size: 0.46rem; font-weight: 400; }

@media (max-width: 760px) {
  .clan-grid, .clan-roster-list { grid-template-columns: 1fr; }
  .clan-profile-hero { grid-template-columns: 130px minmax(0, 1fr); }
  .clan-profile-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .clan-treasury-layout, .clan-settings-grid { grid-template-columns: 1fr; }
  .clan-upgrade-grid { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .clan-hero { align-items: flex-start; flex-direction: column; padding: 14px; }
  .clan-hero nav, .clan-hero .btn { width: 100%; box-sizing: border-box; }
  .clan-card { grid-template-columns: 52px minmax(0, 1fr) auto; padding: 10px; }
  .clan-card-emblem { width: 52px; height: 52px; }
  .clan-card-emblem img { width: 47px; height: 47px; }
  .clan-form { grid-template-columns: 1fr; }
  .clan-form-wide { grid-column: auto; }
  .clan-form-submit { align-items: stretch; flex-direction: column; }
  .clan-form-submit .btn { width: 100%; min-height: 44px; margin: 0; }
  .clan-profile-hero { grid-template-columns: 1fr; }
  .clan-profile-visual { min-height: 155px; border-right: 0; border-bottom: 1px solid rgba(129, 168, 104, 0.16); }
  .clan-profile-avatar { min-height: 155px; max-height: 185px; }
  .clan-profile-copy { padding: 15px; }
  .clan-join-panel, .clan-leave-form { align-items: stretch; flex-direction: column; }
  .clan-join-panel form, .clan-join-panel .btn, .clan-leave-form .btn { width: 100%; box-sizing: border-box; }
  .clan-balance-grid { grid-template-columns: 1fr; }
  .clan-member { align-items: stretch; flex-direction: column; }
  .clan-member-actions { width: 100%; }
  .clan-member-actions form, .clan-member-actions .btn { width: 100%; }
  .clan-upgrade-card { grid-template-columns: 105px minmax(0, 1fr); }
  .clan-upgrade-visual, .clan-upgrade-visual img { min-height: 100%; }
  .force-terminal > header > strong { position: static; display: block; margin-top: 8px; }
  .force-grid { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .clan-hub *, .clan-hub *::before, .clan-hub *::after { transition: none !important; }
}

/* 1.29 — сводка наблюдателей: положение сил и рейтинг сигналов */
.intel-terminal { display: grid; gap: 10px; color: #d7e1d2; }
.intel-hero { display: grid; grid-template-columns: 68px minmax(0, 1fr) auto; min-height: 92px; gap: 15px; align-items: center; padding: 16px 18px; border: 1px solid rgba(129, 169, 104, 0.23); border-top-color: rgba(168, 208, 139, 0.38); background: linear-gradient(118deg, rgba(119, 162, 91, 0.115), rgba(8, 14, 10, 0.98) 52%, rgba(184, 135, 58, 0.055)); box-shadow: inset 0 1px rgba(211, 233, 195, 0.04), 0 14px 32px rgba(0, 0, 0, 0.22); }
.intel-radar { position: relative; width: 62px; height: 62px; overflow: hidden; border: 1px solid rgba(137, 188, 105, 0.32); border-radius: 50%; background: repeating-radial-gradient(circle, transparent 0 9px, rgba(132, 181, 102, 0.12) 10px 11px), linear-gradient(90deg, transparent 49%, rgba(132, 181, 102, 0.16) 50%, transparent 51%), linear-gradient(transparent 49%, rgba(132, 181, 102, 0.16) 50%, transparent 51%), #071008; box-shadow: inset 0 0 18px rgba(112, 176, 75, 0.13), 0 0 14px rgba(89, 150, 56, 0.08); }
.intel-radar::before { position: absolute; inset: 4px; border-top: 1px solid rgba(153, 213, 116, 0.52); border-radius: 50%; content: ""; animation: intel-sweep 4s linear infinite; }
.intel-radar span { position: absolute; top: 17px; right: 13px; width: 4px; height: 4px; border-radius: 50%; background: #a5dc7d; box-shadow: 0 0 8px #92cf69; animation: intel-pulse 1.8s ease-in-out infinite; }
.intel-radar i { position: absolute; top: 50%; left: 50%; width: 4px; height: 4px; margin: -2px; border-radius: 50%; background: #86b96a; }
@keyframes intel-sweep { to { transform: rotate(360deg); } }
@keyframes intel-pulse { 50% { opacity: 0.25; } }
.intel-kicker { color: #7e9f6c; font-family: var(--font-mono); font-size: 0.52rem; font-weight: 800; letter-spacing: 0.13em; }
.intel-hero-copy h1 { margin: 4px 0 3px; color: #e6eee2; font-family: var(--font-pda); font-size: 1.18rem; letter-spacing: 0.025em; }
.intel-hero-copy p { max-width: 660px; margin: 0; color: #7c8978; font-size: 0.6rem; line-height: 1.5; }
.intel-hero-metrics { display: grid; grid-template-columns: repeat(2, minmax(94px, 1fr)); gap: 1px; border: 1px solid rgba(133, 173, 107, 0.13); background: rgba(133, 173, 107, 0.12); }
.intel-hero-metrics > div { min-width: 0; padding: 9px 11px; background: rgba(4, 9, 6, 0.91); }
.intel-hero-metrics span { display: block; color: #687565; font-size: 0.46rem; letter-spacing: 0.08em; text-transform: uppercase; }
.intel-hero-metrics strong { display: block; margin-top: 2px; color: #d2b571; font-family: var(--font-mono); font-size: 0.82rem; }
.intel-tabs { display: flex; overflow-x: auto; border: 1px solid rgba(129, 169, 104, 0.17); background: rgba(118, 157, 92, 0.08); }
.intel-tabs a { flex: 1 0 auto; padding: 9px 12px; border-right: 1px solid rgba(129, 169, 104, 0.12); color: #788774; background: #070d09; font-size: 0.55rem; font-weight: 800; text-align: center; text-decoration: none; }
.intel-tabs a:hover, .intel-tabs a.is-active { color: #cce0c3; background: rgba(110, 163, 78, 0.12); box-shadow: inset 0 -2px #84b568; }
.force-current { --faction-glow: 137, 183, 104; display: grid; grid-template-columns: 68px minmax(0, 1fr) auto; gap: 12px; align-items: center; padding: 10px 14px; border: 1px solid rgba(var(--faction-glow), 0.27); background: linear-gradient(90deg, rgba(var(--faction-glow), 0.105), rgba(6, 11, 8, 0.98) 55%); }
.force-current img { width: 68px; height: 68px; object-fit: contain; filter: saturate(0.9) drop-shadow(0 5px 7px rgba(0, 0, 0, 0.48)); }
.force-current span { color: rgb(var(--faction-glow)); font-size: 0.48rem; font-weight: 800; letter-spacing: 0.1em; }
.force-current h2 { margin: 2px 0; color: #dce8d7; font-family: var(--font-pda); font-size: 0.78rem; }
.force-current p { margin: 0; color: #778473; font-size: 0.54rem; }
.force-current .btn { margin: 0; }
.force-board, .rating-board { overflow: hidden; border: 1px solid rgba(129, 169, 104, 0.2); background: #060c08; }
.force-board > header, .rating-board > header { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 12px 15px; border-bottom: 1px solid rgba(129, 169, 104, 0.14); background: linear-gradient(90deg, rgba(111, 157, 83, 0.07), rgba(5, 10, 7, 0.98)); }
.force-board > header h2, .rating-board > header h2 { margin: 3px 0 0; color: #d9e5d4; font-family: var(--font-pda); font-size: 0.82rem; }
.force-board > header p, .rating-board > header p { max-width: 410px; margin: 0; color: #6e7b6a; font-size: 0.52rem; line-height: 1.45; text-align: right; }
.force-board .force-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(129, 169, 104, 0.13); }
.force-board .force-card { --faction-glow: 137, 183, 104; position: relative; display: grid; grid-template-columns: 88px minmax(0, 1fr); min-width: 0; gap: 13px; padding: 16px; background: linear-gradient(145deg, rgba(var(--faction-glow), 0.07), #060c08 65%); }
.force-board .force-card > img { width: 88px; height: 88px; margin-top: 22px; object-fit: contain; filter: saturate(0.86) drop-shadow(0 7px 9px rgba(0, 0, 0, 0.55)); }
.force-position { position: absolute; top: 11px; left: 12px; display: flex; gap: 6px; align-items: center; }
.force-position b { color: rgb(var(--faction-glow)); font-family: var(--font-mono); font-size: 0.65rem; }
.force-position span { color: #6e7a6b; font-size: 0.45rem; letter-spacing: 0.06em; text-transform: uppercase; }
.force-card-copy { min-width: 0; }
.force-card-copy > span { color: rgb(var(--faction-glow)); font-size: 0.46rem; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.force-card-copy h3 { margin: 2px 0 4px; color: #dce7d7; font-size: 0.75rem; }
.force-card-copy > p { min-height: 2.8em; margin: 0 0 9px; color: #707d6d; font-size: 0.51rem; line-height: 1.42; }
.force-scale { margin-top: 6px; }
.force-scale label { display: flex; align-items: center; justify-content: space-between; margin: 0 0 3px; color: #6d7969; font-size: 0.46rem; }
.force-scale label b { color: #aab9a3; font-family: var(--font-mono); font-weight: 600; }
.force-scale > div { height: 4px; overflow: hidden; background: rgba(255, 255, 255, 0.05); }
.force-scale i { display: block; height: 100%; background: rgb(var(--faction-glow)); box-shadow: 0 0 8px rgba(var(--faction-glow), 0.42); }
.force-scale.is-signals i { opacity: 0.48; }
.force-details { display: flex; gap: 10px; margin-top: 9px; padding-top: 7px; border-top: 1px solid rgba(130, 169, 106, 0.1); }
.force-details span { color: #677362; font-size: 0.46rem; }
.force-details b { color: #a8b7a1; }
.force-card-copy > a { display: inline-block; margin-top: 8px; color: rgba(var(--faction-glow), 0.86); font-size: 0.5rem; text-decoration: none; }
.force-card-copy > a:hover { color: #e3eee0; }
.intel-footnote { padding: 9px 13px; border: 1px solid rgba(129, 169, 104, 0.12); color: #657261; background: rgba(5, 10, 7, 0.78); font-size: 0.51rem; line-height: 1.4; }
.rating-filter { display: flex; gap: 1px; overflow-x: auto; border: 1px solid rgba(129, 169, 104, 0.15); background: rgba(129, 169, 104, 0.1); }
.rating-filter a { display: flex; min-width: max-content; flex: 1 0 auto; gap: 6px; align-items: center; justify-content: center; padding: 7px 9px; color: #71806d; background: #070d09; font-size: 0.5rem; font-weight: 700; text-decoration: none; }
.rating-filter a:hover, .rating-filter a.is-active { color: #c9ddc0; background: rgba(112, 164, 81, 0.12); box-shadow: inset 0 -2px #82b365; }
.rating-filter img { width: 24px; height: 24px; object-fit: contain; filter: saturate(0.78); }
.rating-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border: 1px solid rgba(129, 169, 104, 0.16); background: rgba(129, 169, 104, 0.12); }
.rating-summary > div { padding: 10px 12px; background: #070d09; }
.rating-summary span { display: block; color: #687565; font-size: 0.46rem; text-transform: uppercase; }
.rating-summary strong { display: block; margin-top: 2px; color: #c9d6c3; font-family: var(--font-mono); font-size: 0.72rem; }
.rating-list { display: grid; gap: 1px; background: rgba(129, 169, 104, 0.11); }
.rating-row { position: relative; display: grid; grid-template-columns: 78px minmax(150px, 1.15fr) minmax(150px, 0.9fr) minmax(135px, 0.65fr) 24px; min-width: 0; gap: 11px; align-items: center; padding: 10px 12px; background: #070d09; transition: background 0.16s ease, box-shadow 0.16s ease; }
.rating-row:hover { background: linear-gradient(90deg, rgba(112, 164, 81, 0.09), #070d09 58%); }
.rating-row.is-self { box-shadow: inset 3px 0 #79ad5c; background: linear-gradient(90deg, rgba(104, 164, 71, 0.13), #070d09 60%); }
.rating-row.is-first { background: linear-gradient(90deg, rgba(210, 166, 79, 0.13), #070d09 58%); }
.rating-row.is-second { background: linear-gradient(90deg, rgba(168, 180, 177, 0.09), #070d09 58%); }
.rating-row.is-third { background: linear-gradient(90deg, rgba(187, 110, 72, 0.1), #070d09 58%); }
.rating-position strong { display: block; color: #9eb292; font-family: var(--font-mono); font-size: 0.78rem; }
.rating-position span { display: block; color: #667262; font-size: 0.43rem; line-height: 1.25; text-transform: uppercase; }
.rating-row.is-first .rating-position strong { color: #e0ba67; text-shadow: 0 0 11px rgba(220, 168, 69, 0.28); }
.rating-row.is-second .rating-position strong { color: #c3cfcc; }
.rating-row.is-third .rating-position strong { color: #cf8b66; }
.rating-identity { display: flex; min-width: 0; gap: 10px; align-items: center; color: inherit; text-decoration: none; }
.rating-identity:hover { color: inherit; text-decoration: none; }
.rating-avatar { position: relative; width: 54px; height: 54px; flex: 0 0 auto; overflow: visible; border: 1px solid rgba(132, 171, 108, 0.22); border-radius: 5px; background: #0c130e; }
.rating-avatar img { display: block; width: 54px; height: 54px; border-radius: 4px; object-fit: cover; }
.rating-avatar i { position: absolute; right: -2px; bottom: -2px; width: 8px; height: 8px; border: 2px solid #070d09; border-radius: 50%; background: #485145; }
.rating-avatar i.is-online { background: #84c662; box-shadow: 0 0 7px rgba(125, 202, 89, 0.55); }
.rating-name { min-width: 0; }
.rating-name strong { display: block; overflow: hidden; color: #d4dfcf; font-size: 0.64rem; text-overflow: ellipsis; white-space: nowrap; }
.rating-name small { display: block; color: #687464; font-size: 0.46rem; }
.rating-affiliation { display: flex; min-width: 0; gap: 8px; align-items: center; }
.rating-affiliation > img { width: 38px; height: 38px; flex: 0 0 auto; object-fit: contain; filter: saturate(0.78) drop-shadow(0 4px 5px rgba(0, 0, 0, 0.38)); }
.rating-affiliation span { min-width: 0; }
.rating-affiliation strong, .rating-affiliation small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rating-affiliation strong { color: #9eb591; font-size: 0.53rem; }
.rating-affiliation small, .rating-affiliation a { color: #687464; font-size: 0.46rem; }
.rating-values { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(130, 169, 106, 0.11); }
.rating-values > div { min-width: 0; padding: 6px 7px; background: rgba(2, 7, 4, 0.72); }
.rating-values span { display: block; color: #647060; font-size: 0.42rem; text-transform: uppercase; }
.rating-values strong { display: block; overflow: hidden; color: #d1b873; font-family: var(--font-mono); font-size: 0.61rem; text-overflow: ellipsis; }
.rating-row-action { color: #768b6d; font-size: 1.25rem; text-align: center; text-decoration: none; }
.rating-row-action:hover { color: #b9d4a9; text-decoration: none; }
.rating-empty { display: grid; min-height: 170px; place-items: center; align-content: center; gap: 4px; color: #6d7969; background: #070d09; text-align: center; }
.rating-empty span { color: #83aa6d; font-size: 1.8rem; }
.rating-empty strong { color: #c6d3c1; font-size: 0.67rem; }
.rating-empty small { font-size: 0.5rem; }

@media (max-width: 900px) {
  .rating-row { grid-template-columns: 65px minmax(145px, 1fr) minmax(125px, 0.8fr) 24px; }
  .rating-values { grid-column: 2 / 4; }
  .rating-row-action { grid-column: 4; grid-row: 1 / 3; }
}

@media (max-width: 700px) {
  .intel-hero { grid-template-columns: 54px minmax(0, 1fr); }
  .intel-radar { width: 50px; height: 50px; }
  .intel-hero-metrics { grid-column: 1 / -1; }
  .force-board .force-grid { grid-template-columns: 1fr; }
  .rating-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .rating-row { grid-template-columns: 52px minmax(0, 1fr) 22px; gap: 8px; }
  .rating-position { grid-column: 1; grid-row: 1; }
  .rating-identity { grid-column: 2; grid-row: 1; }
  .rating-affiliation { grid-column: 1 / 3; grid-row: 2; }
  .rating-values { grid-column: 1 / 3; grid-row: 3; }
  .rating-row-action { grid-column: 3; grid-row: 1 / 4; }
}

@media (max-width: 480px) {
  .intel-hero { padding: 13px; }
  .intel-hero-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .intel-tabs a { min-height: 32px; }
  .force-current { grid-template-columns: 58px minmax(0, 1fr); }
  .force-current img { width: 58px; height: 58px; }
  .force-current .btn { grid-column: 1 / -1; width: 100%; box-sizing: border-box; }
  .force-board > header, .rating-board > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .force-board > header p, .rating-board > header p { text-align: left; }
  .force-board .force-card { grid-template-columns: 72px minmax(0, 1fr); gap: 9px; padding: 13px; }
  .force-board .force-card > img { width: 72px; height: 72px; }
  .force-details { flex-direction: column; gap: 3px; }
  .rating-filter a { min-height: 34px; }
  .rating-row { padding: 10px; }
  .rating-avatar, .rating-avatar img { width: 46px; height: 46px; }
}

@media (prefers-reduced-motion: reduce) {
  .intel-terminal *, .intel-terminal *::before, .intel-terminal *::after { animation: none !important; transition: none !important; }
}

/* Admin item catalog workbench — 1.38.0 */
.admin-catalog-shell, .admin-item-workbench { display: grid; gap: 12px; margin-bottom: 14px; }
.admin-catalog-head, .admin-item-workbench > header { display: flex; gap: 14px; align-items: center; justify-content: space-between; padding: 16px; border: 1px solid rgba(133, 177, 105, 0.22); background: linear-gradient(135deg, rgba(29, 48, 27, 0.92), rgba(6, 12, 8, 0.97)); box-shadow: inset 3px 0 #80b45e, 0 10px 26px rgba(0, 0, 0, 0.24); }
.admin-catalog-head > div, .admin-item-workbench > header > div { min-width: 0; }
.admin-catalog-head span, .admin-item-workbench > header span { color: #78a864; font-family: var(--font-mono); font-size: 0.5rem; letter-spacing: 0.12em; }
.admin-catalog-head h1, .admin-item-workbench h1 { margin: 3px 0 5px; color: #d9e6d3; font-family: var(--font-pda); font-size: 1rem; letter-spacing: 0.035em; }
.admin-catalog-head p, .admin-item-workbench > header p { max-width: 720px; margin: 0; color: #82917d; font-size: 0.56rem; line-height: 1.5; }
.admin-catalog-head > .btn { flex: 0 0 auto; }
.admin-catalog-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; border: 1px solid rgba(133, 177, 105, 0.17); background: rgba(133, 177, 105, 0.12); }
.admin-catalog-metrics article { padding: 12px; background: #070d09; }
.admin-catalog-metrics span { display: block; color: #687665; font-size: 0.45rem; }
.admin-catalog-metrics strong { display: block; margin-top: 3px; color: #c7d8c0; font-family: var(--font-mono); font-size: 0.82rem; }
.admin-catalog-slot-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.admin-catalog-slot { display: flex; min-height: 104px; flex-direction: column; padding: 11px; border: 1px solid rgba(130, 169, 106, 0.15); background: rgba(6, 12, 8, 0.93); box-sizing: border-box; }
.admin-catalog-slot.is-covered { box-shadow: inset 2px 0 rgba(117, 174, 84, 0.75); }
.admin-catalog-slot.is-missing { border-color: rgba(221, 166, 72, 0.3); box-shadow: inset 2px 0 rgba(221, 166, 72, 0.75); }
.admin-catalog-slot > span { color: #61705e; font-size: 0.42rem; letter-spacing: 0.08em; }
.admin-catalog-slot.is-missing > span { color: #c49347; }
.admin-catalog-slot > strong { margin-top: 5px; color: #c6d5c0; font-size: 0.62rem; }
.admin-catalog-slot > small { color: #6e7a69; font-size: 0.47rem; }
.admin-catalog-slot > a { margin-top: auto; padding-top: 8px; color: #8fbd78; font-size: 0.49rem; text-decoration: none; }
.admin-catalog-slot.is-missing > a { color: #d2a458; }
.admin-catalog-alert { padding: 11px 13px; border: 1px solid rgba(224, 102, 74, 0.32); background: rgba(83, 29, 20, 0.27); box-shadow: inset 3px 0 #d26349; }
.admin-catalog-alert.is-info { border-color: rgba(215, 164, 75, 0.28); background: rgba(71, 52, 17, 0.25); box-shadow: inset 3px 0 #cf9d47; }
.admin-catalog-alert strong { color: #e1c5b8; font-size: 0.58rem; }
.admin-catalog-alert.is-info strong { color: #ddc386; }
.admin-catalog-alert p { margin: 3px 0 0; color: #8e8179; font-size: 0.51rem; line-height: 1.45; }
.admin-catalog-issues { display: grid; gap: 5px; margin: 9px 0 0; padding: 0; list-style: none; }
.admin-catalog-issues li { display: grid; gap: 2px; padding: 7px 9px; border: 1px solid rgba(224, 102, 74, 0.18); background: rgba(8, 10, 8, 0.46); }
.admin-catalog-issues a { color: #e4c1ac; font-size: 0.53rem; }
.admin-catalog-issues span { color: #98847a; font-size: 0.48rem; line-height: 1.4; }
.admin-blueprint-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.admin-blueprint-grid a { min-width: 0; padding: 10px 11px; border: 1px solid rgba(128, 167, 103, 0.15); color: inherit; background: #070d09; text-decoration: none; }
.admin-blueprint-grid a:hover, .admin-blueprint-grid a.is-active { border-color: rgba(210, 161, 73, 0.5); background: linear-gradient(135deg, rgba(76, 55, 18, 0.35), #070d09); box-shadow: inset 2px 0 #cf9f4c; }
.admin-blueprint-grid strong, .admin-blueprint-grid small { display: block; overflow: hidden; text-overflow: ellipsis; }
.admin-blueprint-grid strong { color: #cbd8c5; font-size: 0.57rem; white-space: nowrap; }
.admin-blueprint-grid small { margin-top: 2px; color: #6f7c6b; font-size: 0.47rem; line-height: 1.35; }
.admin-item-form-shell { max-width: 760px; margin-right: auto; margin-left: auto; box-sizing: border-box; }
.admin-item-form-shell form { margin: 0; text-align: left; }
.admin-item-slot-guide { margin: -5px 0 12px; padding: 8px 10px; border-left: 3px solid #7cad60; color: #8da285; background: rgba(83, 124, 61, 0.1); font-size: 0.54rem; line-height: 1.4; }

@media (max-width: 900px) {
  .admin-catalog-slot-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .admin-catalog-head, .admin-item-workbench > header { align-items: flex-start; flex-direction: column; }
  .admin-catalog-head > .btn { width: 100%; box-sizing: border-box; text-align: center; }
  .admin-catalog-metrics, .admin-blueprint-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-catalog-slot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  .admin-catalog-metrics, .admin-blueprint-grid, .admin-catalog-slot-grid { grid-template-columns: 1fr; }
  .admin-catalog-slot { min-height: 92px; }
}

/* Reward truth and trophy register — 1.39.0 */
.cache-contract-head { display: flex; gap: 16px; align-items: center; justify-content: space-between; margin: 0 0 10px; padding: 16px; border: 1px solid rgba(116, 165, 91, 0.22); background: linear-gradient(135deg, rgba(24, 45, 25, 0.95), rgba(5, 11, 7, 0.98)); box-shadow: inset 3px 0 #77aa59, 0 12px 28px rgba(0, 0, 0, 0.24); }
.cache-contract-head > div { min-width: 0; }
.cache-contract-head span { color: #79aa63; font-family: var(--font-mono); font-size: 0.49rem; letter-spacing: 0.12em; }
.cache-contract-head h1 { margin: 3px 0 5px; color: #d6e3d0; font-family: var(--font-pda); font-size: 1rem; }
.cache-contract-head p { max-width: 760px; margin: 0; color: #83917e; font-size: 0.55rem; line-height: 1.5; }
.cache-contract-head > small { flex: 0 0 auto; padding: 7px 10px; border: 1px solid rgba(203, 158, 73, 0.3); color: #d4b56f; background: rgba(74, 52, 13, 0.28); font-size: 0.51rem; }
.cache-contract-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cache-contract-card { display: flex; min-width: 0; flex-direction: column; padding: 13px; border: 1px solid rgba(123, 161, 101, 0.18); background: linear-gradient(145deg, rgba(9, 18, 11, 0.97), rgba(5, 9, 6, 0.99)); box-shadow: inset 2px 0 rgba(112, 159, 85, 0.62); }
.cache-contract-card.is-priority { border-color: rgba(209, 157, 67, 0.36); box-shadow: inset 2px 0 #d09a42, 0 8px 22px rgba(0, 0, 0, 0.18); }
.cache-contract-card header { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 8px; align-items: end; }
.cache-contract-card header span { grid-column: 1 / -1; color: #61735e; font-size: 0.43rem; letter-spacing: 0.1em; }
.cache-contract-card h2 { overflow: hidden; margin: 0; color: #cad9c4; font-size: 0.67rem; text-overflow: ellipsis; white-space: nowrap; }
.cache-contract-card header small { color: #a9b5a5; font-size: 0.49rem; }
.cache-contract-card > p { min-height: 3.9em; margin: 9px 0; color: #778474; font-size: 0.51rem; line-height: 1.48; }
.cache-contract-values { display: flex; gap: 5px; flex-wrap: wrap; margin: auto 0 10px; }
.cache-contract-values b, .cache-contract-values span { padding: 5px 7px; border: 1px solid rgba(124, 164, 100, 0.14); color: #82927d; background: rgba(78, 104, 66, 0.08); font-size: 0.47rem; }
.cache-contract-values b { color: #c9d9c2; }
.cache-contract-card form, .cache-contract-card button { width: 100%; margin: 0; box-sizing: border-box; }
.cache-contract-note { margin: 8px 0 14px; padding: 9px 11px; border-left: 3px solid #c9933f; color: #94866c; background: rgba(91, 62, 14, 0.15); font-size: 0.5rem; line-height: 1.45; }
.field-result-finding { margin: 8px 0; padding: 9px 10px; border: 1px solid rgba(121, 167, 96, 0.18); color: #aabc9f; background: rgba(62, 91, 48, 0.13); font-size: 0.53rem; line-height: 1.5; }
.trophy-storage-contract { display: flex; gap: 10px; align-items: center; margin: 0 0 10px; padding: 10px 12px; border: 1px solid rgba(164, 183, 82, 0.22); background: rgba(47, 58, 18, 0.24); box-shadow: inset 3px 0 #9cac4d; }
.trophy-storage-contract > span { color: #bdca6c; font-size: 1rem; }
.trophy-storage-contract strong, .trophy-storage-contract small { display: block; }
.trophy-storage-contract strong { color: #cad3a3; font-size: 0.57rem; }
.trophy-storage-contract small { margin-top: 2px; color: #858d6c; font-size: 0.48rem; line-height: 1.4; }

@media (max-width: 620px) {
  .cache-contract-head { align-items: flex-start; flex-direction: column; }
  .cache-contract-head > small { width: 100%; box-sizing: border-box; text-align: center; }
  .cache-contract-grid { grid-template-columns: 1fr; }
  .cache-contract-card > p { min-height: 0; }
}

/* Player dossier — 1.45.0 */
.stalker-dossier {
  --profile-accent: #8fd36c;
  --profile-accent-rgb: 143, 211, 108;
  display: grid;
  gap: 10px;
  margin: 12px 0;
  color: #d7e1d2;
}
.stalker-dossier.profile-tone-red { --profile-accent: #ef786d; --profile-accent-rgb: 239, 120, 109; }
.stalker-dossier.profile-tone-cyan { --profile-accent: #67cbd4; --profile-accent-rgb: 103, 203, 212; }
.stalker-dossier.profile-tone-amber { --profile-accent: #e0b766; --profile-accent-rgb: 224, 183, 102; }
.stalker-dossier.profile-tone-orange { --profile-accent: #df8f55; --profile-accent-rgb: 223, 143, 85; }
.stalker-dossier.profile-tone-green { --profile-accent: #8fd36c; --profile-accent-rgb: 143, 211, 108; }

.profile-dossier-hero {
  position: relative;
  display: grid;
  grid-template-columns: minmax(210px, 0.72fr) minmax(0, 1.65fr);
  min-height: 310px;
  overflow: hidden;
  border: 1px solid rgba(var(--profile-accent-rgb), 0.34);
  border-radius: 11px;
  background:
    linear-gradient(90deg, rgba(var(--profile-accent-rgb), 0.025) 1px, transparent 1px) 0 0 / 22px 22px,
    linear-gradient(0deg, rgba(var(--profile-accent-rgb), 0.022) 1px, transparent 1px) 0 0 / 22px 22px,
    radial-gradient(circle at 88% 4%, rgba(var(--profile-accent-rgb), 0.15), transparent 38%),
    linear-gradient(135deg, #0c1510, #07100a 62%, #0c160f);
  box-shadow: inset 3px 0 var(--profile-accent), 0 14px 32px rgba(0, 0, 0, 0.3);
}
.profile-dossier-hero::after {
  position: absolute;
  z-index: 3;
  inset: 0;
  background: repeating-linear-gradient(180deg, transparent 0, transparent 3px, rgba(210, 235, 203, 0.018) 4px);
  content: '';
  pointer-events: none;
}
.profile-dossier-portrait {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 310px;
  overflow: hidden;
  border-right: 1px solid rgba(var(--profile-accent-rgb), 0.2);
  background: #050906;
}
.profile-dossier-portrait::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 38%, rgba(3, 7, 4, 0.22) 58%, #050a06 100%);
  content: '';
  pointer-events: none;
}
.profile-dossier-avatar { display: block; width: 100%; height: 100%; min-height: 310px; object-fit: cover; filter: saturate(0.76) contrast(1.08) brightness(0.82); }
.profile-dossier-faction-mark {
  position: absolute;
  z-index: 2;
  right: 12px;
  bottom: 12px;
  width: 72px;
  height: 72px;
  object-fit: contain;
  filter: drop-shadow(0 7px 11px rgba(0, 0, 0, 0.82));
}
.profile-signal-badge {
  position: absolute;
  z-index: 2;
  top: 12px;
  left: 12px;
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 6px 8px;
  border: 1px solid rgba(203, 216, 198, 0.2);
  border-radius: 12px;
  color: #a8b3a4;
  background: rgba(4, 8, 5, 0.82);
  backdrop-filter: blur(5px);
  font: 700 0.53rem/1 var(--font-pda);
  letter-spacing: 0.035em;
}
.profile-signal-badge i,
.profile-network-status > i { display: block; flex: 0 0 auto; width: 8px; height: 8px; border-radius: 50%; background: #697267; box-shadow: 0 0 0 3px rgba(105, 114, 103, 0.11); }
.profile-signal-badge.is-online { color: #bdf2a6; border-color: rgba(119, 214, 87, 0.32); }
.profile-signal-badge.is-online i,
.profile-network-status.is-online > i { background: #7bdd57; box-shadow: 0 0 0 3px rgba(123, 221, 87, 0.12), 0 0 9px rgba(123, 221, 87, 0.74); }

.profile-dossier-identity {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  flex-direction: column;
  justify-content: center;
  padding: 25px 27px;
}
.profile-dossier-kicker,
.profile-panel-heading span,
.profile-loadout-slot,
.profile-clan-link > span { color: var(--profile-accent); font: 700 0.54rem/1.25 var(--font-mono); letter-spacing: 0.13em; }
.profile-dossier-identity h1 { margin: 6px 0 3px; color: #f0f5ed; font: 800 1.65rem/1.08 var(--font-heading); letter-spacing: 0.025em; overflow-wrap: anywhere; text-transform: uppercase; text-shadow: 0 0 18px rgba(var(--profile-accent-rgb), 0.13); }
.profile-dossier-rank { margin: 0 0 13px; color: #a9b7a4; font: 600 0.72rem/1.4 var(--font-pda); }
.profile-dossier-faction { display: flex; gap: 8px 12px; align-items: baseline; flex-wrap: wrap; }
.profile-dossier-faction strong { color: var(--profile-accent); font: 800 0.8rem/1.3 var(--font-heading); }
.profile-dossier-faction span { color: #7f8e7b; font-size: 0.63rem; }
.profile-dossier-identity blockquote { margin: 10px 0 13px; padding: 9px 12px; border-left: 2px solid rgba(var(--profile-accent-rgb), 0.62); color: #98a794; background: rgba(0, 0, 0, 0.17); font-size: 0.67rem; font-style: normal; line-height: 1.48; }
.profile-dossier-tags { display: flex; gap: 5px; flex-wrap: wrap; margin-bottom: 16px; }
.profile-dossier-tags span { padding: 5px 7px; border: 1px solid rgba(var(--profile-accent-rgb), 0.17); border-radius: 4px; color: #92a08e; background: rgba(var(--profile-accent-rgb), 0.045); font: 600 0.54rem/1 var(--font-pda); }
.profile-dossier-tags .is-warning { color: #f2cb72; border-color: rgba(224, 183, 102, 0.32); background: rgba(224, 183, 102, 0.07); }
.profile-dossier-actions { display: flex; gap: 7px; flex-wrap: wrap; margin-top: auto; }
.profile-dossier-actions .btn { min-height: 42px; margin: 0; padding-right: 14px; padding-left: 14px; box-sizing: border-box; }

.profile-scoreboard { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; padding: 1px; border: 1px solid rgba(var(--profile-accent-rgb), 0.22); border-radius: 8px; background: rgba(var(--profile-accent-rgb), 0.13); overflow: hidden; }
.profile-scoreboard > div { min-width: 0; padding: 11px 12px; background: linear-gradient(145deg, rgba(8, 15, 10, 0.98), rgba(13, 22, 15, 0.97)); }
.profile-scoreboard span,
.profile-scoreboard strong,
.profile-scoreboard small { display: block; }
.profile-scoreboard span { color: #71806d; font-size: 0.52rem; letter-spacing: 0.035em; text-transform: uppercase; }
.profile-scoreboard strong { margin-top: 3px; color: #e4ecdf; font: 800 1rem/1.1 var(--font-pda); overflow-wrap: anywhere; }
.profile-scoreboard small { margin-top: 3px; color: #71806d; font-size: 0.53rem; line-height: 1.3; }

.profile-dossier-columns { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(245px, 0.85fr); gap: 10px; align-items: stretch; }
.profile-dossier-panel { min-width: 0; padding: 14px; border: 1px solid rgba(129, 163, 108, 0.2); border-radius: 9px; background: linear-gradient(145deg, rgba(8, 15, 10, 0.98), rgba(12, 20, 14, 0.97)); box-shadow: 0 7px 21px rgba(0, 0, 0, 0.18); }
.profile-panel-heading { display: flex; gap: 12px; align-items: flex-start; justify-content: space-between; margin-bottom: 11px; }
.profile-panel-heading > div { min-width: 0; }
.profile-panel-heading h2 { margin: 3px 0 0; color: #dbe6d6; font: 750 0.92rem/1.2 var(--font-heading); }
.profile-panel-heading > small { max-width: 48%; color: #6f7d6b; font-size: 0.54rem; line-height: 1.4; text-align: right; }

.profile-combat-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.profile-combat-grid > div { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 5px; min-width: 0; padding: 9px; border: 1px solid rgba(133, 166, 113, 0.16); border-radius: 6px; background: rgba(0, 0, 0, 0.16); }
.profile-combat-grid > div > span { grid-column: 1 / -1; color: var(--profile-accent); font-size: 0.75rem; opacity: 0.84; }
.profile-combat-grid small { grid-column: 1 / -1; color: #788674; font-size: 0.52rem; line-height: 1.25; }
.profile-combat-grid strong { color: #e5eee1; font: 800 0.96rem/1 var(--font-pda); }
.profile-combat-grid em { align-self: end; color: #6c7869; font-size: 0.49rem; font-style: normal; }
.profile-radiation { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 0.8fr); gap: 12px; align-items: center; margin-top: 8px; padding: 10px; border: 1px solid rgba(121, 160, 100, 0.16); border-left: 3px solid #72aa59; border-radius: 6px; background: rgba(0, 0, 0, 0.17); }
.profile-radiation.is-warning { border-left-color: #d8a94d; }
.profile-radiation.is-danger { border-left-color: #df655c; }
.profile-radiation span,
.profile-radiation strong,
.profile-radiation small { display: block; }
.profile-radiation span { color: #758171; font-size: 0.5rem; text-transform: uppercase; }
.profile-radiation strong { margin: 2px 0; color: #dbe5d7; font: 700 0.73rem var(--font-pda); }
.profile-radiation small { color: #748170; font-size: 0.52rem; line-height: 1.35; }
.profile-meter { height: 6px; overflow: hidden; border: 1px solid rgba(132, 163, 113, 0.17); border-radius: 5px; background: #050805; }
.profile-meter i { display: block; max-width: 100%; height: 100%; background: linear-gradient(90deg, rgba(var(--profile-accent-rgb), 0.58), var(--profile-accent)); box-shadow: 0 0 8px rgba(var(--profile-accent-rgb), 0.36); }
.profile-radiation.is-warning .profile-meter i { background: #d8a94d; }
.profile-radiation.is-danger .profile-meter i { background: #df655c; }
.stalker-dossier .profile-stat-guide { max-width: none; margin: 9px 0 0; }

.profile-network-card { display: flex; flex-direction: column; }
.profile-network-status { display: flex; gap: 9px; align-items: center; margin-bottom: 8px; padding: 10px; border: 1px solid rgba(125, 153, 108, 0.17); border-radius: 6px; background: rgba(0, 0, 0, 0.17); }
.profile-network-status > i { width: 10px; height: 10px; }
.profile-network-status strong,
.profile-network-status small { display: block; }
.profile-network-status strong { color: #d4dfcf; font-size: 0.65rem; }
.profile-network-status small { margin-top: 2px; color: #71806e; font-size: 0.51rem; }
.profile-network-list { margin: 0; }
.profile-network-list > div { display: grid; grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 8px; padding: 8px 2px; border-bottom: 1px solid rgba(128, 158, 110, 0.1); }
.profile-network-list dt,
.profile-network-list dd { min-width: 0; margin: 0; font-size: 0.54rem; line-height: 1.35; }
.profile-network-list dt { color: #6f7c6b; font-weight: normal; }
.profile-network-list dd { color: #b8c5b3; text-align: right; overflow-wrap: anywhere; }
.profile-clan-link { display: block; margin-top: 10px; padding: 10px; border: 1px solid rgba(var(--profile-accent-rgb), 0.18); border-left: 3px solid var(--profile-accent); border-radius: 6px; color: inherit; background: rgba(var(--profile-accent-rgb), 0.045); text-decoration: none; }
.profile-clan-link:hover,
.profile-clan-link:focus { color: inherit; border-color: rgba(var(--profile-accent-rgb), 0.4); background: rgba(var(--profile-accent-rgb), 0.08); text-decoration: none; }
.profile-clan-link.is-empty { border-left-color: #52604f; opacity: 0.72; }
.profile-clan-link strong,
.profile-clan-link small { display: block; }
.profile-clan-link strong { margin-top: 3px; color: #d3dfce; font-size: 0.65rem; overflow-wrap: anywhere; }
.profile-clan-link small { margin-top: 3px; color: #778573; font-size: 0.51rem; line-height: 1.35; }
.profile-reputation-track { margin-top: auto; padding-top: 13px; }
.profile-reputation-track > div:first-child { display: flex; gap: 8px; justify-content: space-between; margin-bottom: 6px; }
.profile-reputation-track span,
.profile-reputation-track strong { font-size: 0.53rem; }
.profile-reputation-track span { color: #71806e; }
.profile-reputation-track strong { color: #c9d6c4; text-align: right; }
.profile-reputation-track > small { display: block; margin-top: 6px; color: #687565; font-size: 0.49rem; line-height: 1.4; }

.profile-loadout-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
.profile-loadout-card { position: relative; display: flex; min-width: 0; min-height: 185px; flex-direction: column; padding: 9px; overflow: hidden; border: 1px solid rgba(125, 158, 105, 0.17); border-top: 2px solid #697667; border-radius: 7px; background: linear-gradient(160deg, rgba(14, 23, 16, 0.98), rgba(5, 9, 6, 0.99)); }
.profile-loadout-card.rarity-uncommon { border-top-color: #6fcf78; }
.profile-loadout-card.rarity-rare { border-top-color: #5ba8e8; }
.profile-loadout-card.rarity-epic { border-top-color: #b27bea; }
.profile-loadout-card.rarity-unique { border-top-color: #e9bb55; }
.profile-loadout-card.is-empty { min-height: 150px; border-style: dashed; border-top-width: 1px; opacity: 0.6; }
.profile-loadout-card.is-broken { border-color: rgba(223, 101, 92, 0.42); box-shadow: inset 0 0 20px rgba(223, 101, 92, 0.035); }
.profile-loadout-slot { overflow: hidden; color: #778574; font-size: 0.46rem; text-overflow: ellipsis; white-space: nowrap; }
.profile-loadout-image { display: grid; min-height: 82px; flex: 1; place-items: center; margin: 5px 0; border-radius: 5px; background: radial-gradient(circle, rgba(var(--profile-accent-rgb), 0.07), transparent 66%); }
.profile-loadout-image img { display: block; width: 82px; height: 82px; max-width: 100%; object-fit: contain; filter: drop-shadow(0 7px 8px rgba(0, 0, 0, 0.52)); transition: transform 150ms ease, filter 150ms ease; }
.profile-loadout-image:hover img,
.profile-loadout-image:focus img { filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.65)); transform: translateY(-2px) scale(1.025); }
.profile-loadout-copy { min-width: 0; }
.profile-loadout-copy strong,
.profile-loadout-copy small { display: block; overflow: hidden; text-overflow: ellipsis; }
.profile-loadout-copy strong { font-size: 0.59rem; white-space: nowrap; }
.profile-loadout-copy strong a { color: #d6e0d1; text-decoration: none; }
.profile-loadout-copy strong a:hover,
.profile-loadout-copy strong a:focus { color: var(--profile-accent); }
.profile-loadout-copy small { margin-top: 2px; color: #6e7b6a; font-size: 0.46rem; line-height: 1.3; white-space: nowrap; }
.profile-durability { height: 4px; margin-top: 7px; overflow: hidden; border-radius: 3px; background: #030604; }
.profile-durability i { display: block; max-width: 100%; height: 100%; background: #7cc75d; }
.profile-durability i.is-stable { background: #9eb45b; }
.profile-durability i.is-warning { background: #d7a84b; }
.profile-durability i.is-danger,
.profile-durability i.is-broken { background: #df655c; }
.profile-loadout-empty { display: grid; flex: 1; place-items: center; align-content: center; color: #4d594b; }
.profile-loadout-empty b,
.profile-loadout-empty small { display: block; }
.profile-loadout-empty b { font-size: 1.1rem; font-weight: normal; }
.profile-loadout-empty small { margin-top: 4px; font-size: 0.49rem; }

.profile-telemetry-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.profile-telemetry-grid > div { min-width: 0; padding: 10px; border: 1px solid rgba(126, 158, 106, 0.14); border-radius: 6px; background: rgba(0, 0, 0, 0.14); }
.profile-telemetry-grid span,
.profile-telemetry-grid strong { display: block; }
.profile-telemetry-grid span { color: #6e7b6b; font-size: 0.49rem; text-transform: uppercase; }
.profile-telemetry-grid strong { margin-top: 4px; color: #bbc8b6; font-size: 0.58rem; line-height: 1.35; overflow-wrap: anywhere; }
.profile-admin-action { display: flex; gap: 12px; align-items: center; justify-content: space-between; padding: 10px 12px; border: 1px solid rgba(223, 143, 85, 0.25); border-radius: 7px; color: #a98469; background: rgba(83, 42, 18, 0.14); font-size: 0.54rem; }
.profile-admin-action .btn { margin: 0; }

@media (max-width: 820px) {
  .profile-dossier-hero { grid-template-columns: minmax(180px, 0.65fr) minmax(0, 1.35fr); }
  .profile-dossier-columns { grid-template-columns: 1fr; }
  .profile-network-card { min-height: 0; }
  .profile-reputation-track { margin-top: 12px; }
  .profile-loadout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .stalker-dossier { gap: 8px; }
  .profile-dossier-hero { grid-template-columns: 1fr; min-height: 0; box-shadow: inset 0 3px var(--profile-accent), 0 11px 25px rgba(0, 0, 0, 0.27); }
  .profile-dossier-portrait { min-height: 225px; max-height: 260px; border-right: 0; border-bottom: 1px solid rgba(var(--profile-accent-rgb), 0.2); }
  .profile-dossier-avatar { min-height: 225px; max-height: 260px; object-position: center 32%; }
  .profile-dossier-identity { padding: 17px; }
  .profile-dossier-identity h1 { font-size: 1.32rem; }
  .profile-dossier-actions { display: grid; grid-template-columns: 1fr; }
  .profile-dossier-actions .btn { width: 100%; }
  .profile-scoreboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-panel-heading { flex-direction: column; }
  .profile-panel-heading > small { max-width: none; text-align: left; }
  .profile-combat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-radiation { grid-template-columns: 1fr; }
  .profile-loadout-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-telemetry-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 390px) {
  .profile-dossier-identity { padding: 14px; }
  .profile-scoreboard > div,
  .profile-dossier-panel { padding: 10px; }
  .profile-loadout-card { min-height: 172px; padding: 7px; }
  .profile-loadout-card.is-empty { min-height: 135px; }
  .profile-loadout-image { min-height: 72px; }
  .profile-loadout-image img { width: 72px; height: 72px; }
  .profile-network-list > div { grid-template-columns: 1fr; gap: 3px; }
  .profile-network-list dd { text-align: left; }
  .profile-admin-action { align-items: stretch; flex-direction: column; }
  .profile-admin-action .btn { width: 100%; box-sizing: border-box; text-align: center; }
}

/* Live PDA signal monitor — 1.46.2 */
.online-terminal { width: 100%; min-width: 0; max-width: 100%; margin: 12px 0 18px; box-sizing: border-box; container-name: online-monitor; container-type: inline-size; }
.online-terminal > * { min-width: 0; max-width: 100%; box-sizing: border-box; }
.online-radar b { position: absolute; right: 23px; bottom: 13px; width: 3px; height: 3px; border-radius: 50%; background: #d9bd71; box-shadow: 0 0 7px #d9bd71; animation: intel-pulse 2.3s 0.7s ease-in-out infinite; }

.online-filter-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; align-items: end; margin: 0; padding: 12px; border: 1px solid rgba(129, 169, 104, 0.19); background: linear-gradient(120deg, rgba(111, 158, 83, 0.07), rgba(5, 10, 7, 0.98)); }
.online-filter-panel label { min-width: 0; margin: 0; }
.online-filter-panel label > span { display: block; margin-bottom: 5px; color: #70806c; font-size: 0.47rem; font-weight: 700; letter-spacing: 0.07em; text-transform: uppercase; }
.online-filter-panel input,
.online-filter-panel select { width: 100%; height: 38px; margin: 0; padding: 7px 9px; border: 1px solid rgba(130, 170, 106, 0.24); border-radius: 3px; box-sizing: border-box; color: #d2ddcd; background: #071009; font-size: 0.59rem; }
.online-filter-panel input:focus,
.online-filter-panel select:focus { border-color: rgba(142, 196, 108, 0.56); box-shadow: 0 0 0 2px rgba(121, 176, 87, 0.1); outline: 0; }
.online-filter-actions { display: flex; grid-column: 1 / -1; gap: 6px; justify-content: flex-end; }
.online-filter-actions .btn { min-height: 38px; margin: 0; padding-right: 12px; padding-left: 12px; box-sizing: border-box; white-space: nowrap; }

.online-summary { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; padding: 1px; border: 1px solid rgba(129, 169, 104, 0.17); background: rgba(129, 169, 104, 0.12); }
.online-summary > div { min-width: 0; padding: 10px 12px; background: #070d09; }
.online-summary span,
.online-summary strong,
.online-summary small { display: block; overflow: hidden; text-overflow: ellipsis; }
.online-summary span { color: #667362; font-size: 0.45rem; letter-spacing: 0.05em; text-transform: uppercase; }
.online-summary strong { margin-top: 3px; color: #d0dcce; font: 750 0.72rem/1.2 var(--font-mono); white-space: nowrap; }
.online-summary small { margin-top: 2px; color: #687565; font-size: 0.46rem; white-space: nowrap; }

.online-board { overflow: hidden; border: 1px solid rgba(129, 169, 104, 0.2); background: #060c08; }
.online-board > header { display: flex; gap: 16px; align-items: center; justify-content: space-between; padding: 12px 15px; border-bottom: 1px solid rgba(129, 169, 104, 0.14); background: linear-gradient(90deg, rgba(111, 157, 83, 0.07), rgba(5, 10, 7, 0.98)); }
.online-board > header h2 { margin: 3px 0 0; color: #d9e5d4; font: 750 0.82rem/1.2 var(--font-pda); }
.online-board > header p { max-width: 420px; margin: 0; color: #6e7b6a; font-size: 0.52rem; line-height: 1.45; text-align: right; }
.online-signal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(129, 169, 104, 0.13); }

.online-signal-card { --online-accent: #8fd36c; --online-accent-rgb: 143, 211, 108; display: flex; min-width: 0; flex-direction: column; padding: 13px; border-top: 2px solid rgba(var(--online-accent-rgb), 0.62); background: linear-gradient(145deg, rgba(var(--online-accent-rgb), 0.055), #070d09 62%); box-shadow: inset 0 1px rgba(221, 239, 210, 0.025); }
.online-signal-card.online-tone-red { --online-accent: #ef786d; --online-accent-rgb: 239, 120, 109; }
.online-signal-card.online-tone-cyan { --online-accent: #70c9dd; --online-accent-rgb: 112, 201, 221; }
.online-signal-card.online-tone-amber { --online-accent: #e0b865; --online-accent-rgb: 224, 184, 101; }
.online-signal-card.online-tone-orange { --online-accent: #e99258; --online-accent-rgb: 233, 146, 88; }
.online-signal-card.online-tone-green { --online-accent: #8fd36c; --online-accent-rgb: 143, 211, 108; }
.online-signal-card.is-self { box-shadow: inset 3px 0 var(--online-accent); background: linear-gradient(120deg, rgba(var(--online-accent-rgb), 0.115), #070d09 65%); }
.online-signal-card:only-child { grid-column: 1 / -1; }
.online-card-head { display: flex; min-width: 0; gap: 10px; align-items: center; justify-content: space-between; }
.online-card-identity { display: flex; min-width: 0; gap: 10px; align-items: center; color: inherit; text-decoration: none; }
.online-card-identity:hover,
.online-card-identity:focus { color: inherit; text-decoration: none; }
.online-card-identity > span:last-child { min-width: 0; }
.online-card-identity strong,
.online-card-identity small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.online-card-identity strong { color: #dbe6d7; font-size: 0.68rem; }
.online-card-identity small { margin-top: 3px; color: #6d7a69; font-size: 0.47rem; }
.online-card-avatar { position: relative; width: 64px; height: 64px; flex: 0 0 auto; border: 1px solid rgba(var(--online-accent-rgb), 0.28); border-radius: 6px; background: #0a120c; }
.online-card-avatar img { display: block; width: 64px; height: 64px; border-radius: 5px; object-fit: cover; filter: saturate(0.82) contrast(1.04); }
.online-card-avatar i { position: absolute; right: -3px; bottom: -3px; width: 9px; height: 9px; border: 2px solid #070d09; border-radius: 50%; background: #91d46f; box-shadow: 0 0 9px rgba(143, 211, 108, 0.66); }
.online-card-freshness { flex: 0 0 auto; text-align: right; }
.online-card-freshness > i { display: inline-block; width: 6px; height: 6px; margin-right: 4px; border-radius: 50%; background: #91d46f; box-shadow: 0 0 8px rgba(143, 211, 108, 0.7); animation: intel-pulse 1.8s ease-in-out infinite; }
.online-card-freshness span { color: #9ac987; font-size: 0.46rem; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.online-card-freshness small { display: block; margin-top: 3px; color: #697665; font-size: 0.44rem; }

.online-card-affiliation { display: grid; grid-template-columns: 42px minmax(0, 0.8fr) minmax(0, 1.2fr); gap: 8px; align-items: center; margin-top: 11px; padding: 8px; border: 1px solid rgba(var(--online-accent-rgb), 0.13); background: rgba(var(--online-accent-rgb), 0.035); }
.online-card-affiliation > img { width: 42px; height: 42px; object-fit: contain; filter: saturate(0.8) drop-shadow(0 4px 5px rgba(0, 0, 0, 0.48)); }
.online-card-affiliation > span,
.online-card-affiliation > a { min-width: 0; color: inherit; text-decoration: none; }
.online-card-affiliation > a { padding-left: 8px; border-left: 1px solid rgba(var(--online-accent-rgb), 0.12); }
.online-card-affiliation > a:hover strong,
.online-card-affiliation > a:focus strong { color: var(--online-accent); }
.online-card-affiliation small,
.online-card-affiliation strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.online-card-affiliation small { color: #667463; font-size: 0.43rem; text-transform: uppercase; }
.online-card-affiliation strong { margin-top: 2px; color: #aabd9f; font-size: 0.53rem; }
.online-card-affiliation .is-empty { opacity: 0.66; }

.online-card-location { margin-top: 8px; padding: 8px 9px; border-left: 3px solid var(--online-accent); background: rgba(0, 0, 0, 0.18); }
.online-card-location span { color: var(--online-accent); font-size: 0.43rem; font-weight: 800; letter-spacing: 0.07em; text-transform: uppercase; }
.online-card-location strong { display: block; margin-top: 2px; overflow: hidden; color: #c7d3c2; font-size: 0.56rem; text-overflow: ellipsis; white-space: nowrap; }
.online-card-location small { display: block; margin-top: 2px; color: #626e60; font-size: 0.43rem; }
.online-card-values { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 8px; background: rgba(129, 169, 104, 0.1); }
.online-card-values > div { min-width: 0; padding: 7px 8px; background: rgba(2, 7, 4, 0.72); }
.online-card-values span,
.online-card-values strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.online-card-values span { color: #626f5f; font-size: 0.42rem; text-transform: uppercase; }
.online-card-values strong { margin-top: 2px; color: #d0b974; font: 700 0.56rem/1.2 var(--font-mono); }
.online-card-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px; margin-top: auto; padding-top: 10px; }
.online-card-actions .btn { width: 100%; min-height: 40px; margin: 0; box-sizing: border-box; text-align: center; }
.online-empty-state { display: grid; min-height: 220px; grid-column: 1 / -1; place-items: center; align-content: center; gap: 5px; padding: 20px; color: #6d7969; background: #070d09; text-align: center; }
.online-empty-state > span { color: #83aa6d; font-size: 2rem; }
.online-empty-state strong { color: #c6d3c1; font-size: 0.7rem; }
.online-empty-state small { color: #6f7b6b; font-size: 0.52rem; }
.online-empty-state .btn { min-height: 40px; margin-top: 7px; }
.online-terminal .pagination { margin: 2px 0; }
.online-terminal .pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px; }

@container online-monitor (max-width: 700px) {
  .online-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .online-filter-search { grid-column: 1 / -1; }
  .online-signal-grid { grid-template-columns: 1fr; }
}

@container online-monitor (max-width: 520px) {
  .online-filter-panel { grid-template-columns: 1fr; }
  .online-filter-search { grid-column: auto; }
  .online-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .online-board > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .online-board > header p { text-align: left; }
}

@media (max-width: 820px) {
  .online-filter-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .online-filter-search { grid-column: 1 / -1; }
  .online-filter-actions { justify-content: flex-end; }
  .online-signal-grid { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .online-filter-panel { grid-template-columns: 1fr; }
  .online-filter-search { grid-column: auto; }
  .online-filter-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .online-filter-actions .btn { width: 100%; min-height: 44px; }
  .online-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .online-board > header { align-items: flex-start; flex-direction: column; gap: 4px; }
  .online-board > header p { text-align: left; }
}

@media (max-width: 390px) {
  .online-signal-card { padding: 10px; }
  .online-card-avatar,
  .online-card-avatar img { width: 54px; height: 54px; }
  .online-card-head { align-items: flex-start; }
  .online-card-freshness span { display: none; }
  .online-card-affiliation { grid-template-columns: 36px minmax(0, 1fr); }
  .online-card-affiliation > img { width: 36px; height: 36px; }
  .online-card-affiliation > a,
  .online-card-affiliation > .is-empty { grid-column: 1 / -1; padding: 7px 0 0; border-top: 1px solid rgba(var(--online-accent-rgb), 0.12); border-left: 0; }
  .online-card-values { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .online-card-values > div:last-child { grid-column: 1 / -1; }
  .online-card-actions { grid-template-columns: 1fr; }
  .online-card-actions .btn { min-height: 44px; }
}

@media (prefers-reduced-motion: reduce) {
  .online-terminal *, .online-terminal *::before, .online-terminal *::after { animation: none !important; transition: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  .stalker-dossier *,
  .stalker-dossier *::before,
  .stalker-dossier *::after { transition: none !important; animation: none !important; }
}

/* Doll Slot Condition Badge */
.doll-slot-condition {
	position: absolute;
	top: 3px;
	left: 4px;
	font-family: var(--font-mono);
	font-size: 0.65rem;
	font-weight: 700;
	padding: 1px 4px;
	border-radius: 3px;
	line-height: 1.1;
	z-index: 2;
}
.doll-slot-condition.tone-good { background: rgba(39, 174, 96, 0.35); color: #2ecc71; border: 1px solid rgba(46, 204, 113, 0.4); }
.doll-slot-condition.tone-stable { background: rgba(241, 196, 15, 0.3); color: #f1c40f; border: 1px solid rgba(241, 196, 15, 0.4); }
.doll-slot-condition.tone-warning { background: rgba(230, 126, 34, 0.35); color: #e67e22; border: 1px solid rgba(230, 126, 34, 0.5); }
.doll-slot-condition.tone-danger, .doll-slot-condition.tone-broken { background: rgba(231, 76, 60, 0.45); color: #ff6b6b; border: 1px solid rgba(231, 76, 60, 0.6); }

/* Inventory Repair All Card */
.inventory-repair-all-card {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 14px;
	border-radius: 6px;
	margin-bottom: 12px;
	border: 1px solid #202d1d;
	background: #0a0f09;
}
.inventory-repair-all-card.needs-repair {
	border-color: rgba(241, 196, 15, 0.4);
	background: linear-gradient(90deg, rgba(241, 196, 15, 0.08), rgba(10, 15, 9, 0.95));
}
.inventory-repair-all-card.is-pristine {
	border-color: rgba(46, 204, 113, 0.3);
	background: rgba(46, 204, 113, 0.05);
}
.repair-all-info {
	display: flex;
	align-items: center;
	gap: 10px;
}
.repair-all-icon {
	font-size: 1.4rem;
}
.repair-all-info strong {
	display: block;
	font-size: 0.92rem;
	color: #e0e0e0;
}
.repair-all-info small {
	display: block;
	font-size: 0.78rem;
	color: #889988;
}

/* Shop Stat Comparison Badges */
.stat-diff {
	display: inline-block;
	font-family: var(--font-mono);
	font-size: 0.72rem;
	font-weight: 700;
	padding: 1px 5px;
	border-radius: 3px;
	margin-left: 4px;
}
.stat-diff.positive {
	color: #2ecc71;
	background: rgba(46, 204, 113, 0.15);
	border: 1px solid rgba(46, 204, 113, 0.3);
}
.stat-diff.negative {
	color: #e74c3c;
	background: rgba(231, 76, 60, 0.15);
	border: 1px solid rgba(231, 76, 60, 0.3);
}
.stat-diff.neutral {
	color: #95a5a6;
	background: rgba(149, 165, 166, 0.1);
}

/* Quick Recovery Actions in Shelter */
.shelter-quick-actions {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
	margin-bottom: 14px;
}
@media (max-width: 580px) {
	.shelter-quick-actions {
		grid-template-columns: 1fr;
	}
}
.shelter-quick-card {
	background: #0d140b;
	border: 1px solid #202d1d;
	border-radius: 6px;
	padding: 12px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 8px;
}
.shelter-quick-card.ready {
	border-color: rgba(46, 204, 113, 0.35);
}
.shelter-quick-card.empty {
	opacity: 0.6;
}
.shelter-quick-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 0.95rem;
}
.shelter-quick-desc {
	font-size: 0.8rem;
	color: #889988;
	line-height: 1.3;
}

/* Profile Combat Records */
.profile-combat-records-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-top: 10px;
}
@media (max-width: 600px) {
	.profile-combat-records-grid {
		grid-template-columns: 1fr;
	}
}
.profile-record-card, .record-card-card {
	background: rgba(10, 15, 10, 0.7);
	border: 1px solid rgba(70, 100, 70, 0.25);
	border-radius: 6px;
	padding: 12px;
}
.record-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 8px;
	padding-bottom: 6px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.record-card-head strong {
	color: var(--stalker-accent, #2ecc71);
	font-size: 0.95rem;
}
.record-card-head b {
	font-size: 0.88rem;
	color: #f1c40f;
}
.record-card-stats {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 6px 12px;
	font-size: 0.82rem;
	color: #aaa;
}
.record-card-stats b {
	color: #e0e0e0;
}

/* Illustrated world scenes — 1.49.0 */
.pda-summary-hero,
.raid-entry-scene,
.raid-combat-viewport,
.recovery-hero,
.mob-battle-app .arena-result {
	background-repeat: no-repeat;
	background-size: cover;
}

.pda-summary-hero {
	min-height: 270px;
	align-items: end;
	padding: 24px;
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.96) 0%, rgba(3, 7, 5, 0.72) 44%, rgba(3, 7, 5, 0.35) 70%, rgba(3, 7, 5, 0.78) 100%),
		linear-gradient(0deg, rgba(3, 8, 5, 0.95), transparent 58%),
		url('/assets/img/scenes/pda-command-room.webp');
	background-position: center;
}

.pda-summary-hero::before,
.raid-entry-scene::before,
.raid-combat-viewport::before,
.recovery-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	background: repeating-linear-gradient(0deg, rgba(153, 232, 115, 0.025) 0, rgba(153, 232, 115, 0.025) 1px, transparent 1px, transparent 4px);
	pointer-events: none;
}

.pda-summary-hero > *,
.raid-entry-scene > *,
.raid-combat-viewport > *,
.recovery-hero > * {
	position: relative;
	z-index: 2;
}

.pda-summary-scene-copy { max-width: 670px; }
.pda-summary-scene-copy p { max-width: 590px; color: #c3cec0; text-shadow: 0 2px 5px #000; }
.pda-scene-badges,
.raid-scene-tags,
.recovery-scene-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-top: 14px;
}

.pda-scene-badges span,
.raid-scene-tags span,
.recovery-scene-badges span {
	display: inline-flex;
	min-height: 25px;
	align-items: center;
	gap: 6px;
	padding: 2px 8px;
	border: 1px solid rgba(155, 218, 118, 0.25);
	border-radius: 14px;
	color: #c1d3b8;
	background: rgba(2, 7, 4, 0.66);
	font: 600 0.58rem/1.25 var(--font-pda);
	backdrop-filter: blur(6px);
}

.pda-scene-badges i,
.raid-scene-tags i,
.recovery-scene-badges i,
.raid-combat-signal i {
	display: inline-block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #91de69;
	box-shadow: 0 0 8px rgba(145, 222, 105, 0.8);
}

.pda-summary-identity {
	border-color: rgba(164, 221, 126, 0.38);
	background: linear-gradient(145deg, rgba(3, 9, 5, 0.9), rgba(12, 24, 15, 0.72));
	box-shadow: inset 0 1px rgba(255, 255, 255, 0.035), 0 12px 28px rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(8px);
}

.pda-scene-scan {
	position: absolute;
	z-index: 1;
	top: 18px;
	right: 22px;
	width: 118px;
	height: 118px;
	border: 1px solid rgba(143, 220, 100, 0.14);
	border-radius: 50%;
	box-shadow: 0 0 0 18px rgba(143, 220, 100, 0.025), 0 0 0 38px rgba(143, 220, 100, 0.018);
	opacity: 0.68;
	pointer-events: none;
}
.pda-scene-scan::before,
.pda-scene-scan::after { content: ''; position: absolute; background: rgba(150, 221, 111, 0.16); }
.pda-scene-scan::before { top: 50%; right: -18px; left: -18px; height: 1px; }
.pda-scene-scan::after { top: -18px; bottom: -18px; left: 50%; width: 1px; }
.pda-scene-scan span { position: absolute; inset: 27px; border: 1px solid rgba(143, 220, 100, 0.2); border-radius: 50%; }
.pda-scene-scan i { position: absolute; top: 50%; left: 50%; width: 45%; height: 1px; transform-origin: left; background: linear-gradient(90deg, #8fdc64, transparent); animation: world-radar-sweep 5s linear infinite; }

.raid-hub,
.raid-battle-shell { display: grid; gap: 12px; margin: 12px 0; font-family: var(--font-pda); }

.raid-entry-scene {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 210px;
	gap: 22px;
	min-height: 350px;
	align-items: end;
	overflow: hidden;
	padding: 28px;
	border: 1px solid rgba(162, 207, 124, 0.34);
	border-radius: 12px;
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.93) 0%, rgba(3, 7, 5, 0.55) 48%, rgba(3, 7, 5, 0.2) 73%),
		linear-gradient(0deg, rgba(3, 7, 5, 0.98), transparent 65%),
		url('/assets/img/scenes/raid-perimeter.webp');
	background-position: center;
	box-shadow: 0 16px 40px rgba(0, 0, 0, 0.44), inset 0 0 70px rgba(0, 0, 0, 0.25);
}

.raid-entry-copy { max-width: 650px; }
.raid-scene-kicker { display: block; color: #b9e99f; font: 800 0.61rem/1.25 var(--font-pda); letter-spacing: 0.13em; text-shadow: 0 2px 4px #000; }
.raid-entry-copy h1,
.raid-combat-brief h1 {
	margin: 5px 0 8px;
	color: #f2f6ee;
	font: 900 2rem/1.04 var(--font-heading);
	letter-spacing: 0.025em;
	text-transform: uppercase;
	text-shadow: 0 3px 12px rgba(0, 0, 0, 0.92);
}
.raid-entry-copy p { max-width: 590px; margin: 0; color: #b7c2b2; font-size: 0.82rem; line-height: 1.55; text-shadow: 0 2px 5px #000; }

.raid-entry-stats {
	display: grid;
	align-self: end;
	border: 1px solid rgba(158, 216, 119, 0.28);
	border-radius: 8px;
	background: rgba(3, 8, 5, 0.78);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.38);
	backdrop-filter: blur(8px);
}
.raid-entry-stats span { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; align-items: center; padding: 10px 11px; border-bottom: 1px solid rgba(158, 216, 119, 0.13); }
.raid-entry-stats span:last-child { border-bottom: 0; }
.raid-entry-stats small { color: #84927f; font-size: 0.55rem; text-transform: uppercase; }
.raid-entry-stats strong { color: #d8edcd; font-size: 0.7rem; text-align: right; }

.raid-entry-radar {
	position: absolute;
	z-index: 1;
	top: 25px;
	right: 35px;
	width: 120px;
	height: 120px;
	border: 1px solid rgba(152, 223, 109, 0.16);
	border-radius: 50%;
	opacity: 0.8;
	pointer-events: none;
}
.raid-entry-radar::before,
.raid-entry-radar::after { content: ''; position: absolute; inset: 24px; border: 1px solid rgba(152, 223, 109, 0.14); border-radius: 50%; }
.raid-entry-radar::after { inset: 48px; }
.raid-entry-radar span { position: absolute; top: 50%; left: 50%; width: 50%; height: 1px; transform-origin: left; background: linear-gradient(90deg, #9fe974, transparent); animation: world-radar-sweep 4.4s linear infinite; }
.raid-entry-radar i,
.raid-entry-radar b { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #e7b44f; box-shadow: 0 0 8px #e7b44f; }
.raid-entry-radar i { top: 31%; left: 67%; }
.raid-entry-radar b { top: 69%; left: 29%; animation: world-signal-pulse 1.8s ease-in-out infinite; }

.raid-contract-board { overflow: hidden; border: 1px solid rgba(135, 174, 109, 0.22); border-radius: 10px; background: rgba(5, 10, 7, 0.92); }
.raid-contract-board > header { display: flex; justify-content: space-between; gap: 15px; align-items: end; padding: 15px 17px; border-bottom: 1px solid rgba(135, 174, 109, 0.18); background: linear-gradient(110deg, rgba(85, 126, 68, 0.12), rgba(0, 0, 0, 0.12)); }
.raid-contract-board > header h2 { margin: 3px 0; color: #e7efe2; font: 800 1.18rem/1.2 var(--font-heading); text-transform: uppercase; }
.raid-contract-board > header p { margin: 0; color: #7f8c7a; font-size: 0.63rem; }
.raid-contract-board > header > b { flex: 0 0 auto; padding: 5px 9px; border: 1px solid rgba(145, 207, 105, 0.24); border-radius: 12px; color: #b9deaa; background: rgba(145, 207, 105, 0.06); font-size: 0.58rem; }
.raid-contract-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: rgba(135, 174, 109, 0.13); }

.raid-contract-grid .mob-raid-card { min-width: 0; min-height: 218px; margin: 0; padding: 14px; border: 0 !important; border-left: 3px solid rgba(127, 176, 105, 0.58) !important; border-radius: 0; }
.raid-contract-grid .mob-raid-card.is-danger { border-left-color: #d9a441 !important; }
.raid-contract-grid .mob-raid-card.is-locked { border-left-color: #805b58 !important; filter: saturate(0.72); }
.raid-contract-grid .mob-raid-card:hover { background: linear-gradient(115deg, rgba(92, 137, 75, 0.17), transparent 52%), rgba(8, 14, 10, 0.99) !important; }
.raid-contract-grid .mob-raid-card-body { grid-template-columns: 150px minmax(0, 1fr); height: 100%; }
.raid-contract-grid .mob-raid-visual { position: relative; min-height: 178px; overflow: hidden; border-color: rgba(141, 190, 110, 0.22); background: radial-gradient(circle at 50% 55%, rgba(135, 194, 98, 0.18), rgba(2, 6, 3, 0.32) 68%); }
.raid-contract-grid .mob-raid-visual::after { content: ''; position: absolute; right: 9px; bottom: 9px; left: 9px; height: 1px; background: linear-gradient(90deg, transparent, rgba(150, 219, 107, 0.4), transparent); }
.raid-contract-grid .mob-raid-visual img { width: 145px; height: 145px; transition: transform 0.28s ease, filter 0.28s ease; }
.raid-contract-grid .mob-raid-card:hover img { transform: scale(1.06) translateY(-2px); filter: drop-shadow(0 10px 12px rgba(0, 0, 0, 0.84)) brightness(1.08); }
.mob-threat-badge { position: absolute; right: 6px; bottom: 6px; left: 6px; padding: 4px 5px; border: 1px solid rgba(202, 171, 83, 0.34); color: #e6c86f; background: rgba(5, 8, 5, 0.82); font: 700 0.51rem/1.2 var(--font-pda); letter-spacing: 0.05em; text-align: center; backdrop-filter: blur(5px); }
.mob-raid-card.is-known .mob-threat-badge { border-color: rgba(114, 197, 139, 0.34); color: #aee0a7; }
.mob-raid-card.is-locked .mob-threat-badge { border-color: rgba(220, 110, 103, 0.32); color: #dc9a95; }
.mob-raid-heading > span { color: #71806e; font-size: 0.52rem; letter-spacing: 0.12em; }
.mob-raid-heading h3 { margin: 2px 0 8px; color: #e6f0e0; font: 800 1rem/1.18 var(--font-heading); text-transform: uppercase; }
.raid-contract-grid .mob-raid-content { display: flex; flex-direction: column; }
.raid-contract-grid .mob-intel { margin-top: auto; }
.raid-contract-grid form.mob-raid-action { width: min(100%, 210px); align-self: flex-start; margin-top: 7px; }
.raid-contract-grid .mob-raid-action .btn { box-sizing: border-box; width: 100%; min-height: 44px; margin: 0; }
.raid-contract-grid .mob-raid-action.btn { width: auto; max-width: 210px; align-self: flex-start; margin-top: 7px; white-space: normal; }

.mob-battle-app {
	position: relative;
	overflow: hidden;
	padding: 0 !important;
	border: 1px solid rgba(135, 174, 109, 0.25) !important;
	border-radius: 11px;
	background: #060b08 !important;
}
.mob-battle-app > :not(.raid-combat-fx):not(.raid-combat-brief):not(.raid-combat-viewport) { position: relative; z-index: 2; margin-right: 14px; margin-left: 14px; }

.raid-combat-brief {
	position: relative;
	z-index: 3;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	padding: 16px 18px;
	border-bottom: 1px solid rgba(134, 172, 109, 0.2);
	background: linear-gradient(105deg, rgba(7, 15, 10, 0.99), rgba(12, 24, 16, 0.92));
}
.raid-combat-brief h1 { margin: 3px 0 4px; font-size: 1.35rem; }
.raid-combat-signal { display: grid; min-width: 150px; gap: 3px; padding: 9px 11px; border: 1px solid rgba(219, 94, 83, 0.34); border-radius: 6px; background: rgba(49, 12, 10, 0.22); text-align: right; }
.raid-combat-signal span { display: flex; justify-content: flex-end; gap: 6px; align-items: center; color: #ef9991; font-size: 0.54rem; font-weight: 800; letter-spacing: 0.06em; }
.raid-combat-signal i { background: #ef655d; box-shadow: 0 0 8px rgba(239, 101, 93, 0.82); animation: world-signal-pulse 1.2s ease-in-out infinite; }
.raid-combat-signal b { color: #e8eee4; font-size: 0.68rem; }
.raid-combat-signal small { color: #71806e; font-size: 0.54rem; }

.raid-combat-viewport {
	position: relative;
	z-index: 1;
	min-height: 390px;
	overflow: hidden;
	padding: 25px 24px 18px;
	background-image:
		linear-gradient(90deg, rgba(2, 5, 4, 0.42), transparent 42%, rgba(2, 5, 4, 0.26)),
		linear-gradient(0deg, rgba(3, 8, 5, 0.96), transparent 62%),
		url('/assets/img/scenes/raid-combat-yard.webp');
	background-position: center;
	box-shadow: inset 0 -80px 80px rgba(3, 7, 4, 0.75);
}
.raid-combat-viewport .mob-combat-duel { min-height: 285px; align-items: end; margin: 0; }
.raid-combat-viewport .mob-combatant { gap: 10px; }
.raid-combat-viewport .mob-combat-label { padding: 4px 8px; border: 1px solid rgba(139, 181, 111, 0.22); border-radius: 12px; color: #d5e3cf; background: rgba(3, 8, 5, 0.68); backdrop-filter: blur(5px); }
.raid-combat-viewport .combat-avatar { width: 138px; border-color: rgba(155, 199, 123, 0.4); box-shadow: 0 14px 24px rgba(0, 0, 0, 0.5); }
.raid-combat-viewport .mob-target-image { width: min(250px, 100%); height: 230px; filter: drop-shadow(0 18px 15px rgba(0, 0, 0, 0.9)); }
.raid-combat-viewport .target-frame { border-color: rgba(226, 104, 90, 0.38); background: radial-gradient(circle, rgba(173, 57, 45, 0.09), rgba(3, 7, 5, 0.33) 68%); box-shadow: inset 0 0 25px rgba(0, 0, 0, 0.55), 0 0 22px rgba(190, 71, 59, 0.1); }
.raid-combat-viewport .mob-combat-vs { align-self: center; width: 42px; height: 42px; border: 1px solid rgba(221, 173, 71, 0.4); border-radius: 50%; color: #f0c76b; background: rgba(6, 9, 6, 0.75); line-height: 42px; box-shadow: 0 0 18px rgba(221, 173, 71, 0.12); }
.raid-combat-viewport .bloodBar { position: relative; z-index: 3; max-width: 560px; margin-right: auto; margin-left: auto; }

.raid-combat-fx { position: absolute; z-index: 7; inset: 74px 0 auto; height: 390px; overflow: hidden; pointer-events: none; }
.raid-combat-fx::before,
.raid-combat-fx::after,
.raid-combat-fx span,
.raid-combat-fx i,
.raid-combat-fx b { position: absolute; display: block; content: ''; opacity: 0; }
.raid-combat-fx span { left: 27%; bottom: 35%; width: 76px; height: 76px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 242, 178, 0.95), rgba(255, 154, 43, 0.64) 21%, transparent 67%); filter: blur(1px); }
.raid-combat-fx i { top: 57%; left: 31%; width: 43%; height: 2px; transform: rotate(-5deg); transform-origin: left; background: linear-gradient(90deg, rgba(255, 232, 165, 0.9), rgba(255, 102, 43, 0.4), transparent); box-shadow: 0 0 7px rgba(255, 176, 71, 0.7); }
.raid-combat-fx b { right: 24%; bottom: 30%; width: 95px; height: 95px; border-radius: 50%; background: radial-gradient(circle, rgba(255, 231, 162, 0.8), rgba(218, 69, 48, 0.32) 31%, transparent 70%); }
.raid-combat-fx.is-gun-exchange span,
.raid-combat-fx.is-pistol-exchange span { animation: raid-muzzle-flash 520ms ease-out; }
.raid-combat-fx.is-gun-exchange i,
.raid-combat-fx.is-pistol-exchange i { animation: raid-projectile-streak 560ms ease-out; }
.raid-combat-fx.is-gun-exchange b,
.raid-combat-fx.is-pistol-exchange b { animation: raid-impact-burst 650ms ease-out 100ms; }
.raid-combat-fx.is-knife-exchange::before { top: 30%; right: 20%; width: 165px; height: 120px; border-top: 5px solid rgba(234, 244, 229, 0.88); border-radius: 50%; transform: rotate(-24deg); filter: drop-shadow(0 0 8px rgba(195, 238, 181, 0.7)); animation: raid-slash 620ms ease-out; }

.mob-battle-app .arena-consumables,
.mob-battle-app .field-stat-guide,
.mob-battle-app .combat-actions,
.mob-battle-app .arena-reload-actions,
.mob-battle-app .combat-retreat-form,
.mob-battle-app .arena-combat-log { border-color: rgba(134, 172, 109, 0.22); }
.mob-battle-app .combat-actions { padding: 10px; border: 1px solid rgba(134, 172, 109, 0.16); border-radius: 8px; background: rgba(5, 10, 7, 0.72); }
.mob-battle-app .combat-action { border-color: rgba(132, 166, 109, 0.3); background: linear-gradient(160deg, rgba(27, 41, 23, 0.98), rgba(7, 12, 8, 0.98)); box-shadow: 0 7px 17px rgba(0, 0, 0, 0.25); }
.mob-battle-app .combat-action:hover:not([disabled]),
.mob-battle-app .combat-action:focus-visible:not([disabled]) { transform: translateY(-2px); border-color: rgba(175, 225, 139, 0.65); box-shadow: 0 11px 24px rgba(0, 0, 0, 0.36), 0 0 13px rgba(133, 198, 96, 0.1); }

.mob-battle-app .arena-result {
	position: relative;
	min-height: 310px;
	display: grid;
	align-content: center;
	overflow: hidden;
	padding: 28px max(18px, 8%);
	border-color: rgba(216, 174, 78, 0.42);
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.84), rgba(3, 7, 5, 0.52), rgba(3, 7, 5, 0.82)),
		linear-gradient(0deg, rgba(3, 7, 5, 0.94), transparent 68%),
		url('/assets/img/scenes/raid-loot-table.webp');
	background-position: center;
	box-shadow: 0 15px 35px rgba(0, 0, 0, 0.52), inset 0 0 60px rgba(0, 0, 0, 0.25);
}
.mob-battle-app .arena-result[hidden] { display: none; }
.mob-battle-app .arena-result > * { position: relative; z-index: 2; }
.mob-battle-app .arena-result::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(0deg, rgba(239, 195, 91, 0.018) 0, rgba(239, 195, 91, 0.018) 1px, transparent 1px, transparent 4px); pointer-events: none; }
.mob-battle-app .arena-result-rewards span { border-color: rgba(222, 180, 83, 0.3); background: rgba(5, 9, 6, 0.78); backdrop-filter: blur(7px); }
.mob-battle-app.is-arena-ended .raid-combat-viewport { filter: saturate(0.55) brightness(0.65); transition: filter 0.6s ease; }

.recovery-hero {
	position: relative;
	min-height: 330px;
	align-items: end;
	overflow: hidden;
	padding: 26px;
	background-image:
		linear-gradient(90deg, rgba(4, 8, 6, 0.88) 0%, rgba(4, 8, 6, 0.48) 52%, rgba(4, 8, 6, 0.62) 100%),
		linear-gradient(0deg, rgba(4, 8, 6, 0.96), transparent 62%),
		url('/assets/img/scenes/shelter-interior.webp');
	background-position: center;
	box-shadow: 0 15px 38px rgba(0, 0, 0, 0.42), inset 0 0 60px rgba(0, 0, 0, 0.2);
}
.recovery-hero-copy { max-width: 650px; }
.recovery-hero-copy h1 { font-size: 1.8rem; text-shadow: 0 3px 10px #000; }
.recovery-hero-copy p { max-width: 570px; color: #c0c9bb; text-shadow: 0 2px 5px #000; }
.recovery-hero nav { align-self: end; min-width: 205px; padding: 9px; border: 1px solid rgba(167, 237, 120, 0.21); border-radius: 8px; background: rgba(3, 8, 5, 0.72); box-shadow: 0 12px 26px rgba(0, 0, 0, 0.38); backdrop-filter: blur(8px); }
.recovery-scene-light { position: absolute; z-index: 1; top: 18px; right: 19%; width: 90px; height: 90px; border: 1px solid rgba(244, 188, 84, 0.12); border-radius: 50%; box-shadow: 0 0 45px rgba(244, 188, 84, 0.11); pointer-events: none; }
.recovery-scene-light span { position: absolute; inset: 24px; border: 1px solid rgba(244, 188, 84, 0.18); border-radius: 50%; }
.recovery-scene-light i { position: absolute; inset: 50% 8px auto; height: 1px; background: linear-gradient(90deg, transparent, rgba(244, 188, 84, 0.48), transparent); animation: recovery-light-breathe 3.2s ease-in-out infinite; }
.recovery-center.is-danger .recovery-hero { border-color: rgba(238, 90, 80, 0.5); box-shadow: 0 15px 38px rgba(0, 0, 0, 0.42), inset 0 0 70px rgba(135, 22, 18, 0.16); }
.recovery-center.is-warning .recovery-hero { border-color: rgba(225, 176, 63, 0.45); }
.recovery-item > img { box-shadow: 0 7px 15px rgba(0, 0, 0, 0.32), inset 0 1px rgba(255, 255, 255, 0.03); }

@keyframes world-radar-sweep { to { transform: rotate(360deg); } }
@keyframes world-signal-pulse { 0%, 100% { opacity: 0.35; transform: scale(0.8); } 50% { opacity: 1; transform: scale(1.18); } }
@keyframes recovery-light-breathe { 0%, 100% { opacity: 0.28; transform: scaleX(0.75); } 50% { opacity: 0.95; transform: scaleX(1); } }
@keyframes raid-muzzle-flash { 0% { opacity: 0; transform: scale(0.25); } 18% { opacity: 1; transform: scale(1.15); } 100% { opacity: 0; transform: scale(1.8); } }
@keyframes raid-projectile-streak { 0% { opacity: 0; transform: rotate(-5deg) scaleX(0.08); } 18% { opacity: 1; } 100% { opacity: 0; transform: rotate(-5deg) scaleX(1.2); } }
@keyframes raid-impact-burst { 0% { opacity: 0; transform: scale(0.2); } 30% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(1.7); } }
@keyframes raid-slash { 0% { opacity: 0; transform: rotate(-42deg) scale(0.3); } 35% { opacity: 1; } 100% { opacity: 0; transform: rotate(4deg) scale(1.25); } }

@media (max-width: 820px) {
	.raid-contract-grid { grid-template-columns: 1fr; }
	.raid-entry-scene { grid-template-columns: minmax(0, 1fr) 180px; min-height: 330px; padding: 22px; }
	.raid-entry-radar { display: none; }
	.raid-combat-viewport .mob-target-image { width: min(210px, 100%); height: 195px; }
}

@media (max-width: 560px) {
	.pda-summary-hero,
	.raid-entry-scene,
	.recovery-hero { grid-template-columns: 1fr; padding: 16px; }
	.pda-summary-hero { min-height: 390px; background-position: 62% center; }
	.pda-summary-hero h1,
	.raid-entry-copy h1 { font-size: 1.35rem; }
	.pda-scene-badges,
	.raid-scene-tags,
	.recovery-scene-badges { gap: 4px; }
	.pda-scene-badges span,
	.raid-scene-tags span,
	.recovery-scene-badges span { min-height: 23px; font-size: 0.52rem; }
	.pda-scene-scan { display: none; }
	.raid-entry-scene { min-height: 430px; align-content: end; background-position: 59% center; }
	.raid-entry-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.raid-entry-stats span { display: block; padding: 8px 5px; border-right: 1px solid rgba(158, 216, 119, 0.13); border-bottom: 0; text-align: center; }
	.raid-entry-stats small,
	.raid-entry-stats strong { display: block; text-align: center; }
	.raid-entry-stats strong { margin-top: 3px; font-size: 0.6rem; }
	.raid-contract-board > header { align-items: flex-start; }
	.raid-contract-board > header > b { display: none; }
	.raid-contract-grid .mob-raid-card { padding: 10px; }
	.raid-contract-grid .mob-raid-card-body { grid-template-columns: 105px minmax(0, 1fr); gap: 9px; }
	.raid-contract-grid .mob-raid-visual { min-height: 130px; }
	.raid-contract-grid .mob-raid-visual img { width: 105px; height: 105px; }
	.mob-threat-badge { right: 3px; bottom: 3px; left: 3px; padding: 3px; font-size: 0.43rem; }
	.mob-raid-heading h3 { font-size: 0.86rem; }
	.raid-combat-brief { grid-template-columns: 1fr; padding: 13px; }
	.raid-combat-signal { grid-template-columns: minmax(0, 1fr) auto auto; min-width: 0; align-items: center; text-align: left; }
	.raid-combat-signal span { justify-content: flex-start; }
	.raid-combat-viewport { min-height: 330px; padding: 18px 10px 14px; background-position: center; }
	.raid-combat-viewport .mob-combat-duel { min-height: 230px; grid-template-columns: minmax(75px, 1fr) 34px minmax(100px, 1.15fr); }
	.raid-combat-viewport .combat-avatar { width: 86px; }
	.raid-combat-viewport .mob-target-image { height: 145px; }
	.raid-combat-viewport .mob-combat-vs { width: 32px; height: 32px; font-size: 0.68rem; line-height: 32px; }
	.raid-combat-fx { top: 135px; height: 330px; }
	.mob-battle-app > :not(.raid-combat-fx):not(.raid-combat-brief):not(.raid-combat-viewport) { margin-right: 9px; margin-left: 9px; }
	.mob-battle-app .arena-result { min-height: 390px; margin-right: 0; margin-left: 0; padding: 21px 12px; background-position: 46% center; }
	.recovery-hero { min-height: 470px; align-content: end; background-position: 47% center; }
	.recovery-hero-copy h1 { font-size: 1.4rem; }
	.recovery-hero nav { min-width: 0; }
	.recovery-scene-light { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.pda-scene-scan i,
	.raid-entry-radar span,
	.raid-entry-radar b,
	.raid-combat-signal i,
	.recovery-scene-light i,
	.raid-combat-fx,
	.raid-contract-grid .mob-raid-visual img { animation: none !important; transition: none !important; }
}

/* Illustrated arena and expeditions — 1.50.0 */
.arena-matchmaking-app,
.arena-battle-app,
.expedition-hub { font-family: var(--font-pda); }

.arena-matchmaking-app { display: grid; gap: 12px; }
.arena-lobby-scene,
.arena-combat-viewport,
.expedition-hero,
.expedition-result { background-repeat: no-repeat; background-size: cover; }

.arena-lobby-scene {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) 210px;
	gap: 24px;
	min-height: 350px;
	align-items: end;
	overflow: hidden;
	padding: 27px;
	border: 1px solid rgba(209, 164, 69, 0.34);
	border-radius: 11px;
	background-image:
		linear-gradient(90deg, rgba(3, 6, 5, 0.94) 0%, rgba(3, 6, 5, 0.6) 47%, rgba(3, 6, 5, 0.24) 73%),
		linear-gradient(0deg, rgba(3, 6, 5, 0.97), transparent 64%),
		url('/assets/img/scenes/arena-observation-ring.webp');
	background-position: center;
	box-shadow: inset 0 0 70px rgba(0, 0, 0, 0.3), 0 16px 40px rgba(0, 0, 0, 0.44);
}
.arena-lobby-scene::before,
.arena-combat-viewport::before,
.expedition-hero::before,
.expedition-result::before {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: repeating-linear-gradient(0deg, rgba(222, 185, 92, 0.022) 0, rgba(222, 185, 92, 0.022) 1px, transparent 1px, transparent 4px);
	content: '';
	pointer-events: none;
}
.arena-lobby-scene > *,
.arena-combat-viewport > *,
.expedition-hero > *,
.expedition-result > * { position: relative; z-index: 2; }
.arena-lobby-copy { max-width: 650px; }
.arena-lobby-copy > small,
.arena-duel-brief small,
.expedition-hero-copy > small { color: #d6b55e; font-size: 0.58rem; font-weight: 800; letter-spacing: 0.13em; text-shadow: 0 2px 5px #000; }
.arena-lobby-copy h1,
.arena-duel-brief h1,
.expedition-hero-copy h1 {
	margin: 5px 0 8px;
	color: #f1f3ed;
	font: 900 clamp(1.42rem, 3.4vw, 2rem)/1.04 var(--font-heading);
	letter-spacing: 0.025em;
	text-transform: uppercase;
	text-shadow: 0 3px 12px rgba(0, 0, 0, 0.95);
}
.arena-lobby-copy p,
.arena-duel-brief p,
.expedition-hero-copy p { max-width: 590px; margin: 0; color: #c0c7ba; font-size: 0.78rem; line-height: 1.52; text-shadow: 0 2px 5px #000; }
.arena-scene-tags,
.expedition-scene-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.arena-scene-tags span,
.expedition-scene-tags span {
	display: inline-flex;
	min-height: 25px;
	align-items: center;
	gap: 6px;
	padding: 3px 8px;
	border: 1px solid rgba(216, 177, 82, 0.28);
	border-radius: 14px;
	color: #d7d1b8;
	background: rgba(3, 7, 5, 0.7);
	font-size: 0.55rem;
	font-weight: 700;
	backdrop-filter: blur(7px);
}
.arena-scene-tags i,
.expedition-scene-tags i,
.arena-duel-signal i { width: 6px; height: 6px; border-radius: 50%; background: #8cd666; box-shadow: 0 0 8px rgba(140, 214, 102, 0.84); }
.arena-lobby-console {
	display: grid;
	align-self: end;
	border: 1px solid rgba(216, 177, 82, 0.27);
	border-radius: 7px;
	background: rgba(3, 7, 5, 0.79);
	box-shadow: 0 12px 28px rgba(0, 0, 0, 0.4);
	backdrop-filter: blur(8px);
}
.arena-lobby-console span { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 9px; align-items: center; padding: 10px 11px; border-bottom: 1px solid rgba(216, 177, 82, 0.13); }
.arena-lobby-console span:last-child { border-bottom: 0; }
.arena-lobby-console small { color: #858c7d; font-size: 0.51rem; letter-spacing: 0.08em; }
.arena-lobby-console strong { color: #ead28d; font-size: 0.7rem; text-align: right; }
.arena-lobby-radar,
.expedition-route-beacon {
	position: absolute !important;
	z-index: 1 !important;
	top: 28px;
	right: 34px;
	width: 112px;
	height: 112px;
	border: 1px solid rgba(220, 185, 91, 0.18);
	border-radius: 50%;
	opacity: 0.75;
	pointer-events: none;
}
.arena-lobby-radar::before,
.arena-lobby-radar::after,
.expedition-route-beacon::before,
.expedition-route-beacon::after { position: absolute; inset: 24px; border: 1px solid rgba(220, 185, 91, 0.15); border-radius: 50%; content: ''; }
.arena-lobby-radar::after,
.expedition-route-beacon::after { inset: 47px; }
.arena-lobby-radar span,
.expedition-route-beacon span { position: absolute; top: 50%; left: 50%; width: 50%; height: 1px; transform-origin: left; background: linear-gradient(90deg, #d7b55d, transparent); animation: world-radar-sweep 5.2s linear infinite; }
.arena-lobby-radar i,
.arena-lobby-radar b,
.expedition-route-beacon i,
.expedition-route-beacon b { position: absolute; width: 5px; height: 5px; border-radius: 50%; background: #92d56d; box-shadow: 0 0 8px #92d56d; }
.arena-lobby-radar i,
.expedition-route-beacon i { top: 31%; left: 68%; }
.arena-lobby-radar b,
.expedition-route-beacon b { top: 69%; left: 30%; animation: world-signal-pulse 1.8s ease-in-out infinite; }

.arena-matchmaking-head { padding: 13px 15px; border: 1px solid rgba(137, 174, 109, 0.2); border-radius: 7px 7px 0 0; background: linear-gradient(110deg, rgba(68, 94, 55, 0.17), rgba(5, 10, 7, 0.96)); }
.arena-matchmaking-note { margin: -12px 0 0; padding: 0 15px 13px; border: 1px solid rgba(137, 174, 109, 0.2); border-top: 0; border-radius: 0 0 7px 7px; color: #87917f; background: rgba(5, 10, 7, 0.96); }

.arena-battle-app { position: relative; overflow: hidden; padding: 0 !important; border: 1px solid rgba(209, 164, 69, 0.3) !important; border-radius: 11px; background: #060908 !important; }
.arena-battle-app > :not(.arena-duel-brief):not(.raid-combat-brief) { position: relative; z-index: 2; margin-right: 14px; margin-left: 14px; }
.arena-duel-brief {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 10px;
	align-items: center;
	padding: 10px 14px;
	border-bottom: 1px solid rgba(209, 164, 69, 0.2);
	background: linear-gradient(105deg, rgba(8, 13, 10, 0.99), rgba(25, 22, 12, 0.92));
}
.arena-duel-brief h1 { margin: 2px 0 0; font-size: 1.05rem; }
.arena-duel-signal { display: grid; min-width: 170px; gap: 2px; padding: 6px 9px; border: 1px solid rgba(103, 188, 111, 0.3); border-radius: 6px; background: rgba(8, 35, 16, 0.2); text-align: right; }
.arena-duel-signal span { display: flex; justify-content: flex-end; gap: 6px; align-items: center; color: #9bdca4; font-size: 0.52rem; font-weight: 800; letter-spacing: 0.06em; }
.arena-duel-signal b { overflow: hidden; max-width: 230px; color: #e6e9e1; font-size: 0.66rem; text-overflow: ellipsis; white-space: nowrap; }
.arena-combat-shell {
	display: grid;
	grid-template-columns: minmax(0, 1.28fr) minmax(300px, .72fr);
	gap: 12px;
	margin-top: 12px;
}
.arena-combat-viewport {
	position: relative;
	min-height: 400px;
	overflow: hidden;
	padding: 22px 18px 54px;
	background-image:
		linear-gradient(90deg, rgba(2, 5, 4, 0.35), transparent 42%, rgba(2, 5, 4, 0.3)),
		linear-gradient(0deg, rgba(3, 7, 5, 0.94), transparent 61%),
		url('/assets/img/scenes/arena-combat-hall.webp');
	background-position: center;
	box-shadow: inset 0 -85px 85px rgba(3, 7, 5, 0.72);
}
.arena-duel-grid { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr) 42px minmax(0, 1fr); align-items: center; gap: 12px; min-height: 310px; }
.arena-combatant { display: grid; justify-items: center; align-content: center; gap: 8px; min-width: 0; text-align: center; text-shadow: 0 2px 5px #000; }
.arena-combatant-name { min-height: 19px; overflow: hidden; max-width: 100%; color: #e7e9e3; font: 800 .68rem/1.2 var(--font-pda); text-overflow: ellipsis; white-space: nowrap; }
.arena-combat-viewport .arena-combatant-stage { padding: 7px; border: 1px solid rgba(217, 177, 81, 0.24); border-radius: 9px; background: rgba(3, 7, 5, 0.4); box-shadow: 0 14px 26px rgba(0, 0, 0, 0.46); backdrop-filter: blur(4px); }
.arena-combat-viewport .combat-avatar { width: 112px; height: 112px; border-color: rgba(219, 180, 89, 0.46); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.58); }
.arena-versus-mark { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(227, 181, 76, .45); border-radius: 50%; color: #f2ca70; background: rgba(4, 8, 5, .82); font: 900 .72rem/1 var(--font-mono); box-shadow: 0 0 18px rgba(227, 181, 76, .14); }
.arena-vitals { width: min(210px, 100%); padding: 6px 8px; border: 1px solid rgba(207, 178, 102, .2); border-radius: 6px; background: rgba(2, 6, 4, .72); }
.arena-vital-head { display: flex; justify-content: space-between; gap: 8px; margin: 1px 0 3px; color: #cfd8ca; font: 700 .58rem/1.2 var(--font-mono); }
.arena-vital-head + .bloodBar { height: 7px; margin: 0 0 5px; }
.arena-endurance-bar .line { background: linear-gradient(90deg, #c88721, #f0c75d) !important; }
.arena-combat-warnings { position: absolute; z-index: 8; top: 10px; left: 10px; display: flex; flex-wrap: wrap; gap: 5px; }
.arena-combat-warning { padding: 4px 7px; border: 1px solid rgba(230, 86, 75, .55); border-radius: 12px; color: #ffaaa3; background: rgba(40, 7, 5, .86); font: 800 .56rem/1 var(--font-mono); }
.arena-participation { position: absolute; z-index: 7; right: 10px; bottom: 10px; left: 10px; display: flex; justify-content: space-between; gap: 9px; padding: 6px 8px; border: 1px solid rgba(214, 179, 87, .25); border-radius: 5px; color: #c8cdbf; background: rgba(3, 7, 5, .82); font: 700 .58rem/1.25 var(--font-mono); backdrop-filter: blur(5px); }
.arena-participation.is-pending { border-color: rgba(227, 145, 59, .43); color: #f0bd75; }
.arena-participation.is-ready { border-color: rgba(109, 190, 112, .4); color: #a9dda9; }
.arena-combat-viewport .bloodBar,
.arena-combat-viewport .combat-vital-value { position: relative; z-index: 3; }
.arena-combat-viewport .bloodBar { max-width: 240px; margin-right: auto; margin-left: auto; background: rgba(2, 4, 3, 0.78) !important; }
.arena-combat-viewport .arena-combat-fx { position: absolute; inset: 0; z-index: 6; width: 100%; height: 100%; }
.arena-command-deck { box-sizing: border-box; min-width: 0; padding: 10px; border: 1px solid rgba(139, 174, 112, .22); border-radius: 8px; background: linear-gradient(160deg, rgba(14, 22, 15, .98), rgba(4, 8, 5, .98)); box-shadow: inset 0 1px rgba(255, 255, 255, .025); }
.arena-command-deck > header { display: flex; justify-content: space-between; gap: 8px; padding: 1px 2px 7px; color: #86927f; font: 800 .52rem/1.2 var(--font-mono); letter-spacing: .08em; }
.arena-command-deck > header strong { color: #d9e3d2; font-size: .62rem; }
.arena-command-deck .arena-ajax-status { min-height: 18px; margin: 0 0 5px; padding: 0 5px; line-height: 18px; }
.arena-overload-warning { display: flex; grid-column: 1 / -1; justify-content: space-between; gap: 8px; margin: 0 0 6px; padding: 6px 7px; border: 1px solid rgba(232, 146, 54, .5); color: #ffc17b; background: rgba(70, 31, 7, .28); font: 700 .62rem/1.2 var(--font-mono); }
.arena-command-deck .combat-actions { grid-template-columns: 1fr; gap: 6px; margin: 0 0 7px; }
.arena-command-deck .combat-action { display: grid; grid-template-columns: 46px minmax(0, 1fr); align-items: center; justify-content: stretch; gap: 8px; padding: 6px 8px; text-align: left; }
.arena-command-deck .combat-action-visual { width: 38px; height: 38px; }
.arena-command-deck .combat-action-visual img { max-width: 34px; max-height: 34px; }
.arena-command-deck .combat-action-copy { display: grid; min-width: 0; gap: 2px; }
.arena-command-deck .combat-action-copy > strong { overflow: hidden; color: #dff0d6; font-size: .76rem; text-overflow: ellipsis; white-space: nowrap; }
.arena-command-deck .combat-action-stats,
.arena-command-deck .combat-action-cost,
.arena-command-deck .combat-action-state,
.arena-command-deck .combat-action-ammo { margin: 0; font-size: .59rem; line-height: 1.2; }
.arena-command-deck .combat-action-stats { color: #b8d4ac; }
.arena-command-deck .combat-action-state { color: #d9a776; }
.arena-command-deck .arena-reload-actions { gap: 5px; margin: 0 0 7px; }
.arena-command-deck .arena-reload-actions button { min-height: 34px; padding: 5px 6px !important; font-size: .59rem; }
.arena-support-drawer,
.arena-tactical-reference { border: 1px solid rgba(137, 174, 109, .22); border-radius: 6px; background: rgba(5, 10, 7, .88); }
.arena-support-drawer { margin: 0 0 7px; }
.arena-support-drawer summary,
.arena-tactical-reference summary { padding: 8px 10px; color: #bdcdb5; font: 800 .64rem/1.25 var(--font-pda); cursor: pointer; }
.arena-support-drawer .arena-consumables { grid-template-columns: 1fr; gap: 5px; margin: 0; padding: 0 7px 7px; }
.arena-support-drawer .arena-consumable-group { padding: 6px; }
.arena-support-drawer .arena-consumable-group > strong { margin-bottom: 4px; font-size: .61rem; }
.arena-support-drawer .arena-consumable-button { min-width: 72px; min-height: 44px; grid-template-columns: 34px auto; }
.arena-support-drawer .arena-consumable-button img { width: 34px; height: 34px; }
.arena-command-deck .arena-retreat-form { margin: 0; }
.arena-command-deck .arena-retreat-form .btn { box-sizing: border-box; width: 100%; min-height: 34px; padding: 5px !important; color: #9ba398; font-size: .61rem; }
.arena-tactical-reference { margin-top: 10px; margin-bottom: 10px; }
.arena-tactical-reference > p { margin: 0; padding: 0 11px 10px; color: #929e8d; font-size: .68rem; }
.arena-action-intel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; padding: 0 10px 10px; }
.arena-action-intel article { display: grid; gap: 3px; padding: 8px; border: 1px solid rgba(137, 174, 109, .16); background: rgba(0, 0, 0, .2); }
.arena-action-intel strong { color: #dce8d6; font-size: .68rem; }
.arena-action-intel span,
.arena-action-intel small { color: #8f9c8a; font-size: .61rem; line-height: 1.35; }
.arena-action-intel small { color: #d6a869; }
.arena-tactical-reference .field-stat-guide-grid { padding: 0 10px 10px; }
.raid-combat-shell .raid-combat-viewport { box-sizing: border-box; min-height: 400px; padding: 18px 10px 54px; }
.raid-combat-shell .mob-combat-duel { min-height: 310px; align-items: center; gap: 8px; margin: 0; }
.raid-combat-shell .mob-combatant { min-width: 0; gap: 6px; }
.raid-combat-shell .raid-combat-viewport .combat-avatar { width: 104px; height: 104px; }
.raid-combat-shell .raid-combat-viewport .mob-target-image { width: min(185px, 100%); height: 170px; }
.raid-combat-shell .arena-vitals { width: min(185px, 100%); }
.raid-combat-shell .raid-combat-fx { inset: 0; width: 100%; height: 100%; }
.raid-command-deck .combat-actions { padding: 0; border: 0; border-radius: 0; background: none; }
.raid-tactical-reference .raid-target-intel { display: grid; gap: 5px; margin: 0 10px 9px; padding: 9px; border: 1px solid rgba(209, 105, 86, .19); color: #aebaa8; background: rgba(42, 12, 9, .2); font-size: .66rem; line-height: 1.45; }
.raid-tactical-reference .raid-target-intel > strong { color: #e6c4ad; font: 800 .67rem/1.2 var(--font-pda); text-transform: uppercase; }
.raid-tactical-reference .raid-target-intel > div { overflow-wrap: anywhere; }
.combat-telemetry-drawer { margin: 0 0 12px; border: 1px solid rgba(137, 174, 109, .22); border-radius: 6px; background: rgba(5, 10, 7, .88); }
.combat-telemetry-drawer > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 8px; align-items: center; min-height: 42px; padding: 7px 10px; color: #bdcdb5; font: 800 .64rem/1.25 var(--font-pda); cursor: pointer; list-style: none; }
.combat-telemetry-drawer > summary::-webkit-details-marker { display: none; }
.combat-telemetry-drawer > summary small { color: #778374; font: 600 .52rem/1.2 var(--font-mono); }
.combat-telemetry-drawer > summary b { min-width: 23px; padding: 3px 6px; border-radius: 999px; color: #dce9d5; background: rgba(123, 170, 98, .12); text-align: center; }
.combat-telemetry-drawer .arena-combat-log { max-height: 180px; overflow-y: auto; margin: 0; border-width: 1px 0 0 !important; border-radius: 0 0 6px 6px; }
.combat-log-empty { padding: 13px; color: #7b8977; font: 600 .6rem/1.4 var(--font-mono); text-align: center; }
.combat-result-actions { display: flex; width: min(100%, 460px); flex-wrap: wrap; justify-content: center; gap: 7px; margin: 0 auto; }
.combat-result-actions .btn { box-sizing: border-box; width: auto; max-width: 210px; min-height: 44px; flex: 0 1 210px; margin: 0; }
.arena-battle-app.is-arena-ended .arena-combat-viewport { filter: saturate(0.48) brightness(0.57); transition: filter 0.55s ease; }
.arena-battle-app.is-arena-ended .arena-command-deck { display: none; }
.arena-battle-app .arena-result {
	min-height: 300px;
	display: grid;
	align-content: center;
	overflow: hidden;
	padding: 26px max(18px, 8%);
	border-color: rgba(218, 177, 82, 0.38);
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.88), rgba(3, 7, 5, 0.5), rgba(3, 7, 5, 0.86)),
		linear-gradient(0deg, rgba(3, 7, 5, 0.95), transparent 66%),
		url('/assets/img/scenes/arena-observation-ring.webp');
	background-position: center;
	box-shadow: inset 0 0 55px rgba(0, 0, 0, 0.25), 0 14px 32px rgba(0, 0, 0, 0.45);
}
.arena-battle-app .arena-result[hidden] { display: none; }
.arena-battle-app .arena-result-rewards span { background: rgba(3, 8, 5, 0.76); backdrop-filter: blur(7px); }

.expedition-hero {
	min-height: 355px;
	align-items: end;
	padding: 27px;
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.95) 0%, rgba(3, 7, 5, 0.63) 43%, rgba(3, 7, 5, 0.16) 72%),
		linear-gradient(0deg, rgba(3, 7, 5, 0.93), transparent 59%),
		url('/assets/img/scenes/expedition-departure.webp');
	background-position: center;
	box-shadow: inset 0 0 70px rgba(0, 0, 0, 0.22), 0 16px 40px rgba(0, 0, 0, 0.42);
}
.expedition-hero::after { display: none; }
.expedition-hero-copy { max-width: 680px !important; }
.expedition-hero nav { align-self: end; max-width: 220px; padding: 8px; border: 1px solid rgba(216, 177, 82, 0.21); border-radius: 7px; background: rgba(3, 7, 5, 0.72); box-shadow: 0 12px 26px rgba(0, 0, 0, 0.38); backdrop-filter: blur(7px); }
.expedition-route-beacon { top: 25px; right: 33px; }
.expedition-active {
	position: relative;
	overflow: hidden;
	background-image: linear-gradient(100deg, rgba(6, 12, 8, 0.98), rgba(6, 12, 8, 0.82)), url('/assets/img/scenes/expedition-departure.webp');
	background-position: center;
	background-size: cover;
}
.expedition-active > * { position: relative; z-index: 2; }
.expedition-active-visual { box-shadow: 0 10px 22px rgba(0, 0, 0, 0.4); }
.expedition-result {
	position: relative;
	min-height: 310px;
	display: grid;
	align-content: center;
	overflow: hidden;
	padding: 28px max(18px, 9%);
	border-color: rgba(108, 194, 103, 0.39);
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.88), rgba(3, 7, 5, 0.51), rgba(3, 7, 5, 0.86)),
		linear-gradient(0deg, rgba(3, 7, 5, 0.95), transparent 66%),
		url('/assets/img/scenes/expedition-report-table.webp');
	background-position: center;
	box-shadow: inset 0 0 60px rgba(0, 0, 0, 0.25), 0 15px 35px rgba(0, 0, 0, 0.47);
}
.expedition-result[hidden] { display: none !important; }
.expedition-result > span,
.expedition-result h2,
.expedition-result p,
.expedition-result .expedition-reward-line { max-width: 660px; }
.expedition-result h2 { color: #f0f3eb; font: 900 1.35rem/1.1 var(--font-heading); text-transform: uppercase; text-shadow: 0 3px 10px #000; }
.expedition-result p { color: #bdc7b7; text-shadow: 0 2px 5px #000; }
.expedition-result .expedition-reward-line b { border-color: rgba(158, 211, 124, 0.28); background: rgba(3, 8, 5, 0.76); backdrop-filter: blur(7px); }
.expedition-report-scan { position: absolute !important; z-index: 1 !important; top: 26px; right: 32px; width: 92px; height: 92px; border: 1px solid rgba(137, 214, 99, 0.2); border-radius: 50%; opacity: 0.75; }
.expedition-report-scan::before,
.expedition-report-scan::after { position: absolute; content: ''; background: rgba(137, 214, 99, 0.18); }
.expedition-report-scan::before { top: 50%; right: -14px; left: -14px; height: 1px; }
.expedition-report-scan::after { top: -14px; bottom: -14px; left: 50%; width: 1px; }
.expedition-report-scan span { position: absolute; inset: 22px; border: 1px solid rgba(137, 214, 99, 0.21); border-radius: 50%; }
.expedition-route-visual::after { position: absolute; inset: 0; background: linear-gradient(110deg, transparent 34%, rgba(193, 225, 168, 0.08) 48%, transparent 62%); transform: translateX(-120%); content: ''; pointer-events: none; }
.expedition-route.is-available:hover .expedition-route-visual::after { animation: expedition-card-scan 850ms ease-out; }
.expedition-hub.is-expedition-departing .expedition-hero { animation: expedition-departure 950ms ease-out; }
.expedition-hub.is-expedition-returned .expedition-active { animation: expedition-return 1050ms ease-out; }
.expedition-hub.is-report-received .expedition-result { animation: expedition-report-arrive 1050ms cubic-bezier(0.16, 0.78, 0.24, 1); }
.expedition-hub.is-report-received .expedition-report-scan { animation: expedition-report-scan 950ms ease-out; }

@keyframes expedition-card-scan { from { transform: translateX(-120%); } to { transform: translateX(120%); } }
@keyframes expedition-departure { 0% { filter: brightness(1); } 28% { filter: brightness(1.22) saturate(1.12); } 100% { filter: brightness(1); } }
@keyframes expedition-return { 0% { box-shadow: inset 4px 0 #4cbe70, 0 0 0 rgba(111, 210, 118, 0); } 42% { box-shadow: inset 4px 0 #76da8f, 0 0 28px rgba(111, 210, 118, 0.26); } 100% { box-shadow: inset 4px 0 #4cbe70, 0 6px 24px rgba(0, 0, 0, 0.2); } }
@keyframes expedition-report-arrive { 0% { opacity: 0; transform: translateY(14px) scale(0.985); } 65% { opacity: 1; transform: translateY(-2px) scale(1.003); } 100% { transform: none; } }
@keyframes expedition-report-scan { 0% { opacity: 0; transform: scale(0.55) rotate(-110deg); } 55% { opacity: 1; } 100% { opacity: 0.75; transform: none; } }

@media (max-width: 760px) {
	.arena-lobby-scene { grid-template-columns: 1fr; min-height: 420px; padding: 22px; }
	.arena-lobby-console { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.arena-lobby-console span { display: flex; min-width: 0; flex-direction: column; gap: 3px; align-items: flex-start; border-right: 1px solid rgba(216, 177, 82, 0.13); border-bottom: 0; }
	.arena-lobby-console span:last-child { border-right: 0; }
	.arena-lobby-console strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
	.arena-duel-brief { align-items: center; grid-template-columns: minmax(0, 1fr) auto; }
	.arena-duel-signal { min-width: 0; }
	.arena-combat-shell { grid-template-columns: 1fr; }
	.arena-combat-viewport { min-height: 300px; }
	.arena-duel-grid { min-height: 230px; }
	.raid-combat-shell .raid-combat-viewport { min-height: 300px; padding: 14px 7px 48px; }
	.raid-combat-shell .mob-combat-duel { min-height: 230px; }
	.raid-combat-shell .raid-combat-viewport .combat-avatar { width: 82px; height: 82px; }
	.raid-combat-shell .raid-combat-viewport .mob-target-image { height: 130px; }
	.expedition-hero { min-height: 400px; }
	.expedition-hero nav { width: 100%; max-width: none; }
}

@media (max-width: 520px) {
	.arena-lobby-scene { min-height: 460px; padding: 18px 14px; background-position: 54% center; }
	.arena-lobby-radar,
	.expedition-route-beacon,
	.expedition-report-scan { display: none; }
	.arena-lobby-copy p,
	.expedition-hero-copy p { font-size: 0.68rem; }
	.arena-scene-tags span,
	.expedition-scene-tags span { min-height: 27px; }
	.arena-lobby-console span { padding: 8px 7px; }
	.arena-duel-brief { padding: 8px 10px; }
	.arena-duel-brief h1 { font-size: .86rem; }
	.arena-duel-brief > div > small { font-size: .48rem; letter-spacing: .08em; }
	.arena-duel-signal { padding: 5px 7px; }
	.arena-duel-signal b { max-width: 150px; font-size: .56rem; }
	.arena-duel-signal span { font-size: .46rem; }
	.arena-combat-shell { gap: 8px; margin-top: 8px; }
	.arena-combat-viewport { min-height: 245px; padding: 15px 6px 47px; background-position: center; }
	.arena-duel-grid { grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr); gap: 5px; min-height: 190px; }
	.arena-combat-viewport .combat-avatar { width: 72px; height: 72px; }
	.arena-combat-viewport .arena-combatant-stage { padding: 4px; }
	.arena-combatant { gap: 5px; }
	.arena-combatant-name { min-height: 15px; font-size: .56rem; }
	.arena-versus-mark { width: 28px; height: 28px; font-size: .55rem; }
	.arena-vitals { padding: 4px 5px; }
	.arena-vital-head { font-size: .49rem; }
	.arena-participation { right: 6px; bottom: 6px; left: 6px; padding: 5px 6px; font-size: .5rem; }
	.arena-participation small { overflow: hidden; max-width: 53%; text-overflow: ellipsis; white-space: nowrap; }
	.arena-combat-warnings { top: 6px; left: 6px; }
	.arena-combat-warning { padding: 3px 5px; font-size: .48rem; }
	.arena-command-deck { padding: 8px; }
	.arena-command-deck > header { padding-bottom: 5px; }
	.arena-command-deck .arena-ajax-status:empty { display: none; }
	.arena-action-intel { grid-template-columns: 1fr; }
	.arena-battle-app > :not(.arena-duel-brief):not(.raid-combat-brief) { margin-right: 7px; margin-left: 7px; }
	.raid-combat-brief { grid-template-columns: minmax(0, 1fr) auto; gap: 7px; padding: 8px 10px; }
	.raid-combat-brief h1 { overflow: hidden; max-width: 180px; margin: 2px 0 0; font-size: .86rem; text-overflow: ellipsis; white-space: nowrap; }
	.raid-combat-brief .raid-scene-kicker { font-size: .46rem; letter-spacing: .07em; }
	.raid-combat-signal { grid-template-columns: 1fr; gap: 1px; padding: 5px 7px; text-align: right; }
	.raid-combat-signal span { justify-content: flex-end; font-size: .45rem; }
	.raid-combat-signal b { font-size: .56rem; }
	.raid-combat-signal small { display: none; }
	.raid-combat-shell .raid-combat-viewport { min-height: 245px; padding: 10px 4px 45px; }
	.raid-combat-shell .mob-combat-duel { grid-template-columns: minmax(0, 1fr) 28px minmax(0, 1.15fr); gap: 3px; min-height: 188px; }
	.raid-combat-shell .raid-combat-viewport .combat-avatar { width: 64px; height: 64px; }
	.raid-combat-shell .raid-combat-viewport .mob-target-image { height: 96px; }
	.raid-combat-shell .mob-combat-label { max-width: 115px; padding: 3px 5px; overflow: hidden; font-size: .5rem; text-overflow: ellipsis; white-space: nowrap; }
	.raid-combat-shell .raid-combat-viewport .mob-combat-vs { width: 27px; height: 27px; font-size: .52rem; line-height: 27px; }
	.raid-combat-shell .arena-vitals { padding: 3px 4px; }
	.combat-telemetry-drawer > summary { grid-template-columns: minmax(0, 1fr) auto; }
	.combat-telemetry-drawer > summary small { display: none; }
	.combat-telemetry-drawer .arena-combat-log { max-height: 145px; }
	.arena-battle-app .arena-result,
	.expedition-result { min-height: 360px; padding: 22px 13px; }
	.expedition-hero { min-height: 430px; padding: 20px 14px; background-position: 59% center; }
	.expedition-scene-tags { max-width: 300px; }
}

@media (prefers-reduced-motion: reduce) {
	.arena-lobby-radar span,
	.arena-lobby-radar b,
	.expedition-route-beacon span,
	.expedition-route-beacon b,
	.expedition-hub.is-expedition-departing .expedition-hero,
	.expedition-hub.is-expedition-returned .expedition-active,
	.expedition-hub.is-report-received .expedition-result,
	.expedition-hub.is-report-received .expedition-report-scan,
	.expedition-route.is-available:hover .expedition-route-visual::after { animation: none !important; }
}

/* Illustrated armory and quartermaster — 1.51.0 */
.field-inventory-title,
.supply-hero {
	position: relative;
	isolation: isolate;
	min-height: 340px;
	overflow: hidden;
	align-items: end;
	padding: 27px;
	border-color: rgba(167, 207, 126, 0.36);
	background-position: center;
	background-size: cover;
	box-shadow: inset 0 0 72px rgba(0, 0, 0, 0.24), 0 16px 40px rgba(0, 0, 0, 0.44);
}
.field-inventory-title {
	grid-template: "copy console" auto "action console" auto / minmax(0, 1fr) minmax(205px, 238px);
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.96) 0%, rgba(3, 7, 5, 0.63) 45%, rgba(3, 7, 5, 0.2) 74%),
		linear-gradient(0deg, rgba(3, 7, 5, 0.95), transparent 62%),
		url('/assets/img/scenes/inventory-armory.webp');
}
.field-inventory-title::before,
.supply-hero::before,
.supply-inspection-stage::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: repeating-linear-gradient(0deg, transparent 0 3px, rgba(183, 219, 151, 0.025) 3px 4px);
	content: '';
	pointer-events: none;
}
.field-inventory-title > *,
.supply-hero > * { position: relative; z-index: 2; }
.inventory-scene-copy { grid-area: copy; max-width: 670px; }
.inventory-scene-copy h1,
.supply-scene-copy h1 { margin-top: 7px; font-size: clamp(1.35rem, 3vw, 2rem); text-shadow: 0 3px 12px #000; }
.inventory-scene-copy p,
.supply-scene-copy p { color: #c1cbbb; text-shadow: 0 2px 7px #000; }
.inventory-scene-tags,
.supply-scene-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 14px; }
.inventory-scene-tags span,
.supply-scene-tags span {
	display: inline-flex;
	min-height: 27px;
	box-sizing: border-box;
	align-items: center;
	padding: 5px 8px;
	border: 1px solid rgba(166, 207, 125, 0.23);
	border-radius: 4px;
	color: #c7d4bf;
	background: rgba(3, 8, 5, 0.7);
	font: 600 0.58rem/1.2 var(--font-pda);
	letter-spacing: 0.035em;
	backdrop-filter: blur(6px);
}
.inventory-scene-tags i,
.supply-scene-tags i { width: 6px; height: 6px; margin-right: 6px; border-radius: 50%; background: #77d978; box-shadow: 0 0 9px rgba(119, 217, 120, 0.8); }
.inventory-scene-console,
.supply-scene-console {
	grid-area: console;
	align-self: end;
	border: 1px solid rgba(190, 217, 153, 0.24);
	border-radius: 7px;
	background: rgba(3, 8, 5, 0.72);
	box-shadow: 0 14px 29px rgba(0, 0, 0, 0.43);
	backdrop-filter: blur(8px);
}
.inventory-scene-console > span,
.supply-scene-console > span { display: block; padding: 10px 12px; border-bottom: 1px solid rgba(190, 217, 153, 0.12); }
.inventory-scene-console > span:last-child,
.supply-scene-console > span:last-child { border-bottom: 0; }
.inventory-scene-console small,
.inventory-scene-console strong,
.supply-scene-console small,
.supply-scene-console strong { display: block; }
.inventory-scene-console small,
.supply-scene-console small { color: #788976; font-size: 0.55rem; letter-spacing: 0.08em; }
.inventory-scene-console strong,
.supply-scene-console strong { margin-top: 3px; color: #e2ecd9; font-size: 0.76rem; }
.inventory-scene-console strong.is-ready { color: #8fe290; }
.inventory-scene-console strong.is-warning { color: #f4c767; }
.inventory-scene-action,
.supply-scene-action { grid-area: action; width: fit-content; margin-top: 15px !important; }
.inventory-scene-scan,
.supply-scene-radar {
	position: absolute !important;
	z-index: 1 !important;
	top: 25px;
	right: 31px;
	width: 88px;
	height: 88px;
	border: 1px solid rgba(151, 211, 106, 0.19);
	border-radius: 50%;
	opacity: 0.72;
}
.inventory-scene-scan::before,
.inventory-scene-scan::after,
.supply-scene-radar::before,
.supply-scene-radar::after { position: absolute; background: rgba(151, 211, 106, 0.18); content: ''; }
.inventory-scene-scan::before,
.supply-scene-radar::before { top: 50%; right: -13px; left: -13px; height: 1px; }
.inventory-scene-scan::after,
.supply-scene-radar::after { top: -13px; bottom: -13px; left: 50%; width: 1px; }
.inventory-scene-scan span,
.supply-scene-radar span { position: absolute; inset: 19px; border: 1px solid rgba(151, 211, 106, 0.22); border-radius: 50%; }
.inventory-scene-scan i,
.supply-scene-radar i { position: absolute; top: 50%; left: 50%; width: 4px; height: 4px; border-radius: 50%; background: #8ee06d; box-shadow: 0 0 11px rgba(142, 224, 109, 0.85); }
.inventory-scene-scan b,
.supply-scene-radar b { position: absolute; top: 50%; left: 50%; width: 42%; height: 1px; transform-origin: left; background: linear-gradient(90deg, rgba(151, 211, 106, 0.55), transparent); animation: armory-radar-sweep 4.6s linear infinite; }

.field-inventory .equipment-doll-matrix {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding: 14px;
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.82), rgba(3, 7, 5, 0.46), rgba(3, 7, 5, 0.82)),
		linear-gradient(0deg, rgba(3, 7, 5, 0.9), transparent 70%),
		url('/assets/img/scenes/inventory-armory.webp');
	background-position: center 54%;
	background-size: cover;
	box-shadow: inset 0 0 44px rgba(0, 0, 0, 0.45), 0 12px 28px rgba(0, 0, 0, 0.3);
}
.field-inventory .equipment-doll-matrix::before { position: absolute; inset: 0; z-index: -1; background: repeating-linear-gradient(90deg, transparent 0 31px, rgba(173, 210, 137, 0.025) 31px 32px); content: ''; }
.field-inventory .doll-slot { border-color: rgba(170, 206, 136, 0.26); background: rgba(3, 8, 5, 0.7); box-shadow: inset 0 0 18px rgba(0, 0, 0, 0.58), 0 7px 17px rgba(0, 0, 0, 0.25); backdrop-filter: blur(6px); }
.field-inventory .doll-slot.occupied { border-color: rgba(132, 218, 111, 0.58); background: rgba(7, 17, 9, 0.74); }
.field-inventory .doll-slot-gear-icon { filter: drop-shadow(0 7px 8px rgba(0, 0, 0, 0.72)); transition: transform 180ms ease, filter 180ms ease; }
.field-inventory .doll-slot:hover .doll-slot-gear-icon { transform: translateY(-2px) scale(1.035); filter: drop-shadow(0 10px 12px rgba(0, 0, 0, 0.82)); }
.field-item-card .inventory-item-image,
.field-stack-card .media > .pull-left > .borderitem { display: grid; width: 88px; height: 88px; place-items: center; overflow: visible; border-radius: 7px; background: radial-gradient(circle, rgba(123, 172, 92, 0.1), transparent 68%), rgba(3, 8, 5, 0.8); }
.field-item-card .inventory-item-image img,
.field-stack-card .media > .pull-left > .borderitem img { width: 78px !important; height: 78px !important; object-fit: contain; filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.66)); }

.supply-hero {
	grid-template: "copy console" auto "action console" auto / minmax(0, 1fr) minmax(205px, 238px);
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.96) 0%, rgba(3, 7, 5, 0.61) 45%, rgba(3, 7, 5, 0.19) 74%),
		linear-gradient(0deg, rgba(3, 7, 5, 0.95), transparent 62%),
		url('/assets/img/scenes/quartermaster-market.webp');
}
.supply-hero.is-sale {
	border-color: rgba(224, 176, 72, 0.42);
	background-image:
		linear-gradient(90deg, rgba(7, 6, 3, 0.96) 0%, rgba(7, 6, 3, 0.62) 45%, rgba(7, 6, 3, 0.2) 74%),
		linear-gradient(0deg, rgba(5, 5, 3, 0.96), transparent 62%),
		url('/assets/img/scenes/quartermaster-market.webp');
	background-position: 58% center;
}
.supply-scene-copy { grid-area: copy; max-width: 690px; }
.supply-product { grid-template-columns: 112px minmax(0, 1fr); transition: border-color 180ms ease, transform 180ms ease, box-shadow 180ms ease; }
.supply-product:hover { border-color: rgba(157, 213, 115, 0.42); transform: translateY(-1px); box-shadow: 0 10px 24px rgba(0, 0, 0, 0.34); }
.supply-product-image { position: relative; width: 112px; height: 112px; overflow: hidden; background: radial-gradient(circle, rgba(136, 190, 99, 0.12), transparent 66%), #060b07; }
.supply-product-image::after { position: absolute; inset: 0; background: linear-gradient(115deg, transparent 35%, rgba(216, 239, 196, 0.09) 49%, transparent 63%); transform: translateX(-120%); content: ''; pointer-events: none; }
.supply-product:hover .supply-product-image::after { animation: supply-card-scan 780ms ease-out; }
.supply-product-image img { max-width: 100px; max-height: 100px; filter: drop-shadow(0 8px 8px rgba(0, 0, 0, 0.68)); }
.supply-inspection-stage {
	position: relative;
	isolation: isolate;
	display: grid;
	min-height: 330px;
	margin: 12px 0;
	overflow: hidden;
	place-items: center;
	border: 1px solid rgba(171, 210, 135, 0.3);
	border-radius: 9px;
	background-image:
		linear-gradient(90deg, rgba(3, 7, 5, 0.6), rgba(3, 7, 5, 0.2), rgba(3, 7, 5, 0.62)),
		linear-gradient(0deg, rgba(3, 7, 5, 0.84), transparent 65%),
		url('/assets/img/scenes/item-inspection-bench.webp');
	background-position: center;
	background-size: cover;
	box-shadow: inset 0 0 52px rgba(0, 0, 0, 0.32), 0 12px 28px rgba(0, 0, 0, 0.34);
}
.supply-inspection-target { position: relative; z-index: 3; display: grid; min-width: 190px; min-height: 150px; margin-top: 76px; place-items: center; padding: 14px; border-color: rgba(171, 211, 135, 0.35); border-radius: 8px; background: rgba(3, 8, 5, 0.53); box-shadow: 0 14px 30px rgba(0, 0, 0, 0.56); backdrop-filter: blur(5px); }
.supply-inspection-item { max-width: 180px; max-height: 140px; object-fit: contain; filter: drop-shadow(0 12px 11px rgba(0, 0, 0, 0.76)); }
.supply-inspection-scan { position: absolute; z-index: 2; top: 22px; right: 27px; width: 78px; height: 78px; border: 1px solid rgba(150, 211, 107, 0.2); border-radius: 50%; }
.supply-inspection-scan span { position: absolute; inset: 17px; border: 1px solid rgba(150, 211, 107, 0.22); border-radius: 50%; }
.supply-inspection-scan i { position: absolute; top: 50%; left: 50%; width: 42%; height: 1px; transform-origin: left; background: linear-gradient(90deg, rgba(150, 211, 107, 0.62), transparent); animation: armory-radar-sweep 3.8s linear infinite; }
.supply-product.is-purchase-confirmed,
.supply-product.is-sale-confirmed { animation: supply-confirmed 850ms ease-out; }

@keyframes armory-radar-sweep { to { transform: rotate(360deg); } }
@keyframes supply-card-scan { from { transform: translateX(-120%); } to { transform: translateX(120%); } }
@keyframes supply-confirmed { 0% { box-shadow: 0 0 0 rgba(111, 219, 112, 0); } 42% { border-color: rgba(111, 219, 112, 0.78); box-shadow: 0 0 27px rgba(111, 219, 112, 0.3); } 100% { box-shadow: 0 5px 16px rgba(0, 0, 0, 0.2); } }

@media (max-width: 760px) {
	.field-inventory-title,
	.supply-hero { grid-template: "copy" auto "console" auto "action" auto / 1fr; min-height: 420px; padding: 22px; }
	.inventory-scene-console,
	.supply-scene-console { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 13px; }
	.inventory-scene-console > span,
	.supply-scene-console > span { min-width: 0; border-right: 1px solid rgba(190, 217, 153, 0.12); border-bottom: 0; }
	.inventory-scene-console > span:last-child,
	.supply-scene-console > span:last-child { border-right: 0; }
	.inventory-scene-console strong,
	.supply-scene-console strong { overflow: hidden; text-overflow: ellipsis; }
	.supply-product { grid-template-columns: 96px minmax(0, 1fr); }
	.supply-product-image { width: 96px; height: 96px; }
	.supply-product-image img { max-width: 86px; max-height: 86px; }
}

@media (max-width: 520px) {
	.field-inventory-title,
	.supply-hero { min-height: 450px; padding: 19px 14px; background-position: 57% center; }
	.inventory-scene-scan,
	.supply-scene-radar,
	.supply-inspection-scan { display: none; }
	.inventory-scene-tags,
	.supply-scene-tags { max-width: 310px; }
	.inventory-scene-tags span,
	.supply-scene-tags span { min-height: 28px; }
	.inventory-scene-console > span,
	.supply-scene-console > span { padding: 8px 7px; }
	.inventory-scene-action,
	.supply-scene-action { box-sizing: border-box; width: 100%; text-align: center; }
	.field-inventory .equipment-doll-matrix { padding: 7px; background-position: center; }
	.field-item-card .inventory-item-image,
	.field-stack-card .media > .pull-left > .borderitem { width: 78px; height: 78px; }
	.field-item-card .inventory-item-image img,
	.field-stack-card .media > .pull-left > .borderitem img { width: 69px !important; height: 69px !important; }
	.supply-product { grid-template-columns: 78px minmax(0, 1fr); }
	.supply-product-image { width: 78px; height: 78px; }
	.supply-product-image img { max-width: 70px; max-height: 70px; }
	.supply-inspection-stage { min-height: 300px; background-position: 54% center; }
	.supply-inspection-target { min-width: 150px; min-height: 125px; margin-top: 68px; }
	.supply-inspection-item { max-width: 145px; max-height: 116px; }
}

/* ==========================================================================
   Cache Terminal / Stalker Live Decryption Terminal
   ========================================================================== */

.cache-terminal-card {
	position: relative;
	margin: 18px 0 24px;
	padding: 20px 22px;
	border: 1px solid rgba(224, 159, 44, 0.45);
	border-radius: 6px;
	background: radial-gradient(circle at 50% 0%, rgba(224, 159, 44, 0.12), transparent 70%),
	            linear-gradient(180deg, #131711 0%, #0c0f0a 100%);
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.65), inset 0 1px 0 rgba(255, 204, 102, 0.15);
	transition: border-color 0.4s ease, box-shadow 0.4s ease, background 0.4s ease;
}

.cache-terminal-card.is-ready {
	border-color: rgba(124, 214, 102, 0.6);
	background: radial-gradient(circle at 50% 0%, rgba(124, 214, 102, 0.15), transparent 70%),
	            linear-gradient(180deg, #111a10 0%, #090f08 100%);
	box-shadow: 0 4px 28px rgba(34, 76, 20, 0.4), inset 0 1px 0 rgba(144, 238, 120, 0.25);
}

.cache-terminal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 18px;
	padding-bottom: 14px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.cache-terminal-badge {
	display: flex;
	align-items: center;
	gap: 12px;
}

.cache-terminal-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border: 1px solid rgba(224, 159, 44, 0.4);
	border-radius: 4px;
	background: rgba(224, 159, 44, 0.1);
	font-size: 1.35rem;
}

.cache-terminal-card.is-ready .cache-terminal-icon {
	border-color: rgba(124, 214, 102, 0.5);
	background: rgba(124, 214, 102, 0.12);
}

.cache-terminal-badge small {
	display: block;
	font-family: var(--font-pda, monospace);
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	color: #9fac97;
}

.cache-terminal-badge h2 {
	margin: 2px 0 0;
	font-size: 1.15rem;
	color: #f1f4ec;
}

.cache-terminal-status {
	display: inline-block;
	padding: 4px 10px;
	border: 1px solid rgba(224, 159, 44, 0.4);
	border-radius: 3px;
	background: rgba(224, 159, 44, 0.15);
	font-family: var(--font-pda, monospace);
	font-size: 0.72rem;
	letter-spacing: 0.06em;
	color: #ffd875;
}

.cache-terminal-card.is-ready .cache-terminal-status {
	border-color: rgba(124, 214, 102, 0.5);
	background: rgba(124, 214, 102, 0.18);
	color: #a4f590;
}

.cache-terminal-display {
	margin: 16px 0 12px;
	padding: 16px 14px;
	border: 1px solid rgba(0, 0, 0, 0.75);
	border-radius: 4px;
	background: #060905;
	box-shadow: inset 0 2px 8px rgba(0, 0, 0, 0.85);
	text-align: center;
}

.cache-terminal-timer-label {
	display: block;
	margin-bottom: 6px;
	font-family: var(--font-pda, monospace);
	font-size: 0.68rem;
	letter-spacing: 0.1em;
	color: #798a72;
}

.cache-terminal-timer-digits {
	font-family: 'Courier New', Courier, monospace;
	font-size: 2.2rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	color: #ffd875;
	text-shadow: 0 0 14px rgba(255, 204, 80, 0.65), 0 0 28px rgba(255, 180, 40, 0.35);
}

.cache-terminal-card.is-ready .cache-terminal-timer-digits {
	color: #9df784;
	text-shadow: 0 0 14px rgba(124, 214, 102, 0.75), 0 0 28px rgba(80, 190, 60, 0.45);
}

.cache-progress-track {
	position: relative;
	height: 10px;
	margin-bottom: 18px;
	overflow: hidden;
	border: 1px solid rgba(224, 159, 44, 0.35);
	border-radius: 5px;
	background: #080d07;
	box-shadow: inset 0 2px 6px rgba(0, 0, 0, 0.8);
}

.cache-terminal-card.is-ready .cache-progress-track {
	border-color: rgba(124, 214, 102, 0.4);
}

.cache-progress-bar {
	position: relative;
	height: 100%;
	border-radius: 4px;
	background: linear-gradient(90deg, #d3841a, #ffd466);
	box-shadow: 0 0 12px rgba(255, 204, 80, 0.5);
	transition: width 0.4s ease-out;
}

.cache-terminal-card.is-ready .cache-progress-bar {
	background: linear-gradient(90deg, #3d8825, #8bf06a);
	box-shadow: 0 0 14px rgba(124, 214, 102, 0.6);
}

.cache-progress-beam {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 24px;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.75), transparent);
	animation: cacheBeamSweep 1.8s infinite linear;
}

@keyframes cacheBeamSweep {
	0% { opacity: 0.2; transform: translateX(-15px); }
	50% { opacity: 0.9; transform: translateX(5px); }
	100% { opacity: 0.2; transform: translateX(-15px); }
}

.cache-terminal-intel {
	margin-bottom: 16px;
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, 0.06);
	border-radius: 4px;
	background: rgba(12, 16, 11, 0.6);
}

.cache-terminal-finding {
	margin: 0 0 8px;
	font-size: 0.86rem;
	color: #bdcab7;
	line-height: 1.45;
}

.cache-terminal-haul {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 18px;
	font-size: 0.8rem;
	color: #8fa087;
}

.cache-terminal-haul b {
	color: #e4ecdc;
}

.cache-terminal-actions {
	margin-top: 14px;
	text-align: center;
}

.cache-terminal-actions button {
	width: 100%;
	padding: 12px 18px;
	font-size: 1rem;
	letter-spacing: 0.04em;
	box-shadow: 0 0 18px rgba(124, 214, 102, 0.35);
}

.cache-terminal-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 14px;
	padding-top: 12px;
	border-top: 1px solid rgba(255, 255, 255, 0.06);
	font-size: 0.78rem;
	color: #8c9c84;
}

.cache-pulse-indicator {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.cache-pulse-dot {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ffd875;
	box-shadow: 0 0 8px #ffd875;
	animation: cachePulseDot 1.4s infinite ease-in-out;
}

@keyframes cachePulseDot {
	0%, 100% { opacity: 0.35; transform: scale(0.85); }
	50% { opacity: 1; transform: scale(1.2); }
}

@media (max-width: 540px) {
	.cache-terminal-card { padding: 16px 14px; }
	.cache-terminal-timer-digits { font-size: 1.75rem; letter-spacing: 0.08em; }
	.cache-terminal-header { flex-direction: column; align-items: flex-start; gap: 10px; }
	.cache-terminal-footer { flex-direction: column; align-items: flex-start; gap: 8px; }
}

/* ========================================================================== 
   Stalker Dossier Medals & Awards
   ========================================================================== */

.profile-medals-section {
	margin-top: 18px;
}

.profile-medals-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 12px;
	margin-top: 12px;
}

.profile-medal-card {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 12px 14px;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 6px;
	background: linear-gradient(180deg, #161b20 0%, #0d1114 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
	transition: transform 0.2s ease, border-color 0.2s ease;
}

.profile-medal-card:hover {
	transform: translateY(-2px);
}

.profile-medal-card.tone-gold {
	border-color: rgba(224, 172, 44, 0.45);
	background: radial-gradient(circle at 0% 0%, rgba(224, 172, 44, 0.12), transparent 70%),
	            linear-gradient(180deg, #1a1710 0%, #100e0a 100%);
}

.profile-medal-card.tone-silver {
	border-color: rgba(140, 180, 210, 0.4);
	background: radial-gradient(circle at 0% 0%, rgba(140, 180, 210, 0.1), transparent 70%),
	            linear-gradient(180deg, #13171b 0%, #0d1013 100%);
}

.profile-medal-card.tone-bronze {
	border-color: rgba(190, 120, 70, 0.35);
	background: radial-gradient(circle at 0% 0%, rgba(190, 120, 70, 0.08), transparent 70%),
	            linear-gradient(180deg, #181310 0%, #0f0c0a 100%);
}

.profile-medal-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 4px;
	background: rgba(0, 0, 0, 0.4);
	font-size: 1.25rem;
	flex-shrink: 0;
}

.profile-medal-info {
	flex: 1;
	min-width: 0;
}

.profile-medal-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 6px;
	margin-bottom: 3px;
}

.profile-medal-top strong {
	font-size: 0.88rem;
	color: #ffffff;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.profile-medal-degree {
	padding: 1px 5px;
	border-radius: 2px;
	font-family: var(--font-pda, monospace);
	font-size: 0.65rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	background: rgba(255, 255, 255, 0.08);
	color: #a0b6c6;
	white-space: nowrap;
}

.tone-gold .profile-medal-degree {
	background: rgba(224, 172, 44, 0.2);
	color: #ffd875;
}

.tone-silver .profile-medal-degree {
	background: rgba(140, 180, 210, 0.2);
	color: #c0deff;
}

.tone-bronze .profile-medal-degree {
	background: rgba(190, 120, 70, 0.2);
	color: #f5b08c;
}

.profile-medal-info small {
	display: block;
	font-size: 0.74rem;
	color: #8c9dae;
	line-height: 1.35;
}

.profile-medals-empty {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 16px;
	border: 1px dashed rgba(255, 255, 255, 0.12);
	border-radius: 6px;
	background: rgba(0, 0, 0, 0.2);
	color: #8799a8;
	font-size: 0.85rem;
}

.profile-medals-empty span {
	font-size: 1.8rem;
	opacity: 0.6;
}

.profile-medals-empty p {
	margin: 0;
	line-height: 1.4;
}

/* ==========================================================================
   Combat Telemetry Badges
   ========================================================================== */

.combat-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 1px 6px;
	margin: 0 3px;
	border-radius: 3px;
	font-family: var(--font-pda, monospace);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
	vertical-align: middle;
}

.combat-badge-crit {
	border: 1px solid rgba(243, 156, 18, 0.6);
	background: rgba(243, 156, 18, 0.2);
	color: #f8c858;
	text-shadow: 0 0 6px rgba(243, 156, 18, 0.5);
}

.combat-badge-bleed {
	border: 1px solid rgba(231, 76, 60, 0.6);
	background: rgba(231, 76, 60, 0.2);
	color: #ff8e82;
	text-shadow: 0 0 6px rgba(231, 76, 60, 0.5);
}

.combat-badge-weakpoint {
	border: 1px solid rgba(52, 152, 219, 0.6);
	background: rgba(52, 152, 219, 0.2);
	color: #85c8ff;
	text-shadow: 0 0 6px rgba(52, 152, 219, 0.5);
}

.combat-badge-parry {
	border: 1px solid rgba(46, 204, 113, 0.6);
	background: rgba(46, 204, 113, 0.2);
	color: #82e8aa;
	text-shadow: 0 0 6px rgba(46, 204, 113, 0.5);
}

.combat-badge-evade {
	border: 1px solid rgba(149, 165, 166, 0.6);
	background: rgba(149, 165, 166, 0.2);
	color: #d1dcdd;
}

.combat-badge-icon {
	width: 12px;
	height: 12px;
	vertical-align: middle;
	margin-right: 2px;
	display: inline-block;
}

.profile-medal-icon-img {
	width: 26px;
	height: 26px;
	object-fit: contain;
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	.inventory-scene-scan b,
	.supply-scene-radar b,
	.supply-inspection-scan i,
	.cache-progress-beam,
	.cache-pulse-dot,
	.supply-product:hover .supply-product-image::after,
	.supply-product.is-purchase-confirmed,
	.supply-product.is-sale-confirmed { animation: none !important; }
	.supply-product,
	.cache-terminal-card,
	.cache-progress-bar,
	.field-inventory .doll-slot-gear-icon { transition: none !important; }
}

/* Shared account, access and charter surfaces — 1.69.0 */
.account-intro { color: var(--text-muted); text-align: center; }
.account-panel { box-sizing: border-box; width: min(100%, 400px); margin: 15px auto; }
.account-panel.is-centered { text-align: center; }
.account-panel-wide { width: min(100%, 480px); }
.account-panel-report { box-sizing: border-box; width: min(100%, 540px); margin: 15px auto; }
.account-panel-title { margin: 0 0 12px; color: var(--accent-green-bright); font-family: var(--font-pda); }
.account-submit { box-sizing: border-box; width: 100%; min-height: 42px; }
.account-avatar-label { margin-bottom: 12px; }
.account-avatar-preview { box-sizing: border-box; max-width: min(100%, 250px); max-height: 250px; border: 1px solid var(--card-border); border-radius: 8px; object-fit: contain; }
.account-bonus-note { margin: 12px 0; padding: 10px; border: 1px solid rgba(16, 185, 129, .3); border-radius: 6px; color: var(--text-main); background: rgba(16, 185, 129, .1); text-align: center; }

.access-denied-terminal { box-sizing: border-box; max-width: 480px; margin: 20px auto; border-color: rgba(239, 68, 68, .4); background: rgba(20, 10, 10, .85); text-align: center; }
.access-denied-terminal h3 { margin: 0 0 12px; color: #ef4444; font-family: var(--font-pda); }
.access-denied-terminal > p { margin: 0 0 15px; color: var(--text-main); font-size: .95rem; }
.access-denied-details { margin-bottom: 15px; padding: 12px; border: 1px solid rgba(239, 68, 68, .2); border-radius: 6px; background: rgba(0, 0, 0, .3); text-align: left; }
.access-denied-details > div { display: flex; justify-content: space-between; gap: 10px; }
.access-denied-details > div + div { margin-top: 8px; }
.access-denied-details span { color: var(--text-muted); }
.access-denied-details b { text-align: right; }
.access-denied-details .is-expiry { color: #fca5a5; }
.access-denied-details .is-author { color: #fde047; }

.zone-charter { display: grid; gap: 10px; font-family: var(--font-pda); }
.zone-charter-hero { margin: 0; border-color: #1c261b; color: #2ecc71; background: #090d09; text-align: center; }
.zone-charter-hero h3 { margin: 5px 0; color: #2ecc71; font-size: 1rem; letter-spacing: .06em; text-transform: uppercase; }
.zone-charter-hero p { margin: 6px 0 0; color: #888; font-size: .72rem; }
.zone-charter-nav { display: flex; gap: 1px; overflow-x: auto; border: 1px solid #1c261b; background: #111a11; scrollbar-width: thin; }
.zone-charter-nav a { flex: 1 0 auto; min-height: 38px; padding: 8px 10px; box-sizing: border-box; color: #93a68c; background: #080d08; font-size: .6rem; text-align: center; text-decoration: none; }
.zone-charter-nav a:hover,
.zone-charter-nav a:focus { color: #d4efc8; background: #132013; }
.zone-charter-section { margin: 0; border-color: #1c261b; color: #ddd; background: #0c120c; font-size: .72rem; line-height: 1.65; scroll-margin-top: 12px; }
.zone-charter-section h4 { margin: 0 0 9px; padding-bottom: 6px; border-bottom: 1px solid #283526; color: var(--accent-amber-bright); font-size: .76rem; }
.zone-charter-section > b { color: #e7d8b2; }

.pda-empty-state { color: var(--text-muted); text-align: center; }
.pda-blacklist-row { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.pda-inline-form,
.profile-inline-form { display: inline-block; margin: 0; }
.cache-claim-form { margin: 0; }
.news-published-at { float: right; margin-left: 10px; color: var(--text-muted); }
.communication-quarantine-badge { padding: 1px 5px; border: 1px solid #ff3344; border-radius: 3px; color: #ff3344; background: rgba(255, 51, 68, .2); font-size: .7rem; font-weight: 700; }

@media (max-width: 430px) {
	.account-panel,
	.account-panel-report { margin: 10px auto; }
	.access-denied-details > div { align-items: flex-start; flex-direction: column; gap: 2px; }
	.access-denied-details b { text-align: left; }
	.zone-charter-hero h3 { font-size: .86rem; }
	.zone-charter-nav a { min-height: 44px; }
	.pda-blacklist-row { align-items: stretch; flex-direction: column; }
	.pda-blacklist-row .btn { box-sizing: border-box; width: 100%; min-height: 44px; }
	.news-published-at { float: none; display: block; margin: 0 0 5px; }
}

/* Unified combat viewport and command deck — 1.73.0 */
.combat-live-caption {
	position: absolute;
	z-index: 7;
	right: 10px;
	bottom: 48px;
	left: 10px;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas: "channel main" "channel sub";
	gap: 1px 10px;
	align-items: center;
	padding: 6px 9px;
	border: 1px solid rgba(124, 167, 107, .25);
	border-left: 3px solid #789b69;
	border-radius: 5px;
	color: #d9e5d3;
	background: linear-gradient(90deg, rgba(3, 9, 5, .94), rgba(4, 10, 6, .79));
	font-family: var(--font-mono);
	box-shadow: 0 7px 18px rgba(0, 0, 0, .35);
	backdrop-filter: blur(6px);
}
.combat-live-caption > span { grid-area: channel; color: #82917d; font-size: .48rem; font-weight: 800; letter-spacing: .08em; writing-mode: vertical-rl; transform: rotate(180deg); }
.combat-live-caption > strong { grid-area: main; overflow: hidden; font-size: .65rem; text-overflow: ellipsis; white-space: nowrap; }
.combat-live-caption > small { grid-area: sub; overflow: hidden; color: #8e9b89; font-size: .55rem; text-overflow: ellipsis; white-space: nowrap; }
.combat-live-caption.is-success { border-left-color: #75c87e; }
.combat-live-caption.is-warning { border-left-color: #e0a84b; }
.combat-live-caption.is-danger { border-left-color: #e5655c; }
.combat-live-caption.is-critical { border-left-color: #ffd463; box-shadow: 0 0 20px rgba(238, 183, 59, .12), 0 7px 18px rgba(0, 0, 0, .4); }
.combat-live-caption.is-support { border-left-color: #63b9db; }
.combat-live-caption.is-caption-updated { animation: combat-caption-confirm 650ms ease-out; }

.combat-utility-drawer > summary { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.combat-utility-drawer > summary small { color: #748071; font: 600 .5rem/1.2 var(--font-mono); text-align: right; }
.combat-utility-body { display: grid; gap: 6px; padding: 0 7px 7px; }
.combat-utility-body .arena-reload-actions,
.combat-utility-body .arena-consumables,
.combat-utility-body .arena-retreat-form { margin: 0; }
.combat-utility-body .arena-consumables { padding: 0; }
.combat-utility-body .arena-retreat-form .btn { width: 100%; }
.arena-battle-app.is-combat-syncing .arena-ajax-status { color: #80c6df; }

@keyframes combat-caption-confirm {
	0% { opacity: .45; transform: translateY(4px); filter: brightness(1.45); }
	100% { opacity: 1; transform: none; filter: none; }
}

@media (max-width: 760px) {
	.arena-command-deck {
		position: sticky;
		z-index: 30;
		bottom: max(5px, env(safe-area-inset-bottom));
		max-height: calc(100vh - 80px);
		max-height: calc(100dvh - 80px);
		overflow-y: auto;
		border-color: rgba(148, 190, 119, .36);
		box-shadow: 0 -10px 28px rgba(0, 0, 0, .62), 0 0 0 1px rgba(0, 0, 0, .45);
		scrollbar-width: thin;
	}
	.arena-command-deck .combat-actions { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.arena-command-deck .combat-action {
		min-height: 90px;
		display: flex;
		flex-direction: column;
		justify-content: flex-start;
		gap: 2px;
		padding: 5px 3px;
		text-align: center;
	}
	.arena-command-deck .combat-action-visual { width: 31px; height: 31px; }
	.arena-command-deck .combat-action-visual img { max-width: 28px; max-height: 28px; }
	.arena-command-deck .combat-action-fallback { font-size: 1.1rem; }
	.arena-command-deck .combat-action-copy { justify-items: center; width: 100%; gap: 1px; }
	.arena-command-deck .combat-action-copy > strong { max-width: 100%; font-size: .65rem; }
	.arena-command-deck .combat-action-stats,
	.arena-command-deck .combat-action-cost,
	.arena-command-deck .combat-action-state,
	.arena-command-deck .combat-action-ammo { max-width: 100%; overflow: hidden; font-size: .49rem; line-height: 1.12; text-overflow: ellipsis; white-space: nowrap; }
	.combat-utility-drawer[open] .combat-utility-body { max-height: 42vh; overflow-y: auto; overscroll-behavior: contain; }
	.combat-live-caption { bottom: 43px; padding: 5px 7px; }
}

@media (max-width: 520px) {
	.arena-command-deck { padding: 6px; }
	.arena-command-deck > header { min-height: 16px; }
	.arena-command-deck > header > span { display: none; }
	.arena-command-deck .combat-action { min-height: 84px; }
	.arena-command-deck .combat-action-stats { display: none; }
	.combat-live-caption { right: 6px; bottom: 41px; left: 6px; grid-template-columns: 4px minmax(0, 1fr); gap: 1px 6px; padding: 4px 6px; }
	.combat-live-caption > span { overflow: hidden; width: 4px; color: transparent; }
	.combat-live-caption > strong { font-size: .56rem; }
	.combat-live-caption > small { display: none; }
	.combat-utility-drawer > summary small { display: none; }
}

@media (prefers-reduced-motion: reduce) {
	.combat-live-caption.is-caption-updated { animation: none !important; }
}
