/* ==========================================================
   Homepage components.
========================================================== */

.dw-hero {
	background:
		linear-gradient(122deg, rgba(0, 214, 163, 0.1), transparent 35%),
		linear-gradient(180deg, #090b16 0%, #070914 100%);
	min-height: min(880px, 100vh);
	overflow: hidden;
	padding-block: clamp(4.5rem, 10vw, 8.5rem) clamp(3rem, 7vw, 6rem);
	position: relative;
}

.dw-hero::before {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 72px 72px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.68), transparent 74%);
	opacity: 0.34;
	pointer-events: none;
	position: absolute;
}

.dw-hero__glow {
	background: linear-gradient(90deg, transparent, rgba(244, 201, 93, 0.18), transparent);
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: 6rem;
}

.dw-hero__grid {
	display: grid;
	gap: var(--dw-space-6);
	position: relative;
	z-index: 1;
}

.dw-hero__content {
	max-width: 780px;
}

.dw-hero h1 {
	font-size: clamp(2.35rem, 6vw, 4rem);
	max-width: 820px;
	text-wrap: balance;
}

.dw-hero__lede {
	max-width: 660px;
}

.dw-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-3);
	margin-top: var(--dw-space-5);
}

.dw-search-box {
	align-items: stretch;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid var(--dw-border-strong);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: grid;
	gap: var(--dw-space-2);
	margin-top: var(--dw-space-5);
	max-width: 700px;
	padding: var(--dw-space-2);
}

.dw-search-box input[type="search"] {
	appearance: none;
	background: rgba(7, 9, 20, 0.72);
	border: 1px solid transparent;
	border-radius: var(--dw-radius-md);
	color: var(--dw-text);
	font: 700 1rem/1.2 var(--dw-font);
	min-height: 3.35rem;
	padding: 0 1rem;
	width: 100%;
}

.dw-search-box input[type="search"]::placeholder {
	color: rgba(217, 228, 245, 0.58);
}

.dw-search-box__submit {
	background: var(--dw-text);
	border: 0;
	border-radius: var(--dw-radius-md);
	color: var(--dw-bg);
	cursor: pointer;
	font: 850 0.94rem/1 var(--dw-font);
	min-height: 3.35rem;
	padding: 0 1.2rem;
	transition:
		background-color 180ms ease,
		transform 180ms ease;
}

.dw-search-box__submit:hover,
.dw-search-box__submit:focus-visible {
	background: var(--dw-primary);
	transform: translateY(-1px);
}

.dw-hero__stats {
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: var(--dw-space-5);
	max-width: 620px;
}

.dw-hero__stats div {
	border-left: 1px solid var(--dw-border-strong);
	padding-left: var(--dw-space-3);
}

.dw-hero__stats strong {
	color: var(--dw-text);
	display: block;
	font-size: clamp(1.4rem, 5vw, 2.5rem);
	line-height: 1;
}

.dw-hero__stats span {
	color: var(--dw-muted);
	display: block;
	font-size: 0.82rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-top: 0.45rem;
	text-transform: uppercase;
}

.dw-hero__showcase {
	display: none;
}

.dw-stream-preview {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.12), rgba(255, 255, 255, 0.04));
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow);
	padding: var(--dw-space-3);
	transform: perspective(1200px) rotateY(-7deg) rotateX(4deg);
}

.dw-stream-preview__screen {
	align-items: center;
	aspect-ratio: 16 / 9;
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.2), transparent 45%),
		linear-gradient(160deg, #11172a, #05070d);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.dw-stream-preview__label {
	background: rgba(0, 0, 0, 0.42);
	border: 1px solid var(--dw-border);
	border-radius: 999px;
	color: var(--dw-text-soft);
	font-size: 0.74rem;
	font-weight: 850;
	left: var(--dw-space-3);
	letter-spacing: 0.12em;
	padding: 0.45rem 0.65rem;
	position: absolute;
	text-transform: uppercase;
	top: var(--dw-space-3);
}

.dw-stream-preview__play,
.dw-play-button {
	align-items: center;
	backdrop-filter: blur(16px);
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 999px;
	display: inline-flex;
	justify-content: center;
}

.dw-stream-preview__play {
	height: 5.5rem;
	width: 5.5rem;
}

.dw-stream-preview__play::before,
.dw-play-button::before {
	border-block: 0.58rem solid transparent;
	border-left: 0.86rem solid var(--dw-text);
	content: "";
	margin-left: 0.2rem;
}

.dw-stream-preview__progress {
	background: rgba(255, 255, 255, 0.16);
	border-radius: 999px;
	bottom: var(--dw-space-3);
	height: 0.35rem;
	left: var(--dw-space-3);
	overflow: hidden;
	position: absolute;
	right: var(--dw-space-3);
}

.dw-stream-preview__progress span {
	background: var(--dw-primary);
	display: block;
	height: 100%;
	width: 58%;
}

.dw-stream-preview__meta {
	padding-block: var(--dw-space-3) var(--dw-space-2);
}

.dw-stream-preview__meta span {
	color: var(--dw-primary);
	display: block;
	font-size: 0.75rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dw-stream-preview__meta strong {
	color: var(--dw-text);
	display: block;
	font-size: 1.35rem;
	margin-top: 0.35rem;
}

.dw-mini-rail {
	display: grid;
	gap: var(--dw-space-2);
	grid-template-columns: repeat(3, 1fr);
}

.dw-mini-rail span {
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(135deg, rgba(244, 201, 93, 0.18), transparent 48%),
		var(--dw-surface-muted);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-sm);
}

.dw-category-section {
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.dw-categories {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
}

.dw-category-chip {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--dw-border);
	border-radius: 999px;
	color: var(--dw-text-soft);
	cursor: pointer;
	font: 800 0.9rem/1 var(--dw-font);
	padding: 0.85rem 1rem;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.dw-category-chip:hover,
.dw-category-chip:focus-visible,
.dw-category-chip.is-active {
	background: var(--dw-primary);
	border-color: var(--dw-primary);
	color: #031310;
	transform: translateY(-1px);
}

.dw-recording-section {
	position: relative;
}

.dw-recording-section--latest {
	padding-top: 0;
}

.dw-rail {
	display: grid;
	gap: var(--dw-space-4);
	grid-auto-columns: minmax(260px, 84vw);
	grid-auto-flow: column;
	overflow-x: auto;
	overscroll-behavior-inline: contain;
	padding: 0.25rem 0 1.6rem;
	scroll-padding-inline: 1rem;
	scroll-snap-type: inline mandatory;
	scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
}

.dw-rail::-webkit-scrollbar {
	height: 0.65rem;
}

.dw-rail::-webkit-scrollbar-track {
	background: rgba(255, 255, 255, 0.06);
	border-radius: 999px;
}

.dw-rail::-webkit-scrollbar-thumb {
	background: rgba(255, 255, 255, 0.28);
	border-radius: 999px;
}

.dw-recording-card {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	color: var(--dw-text);
	display: flex;
	flex-direction: column;
	min-height: 100%;
	overflow: hidden;
	scroll-snap-align: start;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms ease;
}

.dw-recording-card[hidden],
.dw-recording-card.is-hidden {
	display: none;
}

.dw-recording-card:hover,
.dw-recording-card:focus-within {
	border-color: rgba(0, 214, 163, 0.42);
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
	transform: translateY(-6px);
}

.dw-recording-thumbnail {
	align-items: center;
	aspect-ratio: 16 / 9;
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.18), transparent 50%),
		var(--dw-surface-muted);
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.dw-recording-thumbnail::after {
	background: linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, 0.72) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.dw-recording-thumbnail img {
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease, filter 400ms ease;
	width: 100%;
}

.dw-recording-card:hover .dw-recording-thumbnail img,
.dw-recording-card:focus-within .dw-recording-thumbnail img {
	filter: saturate(1.08) contrast(1.04);
	transform: scale(1.045);
}

.dw-recording-thumbnail__fallback {
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.82rem;
	font-weight: 850;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.dw-play-button {
	height: 3.5rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 3.5rem;
	z-index: 2;
}

.dw-play-button::before {
	border-block-width: 0.42rem;
	border-left-width: 0.64rem;
}

.dw-video-overlay {
	bottom: var(--dw-space-3);
	color: var(--dw-text);
	font-size: 0.78rem;
	font-weight: 850;
	left: var(--dw-space-3);
	letter-spacing: 0.12em;
	position: absolute;
	text-transform: uppercase;
	z-index: 2;
}

.dw-recording-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--dw-space-3);
	padding: var(--dw-space-4);
}

.dw-card-taxonomy {
	color: var(--dw-primary);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.14em;
	line-height: 1.4;
	text-transform: uppercase;
}

.dw-video-title {
	font-size: clamp(1.25rem, 4vw, 1.85rem);
	line-height: 1.12;
	margin: 0;
}

.dw-video-title a {
	color: var(--dw-text);
	text-decoration: none;
}

.dw-video-title a:hover,
.dw-video-title a:focus-visible {
	color: var(--dw-primary);
}

.dw-meta {
	align-items: center;
	color: var(--dw-muted);
	display: flex;
	font-size: 0.92rem;
	gap: var(--dw-space-2);
	justify-content: space-between;
}

.dw-meta strong {
	color: var(--dw-text-soft);
}

.dw-card-meta-row {
	color: var(--dw-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.88rem;
	gap: var(--dw-space-2);
}

.dw-card-meta-row span + span::before {
	color: rgba(255, 255, 255, 0.28);
	content: "/";
	margin-right: var(--dw-space-2);
}

.dw-actions {
	display: grid;
	gap: var(--dw-space-2);
	margin-top: auto;
}

.dw-recording-card--compact .dw-recording-body {
	padding: var(--dw-space-3);
}

.dw-recording-card--compact .dw-video-title {
	font-size: 1.15rem;
}

.dw-recording-card--compact .dw-play-button {
	height: 3rem;
	width: 3rem;
}

.dw-footer-cta {
	padding-top: 0;
}

.dw-footer-cta__panel {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.14), transparent 42%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	display: grid;
	gap: var(--dw-space-4);
	padding: clamp(1.5rem, 5vw, 3rem);
}

.dw-footer-cta__panel .dw-section-subtitle {
	max-width: 700px;
}

/* ==========================================================
   Recordings archive.
========================================================== */

.dw-recordings-archive {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 42rem),
		var(--dw-bg);
}

