/* ==========================================================================
   CJ Anomaly Log — screen styles. Everything is scoped to .cjal so the
   theme and Elementor are untouched, and theme styles are reset inside it.
   ========================================================================== */

.cjal {
	--cj-bg: #0f1116;
	--cj-surface: #171a21;
	--cj-surface-2: #1d212a;
	--cj-ink: #ece9e1;
	--cj-muted: #9ca2ae;
	--cj-rule: #2b303b;
	--cj-red: #ff5a3c;
	--cj-red-soft: #3a1a14;
	--cj-yellow: #f4dc3a;
	--cj-green: #95e24f;
	--st-unexplained: #82a6f2;
	--st-ongoing: #95e24f;
	--st-disputed: #f4c13a;
	--st-explained: #5fd0b0;
	--st-concluded: #a3acba;
	--tier-alt: #b9a2f5;
	--tier-social: #f0a14a;
	--f-display: "Special Elite", "Courier New", monospace;
	--f-body: "Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;
	--f-mono: "Archivo Narrow", "Arial Narrow", sans-serif;

	background: var(--cj-bg);
	color: var(--cj-ink);
	font-family: var(--f-body);
	font-size: 15px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	color-scheme: dark;
	text-align: left;
	/* Full-bleed band even inside a narrow theme column (themes often constrain content width). */
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: 40px 0 72px;
	position: relative;
}
body.cjal-page { overflow-x: clip; }
.cjal.cjal-log, .cjal.cjal-file { padding-top: calc(32px + var(--cjal-clear, 0px)); min-height: 70vh; }

.cjal *, .cjal *::before, .cjal *::after { box-sizing: border-box; }
.cjal h1, .cjal h2, .cjal h3, .cjal h4, .cjal p, .cjal ul, .cjal ol, .cjal dl, .cjal dd, .cjal figure { margin: 0; padding: 0; }
.cjal h1::before, .cjal h2::before, .cjal h3::before, .cjal h4::before { content: none !important; display: none !important; }
.cjal h1, .cjal h2, .cjal h3, .cjal h4 { color: var(--cj-ink); letter-spacing: normal; text-transform: none; line-height: 1.2; }
.cjal a { color: var(--cj-red); text-decoration: underline; text-underline-offset: 2px; text-decoration-thickness: 1px; }
.cjal a:hover { color: var(--cj-yellow); }
.cjal a:focus-visible, .cjal button:focus-visible, .cjal select:focus-visible, .cjal input:focus-visible {
	outline: 2px solid var(--cj-yellow);
	outline-offset: 2px;
}
.cjal button, .cjal input, .cjal select { font-family: var(--f-body); letter-spacing: normal; text-transform: none; box-shadow: none; line-height: 1.3; min-height: 0; }

.cjal-wrap { max-width: 1040px; margin: 0 auto; padding: 0 20px; }
.cjal-wrap--narrow { max-width: 820px; }

/* ---------- shared marks ---------- */

.cjal-stamp {
	display: inline-block;
	justify-self: start;
	font-family: var(--f-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--cj-red);
	border: 2px solid var(--cj-red);
	padding: 2px 9px;
	transform: rotate(-1.5deg);
}
.cjal-pill {
	display: inline-block;
	font-family: var(--f-mono);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 1px 7px;
	border-radius: 4px;
	border: 1px solid currentColor;
	white-space: nowrap;
	line-height: 1.5;
}
.cjal-pill[data-s="Unexplained"] { color: var(--st-unexplained); }
.cjal-pill[data-s="Ongoing"] { color: var(--st-ongoing); }
.cjal-pill[data-s="Disputed"] { color: var(--st-disputed); }
.cjal-pill[data-s="Explained"] { color: var(--st-explained); }
.cjal-pill[data-s="Concluded"] { color: var(--st-concluded); }
.cjal-pill--unv { color: var(--cj-red); background: var(--cj-red-soft); }
.cjal-pills { display: inline-flex; gap: 6px; flex-wrap: wrap; }

