/* TraderDaniel Academy — component system v0.1.0. All rules are scoped. */
.tda-experience {
	position: relative;
	isolation: isolate;
	color: var(--tda-color-text);
	background: var(--tda-color-background);
	font-family: var(--tda-font-sans);
	font-size: 16px;
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.tda-experience *,
.tda-experience *::before,
.tda-experience *::after { box-sizing: border-box; }
.tda-experience a { color: inherit; }
.tda-experience button,
.tda-experience input,
.tda-experience select { font: inherit; }

.tda-experience .screen-reader-text {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}
.tda-experience .screen-reader-text:focus {
	clip: auto !important;
	width: auto !important;
	height: auto !important;
}
.tda-experience button,
.tda-experience a { -webkit-tap-highlight-color: transparent; }

.tda-container {
	width: min(calc(100% - 40px), var(--tda-container));
	margin-inline: auto;
}

.tda-skip-link {
	position: fixed;
	left: 1rem;
	top: 1rem;
	z-index: 9999;
	padding: .7rem 1rem;
	border-radius: var(--tda-radius-sm);
	background: var(--tda-color-surface-dark);
	color: var(--tda-color-text-inverse) !important;
	transform: translateY(-180%);
	transition: transform var(--tda-transition-fast);
}
.tda-skip-link:focus { transform: translateY(0); }

.tda-site-header {
	position: relative;
	z-index: 20;
	border-bottom: 1px solid var(--tda-color-border);
	background: rgba(248, 250, 255, .86);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
}
.tda-header__inner {
	display: grid;
	grid-template-columns: minmax(210px, 1fr) auto minmax(210px, 1fr);
	align-items: center;
	gap: var(--tda-space-6);
	min-height: 76px;
}

.tda-brand {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	width: fit-content;
	text-decoration: none;
}
.tda-brand__mark {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 13px;
	background: var(--tda-gradient-brand);
	box-shadow: 0 10px 24px rgba(109, 74, 255, .24);
	color: #fff;
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: -.04em;
}
.tda-brand__copy { display: grid; gap: 0; line-height: 1.15; }
.tda-brand__copy strong { font-size: .95rem; letter-spacing: -.02em; }
.tda-brand__copy small { color: var(--tda-color-muted); font-size: .68rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }

.tda-nav { display: flex; align-items: center; gap: 1.8rem; }
.tda-nav a {
	position: relative;
	color: var(--tda-color-muted);
	font-size: .86rem;
	font-weight: 680;
	text-decoration: none;
	transition: color var(--tda-transition-fast);
}
.tda-nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 100%;
	bottom: -.45rem;
	height: 2px;
	border-radius: 2px;
	background: var(--tda-gradient-brand);
	transition: right var(--tda-transition-base);
}
.tda-nav a:hover,
.tda-nav a:focus-visible { color: var(--tda-color-text); }
.tda-nav a:hover::after,
.tda-nav a:focus-visible::after { right: 0; }
.tda-header__action { justify-self: end; }

.tda-menu-toggle {
	display: none;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 1px solid var(--tda-color-border);
	border-radius: 12px;
	background: var(--tda-color-surface);
	cursor: pointer;
}
.tda-menu-toggle > span:not(.screen-reader-text) {
	display: block;
	width: 100%;
	height: 2px;
	margin: 4px 0;
	border-radius: 2px;
	background: var(--tda-color-text);
	transition: transform var(--tda-transition-fast), opacity var(--tda-transition-fast);
}
.tda-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.tda-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.tda-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }

