.lwrp {
	--lwrp-black: #020407;
	--lwrp-navy: #03152c;
	--lwrp-blue: #25cfff;
	--lwrp-green: #63ff00;
	--lwrp-silver: #d9e7f5;
	--lwrp-muted: #9fb0c2;
	color: #fff;
}

.lwrp *,
.lwrp *::before,
.lwrp *::after {
	box-sizing: border-box;
}

.lwrp a {
	color: var(--lwrp-blue);
	text-underline-offset: 4px;
}

.lwrp-hero,
.lwrp-panel,
.lwrp-grid > article,
.lwrp-card,
.lwrp-dashboard-grid > article {
	border: 1px solid rgba(217, 231, 245, 0.16);
	background:
		linear-gradient(180deg, rgba(7, 22, 39, 0.96), rgba(3, 10, 18, 0.96)),
		var(--lwrp-black);
}

.lwrp-hero {
	padding: clamp(28px, 5vw, 64px);
	margin-bottom: 24px;
	background:
		radial-gradient(circle at 16% 12%, rgba(37, 207, 255, 0.18), transparent 34%),
		radial-gradient(circle at 92% 18%, rgba(99, 255, 0, 0.12), transparent 32%),
		linear-gradient(135deg, rgba(2, 4, 7, 0.98), rgba(3, 21, 44, 0.96));
}

.lwrp-eyebrow {
	margin: 0 0 12px;
	color: var(--lwrp-green);
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.lwrp h1,
.lwrp h2,
.lwrp h3,
.lwrp p {
	margin-top: 0;
}

.lwrp h1 {
	max-width: 920px;
	margin-bottom: 16px;
	font-size: clamp(2.15rem, 5vw, 4.7rem);
	line-height: 0.98;
	letter-spacing: 0;
}

.lwrp h2 {
	margin-bottom: 12px;
	font-size: clamp(1.35rem, 2vw, 2rem);
	line-height: 1.1;
}

.lwrp p,
.lwrp li {
	color: var(--lwrp-silver);
	line-height: 1.62;
}

.lwrp-hero > p:not(.lwrp-eyebrow) {
	max-width: 760px;
	font-size: 1.08rem;
}

.lwrp-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 24px;
}

.lwrp-actions a,
.lwrp-form button,
.lwrp-dashboard-grid button,
.lwrp-card a,
.lwrp-template-actions button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	border: 0;
	padding: 0 18px;
	background: linear-gradient(135deg, var(--lwrp-blue), var(--lwrp-green));
	color: var(--lwrp-black);
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.lwrp-actions a + a {
	border: 1px solid rgba(217, 231, 245, 0.28);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
}

.lwrp-grid,
.lwrp-card-list,
.lwrp-dashboard-grid,
.lwrp-course-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	margin-bottom: 24px;
}

.lwrp-grid > article,
.lwrp-card,
.lwrp-dashboard-grid > article,
.lwrp-panel {
	padding: clamp(20px, 3vw, 32px);
}

.lwrp-course-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	gap: 10px;
}

.lwrp-course-card > a {
	margin-top: auto;
}

.lwrp-progress {
	position: relative;
	width: 100%;
	height: 10px;
	overflow: hidden;
	border: 1px solid rgba(217, 231, 245, 0.22);
	background: rgba(255, 255, 255, 0.08);
}

.lwrp-progress span {
	display: block;
	height: 100%;
	background: linear-gradient(90deg, var(--lwrp-blue), var(--lwrp-green));
}

.lwrp-progress-text {
	margin: 8px 0 0;
	font-size: 0.92rem;
}

.lwrp-lesson-list {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lwrp-lesson-list li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 14px;
	align-items: center;
	border-bottom: 1px solid rgba(217, 231, 245, 0.14);
	padding: 12px 0;
}

.lwrp-lesson-list strong {
	color: var(--lwrp-green);
	font-size: 0.82rem;
	text-transform: uppercase;
}

.lwrp-resource-list {
	margin: 0;
	padding-left: 18px;
}

.lwrp-resource-download {
	display: grid;
	gap: 8px;
	margin-bottom: 12px;
}

.lwrp-resource-download span {
	display: block;
	color: rgba(244, 248, 252, 0.84);
}

.lwrp-resource-download a {
	justify-self: start;
}

.lwrp-lesson-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: center;
	margin-bottom: 24px;
}

.lwrp-lesson-actions form {
	margin: 0;
}

.lwrp-lesson-actions button,
.lwrp-next-lesson {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	border: 0;
	padding: 0 18px;
	background: linear-gradient(135deg, var(--lwrp-blue), var(--lwrp-green));
	color: var(--lwrp-black);
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.lwrp-next-lesson {
	border: 1px solid rgba(217, 231, 245, 0.28);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
}

.lwrp-lesson-content {
	font-size: 1.04rem;
}

.lwrp-panel {
	margin-bottom: 24px;
}

.lwrp-form {
	display: grid;
	gap: 16px;
	max-width: 780px;
}

.lwrp-form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
}