.cjal-tier {
	display: inline-block;
	font-family: var(--f-mono);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	padding: 0 5px;
	border-radius: 3px;
	border: 1px solid currentColor;
	line-height: 1.6;
	vertical-align: 1px;
	text-decoration: none;
}
.cjal-tier[data-k="official"] { color: #14130f; background: var(--cj-yellow); border-color: var(--cj-yellow); }
.cjal-tier[data-k="main"] { color: var(--cj-muted); }
.cjal-tier[data-k="alt"] { color: var(--tier-alt); }
.cjal-tier[data-k="social"] { color: var(--tier-social); }

.cjal-type { font-family: var(--f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--cj-ink); }
.cjal-empty { padding: 18px; border: 1px dashed var(--cj-rule); border-radius: 6px; color: var(--cj-muted); text-align: center; }

.cjal .cjal-btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--f-mono);
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	text-decoration: none;
	color: #14130f;
	background: var(--cj-yellow);
	border: 2px solid var(--cj-yellow);
	border-radius: 4px;
	padding: 9px 16px;
	cursor: pointer;
}
.cjal a.cjal-btn { color: #14130f; text-decoration: none; }
.cjal .cjal-btn:hover, .cjal a.cjal-btn:hover { background: transparent; color: var(--cj-yellow); }
.cjal .cjal-btn--ghost, .cjal a.cjal-btn--ghost { background: transparent; color: var(--cj-ink); border-color: var(--cj-rule); }
.cjal .cjal-btn--ghost:hover, .cjal a.cjal-btn--ghost:hover { color: var(--cj-yellow); border-color: var(--cj-yellow); }

/* ==========================================================================
   Log page  [cj_anomaly_log]
   ========================================================================== */

.cjal-top { display: grid; gap: 10px; padding-bottom: 24px; }
.cjal-h1 {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(30px, 4.4vw, 44px);
	line-height: 1.05;
	text-wrap: balance;
}
.cjal-lede { color: var(--cj-muted); max-width: 72ch; font-size: 15px; }
.cjal-legend { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 32px; margin-top: 28px; max-width: 980px; }
.cjal .cjal-key-h { font-family: var(--f-mono); font-size: 12px; font-weight: 600; text-transform: uppercase; letter-spacing: .12em; color: var(--cj-muted); padding-bottom: 8px; margin-bottom: 10px; border-bottom: 1px solid var(--cj-rule); }
.cjal-key dl { display: grid; gap: 10px; margin: 0; }
.cjal-key dl > div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; align-items: baseline; }
.cjal-key dt { font-weight: 600; font-size: 14px; color: var(--cj-ink); margin: 0; }
.cjal-key dd { margin: 0; font-size: 13.5px; line-height: 1.45; color: var(--cj-muted); }
.cjal-key .cjal-key-tiers { gap: 8px; }
.cjal-key .cjal-key-tiers > div { grid-template-columns: 72px 1fr; }
.cjal-tier--none { color: var(--cj-muted); border-style: dashed; opacity: .8; }