.tda-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: .75rem 1.25rem;
	border: 1px solid transparent;
	border-radius: var(--tda-radius-sm);
	font-weight: 760;
	line-height: 1.1;
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--tda-transition-fast), box-shadow var(--tda-transition-base), border-color var(--tda-transition-fast), background var(--tda-transition-fast);
}
.tda-button:hover { transform: translateY(-2px); }
.tda-button:active { transform: translateY(0); }
.tda-button:focus-visible,
.tda-experience a:focus-visible,
.tda-experience input:focus-visible,
.tda-experience select:focus-visible {
	outline: 3px solid rgba(24, 189, 232, .34);
	outline-offset: 3px;
}
.tda-button--sm { min-height: 42px; padding: .62rem 1rem; font-size: .84rem; }
.tda-button--primary { background: var(--tda-gradient-brand); color: #fff !important; box-shadow: 0 12px 28px rgba(109, 74, 255, .22); }
.tda-button--primary:hover { box-shadow: 0 18px 36px rgba(109, 74, 255, .30); }
.tda-button--secondary { border-color: rgba(109, 74, 255, .22); background: rgba(109, 74, 255, .07); color: var(--tda-color-primary-strong) !important; }
.tda-button--ghost { border-color: var(--tda-color-border); background: var(--tda-color-surface); color: var(--tda-color-text) !important; }

.tda-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(4.5rem, 9vw, 8rem) 0;
	background: var(--tda-gradient-hero);
}
.tda-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(rgba(42, 51, 89, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(42, 51, 89, .035) 1px, transparent 1px);
	background-size: 44px 44px;
	mask-image: linear-gradient(to bottom, #000, transparent 95%);
}
.tda-hero__grid {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.06fr) minmax(380px, .94fr);
	align-items: center;
	gap: clamp(2.5rem, 7vw, 6rem);
}
.tda-hero__copy h1 {
	max-width: 760px;
	margin: 1.1rem 0 1.35rem;
	font-size: var(--tda-text-hero);
	font-weight: 660;
	line-height: .98;
	letter-spacing: -.062em;
}
.tda-hero__copy > p { max-width: 650px; margin: 0; color: var(--tda-color-muted); font-size: clamp(1.02rem, 1.8vw, 1.24rem); line-height: 1.68; }
.tda-kicker,
.tda-eyebrow { color: var(--tda-color-primary-strong); font-size: .72rem; font-weight: 820; letter-spacing: .14em; text-transform: uppercase; }
.tda-kicker { display: inline-flex; align-items: center; gap: .6rem; }
.tda-kicker > span { width: 28px; height: 2px; border-radius: 2px; background: var(--tda-gradient-brand); }
.tda-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.8rem; }
.tda-trust-list { display: flex; flex-wrap: wrap; gap: .75rem 1.25rem; margin: 1.6rem 0 0; padding: 0; list-style: none; color: var(--tda-color-muted); font-size: .82rem; font-weight: 650; }
.tda-trust-list li::before { content: "✓"; margin-right: .45rem; color: var(--tda-color-success); }

.tda-learning-panel {
	position: relative;
	border: 1px solid rgba(255,255,255,.72);
	border-radius: var(--tda-radius-xl);
	background: var(--tda-color-surface-glass);
	box-shadow: var(--tda-shadow-lg);
	backdrop-filter: blur(20px);
	-webkit-backdrop-filter: blur(20px);
	transform: rotate(1deg);
}
.tda-learning-panel::before {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: -1;
	border-radius: inherit;
	background: linear-gradient(135deg, rgba(109,74,255,.26), transparent 38%, rgba(24,189,232,.20));
}
.tda-learning-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem 1.25rem; border-bottom: 1px solid var(--tda-color-border); }
.tda-learning-panel__head > div { display: flex; align-items: center; gap: .55rem; }
.tda-learning-panel__head strong { font-size: .85rem; }
.tda-learning-panel__body { padding: clamp(1.5rem, 4vw, 2.3rem); }
.tda-learning-panel__body h2 { margin: .4rem 0 .65rem; font-size: clamp(1.7rem, 3vw, 2.35rem); line-height: 1.08; letter-spacing: -.04em; }
.tda-learning-panel__body p { margin: 0; color: var(--tda-color-muted); }
.tda-learning-panel__stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: .65rem; margin-top: 1.4rem; }
.tda-learning-panel__stats div { display: grid; gap: .2rem; padding: .9rem; border: 1px solid var(--tda-color-border); border-radius: var(--tda-radius-sm); background: rgba(255,255,255,.58); }
.tda-learning-panel__stats span { color: var(--tda-color-muted); font-size: .68rem; }
.tda-learning-panel__stats strong { font-size: .92rem; }
.tda-progress { height: 9px; margin-top: 1.35rem; overflow: hidden; border-radius: var(--tda-radius-pill); background: rgba(45,55,93,.09); }
.tda-progress > span { display: block; height: 100%; border-radius: inherit; background: var(--tda-gradient-brand); }
.tda-status-dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: var(--tda-color-muted); }
.tda-status-dot--active { background: var(--tda-color-success); box-shadow: 0 0 0 5px rgba(19,138,97,.10); }

.tda-section { padding: clamp(4.5rem, 8vw, 7.5rem) 0; }
.tda-section--soft { background: var(--tda-color-background-soft); }
.tda-section-heading { max-width: 760px; margin-bottom: 2.2rem; }
.tda-section-heading h2 { margin: .55rem 0 .8rem; font-size: var(--tda-text-2xl); line-height: 1.12; letter-spacing: -.04em; }
.tda-section-heading p { margin: 0; color: var(--tda-color-muted); font-size: 1.05rem; }

