/* ==========================================================================
   Rug checker — /rug-checker/ and /rug-checker/<mint>/.
   The guides' boxes, cards and breadcrumbs are reused (guides.css loads with
   this sheet). Four states, one colour each, used the same way everywhere:
   closed = bull green, open = bear red, watch = amber, unknown = grey.
   Nothing here flashes.
   ========================================================================== */

.epi-rc {
	--rc-closed: var(--ui-bull);
	--rc-open: var(--ui-bear);
	--rc-watch: #F5B83D;
	--rc-unknown: var(--ui-neut);

	max-width: 1180px;
	margin: 0 auto;
	padding: 44px var(--gutter) 110px;
}

.epi-rc--result { padding-top: 30px; }

/* ---- Hub hero ----------------------------------------------------------- */

.epi-rc__hero {
	max-width: 860px;
	margin-bottom: 56px;
}

.epi-rc__eyebrow {
	display: flex;
	align-items: center;
	gap: 10px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 2.2px;
	color: var(--fg-faint);
	text-transform: uppercase;
	margin-bottom: 16px;
}

.epi-rc__title {
	font-size: clamp(34px, 5vw, 58px);
	font-weight: 800;
	font-stretch: var(--stretch-head);
	letter-spacing: -1.8px;
	line-height: 1.02;
	margin: 0 0 18px;
}

.epi-rc__lede {
	font-size: 18px;
	line-height: 1.6;
	color: var(--fg-body);
	margin: 0 0 28px;
}

.epi-rc__error {
	margin: 12px 0 0;
	padding: 12px 14px;
	border: 1px solid rgba(255, 77, 94, 0.35);
	border-radius: var(--r-ctrl);
	background: rgba(255, 77, 94, 0.06);
	font-size: 14px;
	color: var(--fg-soft);
}

.epi-rc__example {
	margin: 16px 0 0;
	font-size: 14px;
	color: var(--fg-dim);
}

.epi-rc__example a,
.epi-rc-layer__note a,
.epi-rc__why a {
	color: var(--ui-accent-soft);
	text-decoration: underline;
	text-underline-offset: 3px;
	text-decoration-color: rgba(143, 186, 255, 0.4);
}

/* ---- The form ----------------------------------------------------------- */

.epi-rc-form {
	display: flex;
	gap: 10px;
	padding: 8px;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-panel);
	background: var(--bg-card);
	box-shadow: 0 0 0 1px rgba(47, 125, 255, 0.08), 0 24px 60px -30px rgba(47, 125, 255, 0.35);
}

.epi-rc-form:focus-within { border-color: var(--line-accent); }

.epi-rc-form__input {
	flex: 1;
	min-width: 0;
	padding: 14px 14px;
	border: 0;
	background: transparent;
	color: var(--fg);
	font-family: var(--font-mono);
	font-size: 14px;
	outline: none;
}

.epi-rc-form__input::placeholder { color: var(--fg-ghost); }

.epi-rc-form__go {
	flex: none;
	padding: 0 24px;
	border: 0;
	border-radius: var(--r-ctrl);
	background: linear-gradient(180deg, #2F7DFF, #1B5AD9);
	color: #fff;
	font-family: var(--font-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	cursor: pointer;
}

.epi-rc-form__go:hover { filter: brightness(1.1); }
.epi-rc-form__busy { display: none; }
.epi-rc-form.is-busy .epi-rc-form__label { display: none; }
.epi-rc-form.is-busy .epi-rc-form__busy { display: inline; }
.epi-rc-form.is-busy .epi-rc-form__go { cursor: progress; filter: saturate(0.6); }

.epi-rc-form__note {
	margin: 10px 0 0;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--fg-faint);
}

.epi-rc-form__note strong { color: var(--rc-closed); font-weight: 500; }

/* ---- States ------------------------------------------------------------- */

.epi-rc-state {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 9px 3px 8px;
	border-radius: 999px;
	border: 1px solid currentColor;
	font-family: var(--font-mono);
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	white-space: nowrap;
	line-height: 1.4;
}

.epi-rc-state::before {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 2px;
	background: currentColor;
}

.epi-rc-state--closed { color: var(--rc-closed); }
.epi-rc-state--open { color: var(--rc-open); }
.epi-rc-state--watch { color: var(--rc-watch); }
.epi-rc-state--unknown { color: var(--rc-unknown); }

/* ---- Hub sections ------------------------------------------------------- */

.epi-rc__h2 {
	font-size: 26px;
	font-weight: 800;
	letter-spacing: -0.6px;
	margin: 0 0 16px;
}

.epi-rc__how,
.epi-rc__why,
.epi-rc__recent,
.epi-rc__faq,
.epi-rc__learn { margin-bottom: 60px; }

.epi-rc__intro {
	max-width: 820px;
	font-size: 15px;
	line-height: 1.7;
	color: var(--fg-body);
	margin: 0 0 22px;
}

.epi-rc__layers {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.epi-rc__layer {
	padding: 20px;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--card-gradient);
}

.epi-rc__layer-name {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--ui-accent-soft);
	margin-bottom: 6px;
}