.lwrp-form label {
	display: grid;
	gap: 8px;
	color: #fff;
	font-weight: 700;
}

.lwrp-form .lwrp-checkbox {
	grid-template-columns: auto 1fr;
	align-items: start;
	font-weight: 600;
}

.lwrp-checkbox input {
	width: auto;
	margin-top: 6px;
}

.lwrp-feature-list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px 18px;
	margin: 0;
	padding-left: 18px;
}

.lwrp-form input,
.lwrp-form textarea,
.lwrp-dashboard-grid input {
	width: 100%;
	border: 1px solid rgba(217, 231, 245, 0.26);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	padding: 13px 14px;
	font: inherit;
}

.lwrp-form input:focus,
.lwrp-form textarea:focus,
.lwrp-dashboard-grid input:focus,
.lwrp a:focus-visible,
.lwrp button:focus-visible {
	outline: 3px solid var(--lwrp-blue);
	outline-offset: 3px;
}

.lwrp-notice {
	margin-bottom: 18px;
	border: 1px solid rgba(99, 255, 0, 0.35);
	background: rgba(99, 255, 0, 0.08);
	padding: 14px 16px;
	color: #fff;
}

.lwrp-notice--error {
	border-color: rgba(255, 95, 95, 0.45);
	background: rgba(255, 95, 95, 0.1);
}

.lwrp-table {
	width: 100%;
	border-collapse: collapse;
}

.lwrp-table th,
.lwrp-table td {
	border-bottom: 1px solid rgba(217, 231, 245, 0.14);
	padding: 12px 10px;
	text-align: left;
	vertical-align: top;
}

.lwrp-table th {
	color: var(--lwrp-green);
	font-size: 0.82rem;
	text-transform: uppercase;
}

.lwrp code {
	color: var(--lwrp-green);
}

.lwrp-hub-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
	margin-bottom: 22px;
	border: 1px solid rgba(217, 231, 245, 0.16);
	background: rgba(2, 4, 7, 0.78);
	padding: 12px;
}

.lwrp-hub-nav span,
.lwrp-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border: 1px solid rgba(99, 255, 0, 0.35);
	padding: 4px 9px;
	color: var(--lwrp-green);
	font-size: 0.78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.lwrp-hub-nav a {
	display: inline-flex;
	align-items: center;
	min-height: 34px;
	border: 1px solid rgba(217, 231, 245, 0.16);
	padding: 6px 10px;
	color: #fff;
	text-decoration: none;
}

.lwrp-hub-nav a:hover,
.lwrp-hub-nav a:focus-visible {
	border-color: rgba(37, 207, 255, 0.7);
	color: var(--lwrp-blue);
}

.lwrp-filter-form {
	display: grid;
	grid-template-columns: 2fr repeat(4, minmax(130px, 1fr)) auto;
	gap: 12px;
	align-items: end;
}

.lwrp-filter-form label {
	display: grid;
	gap: 8px;
	color: #fff;
	font-weight: 800;
}

.lwrp-filter-form input,
.lwrp-filter-form select {
	width: 100%;
	border: 1px solid rgba(217, 231, 245, 0.26);
	background: rgba(255, 255, 255, 0.06);
	color: #fff;
	padding: 12px 13px;
	font: inherit;
}

.lwrp-filter-form option {
	color: #020407;
}

.lwrp-filter-form button {
	min-height: 48px;
	border: 0;
	padding: 0 18px;
	background: linear-gradient(135deg, var(--lwrp-blue), var(--lwrp-green));
	color: var(--lwrp-black);
	font-weight: 800;
	cursor: pointer;
}

.lwrp-filter-check {
	grid-template-columns: auto 1fr;
	align-items: center;
	min-height: 48px;
}

.lwrp-filter-check input {
	width: auto;
}

.lwrp-library-section {
	margin-bottom: 28px;
}

.lwrp-section-heading {
	margin-bottom: 16px;
}

.lwrp-section-heading h2 {
	max-width: 760px;
}

.lwrp-resource-card,
.lwrp-template-card,
.lwrp-drop-card {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	gap: 10px;
}

.lwrp-resource-card a {
	margin-top: auto;
}

.lwrp-card h3 {
	margin: 0;
	color: #fff;
	font-size: 1.18rem;
	line-height: 1.2;
}

.lwrp-meta {
	margin: 0;
	color: var(--lwrp-muted);
	font-size: 0.9rem;
}

