/**
 * File: wp-content/plugins/leaderment-codex-plugin/assets/css/leaderment-public.css
 * Created: 2026-03-25
 * Plugin: Leaderment Codex
 *
 * Public-facing styles — Experian editorial style.
 * Clean white, strong typography, data-led.
 *
 * Colour palette:
 *   --lc-ink:         #1a1a2e  (near-black for headings)
 *   --lc-body:        #3d3d3d  (body text)
 *   --lc-subtle:      #6b7280  (secondary text)
 *   --lc-border:      #e5e7eb  (dividers)
 *   --lc-bg:          #f9fafb  (page background)
 *   --lc-white:       #ffffff
 *   --lc-gold:        #b8860b  (brand accent)
 *   --lc-gold-light:  #fef3c7
 *   --lc-purple:      #6d28d9
 *   --lc-purple-light:#ede9fe
 *   --lc-green:       #15803d
 *   --lc-green-light: #dcfce7
 *   --lc-red:         #dc2626
 *   --lc-red-light:   #fee2e2
 */

/* ── Reset / base ──────────────────────────────────────────────────────────── */

.lc-board,
.lc-leader-page {
	--lc-ink:          #1a1a2e;
	--lc-body:         #3d3d3d;
	--lc-subtle:       #6b7280;
	--lc-border:       #e5e7eb;
	--lc-bg:           #f9fafb;
	--lc-white:        #ffffff;
	--lc-gold:         #b8860b;
	--lc-gold-light:   #fef3c7;
	--lc-darkamber:    #92400e;
	--lc-darkamber-light: #fde68a;
	--lc-purple:       #6d28d9;
	--lc-purple-light: #ede9fe;
	--lc-green:        #15803d;
	--lc-green-light:  #dcfce7;
	--lc-teal:         #0f766e;
	--lc-teal-light:   #ccfbf1;
	--lc-blue:         #1d4ed8;
	--lc-blue-light:   #dbeafe;
	--lc-amber:        #b45309;
	--lc-amber-light:  #fef3c7;
	--lc-orange:       #c2410c;
	--lc-orange-light: #ffedd5;
	--lc-red:          #dc2626;
	--lc-red-light:    #fee2e2;
	--lc-darkred:      #9a3412;
	--lc-darkred-light:#fee2e2;
	--lc-grey:         #6b7280;
	--lc-grey-light:   #f3f4f6;

	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
	color: var(--lc-body);
	background: var(--lc-bg);
	-webkit-font-smoothing: antialiased;
}

.lc-board *,
.lc-leader-page * {
	box-sizing: border-box;
}

/* ── Band colour system ────────────────────────────────────────────────────── */