.dw-recordings-hero {
	background:
		linear-gradient(115deg, rgba(0, 214, 163, 0.12), transparent 42%),
		linear-gradient(180deg, #05060d 0%, #0a0d18 64%, #070914 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	overflow: hidden;
	padding-block: clamp(2.5rem, 6vw, 4.75rem) clamp(2.5rem, 6vw, 4.5rem);
	position: relative;
}

.dw-recordings-hero::before {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 68px 68px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(180deg, #000 0%, transparent 86%);
	opacity: 0.42;
	pointer-events: none;
	position: absolute;
}

.dw-recordings-hero__grid {
	display: grid;
	gap: var(--dw-space-5);
	position: relative;
	z-index: 1;
}

.dw-recordings-hero__content {
	max-width: 760px;
}

.dw-recordings-hero h1 {
	color: var(--dw-text);
	font-size: clamp(2.3rem, 6vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	text-wrap: balance;
}

.dw-recordings-hero p {
	color: var(--dw-text-soft);
	font-size: clamp(1.05rem, 2.4vw, 1.25rem);
	line-height: 1.7;
	margin: var(--dw-space-3) 0 0;
	max-width: 720px;
}

.dw-recordings-hero__stats {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-recordings-hero__stats div {
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	padding: var(--dw-space-4);
}

.dw-recordings-hero__stats strong {
	color: var(--dw-text);
	display: block;
	font-size: clamp(1.6rem, 5vw, 2.6rem);
	line-height: 1;
}

.dw-recordings-hero__stats span {
	color: var(--dw-muted);
	display: block;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	margin-top: 0.55rem;
	text-transform: uppercase;
}

.dw-recordings-tools {
	padding-bottom: 0;
}

.dw-recordings-tools__panel {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.1), transparent 46%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: grid;
	gap: var(--dw-space-4);
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-recordings-tools__panel .dw-section-heading {
	margin-bottom: 0;
}

.dw-search-box--archive {
	margin-top: 0;
	max-width: none;
}

.dw-categories--archive {
	border-top: 1px solid var(--dw-border);
	padding-top: var(--dw-space-3);
}

.dw-archive-featured {
	padding-bottom: clamp(2.5rem, 6vw, 4.5rem);
}

.dw-archive-featured-card {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow);
	display: grid;
	overflow: hidden;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms ease;
}

.dw-archive-featured-card[hidden],
.dw-archive-featured-card.is-hidden {
	display: none;
}

.dw-archive-featured-card:hover,
.dw-archive-featured-card:focus-within {
	border-color: rgba(0, 214, 163, 0.42);
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.38);
	transform: translateY(-4px);
}

.dw-archive-featured-card__media {
	align-items: center;
	aspect-ratio: 16 / 9;
	background:
		linear-gradient(135deg, rgba(244, 201, 93, 0.14), transparent 42%),
		var(--dw-surface-muted);
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.dw-archive-featured-card__media::after {
	background: linear-gradient(180deg, transparent 46%, rgba(0, 0, 0, 0.72) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

.dw-archive-featured-card__media img {
	height: 100%;
	object-fit: cover;
	transition: transform 420ms ease, filter 420ms ease;
	width: 100%;
}

.dw-archive-featured-card:hover .dw-archive-featured-card__media img,
.dw-archive-featured-card:focus-within .dw-archive-featured-card__media img {
	filter: saturate(1.06) contrast(1.05);
	transform: scale(1.035);
}

.dw-archive-featured-card__body {
	display: flex;
	flex-direction: column;
	gap: var(--dw-space-3);
	padding: clamp(1.25rem, 4vw, 2.25rem);
}

.dw-archive-featured-card h3 {
	color: var(--dw-text);
	font-size: clamp(1.55rem, 4vw, 2.35rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

.dw-archive-featured-card h3 a:hover,
.dw-archive-featured-card h3 a:focus-visible {
	color: var(--dw-primary);
}

.dw-archive-featured-card__meta {
	color: var(--dw-muted);
	display: flex;
	flex-wrap: wrap;
	font-weight: 750;
	gap: var(--dw-space-2);
}

.dw-archive-featured-card__meta span + span::before {
	color: rgba(255, 255, 255, 0.32);
	content: "/";
	margin-right: var(--dw-space-2);
}

.dw-recording-section--recent {
	padding-top: 0;
}

.dw-recordings-library {
	padding-top: clamp(2.5rem, 6vw, 4.5rem);
}

.dw-recordings-grid {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-recordings-pagination {
	margin-top: var(--dw-space-5);
}

.dw-recordings-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
}

.dw-recordings-pagination .page-numbers {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text);
	display: inline-flex;
	font-weight: 800;
	justify-content: center;
	min-height: 2.8rem;
	min-width: 2.8rem;
	padding: 0.75rem 0.95rem;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.dw-recordings-pagination .page-numbers.current,
.dw-recordings-pagination .page-numbers:hover,
.dw-recordings-pagination .page-numbers:focus-visible {
	background: var(--dw-primary);
	border-color: var(--dw-primary);
	color: #031310;
	transform: translateY(-1px);
}

.dw-empty-state {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.1), transparent 45%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	padding: clamp(1.5rem, 5vw, 3rem);
}

.dw-empty-state h2 {
	color: var(--dw-text);
	font-size: clamp(1.55rem, 4vw, 2.35rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
}

.dw-empty-state p {
	color: var(--dw-muted);
	font-size: 1.05rem;
	line-height: 1.75;
	margin: var(--dw-space-3) 0 0;
	max-width: 720px;
}

/* ==========================================================
   Premium standard pages: About and Contact.
========================================================== */

.dw-page {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 36rem),
		var(--dw-bg);
}

.dw-page-hero {
	background:
		linear-gradient(115deg, rgba(0, 214, 163, 0.12), transparent 42%),
		linear-gradient(180deg, #05060d 0%, #0a0d18 62%, #070914 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	overflow: hidden;
	padding-block: clamp(2.5rem, 6vw, 4.75rem) clamp(2.75rem, 6vw, 4.75rem);
	position: relative;
}

.dw-page-hero::before {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 68px 68px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
	opacity: 0.42;
	pointer-events: none;
	position: absolute;
}

.dw-page-hero__grid {
	display: grid;
	gap: var(--dw-space-5);
	position: relative;
	z-index: 1;
}

.dw-page-hero h1 {
	color: var(--dw-text);
	font-size: clamp(2.3rem, 6vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0;
	max-width: 780px;
	text-wrap: balance;
}

.dw-page-hero p {
	color: var(--dw-text-soft);
	font-size: clamp(1.05rem, 2.4vw, 1.25rem);
	line-height: 1.7;
	margin: var(--dw-space-3) 0 0;
	max-width: 760px;
}

.dw-page-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-3);
	margin-top: var(--dw-space-5);
}

.dw-page-hero__panel,
.dw-contact-hero__panel {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.12), transparent 48%),
		rgba(255, 255, 255, 0.07);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: grid;
	gap: var(--dw-space-3);
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-page-hero__panel div {
	border-bottom: 1px solid var(--dw-border);
	padding-bottom: var(--dw-space-3);
}

.dw-page-hero__panel div:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.dw-page-hero__panel strong,
.dw-contact-hero__panel strong {
	color: var(--dw-text);
	display: block;
	font-size: clamp(1.5rem, 5vw, 2.35rem);
	line-height: 1;
}

.dw-page-hero__panel span,
.dw-contact-hero__panel span {
	color: var(--dw-muted);
	display: block;
	font-size: 0.82rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	line-height: 1.45;
	margin-top: 0.55rem;
	text-transform: uppercase;
}

.dw-split-panels,
.dw-contact-card-grid,
.dw-icon-card-grid {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-premium-panel,
.dw-icon-card,
.dw-contact-card,
.dw-contact-form-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.09), transparent 46%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	overflow: hidden;
	position: relative;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms ease;
}

.dw-premium-panel,
.dw-icon-card,
.dw-contact-card {
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-premium-panel:hover,
.dw-icon-card:hover,
.dw-contact-card:hover,
.dw-contact-form-card:focus-within {
	border-color: rgba(0, 214, 163, 0.4);
	box-shadow: 0 26px 76px rgba(0, 0, 0, 0.34);
	transform: translateY(-4px);
}

.dw-premium-panel h2,
.dw-icon-card h3,
.dw-contact-card h3 {
	color: var(--dw-text);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.dw-premium-panel h2 {
	font-size: clamp(1.7rem, 5vw, 2.8rem);
}

.dw-premium-panel p,
.dw-icon-card p,
.dw-contact-card p,
.dw-contact-form-card p {
	color: var(--dw-muted);
	line-height: 1.75;
	margin: var(--dw-space-3) 0 0;
}

.dw-feature-list {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-feature-list div {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	padding: var(--dw-space-4);
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.dw-feature-list div:hover {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(0, 214, 163, 0.34);
	transform: translateY(-3px);
}

.dw-feature-list strong {
	color: var(--dw-text);
	display: block;
	font-size: 1.15rem;
	line-height: 1.2;
}

.dw-feature-list span {
	color: var(--dw-muted);
	display: block;
	line-height: 1.65;
	margin-top: 0.55rem;
}

.dw-icon-card span[aria-hidden="true"] {
	align-items: center;
	background: rgba(0, 214, 163, 0.12);
	border: 1px solid rgba(0, 214, 163, 0.28);
	border-radius: var(--dw-radius-md);
	color: var(--dw-primary);
	display: inline-flex;
	font-size: 0.75rem;
	font-weight: 900;
	height: 3rem;
	justify-content: center;
	letter-spacing: 0.08em;
	margin-bottom: var(--dw-space-4);
	width: 3rem;
}

.dw-icon-card h3,
.dw-contact-card h3 {
	font-size: clamp(1.3rem, 4vw, 1.85rem);
}

.dw-timeline {
	counter-reset: journey;
	display: grid;
	gap: var(--dw-space-3);
	list-style: none;
	margin: 0;
	padding: 0;
}

.dw-timeline li {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	display: grid;
	gap: var(--dw-space-3);
	padding: var(--dw-space-4);
	position: relative;
	transition:
		border-color 200ms ease,
		transform 200ms ease;
}

.dw-timeline li:hover {
	border-color: rgba(0, 214, 163, 0.36);
	transform: translateY(-3px);
}

.dw-timeline li > span {
	color: var(--dw-accent);
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.dw-timeline strong {
	color: var(--dw-primary);
	display: block;
	font-size: 0.8rem;
	font-weight: 900;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.dw-timeline h3 {
	color: var(--dw-text);
	font-size: clamp(1.35rem, 4vw, 2rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0.45rem 0 0;
}

.dw-timeline p {
	color: var(--dw-muted);
	line-height: 1.75;
	margin: var(--dw-space-2) 0 0;
}

.dw-community-panel {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.14), transparent 42%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: grid;
	gap: var(--dw-space-4);
	padding: clamp(1.5rem, 5vw, 3rem);
}

.dw-page-content .dw-container {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	color: var(--dw-text-soft);
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-page-content :where(h1, h2, h3, h4, h5, h6) {
	color: var(--dw-text);
	letter-spacing: 0;
}

.dw-page-content :where(p, li) {
	color: var(--dw-text-soft);
	line-height: 1.75;
}

.dw-contact-hero__panel strong {
	font-size: clamp(1.8rem, 5vw, 2.8rem);
}

.dw-contact-hero__panel--image {
	align-items: center;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	min-height: 280px;
	padding: clamp(1.5rem, 5vw, 3rem);
}

.dw-contact-hero__panel--image img {
	filter: drop-shadow(0 28px 60px rgba(0, 0, 0, 0.36));
	height: auto;
	max-height: 360px;
	object-fit: contain;
	width: min(100%, 360px);
}

.dw-contact-card {
	display: flex;
	flex-direction: column;
}

.dw-contact-card .dw-btn {
	margin-top: auto;
	width: 100%;
}

.dw-contact-layout {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-contact-form-card {
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-contact-form-card :where(form, .wpcf7, .wpforms-container, .gform_wrapper) {
	margin: 0;
}

.dw-contact-form-card :where(label) {
	color: var(--dw-text-soft);
	display: block;
	font-weight: 800;
	margin-bottom: 0.45rem;
}

.dw-contact-form-card :where(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]), textarea, select) {
	background: rgba(7, 9, 20, 0.74);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text);
	font: 700 1rem/1.4 var(--dw-font);
	margin-bottom: var(--dw-space-3);
	min-height: 3.2rem;
	padding: 0.85rem 1rem;
	width: 100%;
}

.dw-contact-form-card :where(textarea) {
	min-height: 10rem;
	resize: vertical;
}

.dw-contact-form-card :where(input[type="submit"], button[type="submit"], .wpforms-submit, .gform_button) {
	background: var(--dw-primary);
	border: 1px solid var(--dw-primary);
	border-radius: var(--dw-radius-md);
	box-shadow: 0 12px 30px rgba(0, 214, 163, 0.2);
	color: #031310;
	cursor: pointer;
	font: 850 0.96rem/1 var(--dw-font);
	min-height: 3rem;
	padding: 0.95rem 1.2rem;
	transition:
		background-color 180ms ease,
		transform 180ms ease;
}

.dw-contact-form-card :where(input[type="submit"], button[type="submit"], .wpforms-submit, .gform_button):hover,
.dw-contact-form-card :where(input[type="submit"], button[type="submit"], .wpforms-submit, .gform_button):focus-visible {
	background: var(--dw-primary-hover);
	transform: translateY(-2px);
}

.dw-faq-list {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-faq-item {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	overflow: hidden;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		transform 180ms ease;
}

.dw-faq-item:hover,
.dw-faq-item[open] {
	background: rgba(255, 255, 255, 0.09);
	border-color: rgba(0, 214, 163, 0.34);
	transform: translateY(-2px);
}

.dw-faq-item summary {
	color: var(--dw-text);
	cursor: pointer;
	font-size: 1.05rem;
	font-weight: 850;
	list-style: none;
	padding: var(--dw-space-4);
	position: relative;
}

.dw-faq-item summary::-webkit-details-marker {
	display: none;
}

.dw-faq-item summary::after {
	color: var(--dw-primary);
	content: "+";
	font-size: 1.4rem;
	line-height: 1;
	position: absolute;
	right: var(--dw-space-4);
	top: 50%;
	transform: translateY(-50%);
}

.dw-faq-item[open] summary::after {
	content: "-";
}

.dw-faq-item p {
	border-top: 1px solid var(--dw-border);
	color: var(--dw-muted);
	line-height: 1.75;
	margin: 0;
	padding: var(--dw-space-4);
}

.dw-contact-cta,
.dw-community-section {
	padding-top: 0;
}

/* ==========================================================
   Assignments page.
========================================================== */

.dw-assignments-page,
.dw-resources-page,
.dw-announcements-page {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 36rem),
		var(--dw-bg);
}

.dw-assignments-hero__panel strong,
.dw-resources-hero__panel strong,
.dw-announcements-hero__panel strong {
	font-size: clamp(1.7rem, 5vw, 2.7rem);
}

.dw-assignments-overview-grid,
.dw-resources-overview-grid {
	align-items: stretch;
}

.dw-assignment-grid,
.dw-resource-grid,
.dw-announcement-grid {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-assignment-card,
.dw-resource-card,
.dw-announcement-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.09), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: flex;
	flex-direction: column;
	gap: var(--dw-space-3);
	padding: clamp(1.25rem, 4vw, 2rem);
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
	transform 200ms ease;
}

.dw-assignment-card:hover,
.dw-assignment-card:focus-within,
.dw-resource-card:hover,
.dw-resource-card:focus-within,
.dw-announcement-card:hover,
.dw-announcement-card:focus-within {
	border-color: rgba(0, 214, 163, 0.4);
	box-shadow: 0 26px 76px rgba(0, 0, 0, 0.34);
	transform: translateY(-4px);
}

.dw-assignment-card__top,
.dw-assignment-meta,
.dw-resource-card__top,
.dw-resource-meta,
.dw-announcement-card__top,
.dw-announcement-meta {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
	justify-content: space-between;
}

.dw-assignment-card__module,
.dw-resource-card__module,
.dw-announcement-card__module {
	color: var(--dw-primary);
	font-size: 0.74rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.dw-assignment-badge,
.dw-resource-badge,
.dw-announcement-badge {
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 999px;
	color: var(--dw-text);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	padding: 0.42rem 0.65rem;
	text-transform: uppercase;
}

.dw-resource-badge {
	background: rgba(0, 214, 163, 0.14);
	border-color: rgba(0, 214, 163, 0.32);
	color: var(--dw-primary);
}

.dw-assignment-badge--open {
	background: rgba(0, 214, 163, 0.14);
	border-color: rgba(0, 214, 163, 0.32);
	color: var(--dw-primary);
}

.dw-assignment-badge--due-soon {
	background: rgba(244, 201, 93, 0.13);
	border-color: rgba(244, 201, 93, 0.34);
	color: var(--dw-accent);
}

.dw-assignment-badge--practice {
	background: rgba(255, 255, 255, 0.08);
	border-color: var(--dw-border-strong);
	color: var(--dw-text-soft);
}

.dw-assignment-badge--closed,
.dw-assignment-badge--completed {
	background: rgba(154, 168, 191, 0.14);
	border-color: rgba(154, 168, 191, 0.34);
	color: var(--dw-muted);
}

.dw-announcement-badge,
.dw-announcement-badge--general,
.dw-announcement-badge--normal {
	background: rgba(0, 214, 163, 0.14);
	border-color: rgba(0, 214, 163, 0.32);
	color: var(--dw-primary);
}

.dw-announcement-badge--urgent,
.dw-announcement-badge--critical,
.dw-announcement-badge--important,
.dw-announcement-badge--high {
	background: rgba(255, 93, 108, 0.14);
	border-color: rgba(255, 93, 108, 0.34);
	color: #ff9aa4;
}

.dw-announcement-badge--medium,
.dw-announcement-badge--reminder {
	background: rgba(244, 201, 93, 0.13);
	border-color: rgba(244, 201, 93, 0.34);
	color: var(--dw-accent);
}

.dw-announcement-badge--low,
.dw-announcement-badge--info {
	background: rgba(154, 168, 191, 0.14);
	border-color: rgba(154, 168, 191, 0.34);
	color: var(--dw-muted);
}

.dw-assignment-card h3,
.dw-resource-card h3,
.dw-announcement-card h3 {
	color: var(--dw-text);
	font-size: clamp(1.4rem, 4vw, 2rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.dw-assignment-card h3 a:hover,
.dw-assignment-card h3 a:focus-visible,
.dw-resource-card h3 a:hover,
.dw-resource-card h3 a:focus-visible,
.dw-announcement-card h3 a:hover,
.dw-announcement-card h3 a:focus-visible {
	color: var(--dw-primary);
}

.dw-assignment-meta,
.dw-resource-meta,
.dw-announcement-meta {
	border-block: 1px solid var(--dw-border);
	margin: 0;
	padding-block: var(--dw-space-3);
}

.dw-assignment-meta div,
.dw-resource-meta div,
.dw-announcement-meta div {
	min-width: min(100%, 12rem);
}

.dw-assignment-meta dt,
.dw-resource-meta dt,
.dw-announcement-meta dt {
	color: var(--dw-muted);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dw-assignment-meta dd,
.dw-resource-meta dd,
.dw-announcement-meta dd {
	color: var(--dw-text-soft);
	font-weight: 800;
	margin: 0.35rem 0 0;
}

.dw-assignment-card p,
.dw-resource-card p,
.dw-announcement-card p,
.dw-instructor-note p {
	color: var(--dw-muted);
	line-height: 1.75;
	margin: 0;
}

.dw-assignment-actions,
.dw-resource-actions,
.dw-resource-cta-actions,
.dw-announcement-actions {
	display: grid;
	gap: var(--dw-space-2);
	margin-top: auto;
}

.dw-assignment-card .dw-btn,
.dw-resource-card .dw-btn,
.dw-announcement-card .dw-btn {
	width: 100%;
}

.dw-assignment-guidelines__list {
	color: var(--dw-text-soft);
	display: grid;
	gap: var(--dw-space-3);
	margin: var(--dw-space-4) 0 0;
	padding-left: 1.35rem;
}

.dw-assignment-guidelines__list li {
	line-height: 1.65;
	padding-left: 0.35rem;
}

.dw-assignment-guidelines__list li::marker {
	color: var(--dw-primary);
	font-weight: 900;
}

.dw-assignment-detail-hero,
.dw-resource-detail-hero,
.dw-announcement-detail-hero {
	padding-bottom: clamp(3rem, 7vw, 5rem);
}

.dw-assignment-detail-shell,
.dw-resource-detail-shell,
.dw-announcement-detail-shell {
	display: grid;
	gap: var(--dw-space-4);
	position: relative;
	z-index: 1;
}

.dw-assignment-detail-main,
.dw-resource-detail-main,
.dw-announcement-detail-main {
	min-width: 0;
}

.dw-assignment-detail-card,
.dw-resource-detail-card,
.dw-announcement-detail-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.08), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow);
	display: grid;
	gap: var(--dw-space-4);
	padding: clamp(1.25rem, 4vw, 2.35rem);
}

.dw-assignment-detail-card h1,
.dw-resource-detail-card h1,
.dw-announcement-detail-card h1 {
	color: var(--dw-text);
	font-size: clamp(2rem, 5vw, 3.45rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.04;
	margin: 0;
	text-wrap: balance;
}

.dw-assignment-featured-image,
.dw-resource-featured-image,
.dw-announcement-featured-image {
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	margin: 0;
	overflow: hidden;
}

.dw-assignment-featured-image img,
.dw-resource-featured-image img,
.dw-announcement-featured-image img {
	aspect-ratio: 16 / 9;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.dw-assignment-content,
.dw-resource-content,
.dw-announcement-content {
	color: var(--dw-text-soft);
	font-size: 1.04rem;
	line-height: 1.8;
}

.dw-assignment-content > *:first-child,
.dw-resource-content > *:first-child,
.dw-announcement-content > *:first-child {
	margin-top: 0;
}

.dw-assignment-content > *:last-child,
.dw-resource-content > *:last-child,
.dw-announcement-content > *:last-child {
	margin-bottom: 0;
}

.dw-assignment-content :where(h2, h3, h4, h5, h6),
.dw-resource-content :where(h2, h3, h4, h5, h6),
.dw-announcement-content :where(h2, h3, h4, h5, h6) {
	color: var(--dw-text);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.1;
}

.dw-assignment-content a,
.dw-resource-content a,
.dw-announcement-content a {
	color: var(--dw-primary);
	font-weight: 800;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.dw-assignment-actions--detail,
.dw-resource-actions--detail,
.dw-announcement-actions--detail {
	margin-top: 0;
}

.dw-assignment-detail-sidebar,
.dw-resource-detail-sidebar,
.dw-announcement-detail-sidebar {
	min-width: 0;
}

.dw-assignment-detail-sidebar .dw-lesson-details-card,
.dw-resource-detail-sidebar .dw-lesson-details-card,
.dw-announcement-detail-sidebar .dw-lesson-details-card {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-assignment-detail-sidebar h2,
.dw-resource-detail-sidebar h2,
.dw-announcement-detail-sidebar h2 {
	color: var(--dw-text);
	font-size: clamp(1.45rem, 4vw, 2rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.dw-assignment-meta--sidebar,
.dw-resource-meta--sidebar,
.dw-announcement-meta--sidebar {
	align-items: stretch;
	border-bottom: 0;
	display: grid;
	gap: var(--dw-space-3);
	padding-bottom: 0;
}

.dw-assignment-meta--sidebar div,
.dw-resource-meta--sidebar div,
.dw-announcement-meta--sidebar div {
	border-bottom: 1px solid var(--dw-border);
	min-width: 0;
	padding-bottom: var(--dw-space-3);
}

.dw-assignment-meta--sidebar div:last-child,
.dw-resource-meta--sidebar div:last-child,
.dw-announcement-meta--sidebar div:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

/* ==========================================================
   Assignment submissions and instructor feedback.
========================================================== */

.dw-assignment-submission-section {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.07), transparent 42%),
		var(--dw-bg);
	border-block: 1px solid var(--dw-border);
}

.dw-submission-layout,
.dw-feedback-notice-grid {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-submission-layout {
	align-items: start;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr));
}

.dw-submission-summary-card,
.dw-submission-feedback-card,
.dw-submission-form,
.dw-feedback-notice-card,
.dw-feedback-spotlight-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.08), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: grid;
	gap: var(--dw-space-3);
	min-width: 0;
	padding: clamp(1.2rem, 4vw, 1.8rem);
}

.dw-submission-feedback-card.is-unread,
.dw-submission-feedback-card.is-highlighted,
.dw-submission-feedback-card:target,
.dw-feedback-notice-card.is-unread,
.dw-feedback-spotlight-card.is-unread,
.dw-dashboard-stat-card.has-notice {
	border-color: rgba(0, 214, 163, 0.62);
	box-shadow: 0 0 0 1px rgba(0, 214, 163, 0.12), var(--dw-shadow-soft);
}

.dw-submission-card__header,
.dw-feedback-notice-card__header {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
	justify-content: space-between;
}

.dw-submission-summary-card h3,
.dw-submission-feedback-card h3,
.dw-submission-form h3,
.dw-feedback-notice-card h3,
.dw-feedback-spotlight-card h2 {
	color: var(--dw-text);
	font-size: clamp(1.25rem, 3vw, 1.65rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.15;
	margin: 0;
}

.dw-submission-summary-card p,
.dw-submission-feedback-card p,
.dw-feedback-notice-card p,
.dw-feedback-spotlight-card p,
.dw-submission-feedback-copy {
	color: var(--dw-muted);
	line-height: 1.7;
	margin: 0;
}

.dw-submission-feedback-copy {
	background: rgba(255, 255, 255, 0.045);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text-soft);
	padding: var(--dw-space-3);
	white-space: pre-wrap;
}

.dw-feedback-meta,
.dw-feedback-resubmit-note {
	color: var(--dw-muted);
	font-size: 0.92rem;
}

.dw-submission-feedback-card small,
.dw-feedback-notice-card__meta {
	color: var(--dw-muted);
	font-size: 0.78rem;
}

.dw-submission-work-link,
.dw-feedback-notice-card h3 a {
	color: var(--dw-primary);
	font-weight: 850;
	overflow-wrap: anywhere;
	text-decoration: none;
}

.dw-submission-work-link:hover,
.dw-submission-work-link:focus-visible,
.dw-feedback-notice-card h3 a:hover,
.dw-feedback-notice-card h3 a:focus-visible {
	color: var(--dw-text);
}

.dw-submission-status,
.dw-feedback-new-badge {
	align-items: center;
	border: 1px solid var(--dw-border);
	border-radius: 999px;
	display: inline-flex;
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	line-height: 1;
	padding: 0.5rem 0.7rem;
	text-transform: uppercase;
}

.dw-submission-status {
	background: rgba(148, 163, 184, 0.1);
	color: var(--dw-text-soft);
}

.dw-submission-status--under_review,
.dw-submission-status--under-review {
	background: rgba(250, 204, 21, 0.1);
	border-color: rgba(250, 204, 21, 0.35);
	color: #fde68a;
}

.dw-submission-status--submitted {
	background: rgba(59, 130, 246, 0.14);
	border-color: rgba(59, 130, 246, 0.32);
	color: #93c5fd;
}

.dw-submission-status--approved,
.dw-submission-status--completed {
	background: rgba(0, 214, 163, 0.12);
	border-color: rgba(0, 214, 163, 0.4);
	color: var(--dw-primary);
}

.dw-submission-status--accepted {
	background: rgba(0, 214, 163, 0.12);
	border-color: rgba(0, 214, 163, 0.4);
	color: var(--dw-primary);
}

.dw-submission-status--needs_improvement,
.dw-submission-status--resubmission_requested,
.dw-submission-status--changes_requested {
	background: rgba(251, 113, 133, 0.1);
	border-color: rgba(251, 113, 133, 0.38);
	color: #fda4af;
}

.dw-feedback-new-badge {
	background: var(--dw-primary);
	border-color: var(--dw-primary);
	color: #03110e;
}

.dw-submission-form label {
	color: var(--dw-text-soft);
	font-size: 0.8rem;
	font-weight: 800;
}

.dw-submission-form :where(input[type="url"], textarea) {
	background: rgba(5, 6, 13, 0.72);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-sm);
	color: var(--dw-text);
	font: inherit;
	line-height: 1.5;
	padding: 0.85rem 0.95rem;
	width: 100%;
}

.dw-submission-form :where(input[type="url"], textarea):focus {
	border-color: var(--dw-primary);
	box-shadow: 0 0 0 3px rgba(0, 214, 163, 0.14);
	outline: 0;
}

.dw-submission-form textarea {
	min-height: 8rem;
	resize: vertical;
}

.dw-submission-form .dw-btn,
.dw-feedback-notice-card .dw-btn {
	justify-self: start;
}

.dw-submission-message {
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text-soft);
	font-weight: 700;
	margin-bottom: var(--dw-space-4);
	padding: 0.9rem 1rem;
}

.dw-submission-message--success {
	background: rgba(0, 214, 163, 0.1);
	border-color: rgba(0, 214, 163, 0.35);
}

.dw-submission-message--error {
	background: rgba(251, 113, 133, 0.1);
	border-color: rgba(251, 113, 133, 0.38);
}

.dw-feedback-notice-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.dw-feedback-notice-card {
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.dw-feedback-spotlight-card {
	align-items: center;
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.16), transparent 42%),
		linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.02)),
		var(--dw-surface);
	grid-template-columns: minmax(0, 1fr) auto;
}

.dw-feedback-spotlight-card__content,
.dw-feedback-spotlight-card__actions,
.dw-feedback-card-actions {
	display: grid;
	gap: var(--dw-space-3);
	min-width: 0;
}

.dw-feedback-spotlight-card__actions {
	justify-items: stretch;
	min-width: min(100%, 220px);
}

.dw-feedback-card-actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
}

.dw-feedback-notice-card:hover,
.dw-feedback-notice-card:focus-within {
	border-color: rgba(0, 214, 163, 0.48);
	transform: translateY(-3px);
}

/* ==========================================================
   Notification center, header bell, and dashboard widgets.
========================================================== */

.dw-notification-menu-item {
	align-items: center;
	display: flex;
	position: relative;
}

.dw-notification-bell {
	align-items: center;
	background: transparent;
	border: 0;
	color: inherit;
	cursor: pointer;
	display: inline-flex;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 0.6rem;
	position: relative;
}

.dw-notification-bell:focus-visible {
	box-shadow: 0 0 0 3px rgba(0, 214, 163, 0.22);
	outline: 0;
}

.dw-notification-bell__icon {
	align-items: center;
	border: 1px solid currentColor;
	border-radius: 50%;
	display: inline-flex;
	font-size: 0.67rem;
	font-weight: 900;
	height: 1.8rem;
	justify-content: center;
	width: 1.8rem;
}

.dw-notification-bell__count {
	align-items: center;
	background: var(--dw-primary);
	border: 2px solid #fff;
	border-radius: 999px;
	color: #03110e;
	display: inline-flex;
	font-size: 0.62rem;
	font-weight: 900;
	height: 1.25rem;
	justify-content: center;
	min-width: 1.25rem;
	padding-inline: 0.2rem;
	position: absolute;
	right: 0.15rem;
	top: 0.15rem;
}

.dw-notification-dropdown {
	background: #11172a;
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	box-shadow: 0 26px 80px rgba(0, 0, 0, 0.45);
	color: var(--dw-text);
	inline-size: min(390px, calc(100vw - 2rem));
	position: absolute;
	right: 0;
	top: calc(100% + 0.65rem);
	z-index: 1000;
}

.dw-notification-dropdown__header {
	align-items: center;
	border-bottom: 1px solid var(--dw-border);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding: 1rem;
}

.dw-notification-dropdown__header button {
	background: transparent;
	border: 0;
	color: var(--dw-primary);
	cursor: pointer;
	font: inherit;
	font-size: 0.75rem;
	font-weight: 800;
	padding: 0.35rem;
}

.dw-notification-dropdown__list {
	max-height: min(440px, 60vh);
	overflow-y: auto;
}

.dw-notification-dropdown__item {
	align-items: start;
	border-bottom: 1px solid var(--dw-border);
	color: var(--dw-text-soft) !important;
	display: grid !important;
	gap: 0.75rem;
	grid-template-columns: auto minmax(0, 1fr);
	line-height: 1.35 !important;
	padding: 0.9rem 1rem !important;
	text-decoration: none;
}

.dw-notification-dropdown__item.is-unread {
	background: rgba(0, 214, 163, 0.08);
}

.dw-notification-dropdown__item:hover,
.dw-notification-dropdown__item:focus-visible {
	background: rgba(255, 255, 255, 0.06);
}

.dw-notification-dropdown__item strong,
.dw-notification-dropdown__item small {
	display: block;
}

.dw-notification-dropdown__item strong {
	color: var(--dw-text);
	font-size: 0.82rem;
}

.dw-notification-dropdown__item small {
	color: var(--dw-muted);
	font-size: 0.69rem;
	margin-top: 0.28rem;
}

.dw-notification-dropdown__empty {
	color: var(--dw-muted);
	margin: 0;
	padding: 1.5rem 1rem;
	text-align: center;
}

.dw-notification-dropdown__footer {
	color: var(--dw-primary) !important;
	display: block !important;
	font-size: 0.78rem;
	font-weight: 850;
	padding: 0.9rem 1rem !important;
	text-align: center;
	text-decoration: none;
}

.dw-notifications-page {
	background: var(--dw-bg);
}

.dw-notifications-hero {
	border-bottom: 1px solid var(--dw-border);
}

.dw-notification-hero-card,
.dw-notification-card,
.dw-admin-notification-panel {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.08), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
}

.dw-notification-hero-card {
	display: grid;
	gap: var(--dw-space-3);
	padding: clamp(1.35rem, 4vw, 2rem);
}

.dw-notification-hero-card > span {
	color: var(--dw-primary);
	font-size: 0.75rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dw-notification-hero-card > strong {
	color: var(--dw-text);
	font-size: clamp(2.5rem, 8vw, 4.5rem);
	line-height: 1;
}

.dw-notification-hero-card > p {
	color: var(--dw-muted);
	line-height: 1.65;
	margin: 0;
}

.dw-notification-hero-card .dw-btn {
	justify-self: start;
}

.dw-notification-filter-band,
.dw-notification-read-section {
	background: rgba(17, 23, 42, 0.42);
	border-block: 1px solid var(--dw-border);
}

.dw-notification-filters {
	align-items: end;
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 170px), 1fr));
}

.dw-notification-filters label {
	display: grid;
	gap: 0.5rem;
}

.dw-notification-filters label > span {
	color: var(--dw-text-soft);
	font-size: 0.75rem;
	font-weight: 800;
}

.dw-notification-filters :where(input, select) {
	background: rgba(5, 6, 13, 0.72);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-sm);
	color: var(--dw-text);
	font: inherit;
	min-height: 46px;
	padding: 0.75rem 0.85rem;
	width: 100%;
}

.dw-notification-filters :where(input, select):focus {
	border-color: var(--dw-primary);
	box-shadow: 0 0 0 3px rgba(0, 214, 163, 0.14);
	outline: 0;
}

.dw-notification-filter-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
}