.epi-rc__layer-q { font-size: 19px; font-weight: 800; margin: 0 0 14px; }

.epi-rc__layer ul { margin: 0; padding: 0; list-style: none; }

.epi-rc__layer li {
	font-size: 14px;
	line-height: 1.55;
	color: var(--fg-body);
	padding: 9px 0;
	border-top: 1px solid var(--line-soft);
}

.epi-rc__layer li strong { color: var(--fg); }

.epi-rc__why-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr);
	gap: 32px;
	align-items: start;
}

.epi-rc__why-grid p { font-size: 15px; line-height: 1.75; color: var(--fg-body); margin: 0 0 14px; }
.epi-rc__why-grid strong { color: var(--fg); }

.epi-rc__promises {
	list-style: none;
	margin: 0;
	padding: 18px 20px;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--bg-card);
}

.epi-rc__promises li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 0;
	font-size: 14px;
	color: var(--fg-soft);
}

.epi-rc__tick {
	width: 8px;
	height: 8px;
	border-radius: 2px;
	background: var(--rc-closed);
	flex: none;
}

.epi-rc__recent-list { display: flex; flex-wrap: wrap; gap: 10px; }

.epi-rc__chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 10px 8px 14px;
	border: 1px solid var(--line);
	border-radius: 999px;
	background: var(--bg-card);
	color: var(--fg);
	text-decoration: none;
	font-size: 14px;
	font-weight: 700;
}

.epi-rc__chip:hover { border-color: var(--line-hover); }

.epi-rc__faq { max-width: 820px; }
.epi-rc__faq h3 { font-size: 18px; margin: 24px 0 8px; }
.epi-rc__faq p { margin: 0; font-size: 15px; line-height: 1.7; color: var(--fg-body); }

/* ---- Result: token head ------------------------------------------------- */

.epi-rc-token {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: 20px;
}

.epi-rc-token__img {
	width: 56px;
	height: 56px;
	border-radius: 14px;
	object-fit: cover;
	background: var(--bg-well);
	flex: none;
}

.epi-rc-token__id { min-width: 0; }

.epi-rc-token__name { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; }
.epi-rc-token__sym { font-size: 26px; font-weight: 800; letter-spacing: -0.5px; }
.epi-rc-token__full { font-size: 15px; color: var(--fg-dim); }

.epi-rc-token__ca {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0;
	min-width: 0;
}

.epi-rc-token__ca code {
	font-family: var(--font-mono);
	font-size: 12px;
	color: var(--fg-soft);
	user-select: all;
	overflow-wrap: anywhere;
}

.epi-rc-token__copy,
.epi-rc-share__btn {
	padding: 5px 10px;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-chip);
	background: var(--bg-raised);
	color: var(--fg-soft);
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	white-space: nowrap;
}

.epi-rc-token__copy:hover,
.epi-rc-share__btn:hover { border-color: var(--line-hover); color: #fff; }

.epi-rc-token__links {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--fg-faint);
}

.epi-rc-token__links a { color: var(--fg-dim); text-decoration: none; }
.epi-rc-token__links a:hover { color: var(--fg); }

/* ---- Result: verdict ---------------------------------------------------- */