.cjal-controls {
	position: sticky;
	top: max(var(--cjal-sticky-top, 0px), var(--cjal-sticky-auto, 0px));
	z-index: 5;
	transition: top .2s ease;
	background: var(--cj-bg);
	padding: 16px 0 12px;
	border-bottom: 1px solid var(--cj-rule);
	display: grid;
	gap: 12px;
}
.admin-bar .cjal-controls { top: calc(var(--cjal-sticky-top, 0px) + 32px); }
.cjal .cjal-search {
	width: 100%;
	font-size: 16px;
	padding: 11px 14px;
	border: 1px solid var(--cj-rule);
	border-radius: 6px;
	background: var(--cj-surface);
	color: var(--cj-ink);
	height: auto;
}
.cjal .cjal-search::placeholder { color: var(--cj-muted); opacity: 1; }
.cjal-bar { display: flex; gap: 10px; align-items: stretch; flex-wrap: wrap; }
.cjal-bar .cjal-search { flex: 1 1 320px; width: auto; }
.cjal-seg { display: inline-flex; border: 1px solid var(--cj-rule); border-radius: 6px; overflow: hidden; background: var(--cj-surface); flex: 0 0 auto; }
.cjal .cjal-seg button {
	font-size: 13px; padding: 0 14px; border: 0; border-left: 1px solid var(--cj-rule);
	background: transparent; color: var(--cj-muted); cursor: pointer; display: inline-flex; gap: 6px; align-items: center; font-weight: 500; border-radius: 0;
}
.cjal .cjal-seg button:first-child { border-left: 0; }
.cjal .cjal-seg button:hover { color: var(--cj-ink); background: var(--cj-surface-2); }
.cjal .cjal-seg button[aria-pressed="true"] { background: var(--cj-ink); color: var(--cj-bg); }
.cjal-seg .n { font-family: var(--f-mono); font-size: 12px; opacity: .7; font-variant-numeric: tabular-nums; }
.cjal .cjal-filtertoggle { display: none; }
.cjal .cjal-clear {
	align-self: flex-end; background: none; border: 0; padding: 8px 2px; cursor: pointer;
	font-family: var(--f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; color: var(--cj-red); text-decoration: underline; text-underline-offset: 3px;
}
.cjal .cjal-clear:hover { color: var(--cj-yellow); }
.cjal .cjal-clear[hidden] { display: none; }
.cjal-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-end; }
.cjal-field label {
	display: flex;
	flex-direction: column;
	gap: 4px;
	font-size: 13px;
	color: var(--cj-muted);
	font-family: var(--f-mono);
	text-transform: uppercase;
	letter-spacing: .06em;
	margin: 0;
	font-weight: 400;
}
.cjal .cjal-field select {
	font-size: 14px;
	text-transform: none;
	letter-spacing: normal;
	padding: 7px 30px 7px 10px;
	border: 1px solid var(--cj-rule);
	border-radius: 6px;
	background: var(--cj-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%239ca2ae' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 10px center;
	color: var(--cj-ink);
	-webkit-appearance: none;
	appearance: none;
	height: auto;
	width: auto;
	max-width: 100%;
}
.cjal-statusbar { font-size: 13px; color: var(--cj-muted); }

.cjal-results { margin-top: 8px; }
.cjal-more { display: flex; justify-content: center; margin-top: 32px; }
.cjal-more[hidden] { display: none; }
.cjal-caseno { display: none; }

.cjal h3.cjal-group {
	font-family: var(--f-mono);
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--cj-muted);
	margin: 0 0 14px;
	display: flex;
	gap: 10px;
	align-items: center;
}
/* Spacing lives on the wrapper so theme heading margins can't collapse it. */
.cjal .cjal-results .cjal-groupwrap { display: block; padding-top: 48px; }
.cjal .cjal-results .cjal-groupwrap:first-child { padding-top: 36px; }
.cjal .cjal-results h3.cjal-group { margin: 0 0 14px !important; padding: 0 !important; }
.cjal-group-n { font-weight: 400; opacity: .8; }
.cjal h3.cjal-group::after { content: ""; flex: 1; border-top: 1px dashed var(--cj-rule); }