.lc-band--legendary        { color: #ffffff;           background: #92400e; }
.lc-band--transformational { color: var(--lc-gold);    background: var(--lc-gold-light); }
.lc-band--visionary        { color: var(--lc-purple);  background: var(--lc-purple-light); }
.lc-band--exemplary        { color: var(--lc-green);   background: var(--lc-green-light); }
.lc-band--excellent        { color: var(--lc-teal);    background: var(--lc-teal-light); }
.lc-band--admirable        { color: var(--lc-blue);    background: var(--lc-blue-light); }
.lc-band--meritorious      { color: #ffffff;           background: #b45309; }
.lc-band--emergent         { color: var(--lc-orange);  background: var(--lc-orange-light); }
.lc-band--ineffective      { color: var(--lc-darkred); background: var(--lc-darkred-light); }
.lc-band--powerless        { color: var(--lc-grey);    background: var(--lc-grey-light); }
.lc-band--destructive      { color: var(--lc-red);     background: var(--lc-red-light); }

/* Band chips */
.lc-band-chip {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	white-space: nowrap;
}

/* ── Leaderboard ───────────────────────────────────────────────────────────── */

.lc-board {
	max-width: 1200px;
	margin: 0 auto;
	padding: 32px 24px 64px;
}

/* Header */
.lc-board__header {
	margin-bottom: 32px;
	padding-bottom: 24px;
	border-bottom: 2px solid var(--lc-ink);
}

.lc-board__title {
	font-size: 32px;
	font-weight: 700;
	color: var(--lc-ink);
	margin: 0 0 8px;
	letter-spacing: -0.02em;
}

.lc-board__subtitle {
	font-size: 16px;
	color: var(--lc-subtle);
	margin: 0;
}

/* Filter bar */
.lc-board__filters {
	background: var(--lc-white);
	border: 1px solid var(--lc-border);
	border-radius: 8px;
	padding: 20px 24px;
	margin-bottom: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
}

.lc-filter-group {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lc-filter-group--search {
	flex: 1;
	min-width: 240px;
}

.lc-filter-group--sort {
	min-width: 160px;
}

.lc-filter-label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lc-subtle);
}

/* Search */
.lc-search-wrap {
	position: relative;
}

.lc-search-input {
	width: 100%;
	height: 40px;
	padding: 0 16px 0 40px;
	border: 1px solid var(--lc-border);
	border-radius: 6px;
	font-size: 14px;
	color: var(--lc-body);
	background: var(--lc-white);
	transition: border-color 0.15s;
	outline: none;
}

.lc-search-input:focus {
	border-color: var(--lc-ink);
	box-shadow: 0 0 0 3px rgba(26,26,46,0.08);
}

.lc-search-icon {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	pointer-events: none;
}

/* Search dropdown */
.lc-search-dropdown {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	background: var(--lc-white);
	border: 1px solid var(--lc-border);
	border-radius: 6px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	z-index: 100;
	overflow: hidden;
}

.lc-search-dropdown__item {
	display: block;
	padding: 10px 16px;
	font-size: 14px;
	color: var(--lc-body);
	text-decoration: none;
	border-bottom: 1px solid var(--lc-border);
	transition: background 0.1s;
}

.lc-search-dropdown__item:last-child {
	border-bottom: none;
}

.lc-search-dropdown__item:hover {
	background: var(--lc-bg);
}

.lc-search-dropdown__suggest {
	display: block;
	padding: 10px 16px;
	font-size: 13px;
	color: var(--lc-subtle);
	border-top: 1px solid var(--lc-border);
}

.lc-search-dropdown__suggest a {
	color: var(--lc-ink);
	font-weight: 600;
	text-decoration: underline;
}

/* Checkboxes */
.lc-checkboxes {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lc-checkbox-label {
	display: flex;
	align-items: center;
	gap: 6px;
	cursor: pointer;
	font-size: 13px;
	color: var(--lc-body);
	padding: 4px 10px;
	border: 1px solid var(--lc-border);
	border-radius: 20px;
	transition: all 0.15s;
	user-select: none;
	white-space: nowrap;
}

.lc-checkbox-label:hover {
	border-color: var(--lc-ink);
}

.lc-checkbox-label input[type="checkbox"] {
	display: none;
}

.lc-checkbox-label:has(input:checked) {
	background: var(--lc-ink);
	color: var(--lc-white);
	border-color: var(--lc-ink);
}

/* Sort select */
.lc-sort-select {
	height: 40px;
	padding: 0 12px;
	border: 1px solid var(--lc-border);
	border-radius: 6px;
	font-size: 14px;
	color: var(--lc-body);
	background: var(--lc-white);
	cursor: pointer;
	outline: none;
}

.lc-sort-select:focus {
	border-color: var(--lc-ink);
}

/* Results summary */
.lc-board__summary {
	margin-bottom: 12px;
}

.lc-result-count {
	font-size: 13px;
	color: var(--lc-subtle);
}

/* Loading */
.lc-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 48px;
	color: var(--lc-subtle);
	font-size: 14px;
}

.lc-spinner {
	width: 20px;
	height: 20px;
	border: 2px solid var(--lc-border);
	border-top-color: var(--lc-ink);
	border-radius: 50%;
	animation: lc-spin 0.6s linear infinite;
}

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

/* No results */
.lc-no-results {
	padding: 48px;
	text-align: center;
	color: var(--lc-subtle);
	font-size: 15px;
}

/* Table */
.lc-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--lc-white);
	border: 1px solid var(--lc-border);
	border-radius: 8px;
	overflow: hidden;
	font-size: 14px;
}