.epi-rc-verdict {
	--tone: var(--rc-unknown);

	position: relative;
	padding: 26px 28px 24px;
	margin-bottom: 36px;
	border: 1px solid var(--line-strong);
	border-radius: var(--r-hero);
	background: var(--card-gradient);
	overflow: hidden;
}

.epi-rc-verdict::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: 4px;
	background: var(--tone);
}

.epi-rc-verdict--closed { --tone: var(--rc-closed); }
.epi-rc-verdict--open { --tone: var(--rc-open); }
.epi-rc-verdict--watch { --tone: var(--rc-watch); }

.epi-rc-verdict__eyebrow {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--fg-faint);
	margin-bottom: 10px;
}

.epi-rc-verdict__title {
	font-size: clamp(28px, 4vw, 44px);
	font-weight: 800;
	font-stretch: var(--stretch-head);
	letter-spacing: -1.2px;
	line-height: 1.05;
	color: var(--tone);
	margin: 0 0 12px;
}

.epi-rc-verdict--unknown .epi-rc-verdict__title { color: var(--fg); }

.epi-rc-verdict__sub {
	max-width: 820px;
	font-size: 16px;
	line-height: 1.6;
	color: var(--fg-soft);
	margin: 0 0 16px;
}

.epi-rc-verdict__sub code { font-size: 13px; overflow-wrap: anywhere; }

.epi-rc-verdict__counts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 10px;
	margin-bottom: 18px;
}

.epi-rc-verdict__time {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--fg-ghost);
}

.epi-rc-verdict__note {
	font-size: 14px;
	line-height: 1.6;
	color: var(--fg-dim);
	margin: -6px 0 16px;
}

.epi-rc-share { display: flex; flex-wrap: wrap; gap: 8px; }
.epi-rc-share__btn { padding: 8px 12px; }

/* ---- Result: layers and checks ------------------------------------------ */

.epi-rc-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 40px;
	align-items: start;
}

.epi-rc-side {
	position: sticky;
	top: calc(var(--chrome-h) + 20px);
	display: flex;
	flex-direction: column;
	gap: 18px;
}

.epi-rc-layer { margin-bottom: 40px; }

.epi-rc-layer__head {
	display: flex;
	align-items: baseline;
	gap: 14px;
	padding-bottom: 12px;
	margin-bottom: 6px;
	border-bottom: 1px solid var(--line);
}

.epi-rc-layer__name {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.8px;
	text-transform: uppercase;
	color: var(--ui-accent-soft);
	flex: none;
}

.epi-rc-layer__q { font-size: 20px; font-weight: 800; letter-spacing: -0.3px; margin: 0; }

.epi-rc-check {
	display: grid;
	grid-template-columns: 96px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: start;
	padding: 16px 0;
	border-bottom: 1px solid var(--line-soft);
}

.epi-rc-check .epi-rc-state { justify-self: start; margin-top: 2px; }

.epi-rc-check__title { font-size: 16px; font-weight: 700; margin: 0 0 4px; }
.epi-rc-check__finding { font-size: 15px; line-height: 1.55; color: var(--fg-soft); margin: 0 0 4px; }
.epi-rc-check__means { font-size: 14px; line-height: 1.55; color: var(--fg-dim); margin: 0; }

.epi-rc-check__proof {
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--fg-faint);
	text-decoration: none;
	white-space: nowrap;
	margin-top: 4px;
}

.epi-rc-check__proof:hover { color: var(--fg); }

.epi-rc-table { margin: 18px 0 0; overflow-x: auto; }

.epi-rc-table table { width: 100%; border-collapse: collapse; font-size: 14px; }

.epi-rc-table caption {
	text-align: left;
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	color: var(--fg-label);
	padding-bottom: 8px;
}

