/*
 * hub.css — extra styles loaded ONLY on the [land_tools] hub page.
 * frame.css is already loaded as a dependency.
 */

/* Animated entry for cards */
@keyframes ltCardIn {
	from { opacity: 0; transform: translateY(14px); }
	to   { opacity: 1; transform: translateY(0); }
}

.lt-hub-grid .lt-tool-card {
	animation: ltCardIn .3s cubic-bezier(.4,0,.2,1) both;
}

/* Stagger: up to 15 cards */
.lt-hub-grid .lt-tool-card:nth-child(1)  { animation-delay:  0ms; }
.lt-hub-grid .lt-tool-card:nth-child(2)  { animation-delay: 30ms; }
.lt-hub-grid .lt-tool-card:nth-child(3)  { animation-delay: 60ms; }
.lt-hub-grid .lt-tool-card:nth-child(4)  { animation-delay: 90ms; }
.lt-hub-grid .lt-tool-card:nth-child(5)  { animation-delay:120ms; }
.lt-hub-grid .lt-tool-card:nth-child(6)  { animation-delay:150ms; }
.lt-hub-grid .lt-tool-card:nth-child(7)  { animation-delay:180ms; }
.lt-hub-grid .lt-tool-card:nth-child(8)  { animation-delay:210ms; }
.lt-hub-grid .lt-tool-card:nth-child(9)  { animation-delay:240ms; }
.lt-hub-grid .lt-tool-card:nth-child(10) { animation-delay:270ms; }
.lt-hub-grid .lt-tool-card:nth-child(11) { animation-delay:300ms; }
.lt-hub-grid .lt-tool-card:nth-child(12) { animation-delay:330ms; }
.lt-hub-grid .lt-tool-card:nth-child(13) { animation-delay:360ms; }
.lt-hub-grid .lt-tool-card:nth-child(14) { animation-delay:390ms; }
.lt-hub-grid .lt-tool-card:nth-child(15) { animation-delay:420ms; }

/* Subtle background pattern on hub page */
.land-tools-frame-page body.lt-body,
body.lt-body {
	background-image: radial-gradient(circle at 50% 0%, rgba(79,70,229,.04) 0%, transparent 60%);
}
.lt-dark body.lt-body {
	background-image: radial-gradient(circle at 50% 0%, rgba(99,102,241,.06) 0%, transparent 60%);
}

/* ── Software & Tutorial hub button ────────────────────────────────────── */
.lt-hub-extra-links {
	margin-top: 20px;
}

.lt-hub-extra-btn {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 18px;
	background: var(--lt-card, #fff);
	border: 1px solid var(--lt-border, #e2e8f0);
	border-radius: 14px;
	text-decoration: none;
	color: inherit;
	transition: box-shadow .2s, transform .2s, border-color .2s;
}
.lt-hub-extra-btn:hover {
	box-shadow: 0 6px 20px rgba(0,0,0,.08);
	transform: translateY(-2px);
	border-color: #a5b4fc;
	color: inherit;
	text-decoration: none;
}
.lt-dark .lt-hub-extra-btn {
	background: var(--lt-card-dark, #1e293b);
	border-color: rgba(255,255,255,.08);
}
.lt-dark .lt-hub-extra-btn:hover { border-color: rgba(165,180,252,.4); }

.lt-hub-extra-btn__icon {
	width: 46px;
	height: 46px;
	border-radius: 12px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.2rem;
	flex-shrink: 0;
}

.lt-hub-extra-btn__text {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.lt-hub-extra-btn__text strong {
	font-size: .92rem;
	font-weight: 700;
	color: var(--lt-text, #1e293b);
}
.lt-dark .lt-hub-extra-btn__text strong { color: var(--lt-text-dark, #f1f5f9); }
.lt-hub-extra-btn__text small {
	font-size: .75rem;
	color: var(--lt-muted, #64748b);
}

.lt-hub-extra-btn__arrow {
	color: var(--lt-muted, #94a3b8);
	font-size: .85rem;
	transition: transform .2s;
}
.lt-hub-extra-btn:hover .lt-hub-extra-btn__arrow { transform: translateX(3px); }
