/**
 * Homepage Bold Bento — Refined Neobrutalism Re-theme (Phase 1 PoC)
 * Hard 2px borders, offset hard shadows with press micro-interaction,
 * flat saturated accents, small/zero radii. Consumes the --nb-* token
 * namespace from lmin-variables.css (brutalist literal fallbacks — see
 * plan §6 fallback-leakage rules; never leak old soft values).
 *
 * Type/space mapping per research/homepage-fonts-colors-fluid-scale.md §5:
 * - Hero H1 --step-4 (spec says --step-5, but the mandated hero copy is ~19ch/line
 *   and overflows the hero column at step-5's 61px max — deliberate deviation)
 * - Section H2 --step-3 | Card H3 --step-1 | Body --step-0 | Small --step--1 | Micro --step--2
 * - Section padding --space-xl-2xl (50/64/80 @390/768/1440) | Bento gap --space-m-l | Gutter --space-s-l
 */

.home-b {
	background: transparent;
	color: var(--lmin-slate-700, #334155);
	font-family: var(--lmin-font-sans, system-ui, sans-serif);
	font-size: var(--step-0, 1rem);
	line-height: 1.6;
	text-rendering: optimizeLegibility;
}

/* Box-sizing reset — the theme ships no global reset and the UA default is
   content-box, so `.long-url { width:100% }` + padding overflowed the hero
   card by +12.8px (Sherlock audit 2026-09-11). Scoped to this template.
   Note: .hb-footer / .hb-container are de-scoped siblings (content-box). */
.home-b *,
.home-b *::before,
.home-b *::after {
	box-sizing: border-box;
}

/* .hb-container moved to lmin-footer-rich.css (shared footer stylesheet). */

.home-b .hb-section-title {
	font-size: var(--step-3, 1.728rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	line-height: 1.1;
	text-wrap: balance;
	color: var(--lmin-slate-900, #0F172A);
	margin: 0 0 var(--space-l, 2rem);
}

/* Mono voice for shortcodes, URLs, stat numbers (spec §5.1) */
.home-b .hb-mono,
.home-b .shortlink-result-box,
.home-b .hb-stat dd {
	font-family: var(--lmin-font-mono, ui-monospace, monospace);
	font-feature-settings: "tnum" 1, "zero" 1;
}

/* ── Hero ── */
.home-b .hb-hero {
	background: transparent;
	padding: var(--space-xl-2xl, 3rem) 0;
}

.home-b .hb-hero-grid {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: var(--space-l-xl, 2rem);
	align-items: center;
}

/* Grid blowout guard: long unbreakable URLs shrink, not widen, the track. */
.home-b .hb-hero-grid > * {
	min-width: 0;
}

.home-b .hb-eyebrow {
	font-size: var(--step--2, 0.8333rem);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--lmin-blue-600, #2563EB);
	margin: 0 0 var(--space-xs, 0.75rem);
}

.home-b .hb-hero-title {
	font-size: var(--step-4, 2.0736rem);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.02em;
	text-wrap: balance;
	color: var(--lmin-slate-900, #0F172A);
	margin: 0 0 var(--space-s, 1rem);
}

/* Flat saturated accent — gradient clip removed (neobrutalist re-theme) */
.home-b .hb-gradient-text {
	color: var(--nb-accent, #2563EB);
}

.home-b .hb-hero-sub {
	font-size: var(--step-1, 1.2rem);
	font-weight: 400;
	line-height: 1.5;
	max-width: 30ch;
	margin: 0 0 var(--space-m, 1.5rem);
}

.home-b .hb-hero-points {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs, 0.5rem);
}

.home-b .hb-hero-points li {
	position: relative;
	padding-left: var(--space-m, 1.5rem);
	font-size: var(--step-0, 1rem);
	font-weight: 500;
	color: var(--lmin-slate-700, #334155);
}

/* G3 prototype gate FAILED (r2 §5.12): border+shadow on the masked 16px
   pseudo-element was rendered at 1×/8× zoom — the check glyph vanished and
   the border was masked away (solid green square). Pre-approved fallback
   applied: borderless green dot, squared radius only. The hard-bordered
   hero card carries the aesthetic. */
.home-b .hb-hero-points li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 16px;
	height: 16px;
	border-radius: var(--nb-radius-sm, 4px);
	background: var(--lmin-success, #22C55E);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Hero form card */
.home-b .hb-hero-card {
	background: var(--color-surface, #fff);
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius, 0);
	box-shadow: var(--nb-shadow, 4px 4px 0 #0F172A);
	padding: var(--space-s-m, 1rem);
}

.home-b .hb-card-title {
	font-size: var(--step-1, 1.2rem);
	font-weight: 700;
	letter-spacing: -0.01em;
	color: var(--lmin-slate-900, #0F172A);
	margin: 0 0 var(--space-xs-s, 0.75rem);
}

.home-b .generate-short-link {
	display: flex;
	flex-direction: column;
	gap: var(--space-2xs, 0.5rem);
}

.home-b .long-url {
	width: 100%;
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius-sm, 4px);
	padding: var(--space-xs, 0.75rem) var(--space-s, 1rem);
	font-family: inherit;
	font-size: var(--step-0, 1rem);
	color: var(--lmin-slate-900, #0F172A);
	background: var(--color-surface, #FFFFFF);
	box-shadow: var(--nb-shadow-sm, 2px 2px 0 #0F172A);
}

.home-b .long-url:focus-visible {
	outline: var(--nb-focus-outline, 2px solid #2563EB);
	outline-offset: var(--nb-focus-offset, 2px);
}

.home-b .shorten-url {
	width: 100%;
	border: var(--nb-border, 2px solid #0F172A);
	background: var(--nb-accent, #2563EB);
	color: var(--nb-accent-fg, #FFFFFF);
	font-family: inherit;
	font-weight: 700;
	font-size: var(--step-0, 1rem);
	padding: var(--nb-btn-padding-y) var(--nb-btn-padding-x);
	border-radius: var(--nb-radius-sm, 4px);
	cursor: pointer;
	box-shadow: var(--nb-shadow, 4px 4px 0 #0F172A);
	transition: var(--nb-transition, transform 0.1s ease, box-shadow 0.1s ease, background-color 0.1s ease);
}

.home-b .shorten-url:hover:not(:disabled) {
	background: var(--nb-accent-hover, #1D4ED8);
}

.home-b .shorten-url:disabled {
	opacity: 0.55;
	cursor: not-allowed;
}

.home-b .shorten-url:active:not(:disabled) {
	transform: translate(var(--nb-shadow-offset, 4px), var(--nb-shadow-offset, 4px));
	box-shadow: var(--nb-shadow-press, 0 0 0 #0F172A);
}

.home-b .shorten-url:focus-visible {
	outline: var(--nb-focus-outline, 2px solid #2563EB);
	outline-offset: var(--nb-focus-offset, 2px);
}

/* Result — hidden until .active is added by lmin-form-handler.js */
.home-b .shortlink-result {
	display: none;
	margin-top: var(--space-xs, 0.75rem);
}

.home-b .shortlink-result.active {
	display: block;
}

.home-b .hb-result-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2xs, 0.5rem);
	background: var(--color-surface, #FFFFFF);
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius-sm, 4px);
	box-shadow: var(--nb-shadow-sm, 2px 2px 0 #0F172A);
	padding: var(--space-2xs, 0.5rem);
}

.home-b .shortlink-result-box {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: var(--space-2xs, 0.5rem);
	font-size: var(--step-0, 1rem);
	font-weight: 600;
	color: var(--lmin-blue-600, #2563EB);
}

.home-b .shortlink-result-box.success {
	color: var(--lmin-success-dark, #15803D);
}

/* I5 (plan §5.17): no JS handler — press/hover affordances are decorative. */
.home-b .hb-result-inner .rounded-border {
	border: var(--nb-border, 2px solid #0F172A);
	background: var(--nb-accent, #2563EB);
	color: var(--nb-accent-fg, #FFFFFF);
	padding: var(--nb-btn-padding-y-sm) var(--nb-btn-padding-x-sm);
	border-radius: var(--nb-radius-sm, 4px);
	box-shadow: var(--nb-shadow-sm, 2px 2px 0 #0F172A);
	font-family: inherit;
	font-size: var(--step--1, 0.8333rem);
	cursor: pointer;
	min-height: 44px;
	transition: var(--nb-transition, transform 0.1s ease, box-shadow 0.1s ease, background-color 0.1s ease);
}

.home-b .hb-result-inner .rounded-border:active {
	transform: translate(2px, 2px);
	box-shadow: var(--nb-shadow-press, 0 0 0 #0F172A);
}

.home-b .hb-result-inner .rounded-border:focus-visible {
	outline: var(--nb-focus-outline, 2px solid #2563EB);
	outline-offset: var(--nb-focus-offset, 2px);
}

.home-b .generate-another-link {
	font-size: var(--step--1, 0.8333rem);
	color: var(--lmin-slate-500, #64748B);
	padding: var(--space-2xs, 0.5rem) var(--space-3xs, 0.25rem);
}

.home-b .hb-card-note {
	margin: var(--space-xs, 0.75rem) 0 0;
	font-size: var(--step--2, 0.6944rem);
	color: var(--lmin-slate-500, #64748B);
	text-align: center;
}

/* ── Social proof ── */
.home-b .hb-proof {
	/* Uniform section rhythm: every content section uses the shared
	   --space-xl-2xl token top AND bottom (80/64/50px at 1440/768/390, v1.7.3). */
	padding: var(--space-xl-2xl, 3rem) 0;
	border-top: var(--nb-border-width, 2px) solid var(--nb-border-color, #0F172A);
	text-align: center;
}

.home-b .hb-proof-label {
	font-size: var(--step--1, 0.8333rem);
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lmin-slate-500, #64748B);
	margin: 0 0 var(--space-s, 1rem);
}

.home-b .hb-logo-strip {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--space-s-m, 1rem) var(--space-m-l, 1.5rem);
	list-style: none;
	margin: 0 0 var(--space-l, 2rem);
	padding: 0;
}

.home-b .hb-logo-strip li {
	font-size: var(--step-1, 1.2rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: var(--lmin-slate-400, #94A3B8);
}

.home-b .hb-stats {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--space-s, 1rem);
	margin: 0;
}

.home-b .hb-stat {
	display: flex;
	flex-direction: column;
	gap: var(--space-3xs, 0.25rem);
	padding: var(--space-s-m, 1rem);
	background: var(--color-surface, #fff);
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius, 0);
	box-shadow: var(--nb-shadow-sm, 2px 2px 0 #0F172A);
}

/* Number above label: DOM keeps dt-first (valid DL semantics); visual order
   flipped via flex order (Sherlock audit 2026-09-11). */
.home-b .hb-stat dd {
	order: -1;
	font-size: var(--step-2, 1.44rem);
	font-weight: 700;
	color: var(--lmin-slate-900, #0F172A);
	margin: 0;
	letter-spacing: -0.02em;
}

.home-b .hb-stat dt {
	font-size: var(--step--1, 0.8333rem);
	color: var(--lmin-slate-500, #64748B);
}

/* ── Bento grid ── */
.home-b .hb-features {
	padding: var(--space-xl-2xl, 3rem) 0;
}

.home-b .hb-bento {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-auto-rows: minmax(180px, auto);
	gap: var(--space-m-l, 1.5rem);
}

/* G5 (plan §5.1): no :active press here — .hb-cell is a non-focusable
   <article>; press is scoped to real interactive controls only. */
.home-b .hb-cell {
	background: var(--color-surface, #fff);
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius, 0);
	padding: var(--space-m, 1.5rem);
	box-shadow: var(--nb-shadow, 4px 4px 0 #0F172A);
	transition: var(--nb-transition, transform 0.1s ease, box-shadow 0.1s ease, background-color 0.1s ease);
}

.home-b .hb-cell:hover {
	box-shadow: var(--nb-shadow-lg, 6px 6px 0 #0F172A);
	transform: translate(-1px, -1px);
}

.home-b .hb-cell-wide {
	grid-column: span 2;
	padding: var(--space-l-xl, 2rem);
}

.home-b .hb-cell h3 {
	font-size: var(--step-1, 1.2rem);
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--lmin-slate-900, #0F172A);
	margin: var(--space-xs-s, 0.75rem) 0 var(--space-3xs, 0.25rem);
}

/* Tile body at --step--1 (spec's Body row says --step-0, but --step-0 nearly
   equals the --step-1 tile title at mobile — hierarchy collapses; deviation) */
.home-b .hb-cell p {
	margin: 0;
	font-size: var(--step--1, 0.8333rem);
	color: var(--lmin-slate-500, #64748B);
}

/* G4 (plan §6): was var(--radius-md, 0.5rem) — Quiet Modernism --radius-*
   family leakage; now --nb-radius-sm. --lmin-accent-bg intentionally kept
   (light tint inside hard border — refined; allow-listed in grep gate). */
.home-b .hb-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--space-xl, 3rem);
	height: var(--space-xl, 3rem);
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius-sm, 4px);
	box-shadow: var(--nb-shadow-sm, 2px 2px 0 #0F172A);
	background: var(--lmin-accent-bg, #EFF6FF);
	color: var(--lmin-blue-600, #2563EB);
}

.home-b .hb-icon-shield {
	background: var(--lmin-success-bg, #DCFCE7);
	color: var(--lmin-success-dark, #15803D);
}

/* Mini visual inside the wide cell */
.home-b .hb-mini {
	margin-top: var(--space-s, 1rem);
	display: inline-flex;
	align-items: center;
	gap: var(--space-3xs, 0.25rem);
	background: var(--color-bg, #F8FAFC);
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius-sm, 4px);
	box-shadow: var(--nb-shadow-sm, 2px 2px 0 #0F172A);
	padding: var(--space-2xs, 0.5rem) var(--space-s, 1rem);
	font-size: var(--step--1, 0.8333rem);
	color: var(--lmin-slate-500, #64748B);
}

.home-b .hb-mini strong {
	color: var(--lmin-blue-600, #2563EB);
	font-weight: 600;
}

/* ── Safety strip ── */
.home-b .hb-safety {
	/* Uniform section rhythm (see .hb-proof note) — was 0 top / xl-2xl bottom. */
	/* padding: var(--space-xl-2xl, 3rem) 0; */
}

.home-b .hb-safety-row {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: var(--space-xs, 0.75rem);
}

.home-b .hb-badge {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2xs, 0.5rem);
	background: var(--color-surface, #fff);
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius-sm, 4px);
	box-shadow: var(--nb-shadow-sm, 2px 2px 0 #0F172A);
	padding: var(--space-2xs, 0.5rem) var(--space-s, 1rem);
	font-size: var(--step--1, 0.8333rem);
	font-weight: 600;
	color: var(--lmin-slate-700, #334155);
}

.home-b .hb-badge svg {
	color: var(--lmin-success-dark, #15803D);
}

/* ── Tiers ── */
.home-b .hb-tiers {
	/* Uniform section rhythm (see .hb-proof note) — was 0 top. */
	padding: var(--space-xl-2xl, 3rem) 0;
}

.home-b .hb-tier-row {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--space-xs-s, 0.75rem);
}

.home-b .hb-tier {
	background: var(--color-surface, #fff);
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius, 0);
	box-shadow: var(--nb-shadow, 4px 4px 0 #0F172A);
	padding: var(--space-m, 1.5rem) var(--space-s, 1rem);
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: var(--space-3xs, 0.25rem);
}

.home-b .hb-tier h3 {
	font-size: var(--step--2, 0.6944rem);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--lmin-slate-500, #64748B);
	margin: 0;
}

.home-b .hb-tier-price {
	font-size: var(--step-2, 1.44rem);
	font-weight: 800;
	color: var(--lmin-slate-900, #0F172A);
	margin: 0;
	letter-spacing: -0.02em;
}

.home-b .hb-tier-feature {
	font-size: var(--step--1, 0.8333rem);
	color: var(--lmin-slate-500, #64748B);
	margin: 0 0 var(--space-2xs, 0.5rem);
	flex: 1;
}

.home-b .hb-tier-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border: var(--nb-border, 2px solid #0F172A);
	color: var(--lmin-blue-600, #2563EB);
	font-size: var(--step--1, 0.8333rem);
	font-weight: 600;
	text-decoration: none;
	padding: var(--nb-btn-padding-y) var(--nb-btn-padding-x);
	border-radius: var(--nb-radius-sm, 4px);
	box-shadow: var(--nb-shadow-sm, 2px 2px 0 #0F172A);
	transition: var(--nb-transition, transform 0.1s ease, box-shadow 0.1s ease, background-color 0.1s ease);
}

.home-b .hb-tier-cta:hover {
	background: var(--nb-accent, #2563EB);
	color: var(--nb-accent-fg, #FFFFFF);
}

.home-b .hb-tier-cta:active {
	transform: translate(2px, 2px);
	box-shadow: var(--nb-shadow-press, 0 0 0 #0F172A);
}

.home-b .hb-tier-cta:focus-visible {
	outline: var(--nb-focus-outline, 2px solid #2563EB);
	outline-offset: var(--nb-focus-offset, 2px);
}

/* Footer rules moved to lmin-footer-rich.css (shared footer stylesheet —
   the footer now also renders on the dashboard). */

/* ── Responsive ≤768px ── */
@media (max-width: 768px) {
	.home-b .hb-hero-grid {
		grid-template-columns: 1fr;
	}

	.home-b .hb-bento {
		grid-template-columns: repeat(2, 1fr);
	}

	.home-b .hb-cell-wide {
		grid-column: span 2;
		padding: var(--space-m, 1.5rem);
	}

	.home-b .hb-stats {
		grid-template-columns: repeat(2, 1fr);
	}

	.home-b .hb-tier-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* ── Responsive ≤480px ── */
@media (max-width: 480px) {
	.home-b .hb-bento {
		grid-template-columns: 1fr;
	}

	.home-b .hb-cell-wide {
		grid-column: span 1;
	}

	.home-b .hb-tier-row {
		grid-template-columns: 1fr;
	}

	.home-b .hb-logo-strip {
		gap: var(--space-xs, 0.75rem) var(--space-s, 1rem);
	}
}

/* ── Reduced motion ──
   Press relies on transform (motion) — degrade to color change only.
   G5: .hb-cell:active dropped (press scoped to interactive controls).
   A1: color must be explicit — .hb-tier-cta is outline-style with default
   color #2563EB; without this, press on touch + reduced-motion renders
   #2563EB on #1D4ED8 ≈ 1.2:1 (invisible label). */
@media (prefers-reduced-motion: reduce) {
	.home-b .shorten-url,
	.home-b .hb-tier-cta,
	.home-b .rounded-border {
		transition: none;
	}

	/* Disable all transforms (hover float + press) */
	.home-b .hb-cell:hover,
	.home-b .shorten-url:active:not(:disabled),
	.home-b .hb-tier-cta:active,
	.home-b .rounded-border:active {
		transform: none;
	}

	/* Press feedback degrades to color change only */
	.home-b .shorten-url:active:not(:disabled),
	.home-b .hb-tier-cta:active,
	.home-b .rounded-border:active {
		background: var(--nb-accent-hover, #1D4ED8);
		color: var(--nb-accent-fg, #FFFFFF);
		box-shadow: var(--nb-shadow-press, 0 0 0 #0F172A);
	}
}

/* Account-deleted notice (profile plan Phase 3 redirect ?account_deleted=1) */
.home-b .hb-deleted-notice {
	max-width: 1200px;
	margin: 0 auto;
	padding: 12px 16px;
	border: var(--nb-border, 2px solid #0F172A);
	border-radius: var(--nb-radius, 0);
	background: var(--color-success, #16A34A);
	color: #FFFFFF;
	font-weight: 600;
	font-size: var(--step--1, 14px);
}

/* ── Dark theme: homepage content overrides ──
   Scoped to [data-theme="dark"] .home-b — no global token
   overrides. Borders and shadows are handled by the
   --nb-border-color / --nb-shadow-color token override in
   lmin-variables.css. This section handles surfaces, text
   colors, accent text, and icon colors only. */

/* Surface backgrounds */
[data-theme="dark"] .home-b .hb-hero-card,
[data-theme="dark"] .home-b .long-url,
[data-theme="dark"] .home-b .hb-result-inner,
[data-theme="dark"] .home-b .hb-stat,
[data-theme="dark"] .home-b .hb-cell,
[data-theme="dark"] .home-b .hb-badge,
[data-theme="dark"] .home-b .hb-tier {
	background: #1E293B;
}

[data-theme="dark"] .home-b .hb-mini {
	background: #0F172A;
}

/* Input text */
[data-theme="dark"] .home-b .long-url {
	color: #F1F5F9;
}

/* Body text */
[data-theme="dark"] .home-b {
	color: var(--lmin-slate-300, #CBD5E1);
}

[data-theme="dark"] .home-b .hb-hero-points li,
[data-theme="dark"] .home-b .hb-badge {
	color: var(--lmin-slate-300, #CBD5E1);
}

/* Headings */
[data-theme="dark"] .home-b .hb-section-title,
[data-theme="dark"] .home-b .hb-hero-title,
[data-theme="dark"] .home-b .hb-card-title,
[data-theme="dark"] .home-b .hb-stat dd,
[data-theme="dark"] .home-b .hb-tier-price,
[data-theme="dark"] .home-b .hb-cell h3 {
	color: #F1F5F9;
}

/* Muted text */
[data-theme="dark"] .home-b .hb-cell p,
[data-theme="dark"] .home-b .hb-tier-feature,
[data-theme="dark"] .home-b .hb-stat dt,
[data-theme="dark"] .home-b .hb-card-note,
[data-theme="dark"] .home-b .hb-proof-label,
[data-theme="dark"] .home-b .generate-another-link,
[data-theme="dark"] .home-b .hb-mini,
[data-theme="dark"] .home-b .hb-tier h3 {
	color: var(--lmin-slate-400, #94A3B8);
}

/* Accent text — lighter blue on dark */
[data-theme="dark"] .home-b .hb-eyebrow,
[data-theme="dark"] .home-b .shortlink-result-box,
[data-theme="dark"] .home-b .hb-mini strong,
[data-theme="dark"] .home-b .hb-tier-cta {
	color: var(--lmin-blue-400, #60A5FA);
}

/* Success text — lighter green on dark */
[data-theme="dark"] .home-b .shortlink-result-box.success {
	color: #4ADE80;
}

[data-theme="dark"] .home-b .hb-badge svg {
	color: #4ADE80;
}

/* Icons */
[data-theme="dark"] .home-b .hb-icon {
	background: rgba(59, 130, 246, 0.15);
	color: var(--lmin-blue-400, #60A5FA);
}

[data-theme="dark"] .home-b .hb-icon-shield {
	background: rgba(34, 197, 94, 0.15);
	color: #4ADE80;
}

/* Logo strip — slightly darker on dark bg */
[data-theme="dark"] .home-b .hb-logo-strip li {
	color: var(--lmin-slate-600, #475569);
}

/* G1 fix — focus-visible on dark card surfaces: switch to white outline.
   #2563EB on #1E293B = 2.83:1 FAILS 1.4.11. White = 14.62:1 on #1E293B. */
[data-theme="dark"] .home-b .long-url:focus-visible,
[data-theme="dark"] .home-b .shorten-url:focus-visible,
[data-theme="dark"] .home-b .rounded-border:focus-visible,
[data-theme="dark"] .home-b .hb-tier-cta:focus-visible {
	outline: var(--nb-focus-outline-on-dark, 2px solid #FFFFFF);
	outline-offset: var(--nb-focus-offset, 2px);
}