.cjal-list { display: grid; gap: 10px; }
.cjal-entry {
	background: var(--cj-surface);
	border: 1px solid var(--cj-rule);
	border-left: 4px solid var(--cj-rule);
	border-radius: 6px;
	padding: 14px 16px;
	display: grid;
	grid-template-columns: 92px 1fr;
	gap: 4px 16px;
}
.cjal-entry[data-status="Unexplained"] { border-left-color: var(--st-unexplained); }
.cjal-entry[data-status="Ongoing"] { border-left-color: var(--st-ongoing); }
.cjal-entry[data-status="Disputed"] { border-left-color: var(--st-disputed); }
.cjal-entry[data-status="Explained"] { border-left-color: var(--st-explained); }
.cjal-entry[data-status="Concluded"] { border-left-color: var(--st-concluded); }
.cjal-entry[data-v="unv"] { border-style: dashed; border-left-style: solid; }
.cjal-date { font-family: var(--f-mono); font-size: 14px; font-variant-numeric: tabular-nums; color: var(--cj-muted); grid-row: span 5; padding-top: 2px; }
.cjal-date .cjal-approx { display: block; }
.cjal-approx { font-size: 12px; opacity: .8; font-family: var(--f-mono); }
.cjal-ehead { display: flex; flex-wrap: wrap; gap: 6px 10px; align-items: baseline; justify-content: space-between; }
.cjal .cjal-etitle { font-family: var(--f-body); font-weight: 600; font-size: 17px; line-height: 1.3; text-wrap: balance; }
.cjal .cjal-etitle a { color: var(--cj-ink); text-decoration: none; }
.cjal .cjal-etitle a:hover { color: var(--cj-yellow); text-decoration: underline; }
.cjal-meta { font-size: 13px; color: var(--cj-muted); }
.cjal-place::before { content: " · "; }
.cjal-summary { max-width: 72ch; }
.cjal-sources { display: flex; flex-wrap: wrap; gap: 4px 14px; font-size: 13px; margin-top: 2px; align-items: baseline; }
.cjal-sources > span:first-child { color: var(--cj-muted); font-family: var(--f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .06em; }
.cjal-sources .cjal-src { display: inline; overflow-wrap: anywhere; }
.cjal-sources .cjal-src .cjal-tier { margin-left: 5px; }
.cjal-entry > *, .cjal-facts > div, .cjal-srclist li > div { min-width: 0; }
.cjal-open { font-family: var(--f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; margin-top: 4px; }
.cjal .cjal-open a { text-decoration: none; }
.cjal-foot { margin-top: 40px; font-size: 13px; color: var(--cj-muted); border-top: 1px solid var(--cj-rule); padding-top: 12px; max-width: 72ch; }

/* ==========================================================================
   Case file page
   ========================================================================== */

.cjal-crumbs { font-family: var(--f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 22px; }
.cjal .cjal-crumbs a { color: var(--cj-muted); text-decoration: none; }
.cjal .cjal-crumbs a:hover { color: var(--cj-yellow); }

.cjal-case {
	background: var(--cj-surface);
	border: 1px solid var(--cj-rule);
	border-top: 4px solid var(--cj-rule);
	border-radius: 6px;
	padding: 28px 32px 30px;
}
.cjal-file[data-status="Unexplained"] .cjal-case { border-top-color: var(--st-unexplained); }
.cjal-file[data-status="Ongoing"] .cjal-case { border-top-color: var(--st-ongoing); }
.cjal-file[data-status="Disputed"] .cjal-case { border-top-color: var(--st-disputed); }
.cjal-file[data-status="Explained"] .cjal-case { border-top-color: var(--st-explained); }
.cjal-file[data-status="Concluded"] .cjal-case { border-top-color: var(--st-concluded); }

.cjal-case-head { display: grid; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--cj-rule); }
.cjal-case-stamps { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.cjal .cjal-case-title {
	font-family: var(--f-display);
	font-weight: 400;
	font-size: clamp(28px, 4.6vw, 42px);
	line-height: 1.1;
	text-wrap: balance;
}
.cjal-facts {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 1px;
	background: var(--cj-rule);
	border: 1px solid var(--cj-rule);
	border-radius: 4px;
	overflow: hidden;
}
.cjal-facts > div { background: var(--cj-surface-2); padding: 9px 12px; }
.cjal-facts dt { font-family: var(--f-mono); font-size: 11.5px; text-transform: uppercase; letter-spacing: .1em; color: var(--cj-muted); margin-bottom: 3px; font-weight: 400; }
.cjal-facts dd { font-size: 14px; margin: 0; }

.cjal-story { padding: 24px 0 8px; font-size: 17px; line-height: 1.7; max-width: 68ch; }
.cjal-story p { margin: 0 0 1.05em; }
.cjal-story p:last-child { margin-bottom: 0; }
.cjal-story img { max-width: 100%; height: auto; }

.cjal .cjal-h2 {
	font-family: var(--f-mono);
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .12em;
	color: var(--cj-muted);
	margin-bottom: 12px;
	display: flex;
	gap: 10px;
	align-items: center;
}
.cjal .cjal-h2::after { content: ""; flex: 1; border-top: 1px dashed var(--cj-rule); }

.cjal-questions {
	margin-top: 26px;
	background: var(--cj-surface-2);
	border-left: 3px solid var(--st-disputed);
	border-radius: 4px;
	padding: 16px 20px;
}
.cjal-questions ul { list-style: none; display: grid; gap: 8px; }
.cjal-questions li { position: relative; padding-left: 20px; }
.cjal-questions li::before { content: "?"; position: absolute; left: 0; top: 0; font-family: var(--f-mono); font-weight: 600; color: var(--st-disputed); }

.cjal-srclist { margin-top: 28px; }
.cjal-srclist ol { list-style: none; display: grid; gap: 0; border-top: 1px solid var(--cj-rule); }
.cjal-srclist li { display: grid; grid-template-columns: 76px 1fr; gap: 12px; padding: 11px 0; border-bottom: 1px solid var(--cj-rule); align-items: baseline; }
.cjal-srclist li .cjal-tier { justify-self: start; }
.cjal-srclist li a { font-weight: 600; }
.cjal-src-note { color: var(--cj-muted); font-size: 14px; margin-top: 2px; }
.cjal-srclist li[data-k="official"] { background: linear-gradient(90deg, rgba(244, 220, 58, .06), transparent 60%); }

.cjal-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

.cjal-prevnext { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 22px; }
.cjal .cjal-pn {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border: 1px solid var(--cj-rule);
	border-radius: 6px;
	text-decoration: none;
	color: var(--cj-ink);
	background: var(--cj-surface);
}
.cjal .cjal-pn:hover { border-color: var(--cj-yellow); color: var(--cj-ink); }
.cjal-pn--next { text-align: right; grid-column: 2; }
.cjal-pn-label { font-family: var(--f-mono); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; color: var(--cj-muted); }
.cjal-pn-title { font-weight: 600; line-height: 1.3; }

.cjal-hc { display: none; }

/* ==========================================================================
   Homepage strip  [cj_anomaly_latest]
   ========================================================================== */

.cjal-latest { padding: 48px 0 56px; }
.cjal-latest-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px 24px; padding-bottom: 14px; border-bottom: 2px solid var(--cj-ink); margin-bottom: 20px; }
.cjal-kicker { display: block; font-family: var(--f-mono); font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .18em; color: var(--cj-red); margin-bottom: 6px; }
.cjal .cjal-latest-title { font-family: var(--f-display); font-weight: 400; font-size: clamp(28px, 4.4vw, 40px); line-height: 1.05; }
.cjal .cjal-viewall { font-family: var(--f-mono); font-size: 14px; font-weight: 600; text-transform: uppercase; letter-spacing: .1em; color: var(--cj-ink); text-decoration: none; border-bottom: 2px solid var(--cj-red); padding-bottom: 2px; }
.cjal .cjal-viewall:hover { color: var(--cj-yellow); border-color: var(--cj-yellow); }
.cjal-latest-grid { display: grid; grid-template-columns: repeat(var(--cjal-cols, 3), minmax(0, 1fr)); gap: 16px; }
.cjal-latest-foot { display: none; margin-top: 24px; text-align: center; }
.cjal-tile {
	display: flex;
	flex-direction: column;
	gap: 8px;
	background: var(--cj-surface);
	border: 1px solid var(--cj-rule);
	border-top: 4px solid var(--cj-rule);
	border-radius: 6px;
	padding: 16px 18px;
}
.cjal-tile[data-status="Unexplained"] { border-top-color: var(--st-unexplained); }
.cjal-tile[data-status="Ongoing"] { border-top-color: var(--st-ongoing); }
.cjal-tile[data-status="Disputed"] { border-top-color: var(--st-disputed); }
.cjal-tile[data-status="Explained"] { border-top-color: var(--st-explained); }
.cjal-tile[data-status="Concluded"] { border-top-color: var(--st-concluded); }
.cjal-tile-top { display: flex; justify-content: space-between; gap: 8px; align-items: baseline; flex-wrap: wrap; }
.cjal-tile-date { font-family: var(--f-mono); font-size: 13px; color: var(--cj-muted); }
.cjal .cjal-tile-title { font-family: var(--f-body); font-size: 18px; font-weight: 600; line-height: 1.3; text-wrap: balance; }
.cjal .cjal-tile-title a { color: var(--cj-ink); text-decoration: none; }
.cjal .cjal-tile-title a:hover { color: var(--cj-yellow); }
.cjal-tile-teaser { color: var(--cj-muted); font-size: 14.5px; }
.cjal-tile-foot { margin-top: auto; padding-top: 10px; border-top: 1px dashed var(--cj-rule); display: flex; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 12.5px; color: var(--cj-muted); }
.cjal .cjal-tile-foot a { font-family: var(--f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .06em; text-decoration: none; font-weight: 600; }

/* ---------- screen sizes ---------- */

/* Big desktop: give the log a little more room; case files stay at reading width. */
@media (min-width: 1440px) {
	.cjal-log .cjal-wrap, .cjal-latest .cjal-wrap { max-width: 1180px; }
	.cjal-story { font-size: 18px; }
}

/* Tablet */
@media (max-width: 1024px) {
	.cjal-wrap { padding: 0 24px; }
}
@media (max-width: 860px) {
	.cjal-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.cjal-facts > div:last-child:nth-child(3n+2) { grid-column: span 2; }
	.cjal-latest-grid { gap: 12px; }
	.cjal-tile { padding: 14px; }
}

/* Mobile */
@media (max-width: 759px) {
	.cjal-latest-grid { grid-template-columns: 1fr; }
	.cjal-latest-foot { display: block; }
}
@media (max-width: 640px) {
	.cjal { padding: 28px 0 56px; }
	.cjal.cjal-log, .cjal.cjal-file { padding-top: calc(24px + var(--cjal-clear, 0px)); }
	.cjal-wrap { padding: 0 16px; }
	.cjal-controls { position: static; }
	.cjal-legend { grid-template-columns: 1fr; gap: 20px; }
	.cjal-key dl > div { grid-template-columns: 88px 1fr; }
	.cjal-seg { width: 100%; }
	.cjal .cjal-seg button { flex: 1; justify-content: center; padding: 10px 6px; }
	.cjal .cjal-filtertoggle {
		display: flex; justify-content: space-between; align-items: center; width: 100%;
		font-family: var(--f-mono); font-size: 13px; text-transform: uppercase; letter-spacing: .08em;
		background: var(--cj-surface); color: var(--cj-ink); border: 1px solid var(--cj-rule); border-radius: 6px; padding: 10px 12px; cursor: pointer;
	}
	.cjal .cjal-filtertoggle::after { content: "+"; font-size: 16px; line-height: 1; }
	.cjal-filters-open .cjal-filtertoggle::after { content: "\2212"; }
	.cjal-row { display: none; grid-template-columns: 1fr 1fr; gap: 10px; }
	.cjal-filters-open .cjal-row { display: grid; }
	.cjal .cjal-clear { grid-column: 1 / -1; justify-self: start; }
	.cjal .cjal-results .cjal-groupwrap { padding-top: 40px; }
	.cjal .cjal-results .cjal-groupwrap:first-child { padding-top: 28px; }
	.cjal .cjal-field select { width: 100%; }
	.cjal-entry { grid-template-columns: 1fr; padding: 12px 14px; }
	.cjal-date { grid-row: auto; }
	.cjal-case { padding: 20px 16px 22px; }
	.cjal-facts { grid-template-columns: 1fr 1fr; }
	.cjal-facts > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
	.cjal-story { font-size: 16px; }
	.cjal-questions { padding: 14px 16px; }
	.cjal-srclist li { grid-template-columns: 1fr; gap: 4px; }
	.cjal-actions .cjal-btn { flex: 1 1 100%; justify-content: center; }
	.cjal-prevnext { grid-template-columns: 1fr; }
	.cjal-pn--next { grid-column: auto; text-align: left; }
	.cjal-latest-head { align-items: flex-start; }
}

/* ==========================================================================
   Site theme on the log and case files: the whole page goes dark and the
   header becomes transparent with light text. Written for the Authore (G5)
   theme's header variables; other themes just get the dark page.
   ========================================================================== */

/* Drop the theme's widget sidebar on every log/case-file page by default —
   no per-page layout setting to remember. Theme markup: #primary-content
   > .container > .row > (#main-content.col, #sidebar.primary-sidebar). */
body.cjal-page #sidebar.primary-sidebar,
body.cjal-page #primary-content .primary-sidebar {
	display: none !important;
}
body.cjal-page #main-content.col {
	flex: 0 0 100% !important;
	max-width: 100% !important;
	width: 100% !important;
}

body.cjal-page {
	--g5-header-bg-color: transparent;
	--g5-header-border-color: transparent;
	--g5-header-text-color: #ece9e1;
	--g5-header-text-hover-color: #f4dc3a;
	--g5-header-disable-color: #9ca2ae;
	--g5-header-sticky-bg-color: rgba(15, 17, 22, .96);
	--g5-header-sticky-border-color: #2b303b;
	--g5-header-sticky-text-color: #ece9e1;
	--g5-header-sticky-text-hover-color: #f4dc3a;
	--g5-header-sticky-disable-color: #9ca2ae;
	--g5-header-mobile-bg-color: transparent;
	--g5-header-mobile-border-color: transparent;
	--g5-header-mobile-text-color: #ece9e1;
	--g5-header-mobile-text-hover-color: #f4dc3a;
	--g5-header-mobile-sticky-bg-color: rgba(15, 17, 22, .96);
	--g5-header-mobile-sticky-border-color: #2b303b;
	--g5-header-mobile-sticky-text-color: #ece9e1;
	--g5-header-mobile-sticky-text-hover-color: #f4dc3a;
	--g5-navigation-bg-color: transparent;
	--g5-navigation-text-color: #ece9e1;
	--g5-navigation-text-hover-color: #f4dc3a;
	--g5-navigation-border-color: #2b303b;
	--g5-header-above-bg-color: transparent;
	--g5-mobile-top-bar-background-color: transparent;
	--g5-mobile-top-bar-text-color: #ece9e1;
	background-color: #0f1116 !important;
}
body.cjal-page #site-wrapper,
body.cjal-page .site-wrapper,
body.cjal-page #page,
body.cjal-page .site { background-color: #0f1116 !important; }
body.cjal-page #site-header,
body.cjal-page .g5core-site-header,
body.cjal-page .g5core-mobile-header { background-color: transparent; box-shadow: none !important; border-color: transparent; }
body.cjal-page .sticky-area-wrap:not(.sticky) .sticky-area { background-color: transparent; box-shadow: none; }
/* Once the header pins while scrolling, give it a dark backing so the menu stays readable. */
body.cjal-page .sticky-area-wrap.sticky .sticky-area { background-color: rgba(15, 17, 22, .96) !important; box-shadow: 0 1px 0 #2b303b !important; }
body.cjal-page #site-header #main-menu > li > a,
body.cjal-page #site-header .g5core-social-networks a,
body.cjal-page #site-mobile-header .g5core-social-networks a { color: #ece9e1; }
body.cjal-page #site-header #main-menu > li > a:hover,
body.cjal-page #site-header #main-menu > li.current-menu-item > a,
body.cjal-page #site-header .g5core-social-networks a:hover { color: #f4dc3a; }
/* The theme hard-codes the mobile header's colors, so these need !important. */
body.cjal-page #site-mobile-header,
body.cjal-page #site-mobile-header a,
body.cjal-page #site-mobile-header i { color: #ece9e1 !important; }
body.cjal-page #site-mobile-header .toggle-icon span,
body.cjal-page #site-mobile-header .toggle-icon span::before,
body.cjal-page #site-mobile-header .toggle-icon span::after { background-color: #ece9e1 !important; }
/* The theme's own page-title bar is replaced by the log's and case file's headers. */
body.cjal-page .g5core-page-title { display: none !important; }

@media (prefers-reduced-motion: reduce) { .cjal * { transition: none !important; } }