.epi-rc-table th,
.epi-rc-table td { padding: 9px 10px; border-bottom: 1px solid var(--line-soft); text-align: left; }
.epi-rc-table th { font-family: var(--font-mono); font-size: 10px; font-weight: 500; letter-spacing: 1.2px; text-transform: uppercase; color: var(--fg-faint); }
.epi-rc-table td { color: var(--fg-soft); }
.epi-rc-table td code { font-size: 12px; }
.epi-rc-table td a { color: var(--fg-soft); text-decoration: none; }
.epi-rc-table td a:hover { color: #fff; }
.epi-rc-table .is-ok { color: var(--rc-closed); font-weight: 700; }
.epi-rc-table .is-meh { color: var(--rc-watch); font-weight: 700; }
.epi-rc-table .is-bad { color: var(--rc-open); font-weight: 700; }
.epi-rc-table tr.is-pool td { color: var(--fg-ghost); }
.epi-rc-table tr.is-pool td a { color: var(--fg-ghost); }

.epi-rc-table__note,
.epi-rc-layer__note {
	font-size: 12px;
	line-height: 1.6;
	color: var(--fg-faint);
	margin: 10px 0 0;
}

.epi-rc-facts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 14px 0 0;
	border: 1px solid var(--line);
	border-radius: var(--r-card);
	background: var(--line);
	overflow: hidden;
}

.epi-rc-facts > div { padding: 14px 16px; background: var(--bg-card); }

.epi-rc-facts dt {
	font-family: var(--font-mono);
	font-size: 9px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	color: var(--fg-faint);
	margin-bottom: 6px;
}

.epi-rc-facts dd { margin: 0; font-size: 15px; font-weight: 700; color: var(--fg); }

.epi-rc-links { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.epi-rc-links a {
	padding: 6px 10px;
	border: 1px solid var(--line);
	border-radius: var(--r-chip);
	font-family: var(--font-mono);
	font-size: 10px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--fg-dim);
	text-decoration: none;
}

.epi-rc-links a:hover { color: var(--fg); border-color: var(--line-hover); }

.epi-rc-radar { margin-top: 20px; }

.epi-rc-radar a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-top: 1px solid var(--line-soft);
	font-size: 14px;
	color: var(--fg-soft);
	text-decoration: none;
}

.epi-rc-radar a:hover { color: #fff; }

.epi-rc-radar__s { width: 7px; height: 7px; border-radius: 2px; background: var(--ui-neut); flex: none; }
.epi-rc-radar__s--bullish { background: var(--ui-bull); }
.epi-rc-radar__s--bearish { background: var(--ui-bear); }

/* ---- Result: rail ------------------------------------------------------- */

.epi-rc-next ol {
	margin: 0;
	padding-left: 18px;
	font-size: 14px;
	line-height: 1.55;
	color: var(--fg-soft);
}

.epi-rc-next li { margin-bottom: 10px; }
.epi-rc-next li::marker { color: var(--ui-accent-soft); font-family: var(--font-mono); }

.epi-rc-mini {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin: 0;
}

.epi-rc-mini dt {
	font-family: var(--font-mono);
	font-size: 9px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	color: var(--fg-faint);
	margin-bottom: 3px;
}

.epi-rc-mini dd { margin: 0; font-size: 15px; font-weight: 700; overflow-wrap: anywhere; }

.epi-rc-again { margin: 20px 0 30px; max-width: 860px; }

.epi-rc-disclaimer {
	max-width: 860px;
	font-size: 12px;
	line-height: 1.6;
	color: var(--fg-faint);
	margin: 0 0 50px;
}

/* Responsive — at the end on purpose: a media query carries no extra weight. */

@media (max-width: 1080px) {
	.epi-rc__layers { grid-template-columns: minmax(0, 1fr); }
	.epi-rc__why-grid { grid-template-columns: minmax(0, 1fr); }
	.epi-rc-body { display: block; }
	.epi-rc-side { position: static; margin-bottom: 30px; }
}

@media (max-width: 720px) {
	.epi-rc { padding-top: 24px; }
	.epi-rc-form { flex-direction: column; padding: 6px; }
	.epi-rc-form__go { padding: 14px; }
	.epi-rc-verdict { padding: 22px 18px 20px 22px; }
	.epi-rc-check { grid-template-columns: minmax(0, 1fr); gap: 8px; }
	.epi-rc-check__proof { margin-top: 0; }
	.epi-rc-layer__head { display: block; }
	.epi-rc-layer__name { display: block; margin-bottom: 4px; }
	.epi-rc-facts { grid-template-columns: minmax(0, 1fr); }
}