.lc-table__head th {
	padding: 12px 16px;
	text-align: left;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--lc-subtle);
	border-bottom: 1px solid var(--lc-border);
	background: var(--lc-bg);
	white-space: nowrap;
}

.lc-table__head th.lc-col-score,
.lc-table__head th.lc-col-chaos,
.lc-table__head th.lc-col-leadership,
.lc-table__head th.lc-col-power,
.lc-table__head th.lc-col-band {
	text-align: center;
}

/* Table rows */
.lc-table tbody tr {
	border-bottom: 1px solid var(--lc-border);
	transition: background 0.1s;
	cursor: pointer;
}

.lc-table tbody tr:last-child {
	border-bottom: none;
}

.lc-table tbody tr:hover {
	background: #f8faff;
}

.lc-table tbody td {
	padding: 14px 16px;
	vertical-align: middle;
}

/* Leader cell */
.lc-col-leader {
	min-width: 200px;
}

.lc-leader-cell {
	display: flex;
	align-items: center;
	gap: 12px;
	text-decoration: none;
	color: inherit;
}

.lc-leader-cell__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--lc-bg);
	flex-shrink: 0;
	border: 1px solid var(--lc-border);
}

.lc-leader-cell__avatar-placeholder {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: var(--lc-border);
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 14px;
	font-weight: 700;
	color: var(--lc-subtle);
	flex-shrink: 0;
}

.lc-leader-cell__name {
	font-weight: 600;
	color: var(--lc-ink);
	font-size: 14px;
	line-height: 1.3;
}

.lc-leader-cell__meta {
	font-size: 12px;
	color: var(--lc-subtle);
	margin-top: 2px;
}

/* Domain cell */
.lc-col-domain {
	min-width: 120px;
}

.lc-domain-cell {
	font-size: 12px;
	color: var(--lc-subtle);
}

/* Trend / sparkline */
.lc-col-trend {
	width: 80px;
}

.lc-sparkline-wrap {
	width: 72px;
	height: 32px;
}

/* Score cell */
.lc-col-score {
	text-align: center;
	min-width: 120px;
}

.lc-score-cell {
	text-align: center;
}

.lc-score-cell__number {
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
}

.lc-score-cell__number--positive { color: var(--lc-green); }
.lc-score-cell__number--negative { color: var(--lc-red); }
.lc-score-cell__number--zero     { color: var(--lc-subtle); }

.lc-score-cell__snapshot {
	font-size: 11px;
	color: var(--lc-subtle);
	margin-top: 2px;
}

/* Band cell */
.lc-col-band {
	text-align: center;
	min-width: 120px;
}

/* Equation stat cells */
.lc-col-chaos,
.lc-col-leadership,
.lc-col-power {
	text-align: center;
	min-width: 80px;
}

.lc-stat-cell {
	text-align: center;
	font-size: 13px;
	font-weight: 600;
}

.lc-stat-cell--positive { color: var(--lc-green); }
.lc-stat-cell--negative { color: var(--lc-red); }

/* Pagination */
.lc-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--lc-border);
}

.lc-page-info {
	font-size: 13px;
	color: var(--lc-subtle);
}

.lc-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	height: 36px;
	padding: 0 16px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.15s;
	border: none;
	text-decoration: none;
}

.lc-btn--ghost {
	background: transparent;
	border: 1px solid var(--lc-border);
	color: var(--lc-body);
}

.lc-btn--ghost:hover:not(:disabled) {
	border-color: var(--lc-ink);
	color: var(--lc-ink);
}

.lc-btn:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

/* About / band legend */
.lc-board__about {
	margin-top: 48px;
	padding-top: 32px;
	border-top: 1px solid var(--lc-border);
}

.lc-board__about h2 {
	font-size: 18px;
	font-weight: 700;
	color: var(--lc-ink);
	margin: 0 0 12px;
}

.lc-board__about p {
	font-size: 14px;
	color: var(--lc-subtle);
	line-height: 1.7;
	max-width: 680px;
	margin: 0 0 20px;
}

.lc-band-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

.lc-band-legend__item {
	display: flex;
	align-items: center;
	gap: 8px;
}

.lc-band-legend__range {
	font-size: 12px;
	color: var(--lc-subtle);
}