.dw-notification-list {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-notification-card {
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: auto minmax(0, 1fr);
	padding: clamp(1.1rem, 3vw, 1.5rem);
	position: relative;
	transition: border-color 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.dw-notification-card.is-unread {
	border-color: rgba(0, 214, 163, 0.5);
}

.dw-notification-card.is-read {
	opacity: 0.76;
}

.dw-notification-card--critical {
	border-left: 4px solid #fb7185;
}

.dw-notification-card--high {
	border-left: 4px solid #facc15;
}

.dw-notification-card:hover,
.dw-notification-card:focus-within {
	border-color: rgba(0, 214, 163, 0.55);
	transform: translateY(-2px);
}

.dw-notification-icon {
	align-items: center;
	background: rgba(0, 214, 163, 0.12);
	border: 1px solid rgba(0, 214, 163, 0.35);
	border-radius: var(--dw-radius-sm);
	color: var(--dw-primary);
	display: inline-flex;
	font-size: 0.62rem;
	font-weight: 900;
	height: 2.35rem;
	justify-content: center;
	letter-spacing: 0.02em;
	min-width: 2.35rem;
	padding-inline: 0.35rem;
}

.dw-notification-icon--warning {
	background: rgba(251, 113, 133, 0.1);
	border-color: rgba(251, 113, 133, 0.35);
	color: #fda4af;
}

.dw-notification-icon--calendar {
	background: rgba(250, 204, 21, 0.1);
	border-color: rgba(250, 204, 21, 0.35);
	color: #fde68a;
}

.dw-notification-card__content {
	display: grid;
	gap: 0.7rem;
	min-width: 0;
}

.dw-notification-card__meta {
	align-items: center;
	color: var(--dw-muted);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.7rem;
	gap: var(--dw-space-2);
	justify-content: space-between;
	text-transform: capitalize;
}

.dw-notification-card h3 {
	color: var(--dw-text);
	font-size: clamp(1.12rem, 3vw, 1.4rem);
	margin: 0;
}

.dw-notification-card p {
	color: var(--dw-muted);
	line-height: 1.65;
	margin: 0;
}

.dw-notification-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
}

.dw-notification-card__actions .dw-btn {
	min-height: 40px;
	padding: 0.65rem 0.85rem;
}

.dw-dashboard-notification-list,
.dw-admin-notification-list {
	display: grid;
	gap: var(--dw-space-2);
}

.dw-dashboard-notification-item {
	align-items: center;
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text);
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 1rem;
	text-decoration: none;
	transition: border-color 180ms ease, transform 180ms ease;
}