.lwrp-badge-row {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.lwrp-badge {
	border-color: rgba(37, 207, 255, 0.32);
	color: var(--lwrp-blue);
	letter-spacing: 0;
	text-transform: none;
}

.lwrp-template-body {
	border-left: 3px solid rgba(99, 255, 0, 0.55);
	padding-left: 12px;
}

.lwrp-template-objective {
	border: 1px solid rgba(37, 207, 255, 0.18);
	background: rgba(37, 207, 255, 0.06);
	padding: 12px;
}

.lwrp-template-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-top: auto;
}

.lwrp-template-actions button {
	min-height: 40px;
	border: 1px solid rgba(217, 231, 245, 0.18);
	background: rgba(255, 255, 255, 0.07);
	color: #fff;
	font-size: 0.9rem;
}

.lwrp-template-actions button:hover,
.lwrp-template-actions button:focus-visible,
.lwrp-template-actions button.is-saved {
	border-color: rgba(99, 255, 0, 0.55);
	color: var(--lwrp-green);
}

.lwrp-guidance-grid,
.lwrp-drop-platforms {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.lwrp-guidance-grid article,
.lwrp-drop-platforms p {
	border: 1px solid rgba(217, 231, 245, 0.12);
	background: rgba(255, 255, 255, 0.04);
	padding: 14px;
}

.lwrp-guidance-grid h3 {
	margin: 0 0 8px;
	color: #fff;
	font-size: 1rem;
}

.lwrp-template-body p:last-child,
.lwrp-drop-card p:last-child {
	margin-bottom: 0;
}

.lwrp-onboarding-card h2 {
	margin-bottom: 14px;
}

.lwrp-onboarding-list {
	display: grid;
	gap: 10px;
	margin: 18px 0 0;
	padding: 0;
	list-style: none;
}

.lwrp-onboarding-list li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	border: 1px solid rgba(217, 231, 245, 0.14);
	background: rgba(255, 255, 255, 0.04);
	padding: 12px;
}

.lwrp-onboarding-list li.is-complete {
	border-color: rgba(99, 255, 0, 0.34);
}

.lwrp-onboarding-list form {
	margin: 0;
}

.lwrp-onboarding-list button {
	min-height: 38px;
	border: 0;
	padding: 0 14px;
	background: linear-gradient(135deg, var(--lwrp-blue), var(--lwrp-green));
	color: var(--lwrp-black);
	font-weight: 800;
	cursor: pointer;
}

.lwrp-onboarding-list strong {
	color: var(--lwrp-green);
	font-size: 0.82rem;
	text-transform: uppercase;
}

.lwrp-recommended .lwrp-dashboard-grid {
	margin-bottom: 0;
}

.lwrp-period-form {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	align-items: end;
}

.lwrp-period-form label {
	display: grid;
	gap: 6px;
	min-width: min(100%, 220px);
	color: #fff;
	font-weight: 700;
}

.lwrp-period-form button {
	min-height: 42px;
	border: 0;
	padding: 0 16px;
	background: linear-gradient(135deg, var(--lwrp-blue), var(--lwrp-green));
	color: var(--lwrp-black);
	font-weight: 800;
	cursor: pointer;
}

@media (max-width: 900px) {
	.lwrp-grid,
	.lwrp-card-list,
	.lwrp-dashboard-grid,
	.lwrp-course-grid,
	.lwrp-guidance-grid,
	.lwrp-drop-platforms {
		grid-template-columns: 1fr 1fr;
	}

	.lwrp-filter-form {
		grid-template-columns: 1fr 1fr;
	}

	.lwrp-feature-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.lwrp-grid,
	.lwrp-card-list,
	.lwrp-dashboard-grid,
	.lwrp-course-grid,
	.lwrp-guidance-grid,
	.lwrp-drop-platforms,
	.lwrp-template-actions,
	.lwrp-form-row,
	.lwrp-feature-list {
		grid-template-columns: 1fr;
	}

	.lwrp-actions,
	.lwrp-actions a,
	.lwrp-form button,
	.lwrp-dashboard-grid button,
	.lwrp-template-actions button,
	.lwrp-filter-form button,
	.lwrp-lesson-actions,
	.lwrp-lesson-actions button,
	.lwrp-next-lesson {
		width: 100%;
	}

	.lwrp-hub-nav,
	.lwrp-hub-nav a,
	.lwrp-hub-nav span {
		width: 100%;
	}

	.lwrp-filter-form {
		grid-template-columns: 1fr;
	}

	.lwrp-lesson-list li {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.lwrp-table {
		display: block;
		overflow-x: auto;
		white-space: nowrap;
	}

	.lwrp-onboarding-list li {
		grid-template-columns: 1fr;
	}

	.lwrp-onboarding-list button {
		width: 100%;
	}

	.lwrp-period-form,
	.lwrp-period-form button {
		width: 100%;
	}
}