/* ── Leader detail page ────────────────────────────────────────────────────── */

.lc-leader-page {
	max-width: 1100px;
	margin: 0 auto;
	padding: 32px 24px 64px;
}

/* Breadcrumb */
.lc-breadcrumb {
	font-size: 13px;
	color: var(--lc-subtle);
	margin-bottom: 24px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.lc-breadcrumb a {
	color: var(--lc-subtle);
	text-decoration: none;
}

.lc-breadcrumb a:hover {
	color: var(--lc-ink);
	text-decoration: underline;
}

.lc-breadcrumb__sep {
	color: var(--lc-border);
}

/* Leader header */
.lc-leader-header {
	display: flex;
	gap: 40px;
	align-items: flex-start;
	margin-bottom: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--lc-border);
}

.lc-leader-header__left {
	flex: 1;
	display: flex;
	gap: 24px;
	align-items: flex-start;
}

.lc-leader-avatar {
	flex-shrink: 0;
}

.lc-leader-avatar__img {
	width: 120px;
	height: 120px;
	border-radius: 8px;
	object-fit: cover;
	border: 1px solid var(--lc-border);
}

.lc-leader-name {
	font-size: 28px;
	font-weight: 700;
	color: var(--lc-ink);
	margin: 0 0 12px;
	letter-spacing: -0.02em;
}

.lc-leader-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.lc-chip {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 4px;
	font-size: 12px;
	font-weight: 500;
	background: var(--lc-bg);
	border: 1px solid var(--lc-border);
	color: var(--lc-subtle);
}

.lc-chip--domain { background: #eff6ff; border-color: #bfdbfe; color: #1d4ed8; }
.lc-chip--era    { background: #f5f3ff; border-color: #ddd6fe; color: #7c3aed; }

.lc-leader-bio {
	font-size: 15px;
	line-height: 1.7;
	color: var(--lc-body);
	max-width: 600px;
}

.lc-leader-bio p {
	margin: 0 0 12px;
}

/* Score hero */
.lc-leader-header__right {
	flex-shrink: 0;
}

.lc-score-hero {
	background: var(--lc-white);
	border: 1px solid var(--lc-border);
	border-radius: 12px;
	padding: 28px 36px;
	text-align: center;
	min-width: 200px;
}

.lc-score-hero__label {
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lc-subtle);
	margin-bottom: 8px;
}

.lc-score-hero__number {
	font-size: 56px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.03em;
	margin-bottom: 12px;
	/* colour set by band class */
	color: var(--lc-ink);
}

.lc-score-hero__number.lc-band--legendary        { color: var(--lc-darkamber); }
.lc-score-hero__number.lc-band--transformational { color: var(--lc-gold); }
.lc-score-hero__number.lc-band--visionary        { color: var(--lc-purple); }
.lc-score-hero__number.lc-band--exemplary        { color: var(--lc-green); }
.lc-score-hero__number.lc-band--excellent        { color: var(--lc-teal); }
.lc-score-hero__number.lc-band--admirable        { color: var(--lc-blue); }
.lc-score-hero__number.lc-band--meritorious      { color: var(--lc-amber); }
.lc-score-hero__number.lc-band--emergent         { color: var(--lc-orange); }
.lc-score-hero__number.lc-band--ineffective      { color: var(--lc-darkred); }
.lc-score-hero__number.lc-band--powerless        { color: var(--lc-grey); }
.lc-score-hero__number.lc-band--destructive      { color: var(--lc-red); }

.lc-score-hero__band {
	margin: 0 auto 12px;
	display: inline-block;
}

.lc-score-hero__snapshot {
	font-size: 12px;
	color: var(--lc-subtle);
}

/* Snapshot nav tabs */
.lc-snapshot-nav {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 32px;
	padding: 16px 0;
	border-bottom: 1px solid var(--lc-border);
	overflow-x: auto;
}

.lc-snapshot-nav__label {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--lc-subtle);
	white-space: nowrap;
	flex-shrink: 0;
}

.lc-snapshot-nav__tabs {
	display: flex;
	gap: 8px;
	flex-wrap: nowrap;
}