.dw-dashboard-notification-item.is-unread {
	background: linear-gradient(90deg, rgba(0, 214, 163, 0.1), var(--dw-surface));
	border-color: rgba(0, 214, 163, 0.42);
}

.dw-dashboard-notification-item:hover,
.dw-dashboard-notification-item:focus-visible {
	border-color: var(--dw-primary);
	transform: translateX(3px);
}

.dw-dashboard-notification-item strong,
.dw-dashboard-notification-item small {
	display: block;
}

.dw-dashboard-notification-item small,
.dw-dashboard-notification-item time {
	color: var(--dw-muted);
	font-size: 0.75rem;
	margin-top: 0.2rem;
}

.dw-admin-notification-grid {
	display: grid;
	gap: var(--dw-space-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dw-admin-notification-panel {
	padding: clamp(1.1rem, 3vw, 1.5rem);
}

.dw-admin-notification-panel h3 {
	color: var(--dw-text);
	font-size: 1.1rem;
	margin: 0 0 var(--dw-space-3);
}

.dw-admin-notification-list a {
	border-top: 1px solid var(--dw-border);
	color: var(--dw-text-soft);
	display: grid;
	gap: 0.25rem;
	padding-block: 0.8rem;
	text-decoration: none;
}

.dw-admin-notification-list a:hover strong,
.dw-admin-notification-list a:focus-visible strong {
	color: var(--dw-primary);
}

.dw-admin-notification-list strong,
.dw-admin-notification-list span,
.dw-admin-notification-list small {
	display: block;
}

.dw-admin-notification-list span,
.dw-admin-notification-list small {
	color: var(--dw-muted);
	font-size: 0.76rem;
}

.dw-notification-preferences {
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	display: grid;
	gap: var(--dw-space-3);
	margin: var(--dw-space-3) 0;
	padding: 1rem;
}

.dw-notification-preferences legend {
	color: var(--dw-text);
	font-weight: 850;
	padding-inline: 0.35rem;
}

.dw-notification-preferences > p {
	color: var(--dw-muted);
	font-size: 0.82rem;
	line-height: 1.6;
	margin: 0;
}

.dw-notification-preference-grid {
	display: grid;
	gap: 0.65rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dw-notification-preference-grid label {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 0.65rem;
}

.dw-notification-preference-grid input {
	accent-color: var(--dw-primary);
	height: 1rem;
	width: 1rem;
}

/* ==========================================================
   Quizzes and assessments.
========================================================== */

.dw-quizzes-page,
.dw-my-quizzes-page,
.dw-single-quiz-page,
.dw-quiz-workspace {
	background: var(--dw-bg);
}

.dw-quiz-grid,
.dw-quiz-summary-grid,
.dw-quiz-result-summary {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-quiz-grid {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr));
}

.dw-quiz-card,
.dw-quiz-hero-panel,
.dw-quiz-summary-grid article,
.dw-quiz-score-card,
.dw-dashboard-quiz-results,
.dw-quiz-instructor-comments {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.08), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
}

.dw-quiz-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.dw-quiz-card:hover,
.dw-quiz-card:focus-within {
	border-color: rgba(0, 214, 163, 0.48);
	box-shadow: var(--dw-shadow);
	transform: translateY(-4px);
}

.dw-quiz-card__image {
	display: block;
	overflow: hidden;
}

.dw-quiz-card__image img {
	aspect-ratio: 16 / 9;
	display: block;
	object-fit: cover;
	transition: transform 260ms ease;
	width: 100%;
}

.dw-quiz-card:hover .dw-quiz-card__image img {
	transform: scale(1.025);
}

.dw-quiz-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--dw-space-3);
	padding: clamp(1.15rem, 3vw, 1.5rem);
}

.dw-quiz-card__meta {
	color: var(--dw-primary);
	display: flex;
	flex-wrap: wrap;
	font-size: 0.7rem;
	font-weight: 850;
	gap: var(--dw-space-2);
	justify-content: space-between;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.dw-quiz-card h2 {
	font-size: clamp(1.3rem, 3vw, 1.65rem);
	line-height: 1.12;
	margin: 0;
}

.dw-quiz-card h2 a {
	color: var(--dw-text);
	text-decoration: none;
}

.dw-quiz-card p,
.dw-quiz-hero-panel p,
.dw-dashboard-quiz-results p {
	color: var(--dw-muted);
	line-height: 1.65;
	margin: 0;
}

.dw-quiz-card .dw-btn {
	margin-top: auto;
}

.dw-quiz-hero-panel,
.dw-quiz-score-card {
	display: grid;
	gap: var(--dw-space-3);
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-quiz-hero-panel > strong,
.dw-quiz-score-card > strong {
	color: var(--dw-text);
	font-size: clamp(2.7rem, 8vw, 4.75rem);
	line-height: 1;
}

.dw-quiz-hero-panel > span,
.dw-quiz-score-card > span {
	color: var(--dw-primary);
	font-size: 0.75rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dw-quiz-hero-panel dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.dw-quiz-hero-panel dl div {
	border: 1px solid var(--dw-border);
	padding: 0.85rem;
}

.dw-quiz-hero-panel dt {
	color: var(--dw-muted);
	font-size: 0.7rem;
	text-transform: uppercase;
}

.dw-quiz-hero-panel dd {
	color: var(--dw-text);
	font-size: 1.05rem;
	font-weight: 850;
	margin: 0.2rem 0 0;
}

.dw-quiz-introduction,
.dw-quiz-content {
	color: var(--dw-text-soft);
	line-height: 1.75;
}

.dw-quiz-introduction > ul {
	color: var(--dw-muted);
	display: grid;
	gap: 0.6rem;
}

.dw-quiz-summary-grid,
.dw-quiz-result-summary {
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.dw-quiz-summary-grid article,
.dw-quiz-result-summary article {
	display: grid;
	gap: 0.6rem;
	padding: 1.2rem;
}

.dw-quiz-summary-grid span,
.dw-quiz-result-summary span {
	color: var(--dw-primary);
	font-size: 0.7rem;
	font-weight: 850;
	text-transform: uppercase;
}

.dw-quiz-summary-grid strong,
.dw-quiz-result-summary strong {
	color: var(--dw-text);
	font-size: 2rem;
}

.dw-quiz-attempt-list {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-quiz-attempt-list article {
	align-items: center;
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: minmax(0, 1fr) auto auto;
	padding: 1rem;
}

.dw-quiz-attempt-list h3 {
	color: var(--dw-text);
	margin: 0.5rem 0 0;
}

.dw-quiz-attempt-list p {
	color: var(--dw-muted);
	margin: 0.25rem 0 0;
}

.dw-quiz-attempt-list > article > strong {
	color: var(--dw-text);
	font-size: 1.5rem;
}

.dw-quiz-result-pill {
	background: rgba(148, 163, 184, 0.1);
	border: 1px solid var(--dw-border);
	border-radius: 999px;
	color: var(--dw-text-soft);
	display: inline-flex;
	font-size: 0.68rem;
	font-weight: 850;
	padding: 0.4rem 0.65rem;
	width: fit-content;
}

.dw-quiz-result-pill--pass {
	background: rgba(0, 214, 163, 0.1);
	border-color: rgba(0, 214, 163, 0.35);
	color: var(--dw-primary);
}

.dw-quiz-result-pill--fail {
	background: rgba(251, 113, 133, 0.1);
	border-color: rgba(251, 113, 133, 0.35);
	color: #fda4af;
}

.dw-quiz-workspace {
	min-height: 100vh;
}

.dw-quiz-workspace__header {
	background: rgba(5, 6, 13, 0.96);
	border-bottom: 1px solid var(--dw-border);
	position: sticky;
	top: 0;
	z-index: 20;
}

.admin-bar .dw-quiz-workspace__header {
	top: 32px;
}

.dw-quiz-workspace__header .dw-container {
	align-items: center;
	display: flex;
	gap: var(--dw-space-4);
	justify-content: space-between;
	padding-block: 1rem;
}

.dw-quiz-workspace__header span {
	color: var(--dw-primary);
	font-size: 0.7rem;
	font-weight: 850;
	text-transform: uppercase;
}

.dw-quiz-workspace__header h1 {
	color: var(--dw-text);
	font-size: clamp(1.1rem, 3vw, 1.55rem);
	margin: 0.25rem 0 0;
}

.dw-quiz-timer {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-sm);
	color: var(--dw-text);
	font-size: 1.25rem;
	font-variant-numeric: tabular-nums;
	font-weight: 850;
	padding: 0.7rem 0.9rem;
}

.dw-quiz-timer.is-critical {
	border-color: #fb7185;
	color: #fda4af;
}

.dw-quiz-progress {
	background: rgba(255, 255, 255, 0.08);
	height: 4px;
	overflow: hidden;
}

.dw-quiz-progress span {
	background: var(--dw-primary);
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 180ms ease;
}

.dw-quiz-workspace__layout {
	display: grid;
	gap: var(--dw-space-4);
	padding-block: clamp(1.5rem, 5vw, 3.5rem);
}

.dw-quiz-question-nav {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	display: grid;
	gap: var(--dw-space-3);
	padding: 1rem;
}

.dw-quiz-question-nav > strong {
	color: var(--dw-text);
}

.dw-quiz-question-nav > div {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: repeat(auto-fill, minmax(40px, 1fr));
}

.dw-quiz-question-nav button {
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-sm);
	color: var(--dw-text-soft);
	cursor: pointer;
	min-height: 40px;
}

.dw-quiz-question-nav button.is-current {
	border-color: var(--dw-primary);
	box-shadow: 0 0 0 2px rgba(0, 214, 163, 0.12);
}

.dw-quiz-question-nav button.is-answered {
	background: rgba(0, 214, 163, 0.14);
	color: var(--dw-primary);
}

.dw-quiz-question-nav button.is-flagged {
	border-color: #facc15;
}

.dw-quiz-question-nav p {
	color: var(--dw-muted);
	font-size: 0.75rem;
	margin: 0;
}

.dw-quiz-question {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.06), transparent 45%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: grid;
	gap: var(--dw-space-4);
	margin: 0;
	min-width: 0;
	padding: clamp(1.2rem, 4vw, 2rem);
}

.dw-quiz-question legend {
	color: var(--dw-text);
	font-size: clamp(1.25rem, 3vw, 1.75rem);
	font-weight: 850;
	line-height: 1.3;
	max-width: 100%;
	padding: 0;
}

.dw-quiz-question legend span {
	color: var(--dw-primary);
	display: block;
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
}

.dw-quiz-question__meta,
.dw-quiz-question__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
	justify-content: space-between;
}

.dw-quiz-question__meta {
	color: var(--dw-muted);
	font-size: 0.75rem;
}

.dw-quiz-option {
	align-items: center;
	background: rgba(5, 6, 13, 0.56);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text-soft);
	cursor: pointer;
	display: flex;
	gap: 0.8rem;
	padding: 0.95rem 1rem;
	transition: border-color 160ms ease, background 160ms ease;
}

.dw-quiz-option:has(input:checked) {
	background: rgba(0, 214, 163, 0.1);
	border-color: var(--dw-primary);
}

.dw-quiz-option input {
	accent-color: var(--dw-primary);
}

.dw-quiz-text-answer {
	display: grid;
	gap: 0.6rem;
}

.dw-quiz-text-answer span {
	color: var(--dw-text-soft);
	font-weight: 800;
}