.tda-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.tda-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 310px;
	padding: 1.5rem;
	border: 1px solid var(--tda-color-border);
	border-radius: var(--tda-radius-lg);
	background: var(--tda-color-surface);
	box-shadow: var(--tda-shadow-sm);
	transition: transform var(--tda-transition-base), box-shadow var(--tda-transition-base), border-color var(--tda-transition-fast);
}
.tda-card:hover { transform: translateY(-6px); border-color: rgba(109,74,255,.24); box-shadow: var(--tda-shadow-md); }
.tda-card--featured { background: linear-gradient(145deg, #fff, #f3f0ff); }
.tda-card .tda-badge { position: absolute; top: 1.5rem; right: 1.5rem; }
.tda-card h3 { margin: 1.8rem 0 .55rem; font-size: 1.35rem; line-height: 1.2; letter-spacing: -.03em; }
.tda-card p { margin: 0 0 1.4rem; color: var(--tda-color-muted); }
.tda-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 15px; background: rgba(109,74,255,.09); color: var(--tda-color-primary-strong); font-family: var(--tda-font-mono); font-size: .76rem; font-weight: 800; }
.tda-text-link { display: inline-flex; align-items: center; gap: .45rem; width: fit-content; margin-top: auto; color: var(--tda-color-primary-strong) !important; font-weight: 760; text-decoration: none; }
.tda-text-link span { transition: transform var(--tda-transition-fast); }
.tda-text-link:hover span { transform: translateX(4px); }

.tda-badge { display: inline-flex; align-items: center; width: fit-content; min-height: 26px; padding: .25rem .6rem; border: 1px solid var(--tda-color-border); border-radius: var(--tda-radius-pill); background: #f7f8fc; color: var(--tda-color-muted); font-size: .67rem; font-weight: 790; letter-spacing: .03em; }
.tda-badge--primary { border-color: rgba(109,74,255,.18); background: rgba(109,74,255,.08); color: var(--tda-color-primary-strong); }
.tda-badge--success { border-color: rgba(19,138,97,.16); background: var(--tda-color-success-soft); color: var(--tda-color-success); }
.tda-badge--cyan { border-color: rgba(24,189,232,.18); background: rgba(24,189,232,.09); color: #087d9b; }

.tda-component-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.tda-component-panel { padding: 1.5rem; border: 1px solid var(--tda-color-border); border-radius: var(--tda-radius-lg); background: var(--tda-color-surface); box-shadow: var(--tda-shadow-sm); }
.tda-component-panel h3 { margin: 0 0 1.2rem; font-size: 1.1rem; }
.tda-component-row { display: flex; flex-wrap: wrap; gap: .7rem; }
.tda-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: .8rem; }
.tda-field { display: grid; gap: .45rem; color: var(--tda-color-muted); font-size: .78rem; font-weight: 720; }
.tda-field input,
.tda-field select { width: 100%; min-height: 48px; padding: .7rem .85rem; border: 1px solid var(--tda-color-border-strong); border-radius: var(--tda-radius-sm); background: #fff; color: var(--tda-color-text); box-shadow: none; }
.tda-field input::placeholder { color: #9298aa; }

.tda-alert-stack { display: grid; gap: .8rem; }
.tda-alert { display: grid; grid-template-columns: minmax(160px, .35fr) 1fr; gap: 1rem; padding: 1rem 1.15rem; border: 1px solid transparent; border-radius: var(--tda-radius-md); }
.tda-alert strong { font-size: .86rem; }
.tda-alert span { color: var(--tda-color-muted); font-size: .86rem; }
.tda-alert--success { border-color: rgba(19,138,97,.16); background: var(--tda-color-success-soft); }
.tda-alert--warning { border-color: rgba(167,101,0,.16); background: var(--tda-color-warning-soft); }
.tda-alert--info { border-color: rgba(23,109,165,.16); background: var(--tda-color-info-soft); }

.tda-final-cta { padding-top: 2rem; background: var(--tda-color-background); }
.tda-final-cta__panel { position: relative; overflow: hidden; padding: clamp(2rem, 6vw, 4rem); border-radius: var(--tda-radius-xl); background: var(--tda-color-surface-dark); color: var(--tda-color-text-inverse); box-shadow: var(--tda-shadow-lg); }
.tda-final-cta__panel::after { content: ""; position: absolute; width: 360px; height: 360px; right: -130px; top: -180px; border-radius: 50%; background: var(--tda-gradient-brand); filter: blur(8px); opacity: .24; }
.tda-final-cta__panel > * { position: relative; z-index: 1; }
.tda-final-cta__panel .tda-eyebrow { color: #70dbf5; }
.tda-final-cta__panel h2 { max-width: 760px; margin: .6rem 0 .8rem; font-size: var(--tda-text-2xl); line-height: 1.1; letter-spacing: -.04em; }
.tda-final-cta__panel p { max-width: 720px; margin: 0 0 1.5rem; color: rgba(248,250,255,.7); }

.tda-footer { padding: 2.2rem 0; border-top: 1px solid var(--tda-color-border); background: #f8faff; }
.tda-footer__inner { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 1.5rem; }
.tda-footer p { margin: 0; color: var(--tda-color-muted); font-size: .84rem; }
.tda-footer > .tda-container > small { color: var(--tda-color-muted); font-size: .72rem; }
.tda-brand--footer .tda-brand__mark { width: 38px; height: 38px; }

@media (max-width: 980px) {
	.tda-header__inner { grid-template-columns: 1fr auto; }
	.tda-menu-toggle { display: block; justify-self: end; }
	.tda-header__action { display: none; }
	.tda-nav { position: absolute; left: 20px; right: 20px; top: calc(100% + 8px); display: grid; gap: 0; padding: .55rem; border: 1px solid var(--tda-color-border); border-radius: var(--tda-radius-md); background: rgba(255,255,255,.96); box-shadow: var(--tda-shadow-md); opacity: 0; pointer-events: none; transform: translateY(-8px); transition: opacity var(--tda-transition-fast), transform var(--tda-transition-fast); }
	.tda-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
	.tda-nav a { padding: .75rem; border-radius: .65rem; }
	.tda-nav a::after { display: none; }
	.tda-nav a:hover { background: var(--tda-color-background-soft); }
	.tda-hero__grid { grid-template-columns: 1fr; }
	.tda-learning-panel { max-width: 680px; transform: none; }
	.tda-card-grid { grid-template-columns: 1fr 1fr; }
	.tda-card:last-child { grid-column: 1 / -1; }
	.tda-footer__inner { grid-template-columns: 1fr auto; }
	.tda-footer p { grid-column: 1 / -1; grid-row: 2; }
}

@media (max-width: 680px) {
	.tda-container { width: min(calc(100% - 28px), var(--tda-container)); }
	.tda-header__inner { min-height: 68px; }
	.tda-brand__mark { width: 38px; height: 38px; }
	.tda-hero { padding: 4.3rem 0; }
	.tda-hero__copy h1 { letter-spacing: -.048em; }
	.tda-actions { display: grid; }
	.tda-actions .tda-button { width: 100%; }
	.tda-learning-panel__head { align-items: flex-start; }
	.tda-learning-panel__stats { grid-template-columns: 1fr; }
	.tda-card-grid,
	.tda-component-grid,
	.tda-form-grid { grid-template-columns: 1fr; }
	.tda-card:last-child { grid-column: auto; }
	.tda-alert { grid-template-columns: 1fr; gap: .25rem; }
	.tda-footer__inner { grid-template-columns: 1fr; }
	.tda-footer p { grid-column: auto; grid-row: auto; }
}

@media (prefers-reduced-motion: reduce) {
	.tda-experience *,
	.tda-experience *::before,
	.tda-experience *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}


/* 0.4.11 — global button contrast and state hardening. */
.tda-button {
	isolation: isolate;
	-webkit-font-smoothing: antialiased;
}
.tda-button--primary:focus-visible,
.tda-button--secondary:focus-visible,
.tda-button--ghost:focus-visible {
	box-shadow: 0 0 0 4px rgba(24,189,232,.20), 0 14px 32px rgba(70,56,180,.20);
}
.tda-button:disabled,
.tda-button[aria-disabled="true"] {
	cursor: not-allowed;
	transform: none !important;
	box-shadow: none;
}
.tda-button--primary:disabled,
.tda-button--primary[aria-disabled="true"] {
	border-color: rgba(74,63,170,.18);
	background: linear-gradient(135deg,#7564d9,#279fc4);
	color: #fff !important;
	opacity: .72;
}
.tda-button--secondary:disabled,
.tda-button--secondary[aria-disabled="true"],
.tda-button--ghost:disabled,
.tda-button--ghost[aria-disabled="true"] {
	border-color: #d5dae8;
	background: #edf0f7;
	color: #59627a !important;
	opacity: 1;
}

/* LEGION ACADEMY preview branding v0.4.13. */
.tda-brand .tda-brand-logo { display:block; width:auto; height:auto; object-fit:contain; }
.tda-brand-logo--preview { width: 178px; }
.tda-brand-logo--preview-footer { width: 190px; }