.lc-snapshot-tab {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 10px 16px;
	border: 1px solid var(--lc-border);
	border-radius: 8px;
	text-decoration: none;
	color: var(--lc-body);
	background: var(--lc-white);
	transition: all 0.15s;
	white-space: nowrap;
	min-width: 120px;
}

.lc-snapshot-tab:hover {
	border-color: var(--lc-ink);
	background: var(--lc-bg);
}

.lc-snapshot-tab--active {
	border-color: var(--lc-ink);
	background: var(--lc-ink);
}

.lc-snapshot-tab--active .lc-snapshot-tab__label,
.lc-snapshot-tab--active .lc-snapshot-tab__date {
	color: rgba(255,255,255,0.8);
}

.lc-snapshot-tab__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--lc-ink);
}

.lc-snapshot-tab__date {
	font-size: 11px;
	color: var(--lc-subtle);
	margin-top: 2px;
}

.lc-snapshot-tab__score {
	font-size: 16px;
	font-weight: 700;
	margin-top: 4px;
	padding: 2px 8px;
	border-radius: 4px;
}

/* Sections */
.lc-section {
	margin-bottom: 48px;
}

.lc-section__title {
	font-size: 20px;
	font-weight: 700;
	color: var(--lc-ink);
	margin: 0 0 8px;
	letter-spacing: -0.01em;
}

.lc-section__desc {
	font-size: 14px;
	color: var(--lc-subtle);
	margin: 0 0 20px;
}

/* Timeline chart */
.lc-chart-wrap {
	background: var(--lc-white);
	border: 1px solid var(--lc-border);
	border-radius: 8px;
	padding: 24px;
}

/* Equations grid */
.lc-equations-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.lc-eq-card {
	background: var(--lc-white);
	border: 1px solid var(--lc-border);
	border-radius: 8px;
	padding: 16px;
}

.lc-eq__name {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--lc-subtle);
	margin-bottom: 8px;
}

.lc-eq__pct {
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	margin-bottom: 8px;
}

.lc-eq__pct--positive { color: var(--lc-green); }
.lc-eq__pct--negative { color: var(--lc-red); }

.lc-eq__bar-wrap {
	height: 4px;
	background: var(--lc-border);
	border-radius: 2px;
	overflow: hidden;
}

.lc-eq__bar {
	height: 100%;
	border-radius: 2px;
	transition: width 0.4s ease;
}

.lc-eq__bar.lc-eq__pct--positive { background: var(--lc-green); }
.lc-eq__bar.lc-eq__pct--negative { background: var(--lc-red); }

/* Variables grid */
.lc-variables-grid {
	background: var(--lc-white);
	border: 1px solid var(--lc-border);
	border-radius: 8px;
	overflow: hidden;
}

.lc-var-row {
	display: grid;
	grid-template-columns: 260px 1fr 60px;
	align-items: center;
	gap: 16px;
	padding: 12px 20px;
	border-bottom: 1px solid var(--lc-border);
}

.lc-var-row:last-child {
	border-bottom: none;
}

.lc-var-row--negative {
	background: #fff5f5;
}