.dw-quiz-text-answer textarea {
	background: rgba(5, 6, 13, 0.7);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-sm);
	color: var(--dw-text);
	font: inherit;
	padding: 0.9rem;
	resize: vertical;
	width: 100%;
}

.dw-quiz-hint {
	color: var(--dw-muted);
}

.dw-quiz-hint summary {
	color: var(--dw-primary);
	cursor: pointer;
	font-weight: 800;
}

.dw-quiz-submit-dialog {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	color: var(--dw-text);
	max-width: 480px;
	padding: 1.5rem;
}

.dw-quiz-submit-dialog::backdrop {
	background: rgba(0, 0, 0, 0.74);
}

.dw-quiz-submit-dialog h2 {
	color: var(--dw-text);
	margin-top: 0;
}

.dw-quiz-submit-dialog p {
	color: var(--dw-muted);
}

.dw-quiz-submit-dialog > div {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
}

.dw-quiz-score-card p {
	color: var(--dw-muted);
	margin: 0;
}

.dw-quiz-instructor-comments {
	margin-block: var(--dw-space-4);
	padding: 1.25rem;
}

.dw-quiz-instructor-comments p {
	color: var(--dw-text-soft);
	line-height: 1.7;
}

.dw-quiz-review-list {
	display: grid;
	gap: var(--dw-space-3);
	margin-block: var(--dw-space-4);
}

.dw-quiz-review-list article {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-left: 4px solid #fb7185;
	border-radius: var(--dw-radius-md);
	padding: 1.15rem;
}

.dw-quiz-review-list article.is-correct {
	border-left-color: var(--dw-primary);
}

.dw-quiz-review-list h3 {
	color: var(--dw-text);
}

.dw-quiz-review-list p {
	color: var(--dw-muted);
	line-height: 1.6;
}

.dw-dashboard-quiz-layout {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-dashboard-quiz-results {
	display: grid;
	gap: var(--dw-space-3);
	padding: 1.2rem;
}

.dw-dashboard-quiz-results h3 {
	color: var(--dw-text);
	margin: 0;
}

.dw-dashboard-quiz-results a {
	align-items: center;
	border-top: 1px solid var(--dw-border);
	color: var(--dw-text-soft);
	display: flex;
	gap: 1rem;
	justify-content: space-between;
	padding-top: 0.8rem;
	text-decoration: none;
}

.dw-dashboard-quiz-results a:hover {
	color: var(--dw-primary);
}

/* ==========================================================
   Student dashboard page.
========================================================== */

.dw-dashboard-page {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 38rem),
		var(--dw-bg);
}

.dw-dashboard-page [id^="dw-dashboard-"] {
	scroll-margin-top: 5.5rem;
}

.dw-dashboard-nav {
	background: rgba(5, 7, 15, 0.94);
	border-bottom: 1px solid var(--dw-border);
	border-top: 1px solid var(--dw-border);
	position: sticky;
	top: 0;
	z-index: 20;
}

.admin-bar .dw-dashboard-nav {
	top: 32px;
}

.dw-dashboard-nav__scroll {
	display: flex;
	gap: 0.35rem;
	overflow-x: auto;
	padding-block: 0.65rem;
	scrollbar-width: thin;
}

.dw-dashboard-nav a {
	border: 1px solid transparent;
	border-radius: 999px;
	color: var(--dw-muted);
	flex: 0 0 auto;
	font-size: 0.82rem;
	font-weight: 800;
	padding: 0.58rem 0.85rem;
	text-decoration: none;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease;
}

.dw-dashboard-nav a:hover,
.dw-dashboard-nav a:focus-visible {
	background: rgba(0, 214, 163, 0.1);
	border-color: rgba(0, 214, 163, 0.34);
	color: var(--dw-primary);
}

.dw-dashboard-page .dw-section {
	padding-block: clamp(2.4rem, 5vw, 4.5rem);
}

.dw-dashboard-hero__panel {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.12), transparent 48%),
		rgba(255, 255, 255, 0.07);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: grid;
	gap: var(--dw-space-3);
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-dashboard-hero__panel div {
	border-bottom: 1px solid var(--dw-border);
	padding-bottom: var(--dw-space-3);
}

.dw-dashboard-hero__panel div:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.dw-dashboard-hero__panel strong {
	color: var(--dw-text);
	display: block;
	font-size: clamp(1.8rem, 5vw, 2.8rem);
	line-height: 1;
}

.dw-dashboard-hero__panel span {
	color: var(--dw-muted);
	display: block;
	font-size: 0.82rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	line-height: 1.45;
	margin-top: 0.55rem;
	text-transform: uppercase;
}

.dw-dashboard-stat-grid,
.dw-dashboard-content-grid,
.dw-dashboard-progress-grid,
.dw-dashboard-action-grid,
.dw-learning-progress-grid,
.dw-bookmark-summary-grid,
.dw-saved-bookmarks-list {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-dashboard-stat-card,
.dw-dashboard-mini-card,
.dw-dashboard-progress-card,
.dw-dashboard-action-card,
.dw-learning-progress-summary,
.dw-learning-progress-card,
.dw-bookmark-summary-card,
.dw-saved-bookmark-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.09), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: flex;
	flex-direction: column;
	gap: var(--dw-space-3);
	padding: clamp(1.25rem, 4vw, 2rem);
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms ease;
}

.dw-dashboard-stat-card:hover,
.dw-dashboard-stat-card:focus-within,
.dw-dashboard-mini-card:hover,
.dw-dashboard-mini-card:focus-within,
.dw-dashboard-progress-card:hover,
.dw-dashboard-progress-card:focus-within,
.dw-dashboard-action-card:hover,
.dw-dashboard-action-card:focus-visible,
.dw-learning-progress-summary:hover,
.dw-learning-progress-summary:focus-within,
.dw-bookmark-summary-card:hover,
.dw-bookmark-summary-card:focus-within,
.dw-saved-bookmark-card:hover,
.dw-saved-bookmark-card:focus-within {
	border-color: rgba(0, 214, 163, 0.4);
	box-shadow: 0 26px 76px rgba(0, 0, 0, 0.34);
	transform: translateY(-4px);
}

.dw-dashboard-stat-card span,
.dw-dashboard-card-kicker,
.dw-dashboard-action-card span,
.dw-progress-card__label {
	color: var(--dw-primary);
	font-size: 0.74rem;
	font-weight: 850;
	letter-spacing: 0.12em;
	line-height: 1.35;
	text-transform: uppercase;
}

.dw-dashboard-stat-card strong {
	color: var(--dw-text);
	font-size: clamp(1.9rem, 5vw, 2.75rem);
	line-height: 1;
}

.dw-auth-help {
	color: var(--dw-muted);
	display: block;
	font-size: 0.78rem;
	line-height: 1.5;
	margin-top: -0.35rem;
}

.dw-dashboard-stat-card a,
.dw-dashboard-action-card,
.dw-learning-progress-summary a,
.dw-bookmark-summary-card a {
	color: var(--dw-text);
	font-weight: 850;
}

.dw-dashboard-stat-card a:hover,
.dw-dashboard-stat-card a:focus-visible,
.dw-learning-progress-summary a:hover,
.dw-learning-progress-summary a:focus-visible,
.dw-bookmark-summary-card a:hover,
.dw-bookmark-summary-card a:focus-visible {
	color: var(--dw-primary);
}

.dw-dashboard-mini-card h3,
.dw-dashboard-progress-card h3,
.dw-saved-bookmark-card h3 {
	color: var(--dw-text);
	font-size: clamp(1.35rem, 4vw, 1.9rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.06;
	margin: 0;
}

.dw-dashboard-mini-card h3 a:hover,
.dw-dashboard-mini-card h3 a:focus-visible,
.dw-dashboard-progress-card h3 a:hover,
.dw-dashboard-progress-card h3 a:focus-visible,
.dw-saved-bookmark-card h3 a:hover,
.dw-saved-bookmark-card h3 a:focus-visible {
	color: var(--dw-primary);
}

.dw-dashboard-mini-card p,
.dw-dashboard-progress-card p,
.dw-dashboard-action-card p {
	color: var(--dw-muted);
	line-height: 1.75;
	margin: 0;
}

.dw-dashboard-mini-card .dw-btn,
.dw-dashboard-progress-card .dw-btn {
	margin-top: auto;
	width: 100%;
}

.dw-dashboard-progress-card[hidden] {
	display: none;
}

.dw-dashboard-progress-track {
	background: rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	height: 0.45rem;
	overflow: hidden;
}

.dw-dashboard-progress-track span {
	background: linear-gradient(90deg, var(--dw-primary), var(--dw-accent));
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 220ms ease;
	width: 100%;
}

.dw-dashboard-progress-empty[hidden] {
	display: none;
}

.dw-dashboard-progress-empty .dw-btn {
	margin-top: var(--dw-space-4);
}

.dw-dashboard-action-card {
	min-height: 12rem;
	text-decoration: none;
}

.dw-dashboard-action-card span {
	color: var(--dw-text);
	font-size: clamp(1.4rem, 4vw, 2rem);
	letter-spacing: 0;
	line-height: 1.05;
	text-transform: none;
}

.dw-learning-progress-card {
	box-shadow: none;
	margin-top: var(--dw-space-3);
	padding: var(--dw-space-3);
}

.dw-learning-progress-card.is-complete,
.dw-learning-progress-card[data-progress-status="completed"],
.dw-learning-progress-card[data-progress-status="reviewed"] {
	border-color: rgba(0, 214, 163, 0.42);
	box-shadow: 0 20px 58px rgba(0, 214, 163, 0.1);
}

.dw-learning-progress-card strong,
.dw-learning-progress-summary strong,
.dw-bookmark-summary-card strong {
	color: var(--dw-text);
	display: block;
	font-size: clamp(1.7rem, 6vw, 3.2rem);
	line-height: 1;
}

.dw-learning-progress-card p {
	color: var(--dw-muted);
	line-height: 1.65;
	margin: 0;
}

.dw-learning-progress-card .dw-btn,
.dw-progress-actions .dw-btn {
	width: 100%;
}

.dw-learning-progress-card .dw-btn[disabled] {
	cursor: default;
	opacity: 0.78;
}

.dw-progress-actions {
	display: grid;
	gap: var(--dw-space-2);
}

.dw-progress-actions .dw-btn.is-active,
.dw-progress-actions .dw-btn[aria-pressed="true"] {
	background: linear-gradient(135deg, var(--dw-primary), #08b98f);
	border-color: transparent;
	box-shadow: 0 16px 38px rgba(0, 214, 163, 0.24);
	color: #00140f;
}

.dw-learning-progress-summary {
	min-height: 12rem;
}

.dw-learning-progress-track {
	background: rgba(255, 255, 255, 0.12);
	border-radius: 999px;
	height: 0.52rem;
	overflow: hidden;
}

.dw-learning-progress-track span {
	background: linear-gradient(90deg, var(--dw-primary), var(--dw-accent));
	display: block;
	height: 100%;
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 260ms ease;
	width: 100%;
}

.dw-learning-progress-empty {
	margin-top: var(--dw-space-4);
}

.dw-learning-progress-empty[hidden] {
	display: none;
}

.dw-progress-empty-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
	justify-content: center;
	margin-top: var(--dw-space-4);
}

.dw-bookmark-toggle {
	position: relative;
}

.dw-bookmark-toggle::before {
	content: "+";
	font-weight: 900;
	margin-right: 0.35rem;
}

.dw-bookmark-toggle.is-saved {
	background: linear-gradient(135deg, var(--dw-primary), #08b98f);
	border-color: transparent;
	box-shadow: 0 16px 38px rgba(0, 214, 163, 0.24);
	color: #00140f;
}

.dw-bookmark-toggle.is-saved::before {
	content: "✓";
}

.dw-bookmark-summary-card,
.dw-saved-bookmark-card {
	min-height: 10rem;
}

.dw-saved-bookmarks-list {
	margin-top: var(--dw-space-4);
}

.dw-saved-bookmark-card h3 {
	margin-bottom: auto;
}

.dw-saved-bookmark-card .dw-btn {
	margin-top: auto;
	width: 100%;
}

.dw-bookmark-empty {
	margin-top: var(--dw-space-4);
}

.dw-bookmark-empty[hidden] {
	display: none;
}

/* ==========================================================
   Authentication pages.
========================================================== */

.dw-auth-page {
	background:
		linear-gradient(115deg, rgba(0, 214, 163, 0.12), transparent 42%),
		linear-gradient(180deg, #05060d 0%, #0a0d18 62%, #070914 100%);
	min-height: 100vh;
}

.dw-auth-hero {
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	padding-block: clamp(3rem, 8vw, 7rem);
	position: relative;
}

.dw-auth-hero::before {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 68px 68px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
	opacity: 0.38;
	pointer-events: none;
	position: absolute;
}

.dw-auth-layout {
	display: grid;
	gap: var(--dw-space-5);
	position: relative;
	z-index: 1;
}

.dw-auth-copy {
	align-self: center;
	max-width: 720px;
}

.dw-auth-copy h1 {
	color: var(--dw-text);
	font-size: clamp(2.25rem, 5.5vw, 4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.03;
	margin: 0;
	text-wrap: balance;
}

.dw-auth-copy p {
	color: var(--dw-text-soft);
	font-size: clamp(1rem, 2vw, 1.18rem);
	line-height: 1.75;
	margin: var(--dw-space-4) 0 0;
	max-width: 640px;
}

.dw-auth-card {
	backdrop-filter: blur(24px);
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.1), transparent 48%),
		rgba(255, 255, 255, 0.075);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow);
	display: grid;
	gap: var(--dw-space-4);
	padding: clamp(1.25rem, 4vw, 2.35rem);
}

.dw-auth-logo {
	align-items: center;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	display: flex;
	justify-content: center;
	min-height: 5rem;
	padding: var(--dw-space-3);
}

.dw-auth-logo img {
	max-height: 3.5rem;
	object-fit: contain;
	width: auto;
}

.dw-auth-logo span {
	color: var(--dw-text);
	font-size: 1.15rem;
	font-weight: 850;
	letter-spacing: 0;
}

.dw-auth-card h2 {
	color: var(--dw-text);
	font-size: clamp(1.6rem, 4vw, 2.4rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.dw-auth-form {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-auth-form label {
	color: var(--dw-text-soft);
	font-size: 0.86rem;
	font-weight: 800;
}

.dw-auth-form input[type="email"],
.dw-auth-form input[type="password"],
.dw-auth-form input[type="text"],
.dw-auth-form select {
	background: rgba(7, 9, 20, 0.72);
	border: 1px solid var(--dw-border-strong);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text);
	font: inherit;
	min-height: 3.15rem;
	padding: 0.9rem 1rem;
	width: 100%;
}

.dw-auth-form select {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--dw-primary) 50%),
		linear-gradient(135deg, var(--dw-primary) 50%, transparent 50%);
	background-position:
		calc(100% - 20px) 50%,
		calc(100% - 14px) 50%;
	background-repeat: no-repeat;
	background-size: 6px 6px;
	padding-right: 2.75rem;
}

.dw-auth-form input:focus,
.dw-auth-form select:focus {
	border-color: rgba(0, 214, 163, 0.62);
	box-shadow: 0 0 0 4px rgba(0, 214, 163, 0.14);
	outline: 0;
}

.dw-auth-field-grid {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-auth-check {
	align-items: center;
	display: flex;
	gap: var(--dw-space-2);
	line-height: 1.45;
}

.dw-auth-check input {
	accent-color: var(--dw-primary);
	flex: 0 0 auto;
	height: 1rem;
	width: 1rem;
}

.dw-auth-links {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-3);
	justify-content: space-between;
}

.dw-auth-links a {
	color: var(--dw-primary);
	font-size: 0.92rem;
	font-weight: 850;
	text-decoration: none;
}

.dw-auth-links a:hover,
.dw-auth-links a:focus-visible {
	color: var(--dw-primary-hover);
}

.dw-auth-message {
	border-radius: var(--dw-radius-md);
	font-weight: 800;
	line-height: 1.55;
	padding: var(--dw-space-3);
}

.dw-auth-message--error {
	background: rgba(255, 107, 122, 0.12);
	border: 1px solid rgba(255, 107, 122, 0.32);
	color: #ffc2c8;
}

.dw-auth-message--success {
	background: rgba(0, 214, 163, 0.13);
	border: 1px solid rgba(0, 214, 163, 0.32);
	color: var(--dw-primary);
}

/* ==========================================================
   Student profile page.
========================================================== */

.dw-profile-page {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 38rem),
		var(--dw-bg);
}