.lc-var__info {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.lc-var__label {
	font-size: 13px;
	font-weight: 600;
	color: var(--lc-ink);
}

.lc-var__desc {
	font-size: 11px;
	color: var(--lc-subtle);
	line-height: 1.4;
}

.lc-var__bar-wrap {
	height: 6px;
	background: var(--lc-border);
	border-radius: 3px;
	overflow: hidden;
}

.lc-var__bar {
	height: 100%;
	background: var(--lc-ink);
	border-radius: 3px;
	transition: width 0.3s ease;
}

.lc-var-row--negative .lc-var__bar {
	background: var(--lc-red);
}

.lc-var__value {
	text-align: right;
	font-size: 14px;
	font-weight: 700;
	color: var(--lc-ink);
	font-variant-numeric: tabular-nums;
}

.lc-var__value--negative {
	color: var(--lc-red);
}

/* Comparison grid */
.lc-comparison-grid {
	background: var(--lc-white);
	border: 1px solid var(--lc-border);
	border-radius: 8px;
	overflow: hidden;
}

.lc-change-row {
	display: grid;
	grid-template-columns: 200px 60px 24px 60px 60px;
	align-items: center;
	gap: 12px;
	padding: 10px 20px;
	border-bottom: 1px solid var(--lc-border);
	font-size: 14px;
}

.lc-change-row:last-child {
	border-bottom: none;
}

.lc-change-row--up   { background: #f0fdf4; }
.lc-change-row--down { background: #fff5f5; }

.lc-change__label {
	font-weight: 600;
	color: var(--lc-ink);
}

.lc-change__prev { color: var(--lc-subtle); text-align: right; }
.lc-change__curr { font-weight: 700; color: var(--lc-ink); }

.lc-change-row--up   .lc-change__arrow { color: var(--lc-green); font-weight: 700; }
.lc-change-row--down .lc-change__arrow { color: var(--lc-red);   font-weight: 700; }

.lc-change-row--up   .lc-change__diff { color: var(--lc-green); font-size: 12px; font-weight: 600; }
.lc-change-row--down .lc-change__diff { color: var(--lc-red);   font-size: 12px; font-weight: 600; }

.lc-comparison__none {
	padding: 20px;
	text-align: center;
	color: var(--lc-subtle);
	font-size: 14px;
}

/* ── Responsive ────────────────────────────────────────────────────────────── */

@media ( max-width: 768px ) {

	.lc-board,
	.lc-leader-page {
		padding: 20px 16px 40px;
	}

	.lc-board__title { font-size: 24px; }

	.lc-board__filters {
		flex-direction: column;
		gap: 16px;
	}

	/* Hide non-essential table columns on mobile */
	.lc-table .lc-col-trend,
	.lc-table .lc-col-domain,
	.lc-table .lc-col-chaos,
	.lc-table .lc-col-leadership,
	.lc-table .lc-col-power {
		display: none;
	}

	.lc-leader-header {
		flex-direction: column;
		gap: 24px;
	}

	.lc-leader-header__left {
		flex-direction: column;
	}

	.lc-score-hero__number { font-size: 40px; }

	.lc-equations-grid {
		grid-template-columns: 1fr 1fr;
	}

	.lc-var-row {
		grid-template-columns: 1fr 80px 50px;
	}

	.lc-var__desc { display: none; }

	.lc-change-row {
		grid-template-columns: 1fr 40px 20px 40px 48px;
		font-size: 13px;
	}
}

@media ( max-width: 480px ) {
	.lc-equations-grid {
		grid-template-columns: 1fr;
	}
}


/* ── Citation shortcode tooltip ─────────────────────────────────────────────── */

.lc-cite {
	position:        relative;
	display:         inline;
	cursor:          pointer;
}

.lc-cite sup {
	color:           var( --lc-accent, #c9a84c );
	font-size:       0.7em;
	line-height:     0;
	vertical-align:  super;
}

.lc-cite__tooltip {
	display:         none;
	position:        absolute;
	bottom:          calc( 100% + 8px );
	left:            50%;
	transform:       translateX( -50% );
	z-index:         9999;
	min-width:       220px;
	max-width:       320px;
	padding:         8px 12px;
	background:      #1a1a2e;
	color:           #f0f0f0;
	font-size:       12px;
	line-height:     1.5;
	border-radius:   5px;
	box-shadow:      0 4px 16px rgba( 0, 0, 0, .35 );
	white-space:     normal;
	word-break:      break-word;
	pointer-events:  auto;
}

.lc-cite__tooltip a {
	color:           #c9a84c;
	text-decoration: none;
}

.lc-cite__tooltip a:hover {
	text-decoration: underline;
}

.lc-cite__tooltip::after {
	content:          '';
	position:         absolute;
	top:              100%;
	left:             50%;
	transform:        translateX( -50% );
	border:           6px solid transparent;
	border-top-color: #1a1a2e;
}

.lc-cite:hover .lc-cite__tooltip,
.lc-cite:focus-within .lc-cite__tooltip {
	display:          block;
}

@media ( max-width: 600px ) {
	.lc-cite__tooltip {
		left:      0;
		right:     0;
		transform: none;
		min-width: unset;
		max-width: unset;
	}
	.lc-cite__tooltip::after {
		left:      16px;
		transform: none;
	}
}