.dw-profile-hero__panel strong {
	color: var(--dw-text);
	display: block;
	font-size: clamp(1.2rem, 4vw, 2rem);
	line-height: 1.05;
	overflow-wrap: anywhere;
}

.dw-profile-layout,
.dw-profile-summary-grid,
.dw-profile-link-grid {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-profile-account-card,
.dw-profile-form-card,
.dw-profile-summary-card,
.dw-profile-link-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.09), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: flex;
	flex-direction: column;
	gap: var(--dw-space-3);
	padding: clamp(1.25rem, 4vw, 2rem);
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms ease;
}

.dw-profile-link-card {
	min-height: 11rem;
	text-decoration: none;
}

.dw-profile-link-card:hover,
.dw-profile-link-card:focus-visible,
.dw-profile-summary-card:hover,
.dw-profile-summary-card:focus-within {
	border-color: rgba(0, 214, 163, 0.4);
	box-shadow: 0 26px 76px rgba(0, 0, 0, 0.34);
	transform: translateY(-4px);
}

.dw-profile-account-card h2,
.dw-profile-form-card h2,
.dw-profile-link-card span {
	color: var(--dw-text);
	font-size: clamp(1.45rem, 4vw, 2.1rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.dw-profile-account-card p,
.dw-profile-link-card p {
	color: var(--dw-muted);
	line-height: 1.75;
	margin: 0;
}

.dw-profile-meta {
	border-block: 1px solid var(--dw-border);
	display: grid;
	gap: var(--dw-space-3);
	margin: 0;
	padding-block: var(--dw-space-3);
}

.dw-profile-meta dt {
	color: var(--dw-muted);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dw-profile-meta dd {
	color: var(--dw-text-soft);
	font-weight: 800;
	margin: 0.35rem 0 0;
	overflow-wrap: anywhere;
}

.dw-profile-form {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-profile-field-grid {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-profile-form label {
	color: var(--dw-text-soft);
	font-size: 0.86rem;
	font-weight: 800;
}

.dw-profile-form input,
.dw-profile-form textarea,
.dw-profile-form select {
	background: rgba(7, 9, 20, 0.72);
	border: 1px solid var(--dw-border-strong);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text);
	font: inherit;
	padding: 0.9rem 1rem;
	width: 100%;
}

.dw-profile-form input,
.dw-profile-form select {
	min-height: 3.15rem;
}

.dw-profile-form select {
	appearance: none;
	background-image:
		linear-gradient(45deg, transparent 50%, var(--dw-primary) 50%),
		linear-gradient(135deg, var(--dw-primary) 50%, transparent 50%);
	background-position:
		calc(100% - 20px) 50%,
		calc(100% - 14px) 50%;
	background-repeat: no-repeat;
	background-size: 6px 6px;
	padding-right: 2.75rem;
}

.dw-profile-form textarea {
	line-height: 1.65;
	resize: vertical;
}

.dw-profile-form input:focus,
.dw-profile-form textarea:focus,
.dw-profile-form select:focus {
	border-color: rgba(0, 214, 163, 0.62);
	box-shadow: 0 0 0 4px rgba(0, 214, 163, 0.14);
	outline: 0;
}

.dw-profile-summary-card strong {
	color: var(--dw-text);
	display: block;
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	line-height: 1;
}

.dw-profile-empty-state {
	margin-top: var(--dw-space-4);
}

/* ==========================================================
   Instructor profiles.
========================================================== */

.dw-instructors-page {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 36rem),
		var(--dw-bg);
}

.dw-instructors-hero__panel strong {
	font-size: clamp(1.7rem, 5vw, 2.7rem);
}

.dw-instructor-grid {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-instructor-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.09), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms ease;
}

.dw-instructor-card:hover,
.dw-instructor-card:focus-within {
	border-color: rgba(0, 214, 163, 0.4);
	box-shadow: 0 26px 76px rgba(0, 0, 0, 0.34);
	transform: translateY(-4px);
}

.dw-instructor-card__media {
	align-items: center;
	aspect-ratio: 4 / 3;
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.18), transparent 48%),
		var(--dw-surface-muted);
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.dw-instructor-card__media img {
	height: 100%;
	object-fit: cover;
	transition: transform 420ms ease, filter 420ms ease;
	width: 100%;
}

.dw-instructor-card:hover .dw-instructor-card__media img,
.dw-instructor-card:focus-within .dw-instructor-card__media img {
	filter: saturate(1.08) contrast(1.04);
	transform: scale(1.045);
}

.dw-instructor-card__media span,
.dw-instructor-profile-media span {
	color: var(--dw-primary);
	font-size: clamp(4rem, 12vw, 7rem);
	font-weight: 900;
	line-height: 1;
}

.dw-instructor-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--dw-space-3);
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-instructor-badge {
	background: rgba(0, 214, 163, 0.14);
	border: 1px solid rgba(0, 214, 163, 0.32);
	border-radius: 999px;
	color: var(--dw-primary);
	display: inline-flex;
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	margin-bottom: var(--dw-space-2);
	padding: 0.42rem 0.65rem;
	text-transform: uppercase;
}

.dw-instructor-card h3 {
	color: var(--dw-text);
	font-size: clamp(1.5rem, 4vw, 2.15rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.dw-instructor-card h3 a:hover,
.dw-instructor-card h3 a:focus-visible {
	color: var(--dw-primary);
}

.dw-instructor-role {
	color: var(--dw-text-soft);
	font-weight: 800;
	margin: 0.5rem 0 0;
}

.dw-instructor-card p,
.dw-instructor-profile-content p,
.dw-instructor-bio-content {
	color: var(--dw-muted);
	line-height: 1.75;
	margin: 0;
}

.dw-instructor-meta,
.dw-instructor-profile-meta {
	border-block: 1px solid var(--dw-border);
	display: grid;
	gap: var(--dw-space-3);
	margin: 0;
	padding-block: var(--dw-space-3);
}

.dw-instructor-meta dt,
.dw-instructor-profile-meta dt {
	color: var(--dw-muted);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dw-instructor-meta dd,
.dw-instructor-profile-meta dd {
	color: var(--dw-text-soft);
	font-weight: 800;
	margin: 0.35rem 0 0;
}

.dw-instructor-card .dw-btn {
	margin-top: auto;
	width: 100%;
}

.dw-instructor-profile-hero {
	padding-bottom: clamp(3rem, 7vw, 5rem);
}

.dw-instructor-profile-shell {
	display: grid;
	gap: var(--dw-space-5);
	position: relative;
	z-index: 1;
}

.dw-instructor-profile-media {
	align-items: center;
	aspect-ratio: 1 / 1;
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.18), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow);
	display: flex;
	justify-content: center;
	overflow: hidden;
}

.dw-instructor-profile-media img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.dw-instructor-profile-content {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-instructor-profile-content h1 {
	color: var(--dw-text);
	font-size: clamp(2.2rem, 5.5vw, 3.9rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.03;
	margin: 0;
	text-wrap: balance;
}

.dw-instructor-profile-role {
	color: var(--dw-text-soft);
	font-size: clamp(1.1rem, 3vw, 1.4rem);
	font-weight: 800;
}

.dw-instructor-specialties,
.dw-instructor-social-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
}

.dw-instructor-social-links .dw-btn {
	min-height: 2.75rem;
}

.dw-instructor-bio-panel h2 {
	color: var(--dw-text);
	font-size: clamp(1.7rem, 5vw, 2.8rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 0;
}

.dw-instructor-bio-content {
	margin-top: var(--dw-space-4);
}

.dw-instructor-bio-content > *:first-child {
	margin-top: 0;
}

.dw-instructor-bio-content > *:last-child {
	margin-bottom: 0;
}

/* ==========================================================
   Premium single lesson watch page.
========================================================== */

.dw-lesson-page {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 38rem),
		var(--dw-bg);
}

.dw-lesson-hero {
	background:
		linear-gradient(115deg, rgba(0, 214, 163, 0.12), transparent 42%),
		linear-gradient(180deg, #05060d 0%, #0a0d18 62%, #070914 100%);
	border-bottom: 1px solid rgba(255, 255, 255, 0.07);
	padding-block: clamp(1.5rem, 5vw, 3.5rem) clamp(2rem, 6vw, 4.5rem);
	position: relative;
}

.dw-lesson-hero::before {
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
	background-size: 68px 68px;
	content: "";
	inset: 0;
	mask-image: linear-gradient(180deg, #000 0%, transparent 88%);
	opacity: 0.38;
	pointer-events: none;
	position: absolute;
}

.dw-lesson-hero > .dw-container {
	position: relative;
	z-index: 1;
}

.dw-lesson-back {
	align-items: center;
	color: var(--dw-primary);
	display: inline-flex;
	font-size: 0.82rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	margin-bottom: var(--dw-space-4);
	text-transform: uppercase;
	transition: color 180ms ease, transform 180ms ease;
}

.dw-lesson-back:hover,
.dw-lesson-back:focus-visible {
	color: var(--dw-primary-hover);
	transform: translateX(-3px);
}

.dw-lesson-shell {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-lesson-main {
	display: grid;
	gap: var(--dw-space-4);
	min-width: 0;
}

.dw-lesson-player-card,
.dw-lesson-header,
.dw-lesson-description,
.dw-lesson-details-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.08), transparent 46%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
}

.dw-lesson-player-card {
	overflow: hidden;
}

.dw-lesson-player {
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.dw-lesson-player video,
.dw-lesson-player .dw-video-placeholder {
	aspect-ratio: 16 / 9;
	min-height: clamp(220px, 50vw, 620px);
	width: 100%;
}

.dw-watch-progress {
	background: rgba(255, 255, 255, 0.08);
	height: 0.42rem;
	overflow: hidden;
}

.dw-watch-progress__bar {
	background: linear-gradient(90deg, var(--dw-primary), var(--dw-accent));
	display: block;
	height: 100%;
	transform-origin: left center;
	transform: scaleX(0);
	transition: transform 220ms ease;
	width: 100%;
}

.dw-watch-progress__meta {
	color: var(--dw-muted);
	font-size: 0.86rem;
	font-weight: 750;
	line-height: 1.5;
	padding: var(--dw-space-3) var(--dw-space-4);
}

.dw-lesson-header,
.dw-lesson-description,
.dw-lesson-details-card {
	padding: clamp(1.25rem, 4vw, 2rem);
}

.dw-lesson-header h1 {
	color: var(--dw-text);
	font-size: clamp(1.9rem, 5vw, 3.2rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1;
	margin: var(--dw-space-2) 0 0;
	text-wrap: balance;
}

.dw-lesson-meta {
	display: grid;
	gap: var(--dw-space-2);
	margin-top: var(--dw-space-4);
}

.dw-lesson-meta span {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text-soft);
	display: grid;
	gap: 0.35rem;
	padding: var(--dw-space-3);
}

.dw-lesson-meta strong {
	color: var(--dw-muted);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dw-lesson-actions {
	display: grid;
	gap: var(--dw-space-2);
	margin-top: var(--dw-space-4);
}

.dw-lesson-description h2,
.dw-lesson-details-card h2 {
	color: var(--dw-text);
	font-size: clamp(1.45rem, 4vw, 2.25rem);
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0;
}

.dw-lesson-description > div {
	color: var(--dw-text-soft);
	margin-top: var(--dw-space-3);
}

.dw-lesson-description :where(p, li) {
	color: var(--dw-text-soft);
	line-height: 1.75;
}

.dw-lesson-description :where(a) {
	color: var(--dw-primary);
	font-weight: 800;
}

.dw-lesson-nav {
	display: grid;
	gap: var(--dw-space-2);
}

.dw-lesson-nav:empty {
	display: none;
}

.dw-lesson-nav__item a {
	align-items: center;
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text);
	display: flex;
	font-weight: 850;
	justify-content: center;
	min-height: 3rem;
	padding: 0.95rem 1.15rem;
	text-align: center;
	transition:
		background-color 180ms ease,
		border-color 180ms ease,
		color 180ms ease,
		transform 180ms ease;
}

.dw-lesson-nav__item a:hover,
.dw-lesson-nav__item a:focus-visible {
	background: rgba(255, 255, 255, 0.12);
	border-color: rgba(0, 214, 163, 0.36);
	color: var(--dw-primary);
	transform: translateY(-2px);
}

.dw-lesson-sidebar {
	min-width: 0;
}

.dw-lesson-details-card {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-lesson-details-card ul {
	display: grid;
	gap: var(--dw-space-2);
	list-style: none;
	margin: 0;
	padding: 0;
}

.dw-lesson-details-card li {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	display: grid;
	gap: 0.35rem;
	padding: var(--dw-space-3);
}

.dw-lesson-details-card li span {
	color: var(--dw-muted);
	font-size: 0.72rem;
	font-weight: 900;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.dw-lesson-details-card li strong {
	color: var(--dw-text-soft);
	font-size: 1rem;
	line-height: 1.45;
}

.dw-related-lessons {
	padding-top: clamp(3rem, 7vw, 5.5rem);
}

.dw-related-grid {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-related-card {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	overflow: hidden;
	transition:
		border-color 200ms ease,
		box-shadow 200ms ease,
		transform 200ms ease;
}

.dw-related-card:hover,
.dw-related-card:focus-within {
	border-color: rgba(0, 214, 163, 0.42);
	box-shadow: 0 26px 76px rgba(0, 0, 0, 0.34);
	transform: translateY(-5px);
}

.dw-related-card__media {
	align-items: center;
	aspect-ratio: 16 / 9;
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.18), transparent 50%),
		var(--dw-surface-muted);
	display: flex;
	justify-content: center;
	overflow: hidden;
	position: relative;
}

.dw-related-card__media::after {
	background: linear-gradient(180deg, transparent 48%, rgba(0, 0, 0, 0.72) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

.dw-related-card__media img {
	height: 100%;
	object-fit: cover;
	transition: transform 400ms ease, filter 400ms ease;
	width: 100%;
}

.dw-related-card:hover .dw-related-card__media img,
.dw-related-card:focus-within .dw-related-card__media img {
	filter: saturate(1.08) contrast(1.04);
	transform: scale(1.045);
}

.dw-related-card__body {
	display: grid;
	gap: var(--dw-space-2);
	padding: var(--dw-space-3);
}

.dw-related-card h3 {
	color: var(--dw-text);
	font-size: 1.1rem;
	font-weight: 850;
	letter-spacing: 0;
	line-height: 1.18;
	margin: 0;
}

.dw-related-card h3 a:hover,
.dw-related-card h3 a:focus-visible {
	color: var(--dw-primary);
}

.dw-related-card__body span {
	color: var(--dw-muted);
	font-size: 0.88rem;
	font-weight: 750;
}

.dw-lesson-library-cta {
	padding-top: 0;
}

.dw-dashboard-cohorts {
	background: linear-gradient(180deg, rgba(7, 9, 20, 0.94), var(--dw-bg));
}

.dw-cohort-card-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.dw-cohort-card,
.dw-access-denied-panel {
	background: linear-gradient(145deg, rgba(17, 23, 42, 0.96), rgba(12, 16, 32, 0.94));
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.dw-cohort-card h3,
.dw-access-denied-panel h1 {
	color: var(--dw-text);
	margin: 0 0 1rem;
}

.dw-cohort-card p {
	color: var(--dw-text-soft);
	line-height: 1.7;
	margin: 0;
}

.dw-cohort-meta {
	display: grid;
	gap: 0.85rem;
	margin: 1.2rem 0 0;
}

.dw-cohort-meta div {
	border-top: 1px solid var(--dw-border);
	padding-top: 0.85rem;
}

.dw-cohort-meta dt,
.dw-profile-readonly-label {
	color: var(--dw-muted);
	display: block;
	font-size: 0.75rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dw-cohort-meta dd {
	color: var(--dw-text);
	font-weight: 800;
	margin: 0.25rem 0 0;
}

.dw-access-denied-hero {
	min-height: 62vh;
}

.dw-access-denied-panel {
	margin-inline: auto;
	max-width: 760px;
	text-align: center;
}

.dw-access-denied-panel p {
	color: var(--dw-text-soft);
	font-size: 1.05rem;
	line-height: 1.75;
	margin: 0 auto 1.5rem;
	max-width: 620px;
}

.dw-profile-readonly-field {
	align-items: center;
	background: rgba(7, 9, 20, 0.72);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	color: var(--dw-text-soft);
	display: flex;
	min-height: 48px;
	padding: 0.85rem 1rem;
}

/* ==========================================================
   Frontend admin dashboard.
========================================================== */

.dw-admin-dashboard-page {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 38rem),
		var(--dw-bg);
}

.dw-admin-hero {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.14), transparent 38%),
		linear-gradient(180deg, rgba(7, 9, 20, 0.98), rgba(7, 9, 20, 0.9));
	border-bottom: 1px solid var(--dw-border);
	padding: clamp(4rem, 8vw, 7rem) 0 clamp(2rem, 5vw, 4rem);
}

.dw-admin-hero__grid {
	align-items: center;
	display: grid;
	gap: var(--dw-space-5);
	grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr);
}

.dw-admin-hero h1 {
	color: var(--dw-text);
	font-size: clamp(2.2rem, 5.5vw, 4rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.03;
	margin: 0;
	max-width: 880px;
}

.dw-admin-hero p {
	color: var(--dw-text-soft);
	font-size: clamp(1rem, 2vw, 1.18rem);
	line-height: 1.75;
	margin: var(--dw-space-3) 0 0;
	max-width: 760px;
}

.dw-admin-hero__meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-2);
	margin-top: var(--dw-space-4);
}

.dw-admin-hero__meta span,
.dw-admin-status {
	background: rgba(0, 214, 163, 0.12);
	border: 1px solid rgba(0, 214, 163, 0.3);
	border-radius: 999px;
	color: var(--dw-primary);
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	padding: 0.45rem 0.75rem;
	text-transform: uppercase;
}

.dw-admin-hero__panel,
.dw-admin-panel,
.dw-admin-stat-card,
.dw-admin-action-card,
.dw-admin-alert-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.08), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
}

.dw-admin-hero__panel {
	display: grid;
	gap: var(--dw-space-3);
	padding: clamp(1.2rem, 3vw, 2rem);
}

.dw-admin-nav {
	background: rgba(7, 9, 20, 0.92);
	border-bottom: 1px solid var(--dw-border);
	position: sticky;
	top: 0;
	z-index: 20;
}

.admin-bar .dw-admin-nav {
	top: 32px;
}

.dw-admin-nav__scroll {
	display: flex;
	gap: var(--dw-space-2);
	overflow-x: auto;
	padding: 0.85rem 0;
	scrollbar-width: thin;
}

.dw-admin-nav a {
	border: 1px solid var(--dw-border);
	border-radius: 999px;
	color: var(--dw-text-soft);
	flex: 0 0 auto;
	font-size: 0.86rem;
	font-weight: 850;
	padding: 0.6rem 0.9rem;
	text-decoration: none;
}

.dw-admin-nav a:hover,
.dw-admin-nav a:focus-visible {
	border-color: rgba(0, 214, 163, 0.45);
	color: var(--dw-primary);
}

.dw-admin-stat-grid,
.dw-admin-action-grid,
.dw-admin-content-grid,
.dw-admin-alert-grid {
	display: grid;
	gap: var(--dw-space-4);
}

.dw-admin-stat-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dw-admin-action-grid,
.dw-admin-alert-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dw-admin-content-grid,
.dw-admin-two-column {
	display: grid;
	gap: var(--dw-space-4);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.dw-admin-stat-card,
.dw-admin-action-card,
.dw-admin-alert-card {
	display: flex;
	flex-direction: column;
	gap: var(--dw-space-2);
	padding: clamp(1rem, 3vw, 1.5rem);
	text-decoration: none;
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.dw-admin-stat-card:hover,
.dw-admin-action-card:hover,
.dw-admin-action-card:focus-visible,
.dw-admin-alert-card:hover,
.dw-admin-alert-card:focus-visible {
	border-color: rgba(0, 214, 163, 0.42);
	box-shadow: 0 26px 76px rgba(0, 0, 0, 0.34);
	transform: translateY(-3px);
}

.dw-admin-stat-card span,
.dw-admin-action-card span {
	color: var(--dw-muted);
	font-size: 0.74rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dw-admin-stat-card strong {
	color: var(--dw-text);
	font-size: clamp(1.8rem, 4vw, 2.75rem);
	line-height: 1;
}

.dw-admin-stat-card p,
.dw-admin-action-card p,
.dw-admin-alert-card span,
.dw-admin-muted {
	color: var(--dw-text-soft);
	line-height: 1.65;
	margin: 0;
}

.dw-admin-action-card span,
.dw-admin-alert-card strong {
	color: var(--dw-text);
	font-size: 1.05rem;
	letter-spacing: 0;
	text-transform: none;
}

.dw-admin-panel {
	padding: clamp(1.1rem, 3vw, 1.75rem);
}

.dw-admin-panel h3 {
	color: var(--dw-text);
	font-size: 1.25rem;
	margin: 0 0 var(--dw-space-3);
}

.dw-admin-panel__actions {
	align-items: center;
	border-top: 1px solid var(--dw-border);
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-3);
	justify-content: space-between;
	margin-top: var(--dw-space-4);
	padding-top: var(--dw-space-4);
}

.dw-admin-panel__actions strong {
	color: var(--dw-muted);
	font-size: 0.85rem;
}

.dw-admin-list {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-admin-list-item {
	align-items: center;
	background: rgba(7, 9, 20, 0.48);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: minmax(0, 1fr) auto auto;
	padding: var(--dw-space-3);
}

.dw-admin-list-item strong {
	color: var(--dw-text);
	display: block;
	font-size: 1rem;
	overflow-wrap: anywhere;
}

.dw-admin-list-item span:not(.dw-admin-status) {
	color: var(--dw-muted);
	display: block;
	font-size: 0.88rem;
	line-height: 1.5;
	margin-top: 0.25rem;
	overflow-wrap: anywhere;
}

.dw-admin-table-wrap {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	overflow-x: auto;
}

.dw-admin-table {
	border-collapse: collapse;
	color: var(--dw-text-soft);
	min-width: 760px;
	width: 100%;
}

.dw-admin-table th,
.dw-admin-table td {
	border-bottom: 1px solid var(--dw-border);
	padding: 1rem;
	text-align: left;
}

.dw-admin-table th {
	color: var(--dw-muted);
	font-size: 0.74rem;
	font-weight: 850;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.dw-admin-table td:first-child {
	color: var(--dw-text);
	font-weight: 850;
}

.dw-admin-table a {
	color: var(--dw-primary);
	font-weight: 850;
	text-decoration: none;
}

/* ==========================================================
   Frontend analytics and reports.
========================================================== */

.dw-admin-reports-page {
	background: var(--dw-bg);
}

.dw-reports-hero {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.15), transparent 42%),
		linear-gradient(180deg, rgba(7, 9, 20, 0.98), rgba(7, 9, 20, 0.92));
	border-bottom: 1px solid var(--dw-border);
	padding: clamp(3.5rem, 7vw, 6.5rem) 0 clamp(2.5rem, 5vw, 4rem);
}

.dw-reports-hero__grid {
	align-items: end;
	display: grid;
	gap: var(--dw-space-5);
	grid-template-columns: minmax(0, 1fr) auto;
}

.dw-reports-hero h1 {
	color: var(--dw-text);
	font-size: clamp(2.3rem, 5.5vw, 4.1rem);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.03;
	margin: 0;
}

.dw-reports-hero p {
	color: var(--dw-text-soft);
	font-size: 1.08rem;
	line-height: 1.75;
	margin: var(--dw-space-3) 0 0;
	max-width: 760px;
}

.dw-reports-filter-band {
	background: rgba(7, 9, 20, 0.96);
	border-bottom: 1px solid var(--dw-border);
	padding: var(--dw-space-4) 0;
}

.dw-report-filters {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	padding: clamp(1rem, 3vw, 1.6rem);
}

.dw-report-filters h2 {
	color: var(--dw-text);
	font-size: 1.1rem;
	margin: 0 0 var(--dw-space-3);
}

.dw-report-filter-grid {
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.dw-report-filter-grid label {
	display: grid;
	gap: 0.45rem;
	margin: 0;
}

.dw-report-filter-grid label span {
	color: var(--dw-muted);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dw-report-filter-grid input,
.dw-report-filter-grid select {
	background: var(--dw-bg);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-sm);
	color: var(--dw-text);
	font: inherit;
	min-height: 46px;
	padding: 0.7rem 0.8rem;
	width: 100%;
}

.dw-report-filter-grid input:focus,
.dw-report-filter-grid select:focus {
	border-color: var(--dw-primary);
	box-shadow: 0 0 0 3px rgba(0, 214, 163, 0.14);
	outline: 0;
}

.dw-report-filter-actions,
.dw-reports-hero__actions,
.dw-report-export-grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--dw-space-3);
}

.dw-report-filter-actions {
	margin-top: var(--dw-space-4);
}

.dw-report-stat-grid {
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.dw-report-stat-card,
.dw-report-engagement-grid article,
.dw-report-rank-grid article,
.dw-report-cohort-card,
.dw-report-quality-grid a {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.08), transparent 52%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
}

.dw-report-stat-card {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	min-height: 140px;
	padding: clamp(1rem, 3vw, 1.45rem);
}

.dw-report-stat-card span,
.dw-report-rank-grid span {
	color: var(--dw-muted);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.dw-report-stat-card strong {
	color: var(--dw-text);
	font-size: clamp(1.75rem, 3.5vw, 2.7rem);
	line-height: 1;
	margin-top: auto;
}

.dw-report-note {
	background: rgba(0, 214, 163, 0.07);
	border-left: 3px solid var(--dw-primary);
	color: var(--dw-text-soft);
	font-size: 0.9rem;
	line-height: 1.65;
	margin: var(--dw-space-4) 0 0;
	padding: 0.85rem 1rem;
}

.dw-report-engagement-grid {
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-bottom: var(--dw-space-5);
}

.dw-report-engagement-grid article {
	display: grid;
	gap: 0.45rem;
	padding: 1rem;
}

.dw-report-engagement-grid strong {
	color: var(--dw-text);
	font-size: 1.8rem;
}

.dw-report-engagement-grid span {
	color: var(--dw-muted);
	font-size: 0.78rem;
	line-height: 1.45;
}

.dw-report-chart {
	align-items: end;
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(8, minmax(36px, 1fr));
	height: 240px;
	margin-bottom: var(--dw-space-5);
	overflow-x: auto;
	padding: var(--dw-space-4);
}

.dw-report-chart__item {
	align-items: center;
	display: grid;
	grid-template-rows: auto minmax(80px, 1fr) auto;
	height: 100%;
	text-align: center;
}

.dw-report-chart__item > span,
.dw-report-chart__item small {
	color: var(--dw-muted);
	font-size: 0.72rem;
}

.dw-report-chart__item i {
	align-self: end;
	background: linear-gradient(180deg, var(--dw-primary), rgba(0, 214, 163, 0.32));
	border-radius: 4px 4px 0 0;
	display: block;
	height: var(--dw-bar-height);
	margin: 0.5rem auto;
	max-width: 44px;
	min-height: 4px;
	width: 70%;
}

.dw-report-table-wrap {
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
	overflow-x: auto;
}

.dw-report-table {
	border-collapse: collapse;
	color: var(--dw-text-soft);
	min-width: 900px;
	width: 100%;
}

.dw-report-table th,
.dw-report-table td {
	border-bottom: 1px solid var(--dw-border);
	padding: 0.9rem;
	text-align: left;
	vertical-align: top;
}

.dw-report-table th {
	color: var(--dw-muted);
	font-size: 0.7rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dw-report-table strong,
.dw-report-table a {
	color: var(--dw-text);
	font-weight: 800;
}

.dw-report-table a {
	color: var(--dw-primary);
	text-decoration: none;
}

.dw-report-table small {
	color: var(--dw-muted);
	display: block;
	font-size: 0.75rem;
	line-height: 1.45;
	margin-top: 0.25rem;
}

.dw-report-table .dw-report-warning {
	color: #f0ba63;
}

.dw-report-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: var(--dw-space-4);
}

.dw-report-pagination a {
	align-items: center;
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-sm);
	color: var(--dw-text-soft);
	display: inline-flex;
	height: 42px;
	justify-content: center;
	text-decoration: none;
	width: 42px;
}

.dw-report-pagination a.is-current,
.dw-report-pagination a:hover,
.dw-report-pagination a:focus-visible {
	background: var(--dw-primary);
	border-color: var(--dw-primary);
	color: #03110e;
}

.dw-report-rank-grid {
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	margin-bottom: var(--dw-space-4);
}

.dw-report-rank-grid article {
	display: grid;
	gap: 0.5rem;
	padding: 1.1rem 1.25rem;
}

.dw-report-rank-grid strong {
	color: var(--dw-text);
	font-size: 1.1rem;
}

.dw-report-rank-grid small {
	color: var(--dw-primary);
}

.dw-report-progress {
	background: rgba(255, 255, 255, 0.08);
	border-radius: 999px;
	height: 7px;
	overflow: hidden;
	width: 100%;
}

.dw-report-progress i {
	background: var(--dw-primary);
	display: block;
	height: 100%;
	width: var(--dw-progress);
}

.dw-report-cohort-grid {
	display: grid;
	gap: var(--dw-space-4);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dw-report-cohort-card {
	display: grid;
	gap: var(--dw-space-3);
	padding: clamp(1rem, 3vw, 1.5rem);
}

.dw-report-cohort-card h3 {
	color: var(--dw-text);
	font-size: 1.3rem;
	margin: 0.7rem 0 0;
}

.dw-report-cohort-card p,
.dw-report-cohort-card label {
	color: var(--dw-muted);
	font-size: 0.82rem;
	margin: 0;
}

.dw-report-cohort-card label {
	display: flex;
	justify-content: space-between;
}

.dw-report-cohort-card dl {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
}

.dw-report-cohort-card dl div {
	border: 1px solid var(--dw-border);
	padding: 0.75rem;
}

.dw-report-cohort-card dt {
	color: var(--dw-muted);
	font-size: 0.7rem;
}

.dw-report-cohort-card dd {
	color: var(--dw-text);
	font-size: 1.3rem;
	font-weight: 850;
	margin: 0.2rem 0 0;
}

.dw-report-cohort-card > a {
	color: var(--dw-primary);
	font-weight: 800;
	text-decoration: none;
}

.dw-report-quality-grid {
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dw-report-quality-grid a {
	display: grid;
	gap: 0.5rem;
	padding: 1.1rem;
	text-decoration: none;
	transition: border-color 180ms ease, transform 180ms ease;
}

.dw-report-quality-grid a:hover,
.dw-report-quality-grid a:focus-visible {
	border-color: rgba(0, 214, 163, 0.45);
	transform: translateY(-2px);
}

.dw-report-quality-grid strong {
	color: var(--dw-text);
}

.dw-report-quality-grid span {
	color: var(--dw-muted);
	font-size: 0.86rem;
	line-height: 1.5;
}

.dw-report-activity-list {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-report-activity-list article {
	align-items: center;
	background: var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-md);
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: auto minmax(0, 1fr) auto;
	padding: 1rem;
}

.dw-report-activity-list strong,
.dw-report-activity-list small {
	display: block;
}

.dw-report-activity-list strong {
	color: var(--dw-text);
}

.dw-report-activity-list small {
	color: var(--dw-muted);
	margin-top: 0.25rem;
}

.dw-report-activity-list a {
	color: var(--dw-primary);
	font-weight: 800;
	text-decoration: none;
}

@media print {
	.dw-reports-filter-band,
	.dw-reports-hero__actions,
	.dw-report-export-grid,
	.site-header,
	.site-footer {
		display: none !important;
	}

	.dw-admin-reports-page,
	.dw-reports-hero,
	.dw-report-stat-card,
	.dw-report-table-wrap {
		background: #fff !important;
		color: #111 !important;
	}
}
/* Live classes */
.dw-live-classes-page,
.dw-single-live-class-page {
	background: var(--dw-bg, #050812);
	color: var(--dw-text, #f8fbff);
}

.dw-live-class-hero-panel,
.dw-live-class-detail-panel,
.dw-live-class-content-card,
.dw-live-class-sidebar-card,
.dw-live-class-filters,
.dw-live-class-card {
	border: 1px solid rgba(148, 163, 184, 0.24);
	background: linear-gradient(145deg, rgba(15, 31, 43, 0.92), rgba(17, 24, 39, 0.9));
	box-shadow: 0 24px 70px rgba(0, 0, 0, 0.26);
}

.dw-live-class-hero-panel {
	min-height: 260px;
	border-radius: 16px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
	display: grid;
	align-content: center;
	gap: 0.9rem;
}

.dw-live-class-hero-panel strong {
	font-size: clamp(3rem, 8vw, 5.5rem);
	line-height: 0.9;
	color: #fff;
}

.dw-live-class-hero-panel span,
.dw-live-class-hero-panel p {
	color: rgba(226, 232, 240, 0.82);
}

.dw-live-class-filters {
	border-radius: 16px;
	padding: clamp(1rem, 3vw, 1.5rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) minmax(180px, 220px) auto;
	gap: 1rem;
	align-items: end;
}

.dw-live-class-filters label {
	display: grid;
	gap: 0.45rem;
	color: rgba(226, 232, 240, 0.82);
	font-weight: 700;
}

.dw-live-class-filters select {
	width: 100%;
	min-height: 48px;
	border: 1px solid rgba(148, 163, 184, 0.28);
	border-radius: 10px;
	background: rgba(3, 7, 18, 0.72);
	color: #fff;
	padding: 0 0.9rem;
}

.dw-live-class-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}

.dw-live-class-grid--compact {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dw-live-class-card {
	border-radius: 16px;
	overflow: hidden;
	transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.dw-live-class-card:hover,
.dw-live-class-card:focus-within {
	transform: translateY(-4px);
	border-color: rgba(0, 220, 180, 0.5);
	box-shadow: 0 28px 80px rgba(0, 220, 180, 0.12);
}

.dw-live-class-card__media {
	min-height: 180px;
	display: grid;
	place-items: center;
	background: radial-gradient(circle at top left, rgba(0, 220, 180, 0.18), transparent 38%), rgba(15, 23, 42, 0.95);
	color: var(--dw-accent, #00d6b4);
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none;
}

.dw-live-class-card__media img {
	width: 100%;
	height: 100%;
	min-height: 180px;
	object-fit: cover;
	display: block;
}

.dw-live-class-card__body {
	padding: 1.15rem;
	display: grid;
	gap: 0.85rem;
}

.dw-live-class-card__badges,
.dw-live-class-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	align-items: center;
}

.dw-live-class-card h3 {
	margin: 0;
	font-size: clamp(1.2rem, 2vw, 1.55rem);
	line-height: 1.15;
}

.dw-live-class-card h3 a {
	color: #fff;
	text-decoration: none;
}

.dw-live-class-card p,
.dw-live-class-meta {
	color: rgba(226, 232, 240, 0.78);
}

.dw-live-class-meta {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.45rem;
	font-size: 0.94rem;
}

.dw-live-class-meta strong {
	color: rgba(255, 255, 255, 0.92);
}

.dw-status-pill,
.dw-mini-badge {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	border-radius: 999px;
	padding: 0.2rem 0.7rem;
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.dw-status-pill {
	background: rgba(0, 220, 180, 0.14);
	color: var(--dw-accent, #00d6b4);
	border: 1px solid rgba(0, 220, 180, 0.35);
}

.dw-status-pill--cancelled,
.dw-status-pill--postponed {
	background: rgba(251, 113, 133, 0.12);
	color: #fda4af;
	border-color: rgba(251, 113, 133, 0.36);
}

.dw-status-pill--completed {
	background: rgba(148, 163, 184, 0.12);
	color: #cbd5e1;
	border-color: rgba(148, 163, 184, 0.28);
}

.dw-mini-badge {
	background: rgba(148, 163, 184, 0.12);
	color: rgba(226, 232, 240, 0.86);
	border: 1px solid rgba(148, 163, 184, 0.24);
}

.dw-live-class-detail-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
	gap: 1.5rem;
	align-items: start;
}

.dw-live-class-content-card,
.dw-live-class-sidebar-card {
	border-radius: 16px;
	padding: clamp(1.25rem, 3vw, 2rem);
}

.dw-live-class-featured-image {
	margin: -0.25rem -0.25rem 1.5rem;
	border-radius: 14px;
	overflow: hidden;
}

.dw-live-class-featured-image img {
	width: 100%;
	height: auto;
	display: block;
}

.dw-live-class-sidebar-card {
	position: sticky;
	top: 1rem;
	display: grid;
	gap: 1rem;
}

.dw-live-class-sidebar-card h2 {
	margin: 0;
	font-size: 1.35rem;
}

.dw-live-class-sidebar-card p {
	color: rgba(226, 232, 240, 0.8);
}

/* Paystack enrollment */
.dw-payment-page {
	background: var(--dw-bg, #050812);
	color: var(--dw-text, #f8fbff);
}

.dw-payment-card,
.dw-payment-result-panel {
	border: 1px solid rgba(0, 220, 180, 0.22);
}

.dw-payment-summary {
	display: grid;
	gap: 0.35rem;
	padding: 1rem 0;
	border-top: 1px solid rgba(148, 163, 184, 0.22);
}

.dw-payment-summary span {
	color: rgba(226, 232, 240, 0.72);
	font-size: 0.8rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.dw-payment-summary strong {
	color: #fff;
	font-size: 1.1rem;
	line-height: 1.3;
}

.dw-payment-status-card .dw-btn {
	margin-top: 0.8rem;
}

/* Internal assignment submissions */
.dw-submission-form .wp-editor-wrap {
	margin: 0.75rem 0 1.1rem;
	border-radius: 12px;
	overflow: hidden;
	border: 1px solid rgba(148, 163, 184, 0.26);
	background: #fff;
	color: #111827;
}

.dw-submission-form input[type="url"],
.dw-submission-form input[type="file"],
.dw-submission-form textarea {
	width: 100%;
	border: 1px solid rgba(148, 163, 184, 0.28);
	border-radius: 10px;
	background: rgba(3, 7, 18, 0.72);
	color: #fff;
	padding: 0.85rem 1rem;
}

.dw-submission-form label {
	display: block;
	margin-top: 1rem;
	margin-bottom: 0.45rem;
	color: rgba(226, 232, 240, 0.86);
	font-weight: 800;
}

.dw-submission-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-top: 1rem;
}

.dw-submission-answer,
.dw-admin-submission-answer {
	border: 1px solid rgba(148, 163, 184, 0.22);
	border-radius: 12px;
	padding: 1rem;
	background: rgba(3, 7, 18, 0.42);
	color: rgba(248, 250, 252, 0.92);
}

.dw-admin-submission-answer {
	background: #fff;
	color: #111827;
}

.dw-submission-attachments,
.dw-submission-existing-files {
	display: grid;
	gap: 0.55rem;
	margin-top: 1rem;
	padding: 1rem;
	border-radius: 12px;
	background: rgba(15, 23, 42, 0.55);
	border: 1px solid rgba(148, 163, 184, 0.22);
}

.dw-submission-attachments {
	list-style: none;
}

.dw-submission-attachments a,
.dw-submission-existing-files label {
	color: rgba(226, 232, 240, 0.9);
}

.dw-submission-list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	margin-top: 1.5rem;
}

/* Instructor portal */
.dw-instructor-dashboard-page,
.dw-review-submissions-page {
	background:
		linear-gradient(180deg, #05060d 0%, #070914 36rem),
		var(--dw-bg);
}

.dw-instructor-hero,
.dw-review-hero {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.16), transparent 40%),
		linear-gradient(180deg, rgba(7, 9, 20, 0.98), rgba(7, 9, 20, 0.92));
}

.dw-review-filter-form,
.dw-review-main-card,
.dw-review-meta-card,
.dw-review-form-card {
	background:
		linear-gradient(135deg, rgba(0, 214, 163, 0.08), transparent 48%),
		var(--dw-surface);
	border: 1px solid var(--dw-border);
	border-radius: var(--dw-radius-lg);
	box-shadow: var(--dw-shadow-soft);
}

.dw-review-filter-form {
	margin-bottom: var(--dw-space-5);
	padding: clamp(1rem, 3vw, 1.5rem);
}

.dw-review-filter-grid {
	display: grid;
	gap: var(--dw-space-3);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dw-review-filter-form label,
.dw-review-form label {
	color: var(--dw-muted);
	display: grid;
	font-size: 0.78rem;
	font-weight: 850;
	gap: 0.45rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dw-review-filter-form :where(input, select),
.dw-review-form :where(input[type="text"], select, textarea) {
	background: rgba(3, 7, 18, 0.72);
	border: 1px solid rgba(148, 163, 184, 0.28);
	border-radius: 10px;
	color: var(--dw-text);
	min-height: 46px;
	padding: 0.8rem 0.95rem;
	width: 100%;
}

.dw-review-filter-form :where(input, select):focus,
.dw-review-form :where(input[type="text"], select, textarea):focus {
	border-color: rgba(0, 214, 163, 0.55);
	box-shadow: 0 0 0 3px rgba(0, 214, 163, 0.16);
	outline: none;
}

.dw-review-table td small {
	color: var(--dw-muted);
	display: block;
	font-size: 0.78rem;
	font-weight: 700;
	margin-top: 0.2rem;
}

.dw-review-detail-grid {
	align-items: start;
	display: grid;
	gap: var(--dw-space-4);
	grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.65fr);
}

.dw-review-main-card,
.dw-review-meta-card,
.dw-review-form-card {
	padding: clamp(1rem, 3vw, 1.6rem);
}

.dw-review-main-card h3,
.dw-review-meta-card h3,
.dw-review-form-card h3 {
	color: var(--dw-text);
	font-size: 1.15rem;
	margin: var(--dw-space-4) 0 var(--dw-space-2);
}

.dw-review-sidebar {
	display: grid;
	gap: var(--dw-space-4);
	position: sticky;
	top: 6rem;
}

.admin-bar .dw-review-sidebar {
	top: 8rem;
}

.dw-review-meta-card dl {
	display: grid;
	gap: 0.85rem;
	margin: 0;
}

.dw-review-meta-card div {
	border-bottom: 1px solid var(--dw-border);
	padding-bottom: 0.85rem;
}

.dw-review-meta-card div:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.dw-review-meta-card dt {
	color: var(--dw-muted);
	font-size: 0.74rem;
	font-weight: 850;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.dw-review-meta-card dd {
	color: var(--dw-text);
	font-weight: 800;
	margin: 0.2rem 0 0;
	overflow-wrap: anywhere;
}

.dw-review-form {
	display: grid;
	gap: var(--dw-space-3);
}

.dw-review-form textarea {
	min-height: 190px;
	resize: vertical;
}

.dw-review-history {
	padding-bottom: 0;
}
