.snwr-learn,
.snwr-learning-path,
.snwr-tutorial {
	--snwr-toolbar-offset: 0px;
	--snwr-admin-offset: 0px;
	--snwr-border: #d7dde4;
	--snwr-text: #1f2933;
	--snwr-muted: #52606d;
	--snwr-accent: #047857;
	--snwr-accent-soft: #e8f7f0;
	--snwr-panel: #f7f9fb;
	--snwr-focus: #0a6ed1;
	background: #ffffff;
	color: var(--snwr-text);
}

body.snwr-learn .td-header-sp-ads,
body.snwr-learn .td-header-ad-wrap,
body.snwr-learn .td-header-rec-wrap,
body.snwr-learn .td-header-sp-recs,
body.snwr-learn .td-a-rec-id-header,
body.snwr-learn .td-ad-header,
body.snwr-learn .td-g-rec-id-header,
body.snwr-learn [class*="td-a-rec-id-header"],
body.snwr-learning-path .td-header-sp-ads,
body.snwr-learning-path .td-header-ad-wrap,
body.snwr-learning-path .td-header-rec-wrap,
body.snwr-learning-path .td-header-sp-recs,
body.snwr-learning-path .td-a-rec-id-header,
body.snwr-learning-path .td-ad-header,
body.snwr-learning-path .td-g-rec-id-header,
body.snwr-learning-path [class*="td-a-rec-id-header"],
body.snwr-tutorial-single .td-header-sp-ads,
body.snwr-tutorial-single .td-header-ad-wrap,
body.snwr-tutorial-single .td-header-rec-wrap,
body.snwr-tutorial-single .td-header-sp-recs,
body.snwr-tutorial-single .td-a-rec-id-header,
body.snwr-tutorial-single .td-ad-header,
body.snwr-tutorial-single .td-g-rec-id-header,
body.snwr-tutorial-single [class*="td-a-rec-id-header"],
body.snwr-learn .td-banner-wrap-full,
body.snwr-learning-path .td-banner-wrap-full,
body.snwr-tutorial-single .td-banner-wrap-full {
	display: none !important;
}

body.snwr-learn .td-header-wrap,
body.snwr-learn .tdc-header-wrap,
body.snwr-learn .td-header-template-wrap,
body.snwr-learn .td-header-menu-wrap,
body.snwr-learn .td-header-menu-wrap-full,
body.snwr-learn .td-header-top-menu-full,
body.snwr-learn .td-header-mobile-wrap,
body.snwr-learn .td-mobile-nav {
	display: none !important;
}

.snwr-tutorial-subheader {
	--snwr-toolbar-offset: 0px;
	--snwr-admin-offset: 0px;
	position: sticky;
	top: calc(var(--snwr-admin-offset) + var(--snwr-toolbar-offset));
	z-index: 901;
	background: #fafbfc;
	box-shadow: none;
}

.admin-bar .snwr-tutorial-subheader {
	--snwr-admin-offset: 32px;
}

.snwr-tutorial-subheader__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: min(1320px, calc(100% - 40px));
	margin: 0 auto;
	overflow: hidden;
}

.snwr-tutorial-subheader__menu-wrap {
	display: flex;
	align-items: center;
	flex: 1 1 auto;
	min-width: 0;
	gap: 2px;
}

.snwr-tutorial-subheader__menu {
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	align-items: center;
	gap: 0;
	min-height: 38px;
	margin: 0;
	padding: 0;
	list-style: none;
	overflow-x: auto;
	white-space: nowrap;
	scrollbar-width: none;
}

/* Arrow buttons replace the drag-scrollbar as the way to reach overflowing
   items - the scrollbar itself is hidden (scrollbar-width above,
   ::-webkit-scrollbar here) rather than removed, so touch/trackpad swipe
   still works everywhere the arrows aren't clicked. */
.snwr-tutorial-subheader__menu::-webkit-scrollbar {
	display: none;
}

.snwr-tutorial-subheader__arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 26px;
	height: 26px;
	padding: 0;
	border: 1px solid #e2e8f0;
	border-radius: 50%;
	background: #ffffff;
	color: #1f2937;
	cursor: pointer;
}

.snwr-tutorial-subheader__arrow:hover,
.snwr-tutorial-subheader__arrow:focus-visible {
	border-color: #04aa6d;
	color: #047857;
	outline: none;
}

.snwr-tutorial-subheader__arrow svg {
	width: 14px;
	height: 14px;
	pointer-events: none;
}

/* An author rule is required to actually hide this - the native
   [hidden]{display:none} UA rule loses to ANY author rule regardless of
   specificity (see .snwr-my-learning__path-card[hidden] in the CHANGELOG
   for the same fix applied for the same reason). */
.snwr-tutorial-subheader__arrow[hidden] {
	display: none;
}

.snwr-tutorial-subheader__menu li {
	display: flex !important;
	align-items: center !important;
	margin: 0;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	list-style: none !important;
}

.snwr-tutorial-subheader__menu a {
	display: flex !important;
	align-items: center;
	min-height: 38px;
	padding: 0 15px;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	box-shadow: none !important;
}

.snwr-tutorial-subheader__menu a:hover,
.snwr-tutorial-subheader__menu a:focus-visible,
.snwr-tutorial-subheader__menu .current-menu-item > a {
	background: rgba(0, 0, 0, 0.14) !important;
	color: #ffffff !important;
	outline: none;
}

.snwr-tutorial-auth-actions {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
	margin-left: auto;
}

.snwr-tutorial-auth-actions__status {
	color: #1f2937;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

.snwr-tutorial-auth-actions__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 20px;
	border: 1px solid #047857;
	border-radius: 999px;
	background: #047857;
	color: #ffffff !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none !important;
	white-space: nowrap;
}

.snwr-tutorial-auth-actions__link:hover,
.snwr-tutorial-auth-actions__link:focus-visible {
	background: #065f46;
	border-color: #065f46;
	color: #ffffff !important;
}

/* Login stays a plain text link; Register (above) is the solid pill button. */
.snwr-tutorial-auth-actions__link--ghost {
	min-height: auto;
	padding: 8px 4px;
	border: 0;
	background: transparent;
	color: #1f2937 !important;
	font-weight: 700;
}

.snwr-tutorial-auth-actions__link--ghost:hover,
.snwr-tutorial-auth-actions__link--ghost:focus-visible {
	background: transparent;
	color: #047857 !important;
	text-decoration: underline !important;
}

/* ---------- Post-login account dropdown (main header) ----------
 * .snwr-dash-avatar's base circle is defined here (not snwr-dashboard.css)
 * because this dropdown appears on every tutorial surface, not just the
 * dashboard pages that file is scoped to - snwr-dashboard.css only adds
 * dashboard-specific sizing overrides where needed.
 */

.snwr-dash-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 999px;
	background: var(--snwr-accent, #047857);
	color: #ffffff;
	font-size: 14px;
	font-weight: 800;
}

.snwr-account-menu {
	position: relative;
	margin-left: auto;
}

.snwr-account-menu__trigger {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 4px 10px 4px 4px;
	border: 0;
	border-radius: 999px;
	background: transparent;
	cursor: pointer;
}

.snwr-account-menu__trigger:hover {
	background: var(--snwr-panel, #f7f9fb);
}

.snwr-account-menu__name {
	color: #1f2937;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
}

.snwr-account-menu__chevron {
	color: #6b7280;
}

.snwr-account-menu__panel {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 30;
	width: 260px;
	padding: 8px 0;
	border: 1px solid var(--snwr-border, #d7dde4);
	border-radius: 12px;
	background: #ffffff;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
}

.snwr-account-menu__header {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px 14px;
	border-bottom: 1px solid var(--snwr-border, #d7dde4);
}

.snwr-account-menu__header .snwr-dash-avatar {
	width: 40px;
	height: 40px;
	font-size: 15px;
}

.snwr-account-menu__header-name {
	margin: 0;
	font-size: 14px;
	font-weight: 800;
	color: var(--snwr-text, #1f2933);
}

.snwr-account-menu__header-email {
	margin: 1px 0 0;
	font-size: 12px;
	color: var(--snwr-muted, #52606d);
}

.snwr-account-menu__list {
	margin: 6px 0;
	padding: 0 8px;
	list-style: none;
}

.snwr-account-menu__footer {
	padding: 6px 8px 0;
	border-top: 1px solid var(--snwr-border, #d7dde4);
}

.snwr-account-menu__link {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 10px;
	margin-top: 6px;
	border-radius: 8px;
	color: #374151 !important;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none !important;
}

.snwr-account-menu__footer .snwr-account-menu__link {
	margin-top: 6px;
}

.snwr-account-menu__link:hover,
.snwr-account-menu__link:focus-visible {
	background: var(--snwr-panel, #f7f9fb);
}

.snwr-account-menu__link.snwr-is-active {
	background: var(--snwr-accent-soft, #e8f7f0);
	color: var(--snwr-accent, #047857) !important;
}

.snwr-account-menu__icon {
	flex: none;
}

.admin-bar .snwr-learn,
.admin-bar .snwr-learning-path,
.admin-bar .snwr-tutorial {
	--snwr-admin-offset: 32px;
}

.snwr-skip-link {
	position: absolute;
	left: 16px;
	top: -80px;
	z-index: 10010;
	padding: 10px 14px;
	background: #ffffff;
	color: #111827;
	box-shadow: 0 4px 16px rgba(15, 23, 42, 0.18);
}

.snwr-skip-link:focus {
	top: calc(var(--snwr-admin-offset) + 12px);
}

.snwr-tutorial a:focus-visible,
.snwr-tutorial button:focus-visible,
.snwr-tutorial input:focus-visible,
.snwr-learning-path a:focus-visible,
.snwr-learn a:focus-visible,
.snwr-learn button:focus-visible,
.snwr-learn input:focus-visible {
	outline: 3px solid var(--snwr-focus);
	outline-offset: 2px;
}

.snwr-tutorial-toolbar {
	position: sticky;
	top: calc(var(--snwr-admin-offset) + var(--snwr-toolbar-offset));
	z-index: 900;
	border-bottom: 1px solid var(--snwr-border);
	background: rgba(255, 255, 255, 0.96);
	backdrop-filter: blur(10px);
}

.snwr-tutorial-toolbar__inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 16px;
	width: min(1320px, calc(100% - 32px));
	margin: 0 auto;
	min-height: 56px;
}

.snwr-tutorial-toolbar__context {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 12px;
	min-width: 0;
}

.snwr-tutorial-toolbar__path {
	color: #111827;
	font-weight: 700;
	text-decoration: none;
}

.snwr-tutorial-toolbar__chapter {
	color: var(--snwr-muted);
	font-size: 13px;
}

.snwr-tutorial-toolbar__actions {
	display: flex;
	align-items: center;
	gap: 8px;
}

.snwr-tutorial-menu-button,
.snwr-tutorial-dark-button,
.snwr-tutorial-close-button,
.snwr-code-copy,
.snwr-tutorial-search button {
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	background: #ffffff;
	color: #172033;
	font-weight: 700;
	cursor: pointer;
}

.snwr-tutorial-menu-button,
.snwr-tutorial-dark-button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 38px;
	padding: 8px 11px;
}

.snwr-tutorial-menu-button {
	display: none;
}

.snwr-tutorial-shell {
	display: grid;
	grid-template-columns: 300px minmax(0, 820px) minmax(190px, 240px);
	gap: 34px;
	width: min(1320px, calc(100% - 40px));
	margin: 0 auto;
	padding: 30px 0 64px;
}

.snwr-tutorial-sidebar {
	position: sticky;
	top: calc(var(--snwr-admin-offset) + var(--snwr-toolbar-offset) + 76px);
	align-self: start;
	height: calc(100vh - var(--snwr-admin-offset) - var(--snwr-toolbar-offset) - 96px);
	overflow-y: auto;
	border-right: 1px solid var(--snwr-border);
	background: var(--snwr-panel);
}

.snwr-tutorial-sidebar__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid var(--snwr-border);
	background: #eceff3;
	color: #18212f;
}

.snwr-tutorial-close-button {
	display: none;
	width: 36px;
	height: 36px;
	font-size: 24px;
	line-height: 1;
}

.snwr-tutorial-sidebar__empty {
	margin: 0;
	padding: 18px;
	color: var(--snwr-muted);
}

.snwr-tutorial-nav__path {
	margin: 0;
	padding: 16px 18px 8px;
	color: var(--snwr-muted);
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
}

.snwr-tutorial-nav__search {
	padding: 8px 14px 14px;
}

.snwr-tutorial-nav__search input,
.snwr-tutorial-search input {
	width: 100%;
	min-height: 42px;
	padding: 9px 12px;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	background: #ffffff;
	color: var(--snwr-text);
}

.snwr-tutorial-nav__empty {
	margin: 10px 4px 0;
	color: var(--snwr-muted);
	font-size: 13px;
}

.snwr-tutorial-nav__chapter {
	border-top: 1px solid #dfe4ea;
}

.snwr-tutorial-nav__chapter summary {
	cursor: pointer;
	padding: 13px 18px;
	color: #18212f;
	font-weight: 700;
}

.snwr-tutorial-nav__lessons {
	list-style: none;
	margin: 0;
	padding: 0 0 10px;
}

.snwr-tutorial-nav__lessons a {
	display: block;
	padding: 9px 18px 9px 28px;
	border-left: 4px solid transparent;
	color: #293847;
	font-size: 14px;
	line-height: 1.35;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.snwr-tutorial-nav__lessons a:hover,
.snwr-tutorial-nav__lessons a.snwr-is-current {
	border-left-color: var(--snwr-accent);
	background: #ffffff;
	color: #075e43;
}

.snwr-tutorial-nav__lessons a[aria-current="page"] {
	font-weight: 700;
}

.snwr-tutorial-content {
	min-width: 0;
	max-width: 820px;
	padding: 0 0 24px;
}

.snwr-tutorial .snwr-tutorial-shell {
	grid-template-columns: 280px minmax(0, 880px) 180px;
	gap: 28px;
	width: min(1480px, calc(100% - 40px));
}

.snwr-tutorial .snwr-tutorial-sidebar {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #dbe3ec;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.08);
}

.snwr-tutorial .snwr-tutorial-sidebar__header {
	position: sticky;
	top: 0;
	z-index: 2;
	flex: 0 0 auto;
	padding: 18px 20px 14px;
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	background: linear-gradient(135deg, #047857 0%, #04aa6d 100%);
	color: #ffffff;
}

.snwr-tutorial .snwr-tutorial-sidebar__header strong {
	font-size: 22px;
	line-height: 1.05;
}

.snwr-tutorial .snwr-tutorial-nav {
	flex: 1 1 auto;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	padding: 0 0 22px;
	background: #ffffff;
}

.snwr-tutorial .snwr-tutorial-nav__path {
	display: none;
}

.snwr-tutorial .snwr-tutorial-nav__search {
	padding: 0 14px 14px;
	background: #047857;
}

.snwr-tutorial .snwr-tutorial-nav__search-control {
	position: relative;
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr) 38px;
	align-items: center;
	min-height: 58px;
	padding: 6px 8px 6px 14px;
	border-radius: 10px;
	background: #ffffff;
	box-shadow: inset 0 0 0 1px rgba(15, 23, 42, 0.04);
}

.snwr-tutorial .snwr-tutorial-nav__search-icon {
	display: grid;
	place-items: center;
	color: #64748b;
}

.snwr-tutorial .snwr-tutorial-nav__search input {
	min-width: 0;
	min-height: 42px;
	padding: 0 8px;
	border: 0;
	background: transparent;
	color: #334155;
	font-size: 13px;
	line-height: 1.2;
	outline: none;
}

.snwr-tutorial .snwr-tutorial-nav__search input::placeholder {
	color: #6b7280;
	opacity: 1;
}

.snwr-tutorial .snwr-tutorial-nav__filter-button {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 9px;
	background: #e7f6ef;
	color: #64748b;
	cursor: pointer;
}

.snwr-tutorial .snwr-tutorial-nav__filter-button:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.snwr-tutorial .snwr-tutorial-nav__chapter {
	margin: 0;
	border-top: 1px solid #e5edf4;
}

.snwr-tutorial .snwr-tutorial-nav__chapter summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 12px;
	gap: 7px;
	align-items: center;
	min-height: 44px;
	padding: 12px 20px 10px;
	font-size: 14px;
}

.snwr-tutorial .snwr-tutorial-nav__chapter summary::marker {
	content: "";
}

.snwr-tutorial .snwr-tutorial-nav__chapter-count {
	padding: 5px 10px;
	border-radius: 999px;
	background: #e8f7f0;
	color: #047857;
	font-size: 12px;
	font-weight: 900;
	white-space: nowrap;
}

.snwr-tutorial .snwr-tutorial-nav__chapter-toggle {
	color: #334155;
	font-size: 13px;
}

.snwr-tutorial .snwr-tutorial-nav__chapter:not([open]) .snwr-tutorial-nav__chapter-toggle {
	transform: rotate(180deg);
}

.snwr-tutorial .snwr-tutorial-nav__lessons {
	position: relative;
	margin: 4px 20px 16px 30px;
	padding: 0 0 0 16px;
	max-width: calc(100% - 50px);
}

.snwr-tutorial .snwr-tutorial-nav__lessons::before {
	position: absolute;
	top: 5px;
	bottom: 5px;
	left: 0;
	width: 2px;
	border-radius: 999px;
	background: #d8e4ee;
	content: "";
}

.snwr-tutorial .snwr-tutorial-nav__lessons li + li {
	border-top: 1px solid #eef2f6;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a {
	display: grid;
	grid-template-columns: 30px minmax(0, 1fr) max-content;
	gap: 8px;
	align-items: center;
	max-width: 100%;
	min-height: 44px;
	padding: 6px 0;
	border-left: 0;
	background: transparent;
	font-size: 13px;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a::before {
	display: grid;
	place-items: center;
	width: 24px;
	height: 24px;
	border: 1px solid #d7e1ec;
	border-radius: 50%;
	color: #64748b;
	content: counter(list-item);
	font-size: 12px;
	font-weight: 800;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-current,
.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"] {
	background: transparent;
	color: #047857;
	font-weight: 800;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-current::before,
.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"]::before {
	border-color: #047857;
	background: #047857;
	color: #ffffff;
	content: "\2713";
}

.snwr-tutorial-nav__lesson-time {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	color: #64748b;
	font-size: 12px;
	white-space: nowrap;
}

.snwr-tutorial-nav__lesson-time::before {
	display: inline-block;
	width: 12px;
	height: 12px;
	border: 1.7px solid currentColor;
	border-radius: 50%;
	content: "";
}

.snwr-tutorial-nav__lesson-title {
	display: flex;
	align-items: flex-start;
	min-width: 0;
}

.snwr-tutorial-nav__lesson-text {
	min-width: 0;
	overflow-wrap: anywhere;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"] .snwr-tutorial-nav__lesson-time {
	color: #047857;
}

.snwr-module-rating {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	min-height: 30px;
	padding: 4px 9px;
	border: 1px solid #dbe5ee;
	border-radius: 999px;
	background: #ffffff;
	color: #475569;
	font-size: 12px;
	font-weight: 800;
}

.snwr-module-rating__stars {
	display: inline-flex;
	gap: 1px;
}

.snwr-module-rating__stars button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 18px;
	height: 18px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #cbd5e1;
	font-size: 16px;
	line-height: 1;
	cursor: pointer;
}

.snwr-module-rating__stars button.snwr-is-active {
	color: #f5a400;
}

.snwr-module-rating.snwr-is-locked {
	background: #f8fafc;
	color: #64748b;
}

.snwr-module-rating.snwr-is-locked .snwr-module-rating__stars button {
	cursor: not-allowed;
	opacity: 0.72;
}

.snwr-module-rating__login {
	display: inline-flex;
	align-items: center;
	border: 0;
	background: transparent;
	padding: 0;
	font: inherit;
	color: #047857 !important;
	font-size: 11px;
	font-weight: 900;
	text-decoration: none !important;
	white-space: nowrap;
}

.snwr-module-rating__value {
	color: #047857;
	font-weight: 900;
}

.snwr-tutorial-ad-sidebar {
	position: sticky;
	top: calc(var(--snwr-admin-offset) + var(--snwr-toolbar-offset) + 76px);
	display: grid;
	gap: 16px;
	justify-items: center;
	align-self: start;
}

.snwr-ad-slot {
	display: grid;
	place-items: center;
	width: 150px;
	height: 400px;
	border: 1px dashed #c9d5e1;
	border-radius: 8px;
	background: linear-gradient(135deg, rgba(4, 120, 87, 0.08), rgba(255, 255, 255, 0.96)), #ffffff;
	color: #64748b;
	text-align: center;
}

.snwr-ad-slot--managed {
	overflow: hidden;
	border-style: solid;
}

.snwr-ad-slot--managed > div,
.snwr-ad-slot--managed .td-a-rec,
.snwr-ad-slot--managed .td-g-rec,
.snwr-ad-slot--managed ins {
	max-width: 100%;
}

.snwr-ad-slot--managed iframe {
	max-width: 100%;
}

.snwr-ad-slot span {
	display: grid;
	gap: 4px;
	font-size: 12px;
	font-weight: 800;
	text-transform: uppercase;
}

.snwr-ad-slot strong {
	color: #334155;
	font-size: 20px;
	text-transform: none;
}

.snwr-ad-slot small {
	color: #047857;
	font-size: 11px;
	font-weight: 800;
	text-transform: none;
}

.snwr-tutorial-header {
	margin-bottom: 24px;
}

.snwr-tutorial-breadcrumbs {
	margin-bottom: 16px;
	color: var(--snwr-muted);
	font-size: 13px;
}

.snwr-tutorial-breadcrumbs ol {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.snwr-tutorial-breadcrumbs li:not(:last-child)::after {
	content: "/";
	margin-left: 7px;
	color: #94a3b8;
}

.snwr-tutorial-breadcrumbs a {
	color: var(--snwr-muted);
	text-decoration: none;
}

.snwr-tutorial-header__image {
	overflow: hidden;
	margin-bottom: 22px;
	border-radius: 6px;
}

.snwr-tutorial-header__image img {
	display: block;
	width: 100%;
	height: auto;
}

.snwr-tutorial-title,
.snwr-learn h1,
.snwr-learning-path h1 {
	margin: 0 0 14px;
	color: #111827;
	font-size: clamp(32px, 4vw, 46px);
	line-height: 1.12;
}

.snwr-tutorial-meta,
.snwr-learning-path__meta,
.snwr-learn-card__meta {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.snwr-tutorial-meta li,
.snwr-learning-path__meta li,
.snwr-learn-card__meta li {
	padding: 5px 9px;
	border: 1px solid #cbd5e1;
	border-radius: 4px;
	background: #f8fafc;
	color: #475569;
	font-size: 13px;
}

.snwr-tutorial-meta span {
	font-weight: 700;
}

.snwr-tutorial-video {
	overflow: hidden;
	margin: 24px 0;
	border-radius: 6px;
}

.snwr-tutorial-video iframe {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
}

.snwr-tutorial-article {
	color: var(--snwr-text);
	font-size: 17px;
	line-height: 1;
}

.snwr-tutorial-article > * {
	max-width: 100%;
}

.snwr-tutorial-article p,
.snwr-tutorial-article ul,
.snwr-tutorial-article ol,
.snwr-tutorial-article table,
.snwr-tutorial-article blockquote,
.snwr-tutorial-article pre,
.snwr-content-box {
	margin-top: 0;
	margin-bottom: 0.85em;
}

.snwr-tutorial-article h2,
.snwr-tutorial-article h3,
.snwr-tutorial-article h4 {
	margin-bottom: 0.65em;
	color: #111827;
	line-height: 1.25;
}

.snwr-tutorial-article h3,
.snwr-tutorial-article h4 {
	margin-top: 1.8em;
}

.snwr-tutorial-article h2 {
	margin-top: 0em;
}

.snwr-tutorial-article ul,
.snwr-tutorial-article ol {
	padding-left: 1.35em;
}

.snwr-tutorial-article li + li {
	margin-top: 0.35em;
}

.snwr-tutorial-article img {
	max-width: 100%;
	height: auto;
	border-radius: 4px;
}

.snwr-tutorial-article table {
	display: block;
	width: 100%;
	overflow-x: auto;
	border-collapse: collapse;
}

.snwr-tutorial-article th,
.snwr-tutorial-article td {
	padding: 10px 12px;
	border: 1px solid var(--snwr-border);
	vertical-align: top;
}

.snwr-code-block,
.snwr-tutorial-article pre {
	position: relative;
	overflow-x: auto;
	padding: 44px 16px 16px;
	border-radius: 6px;
	background: #101828;
	color: #f8fafc;
	tab-size: 4;
}

.snwr-tutorial-article code {
	padding: 2px 5px;
	border-radius: 3px;
	background: #edf2f7;
	color: #243b53;
}

.snwr-tutorial-article pre code {
	display: block;
	padding: 0;
	background: transparent;
	color: inherit;
	white-space: pre;
}

.snwr-lesson-doubts {
	margin-top: 30px;
	padding: 18px;
	border: 1px solid #dbe5ee;
	border-radius: 8px;
	background: #f8fafc;
}

.snwr-lesson-doubts h2 {
	margin: 0 0 8px;
	color: #0f172a;
	font-size: 22px;
	line-height: 1.25;
}

.snwr-lesson-doubts > p {
	margin: 0;
	color: #475569;
	font-size: 14px;
	line-height: 1.55;
}

.snwr-lesson-doubts__form {
	display: grid;
	gap: 12px;
	margin-top: 14px;
}

.snwr-lesson-doubts__reply-title {
	margin: 14px 0 0;
	color: #0f172a;
	font-size: 17px;
	line-height: 1.25;
}

.snwr-lesson-doubts__form label {
	display: block;
	margin-bottom: 6px;
	color: #334155;
	font-size: 12px;
	font-weight: 800;
}

.snwr-lesson-doubts__form textarea {
	width: 100%;
	min-height: 118px;
	padding: 10px 12px;
	border: 1px solid #dbe5ee;
	border-radius: 7px;
	background: #ffffff;
	color: #0f172a;
	font: inherit;
	resize: vertical;
}

.snwr-lesson-doubts__form .form-submit {
	margin: 0;
}

.snwr-lesson-doubts__form .submit,
.snwr-lesson-doubts__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	padding: 8px 13px;
	border: 0;
	border-radius: 6px;
	background: #047857;
	color: #ffffff !important;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	text-decoration: none !important;
	cursor: pointer;
}

.snwr-lesson-doubts__button--ghost {
	border: 1px solid #047857;
	background: #ffffff;
	color: #047857 !important;
}

.snwr-lesson-doubts__login {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	margin-top: 14px;
	padding: 12px;
	border: 1px solid #dbe5ee;
	border-radius: 7px;
	background: #ffffff;
}

.snwr-lesson-doubts__login p {
	flex: 1 1 220px;
	margin: 0;
	color: #475569;
	font-size: 13px;
	line-height: 1.45;
}

.snwr-lesson-doubts__closed {
	margin-top: 12px !important;
}

.snwr-lesson-doubts__list {
	display: grid;
	gap: 10px;
	margin: 16px 0 0;
	padding: 0;
	list-style: none;
}

.snwr-lesson-doubts__list .comment {
	padding: 12px;
	border: 1px solid #e2e8f0;
	border-radius: 7px;
	background: #ffffff;
}

.snwr-lesson-doubts__list .comment-author {
	color: #047857;
	font-size: 13px;
	font-weight: 800;
}

.snwr-lesson-doubts__list .comment-meta,
.snwr-lesson-doubts__list .reply {
	font-size: 11px;
}

.snwr-code-copy {
	position: absolute;
	top: 8px;
	right: 8px;
	min-height: 30px;
	padding: 5px 9px;
	background: #ffffff;
	font-size: 12px;
}

.snwr-token-keyword {
	color: #93c5fd;
}

.snwr-token-string {
	color: #86efac;
}

.snwr-token-comment {
	color: #a8b3c5;
}

.snwr-content-box {
	padding: 16px 18px;
	border-left: 5px solid #64748b;
	border-radius: 6px;
	background: #f8fafc;
}

.snwr-content-box--tip {
	border-left-color: var(--snwr-accent);
	background: var(--snwr-accent-soft);
}

.snwr-content-box--warning {
	border-left-color: #b45309;
	background: #fff7ed;
}

.snwr-content-box--important {
	border-left-color: #b91c1c;
	background: #fef2f2;
}

.snwr-content-box--example {
	border-left-color: #2563eb;
	background: #eff6ff;
}

.snwr-content-box__title {
	margin: 0 0 8px;
	font-weight: 700;
}

.snwr-content-box__body > :last-child {
	margin-bottom: 0;
}

/*
 * Runjay Code Lab example block ([snwr_code_lab] shortcode). Deliberately
 * green-accented and distinct from .snwr-content-box--example above (blue):
 * that box is a static prose callout, this is an interactive component that
 * opens a real execution workspace. The <pre>/<code> inside it is styled by
 * the existing .snwr-tutorial-article pre rules (dark code block + copy
 * button via snwr-tutorial.js) - nothing extra needed here for that part.
 */
.snwr-code-example {
	margin: 0 0 1.25em;
	padding: 16px 18px;
	border: 1px solid var(--snwr-border, #d7dde4);
	border-left: 4px solid var(--snwr-accent, #047857);
	border-radius: 6px;
	background: #ffffff;
}

.snwr-code-example__label {
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--snwr-accent, #047857);
}

.snwr-code-example__description {
	margin: 0 0 12px;
	color: var(--snwr-muted, #52606d);
	font-size: 14.5px;
	line-height: 1.55;
}

.snwr-code-example__code {
	margin-bottom: 12px;
}

.snwr-code-example__try {
	display: inline-flex;
	align-items: baseline;
	gap: 8px;
	padding: 9px 16px;
	border-radius: 6px;
	background: var(--snwr-accent, #047857);
	color: #ffffff;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.snwr-code-example__try:hover,
.snwr-code-example__try:focus-visible {
	background: #036049;
	color: #ffffff;
}

.snwr-code-example__try-note {
	font-weight: 400;
	font-size: 12px;
	opacity: 0.85;
}

.snwr-tutorial-toc-sidebar {
	position: sticky;
	top: calc(var(--snwr-admin-offset) + var(--snwr-toolbar-offset) + 76px);
	align-self: start;
	max-height: calc(100vh - var(--snwr-admin-offset) - var(--snwr-toolbar-offset) - 96px);
	overflow-y: auto;
}

.snwr-tutorial-toc {
	border-left: 1px solid var(--snwr-border);
	padding-left: 16px;
	color: var(--snwr-muted);
	font-size: 13px;
}

.snwr-tutorial-toc__title {
	margin: 0 0 10px;
	color: #111827;
	font-weight: 700;
}

.snwr-tutorial-toc ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.snwr-tutorial-toc li + li {
	margin-top: 7px;
}

.snwr-tutorial-toc__item--h3 {
	padding-left: 12px;
}

.snwr-tutorial-toc a {
	color: var(--snwr-muted);
	text-decoration: none;
}

.snwr-tutorial-toc a.snwr-is-active,
.snwr-tutorial-toc a:hover {
	color: var(--snwr-accent);
}

.snwr-tutorial-toc-mobile {
	display: none;
	margin: 20px 0;
	padding: 12px 14px;
	border: 1px solid var(--snwr-border);
	border-radius: 6px;
}

.snwr-lesson-pagination {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin: 30px 0 0;
}

.snwr-lesson-pagination__link {
	display: block;
	min-height: 74px;
	padding: 13px 15px;
	border: 1px solid #cbd5e1;
	border-radius: 6px;
	background: #ffffff;
	color: #172033;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.snwr-lesson-pagination__link:hover {
	border-color: var(--snwr-accent);
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
	color: #075e43;
}

.snwr-lesson-pagination__link span {
	display: block;
	margin-bottom: 4px;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.snwr-lesson-pagination__link strong {
	display: block;
	font-size: 15px;
	line-height: 1.35;
}

.snwr-lesson-pagination__link--next {
	text-align: right;
}

/* Compact variant (1.19.4): icon + "Previous"/"Next" only, no lesson
 * title - used at both the top and bottom of every lesson, per explicit
 * request that the pagination be simple everywhere, not just at the
 * bottom. Deliberately its own small pill-button look, not a scaled-down
 * version of the full title-card layout above. */
.snwr-lesson-pagination--compact {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 20px 0;
}

.snwr-lesson-pagination--compact .snwr-lesson-pagination__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-height: 0;
	max-width: none;
	padding: 10px 18px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 700;
	white-space: nowrap;
	text-align: left;
}

.snwr-lesson-pagination--compact .snwr-lesson-pagination__link svg {
	flex: none;
}

.snwr-lesson-pagination--compact .snwr-lesson-pagination__link--previous {
	border: 1.5px solid var(--snwr-border, #d7dde4);
	background: #ffffff;
	color: var(--snwr-text, #1f2933);
}

.snwr-lesson-pagination--compact .snwr-lesson-pagination__link--previous:hover {
	border-color: var(--snwr-accent, #047857);
	color: var(--snwr-accent, #047857);
	box-shadow: none;
}

.snwr-lesson-pagination--compact .snwr-lesson-pagination__link--next {
	border: 1.5px solid var(--snwr-accent, #047857);
	background: var(--snwr-accent, #047857);
	color: #ffffff;
}

.snwr-lesson-pagination--compact .snwr-lesson-pagination__link--next:hover {
	border-color: #065f46;
	background: #065f46;
	color: #ffffff;
	box-shadow: none;
}

.snwr-tutorial-overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(15, 23, 42, 0.48);
}

.snwr-tutorial-menu-open {
	overflow: hidden;
}

.snwr-learn__inner,
.snwr-learning-path__inner {
	width: min(1180px, calc(100% - 32px));
	margin: 0 auto;
}

.snwr-learn__header,
.snwr-learning-path__header {
	padding: 42px 0 30px;
	border-bottom: 1px solid var(--snwr-border);
	background: #f8fafc;
}

.snwr-learn__intro,
.snwr-learning-path__description {
	max-width: 760px;
	color: var(--snwr-muted);
	font-size: 17px;
	line-height: 1.6;
}

.snwr-tutorial-search {
	position: relative;
	display: flex;
	gap: 8px;
	max-width: 720px;
	margin-top: 22px;
}

.snwr-tutorial-search button {
	min-width: 96px;
	padding: 9px 14px;
}

.snwr-tutorial-search__results {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 20;
	max-height: 360px;
	overflow-y: auto;
	border: 1px solid var(--snwr-border);
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 16px 40px rgba(15, 23, 42, 0.14);
}

.snwr-tutorial-search__results ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.snwr-tutorial-search__results li {
	padding: 12px 14px;
}

.snwr-tutorial-search__results li + li {
	border-top: 1px solid #e5e7eb;
}

.snwr-tutorial-search__results a {
	color: #111827;
	font-weight: 700;
	text-decoration: none;
}

.snwr-tutorial-search__results p {
	margin: 4px 0 0;
	color: var(--snwr-muted);
	font-size: 13px;
}

.snwr-learn__paths,
.snwr-learning-path__chapters {
	padding: 34px 0 64px;
}

.snwr-learn-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
}

.snwr-learn-card {
	display: flex;
	flex-direction: column;
	gap: 14px;
	min-height: 260px;
	padding: 20px;
	border: 1px solid var(--snwr-border);
	border-radius: 6px;
	background: #ffffff;
	box-shadow: 0 8px 22px rgba(15, 23, 42, 0.05);
}

.snwr-learn-card h3 {
	margin: 0;
	font-size: 22px;
	line-height: 1.25;
}

.snwr-learn-card h3 a {
	color: #111827;
	text-decoration: none;
}

.snwr-learn-card__description {
	margin: 0;
	color: var(--snwr-muted);
	line-height: 1.55;
}

.snwr-learn-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
}

.snwr-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 9px 14px;
	border: 1px solid var(--snwr-accent);
	border-radius: 4px;
	background: var(--snwr-accent);
	color: #ffffff;
	font-weight: 700;
	text-decoration: none;
}

.snwr-button--muted {
	border-color: #cbd5e1;
	background: #f8fafc;
	color: var(--snwr-muted);
}

.snwr-learn {
	--snwr-learn-green: #008060;
	--snwr-learn-green-dark: #00684e;
	--snwr-learn-soft: #eaf8f1;
	--snwr-learn-ink: #101827;
	--snwr-learn-muted: #4f6176;
	--snwr-learn-line: #dbe3ec;
	background: #f7f9fb;
	color: var(--snwr-learn-ink);
}

.snwr-learn .snwr-learn__inner {
	width: min(1760px, calc(100% - 48px));
}

.snwr-learn-hero {
	padding: 42px 0 34px;
	border-bottom: 1px solid var(--snwr-learn-line);
	background: #f5f8fb;
}

.snwr-learn-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 410px);
	gap: clamp(28px, 4vw, 64px);
	align-items: start;
}

.snwr-learn .snwr-learn-title {
	margin: 0 0 22px;
	color: var(--snwr-learn-ink);
	font-size: inherit;
	font-weight: 800;
	line-height: 0.96;
	letter-spacing: 0;
}

.snwr-learn-title__main,
.snwr-learn-title__sub {
	display: block;
	font-size: clamp(44px, 5vw, 74px);
}

.snwr-learn-title__sub {
	margin-top: 6px;
}

.snwr-learn-title__sub strong {
	color: var(--snwr-learn-green);
}

.snwr-learn-hero__content {
	max-width: 1180px;
}

.snwr-learn-hero__content p {
	max-width: 1120px;
	margin: 0 0 13px;
	color: var(--snwr-learn-muted);
	font-size: 20px;
	line-height: 1.55;
}

.snwr-learn-hero__content .snwr-learn-hero__lead {
	color: #203047;
	font-size: 24px;
	font-weight: 700;
}

.snwr-learn-value-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 9px 14px;
	max-width: 980px;
	margin-top: 22px;
}

.snwr-learn-value {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 38px;
	padding: 7px 12px;
	border: 1px solid #dce6ee;
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 8px 22px rgba(20, 38, 61, 0.04);
	color: #1c3047;
	font-size: 13px;
	font-weight: 800;
}

.snwr-learn-value svg {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	color: var(--snwr-learn-green);
}

.snwr-feature-card {
	position: relative;
	overflow: hidden;
	min-height: 560px;
	padding: 28px;
	border: 1px solid var(--snwr-learn-line);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 18px 46px rgba(18, 32, 51, 0.08);
}

.snwr-feature-card__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}

.snwr-feature-card__badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 12px;
	border-radius: 999px;
	background: #dff8e8;
	color: #007a58;
	font-size: 13px;
	font-weight: 900;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.snwr-feature-card__badge::before {
	content: "\2605";
	color: var(--snwr-learn-green);
}

.snwr-feature-card__rating {
	display: grid;
	justify-items: end;
	gap: 2px;
	color: var(--snwr-learn-ink);
	font-weight: 800;
	line-height: 1.15;
}

.snwr-stars {
	color: #f5a400;
	letter-spacing: 0;
	white-space: nowrap;
}

.snwr-feature-card__rating small {
	color: #53667d;
	font-size: 13px;
}

.snwr-feature-card__kicker {
	margin: 18px 0 30px;
	color: #1e2c43;
	font-size: 16px;
	font-weight: 800;
}

.snwr-feature-card__body {
	display: grid;
	grid-template-columns: 144px minmax(0, 1fr);
	gap: 26px;
	align-items: center;
	transition: transform 260ms ease, opacity 260ms ease;
}

.snwr-feature-card.snwr-is-changing .snwr-feature-card__body,
.snwr-feature-card.snwr-is-changing .snwr-feature-card__stats,
.snwr-feature-card.snwr-is-changing .snwr-feature-card__cta {
	opacity: 0;
	transform: translateX(14px);
}

.snwr-feature-card__icon {
	display: grid;
	place-items: center;
	width: 144px;
	height: 144px;
	border-radius: 9px;
	background: #d9f6e5;
	color: var(--snwr-learn-green);
}

.snwr-feature-card__icon svg {
	width: 72px;
	height: 72px;
}

.snwr-feature-card h2 {
	margin: 0 0 14px;
	color: var(--snwr-learn-ink);
	font-size: 32px;
	line-height: 1.15;
}

.snwr-feature-card__body p {
	margin: 0;
	color: #63738a;
	font-size: 17px;
	line-height: 1.45;
}

.snwr-feature-card__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	margin: 30px 0 26px;
	transition: transform 260ms ease, opacity 260ms ease;
}

.snwr-feature-stat {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	column-gap: 12px;
	align-items: center;
}

.snwr-feature-stat span,
.snwr-module-card__meta span {
	display: inline-grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #e5f7ef;
	color: var(--snwr-learn-green);
}

.snwr-feature-stat strong,
.snwr-module-card__meta strong {
	display: block;
	color: var(--snwr-learn-ink);
	font-size: 16px;
	font-weight: 900;
	line-height: 1.15;
}

.snwr-feature-stat small,
.snwr-module-card__meta small {
	display: block;
	color: #627186;
	font-size: 13px;
	line-height: 1.25;
}

.snwr-feature-card__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	min-height: 72px;
	padding: 14px 20px;
	border-radius: 6px;
	background: linear-gradient(135deg, var(--snwr-learn-green), #04714f);
	color: #ffffff;
	font-size: 21px;
	font-weight: 900;
	text-decoration: none;
	box-shadow: 0 12px 24px rgba(0, 128, 96, 0.24);
	transition: transform 260ms ease, opacity 260ms ease, background 160ms ease;
}

.snwr-feature-card__cta span:last-child {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 50%;
}

.snwr-feature-card__cta:hover {
	background: linear-gradient(135deg, #007254, #005f45);
	color: #ffffff;
}

.snwr-feature-card__dots {
	display: flex;
	gap: 9px;
	margin-top: 34px;
}

.snwr-feature-card__dots span {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #d0dbe4;
}

.snwr-feature-card__dots .snwr-is-active {
	background: #00a978;
}

.snwr-author-card {
	padding: 28px 0 8px;
	background: #f7f9fb;
}

.snwr-author-card__inner {
	display: grid;
	grid-template-columns: clamp(104px, 12vw, 150px) minmax(0, 1fr) minmax(210px, 250px);
	gap: 28px;
	align-items: center;
	padding: 24px;
	border: 1px solid var(--snwr-learn-line);
	border-radius: 10px;
	background: #ffffff;
	box-shadow: 0 10px 28px rgba(18, 32, 51, 0.05);
}

.snwr-author-card__photo {
	position: relative;
	width: 100%;
	aspect-ratio: 4 / 5;
}

.snwr-author-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border: 2px solid var(--snwr-learn-green);
	border-radius: 10px;
}

.snwr-author-card__photo span {
	position: absolute;
	left: 50%;
	bottom: -14px;
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--snwr-learn-green);
	color: #ffffff;
	font-weight: 900;
	transform: translateX(-50%);
}

.snwr-author-card__content {
	padding-left: 28px;
	border-left: 1px solid var(--snwr-learn-line);
}

.snwr-author-card__eyebrow {
	margin: 0 0 5px;
	color: var(--snwr-learn-green);
	font-size: 12px;
	font-weight: 900;
	text-transform: uppercase;
}

.snwr-author-card h2 {
	margin: 0;
	color: var(--snwr-learn-ink);
	font-size: 30px;
	line-height: 1.1;
}

.snwr-author-card__role {
	margin: 4px 0 12px;
	color: var(--snwr-learn-green);
	font-size: 13px;
	font-weight: 900;
}

.snwr-author-card__content p:not(.snwr-author-card__eyebrow):not(.snwr-author-card__role) {
	margin: 0 0 18px;
	color: #42536b;
	font-size: 15px;
	line-height: 1.55;
}

.snwr-author-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

.snwr-author-stats div {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: center;
	column-gap: 9px;
	min-height: 62px;
	padding: 10px;
	border: 1px solid #edf1f5;
	border-radius: 7px;
	background: #f5fbf8;
}

.snwr-author-stats span {
	grid-row: span 2;
	display: grid;
	place-items: center;
	color: var(--snwr-learn-green);
}

.snwr-author-stats strong {
	color: var(--snwr-learn-green);
	font-size: 16px;
	line-height: 1;
}

.snwr-author-stats small {
	color: #516277;
	font-size: 11px;
	line-height: 1.2;
}

.snwr-author-quote {
	position: relative;
	margin: 0;
	padding: 20px 0 20px 28px;
	border-left: 1px solid #edf1f5;
	color: #1f3045;
	font-size: 14px;
	line-height: 1.55;
}

.snwr-author-quote::before {
	content: "\201C";
	display: block;
	color: #ccefe1;
	font-size: 72px;
	font-weight: 900;
	line-height: 0.6;
}

.snwr-author-quote p {
	margin: 0 0 14px;
}

.snwr-author-quote cite {
	color: var(--snwr-learn-green);
	font-family: cursive;
	font-size: 17px;
}

.snwr-module-library__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 22px;
}

.snwr-module-library__header h2 {
	margin: 0;
	color: var(--snwr-learn-ink);
	font-size: 30px;
	line-height: 1.2;
}

.snwr-learn .snwr-tutorial-search {
	width: min(100%, 320px);
	max-width: 320px;
	margin: 0;
}

.snwr-learn .snwr-tutorial-search input {
	min-height: 36px;
	padding: 7px 11px;
	border-radius: 6px;
	background: #ffffff;
	font-size: 13px;
}

.snwr-learn .snwr-tutorial-search button {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}

.snwr-module-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
}

.snwr-module-card {
	position: relative;
	overflow: hidden;
	display: grid;
	grid-template-rows: auto auto 1fr auto auto;
	min-height: 340px;
	border: 1px solid var(--snwr-learn-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 16px 40px rgba(18, 32, 51, 0.06);
}

.snwr-module-card__bar {
	position: absolute;
	top: 0;
	left: 0;
	width: 60%;
	height: 5px;
	border-radius: 8px;
	background: var(--snwr-learn-green);
}

.snwr-module-card__rating {
	position: absolute;
	top: 14px;
	right: 14px;
	display: grid;
	gap: 2px;
	min-width: 108px;
	padding: 7px 9px;
	border: 1px solid var(--snwr-learn-line);
	border-radius: 7px;
	background: #ffffff;
	box-shadow: 0 12px 28px rgba(18, 32, 51, 0.08);
	color: var(--snwr-learn-ink);
	line-height: 1.1;
}

.snwr-module-card__rating strong {
	font-size: 13px;
}

.snwr-module-card__rating small {
	color: var(--snwr-learn-green);
	font-size: 10px;
	font-weight: 800;
}

.snwr-module-card__top {
	display: grid;
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
	padding: 28px 16px 0;
	padding-right: 138px;
}

.snwr-module-card__icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #e9fbf2;
	color: var(--snwr-learn-green);
}

.snwr-module-card__icon svg {
	width: 27px;
	height: 27px;
}

.snwr-module-card h3 {
	margin: 0 0 8px;
	font-size: 22px;
	font-weight: 900;
	line-height: 1.05;
}

.snwr-module-card h3 a {
	color: var(--snwr-learn-ink);
	text-decoration: none;
}

.snwr-module-card__subtitle {
	display: inline-flex;
	max-width: 100%;
	margin: 0;
	padding: 5px 14px;
	border: 1px solid #aadbc7;
	border-radius: 999px;
	color: var(--snwr-learn-green-dark);
	font-size: 11px;
	font-weight: 900;
	line-height: 1.3;
}

.snwr-module-card__description {
	margin: 0;
	padding: 13px 16px 0;
	color: #3d4f66;
	font-size: 13px;
	line-height: 1.4;
}

.snwr-module-card__meta {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	padding: 13px 16px 16px;
}

.snwr-module-card__meta div {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	column-gap: 8px;
	align-items: center;
	min-height: 52px;
	padding: 8px;
	border: 1px solid var(--snwr-learn-line);
	border-radius: 8px;
	background: #ffffff;
}

.snwr-module-card__meta span {
	width: 28px;
	height: 28px;
}

.snwr-module-card__meta svg {
	width: 16px;
	height: 16px;
}

.snwr-module-card__meta strong {
	font-size: 11px;
	line-height: 1.2;
}

.snwr-module-card__meta small {
	font-size: 10px;
	line-height: 1.2;
}

.snwr-module-card__cta {
	display: grid;
	gap: 3px;
	padding: 12px 16px;
	border-top: 1px solid var(--snwr-learn-line);
	background: #047857;
	color: #ffffff;
	font-size: 15px;
	font-weight: 900;
	text-decoration: none;
}

.snwr-module-card__cta small {
	color: rgba(255, 255, 255, 0.82);
	font-size: 10px;
	font-weight: 600;
}

.snwr-module-card__cta:hover {
	background: linear-gradient(135deg, var(--snwr-learn-green), #087655);
	color: #ffffff;
}

.snwr-module-card__cta:hover small {
	color: #eefaf5;
}

.snwr-learn-empty {
	margin: 0;
	padding: 24px;
	border: 1px solid var(--snwr-learn-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--snwr-learn-muted);
}

.snwr-path-chapter {
	padding: 22px 0;
	border-top: 1px solid var(--snwr-border);
}

.snwr-path-chapter h3 {
	margin: 0 0 12px;
	color: #111827;
}

.snwr-path-lessons {
	list-style: none;
	margin: 0;
	padding: 0;
}

.snwr-path-lessons li {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 12px 0;
	border-top: 1px solid #eef2f7;
}

.snwr-path-lessons a {
	color: #172033;
	font-weight: 700;
	text-decoration: none;
	overflow-wrap: anywhere;
}

.snwr-path-lessons span {
	flex: 0 0 auto;
	color: var(--snwr-muted);
	font-size: 13px;
}

@media (max-width: 1180px) {
	.snwr-tutorial-shell {
		grid-template-columns: 280px minmax(0, 1fr);
	}

	.snwr-tutorial-toc-sidebar {
		display: none;
	}

	.snwr-tutorial-ad-sidebar {
		display: none;
	}

	.snwr-tutorial-toc-mobile {
		display: block;
	}

	.snwr-learn-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 1320px) {
	.snwr-module-grid {
		gap: 18px;
	}

	.snwr-module-card {
		min-height: 420px;
	}

	.snwr-module-card__top {
		grid-template-columns: 58px minmax(0, 1fr);
		gap: 13px;
		padding: 42px 20px 16px;
		padding-right: 165px;
	}

	.snwr-module-card__icon {
		width: 58px;
		height: 58px;
	}

	.snwr-module-card h3 {
		font-size: 28px;
	}

	.snwr-module-card__rating {
		top: 22px;
		right: 16px;
		min-width: 138px;
	}

	.snwr-module-card__subtitle {
		padding-inline: 14px;
		font-size: 13px;
	}

	.snwr-module-card__description {
		padding-inline: 20px;
		font-size: 15px;
	}

	.snwr-module-card__meta {
		padding-inline: 20px;
	}

	.snwr-module-card__cta {
		padding: 18px 20px;
		font-size: 22px;
	}
}

@media (max-width: 1120px) {
	.snwr-learn-hero__grid {
		grid-template-columns: 1fr;
	}

	.snwr-feature-card {
		max-width: 620px;
	}

	.snwr-author-card__inner {
		grid-template-columns: 120px minmax(0, 1fr);
	}

	.snwr-author-quote {
		grid-column: 1 / -1;
		padding: 18px 0 0;
		border-top: 1px solid #edf1f5;
		border-left: 0;
	}

	.snwr-author-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.snwr-module-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.admin-bar .snwr-learn,
	.admin-bar .snwr-learning-path,
	.admin-bar .snwr-tutorial {
		--snwr-admin-offset: 46px;
	}

	.snwr-tutorial-toolbar__inner {
		grid-template-columns: minmax(0, 1fr) auto;
		width: min(100%, calc(100% - 24px));
		min-height: 58px;
	}

	.snwr-tutorial-toolbar .snwr-lesson-pagination--compact {
		display: none;
	}

	.snwr-tutorial-menu-button {
		display: inline-flex;
	}

	.snwr-tutorial-shell {
		display: block;
		width: min(100%, calc(100% - 24px));
		padding-top: 22px;
	}

	.snwr-tutorial-sidebar {
		position: fixed;
		top: var(--snwr-admin-offset);
		bottom: 0;
		left: 0;
		z-index: 9999;
		width: min(86vw, 340px);
		height: auto;
		max-height: none;
		border-right: 1px solid #cbd5e1;
		box-shadow: 18px 0 40px rgba(15, 23, 42, 0.22);
		transform: translateX(-105%);
		transition: transform 180ms ease;
	}

	.snwr-tutorial-menu-open .snwr-tutorial-sidebar {
		transform: translateX(0);
	}

	.snwr-tutorial-close-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.snwr-tutorial-content {
		max-width: none;
	}
}

@media (max-width: 760px) {
	.snwr-learn .snwr-learn__inner {
		width: min(100%, calc(100% - 28px));
	}

	.snwr-learn-title__main,
	.snwr-learn-title__sub {
		font-size: 42px;
	}

	.snwr-learn-hero__content p {
		font-size: 17px;
	}

	.snwr-learn-hero__content .snwr-learn-hero__lead {
		font-size: 20px;
	}

	.snwr-learn-value-grid,
	.snwr-module-grid {
		grid-template-columns: 1fr;
	}

	.snwr-feature-card {
		min-height: 0;
		padding: 22px;
	}

	.snwr-feature-card__top {
		display: grid;
	}

	.snwr-feature-card__rating {
		justify-items: start;
	}

	.snwr-feature-card__body {
		grid-template-columns: 86px minmax(0, 1fr);
		gap: 16px;
	}

	.snwr-feature-card__icon {
		width: 86px;
		height: 86px;
	}

	.snwr-feature-card h2 {
		font-size: 25px;
	}

	.snwr-feature-card__body p {
		font-size: 15px;
	}

	.snwr-feature-card__cta {
		min-height: 58px;
		font-size: 17px;
	}

	.snwr-author-card__inner {
		grid-template-columns: 1fr;
	}

	.snwr-author-card__photo {
		width: min(180px, 55vw);
	}

	.snwr-author-card__content {
		padding-left: 0;
		border-left: 0;
	}

	.snwr-module-library__header {
		display: grid;
	}

	.snwr-learn .snwr-tutorial-search {
		width: 100%;
		max-width: none;
	}
}

.snwr-learn .snwr-learn__inner {
	width: min(1320px, calc(100% - 40px));
}

.snwr-learn-hero {
	padding: 34px 0 28px;
}

.snwr-learn-hero__grid {
	grid-template-columns: minmax(0, 1.55fr) minmax(320px, 380px);
	gap: clamp(28px, 4vw, 54px);
	align-items: start;
}

.snwr-learn-title__main,
.snwr-learn-title__sub {
	font-size: clamp(42px, 3.35vw, 58px);
	line-height: 1.08;
}

.snwr-learn-hero__content p {
	max-width: 900px;
	font-size: 17px;
	line-height: 1.6;
}

.snwr-learn-hero__content .snwr-learn-hero__lead {
	font-size: 21px;
	line-height: 1.4;
}

.snwr-feature-card {
	min-height: 390px;
	padding: 24px;
}

.snwr-feature-card__kicker {
	margin: 14px 0 22px;
	font-size: 15px;
}

.snwr-feature-card__body {
	grid-template-columns: 96px minmax(0, 1fr);
	gap: 20px;
}

.snwr-feature-card__icon {
	width: 96px;
	height: 96px;
}

.snwr-feature-card h2 {
	margin-bottom: 10px;
	font-size: 27px;
}

.snwr-feature-card__body p {
	font-size: 15px;
	line-height: 1.45;
}

.snwr-feature-card__stats {
	gap: 12px;
	margin: 22px 0 20px;
}

.snwr-feature-stat {
	gap: 10px;
	padding: 12px;
}

.snwr-feature-card__cta {
	min-height: 50px;
	padding: 11px 14px;
	font-size: 16px;
}

.snwr-feature-card__dots {
	margin-top: 20px;
}

@media (max-width: 782px) {
	.admin-bar .snwr-tutorial-subheader {
		--snwr-admin-offset: 46px;
	}
}

@media (max-width: 640px) {
	.snwr-tutorial-toolbar__inner {
		gap: 10px;
	}

	.snwr-tutorial-dark-button {
		display: none;
	}

	.snwr-lesson-pagination {
		grid-template-columns: 1fr;
	}

	.snwr-lesson-pagination__link--next {
		text-align: left;
	}

	.snwr-tutorial-search {
		display: block;
	}

	.snwr-tutorial-search button {
		width: 100%;
		margin-top: 8px;
	}

	.snwr-learn-card-grid {
		grid-template-columns: 1fr;
	}

	.snwr-path-lessons li {
		display: block;
	}

	.snwr-path-lessons span {
		display: block;
		margin-top: 5px;
	}
}

@media (max-width: 480px) {
	.snwr-feature-card__stats,
	.snwr-module-card__meta,
	.snwr-author-stats {
		grid-template-columns: 1fr;
	}

	.snwr-module-card__top {
		padding-right: 20px;
	}

	.snwr-module-card__rating {
		position: static;
		width: auto;
		margin: 20px 20px 0 auto;
	}

	.snwr-module-card h3 {
		font-size: 26px;
	}
}

body.snwr-learn .td-header-wrap,
body.snwr-learn .td-header-menu-wrap,
body.snwr-learn .td-header-main-menu,
body.snwr-learning-path .td-header-wrap,
body.snwr-learning-path .td-header-menu-wrap,
body.snwr-learning-path .td-header-main-menu,
body.snwr-tutorial-single .td-header-wrap,
body.snwr-tutorial-single .td-header-menu-wrap,
body.snwr-tutorial-single .td-header-main-menu {
	display: block !important;
	visibility: visible !important;
}

body.snwr-learn .td-header-wrap,
body.snwr-learning-path .td-header-wrap,
body.snwr-tutorial-single .td-header-wrap {
	position: sticky !important;
	top: 0 !important;
	z-index: 1002 !important;
	background: #ffffff !important;
	box-shadow: 0 1px 0 rgba(15, 23, 42, 0.08) !important;
}

.admin-bar.snwr-learn .td-header-wrap,
.admin-bar.snwr-learning-path .td-header-wrap,
.admin-bar.snwr-tutorial-single .td-header-wrap {
	top: 32px !important;
}

@media (max-width: 782px) {
	.admin-bar.snwr-learn .td-header-wrap,
	.admin-bar.snwr-learning-path .td-header-wrap,
	.admin-bar.snwr-tutorial-single .td-header-wrap {
		top: 46px !important;
	}
}

body.snwr-learn .td-header-menu-wrap,
body.snwr-learning-path .td-header-menu-wrap,
body.snwr-tutorial-single .td-header-menu-wrap {
	position: relative !important;
	z-index: 1003 !important;
}

.snwr-tutorial-subheader {
	position: sticky !important;
	top: calc(var(--snwr-admin-offset) + var(--snwr-toolbar-offset)) !important;
	z-index: 1001 !important;
}

.snwr-tutorial-subheader__inner {
	width: min(1320px, calc(100% - 32px));
}

.snwr-tutorial-subheader__menu {
	min-height: 34px;
}

.snwr-tutorial-subheader__menu a {
	min-height: 28px;
	padding: 4px 9px;
	border-radius: 3px;
	font-size: 13px;
	font-weight: 800;
}

.snwr-tutorial-subheader__menu a:hover,
.snwr-tutorial-subheader__menu a:focus-visible,
.snwr-tutorial-subheader__menu .current-menu-item > a {
	background: #ffffff;
	color: #047857;
}

.snwr-learn .snwr-module-library__header h2 {
	font-size: 24px !important;
	line-height: 1.25 !important;
}

.snwr-learn .snwr-module-grid {
	gap: 16px;
}

.snwr-learn .snwr-module-card {
	min-height: 0 !important;
	border-radius: 8px;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.05);
}

.snwr-learn .snwr-module-card__bar {
	height: 5px;
}

.snwr-learn .snwr-module-card__rating {
	top: 14px;
	right: 14px;
	min-width: 132px;
	padding: 8px 10px;
	border-radius: 6px;
}

.snwr-learn .snwr-module-card__rating strong {
	font-size: 16px !important;
	line-height: 1.1;
}

.snwr-learn .snwr-module-card__rating small {
	font-size: 10px !important;
}

.snwr-learn .snwr-module-card__top {
	grid-template-columns: 52px minmax(0, 1fr);
	gap: 12px;
	padding: 36px 16px 13px;
	padding-right: 154px;
}

.snwr-learn .snwr-module-card__icon {
	width: 52px;
	height: 52px;
}

.snwr-learn .snwr-module-card__icon svg {
	width: 24px;
	height: 24px;
}

.snwr-learn .snwr-module-card h3 {
	margin-bottom: 6px;
	font-size: 22px !important;
	line-height: 1.05 !important;
	letter-spacing: 0 !important;
}

.snwr-learn .snwr-module-card__subtitle {
	padding: 5px 13px;
	font-size: 12px !important;
	line-height: 1.2;
}

.snwr-learn .snwr-module-card__description {
	padding: 0 16px 16px;
	font-size: 14px !important;
	line-height: 1.45;
}

.snwr-learn .snwr-module-card__meta {
	gap: 10px;
	padding: 0 16px 16px;
}

.snwr-learn .snwr-module-card__meta div {
	grid-template-columns: 34px minmax(0, 1fr);
	column-gap: 8px;
	min-height: 54px;
	padding: 10px;
	border-radius: 6px;
}

.snwr-learn .snwr-module-card__meta span {
	width: 34px;
	height: 34px;
}

.snwr-learn .snwr-module-card__meta svg {
	width: 18px;
	height: 18px;
}

.snwr-learn .snwr-module-card__meta strong {
	font-size: 13px !important;
	line-height: 1.15;
}

.snwr-learn .snwr-module-card__meta small {
	font-size: 11px !important;
}

.snwr-learn .snwr-module-card__cta {
	padding: 14px 16px;
	font-size: 18px !important;
	line-height: 1.1;
}

.snwr-learn .snwr-module-card__cta small {
	font-size: 12px !important;
}

.snwr-tutorial .snwr-tutorial-title {
	font-size: clamp(30px, 3.2vw, 42px) !important;
	line-height: 1.12 !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}

.snwr-tutorial .snwr-tutorial-article {
	font-size: 16px !important;
	line-height: 1 !important;
}

.snwr-tutorial .snwr-tutorial-article p,
.snwr-tutorial .snwr-tutorial-article li {
	font-size: inherit !important;
	line-height: inherit !important;
}

@media (max-width: 1320px) {
	.snwr-learn .snwr-module-card__top {
		grid-template-columns: 46px minmax(0, 1fr);
		padding: 34px 14px 12px;
		padding-right: 145px;
	}

	.snwr-learn .snwr-module-card__icon {
		width: 46px;
		height: 46px;
	}

	.snwr-learn .snwr-module-card h3 {
		font-size: 20px !important;
	}

	.snwr-learn .snwr-module-card__subtitle {
		font-size: 11.5px !important;
	}

	.snwr-learn .snwr-module-card__description {
		font-size: 13px !important;
	}
}

@media (max-width: 1180px) {
	.snwr-learn .snwr-module-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 760px) {
	.snwr-learn .snwr-module-grid {
		grid-template-columns: 1fr;
	}

	.snwr-learn .snwr-module-card__top {
		padding-right: 16px;
	}

	.snwr-learn .snwr-module-card__rating {
		position: static;
		width: auto;
		margin: 14px 16px 0 auto;
	}

	.snwr-tutorial .snwr-tutorial-title {
		font-size: 32px !important;
	}
}

body.snwr-learn .snwr-learn-hero {
	padding: 42px 0 34px !important;
	background: #f5f8fb !important;
}

body.snwr-learn .snwr-learn__inner {
	width: min(1320px, calc(100% - 32px)) !important;
}

body.snwr-learn .snwr-learn-hero__grid {
	grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.75fr) !important;
	gap: 48px !important;
	align-items: start !important;
}

body.snwr-learn .snwr-learn-hero__content {
	max-width: 800px !important;
}

body.snwr-learn .snwr-learn-title {
	max-width: 760px !important;
	margin: 0 0 16px !important;
	font-size: 46px !important;
	font-weight: 900 !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-learn-title__main,
body.snwr-learn .snwr-learn-title__sub {
	display: block !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-learn-title__sub {
	margin-top: 4px !important;
}

body.snwr-learn .snwr-learn-title__sub strong {
	color: #047857 !important;
	font-weight: 900 !important;
}

body.snwr-learn .snwr-learn-hero__content p {
	max-width: 760px !important;
	margin: 14px 0 0 !important;
	color: #475569 !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-learn-hero__content .snwr-learn-hero__lead {
	margin-top: 0 !important;
	color: #334155 !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.6 !important;
}

body.snwr-learn .snwr-learn-value-grid {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 8px 16px !important;
	margin-top: 26px !important;
}

body.snwr-learn .snwr-module-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.snwr-learn .snwr-learn-value {
	display: grid !important;
	grid-template-columns: 26px minmax(0, 1fr) !important;
	gap: 8px !important;
	min-height: 32px !important;
	padding: 6px 10px !important;
	border-radius: 6px !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

body.snwr-learn .snwr-learn-value svg {
	width: 13px !important;
	height: 13px !important;
}

body.snwr-learn .snwr-feature-card {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 18px !important;
	align-items: start !important;
	min-height: 360px !important;
	padding: 24px !important;
	border-radius: 8px !important;
}

body.snwr-learn .snwr-feature-card__top {
	gap: 12px !important;
}

body.snwr-learn .snwr-feature-card__badge {
	gap: 5px !important;
	padding: 3px 7px !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

body.snwr-learn .snwr-feature-card__rating strong {
	font-size: 16px !important;
	line-height: 1.1 !important;
}

body.snwr-learn .snwr-feature-card__rating small {
	font-size: 11px !important;
	line-height: 1.2 !important;
}

body.snwr-learn .snwr-feature-card__kicker {
	margin: 0 !important;
	color: #334155 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}

body.snwr-learn .snwr-feature-card__body {
	grid-template-columns: 96px minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: center !important;
}

body.snwr-learn .snwr-feature-card__icon {
	width: 96px !important;
	height: 96px !important;
	border-radius: 8px !important;
}

body.snwr-learn .snwr-feature-card__icon svg {
	width: 62px !important;
	height: 62px !important;
}

body.snwr-learn .snwr-feature-card h2 {
	margin: 0 0 8px !important;
	font-size: 24px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-feature-card__body p {
	margin: 0 !important;
	color: #64748b !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

body.snwr-learn .snwr-feature-card__stats {
	gap: 12px !important;
	margin: 0 !important;
}

body.snwr-learn .snwr-feature-stat {
	gap: 8px !important;
	padding: 8px !important;
}

body.snwr-learn .snwr-feature-stat span {
	width: 34px !important;
	height: 34px !important;
}

body.snwr-learn .snwr-feature-stat svg {
	width: 18px !important;
	height: 18px !important;
}

body.snwr-learn .snwr-feature-stat strong {
	font-size: 13px !important;
	line-height: 1.15 !important;
}

body.snwr-learn .snwr-feature-stat small {
	font-size: 11px !important;
	line-height: 1.2 !important;
}

body.snwr-learn .snwr-feature-card__cta {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 30px !important;
	min-height: 44px !important;
	padding: 10px 12px !important;
	border-radius: 4px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

body.snwr-learn .snwr-feature-card__cta span:last-child {
	width: 24px !important;
	height: 24px !important;
}

body.snwr-learn .snwr-feature-card__dots {
	gap: 7px !important;
	margin-top: 0 !important;
}

body.snwr-learn .snwr-feature-card__dots span {
	width: 9px !important;
	height: 9px !important;
}

@media (max-width: 1180px) {
	body.snwr-learn .snwr-learn-hero__grid {
		grid-template-columns: 1fr !important;
		gap: 34px !important;
	}

	body.snwr-learn .snwr-module-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	body.snwr-learn .snwr-learn-hero {
		padding: 38px 0 !important;
	}

	body.snwr-learn .snwr-learn-title {
		font-size: 35px !important;
	}

	body.snwr-learn .snwr-learn-hero__content .snwr-learn-hero__lead {
		font-size: 16px !important;
	}

	body.snwr-learn .snwr-learn-value-grid {
		grid-template-columns: 1fr !important;
	}

	body.snwr-learn .snwr-module-grid {
		grid-template-columns: 1fr !important;
	}

	body.snwr-learn .snwr-feature-card {
		min-height: 0 !important;
		padding: 24px 20px !important;
	}

	body.snwr-learn .snwr-feature-card__body {
		grid-template-columns: 1fr !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.snwr-tutorial-sidebar {
		transition: none;
	}

	.snwr-feature-card__body,
	.snwr-feature-card__stats,
	.snwr-feature-card__cta {
		transition: none;
	}

	html:focus-within {
		scroll-behavior: auto;
	}
}

body.snwr-learn .snwr-module-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 22px !important;
}

body.snwr-learn .snwr-module-card {
	overflow: hidden !important;
	display: grid !important;
	grid-template-rows: 1fr auto !important;
	min-height: 510px !important;
	border: 1px solid #0a9d72 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.05) !important;
}

body.snwr-learn .snwr-module-card__bar {
	top: 0 !important;
	left: 0 !important;
	width: 61% !important;
	height: 7px !important;
	border-radius: 8px !important;
	background: #087f63 !important;
}

body.snwr-learn .snwr-module-card__rating {
	top: 22px !important;
	right: 22px !important;
	display: grid !important;
	gap: 4px !important;
	min-width: 182px !important;
	padding: 10px 14px !important;
	border: 1px solid #d5dee8 !important;
	border-radius: 7px !important;
	background: #ffffff !important;
	box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08) !important;
}

body.snwr-learn .snwr-module-card__rating strong {
	display: inline !important;
	color: #0f172a !important;
	font-size: 19px !important;
	line-height: 1 !important;
}

body.snwr-learn .snwr-module-card__rating small {
	display: inline !important;
	color: #008060 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
}

body.snwr-learn .snwr-module-card__rating .snwr-stars {
	display: block !important;
	color: #f5a400 !important;
	font-size: 15px !important;
	line-height: 1 !important;
}

body.snwr-learn .snwr-module-card__top {
	display: grid !important;
	grid-template-columns: 78px minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: center !important;
	padding: 52px 26px 22px !important;
	padding-right: 220px !important;
}

body.snwr-learn .snwr-module-card__icon {
	width: 78px !important;
	height: 78px !important;
	border-radius: 50% !important;
	background: #e8fbf2 !important;
	color: #008060 !important;
}

body.snwr-learn .snwr-module-card__icon svg {
	width: 34px !important;
	height: 34px !important;
}

body.snwr-learn .snwr-module-card h3 {
	margin: 0 0 10px !important;
	color: #0f172a !important;
	font-size: 32px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-align: left !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-module-card h3 a {
	color: #0f172a !important;
	text-decoration: none !important;
}

body.snwr-learn .snwr-module-card__subtitle {
	display: inline-flex !important;
	justify-content: center !important;
	min-width: min(100%, 360px) !important;
	max-width: 100% !important;
	padding: 8px 20px !important;
	border: 1px solid #a9d9c6 !important;
	border-radius: 999px !important;
	color: #007a58 !important;
	background: #ffffff !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	text-align: center !important;
}

body.snwr-learn .snwr-module-card__description {
	margin: 0 !important;
	padding: 0 26px 28px !important;
	color: #33465f !important;
	font-size: 18px !important;
	line-height: 1.45 !important;
}

body.snwr-learn .snwr-module-card__meta {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 12px !important;
	padding: 0 26px 24px !important;
}

body.snwr-learn .snwr-module-card__meta div {
	display: grid !important;
	grid-template-columns: 42px minmax(0, 1fr) !important;
	column-gap: 12px !important;
	align-items: center !important;
	min-height: 116px !important;
	padding: 18px 16px !important;
	border: 1px solid #d8e2ec !important;
	border-radius: 8px !important;
	background: #ffffff !important;
}

body.snwr-learn .snwr-module-card__meta span {
	width: 42px !important;
	height: 42px !important;
	border-radius: 50% !important;
	background: #e5f7ef !important;
	color: #008060 !important;
}

body.snwr-learn .snwr-module-card__meta svg {
	width: 22px !important;
	height: 22px !important;
}

body.snwr-learn .snwr-module-card__meta strong {
	color: #0f172a !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
}

body.snwr-learn .snwr-module-card__meta small {
	color: #53657b !important;
	font-size: 13px !important;
	line-height: 1.25 !important;
}

body.snwr-learn .snwr-module-card__cta {
	display: grid !important;
	grid-template-columns: 42px minmax(0, 1fr) !important;
	align-items: center !important;
	column-gap: 16px !important;
	min-height: 124px !important;
	padding: 26px !important;
	border-top: 1px solid #087f63 !important;
	background: #087f63 !important;
	color: #ffffff !important;
	font-size: 0 !important;
	text-decoration: none !important;
}

body.snwr-learn .snwr-module-card__cta::before {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.14);
	color: #ffffff;
	content: "\25C7";
	font-size: 16px;
}

body.snwr-learn .snwr-module-card__cta span {
	display: block !important;
	color: #ffffff !important;
	font-size: 26px !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
}

body.snwr-learn .snwr-module-card__cta small {
	display: block !important;
	margin-top: 4px !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
}

body.snwr-learn .snwr-module-card__cta:hover {
	background: #047857 !important;
	color: #ffffff !important;
}

@media (max-width: 1320px) {
	body.snwr-learn .snwr-module-card__top {
		grid-template-columns: 66px minmax(0, 1fr) !important;
		padding-right: 196px !important;
	}

	body.snwr-learn .snwr-module-card__icon {
		width: 66px !important;
		height: 66px !important;
	}

	body.snwr-learn .snwr-module-card h3 {
		font-size: 28px !important;
	}

	body.snwr-learn .snwr-module-card__description {
		font-size: 16px !important;
	}
}

@media (max-width: 1024px) {
	body.snwr-learn .snwr-module-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 768px) {
	body.snwr-learn .snwr-module-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 560px) {
	body.snwr-learn .snwr-module-card {
		min-height: 0 !important;
	}

	body.snwr-learn .snwr-module-card__rating {
		position: static !important;
		width: auto !important;
		margin: 18px 22px 0 auto !important;
	}

	body.snwr-learn .snwr-module-card__top {
		grid-template-columns: 60px minmax(0, 1fr) !important;
		padding: 22px !important;
	}

	body.snwr-learn .snwr-module-card__description,
	body.snwr-learn .snwr-module-card__meta,
	body.snwr-learn .snwr-module-card__cta {
		padding-left: 22px !important;
		padding-right: 22px !important;
	}
}

body.snwr-learn .snwr-feature-card {
	display: block !important;
	min-height: 0 !important;
	padding: 36px !important;
	border: 1px solid #d7e0ea !important;
	border-radius: 10px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.06) !important;
	color: #0f172a !important;
	text-decoration: none !important;
}

body.snwr-learn .snwr-feature-card:hover,
body.snwr-learn .snwr-feature-card:focus {
	color: #0f172a !important;
	text-decoration: none !important;
}

body.snwr-learn .snwr-feature-card:focus-visible {
	outline: 3px solid rgba(0, 128, 96, 0.35) !important;
	outline-offset: 4px !important;
}

body.snwr-learn .snwr-feature-card__top {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 18px !important;
	margin: 0 !important;
}

body.snwr-learn .snwr-feature-card__badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 7px !important;
	padding: 5px 14px !important;
	border-radius: 999px !important;
	background: #d9f7e5 !important;
	color: #008060 !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-feature-card__rating {
	display: grid !important;
	justify-items: end !important;
	gap: 3px !important;
	color: #0f172a !important;
	line-height: 1.1 !important;
}

body.snwr-learn .snwr-feature-card__rating strong {
	color: #0f172a !important;
	font-size: 21px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
}

body.snwr-learn .snwr-feature-card__rating .snwr-stars {
	color: #f5a400 !important;
	font-size: 16px !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-feature-card__rating small {
	color: #465a73 !important;
	font-size: 14px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
}

body.snwr-learn .snwr-feature-card__kicker {
	margin: 22px 0 36px !important;
	color: #17233a !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
}

body.snwr-learn .snwr-feature-card__body {
	display: grid !important;
	grid-template-columns: 144px minmax(0, 1fr) !important;
	gap: 28px !important;
	align-items: center !important;
	margin: 0 !important;
}

body.snwr-learn .snwr-feature-card__icon {
	display: grid !important;
	place-items: center !important;
	width: 144px !important;
	height: 144px !important;
	border-radius: 9px !important;
	background: #d9f7e5 !important;
	color: #008060 !important;
}

body.snwr-learn .snwr-feature-card__icon svg {
	width: 76px !important;
	height: 76px !important;
}

body.snwr-learn .snwr-feature-card h2 {
	margin: 0 0 16px !important;
	color: #0f172a !important;
	font-size: 36px !important;
	font-weight: 900 !important;
	line-height: 1.25 !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-feature-card__body p {
	margin: 0 !important;
	color: #5b6c84 !important;
	font-size: 19px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

body.snwr-learn .snwr-feature-card__stats {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 48px !important;
	margin: 38px 0 28px !important;
}

body.snwr-learn .snwr-feature-stat {
	display: grid !important;
	grid-template-columns: 52px minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	column-gap: 14px !important;
	align-items: center !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.snwr-learn .snwr-feature-stat span {
	display: grid !important;
	grid-row: 1 / span 2 !important;
	place-items: center !important;
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	background: #e3f8ef !important;
	color: #008060 !important;
}

body.snwr-learn .snwr-feature-stat svg {
	width: 24px !important;
	height: 24px !important;
}

body.snwr-learn .snwr-feature-stat strong {
	color: #0f172a !important;
	font-size: 16px !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
}

body.snwr-learn .snwr-feature-stat small {
	color: #53657b !important;
	font-size: 14px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
}

body.snwr-learn .snwr-feature-card__cta {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 38px !important;
	align-items: center !important;
	min-height: 98px !important;
	padding: 18px 20px !important;
	border-radius: 5px !important;
	background: #087f63 !important;
	color: #ffffff !important;
	font-size: 20px !important;
	font-weight: 900 !important;
	line-height: 1.15 !important;
	text-align: center !important;
	text-decoration: none !important;
}

body.snwr-learn .snwr-feature-card__cta span:first-child {
	display: block !important;
	color: #ffffff !important;
}

body.snwr-learn .snwr-feature-card__cta span:last-child {
	display: grid !important;
	place-items: center !important;
	width: 38px !important;
	height: 38px !important;
	border: 1px solid rgba(255, 255, 255, 0.85) !important;
	border-radius: 50% !important;
	color: #ffffff !important;
	font-size: 20px !important;
	font-weight: 500 !important;
}

body.snwr-learn .snwr-feature-card:hover .snwr-feature-card__cta {
	background: #047857 !important;
}

body.snwr-learn .snwr-feature-card__dots {
	display: flex !important;
	gap: 9px !important;
	margin-top: 26px !important;
}

body.snwr-learn .snwr-feature-card__dots span {
	width: 10px !important;
	height: 10px !important;
	border-radius: 50% !important;
	background: #00a978 !important;
}

@media (max-width: 640px) {
	body.snwr-learn .snwr-feature-card {
		padding: 24px 20px !important;
	}

	body.snwr-learn .snwr-feature-card__top {
		display: grid !important;
	}

	body.snwr-learn .snwr-feature-card__rating {
		justify-items: start !important;
	}

	body.snwr-learn .snwr-feature-card__body {
		grid-template-columns: 92px minmax(0, 1fr) !important;
		gap: 18px !important;
	}

	body.snwr-learn .snwr-feature-card__icon {
		width: 92px !important;
		height: 92px !important;
	}

	body.snwr-learn .snwr-feature-card__icon svg {
		width: 56px !important;
		height: 56px !important;
	}

	body.snwr-learn .snwr-feature-card h2 {
		font-size: 26px !important;
	}

	body.snwr-learn .snwr-feature-card__body p {
		font-size: 15px !important;
	}

	body.snwr-learn .snwr-feature-card__stats {
		gap: 18px !important;
	}

	body.snwr-learn .snwr-feature-card__cta {
		min-height: 64px !important;
		font-size: 16px !important;
	}
}

body.snwr-learn .snwr-author-card {
	padding: 24px 0 6px !important;
	background: #f8fafc !important;
}

body.snwr-learn .snwr-author-card__inner {
	display: grid !important;
	grid-template-columns: clamp(104px, 12vw, 150px) minmax(0, 1fr) 230px !important;
	gap: 26px !important;
	align-items: center !important;
	padding: 24px !important;
	border: 1px solid #dbe3ec !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05) !important;
}

body.snwr-learn .snwr-author-card__photo {
	position: relative !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	aspect-ratio: 4 / 5 !important;
	border: 2px solid #047857 !important;
	border-radius: 12px !important;
	background: linear-gradient(145deg, #e8f7f0, #ffffff) !important;
	box-shadow: 0 12px 26px rgba(15, 23, 42, 0.12) !important;
}

body.snwr-learn .snwr-author-card__photo img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	border-radius: 10px !important;
	object-fit: cover !important;
}

body.snwr-learn .snwr-author-card__photo span {
	position: absolute !important;
	right: -4px !important;
	bottom: -8px !important;
	left: auto !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 38px !important;
	height: 28px !important;
	border-radius: 999px !important;
	background: #047857 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	transform: none !important;
}

body.snwr-learn .snwr-author-card__content {
	display: grid !important;
	gap: 12px !important;
	min-width: 0 !important;
	padding-left: 24px !important;
	border-left: 1px solid #e2e8f0 !important;
}

body.snwr-learn .snwr-author-card__eyebrow {
	margin: 0 0 5px !important;
	color: #047857 !important;
	font-size: 11px !important;
	font-weight: 800 !important;
	line-height: 1.1 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
}

body.snwr-learn .snwr-author-card h2 {
	margin: 0 0 3px !important;
	color: #111827 !important;
	font-size: 24px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
	letter-spacing: 0 !important;
}

body.snwr-learn .snwr-author-card__role {
	display: block !important;
	margin: 0 0 10px !important;
	color: #047857 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
}

body.snwr-learn .snwr-author-card__content p:not(.snwr-author-card__eyebrow):not(.snwr-author-card__role) {
	margin: 0 !important;
	color: #334155 !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

body.snwr-learn .snwr-author-stats {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 10px !important;
}

body.snwr-learn .snwr-author-stat {
	display: grid !important;
	grid-template-columns: 32px minmax(0, 1fr) !important;
	gap: 8px !important;
	align-items: center !important;
	min-height: 52px !important;
	padding: 9px 10px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #f3faf6 !important;
}

body.snwr-learn .snwr-author-stat__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	color: #047857 !important;
}

body.snwr-learn .snwr-author-stat__icon svg {
	width: 20px !important;
	height: 20px !important;
	stroke: currentColor !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
}

body.snwr-learn .snwr-author-stat strong {
	display: block !important;
	color: #047857 !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
}

body.snwr-learn .snwr-author-stat small {
	display: block !important;
	margin-top: 2px !important;
	color: #64748b !important;
	font-size: 9px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
}

body.snwr-learn .snwr-author-quote {
	position: relative !important;
	min-height: 122px !important;
	margin: 0 !important;
	padding: 8px 0 8px 24px !important;
	border-left: 1px solid #e2e8f0 !important;
	color: #0f172a !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

body.snwr-learn .snwr-author-quote::before {
	display: block !important;
	margin-bottom: 8px !important;
	color: #bbf7d0 !important;
	content: "\201C" !important;
	font-size: 56px !important;
	font-weight: 900 !important;
	line-height: 0.7 !important;
}

body.snwr-learn .snwr-author-quote p {
	margin: 0 !important;
	color: #0f172a !important;
	font-size: 12px !important;
	line-height: 1.55 !important;
}

body.snwr-learn .snwr-author-quote cite {
	display: block !important;
	margin-top: 12px !important;
	color: #047857 !important;
	font-family: "Brush Script MT", "Segoe Script", cursive !important;
	font-size: 20px !important;
	font-style: normal !important;
	line-height: 1 !important;
}

@media (max-width: 1180px) {
	body.snwr-learn .snwr-author-card__inner {
		grid-template-columns: 120px minmax(0, 1fr) !important;
	}

	body.snwr-learn .snwr-author-quote {
		grid-column: 1 / -1 !important;
	}
}

@media (max-width: 720px) {
	body.snwr-learn .snwr-author-card__inner {
		grid-template-columns: 1fr !important;
	}

	body.snwr-learn .snwr-author-card__photo {
		width: min(160px, 100%) !important;
	}

	body.snwr-learn .snwr-author-card__content,
	body.snwr-learn .snwr-author-quote {
		padding-left: 0 !important;
		border-left: 0 !important;
	}

body.snwr-learn .snwr-author-stats {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* Preview parity overrides for the deployed Learn page. */
.snwr-learn .snwr-feature-card {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 18px !important;
	min-height: 360px !important;
	padding: 24px !important;
	border: 1px solid #d7dde4 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.08) !important;
	color: #0f172a !important;
	text-decoration: none !important;
}

.snwr-learn .snwr-feature-card__top {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 !important;
}

.snwr-learn .snwr-feature-card__badge {
	display: inline-flex !important;
	align-items: center !important;
	gap: 5px !important;
	padding: 3px 7px !important;
	border-radius: 999px !important;
	background: #dcfce7 !important;
	color: #047857 !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-transform: uppercase !important;
	letter-spacing: 0 !important;
}

.snwr-learn .snwr-feature-card__badge::before {
	font-size: 9px !important;
}

.snwr-learn .snwr-feature-card__rating {
	display: grid !important;
	justify-items: end !important;
	gap: 4px !important;
	color: #334155 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.snwr-learn .snwr-feature-card__rating strong {
	color: #334155 !important;
	font-size: 13px !important;
	line-height: 1 !important;
}

.snwr-learn .snwr-feature-card__rating .snwr-stars {
	color: #f5a400 !important;
	font-size: 12px !important;
	line-height: 1 !important;
}

.snwr-learn .snwr-feature-card__rating small {
	color: #64748b !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
}

.snwr-learn .snwr-feature-card__kicker {
	margin: 0 !important;
	color: #334155 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.4 !important;
}

.snwr-learn .snwr-feature-card__body {
	display: grid !important;
	grid-template-columns: 96px minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: center !important;
	min-width: 0 !important;
	margin: 0 !important;
}

.snwr-learn .snwr-feature-card__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 96px !important;
	height: 96px !important;
	border-radius: 8px !important;
	background: #dff8ea !important;
	color: #047857 !important;
}

.snwr-learn .snwr-feature-card__icon svg {
	width: 62px !important;
	height: 62px !important;
	stroke: currentColor !important;
}

.snwr-learn .snwr-feature-card h2 {
	margin: 0 0 8px !important;
	color: #111827 !important;
	font-size: 24px !important;
	font-weight: 900 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
}

.snwr-learn .snwr-feature-card__body p {
	overflow: hidden !important;
	margin: 0 !important;
	color: #64748b !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	text-overflow: ellipsis !important;
}

.snwr-learn .snwr-feature-card__stats {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
	margin: 0 !important;
}

.snwr-learn .snwr-feature-stat {
	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr) !important;
	gap: 8px !important;
	align-items: start !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.snwr-learn .snwr-feature-stat span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 34px !important;
	height: 34px !important;
	margin-top: 1px !important;
	border-radius: 50% !important;
	background: #e8f7f0 !important;
	color: #047857 !important;
}

.snwr-learn .snwr-feature-stat svg {
	width: 20px !important;
	height: 20px !important;
	stroke: currentColor !important;
}

.snwr-learn .snwr-feature-stat strong {
	color: #111827 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
}

.snwr-learn .snwr-feature-stat small {
	color: #64748b !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
}

.snwr-learn .snwr-feature-card__cta {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 30px !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 44px !important;
	padding: 10px 12px !important;
	border: 1px solid #047857 !important;
	border-radius: 4px !important;
	background: #047857 !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
}

.snwr-learn .snwr-feature-card__cta span:last-child {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	justify-self: end !important;
	width: 24px !important;
	height: 24px !important;
	border: 1px solid rgba(255, 255, 255, 0.8) !important;
	border-radius: 50% !important;
	color: #ffffff !important;
	font-size: 16px !important;
	line-height: 1 !important;
}

.snwr-learn .snwr-feature-card__dots {
	display: flex !important;
	gap: 7px !important;
	margin-top: 0 !important;
}

.snwr-learn .snwr-feature-card__dots span {
	width: 9px !important;
	height: 9px !important;
	border-radius: 50% !important;
	background: #cbd5e1 !important;
}

.snwr-learn .snwr-feature-card__dots .snwr-is-active {
	background: #04aa6d !important;
}

.snwr-learn .snwr-module-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
}

.snwr-learn .snwr-module-card {
	position: relative !important;
	overflow: hidden !important;
	display: grid !important;
	grid-template-rows: 1fr auto !important;
	min-height: 340px !important;
	padding: 0 !important;
	border: 1px solid #d7dde4 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 18px 38px rgba(15, 23, 42, 0.08) !important;
	gap: 0 !important;
}

.snwr-learn .snwr-module-card__bar {
	top: 0 !important;
	left: 0 !important;
	width: 61% !important;
	height: 6px !important;
	border-radius: 0 999px 999px 0 !important;
	background: #047857 !important;
}

.snwr-learn .snwr-module-card__rating {
	position: absolute !important;
	top: 14px !important;
	right: 14px !important;
	display: grid !important;
	gap: 6px !important;
	min-width: 108px !important;
	padding: 7px 9px !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06) !important;
	color: #111827 !important;
	font-size: 10px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
}

.snwr-learn .snwr-module-card__rating strong {
	color: #111827 !important;
	font-size: 13px !important;
	line-height: 1 !important;
}

.snwr-learn .snwr-module-card__rating small {
	color: #047857 !important;
	font-size: 10px !important;
	font-weight: 700 !important;
}

.snwr-learn .snwr-module-card__rating .snwr-stars {
	color: #f5a400 !important;
	font-size: 11px !important;
	line-height: 1 !important;
}

.snwr-learn .snwr-module-card__top {
	display: grid !important;
	grid-template-columns: 52px minmax(0, 1fr) !important;
	gap: 12px !important;
	align-items: center !important;
	padding: 28px 16px 0 !important;
	padding-right: 138px !important;
}

.snwr-learn .snwr-module-card__icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 52px !important;
	height: 52px !important;
	border-radius: 50% !important;
	background: #eefdf6 !important;
	box-shadow: 0 14px 34px rgba(4, 120, 87, 0.12) !important;
	color: #047857 !important;
}

.snwr-learn .snwr-module-card__icon svg {
	width: 27px !important;
	height: 27px !important;
	stroke: currentColor !important;
}

.snwr-learn .snwr-module-card h3 {
	margin: 0 0 8px !important;
	color: #111827 !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	line-height: 1.05 !important;
	text-align: left !important;
	letter-spacing: 0 !important;
}

.snwr-learn .snwr-module-card__subtitle {
	display: inline-flex !important;
	justify-content: center !important;
	width: min(100%, 240px) !important;
	min-width: 0 !important;
	max-width: 100% !important;
	padding: 5px 14px !important;
	border: 1px solid #b7dec9 !important;
	border-radius: 999px !important;
	color: #047857 !important;
	background: #ffffff !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	text-align: center !important;
}

.snwr-learn .snwr-module-card__description {
	margin: 0 !important;
	padding: 13px 16px 0 !important;
	color: #4b5563 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

.snwr-learn .snwr-module-card__meta {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 13px 16px 16px !important;
}

.snwr-learn .snwr-module-card__meta div {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	gap: 8px !important;
	align-items: center !important;
	min-height: 52px !important;
	padding: 8px !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
}

.snwr-learn .snwr-module-card__meta span {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: #e8f7f0 !important;
	color: #047857 !important;
}

.snwr-learn .snwr-module-card__meta svg {
	width: 16px !important;
	height: 16px !important;
	stroke: currentColor !important;
}

.snwr-learn .snwr-module-card__meta strong {
	color: #111827 !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
}

.snwr-learn .snwr-module-card__meta small {
	color: #6b7280 !important;
	font-size: 10px !important;
	line-height: 1.2 !important;
}

.snwr-learn .snwr-module-card__cta {
	display: grid !important;
	grid-template-columns: 30px minmax(0, 1fr) !important;
	gap: 10px !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 58px !important;
	padding: 12px 16px !important;
	border: 0 !important;
	border-top: 1px solid #e2e8f0 !important;
	background: #047857 !important;
	color: #ffffff !important;
	text-decoration: none !important;
}

.snwr-learn .snwr-module-card__cta::before {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 50% !important;
	background: rgba(255, 255, 255, 0.16) !important;
	color: #ffffff !important;
	content: "\25C7" !important;
	font-size: 13px !important;
}

.snwr-learn .snwr-module-card__cta span {
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
}

.snwr-learn .snwr-module-card__cta small {
	margin-top: 2px !important;
	color: rgba(255, 255, 255, 0.82) !important;
	font-size: 10px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
}

@media (max-width: 1024px) {
	.snwr-learn .snwr-module-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.snwr-learn .snwr-feature-card__body {
		grid-template-columns: 86px minmax(0, 1fr) !important;
	}

	.snwr-learn .snwr-feature-card__icon {
		width: 86px !important;
		height: 86px !important;
	}

	.snwr-learn .snwr-feature-card h2 {
		font-size: 22px !important;
	}

	.snwr-learn .snwr-module-grid {
		grid-template-columns: 1fr !important;
	}

	.snwr-learn .snwr-module-card__rating {
		position: static !important;
		width: fit-content !important;
		margin: 14px 14px 0 auto !important;
	}

	.snwr-learn .snwr-module-card__top {
		padding-top: 16px !important;
		padding-right: 16px !important;
	}
}

/* Tutorial sidebar preview parity overrides. */
.snwr-tutorial .snwr-tutorial-shell {
	grid-template-columns: 280px minmax(0, 880px) 180px !important;
	gap: 28px !important;
}

.snwr-tutorial .snwr-tutorial-sidebar {
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: calc(100vh - var(--snwr-admin-offset) - var(--snwr-toolbar-offset) - 96px) !important;
	border: 1px solid #dbe3ec !important;
	border-radius: 18px !important;
	background: #ffffff !important;
	/* Was 0 18px 38px - that large a blur, on a position:fixed/z-index:100
	   element, visibly bled its shadow across the gap onto the article
	   column next to it (confirmed live via a zoomed screenshot showing a
	   real gradient there), reading as "the content looks faded" even
	   though the content's own background is plain white. Tightened so
	   the sidebar keeps a soft lift without reaching past its own edges. */
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

.snwr-tutorial .snwr-tutorial-sidebar__header {
	position: sticky !important;
	top: 0 !important;
	z-index: 5 !important;
	flex: 0 0 auto !important;
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) auto !important;
	gap: 8px !important;
	align-items: center !important;
	padding: 10px 14px 8px !important;
	border-bottom: 0 !important;
	border-radius: 18px 18px 0 0 !important;
	background: linear-gradient(135deg, #047857 0%, #04aa6d 100%) !important;
	box-shadow: none !important;
	color: #ffffff !important;
}

.snwr-tutorial .snwr-tutorial-sidebar__header::before {
	display: grid !important;
	place-items: center !important;
	width: 24px !important;
	height: 24px !important;
	color: #ffffff !important;
	content: "" !important;
	background: currentColor !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5'/%3E%3Cpath d='M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6'/%3E%3C/svg%3E") center / contain no-repeat !important;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cellipse cx='12' cy='5' rx='8' ry='3'/%3E%3Cpath d='M4 5v6c0 1.7 3.6 3 8 3s8-1.3 8-3V5'/%3E%3Cpath d='M4 11v6c0 1.7 3.6 3 8 3s8-1.3 8-3v-6'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.snwr-tutorial .snwr-tutorial-sidebar__header strong {
	color: #ffffff !important;
	font-size: 18px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0 !important;
}

.snwr-tutorial .snwr-tutorial-nav {
	flex: 0 1 auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: calc(100vh - var(--snwr-admin-offset) - var(--snwr-toolbar-offset) - 160px) !important;
	overflow-y: auto !important;
	overflow-x: hidden !important;
	padding: 0 0 18px !important;
	background: #ffffff !important;
	scroll-padding-bottom: 22px !important;
}

.snwr-tutorial .snwr-tutorial-nav__search {
	margin: -1px 0 0 !important;
	padding: 0 14px 12px !important;
	border-top: 1px solid #047857 !important;
	background: #047857 !important;
}

.snwr-tutorial .snwr-tutorial-nav__search-control {
	display: grid !important;
	grid-template-columns: 18px minmax(0, 1fr) 30px !important;
	gap: 7px !important;
	align-items: center !important;
	min-height: 36px !important;
	padding: 0 6px 0 11px !important;
	border-radius: 9px !important;
	background: #ffffff !important;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12) !important;
}

.snwr-tutorial .snwr-tutorial-nav__search-icon svg {
	width: 15px !important;
	height: 15px !important;
	color: #64748b !important;
	stroke: currentColor !important;
}

.snwr-tutorial .snwr-tutorial-nav__search input {
	min-height: 28px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #0f172a !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
}

.snwr-tutorial .snwr-tutorial-nav__search input:focus {
	outline: none !important;
}

.snwr-tutorial .snwr-tutorial-nav__filter-button {
	display: grid !important;
	place-items: center !important;
	width: 28px !important;
	height: 28px !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: #e8f7f0 !important;
	color: #047857 !important;
}

.snwr-tutorial .snwr-tutorial-nav__filter-button svg {
	width: 14px !important;
	height: 14px !important;
	fill: currentColor !important;
	stroke: none !important;
}

.snwr-tutorial .snwr-tutorial-nav__chapter {
	margin: 0 !important;
	border: 0 !important;
	border-top: 1px solid #e5edf4 !important;
	border-radius: 0 !important;
	background: #ffffff !important;
}

.snwr-tutorial .snwr-tutorial-nav__search + .snwr-tutorial-nav__chapter {
	border-top: 0 !important;
}

.snwr-tutorial .snwr-tutorial-nav__chapter[open] {
	background: #ffffff !important;
}

.snwr-tutorial .snwr-tutorial-nav__chapter summary {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto 12px !important;
	gap: 4px !important;
	align-items: center !important;
	min-height: 38px !important;
	padding: 10px 10px 8px !important;
	color: #111827 !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	list-style: none !important;
}

.snwr-tutorial .snwr-tutorial-nav__chapter summary::-webkit-details-marker,
.snwr-tutorial .snwr-tutorial-nav__chapter summary::marker {
	display: none !important;
	content: "" !important;
}

.snwr-tutorial .snwr-tutorial-nav__chapter-count {
	padding: 3px 7px !important;
	border-radius: 999px !important;
	background: #e8f7f0 !important;
	color: #047857 !important;
	font-size: 10px !important;
	font-weight: 900 !important;
	white-space: nowrap !important;
}

.snwr-tutorial .snwr-tutorial-nav__chapter-toggle {
	color: #334155 !important;
	font-size: 13px !important;
	line-height: 1 !important;
}

.snwr-tutorial .snwr-tutorial-nav__chapter:not([open]) .snwr-tutorial-nav__chapter-toggle {
	transform: rotate(180deg) !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons {
	position: relative !important;
	display: grid !important;
	gap: 0 !important;
	max-width: none !important;
	margin: 0 16px 12px 28px !important;
	padding: 0 0 0 10px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons::before {
	position: absolute !important;
	top: 5px !important;
	bottom: 5px !important;
	left: 0 !important;
	display: block !important;
	width: 2px !important;
	border-radius: 999px !important;
	background: #d8e4ee !important;
	content: "" !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons li + li {
	border-top: 1px solid #eef2f6 !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a {
	display: grid !important;
	grid-template-columns: 22px minmax(0, 1fr) auto !important;
	gap: 6px !important;
	align-items: center !important;
	min-height: 30px !important;
	padding: 5px 7px !important;
	border: 0 !important;
	border-left: 3px solid transparent !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: #0f172a !important;
	font-size: 11px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a::before {
	display: grid !important;
	place-items: center !important;
	width: 18px !important;
	height: 18px !important;
	border: 1px solid #d7e1ec !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	color: #64748b !important;
	content: counter(list-item) !important;
	font-size: 10px !important;
	font-weight: 800 !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a:hover,
.snwr-tutorial .snwr-tutorial-nav__lessons a:focus-visible {
	color: #047857 !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-current,
.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"] {
	border-left-color: transparent !important;
	background: transparent !important;
	color: #047857 !important;
	font-weight: 900 !important;
	box-shadow: none !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-current::before,
.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"]::before {
	width: 20px !important;
	height: 20px !important;
	border-color: #047857 !important;
	background: #047857 !important;
	color: #ffffff !important;
	content: "\2713" !important;
	font-size: 12px !important;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-title {
	display: flex !important;
	align-items: flex-start !important;
	min-width: 0 !important;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-text {
	min-width: 0 !important;
	overflow-wrap: anywhere !important;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-time {
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px !important;
	color: #64748b !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	white-space: nowrap !important;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-time::before {
	display: inline-block !important;
	width: 11px !important;
	height: 11px !important;
	border: 1.6px solid currentColor !important;
	border-radius: 50% !important;
	content: "" !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"] .snwr-tutorial-nav__lesson-time {
	color: #047857 !important;
	font-weight: 800 !important;
}

@media (max-width: 1180px) {
	.snwr-tutorial .snwr-tutorial-shell {
		grid-template-columns: 280px minmax(0, 1fr) !important;
	}
}

@media (max-width: 900px) {
	.snwr-tutorial .snwr-tutorial-sidebar {
		overflow-y: auto !important;
		border-radius: 0 !important;
	}

	.snwr-tutorial .snwr-tutorial-nav {
		height: auto !important;
		min-height: 0 !important;
	}
}

/* Final high-specificity compact UI lock for cached/minified Newspaper deployments. */
body.snwr-learn.snwr-learn .snwr-feature-card,
.snwr-learn.snwr-learn .snwr-feature-card {
	position: relative !important;
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: auto auto auto auto auto 1fr !important;
	gap: 16px !important;
	align-content: start !important;
	min-height: 360px !important;
	padding: 24px !important;
	border-radius: 8px !important;
	text-align: left !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__top,
.snwr-learn.snwr-learn .snwr-feature-card__top {
	display: flex !important;
	align-items: flex-start !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 !important;
	width: 100% !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__badge,
.snwr-learn.snwr-learn .snwr-feature-card__badge {
	gap: 5px !important;
	padding: 3px 7px !important;
	font-size: 11px !important;
	line-height: 1.15 !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__rating,
.snwr-learn.snwr-learn .snwr-feature-card__rating {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-end !important;
	align-items: center !important;
	min-width: 86px !important;
	column-gap: 5px !important;
	row-gap: 1px !important;
	font-size: 12px !important;
	line-height: 1.1 !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__rating strong,
.snwr-learn.snwr-learn .snwr-feature-card__rating strong {
	font-size: 13px !important;
	line-height: 1 !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__rating .snwr-stars,
.snwr-learn.snwr-learn .snwr-feature-card__rating .snwr-stars {
	font-size: 12px !important;
	line-height: 1 !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__rating small,
.snwr-learn.snwr-learn .snwr-feature-card__rating small {
	flex: 0 0 100% !important;
	text-align: right !important;
	font-size: 10px !important;
	line-height: 1.2 !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__kicker,
.snwr-learn.snwr-learn .snwr-feature-card__kicker {
	margin: 0 !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
	text-align: left !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__body,
.snwr-learn.snwr-learn .snwr-feature-card__body {
	display: grid !important;
	grid-template-columns: 96px minmax(0, 1fr) !important;
	gap: 18px !important;
	align-items: center !important;
	justify-items: start !important;
	min-width: 0 !important;
	width: 100% !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__icon,
.snwr-learn.snwr-learn .snwr-feature-card__icon {
	width: 96px !important;
	height: 96px !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__icon svg,
.snwr-learn.snwr-learn .snwr-feature-card__icon svg {
	width: 62px !important;
	height: 62px !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card h2,
.snwr-learn.snwr-learn .snwr-feature-card h2 {
	margin: 0 0 8px !important;
	font-size: 24px !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
	text-align: left !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__body p,
.snwr-learn.snwr-learn .snwr-feature-card__body p {
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	text-align: left !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__stats,
.snwr-learn.snwr-learn .snwr-feature-card__stats {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 22px !important;
	margin: 0 !important;
	width: 100% !important;
}

body.snwr-learn.snwr-learn .snwr-feature-stat,
.snwr-learn.snwr-learn .snwr-feature-stat {
	display: grid !important;
	grid-template-columns: 28px minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	gap: 4px 8px !important;
	align-items: center !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

body.snwr-learn.snwr-learn .snwr-feature-stat span,
.snwr-learn.snwr-learn .snwr-feature-stat span {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	width: 28px !important;
	height: 28px !important;
}

body.snwr-learn.snwr-learn .snwr-feature-stat svg,
.snwr-learn.snwr-learn .snwr-feature-stat svg {
	width: 16px !important;
	height: 16px !important;
}

body.snwr-learn.snwr-learn .snwr-feature-stat strong,
.snwr-learn.snwr-learn .snwr-feature-stat strong {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
}

body.snwr-learn.snwr-learn .snwr-feature-stat small,
.snwr-learn.snwr-learn .snwr-feature-stat small {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start !important;
	font-size: 10px !important;
	line-height: 1.2 !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__cta,
.snwr-learn.snwr-learn .snwr-feature-card__cta {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 30px !important;
	align-items: center !important;
	width: 100% !important;
	min-height: 44px !important;
	padding: 10px 12px !important;
	font-size: 13px !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__cta span:first-child,
.snwr-learn.snwr-learn .snwr-feature-card__cta span:first-child {
	min-width: 0 !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	text-align: center !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__cta span:last-child,
.snwr-learn.snwr-learn .snwr-feature-card__cta span:last-child {
	width: 24px !important;
	height: 24px !important;
	font-size: 13px !important;
}

body.snwr-learn.snwr-learn .snwr-feature-card__dots,
.snwr-learn.snwr-learn .snwr-feature-card__dots {
	gap: 7px !important;
	margin-top: 0 !important;
}

body.snwr-learn.snwr-learn .snwr-module-grid,
.snwr-learn.snwr-learn .snwr-module-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 16px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card,
.snwr-learn.snwr-learn .snwr-module-card {
	min-height: 340px !important;
	grid-template-rows: auto auto 1fr auto auto !important;
	border-radius: 8px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__bar,
.snwr-learn.snwr-learn .snwr-module-card__bar {
	height: 5px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__rating,
.snwr-learn.snwr-learn .snwr-module-card__rating {
	top: 14px !important;
	right: 14px !important;
	min-width: 0 !important;
	padding: 6px 8px !important;
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: flex-end !important;
	align-items: center !important;
	column-gap: 5px !important;
	row-gap: 1px !important;
	font-size: 10px !important;
	line-height: 1.1 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__rating strong,
.snwr-learn.snwr-learn .snwr-module-card__rating strong {
	font-size: 13px !important;
	line-height: 1 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__rating .snwr-stars,
.snwr-learn.snwr-learn .snwr-module-card__rating .snwr-stars {
	font-size: 11px !important;
	line-height: 1 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__rating small,
.snwr-learn.snwr-learn .snwr-module-card__rating small {
	flex: 0 0 100% !important;
	text-align: right !important;
	font-size: 10px !important;
	line-height: 1.15 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__top,
.snwr-learn.snwr-learn .snwr-module-card__top {
	grid-template-columns: 52px minmax(0, 1fr) !important;
	gap: 12px !important;
	padding: 28px 16px 0 !important;
	padding-right: 138px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__icon,
.snwr-learn.snwr-learn .snwr-module-card__icon {
	width: 52px !important;
	height: 52px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__icon svg,
.snwr-learn.snwr-learn .snwr-module-card__icon svg {
	width: 27px !important;
	height: 27px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card h3,
.snwr-learn.snwr-learn .snwr-module-card h3 {
	margin: 0 0 8px !important;
	font-size: 22px !important;
	line-height: 1.05 !important;
	letter-spacing: 0 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__subtitle,
.snwr-learn.snwr-learn .snwr-module-card__subtitle {
	width: min(100%, 240px) !important;
	min-width: 0 !important;
	padding: 5px 14px !important;
	font-size: 11px !important;
	line-height: 1.3 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__description,
.snwr-learn.snwr-learn .snwr-module-card__description {
	padding: 13px 16px 0 !important;
	font-size: 13px !important;
	line-height: 1.4 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__meta,
.snwr-learn.snwr-learn .snwr-module-card__meta {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 18px !important;
	padding: 8px 16px 12px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__meta div,
.snwr-learn.snwr-learn .snwr-module-card__meta div {
	grid-template-columns: 28px minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	gap: 4px 8px !important;
	align-items: center !important;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__meta span,
.snwr-learn.snwr-learn .snwr-module-card__meta span {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	width: 28px !important;
	height: 28px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__meta svg,
.snwr-learn.snwr-learn .snwr-module-card__meta svg {
	width: 16px !important;
	height: 16px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__meta strong,
.snwr-learn.snwr-learn .snwr-module-card__meta strong {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__meta small,
.snwr-learn.snwr-learn .snwr-module-card__meta small {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__cta,
.snwr-learn.snwr-learn .snwr-module-card__cta {
	grid-template-columns: 30px minmax(0, 1fr) !important;
	grid-template-rows: auto auto !important;
	gap: 10px !important;
	align-content: center !important;
	min-height: 58px !important;
	padding: 12px 16px !important;
	background: #047857 !important;
	color: #ffffff !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__cta::before,
.snwr-learn.snwr-learn .snwr-module-card__cta::before {
	grid-column: 1 !important;
	grid-row: 1 / span 2 !important;
	align-self: center !important;
	justify-self: center !important;
	display: inline-flex !important;
	width: 28px !important;
	height: 28px !important;
	border-radius: 999px !important;
	background-color: rgba(255, 255, 255, 0.16) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns=%22http://www.w3.org/2000/svg%22 width=%2224%22 height=%2224%22 viewBox=%220 0 24 24%22 fill=%22none%22 stroke=%22%23ffffff%22 stroke-width=%222.2%22 stroke-linecap=%22round%22 stroke-linejoin=%22round%22%3E%3Cpath d=%22M22 10 12 5 2 10l10 5 10-5Z%22/%3E%3Cpath d=%22M6 12v5c3.5 2 8.5 2 12 0v-5%22/%3E%3C/svg%3E") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 16px 16px !important;
	content: "" !important;
	font-size: 0 !important;
	line-height: 1 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__cta span,
.snwr-learn.snwr-learn .snwr-module-card__cta span {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: end !important;
	min-width: 0 !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__cta small,
.snwr-learn.snwr-learn .snwr-module-card__cta small {
	grid-column: 2 !important;
	grid-row: 2 !important;
	align-self: start !important;
	min-width: 0 !important;
	margin-top: 2px !important;
	font-size: 10px !important;
	line-height: 1.3 !important;
}

@media (max-width: 1024px) {
	body.snwr-learn.snwr-learn .snwr-module-grid,
	.snwr-learn.snwr-learn .snwr-module-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	body.snwr-learn.snwr-learn .snwr-module-grid,
	.snwr-learn.snwr-learn .snwr-module-grid {
		grid-template-columns: 1fr !important;
	}

	body.snwr-learn.snwr-learn .snwr-module-card__rating,
	.snwr-learn.snwr-learn .snwr-module-card__rating {
		position: static !important;
		width: fit-content !important;
		margin: 14px 14px 0 auto !important;
	}

	body.snwr-learn.snwr-learn .snwr-module-card__top,
	.snwr-learn.snwr-learn .snwr-module-card__top {
		padding-top: 16px !important;
		padding-right: 16px !important;
	}
}

/* Final tutorial-page header and sidebar icon fixes. */
body.snwr-tutorial-single .td-header-wrap,
body.snwr-tutorial-single .tdc-header-wrap,
body.snwr-tutorial-single .td-header-template-wrap,
body.snwr-tutorial-single .td-header-menu-wrap,
body.snwr-tutorial-single .td-header-menu-wrap-full,
body.snwr-tutorial-single .td-header-top-menu-full,
body.snwr-tutorial-single .td-header-mobile-wrap,
body.snwr-tutorial-single .td-mobile-nav {
	display: none !important;
	visibility: hidden !important;
}

body.snwr-tutorial-single .snwr-tutorial-subheader {
	--snwr-toolbar-offset: 0px !important;
	top: var(--snwr-admin-offset) !important;
}

.snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header {
	grid-template-columns: 28px minmax(0, 1fr) auto !important;
}

.snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header::before {
	width: 24px !important;
	height: 24px !important;
	border-radius: 7px !important;
	background-color: #e8f7f0 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='7' ry='3'/%3E%3Cpath d='M5 5v6c0 1.7 3.1 3 7 3s7-1.3 7-3V5'/%3E%3Cpath d='M5 11v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6'/%3E%3C/svg%3E") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 18px 18px !important;
	color: #047857 !important;
	content: "" !important;
	-webkit-mask: none !important;
	mask: none !important;
	box-shadow: none !important;
}

/* Final fixed-header, ad-slot, and compact rating polish. */
body.snwr-learn .snwr-tutorial-subheader,
body.snwr-learning-path .snwr-tutorial-subheader,
body.snwr-tutorial-single .snwr-tutorial-subheader {
	position: fixed !important;
	top: var(--snwr-admin-offset) !important;
	right: 0 !important;
	left: 0 !important;
	z-index: 10020 !important;
}

body.snwr-learn .snwr-learn,
body.snwr-learning-path .snwr-learning-path,
body.snwr-tutorial-single .snwr-tutorial {
	/* v1.7.1: was a hardcoded single-row header height; now the JS-measured total main-header + sub-header stack height (see detectToolbarOffset() in snwr-tutorial.js). */
	padding-top: var(--snwr-toolbar-offset, 96px) !important;
}

body.snwr-tutorial-single .snwr-tutorial-ad-sidebar .snwr-ad-slot {
	width: 150px !important;
	min-width: 150px !important;
	max-width: 150px !important;
	height: 400px !important;
	min-height: 400px !important;
	max-height: 400px !important;
	overflow: hidden !important;
}

body.snwr-tutorial-single .snwr-tutorial-ad-sidebar .snwr-ad-slot--managed > div,
body.snwr-tutorial-single .snwr-tutorial-ad-sidebar .snwr-ad-slot--managed .td-a-rec,
body.snwr-tutorial-single .snwr-tutorial-ad-sidebar .snwr-ad-slot--managed .td-g-rec,
body.snwr-tutorial-single .snwr-tutorial-ad-sidebar .snwr-ad-slot--managed ins,
body.snwr-tutorial-single .snwr-tutorial-ad-sidebar .snwr-ad-slot--managed iframe {
	width: 150px !important;
	max-width: 150px !important;
	height: 400px !important;
	max-height: 400px !important;
	margin: 0 auto !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__rating,
.snwr-learn.snwr-learn .snwr-module-card__rating {
	display: grid !important;
	grid-template-columns: auto auto !important;
	align-items: center !important;
	justify-content: end !important;
	width: max-content !important;
	max-width: 118px !important;
	padding: 5px 7px !important;
	column-gap: 4px !important;
	row-gap: 1px !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__rating strong,
.snwr-learn.snwr-learn .snwr-module-card__rating strong {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__rating .snwr-stars,
.snwr-learn.snwr-learn .snwr-module-card__rating .snwr-stars {
	grid-column: 2 !important;
	grid-row: 1 !important;
	white-space: nowrap !important;
}

body.snwr-learn.snwr-learn .snwr-module-card__rating small,
.snwr-learn.snwr-learn .snwr-module-card__rating small {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	white-space: nowrap !important;
}

/* Account modal and lesson-doubt preview parity. */
body.snwr-auth-open {
	overflow: hidden;
}

.snwr-auth-modal[hidden] {
	display: none !important;
}

.snwr-auth-modal {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: grid;
	place-items: center;
	padding: 18px;
}

.snwr-auth-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.62);
}

.snwr-auth-modal__dialog {
	position: relative;
	display: grid;
	grid-template-columns: 240px minmax(0, 1fr);
	width: min(760px, calc(100vw - 32px));
	max-height: min(700px, calc(100vh - 32px));
	overflow: hidden;
	border: 1px solid #d8e2ed;
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 24px 80px rgba(15, 23, 42, 0.34);
}

.snwr-auth-modal__aside {
	display: grid;
	align-content: start;
	gap: 16px;
	padding: 26px 24px;
	background: radial-gradient(circle at 82% 36%, rgba(45, 212, 191, 0.22), transparent 26%), linear-gradient(145deg, #063f34, #07543d 54%, #03342e);
	color: #ffffff;
}

.snwr-auth-brand {
	display: grid;
	grid-template-columns: 38px minmax(0, 1fr);
	gap: 12px;
	align-items: center;
}

.snwr-auth-brand span {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border-radius: 10px;
	background: #ffffff;
	color: #10b981;
}

.snwr-auth-brand svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
}

.snwr-auth-brand strong {
	color: #ffffff;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.15;
}

.snwr-auth-modal__aside p {
	margin: 0;
	color: #e6fff3;
	font-size: 13px;
	line-height: 1.45;
}

.snwr-auth-visual {
	position: relative;
	min-height: 170px;
	margin: 4px 0 2px;
	display: grid;
	place-items: center;
}

.snwr-auth-visual::before {
	position: absolute;
	right: 4px;
	top: 12px;
	width: 76px;
	height: 88px;
	background-image: radial-gradient(circle, rgba(52, 211, 153, 0.38) 1.5px, transparent 1.5px);
	background-size: 12px 12px;
	content: "";
}

.snwr-auth-visual__card {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 9px;
	width: 190px;
	padding: 20px;
	border: 1px solid rgba(167, 243, 208, 0.25);
	border-radius: 16px;
	background: #ffffff;
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.25);
}

.snwr-auth-visual__avatar {
	width: 42px;
	height: 42px;
	border-radius: 10px;
	background: #e7f8ef;
}

.snwr-auth-visual__card > span:not(.snwr-auth-visual__avatar) {
	display: block;
	height: 7px;
	border-radius: 999px;
	background: #dbe4ed;
}

.snwr-auth-visual__card > span:nth-child(3) {
	width: 72%;
}

.snwr-auth-visual__card div {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 9px;
	margin-top: 8px;
}

.snwr-auth-visual__card i {
	display: block;
	height: 38px;
	border-radius: 9px;
	background: #e7f8ef;
}

.snwr-auth-visual__shield {
	position: absolute;
	right: 18px;
	bottom: 14px;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 56px;
	height: 62px;
	border-radius: 16px;
	background: #059669;
	color: #ffffff;
	box-shadow: 0 10px 26px rgba(5, 150, 105, 0.36);
}

.snwr-auth-visual__shield svg {
	width: 34px;
	height: 34px;
	stroke: currentColor;
}

.snwr-auth-modal__aside ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.snwr-auth-modal__aside li {
	display: grid;
	grid-template-columns: 24px minmax(0, 1fr);
	gap: 9px;
	align-items: center;
	color: #ffffff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.25;
}

.snwr-auth-modal__aside li::before {
	display: grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: rgba(52, 211, 153, 0.28);
	color: #ffffff;
	content: "\2713";
}

.snwr-auth-modal__main {
	position: relative;
	padding: 28px 34px;
	overflow-y: auto;
}

.snwr-auth-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 0;
	border-radius: 50%;
	background: #f1f5f9;
	color: #0f172a;
	font-size: 28px;
	line-height: 1;
	cursor: pointer;
}

.snwr-auth-modal__main h2 {
	margin: 0 44px 6px 0;
	color: #0f172a;
	font-size: 28px;
	font-weight: 900;
	line-height: 1.15;
}

.snwr-auth-modal__main > p {
	margin: 0 0 18px;
	color: #536275;
	font-size: 14px;
	line-height: 1.55;
}

.snwr-auth-tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin-bottom: 18px;
}

.snwr-auth-tabs button,
.snwr-auth-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	border: 1px solid #d8e2ed;
	border-radius: 8px;
	background: #ffffff;
	color: #334155;
	font-size: 14px;
	font-weight: 900;
	cursor: pointer;
}

.snwr-auth-tabs button[aria-selected="true"] {
	border-color: #059669;
	background: #ecfdf5;
	color: #047857;
}

.snwr-auth-form {
	display: grid;
	gap: 10px;
}

.snwr-auth-form[hidden] {
	display: none !important;
}

.snwr-auth-form label {
	color: #334155;
	font-size: 12px;
	font-weight: 900;
}

.snwr-auth-field {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr) 42px;
	align-items: center;
	min-height: 52px;
	border: 1px solid #d8e2ed;
	border-radius: 8px;
	background: #ffffff;
}

.snwr-auth-field svg {
	justify-self: center;
	width: 18px;
	height: 18px;
	color: #059669;
	stroke: currentColor;
}

.snwr-auth-field input {
	width: 100%;
	min-height: 48px;
	border: 0;
	outline: 0;
	background: transparent;
	color: #0f172a;
	font-size: 15px;
}

.snwr-auth-field button {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 8px;
	background: transparent;
	color: #64748b;
	cursor: pointer;
}

.snwr-auth-field button svg {
	color: currentColor;
}

.snwr-auth-forgot {
	justify-self: end;
	color: #047857 !important;
	font-size: 12px;
	font-weight: 900;
	text-decoration: none;
}

.snwr-auth-submit {
	margin-top: 4px;
	border-color: #059669;
	background: linear-gradient(135deg, #10b981, #047857);
	color: #ffffff;
	box-shadow: 0 14px 32px rgba(5, 150, 105, 0.2);
}

.snwr-auth-small {
	margin: 8px 0 0 !important;
	color: #536275 !important;
	font-size: 13px !important;
}

.snwr-auth-secure {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	margin-top: 16px;
	padding: 12px;
	border: 1px solid #d8e2ed;
	border-radius: 8px;
	background: #f8fffb;
	color: #475569;
	font-size: 12px;
	line-height: 1.4;
}

.snwr-auth-secure span {
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border-radius: 10px;
	background: #10b981;
	color: #ffffff;
	font-size: 18px;
	font-weight: 900;
}

.snwr-lesson-doubts {
	margin-top: 26px !important;
	padding: 20px 24px !important;
	border: 1px solid #d8e7df !important;
	border-radius: 14px !important;
	background: #ffffff !important;
	/* Was 0 18px 48px - the same large-blur-shadow-on-a-white-card pattern
	   already fixed once for .snwr-tutorial-sidebar: it visibly haloed the
	   plain page background around this card, reading as "the box is white
	   but the background around it looks faded" even though that
	   background's own color was never anything but white. */
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
}

.snwr-lesson-doubts__hero {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 18px;
}

.snwr-lesson-doubts__hero-icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #e6f7ef;
	color: #047857;
}

.snwr-lesson-doubts__hero-icon svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
}

.snwr-lesson-doubts__hero-text {
	min-width: 0;
	flex: 1 1 auto;
}

.snwr-lesson-doubts h2 {
	margin: 0 0 4px !important;
	color: #0f172a !important;
	font-size: 19px !important;
	font-weight: 900 !important;
	line-height: 1.2 !important;
}

.snwr-lesson-doubts__hero p {
	margin: 0 !important;
	color: #64748b !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
}

.snwr-lesson-doubts__guidelines {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	flex: none !important;
	margin: 4px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #2563eb !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	white-space: nowrap;
	cursor: pointer;
}

.snwr-lesson-doubts__guidelines svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
}

.snwr-lesson-doubts__guidelines:hover,
.snwr-lesson-doubts__guidelines:focus-visible {
	color: #1d4ed8 !important;
	text-decoration: underline;
}

.snwr-lesson-doubts__locked-form,
.snwr-lesson-doubts__form {
	display: grid !important;
	gap: 10px !important;
	margin-top: 0 !important;
}

.snwr-lesson-doubts__editor {
	overflow: hidden;
	border: 1px solid #d8e2ed;
	border-radius: 8px;
	background: #ffffff;
}

.snwr-question-rich-editor {
	resize: vertical;
	overflow: auto;
}

.snwr-lesson-doubts__locked-form .snwr-question-rich-editor {
	cursor: pointer;
}

.snwr-lesson-doubts__tools {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 4px 14px 12px;
	color: #334155;
	background: #ffffff;
}

.snwr-lesson-doubts__attach {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	border: 0;
	border-radius: 6px;
	background: transparent;
	padding: 4px 6px;
	color: #475569;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.snwr-lesson-doubts__attach svg {
	width: 16px;
	height: 16px;
	stroke: currentColor;
}

.snwr-lesson-doubts__attach:hover,
.snwr-lesson-doubts__attach:focus-visible {
	background: #ecfdf5;
	color: #047857;
}

.snwr-lesson-doubts__attach:disabled {
	cursor: not-allowed;
	opacity: 0.7;
}

.snwr-lesson-doubts__tools .snwr-question-wordcount {
	margin-left: auto;
	color: #94a3b8;
	font-size: 12px;
	font-weight: 700;
}

.snwr-lesson-doubts__tools .snwr-question-wordcount.snwr-is-error {
	color: #dc2626;
}

.snwr-lesson-doubts__submit-row {
	display: flex !important;
	align-items: center !important;
	gap: 14px !important;
	margin-top: 14px !important;
}

.snwr-lesson-doubts__submit,
.snwr-lesson-doubts__form .submit {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 8px !important;
	width: auto !important;
	min-height: 36px !important;
	padding: 0 22px !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: linear-gradient(135deg, #10b981, #047857) !important;
	color: #ffffff !important;
	font-size: 13px !important;
	font-weight: 900 !important;
	cursor: pointer;
	box-shadow: 0 12px 28px rgba(5, 150, 105, 0.16) !important;
}

.snwr-lesson-doubts__submit-icon {
	width: 15px;
	height: 15px;
	flex: none;
}

.snwr-lesson-doubts__submit:disabled {
	cursor: not-allowed;
	opacity: 0.8;
}

.snwr-lesson-doubts__submit-divider {
	flex: none;
	width: 1px;
	height: 20px;
	background: #e2e8f0;
}

.snwr-lesson-doubts__note {
	display: inline-flex !important;
	align-items: center !important;
	gap: 6px !important;
	margin: 0 !important;
	color: #64748b !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	text-align: left !important;
}

.snwr-lesson-doubts__note-icon {
	width: 15px;
	height: 15px;
	flex: none;
	stroke: currentColor;
}

.snwr-lesson-doubts__closed {
	margin: 0 !important;
	color: #475569 !important;
	font-size: 13px !important;
}

.snwr-lesson-doubts__guidelines-list {
	display: grid;
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.snwr-lesson-doubts__guidelines-list li {
	position: relative;
	padding-left: 20px;
	color: #334155;
	font-size: 13.5px;
	line-height: 1.55;
}

.snwr-lesson-doubts__guidelines-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 8px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #047857;
}

.snwr-lesson-doubts__guidelines-warning {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin: 16px 0 0;
	padding: 12px 14px;
	border: 1px solid #fecaca;
	border-radius: 10px;
	background: #fef2f2;
	color: #991b1b;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
}

.snwr-lesson-doubts__guidelines-warning svg {
	flex: none;
	width: 18px;
	height: 18px;
	margin-top: 1px;
	stroke: #dc2626;
}

.snwr-lesson-doubts__list {
	display: grid !important;
	gap: 10px !important;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.snwr-lesson-doubts__list .comment {
	padding: 12px !important;
	border: 1px solid #e2e8f0 !important;
	border-radius: 9px !important;
	background: #ffffff !important;
}

@media (max-width: 760px) {
	.snwr-auth-modal__dialog {
		grid-template-columns: 1fr;
		width: min(440px, calc(100vw - 24px));
	}

	.snwr-auth-modal__aside {
		display: none;
	}

	.snwr-auth-modal__main {
		padding: 24px 18px;
	}

	.snwr-auth-modal__main h2 {
		font-size: 24px;
	}

	.snwr-lesson-doubts {
		padding: 18px !important;
	}

	.snwr-lesson-doubts__hero {
		grid-template-columns: 42px minmax(0, 1fr);
	}

	.snwr-lesson-doubts__art {
		display: none;
	}

	.snwr-lesson-doubts__login {
		grid-template-columns: 34px minmax(0, 1fr);
	}
}


/* Tutorial questions and answers. */
.snwr-lesson-doubts__discussion {
	margin-top: 28px;
}

.snwr-lesson-doubts__discussion-title {
	margin: 0 0 14px;
	color: #0f172a;
	font-size: 22px;
	line-height: 1.3;
}

.snwr-lesson-doubts__list .comment {
	padding: 0;
	border: 0;
	background: transparent;
}

.snwr-question {
	padding: 18px;
	border: 1px solid #dbe7e1;
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
}

.snwr-question__header {
	display: flex;
	align-items: center;
	gap: 10px;
}

.snwr-question__header .avatar {
	border-radius: 50%;
}

.snwr-question__author,
.snwr-question__date {
	display: block;
}

.snwr-question__author {
	color: #0f172a;
	font-size: 14px;
}

.snwr-question__date {
	margin-top: 2px;
	color: #64748b;
	font-size: 12px;
	text-decoration: none;
}

.snwr-question__status {
	margin-left: auto;
	padding: 5px 9px;
	border-radius: 999px;
	background: #fff7d6;
	color: #8a5a00;
	font-size: 11px;
	font-weight: 700;
}

.snwr-question__content {
	margin-top: 14px;
	color: #334155;
	font-size: 15px;
	line-height: 1.65;
}

.snwr-question__content p:last-child {
	margin-bottom: 0;
}

.snwr-question__actions {
	margin-top: 12px;
}

.snwr-question__reply {
	border: 0;
	background: transparent;
	padding: 0;
	color: #047857;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.snwr-question__reply:hover,
.snwr-question__reply:focus-visible {
	text-decoration: underline;
}

.snwr-lesson-doubts__reply-indicator[hidden] {
	display: none !important;
}

.snwr-lesson-doubts__reply-indicator {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 8px;
	padding: 8px 12px;
	border: 1px solid #cfe7db;
	border-radius: 8px;
	background: #f0fdf6;
	color: #0f172a;
	font-size: 12px;
}

.snwr-lesson-doubts__reply-indicator strong {
	color: #047857;
}

.snwr-lesson-doubts__reply-indicator button {
	border: 0;
	background: transparent;
	padding: 0;
	color: #64748b;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
	text-decoration: underline;
}

.snwr-question--pending .snwr-question {
	border-color: #f0d98b;
	background: #fffdf5;
}

.snwr-lesson-doubts__list .children {
	display: grid;
	gap: 10px;
	margin: 10px 0 0 24px;
	padding: 0;
	list-style: none;
}

@media (max-width: 600px) {
	.snwr-question__status {
		margin-left: 0;
	}

	.snwr-question__header {
		flex-wrap: wrap;
	}

	.snwr-lesson-doubts__list .children {
		margin-left: 12px;
	}
}


/* Learning-platform brand logo and tutorial-ad integration. */
.snwr-learning-logo-link {
	display: inline-flex;
	align-items: center;
	line-height: 0;
	text-decoration: none;
}

.snwr-learning-logo {
	display: block;
	width: auto;
	max-width: 100%;
	height: 30px;
	object-fit: contain;
}

.snwr-learning-logo--toolbar {
	height: 25px;
	margin-right: 12px;
}

.snwr-learn-hero__brand {
	margin: 0 0 18px;
}

.snwr-learning-logo--hero {
	height: 38px;
}

.snwr-auth-brand {
	min-height: 42px;
}

.snwr-learning-logo--auth {
	height: 38px;
	filter: brightness(0) invert(1);
}

.snwr-ad-slot[data-snwr-ad-position] {
	isolation: isolate;
}

.snwr-ad-slot[data-snwr-ad-position] > script {
	display: none;
}

@media (max-width: 767px) {
	.snwr-learning-logo--toolbar {
		height: 22px;
		margin-right: 8px;
	}

	.snwr-learning-logo--hero {
		height: 32px;
	}
}

/* SNWR Ad Manager v1.5.0: centralized Learn and Tutorial placements. */
.snwr-ad-slot--learn_hero_banner,
.snwr-ad-slot--learn_between_cards,
.snwr-ad-slot--tutorial_after_first_h2,
.snwr-ad-slot--tutorial_after_third_h2,
.snwr-ad-slot--tutorial_before_comments,
.snwr-ad-slot--tutorial_bottom {
	width: min(100%, 970px);
	height: auto;
	min-height: 90px;
	margin: 24px auto;
	padding: 12px;
	box-sizing: border-box;
}

.snwr-ad-slot--learn-hero {
	margin-top: 20px;
	margin-bottom: 20px;
}

.snwr-module-grid__ad {
	grid-column: 1 / -1;
	width: 100%;
}

.snwr-ad-slot--between-cards {
	margin: 10px auto 28px;
}

.snwr-ad-slot--in-content,
.snwr-ad-slot--before-comments,
.snwr-ad-slot--tutorial-bottom {
	clear: both;
	margin-top: 32px;
	margin-bottom: 32px;
}

.snwr-ad-slot--tutorial_before_comments {
	min-height: 120px;
}

.snwr-ad-slot--mobile_sticky_footer {
	display: none;
}

.snwr-ad-slot--managed > ins,
.snwr-ad-slot--managed > iframe,
.snwr-ad-slot--managed > div {
	max-width: 100%;
}

@media (min-width: 1025px) {
	.snwr-ad-hide-desktop {
		display: none !important;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.snwr-ad-hide-tablet {
		display: none !important;
	}
}

@media (max-width: 767px) {
	.snwr-ad-hide-mobile {
		display: none !important;
	}

	.snwr-ad-slot--learn_hero_banner,
	.snwr-ad-slot--learn_between_cards,
	.snwr-ad-slot--tutorial_after_first_h2,
	.snwr-ad-slot--tutorial_after_third_h2,
	.snwr-ad-slot--tutorial_before_comments,
	.snwr-ad-slot--tutorial_bottom {
		width: calc(100% - 24px);
		min-height: 70px;
		margin-right: 12px;
		margin-left: 12px;
	}

	.snwr-ad-slot--mobile_sticky_footer {
		position: fixed;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 10050;
		display: grid;
		width: 100%;
		height: auto;
		min-height: 50px;
		max-height: 100px;
		margin: 0;
		padding: 4px 8px;
		border: 0;
		border-top: 1px solid #dbe4ea;
		border-radius: 0;
		background: #fff;
		box-shadow: 0 -6px 20px rgba(15, 23, 42, 0.14);
	}

	body:has(.snwr-ad-slot--mobile_sticky_footer) {
		padding-bottom: 62px;
	}
}

/* v1.5.1: header branding and custom account flows. */
.snwr-tutorial-subheader__brand {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	padding-right: 14px;
	margin-right: 4px;
	border-right: 1px solid rgba(255, 255, 255, 0.22);
}

.snwr-learning-logo--subheader {
	display: block;
	width: auto;
	height: 28px;
	max-width: 112px;
}

.snwr-auth-forgot,
.snwr-auth-back {
	appearance: none;
	border: 0;
	background: transparent;
	color: #047857;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	padding: 5px 0;
	text-align: left;
}

.snwr-auth-forgot:hover,
.snwr-auth-back:hover,
.snwr-auth-forgot:focus-visible,
.snwr-auth-back:focus-visible {
	color: #065f46;
	text-decoration: underline;
}

.snwr-auth-message {
	margin: 0 0 16px;
	padding: 11px 13px;
	border-radius: 8px;
	font-size: 14px;
	line-height: 1.5;
}

.snwr-auth-message.snwr-is-success {
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	color: #065f46;
}

.snwr-auth-message.snwr-is-error {
	background: #fff1f2;
	border: 1px solid #fecdd3;
	color: #9f1239;
}

.snwr-auth-form h3 {
	margin: 0 0 8px;
	font-size: 22px;
}

.snwr-auth-form[aria-busy="true"] {
	opacity: 0.75;
}

@media (max-width: 900px) {
	.snwr-tutorial-subheader__brand {
		padding-left: 10px;
		padding-right: 10px;
	}

	.snwr-learning-logo--subheader {
		height: 24px;
		max-width: 96px;
	}
}


/* v1.6.0: learning header, reliable lesson-time icon, and Newspaper ad isolation. */
.snwr-tutorial-subheader__inner {
	display: flex;
	align-items: center;
}

.snwr-tutorial-subheader__brand {
	min-width: 116px;
	min-height: 46px;
	justify-content: center;
	background: #fff;
	padding: 6px 12px;
	margin-right: 10px;
	border-right: 0;
}

.snwr-learning-logo--subheader {
	display: block !important;
	width: 100px;
	height: auto;
	max-height: 34px;
	object-fit: contain;
}

.snwr-tutorial-nav__lesson-time {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

.snwr-tutorial-nav__lesson-clock {
	flex: 0 0 auto;
	display: inline-block;
}

/* Newspaper ad placements are disabled only on SNWR tutorial screens. */
body.snwr-tutorial-single .td-a-rec,
body.snwr-tutorial-single .td-adspot-title,
body.snwr-tutorial-single [class*="td-a-rec-id-"] {
	display: none !important;
}

body.snwr-tutorial-single .snwr-ad-slot:not(.snwr-ad-slot--mobile_sticky_footer) {
	display: block !important;
}

@media (max-width: 767px) {
	.snwr-tutorial-subheader__brand {
		min-width: 94px;
		min-height: 42px;
		padding: 5px 8px;
		margin-right: 4px;
	}

	.snwr-learning-logo--subheader {
		width: 84px;
		max-height: 30px;
	}
}


/* v1.6.1: compact lesson navigation, technology selector, and ad isolation. */
.snwr-tutorial .snwr-tutorial-shell {
	grid-template-columns: 250px minmax(0, 900px) 180px !important;
	gap: 24px !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons {
	margin: 0 10px 12px 10px !important;
	padding-left: 0 !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons::before {
	display: none !important;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a {
	grid-template-columns: 22px minmax(0, 1fr) auto !important;
	gap: 5px !important;
	padding-right: 4px !important;
	padding-left: 2px !important;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-time::before {
	display: none !important;
	content: none !important;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-clock {
	display: inline-block !important;
	width: 13px !important;
	height: 13px !important;
}

.snwr-technology-selector {
	min-width: 142px;
	max-width: 190px;
	height: 34px;
	padding: 0 26px 0 4px;
	border: 0;
	border-radius: 0;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right center;
	background-size: 18px;
	color: #047857;
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
}

.snwr-technology-selector option {
	background: #fff;
	color: #0f172a;
}

/* Empty managed positions must leave no border, box, or reserved space. */
.snwr-ad-slot--managed:empty,
.snwr-ad-slot--managed:not(:has(ins, iframe, script, img, object, embed, [data-ad-status], .snwr-ad-placeholder)) {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

.snwr-ad-slot--managed {
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

/* Hide every Newspaper-owned ad surface on tutorial pages, including the
   placement rendered after the question-and-answer area. Restore only ads
   that are descendants of an SNWR-managed slot. */
body.snwr-tutorial-single .td-a-rec,
body.snwr-tutorial-single .td-g-rec,
body.snwr-tutorial-single .td-adspot-title,
body.snwr-tutorial-single [class*="td-a-rec-id-"],
body.snwr-tutorial-single [class*="td-adspot"],
body.snwr-tutorial-single .td_block_ad_box,
body.snwr-tutorial-single .tds-ad,
body.snwr-tutorial-single .td-ad-box,
body.snwr-tutorial-single .td-post-ad {
	display: none !important;
}

body.snwr-tutorial-single .snwr-ad-slot .td-a-rec,
body.snwr-tutorial-single .snwr-ad-slot .td-g-rec,
body.snwr-tutorial-single .snwr-ad-slot [class*="td-a-rec-id-"],
body.snwr-tutorial-single .snwr-ad-slot [class*="td-adspot"],
body.snwr-tutorial-single .snwr-ad-slot .td_block_ad_box,
body.snwr-tutorial-single .snwr-ad-slot .tds-ad,
body.snwr-tutorial-single .snwr-ad-slot .td-ad-box,
body.snwr-tutorial-single .snwr-ad-slot .td-post-ad {
	display: block !important;
}

@media (max-width: 1180px) {
	.snwr-tutorial .snwr-tutorial-shell {
		grid-template-columns: 250px minmax(0, 1fr) !important;
	}
}

@media (max-width: 767px) {
	.snwr-technology-selector {
		min-width: 112px;
		max-width: 138px;
		height: 32px;
		font-size: 13px;
	}
}

/* v1.6.2: compact header, account fields, and question editor tools. */
.snwr-tutorial-subheader__inner {
	min-height: 48px !important;
	gap: 8px !important;
	width: min(1320px, calc(100% - 28px)) !important;
}

.snwr-tutorial-subheader__brand {
	min-width: 96px !important;
	min-height: 42px !important;
	padding: 4px 8px !important;
	margin-right: 4px !important;
}

.snwr-learning-logo--subheader {
	width: 86px !important;
	max-height: 28px !important;
}

.snwr-technology-selector {
	min-width: 150px;
	max-width: 185px;
	height: 38px !important;
	margin: 0 !important;
	padding: 0 34px 0 12px !important;
	font-size: 15px !important;
	line-height: 38px !important;
	vertical-align: middle;
}

.snwr-tutorial-subheader__menu,
.snwr-tutorial-subheader__menu a {
	min-height: 48px !important;
}

.snwr-auth-field--single {
	grid-template-columns: minmax(0, 1fr) !important;
	padding: 0 14px;
}

.snwr-auth-field--single input {
	padding: 0 !important;
}

.snwr-lesson-doubts__tools button {
	position: relative;
	min-width: 34px;
	min-height: 34px;
	border-radius: 6px;
}

.snwr-lesson-doubts__tools button:hover,
.snwr-lesson-doubts__tools button:focus-visible {
	background: #ecfdf5;
	color: #047857;
	outline: 2px solid transparent;
}

.snwr-question-attachment-name {
	min-width: 0;
	max-width: 240px;
	overflow: hidden;
	color: #475569;
	font-size: 12px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.snwr-question__attachment {
	margin-top: 12px;
}

.snwr-question__attachment img {
	display: block;
	max-width: min(100%, 420px);
	height: auto;
	border: 1px solid #dbe7e1;
	border-radius: 10px;
}

.snwr-question__attachment-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 12px;
	border: 1px solid #cfe8dd;
	border-radius: 8px;
	background: #f0fdf7;
	color: #047857;
	font-weight: 700;
	text-decoration: none;
}

@media (max-width: 767px) {
	.snwr-tutorial-subheader__inner {
		width: calc(100% - 14px) !important;
	}

	.snwr-tutorial-subheader__brand {
		min-width: 78px !important;
		min-height: 38px !important;
		padding: 3px 5px !important;
	}

	.snwr-learning-logo--subheader {
		width: 70px !important;
		max-height: 24px !important;
	}

	.snwr-technology-selector {
		min-width: 126px;
		max-width: 145px;
		height: 34px !important;
		font-size: 13px !important;
		line-height: 34px !important;
	}
}


/* v1.6.3 compact account dialog and approved left-panel treatment. */
.snwr-auth-modal__dialog {
	grid-template-columns: 220px minmax(0, 1fr);
	width: min(680px, calc(100vw - 28px));
	max-height: min(620px, calc(100vh - 28px));
	border-radius: 13px;
}

.snwr-auth-modal__aside {
	gap: 11px;
	padding: 22px 20px;
}

.snwr-auth-brand {
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 10px;
	min-height: 36px;
}

.snwr-auth-brand__mark {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 8px;
	background: #ffffff;
	color: #10b981;
}

.snwr-auth-brand__mark svg {
	width: 18px;
	height: 18px;
}

.snwr-auth-brand strong {
	color: #ffffff;
	font-size: 18px;
	font-weight: 900;
	line-height: 1.15;
}

.snwr-auth-brand__rule {
	display: block;
	width: 38px;
	height: 3px;
	margin-left: 44px;
	border-radius: 999px;
	background: #65e6aa;
}

.snwr-auth-modal__aside p {
	margin-left: 44px;
	font-size: 12px;
	line-height: 1.45;
}

.snwr-auth-visual {
	min-height: 145px;
	margin: 2px 0;
}

.snwr-auth-visual__card {
	width: 166px;
	padding: 17px;
	border-radius: 14px;
}

.snwr-auth-visual__avatar {
	width: 36px;
	height: 36px;
}

.snwr-auth-visual__card i {
	height: 32px;
}

.snwr-auth-visual__shield {
	right: 12px;
	bottom: 9px;
	width: 48px;
	height: 53px;
}

.snwr-auth-visual__shield svg {
	width: 29px;
	height: 29px;
}

.snwr-auth-modal__aside ul {
	gap: 8px;
}

.snwr-auth-modal__aside li {
	grid-template-columns: 20px minmax(0, 1fr);
	gap: 8px;
	font-size: 11px;
}

.snwr-auth-modal__aside li::before {
	width: 19px;
	height: 19px;
}

.snwr-auth-modal__main {
	padding: 24px 28px;
}

.snwr-auth-modal__main h2 {
	font-size: 26px;
}

.snwr-auth-tabs button,
.snwr-auth-submit {
	min-height: 44px;
}

.snwr-auth-field input {
	min-height: 46px;
}

@media (max-width: 760px) {
	.snwr-auth-modal__dialog {
		width: min(420px, calc(100vw - 20px));
	}
}

/* v1.6.4 compact navigation, account dialog, and rich question editor. */
.snwr-tutorial .snwr-tutorial-sidebar {
	width: 225px;
	flex-basis: 225px;
}

.snwr-tutorial .snwr-tutorial-nav__search {
	position: sticky;
	top: 0;
	z-index: 12;
	margin: 0;
	padding: 8px 10px;
	background: #ffffff;
	box-shadow: 0 1px 0 #e6edf3;
}

.snwr-tutorial .snwr-tutorial-nav__search-control {
	min-height: 34px;
}

.snwr-tutorial .snwr-tutorial-nav__chapter summary {
	min-height: 38px;
	padding: 8px 10px;
	gap: 6px;
}

.snwr-tutorial .snwr-tutorial-nav__chapter-title {
	font-size: 11px !important;
	line-height: 1.2;
	font-weight: 800;
}

.snwr-tutorial .snwr-tutorial-nav__chapter-count {
	padding: 4px 7px;
	font-size: 9px;
	line-height: 1;
}

.snwr-tutorial .snwr-tutorial-nav__lessons {
	margin: 0;
	padding: 2px 6px 7px 18px;
}

.snwr-tutorial .snwr-tutorial-nav__lessons::before {
	left: 8px;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a {
	grid-template-columns: 20px minmax(0, 1fr) auto;
	gap: 5px;
	min-height: 34px;
	padding: 5px 4px;
}

.snwr-tutorial .snwr-tutorial-nav__lessons a::before {
	width: 18px;
	height: 18px;
	font-size: 9px;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-title {
	font-size: 9px !important;
	line-height: 1.2;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-time {
	gap: 3px;
	font-size: 8px;
	white-space: nowrap;
}

.snwr-tutorial .snwr-tutorial-nav__lesson-clock {
	width: 11px;
	height: 11px;
}

.snwr-auth-modal__dialog {
	grid-template-columns: 165px minmax(0, 1fr) !important;
	width: min(510px, calc(100vw - 24px)) !important;
	max-height: min(540px, calc(100vh - 24px)) !important;
	border-radius: 11px !important;
}

.snwr-auth-modal__aside {
	gap: 7px !important;
	padding: 15px 13px !important;
}

.snwr-auth-brand {
	grid-template-columns: 26px minmax(0, 1fr) !important;
	gap: 7px !important;
	min-height: 28px !important;
}

.snwr-auth-brand__mark {
	width: 25px !important;
	height: 25px !important;
	border-radius: 6px !important;
}

.snwr-auth-brand__mark svg {
	width: 14px !important;
	height: 14px !important;
}

.snwr-auth-brand strong {
	font-size: 13px !important;
	line-height: 1.12 !important;
}

.snwr-auth-brand__rule {
	width: 29px !important;
	height: 2px !important;
	margin-left: 33px !important;
}

.snwr-auth-modal__aside p {
	margin-left: 33px !important;
	font-size: 9px !important;
	line-height: 1.35 !important;
}

.snwr-auth-visual {
	min-height: 108px !important;
	margin: 0 !important;
}

.snwr-auth-visual__card {
	width: 124px !important;
	padding: 12px !important;
	gap: 6px !important;
	border-radius: 11px !important;
}

.snwr-auth-visual__avatar {
	width: 27px !important;
	height: 27px !important;
}

.snwr-auth-visual__card div { gap: 6px !important; margin-top: 5px !important; }
.snwr-auth-visual__card i { height: 24px !important; }
.snwr-auth-visual__shield { right: 7px !important; bottom: 5px !important; width: 36px !important; height: 40px !important; border-radius: 11px !important; }
.snwr-auth-visual__shield svg { width: 21px !important; height: 21px !important; }
.snwr-auth-modal__aside ul { gap: 5px !important; }
.snwr-auth-modal__aside li { grid-template-columns: 15px minmax(0, 1fr) !important; gap: 6px !important; font-size: 8px !important; line-height: 1.2 !important; }
.snwr-auth-modal__aside li::before { width: 14px !important; height: 14px !important; font-size: 9px !important; }

.snwr-auth-modal__main {
	padding: 17px 20px !important;
}

.snwr-auth-modal__main h2 { margin-bottom: 4px !important; font-size: 20px !important; }
.snwr-auth-modal__main > p { margin-bottom: 12px !important; font-size: 11px !important; }
.snwr-auth-tabs { gap: 8px !important; margin-bottom: 12px !important; }
.snwr-auth-tabs button, .snwr-auth-submit { min-height: 34px !important; font-size: 11px !important; }
.snwr-auth-form label { margin-bottom: 4px !important; font-size: 10px !important; }
.snwr-auth-field { margin-bottom: 10px !important; }
.snwr-auth-field input { min-height: 36px !important; padding: 8px 11px !important; font-size: 11px !important; }
.snwr-auth-field svg { width: 15px !important; height: 15px !important; }
.snwr-auth-forgot, .snwr-auth-back, .snwr-auth-small { font-size: 9px !important; }
.snwr-auth-secure { margin-top: 11px !important; padding: 8px 10px !important; font-size: 9px !important; }
.snwr-auth-modal__close { top: 10px !important; right: 10px !important; width: 28px !important; height: 28px !important; font-size: 20px !important; }

.snwr-question-rich-editor {
	min-height: 100px;
	padding: 14px 18px;
	outline: none;
	color: #1f2937;
	font-size: 16px;
	line-height: 1.55;
	background: #ffffff;
}

.snwr-question-rich-editor:empty::before {
	color: #7c8799;
	content: attr(data-placeholder);
	pointer-events: none;
}

.snwr-question-rich-editor ul,
.snwr-question-rich-editor ol {
	margin: 8px 0;
	padding-left: 25px;
}

.snwr-question-rich-editor code {
	padding: 2px 5px;
	border-radius: 4px;
	background: #eef2f7;
	font-family: monospace;
}

/* textarea. prefix (not just .snwr-question-source) is deliberate: this
   real <textarea id="comment"> lives inside .snwr-lesson-doubts__editor
   (the comment_field markup wraps it there alongside the rich contenteditable
   div), so .snwr-lesson-doubts__editor textarea (width: 100% !important,
   meant for the disabled placeholder textarea shown to logged-out visitors)
   also matches it. That rule's specificity (0,1,1) beat this one's bare
   class selector (0,1,0), silently un-hiding this textarea to 100% width
   for every logged-in visitor - confirmed live via CDP
   CSS.getMatchedStylesForNode, and the real, sole cause of a page-wide
   horizontal scrollbar on the lesson page that only appeared logged-in.
   Matching the type+class specificity (0,1,1) and staying below in source
   order restores the intended visually-hidden sizing. */
textarea.snwr-question-source {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	white-space: nowrap !important;
}

.snwr-question-status {
	min-height: 18px;
	padding: 5px 12px 0;
	font-size: 12px;
}
.snwr-question-status.snwr-is-error { color: #b91c1c; }
.snwr-question-status.snwr-is-success { color: #047857; }

@media (max-width: 760px) {
	.snwr-auth-modal__dialog {
		grid-template-columns: 1fr !important;
		width: min(390px, calc(100vw - 18px)) !important;
	}
	.snwr-auth-modal__aside { display: none !important; }
}

/* v1.6.5 discussion permission and compact login visual refinements. */
.snwr-auth-modal__dialog {
	max-height: min(486px, calc(100vh - 24px)) !important;
}

.snwr-auth-modal__aside {
	padding-top: 12px !important;
	padding-bottom: 12px !important;
}

.snwr-auth-visual {
	min-height: 96px !important;
}

.snwr-auth-visual__card {
	transform: scale(.92);
	transform-origin: center;
}

.snwr-auth-visual__avatar {
	position: relative;
	display: grid;
	place-items: center;
}

.snwr-auth-visual__avatar::before {
	color: #059669;
	content: "\1F464";
	font-size: 15px;
	line-height: 1;
}

.snwr-auth-visual__card i {
	position: relative;
	display: grid;
	place-items: center;
	color: #059669;
	font-style: normal;
}

.snwr-auth-visual__card i::before {
	font-size: 12px;
	font-weight: 800;
	line-height: 1;
}

.snwr-auth-visual__card i:nth-child(1)::before { content: "\2605"; }
.snwr-auth-visual__card i:nth-child(2)::before { content: "?"; }
.snwr-auth-visual__card i:nth-child(3)::before { content: "\2197"; }

@media (max-height: 620px) and (min-width: 761px) {
	.snwr-auth-modal__dialog {
		max-height: calc(100vh - 14px) !important;
	}
	.snwr-auth-modal__aside ul {
		gap: 3px !important;
	}
}


/* v1.6.6: zero admin offset, compact auth feedback, and ad-blocker-safe layout. */
.admin-bar .snwr-tutorial-subheader,
.admin-bar .snwr-learn,
.admin-bar .snwr-learning-path,
.admin-bar .snwr-tutorial {
	--snwr-admin-offset: 0px !important;
}

/* Keep the tutorial toolbar compact so breadcrumbs never overlap the title. */
.snwr-tutorial-toolbar__inner {
	min-height: 48px;
}

.snwr-tutorial-toolbar__context {
	row-gap: 4px;
}

/* Keep authentication actions visible when an error or success message appears. */
.snwr-auth-modal__dialog {
	max-height: min(590px, calc(100vh - 20px)) !important;
}

.snwr-auth-modal__main {
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: 18px 24px !important;
	overflow-y: auto !important;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.snwr-auth-modal__main h2 {
	margin-bottom: 2px !important;
}

.snwr-auth-modal__main > p {
	margin-bottom: 8px !important;
	line-height: 1.35 !important;
}

.snwr-auth-tabs {
	margin-bottom: 8px !important;
}

.snwr-auth-message {
	margin: 0 0 8px !important;
	padding: 8px 10px !important;
	font-size: 11px !important;
	line-height: 1.35 !important;
}

.snwr-auth-form {
	gap: 5px !important;
}

.snwr-auth-form label {
	margin: 0 !important;
}

.snwr-auth-field {
	margin-bottom: 3px !important;
	min-height: 38px !important;
}

.snwr-auth-field input {
	min-height: 36px !important;
}

.snwr-auth-forgot,
.snwr-auth-back {
	padding: 2px 0 !important;
}

.snwr-auth-submit {
	margin-top: 3px !important;
	min-height: 36px !important;
	flex: 0 0 auto;
}

.snwr-auth-small {
	margin-top: 4px !important;
	font-size: 10px !important;
	line-height: 1.35 !important;
}

.snwr-auth-secure {
	margin-top: 8px !important;
	padding: 8px 10px !important;
	font-size: 10px !important;
}

@media (max-width: 1180px) {
	.snwr-tutorial .snwr-tutorial-shell.snwr-ads-empty {
		grid-template-columns: 230px minmax(0, 1fr) !important;
	}
}

@media (max-width: 900px) {
	.snwr-tutorial .snwr-tutorial-shell.snwr-ads-empty {
		display: block !important;
	}
}

/* v1.6.7: learner toolbar handling and ad-blocker-safe content width. */
/* Logged-out users and subscribers have no WordPress toolbar offset. */
body:not(.admin-bar).snwr-tutorial-single,
body:not(.admin-bar).snwr-learn,
body:not(.admin-bar).snwr-learning-path {
	--snwr-admin-offset: 0px !important;
}

/* Editors/admins keep the native toolbar; place the learning header below it. */
body.admin-bar.snwr-tutorial-single,
body.admin-bar.snwr-learn,
body.admin-bar.snwr-learning-path {
	--snwr-admin-offset: 32px !important;
}

body.admin-bar .snwr-tutorial-subheader {
	top: 32px !important;
}

body.admin-bar .snwr-tutorial-toolbar,
body.admin-bar .snwr-tutorial-sidebar,
body.admin-bar .snwr-tutorial-toc,
body.admin-bar .snwr-tutorial-ad-sidebar {
	--snwr-admin-offset: 32px !important;
}

/* Keep the ad track reserved on desktop, even when blockers remove the ad content. */
body.snwr-tutorial-single .snwr-tutorial-shell {
	grid-template-columns: 250px minmax(0, 1fr) 180px !important;
	width: min(1460px, calc(100% - 32px)) !important;
	max-width: 1460px !important;
	gap: 28px !important;
}

body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty,
body.snwr-tutorial-single .snwr-tutorial-shell:not(.snwr-has-sidebar-ads) {
	grid-template-columns: 250px minmax(0, 1fr) 180px !important;
}

body.snwr-tutorial-single .snwr-tutorial-content {
	width: 100% !important;
	max-width: 100% !important;
}

body.snwr-tutorial-single .snwr-tutorial-ad-sidebar {
	min-width: 0;
	width: 180px;
	max-width: 100%;
}

@media screen and (max-width: 782px) {
	body.admin-bar.snwr-tutorial-single,
	body.admin-bar.snwr-learn,
	body.admin-bar.snwr-learning-path {
		--snwr-admin-offset: 46px !important;
	}

	body.admin-bar .snwr-tutorial-subheader {
		top: 46px !important;
	}
}

@media (max-width: 1180px) {
	body.snwr-tutorial-single .snwr-tutorial-shell,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
		grid-template-columns: 230px minmax(0, 1fr) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial-ad-sidebar {
		display: none !important;
	}
}

@media (max-width: 900px) {
	body.snwr-tutorial-single .snwr-tutorial-shell,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
		display: block !important;
	}
}

/* v1.6.8: deterministic admin-toolbar layout for SNWR learning surfaces. */
body.admin-bar.snwr-tutorial-single,
body.admin-bar.snwr-learn,
body.admin-bar.snwr-learning-path {
	--snwr-admin-offset: 32px !important;
}

/* Completely collapse Newspaper/tagDiv header wrappers on learning pages. */
body.snwr-tutorial-single .td-header-wrap,
body.snwr-tutorial-single .tdc-header-wrap,
body.snwr-tutorial-single .td-header-template-wrap,
body.snwr-tutorial-single .td-header-desktop-wrap,
body.snwr-tutorial-single .td-header-mobile-wrap,
body.snwr-tutorial-single .td-header-container,
body.snwr-learning-path .td-header-wrap,
body.snwr-learning-path .tdc-header-wrap,
body.snwr-learning-path .td-header-template-wrap,
body.snwr-learning-path .td-header-desktop-wrap,
body.snwr-learning-path .td-header-mobile-wrap,
body.snwr-learning-path .td-header-container,
body.snwr-learn .td-header-wrap,
body.snwr-learn .tdc-header-wrap,
body.snwr-learn .td-header-template-wrap,
body.snwr-learn .td-header-desktop-wrap,
body.snwr-learn .td-header-mobile-wrap,
body.snwr-learn .td-header-container {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

/* Admins keep the WordPress toolbar; SNWR header and breadcrumb toolbar stack directly below it. */
body.admin-bar.snwr-tutorial-single .snwr-tutorial-subheader,
body.admin-bar.snwr-learn .snwr-tutorial-subheader,
body.admin-bar.snwr-learning-path .snwr-tutorial-subheader {
	position: fixed !important;
	top: var(--snwr-admin-offset) !important;
	right: 0 !important;
	left: 0 !important;
}

body.admin-bar.snwr-tutorial-single .snwr-tutorial-toolbar {
	position: fixed !important;
	top: calc(var(--snwr-admin-offset) + 38px) !important;
	right: 0 !important;
	left: 0 !important;
	z-index: 10019 !important;
	margin: 0 !important;
}

body.admin-bar.snwr-tutorial-single .snwr-tutorial {
	/* v1.7.1: header stack height (JS-measured, see detectToolbarOffset()) + 48px breadcrumb/rating toolbar.
	   --snwr-toolbar-offset overridden to a fixed 85px here (was JS-measured,
	   typically ~38px) - !important is load-bearing: detectToolbarOffset()
	   (snwr-tutorial.js) sets this same custom property inline on this same
	   element via a plain (non-important) style.setProperty() call, and a
	   non-important inline style still beats a non-important external
	   stylesheet rule regardless of selector specificity - only a `!important`
	   external rule can override it. Scoped to body.snwr-tutorial-single, so
	   this only affects the lesson/article page's own top padding, nothing
	   else site-wide (Learn/dashboard pages use a different selector). */
	--snwr-toolbar-offset: 85px !important;
	padding-top: calc(var(--snwr-toolbar-offset, 38px) + 48px) !important;
	margin-top: 0 !important;
}

body.admin-bar.snwr-tutorial-single .snwr-tutorial-shell {
	margin-top: 0 !important;
}

/* v1.8.5: remove Newspaper footer chrome from SNWR learning pages. */
body.snwr-learn .td-footer-wrapper,
body.snwr-learn .td-footer-wrap,
body.snwr-learn .td-sub-footer-container,
body.snwr-learn .td-menu-footer,
body.snwr-learning-path .td-footer-wrapper,
body.snwr-learning-path .td-footer-wrap,
body.snwr-learning-path .td-sub-footer-container,
body.snwr-learning-path .td-menu-footer,
body.snwr-tutorial-single .td-footer-wrapper,
body.snwr-tutorial-single .td-footer-wrap,
body.snwr-tutorial-single .td-sub-footer-container,
body.snwr-tutorial-single .td-menu-footer {
	display: none !important;
}

/* Keep tutorial pages viewport-bound without masking overflow. */
body.snwr-tutorial-single .td-main-content-wrap,
body.snwr-tutorial-single .td-container-wrap,
body.snwr-tutorial-single .td-container,
body.snwr-tutorial-single .td-pb-row,
body.snwr-tutorial-single .td-ss-main-content,
body.snwr-tutorial-single .td-main-content,
body.snwr-tutorial-single .td-footer-wrapper,
body.snwr-tutorial-single .td-footer-wrap,
body.snwr-tutorial-single .td-sub-footer-container,
body.snwr-tutorial-single .td-menu-footer {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

body.snwr-tutorial-single .snwr-tutorial {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

body.snwr-tutorial-single .snwr-tutorial-shell,
body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
	box-sizing: border-box !important;
	/* 100vw includes the vertical scrollbar's width, but this element's
	   actual available space is 100% of its already-scrollbar-safe parent
	   (.snwr-tutorial, width:100% above) - using 100vw here made this
	   shell render wider than the viewport the instant a vertical
	   scrollbar appeared, producing a page-wide horizontal scrollbar.
	   Only noticeable logged-in, since the admin bar + extra lesson
	   controls are what push the page tall enough to need that vertical
	   scrollbar in the first place. */
	width: min(1460px, calc(100% - 32px)) !important;
	max-width: calc(100% - 32px) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

body.snwr-tutorial-single .snwr-tutorial-content,
body.snwr-tutorial-single .snwr-lesson-doubts,
body.snwr-tutorial-single .snwr-lesson-doubts__form,
body.snwr-tutorial-single .snwr-lesson-doubts__editor,
body.snwr-tutorial-single .snwr-question-rich-editor {
	box-sizing: border-box !important;
	min-width: 0 !important;
	max-width: 100% !important;
}

@media screen and (max-width: 782px) {
	body.admin-bar.snwr-tutorial-single,
	body.admin-bar.snwr-learn,
	body.admin-bar.snwr-learning-path {
		--snwr-admin-offset: 46px !important;
	}
}

/* v1.7.4: keep the left lesson navigation sticky and fully visible while the lesson body scrolls. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		display: flex !important;
		flex-direction: column !important;
		position: sticky !important;
		top: calc(var(--snwr-admin-offset) + 116px) !important;
		align-self: start !important;
		height: calc(100vh - var(--snwr-admin-offset) - 116px) !important;
		min-height: calc(100vh - var(--snwr-admin-offset) - 116px) !important;
		max-height: calc(100vh - var(--snwr-admin-offset) - 116px) !important;
		overflow: hidden !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav {
		flex: 1 1 auto !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		overscroll-behavior: contain;
		padding-bottom: 48px !important;
	}
}

/* v1.7.5: flat W3Schools-style desktop lesson sidebar. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial-shell,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
		grid-template-columns: 310px minmax(0, 1fr) 180px !important;
		gap: 0 !important;
		overflow: visible !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		position: sticky !important;
		top: calc(var(--snwr-admin-offset) + 116px) !important;
		display: flex !important;
		flex-direction: column !important;
		width: 310px !important;
		flex-basis: 310px !important;
		height: calc(100vh - var(--snwr-admin-offset) - 146px) !important;
		min-height: 360px !important;
		max-height: calc(100vh - var(--snwr-admin-offset) - 146px) !important;
		overflow: hidden !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f1f3f4 !important;
		box-shadow: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header {
		position: static !important;
		display: flex !important;
		align-items: center !important;
		min-height: 0 !important;
		padding: 18px 18px 10px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: #f1f3f4 !important;
		box-shadow: none !important;
		color: #1f2937 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header::before {
		display: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header strong {
		color: #1f2937 !important;
		font-size: 20px !important;
		font-weight: 700 !important;
		line-height: 1.2 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		padding: 0 0 28px !important;
		background: #f1f3f4 !important;
		scrollbar-gutter: stable !important;
		overscroll-behavior: contain;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__path {
		display: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search {
		position: sticky !important;
		top: 0 !important;
		z-index: 3 !important;
		margin: 0 !important;
		padding: 8px 14px 12px !important;
		border: 0 !important;
		background: #f1f3f4 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search-control {
		display: grid !important;
		grid-template-columns: 18px minmax(0, 1fr) 28px !important;
		min-height: 34px !important;
		padding: 0 5px 0 10px !important;
		border: 1px solid #d1d5db !important;
		border-radius: 3px !important;
		background: #ffffff !important;
		box-shadow: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search-icon svg {
		width: 14px !important;
		height: 14px !important;
		color: #6b7280 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search input {
		min-height: 30px !important;
		padding: 0 !important;
		border: 0 !important;
		font-size: 14px !important;
		line-height: 1.2 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__filter-button {
		width: 26px !important;
		height: 26px !important;
		border-radius: 3px !important;
		background: transparent !important;
		color: #047857 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter {
		margin: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter summary {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto !important;
		gap: 8px !important;
		align-items: center !important;
		min-height: 32px !important;
		padding: 14px 16px 5px !important;
		border: 0 !important;
		background: transparent !important;
		color: #374151 !important;
		cursor: pointer !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter summary::-webkit-details-marker,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter summary::marker {
		display: none !important;
		content: "" !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-title {
		font-size: 12px !important;
		font-weight: 700 !important;
		line-height: 1.25 !important;
		letter-spacing: 0.08em !important;
		text-transform: uppercase !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-count {
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #6b7280 !important;
		font-size: 11px !important;
		font-weight: 500 !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-toggle {
		color: #6b7280 !important;
		font-size: 12px !important;
		line-height: 1 !important;
		transform: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter:not([open]) .snwr-tutorial-nav__chapter-toggle {
		transform: rotate(180deg) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons {
		position: static !important;
		display: block !important;
		margin: 0 !important;
		padding: 0 0 6px !important;
		border: 0 !important;
		background: transparent !important;
		list-style: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons::before {
		display: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons li {
		margin: 0 !important;
		padding: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons li + li {
		margin-top: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a {
		display: grid !important;
		grid-template-columns: 18px minmax(0, 1fr) auto !important;
		gap: 8px !important;
		align-items: center !important;
		min-height: 30px !important;
		padding: 5px 14px 5px 16px !important;
		border: 0 !important;
		border-left: 3px solid transparent !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #111827 !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.25 !important;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a::before {
		display: grid !important;
		place-items: center !important;
		width: 16px !important;
		height: 16px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #047857 !important;
		content: "" !important;
		font-size: 13px !important;
		font-weight: 700 !important;
		line-height: 1 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-complete::before,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-current::before,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"]::before {
		content: "\2713" !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a:hover,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a:focus-visible {
		background: #e5e7eb !important;
		color: #064e3b !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-current,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"] {
		border-left-color: #04aa6d !important;
		background: #d1d5db !important;
		color: #064e3b !important;
		font-weight: 700 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-title {
		display: flex !important;
		align-items: flex-start !important;
		min-width: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-text {
		min-width: 0 !important;
		overflow-wrap: anywhere !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-time {
		display: inline-flex !important;
		align-items: center !important;
		gap: 3px !important;
		color: #6b7280 !important;
		font-size: 12px !important;
		font-weight: 500 !important;
		white-space: nowrap !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-time::before {
		display: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-clock {
		width: 12px !important;
		height: 12px !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"] .snwr-tutorial-nav__lesson-time {
		color: #047857 !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1180px) {
	body.snwr-tutorial-single .snwr-tutorial-shell,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
		grid-template-columns: 300px minmax(0, 1fr) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		width: 300px !important;
		flex-basis: 300px !important;
	}
}

/* v1.7.6: restore previous card UI; only keep sticky height and independent left-nav scroll. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial-shell,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
		grid-template-columns: 250px minmax(0, 1fr) 180px !important;
		gap: 0 !important;
		overflow: visible !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		position: sticky !important;
		top: calc(var(--snwr-admin-offset) + 116px) !important;
		display: flex !important;
		flex-direction: column !important;
		align-self: start !important;
		width: 225px !important;
		flex-basis: 225px !important;
		height: calc(100vh - var(--snwr-admin-offset) - 128px) !important;
		min-height: 0 !important;
		max-height: calc(100vh - var(--snwr-admin-offset) - 128px) !important;
		overflow: hidden !important;
		border: 1px solid #dbe3ec !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header {
		position: sticky !important;
		top: 0 !important;
		z-index: 5 !important;
		display: grid !important;
		grid-template-columns: 28px minmax(0, 1fr) auto !important;
		gap: 8px !important;
		align-items: center !important;
		min-height: 0 !important;
		padding: 10px 14px 8px !important;
		border: 0 !important;
		border-radius: 18px 18px 0 0 !important;
		background: linear-gradient(135deg, #047857 0%, #04aa6d 100%) !important;
		box-shadow: none !important;
		color: #ffffff !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header::before {
		display: grid !important;
		place-items: center !important;
		width: 24px !important;
		height: 24px !important;
		border-radius: 7px !important;
		background-color: #e8f7f0 !important;
		color: #047857 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header strong {
		color: #ffffff !important;
		font-size: 18px !important;
		font-weight: 900 !important;
		line-height: 1 !important;
		letter-spacing: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		padding: 0 0 72px !important;
		background: #ffffff !important;
		overscroll-behavior: contain;
		scroll-padding-bottom: 72px !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search {
		position: sticky !important;
		top: 0 !important;
		z-index: 12 !important;
		margin: -1px 0 0 !important;
		padding: 0 14px 12px !important;
		border-top: 1px solid #047857 !important;
		background: #047857 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search-control {
		display: grid !important;
		grid-template-columns: 18px minmax(0, 1fr) 30px !important;
		gap: 7px !important;
		align-items: center !important;
		min-height: 36px !important;
		padding: 0 6px 0 11px !important;
		border: 0 !important;
		border-radius: 9px !important;
		background: #ffffff !important;
		box-shadow: 0 12px 28px rgba(15, 23, 42, 0.12) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter {
		margin: 0 !important;
		border: 0 !important;
		border-top: 1px solid #dfe4ea !important;
		border-radius: 0 !important;
		background: #ffffff !important;
		box-shadow: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter summary {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto !important;
		gap: 4px !important;
		align-items: center !important;
		min-height: 38px !important;
		padding: 10px 10px 8px !important;
		background: #ffffff !important;
		color: #0f172a !important;
		cursor: pointer !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-title {
		font-size: 12px !important;
		font-weight: 900 !important;
		line-height: 1.1 !important;
		letter-spacing: 0 !important;
		text-transform: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-count {
		padding: 3px 7px !important;
		border-radius: 999px !important;
		background: #e8f7f0 !important;
		color: #047857 !important;
		font-size: 11px !important;
		font-weight: 800 !important;
		line-height: 1 !important;
		white-space: nowrap !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-toggle {
		color: #0f172a !important;
		font-size: 12px !important;
		line-height: 1 !important;
		transform: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter:not([open]) .snwr-tutorial-nav__chapter-toggle {
		transform: rotate(180deg) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons {
		position: relative !important;
		margin: 0 !important;
		padding: 0 12px 12px 45px !important;
		background: #ffffff !important;
		list-style: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons::before {
		display: block !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons li {
		margin: 0 !important;
		padding: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		gap: 8px !important;
		align-items: center !important;
		min-height: 30px !important;
		padding: 5px 7px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #0f172a !important;
		font-size: 11px !important;
		font-weight: 700 !important;
		line-height: 1.12 !important;
		text-decoration: none !important;
		box-shadow: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a:hover,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a:focus-visible,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-current,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"] {
		background: transparent !important;
		color: #047857 !important;
		font-weight: 900 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a::before {
		display: grid !important;
		place-items: center !important;
		border-radius: 999px !important;
		background: #ffffff !important;
		color: #64748b !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a.snwr-is-current::before,
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a[aria-current="page"]::before {
		background: #047857 !important;
		color: #ffffff !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-time {
		color: #64748b !important;
		font-size: 10px !important;
		font-weight: 700 !important;
		white-space: nowrap !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-clock {
		width: 12px !important;
		height: 12px !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1180px) {
	body.snwr-tutorial-single .snwr-tutorial-shell,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
		grid-template-columns: 230px minmax(0, 1fr) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		width: 225px !important;
		flex-basis: 225px !important;
	}
}

/* v1.7.7: keep current UI; make only the outer left nav square and independently scrollable. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial-shell,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
		overflow: visible !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		position: sticky !important;
		top: calc(var(--snwr-admin-offset) + 116px) !important;
		display: flex !important;
		flex-direction: column !important;
		align-self: start !important;
		height: calc(100vh - var(--snwr-admin-offset) - 116px) !important;
		height: calc(100dvh - var(--snwr-admin-offset) - 116px) !important;
		min-height: 0 !important;
		max-height: calc(100vh - var(--snwr-admin-offset) - 116px) !important;
		max-height: calc(100dvh - var(--snwr-admin-offset) - 116px) !important;
		overflow: hidden !important;
		border-radius: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header {
		border-radius: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		padding-bottom: 72px !important;
		overscroll-behavior: contain;
		scroll-padding-bottom: 72px !important;
	}
}

/* v1.7.8: fix desktop left navigation below breadcrumbs and hide lesson timers. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial-shell,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-has-sidebar-ads,
	body.snwr-tutorial-single .snwr-tutorial-shell.snwr-ads-empty {
		grid-template-columns: 250px minmax(0, 1fr) 180px !important;
		overflow: visible !important;
	}

	body.snwr-tutorial-single .snwr-tutorial-content {
		grid-column: 2 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial-ad-sidebar {
		grid-column: 3 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		position: fixed !important;
		top: calc(var(--snwr-admin-offset) + 86px) !important;
		right: auto !important;
		bottom: 0 !important;
		left: max(16px, calc((100vw - 1460px) / 2 + 16px)) !important;
		z-index: 100 !important;
		display: flex !important;
		flex-direction: column !important;
		width: 225px !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: hidden !important;
		border-radius: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header {
		border-radius: 0 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav {
		flex: 1 1 auto !important;
		min-height: 0 !important;
		height: auto !important;
		max-height: none !important;
		overflow-y: auto !important;
		overflow-x: hidden !important;
		padding-bottom: 72px !important;
		overscroll-behavior: contain;
		scroll-padding-bottom: 72px !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-time {
		display: none !important;
	}
}

@media screen and (min-width: 901px) and (max-width: 1180px) {
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		left: 16px !important;
	}
}

/* v1.7.9: place the fixed left nav below the full header + breadcrumb stack. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		top: calc(var(--snwr-admin-offset) + 130px) !important;
	}
}

/* v1.7.10: use the measured breadcrumb bottom so every learning path aligns correctly. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		top: var(--snwr-sidebar-top, calc(var(--snwr-admin-offset) + 130px)) !important;
	}
}

/* v1.7.11: measured fixed sidebar geometry for consistent full-height left navigation. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar {
		top: var(--snwr-sidebar-top, calc(var(--snwr-admin-offset) + 130px)) !important;
		right: auto !important;
		bottom: auto !important;
		left: var(--snwr-sidebar-left, 0) !important;
		width: var(--snwr-sidebar-width, 238px) !important;
		height: var(--snwr-sidebar-height, calc(100vh - var(--snwr-admin-offset) - 130px)) !important;
		height: var(--snwr-sidebar-height, calc(100dvh - var(--snwr-admin-offset) - 130px)) !important;
		max-height: var(--snwr-sidebar-height, calc(100vh - var(--snwr-admin-offset) - 130px)) !important;
		max-height: var(--snwr-sidebar-height, calc(100dvh - var(--snwr-admin-offset) - 130px)) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial-toolbar,
	body.admin-bar.snwr-tutorial-single .snwr-tutorial-toolbar {
		left: var(--snwr-fixed-sidebar-width, 238px) !important;
	}
}

/* v1.8.1: compact lesson rows with the marker inline before the lesson name. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons {
		padding: 0 12px 8px 20px !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 0 !important;
		min-height: 26px !important;
		padding: 3px 6px !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a::before {
		display: none !important;
		content: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lesson-title {
		grid-column: 1 !important;
		grid-row: 1 !important;
		align-self: center !important;
	}
}

/* v1.8.2: no lesson marker and tighter left indent. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons {
		padding-left: 20px !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a {
		grid-template-columns: minmax(0, 1fr) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__lessons a::before {
		display: none !important;
		content: none !important;
	}
}

/* v1.8.8: remove sidebar path title and tighten the search control. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-sidebar__header {
		display: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__path {
		display: grid !important;
		grid-template-columns: 24px minmax(0, 1fr) !important;
		align-items: center !important;
		gap: 8px !important;
		margin: 0 !important;
		padding: 12px 12px 8px !important;
		background: #ffffff !important;
		color: #111827 !important;
		font-size: 17px !important;
		font-weight: 900 !important;
		line-height: 1.15 !important;
		text-transform: none !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__path::before {
		display: block !important;
		width: 24px !important;
		height: 24px !important;
		border-radius: 6px !important;
		background-color: #e8f7f0 !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23047857' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cellipse cx='12' cy='5' rx='7' ry='3'/%3E%3Cpath d='M5 5v6c0 1.7 3.1 3 7 3s7-1.3 7-3V5'/%3E%3Cpath d='M5 11v6c0 1.7 3.1 3 7 3s7-1.3 7-3v-6'/%3E%3C/svg%3E") !important;
		background-position: center !important;
		background-repeat: no-repeat !important;
		background-size: 17px 17px !important;
		content: "" !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search {
		margin: 0 !important;
		padding: 0 8px 10px !important;
		border-top: 0 !important;
		background: #ffffff !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search-control {
		grid-template-columns: 16px minmax(0, 1fr) 24px !important;
		gap: 5px !important;
		min-height: 34px !important;
		padding: 0 5px 0 10px !important;
		border-radius: 8px !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__search input {
		min-height: 28px !important;
		font-size: 12px !important;
		line-height: 1.2 !important;
	}

	body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__filter-button {
		width: 24px !important;
		height: 24px !important;
		border-radius: 5px !important;
	}
}

/* v1.8.12: keep the rating toolbar below the full learning header height. */
@media screen and (min-width: 901px) {
	body.snwr-tutorial-single .snwr-tutorial {
		--snwr-toolbar-offset: 72px;
		padding-top: calc(var(--snwr-toolbar-offset) + 48px) !important;
	}

	body.snwr-tutorial-single .snwr-tutorial-toolbar,
	body.admin-bar.snwr-tutorial-single .snwr-tutorial-toolbar {
		position: fixed !important;
		top: calc(var(--snwr-admin-offset) + var(--snwr-toolbar-offset)) !important;
		right: 0 !important;
		left: var(--snwr-fixed-sidebar-width, 238px) !important;
		z-index: 10019 !important;
		margin: 0 !important;
	}
}

/* v1.7.1: main header (logo, search, login/logout) split out from the sub-header (technology, learning paths). */
/* v1.7.3: white main header + light sub-header with a green accent line, matching the updated design reference. */
.snwr-main-header {
	background: #ffffff;
}

/*
 * Approximate fixed positioning before JS refines it in detectToolbarOffset()
 * (snwr-tutorial.js), which reads the sub-header's own resolved
 * --snwr-admin-offset and sets exact inline !important top/z-index values for
 * both rows. Several older stylesheet rules already pin .snwr-tutorial-subheader
 * to `top: var(--snwr-admin-offset)` with !important from when it was the only
 * fixed row; JS is what actually shifts it below this row at every breakpoint.
 */
body.snwr-learn .snwr-main-header,
body.snwr-learning-path .snwr-main-header,
body.snwr-tutorial-single .snwr-main-header,
body.snwr-search-results-page .snwr-main-header {
	position: fixed !important;
	top: var(--snwr-admin-offset) !important;
	right: 0 !important;
	left: 0 !important;
	z-index: 10021 !important;
}

.snwr-main-header__inner {
	display: flex;
	align-items: center;
	gap: 16px;
	width: min(1320px, calc(100% - 40px));
	margin: 0 auto;
	min-height: 58px;
}

.snwr-main-header__search {
	flex: 1 1 auto;
	display: flex;
	justify-content: center;
	max-width: 680px;
	margin: 0 auto;
}

.snwr-main-header__search .snwr-global-search {
	width: 100%;
}

.snwr-main-header__search .snwr-global-search__row {
	width: 100%;
	max-width: 620px;
}

.snwr-main-header__search .snwr-global-search__row:focus-within {
	width: 100%;
	max-width: 680px;
}

.snwr-main-header__technology {
	display: flex;
	align-items: center;
	flex: 0 0 auto;
}

.snwr-main-header__technology .snwr-technology-selector {
	min-width: 150px;
	max-width: 185px;
}

.snwr-main-header__auth {
	flex: 0 0 auto;
	margin-left: auto;
}

@media screen and (max-width: 900px) {
	.snwr-main-header__inner {
		gap: 10px;
		min-height: 52px;
	}

	.snwr-main-header__search {
		flex: 0 0 auto;
		max-width: none;
		margin: 0;
	}

	.snwr-main-header__technology .snwr-technology-selector {
		min-width: 112px;
		max-width: 138px;
		height: 32px;
		font-size: 13px;
	}
}

/* v1.8.0: Global Learning Search component. */
.snwr-global-search {
	position: relative;
}

.snwr-global-search__toggle {
	display: none;
	width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	border: 0;
	border-radius: 8px;
	background: #f3f4f6;
	color: #374151;
	cursor: pointer;
}

.snwr-global-search__row {
	position: relative;
	display: flex;
	align-items: center;
	width: 100%;
	min-height: 42px;
	padding: 0 14px;
	border: 1px solid #d1d5db;
	border-radius: 10px;
	background: #ffffff;
	transition: max-width 0.15s ease, border-color 0.15s ease;
}

.snwr-global-search__row:focus-within {
	border-color: #9ca3af;
}

.snwr-global-search__icon {
	display: inline-flex;
	color: #6b7280;
	flex: 0 0 auto;
}

.snwr-global-search__icon svg {
	width: 20px;
	height: 20px;
}

.snwr-global-search__row input[type="search"] {
	flex: 1 1 auto;
	min-width: 0;
	height: 40px;
	padding: 0 8px;
	border: 0;
	background: transparent;
	color: #172033;
	font-size: 14px;
	outline: none;
}

.snwr-global-search__row input[type="search"]::placeholder {
	color: #6b7280;
}

.snwr-global-search__row input[type="search"]::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

.snwr-global-search__close {
	display: none;
	width: 28px;
	height: 28px;
	border: 0;
	background: transparent;
	color: #64748b;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

.snwr-global-search__panel {
	max-height: min(420px, calc(100vh - 120px));
	overflow-y: auto;
	padding: 6px 0;
	border: 1px solid var(--snwr-border, #d7dde4);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 20px 48px rgba(15, 23, 42, 0.18);
	z-index: 950;
}

.snwr-global-search__group-label {
	margin: 6px 14px 4px;
	color: var(--snwr-muted, #52606d);
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.snwr-global-search__row-item,
.snwr-global-search__view-all {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 9px 14px;
	color: #111827;
	text-decoration: none;
}

.snwr-global-search__row-item:hover,
.snwr-global-search__row-item.snwr-is-active,
.snwr-global-search__view-all:hover,
.snwr-global-search__view-all.snwr-is-active {
	background: var(--snwr-accent-soft, #e8f7f0);
}

.snwr-global-search__row-title {
	font-size: 13px;
	font-weight: 700;
}

.snwr-global-search__row-title mark {
	background: #fde68a;
	color: inherit;
	border-radius: 2px;
}

.snwr-global-search__row-context {
	color: var(--snwr-muted, #52606d);
	font-size: 12px;
}

.snwr-global-search__view-all {
	border-top: 1px solid #e5e7eb;
	color: var(--snwr-accent, #047857);
	font-size: 13px;
	font-weight: 800;
}

.snwr-global-search__empty {
	margin: 0;
	padding: 14px;
	color: var(--snwr-muted, #52606d);
	font-size: 13px;
}

@media screen and (max-width: 900px) {
	.snwr-global-search__toggle {
		display: inline-flex;
	}

	.snwr-global-search__row {
		position: fixed;
		top: var(--snwr-admin-offset, 0px);
		left: 0;
		right: 0;
		width: auto;
		z-index: 960;
		display: none;
		border-radius: 0;
		padding: 10px 14px;
		box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14);
	}

	.snwr-global-search__row input[type="search"] {
		height: 40px;
		font-size: 14px;
	}

	.snwr-global-search__close {
		display: inline-flex;
		align-items: center;
		justify-content: center;
	}

	.snwr-global-search.snwr-is-open .snwr-global-search__row {
		display: flex;
	}
}

/* v1.8.0: Global Learning Search - results page. */
.snwr-search-results {
	width: min(920px, calc(100% - 40px));
	margin: 0 auto;
	padding: 34px 0 72px;
	color: var(--snwr-text, #1f2933);
}

.snwr-search-results__title {
	margin: 0 0 6px;
	font-size: 28px;
	line-height: 1.25;
}

.snwr-search-results__title span {
	color: var(--snwr-accent, #047857);
}

.snwr-search-results__hint {
	color: var(--snwr-muted, #52606d);
}

.snwr-search-results__toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 18px 0 6px;
}

.snwr-search-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.snwr-search-tabs__tab {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 7px 13px;
	border: 1px solid var(--snwr-border, #d7dde4);
	border-radius: 999px;
	color: var(--snwr-text, #1f2933);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.snwr-search-tabs__tab span {
	color: var(--snwr-muted, #52606d);
	font-weight: 700;
}

.snwr-search-tabs__tab.snwr-is-active {
	border-color: var(--snwr-accent, #047857);
	background: var(--snwr-accent, #047857);
	color: #ffffff;
}

.snwr-search-tabs__tab.snwr-is-active span {
	color: #d1fae5;
}

.snwr-search-results__count {
	margin: 12px 0 18px;
	color: var(--snwr-muted, #52606d);
	font-size: 13px;
}

.snwr-search-results__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.snwr-search-result {
	display: block;
	padding: 16px 18px;
	border: 1px solid var(--snwr-border, #d7dde4);
	border-radius: 10px;
	background: #ffffff;
	color: inherit;
	text-decoration: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.snwr-search-result:hover,
.snwr-search-result:focus-visible {
	border-color: var(--snwr-accent, #047857);
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.08);
}

.snwr-search-result:hover h2,
.snwr-search-result:focus-visible h2 {
	color: var(--snwr-accent, #047857);
}

.snwr-search-result__type {
	display: inline-block;
	margin-bottom: 6px;
	padding: 2px 9px;
	border-radius: 999px;
	background: var(--snwr-accent-soft, #e8f7f0);
	color: var(--snwr-accent, #047857);
	font-size: 11px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.snwr-search-result h2 {
	margin: 0 0 4px;
	color: #111827;
	font-size: 18px;
	line-height: 1.3;
	transition: color 0.15s ease;
}

.snwr-search-result__context {
	margin: 0 0 8px;
	color: var(--snwr-accent, #047857);
	font-size: 12px;
	font-weight: 700;
}

.snwr-search-result__excerpt {
	margin: 0;
	color: var(--snwr-muted, #52606d);
	font-size: 14px;
	line-height: 1.55;
}

.snwr-search-result__footer {
	display: flex;
	gap: 10px;
	margin-top: 10px;
}

.snwr-search-result__difficulty,
.snwr-search-result__lessons {
	padding: 3px 9px;
	border-radius: 999px;
	background: var(--snwr-panel, #f7f9fb);
	color: var(--snwr-muted, #52606d);
	font-size: 11px;
	font-weight: 700;
}

.snwr-search-empty {
	padding: 26px 22px;
	border: 1px dashed var(--snwr-border, #d7dde4);
	border-radius: 10px;
	color: var(--snwr-muted, #52606d);
}

.snwr-search-empty__title {
	margin: 0 0 8px;
	color: var(--snwr-text, #1f2933);
	font-size: 16px;
	font-weight: 800;
}

.snwr-search-empty ul {
	margin: 6px 0 0;
	padding-left: 20px;
}

.snwr-search-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
	margin-top: 28px;
	font-size: 13px;
}

.snwr-search-pagination a {
	padding: 8px 16px;
	border: 1px solid var(--snwr-border, #d7dde4);
	border-radius: 6px;
	color: var(--snwr-text, #1f2933);
	font-weight: 700;
	text-decoration: none;
}

.snwr-search-pagination span {
	color: var(--snwr-muted, #52606d);
}

@media screen and (max-width: 640px) {
	.snwr-search-results__toolbar {
		flex-direction: column;
		align-items: flex-start;
	}
}

/*
 * v1.7.3: header/sub-header design refresh (white main header, light
 * sub-header with a green accent line, plain-text tabs with an active
 * underline). These specific selectors already carry `!important` and
 * accumulated duplicate declarations from many prior versions (see the
 * PROJECT_CONTEXT.md note on the 1.7.2 fixed-header fix for the same
 * pattern), so overrides here match or exceed the existing specificity
 * and use `!important` where the property being replaced is `!important`
 * upstream, rather than editing every historical rule in place.
 */
.snwr-main-header .snwr-tutorial-subheader__brand {
	min-width: 0 !important;
	min-height: 0 !important;
	padding: 0 !important;
	margin-right: 0 !important;
	background: transparent !important;
	border-right: 0 !important;
}

.snwr-main-header .snwr-learning-logo--subheader {
	width: auto !important;
	height: 40px !important;
	max-width: 220px !important;
	max-height: 44px !important;
}

@media screen and (max-width: 900px) {
	.snwr-main-header .snwr-learning-logo--subheader {
		height: 30px !important;
		max-height: 32px !important;
	}
}

.snwr-tutorial-subheader__menu a {
	color: #1f2937 !important;
	padding-left: 10px;
	padding-right: 10px;
}

.snwr-tutorial-subheader__menu a:hover,
.snwr-tutorial-subheader__menu a:focus-visible {
	background: transparent !important;
	color: #047857 !important;
	box-shadow: none !important;
}

.snwr-tutorial-subheader__menu .current-menu-item > a {
	background: transparent !important;
	color: #047857 !important;
	box-shadow: none !important;
}

/* Per-item pill redesign of the Technology/Learning-Path menu, per an
   explicit design reference - flat/edge-to-edge (no floating white card,
   no shadow, no rounded container ends: reverted after a follow-up
   reference showed the container flush with the bar, only the active/
   hover items themselves as individual pills). The left/right scroll
   arrows added alongside this menu are deliberately left untouched. */
.snwr-tutorial-subheader__menu li {
	position: relative;
}

.snwr-tutorial-subheader__menu li + li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 22%;
	bottom: 22%;
	width: 1px;
	background: #e5e7eb;
}

.snwr-tutorial-subheader__menu li.current-menu-item::before,
.snwr-tutorial-subheader__menu li.current-menu-item + li::before {
	display: none;
}

.snwr-tutorial-subheader__menu a {
	padding: 10px 20px !important;
	font-size: 13px !important;
}

.snwr-tutorial-subheader__menu .current-menu-item > a {
	background: #e8f7f0 !important;
	border-radius: 999px !important;
	position: relative;
}

.snwr-tutorial-subheader__menu .current-menu-item > a::after {
	content: "";
	position: absolute;
	left: 24px;
	right: 24px;
	bottom: 8px;
	height: 2px;
	border-radius: 2px;
	background: #04aa6d;
}

/* Non-active items get their own neutral gray pill on hover/focus, distinct
   from the green active pill above - scoped with :not(.current-menu-item)
   (raising specificity past the active-item rule structurally, rather than
   relying on source order) so hovering the already-active item never
   overrides its green treatment. */
.snwr-tutorial-subheader__menu li:not(.current-menu-item) > a:hover,
.snwr-tutorial-subheader__menu li:not(.current-menu-item) > a:focus-visible {
	background: #f1f3f4 !important;
	color: #1f2937 !important;
	border-radius: 999px !important;
}

.snwr-tutorial-subheader__menu li:hover::before,
.snwr-tutorial-subheader__menu li:focus-within::before,
.snwr-tutorial-subheader__menu li:hover + li::before,
.snwr-tutorial-subheader__menu li:focus-within + li::before {
	display: none;
}

/* ---------- Learner Progress: sidebar lesson status badge ----------
 * NOT built on the row's ::before icon column: a real, pre-existing
 * desktop-width rule ("v1.8.2: no lesson marker", >=901px, near the end of
 * this file) deliberately sets `display: none !important; content: none
 * !important;` on that ::before and collapses the grid to a single column -
 * confirmed live. Since that rule is the last one matching at desktop
 * width, any ::before-based marker (this feature's first attempt included)
 * is silently defeated there regardless of specificity/!important. A badge
 * placed inside .snwr-tutorial-nav__lesson-title's own text flow instead
 * can't be affected by that column's removal at all - a real child <span>,
 * not a pseudo-element, so it also isn't touched by that ::before-only kill
 * rule.
 *
 * Every lesson gets this badge (not just completed ones, and not
 * conditionally hidden for the current lesson) - completion is an
 * independent fact from "is this the lesson I'm currently reading," so a
 * learner re-reading an already-completed lesson still sees it checked. */
.snwr-tutorial-nav__lesson-status {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 15px;
	height: 15px;
	margin-right: 7px;
	border: 1.5px solid #cbd5e1;
	border-radius: 50%;
	background: #ffffff;
	vertical-align: -3px;
}

.snwr-tutorial-nav__lesson-status--complete {
	border-color: #047857;
	background: #047857;
}

.snwr-tutorial-nav__lesson-status--complete svg {
	width: 9px;
	height: 9px;
	color: #ffffff;
}

/* ---------- Learner Progress: lesson meta row (reading time / bookmark /
 * mark complete) - positioned right under the lesson title, per the
 * mockup: compact icon+label items in one row, separated by thin
 * dividers, no button pills. Moved here from the bottom of the lesson
 * content (where it lived from 1.14.0-1.16.0) to match that mockup. */

.snwr-lesson-meta-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 0;
	border-radius: 12px;
	background: #ffffff;
}

.snwr-lesson-meta-row__item {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	border: 0;
	background: transparent;
	padding: 0;
	color: var(--snwr-muted, #52606d);
	font-size: 13px;
	font-weight: 600;
}

.snwr-lesson-meta-row__item--action {
	cursor: pointer;
	color: var(--snwr-muted, #52606d);
}

.snwr-lesson-meta-row__item--action:hover,
.snwr-lesson-meta-row__item--action:focus-visible {
	color: var(--snwr-accent, #047857);
}

.snwr-lesson-meta-row__item--action:disabled {
	opacity: 0.6;
	cursor: default;
}

.snwr-lesson-meta-row__label {
	color: var(--snwr-text, #1f2933);
}

.snwr-lesson-meta-row__icon {
	flex: none;
	color: var(--snwr-accent, #047857);
}

/* Round color-badge behind the read-time and mark-complete icons - a real
 * padded circle element (not just the SVG's own stroke), matching the
 * mockup's icon-in-a-circle treatment. Bookmark stays a bare icon per that
 * same mockup, so it has no badge wrapper. */
.snwr-lesson-meta-row__icon-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 26px;
	height: 26px;
	border-radius: 50%;
}

.snwr-lesson-meta-row__icon-badge .snwr-lesson-meta-row__icon {
	width: 13px;
	height: 13px;
}

.snwr-lesson-meta-row__icon-badge--soft {
	background: var(--snwr-accent-soft, #e8f7f0);
	color: var(--snwr-accent, #047857);
}

.snwr-lesson-meta-row__icon-badge--check {
	background: var(--snwr-border, #e2e8f0);
	color: #94a3b8;
}

.snwr-lesson-meta-row__icon--bookmark {
	width: 16px;
	height: 16px;
	color: var(--snwr-muted, #94a3b8);
}

.snwr-lesson-meta-row__divider {
	width: 1px;
	height: 16px;
	background: var(--snwr-border, #d7dde4);
}

.snwr-lesson-meta-row__item--bookmark.snwr-is-bookmarked {
	color: var(--snwr-accent, #047857);
}

.snwr-lesson-meta-row__item--bookmark.snwr-is-bookmarked .snwr-lesson-meta-row__icon--bookmark {
	fill: var(--snwr-accent, #047857);
	color: var(--snwr-accent, #047857);
}

.snwr-lesson-meta-row.snwr-is-completed [data-snwr-progress-toggle] {
	color: var(--snwr-accent, #047857);
}

/* Solid filled green circle with a white checkmark once complete - same
 * treatment as the completed-lesson badge in the sidebar nav
 * (.snwr-tutorial-nav__lessons a[aria-current="page"]::before), rather than
 * just recoloring the outline stroke. */
.snwr-lesson-meta-row.snwr-is-completed [data-snwr-progress-toggle] .snwr-lesson-meta-row__icon-badge--check {
	background: var(--snwr-accent, #047857);
	color: #ffffff;
}

/* .snwr-lesson-meta-row__icon's own color rule otherwise wins over the
 * badge's inherited white (equal specificity, closer to the element) and
 * the checkmark disappears - green stroke on the now-green badge fill. */
.snwr-lesson-meta-row.snwr-is-completed [data-snwr-progress-toggle] .snwr-lesson-meta-row__icon-badge--check .snwr-lesson-meta-row__icon {
	color: #ffffff;
}


.snwr-lesson-progress__error {
	margin: 8px 0 0;
	color: #b91c1c;
	font-size: 13px;
	flex-basis: 100%;
}

/* Bookmark confirmation toast - created once by showBookmarkToast() in
 * snwr-tutorial.js and reused for every bookmark button on the page. */
.snwr-bookmark-toast {
	position: fixed;
	left: 50%;
	bottom: 28px;
	z-index: 10060;
	transform: translate(-50%, 12px);
	padding: 10px 20px;
	border-radius: 999px;
	background: #0f172a;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	box-shadow: 0 14px 34px rgba(15, 23, 42, 0.28);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.snwr-bookmark-toast.snwr-is-visible {
	transform: translate(-50%, 0);
	opacity: 1;
}

/* Chapter accordion header (e.g. "ServiceNow Overview") must stay on one
   line - the count badge and toggle chevron next to it are fixed-width,
   so the title is the column that has to give when space is tight. */
.snwr-tutorial-nav__chapter-title,
body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-title {
	min-width: 0 !important;
	overflow: hidden !important;
	white-space: nowrap !important;
	text-overflow: ellipsis !important;
}

/* Trim the fixed-width columns next to the title (count badge, chevron,
   the summary row's own gap/padding) so a bit more width is left over
   for the title text before it has to truncate. */
.snwr-tutorial-nav__chapter summary,
body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter summary {
	gap: 3px !important;
	padding-left: 8px !important;
	padding-right: 6px !important;
}

.snwr-tutorial-nav__chapter-count,
body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-count {
	padding: 2px 5px !important;
}

.snwr-tutorial-nav__chapter-toggle,
body.snwr-tutorial-single .snwr-tutorial.snwr-tutorial .snwr-tutorial-nav__chapter-toggle {
	font-size: 11px !important;
}

/* Learn page learning path card (replaces the .snwr-module-card markup). */
.snwr-learn .snwr-path-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 21px;
	border: 1px solid var(--snwr-learn-line, #dbe3ec);
	border-radius: 12px;
	background: #fff;
	box-shadow: 0 3px 10px rgba(15, 23, 42, 0.05);
	color: var(--snwr-learn-ink, #101827);
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.snwr-learn .snwr-path-card:hover {
	box-shadow: 0 8px 21px rgba(15, 23, 42, 0.09);
	transform: translateY(-2px);
}

.snwr-learn .snwr-path-card__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 9px;
	margin-bottom: 16px;
}

.snwr-learn .snwr-path-card__icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 12px;
	background: var(--snwr-learn-soft, #eaf8f1);
	color: var(--snwr-learn-green, #008060);
}

.snwr-learn .snwr-path-card__icon svg {
	width: 26px;
	height: 26px;
}

.snwr-learn .snwr-path-card__badge {
	display: inline-flex;
	align-items: center;
	padding: 5px 9px;
	border-radius: 6px;
	background: var(--snwr-learn-soft, #eaf8f1);
	color: var(--snwr-learn-green-dark, #00684e);
	font-size: 9px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
}

.snwr-learn .snwr-path-card__rating {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1px;
	white-space: nowrap;
}

.snwr-learn .snwr-path-card__rating-score {
	display: flex;
	align-items: center;
	gap: 5px;
}

.snwr-learn .snwr-path-card__rating strong {
	color: var(--snwr-learn-ink, #101827);
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
}

.snwr-learn .snwr-path-card__stars {
	color: #f59e0b;
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0.02em;
}

.snwr-learn .snwr-path-card__rating small {
	color: var(--snwr-learn-muted, #4f6176);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
}

.snwr-learn .snwr-path-card__eyebrow {
	margin: 0 0 5px;
	color: var(--snwr-learn-green, #008060);
	font-size: 9px;
	font-weight: 800;
	line-height: 1.4;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.snwr-learn .snwr-path-card__title {
	margin: 0 0 8px;
	font-size: 21px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.01em;
}

.snwr-learn .snwr-path-card__title a {
	color: var(--snwr-learn-ink, #101827);
	text-decoration: none;
}

.snwr-learn .snwr-path-card__title a:hover {
	color: var(--snwr-learn-green, #008060);
}

.snwr-learn .snwr-path-card__description {
	flex: 1 1 auto;
	margin: 0 0 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--snwr-learn-line, #dbe3ec);
	color: var(--snwr-learn-muted, #4f6176);
	font-size: 12px;
	line-height: 1.55;
}

.snwr-learn .snwr-path-card__meta {
	display: flex;
	align-items: center;
	gap: 11px;
	margin-bottom: 15px;
}

.snwr-learn .snwr-path-card__meta-icon {
	display: grid;
	flex: 0 0 auto;
	place-items: center;
	width: 33px;
	height: 33px;
	border-radius: 50%;
	background: var(--snwr-learn-soft, #eaf8f1);
	color: var(--snwr-learn-green, #008060);
}

.snwr-learn .snwr-path-card__meta-icon svg {
	width: 18px;
	height: 18px;
}

.snwr-learn .snwr-path-card__meta strong {
	display: block;
	color: var(--snwr-learn-ink, #101827);
	font-size: 13px;
	font-weight: 800;
	line-height: 1.3;
}

.snwr-learn .snwr-path-card__meta small {
	display: block;
	color: var(--snwr-learn-muted, #4f6176);
	font-size: 10px;
	line-height: 1.4;
}

.snwr-learn .snwr-path-card__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 36px;
	padding: 9px 14px;
	border-radius: 8px;
	background: var(--snwr-learn-green, #008060);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease;
}

.snwr-learn .snwr-path-card__cta:hover,
.snwr-learn .snwr-path-card__cta:focus-visible {
	background: var(--snwr-learn-green-dark, #00684e);
	color: #fff;
}

.snwr-learn .snwr-path-card__cta svg {
	width: 15px;
	height: 15px;
	transition: transform 0.2s ease;
}

.snwr-learn .snwr-path-card__cta:hover svg {
	transform: translateX(3px);
}

.snwr-learn .snwr-path-card__note {
	margin: 8px 0 0;
	color: var(--snwr-learn-muted, #4f6176);
	font-size: 9px;
	line-height: 1.4;
	letter-spacing: 0.02em;
	text-align: center;
}

@media (max-width: 640px) {
	.snwr-learn .snwr-path-card {
		padding: 17px 15px;
	}

	.snwr-learn .snwr-path-card__icon {
		width: 42px;
		height: 42px;
	}

	.snwr-learn .snwr-path-card__title {
		font-size: 18px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.snwr-learn .snwr-path-card,
	.snwr-learn .snwr-path-card__cta svg {
		transition: none;
	}

	.snwr-learn .snwr-path-card:hover,
	.snwr-learn .snwr-path-card__cta:hover svg {
		transform: none;
	}
}

/* Assessments catalog (/assessments/) - cards reuse .snwr-path-card above. */
.snwr-assessments .snwr-assessments__hero {
	padding: 32px 0 8px;
}

.snwr-assessments .snwr-assessments__title {
	margin: 0 0 8px;
	color: var(--snwr-learn-ink, #101827);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
}

.snwr-assessments .snwr-assessments__lead {
	max-width: 720px;
	margin: 0;
	color: var(--snwr-learn-muted, #4f6176);
	font-size: 15px;
	line-height: 1.6;
}

.snwr-assessments .snwr-assessments__notice {
	display: inline-block;
	margin: 14px 0 0;
	padding: 8px 12px;
	border-radius: 8px;
	background: var(--snwr-learn-soft, #eaf8f1);
	color: var(--snwr-learn-green-dark, #00684e);
	font-size: 13px;
	font-weight: 600;
}

.snwr-assessments .snwr-assessments__group + .snwr-assessments__group {
	margin-top: 32px;
}

@media (max-width: 640px) {
	.snwr-assessments .snwr-assessments__hero {
		padding-top: 20px;
	}

	.snwr-assessments .snwr-assessments__title {
		font-size: 24px;
	}
}

/* Learn page "Explore your learning" header: tabs + on-page search, and
   the count shown beside each section heading. */
.snwr-learn .snwr-learn-explore {
	padding-top: 32px;
}

.snwr-learn .snwr-learn-explore__title {
	margin: 0 0 4px;
	color: var(--snwr-learn-ink, #101827);
	font-size: 30px;
	font-weight: 800;
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.snwr-learn .snwr-learn-explore__lead {
	margin: 0;
	color: var(--snwr-learn-muted, #4f6176);
	font-size: 14px;
	line-height: 1.5;
}

.snwr-learn .snwr-learn-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin-top: 18px;
	border-bottom: 1px solid var(--snwr-learn-line, #dbe3ec);
}

.snwr-learn .snwr-learn-filter[hidden],
.snwr-learn [data-snwr-learn-section][hidden],
.snwr-learn .snwr-module-grid > [hidden],
.snwr-learn [data-snwr-learn-no-match][hidden] {
	display: none !important;
}

.snwr-learn .snwr-learn-filter__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 20px;
}

.snwr-learn .snwr-learn-filter__button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0 0 -1px;
	padding: 10px 2px 12px;
	border: 0;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	background: none;
	color: var(--snwr-learn-ink, #101827);
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	transition: color 0.2s ease, border-color 0.2s ease;
}

.snwr-learn .snwr-learn-filter__button:hover {
	color: var(--snwr-learn-green, #008060);
}

.snwr-learn .snwr-learn-filter__button:focus-visible {
	outline: 2px solid var(--snwr-learn-green, #008060);
	outline-offset: 2px;
}

.snwr-learn .snwr-learn-filter__button[aria-pressed="true"] {
	border-bottom-color: var(--snwr-learn-green, #008060);
	color: var(--snwr-learn-green, #008060);
	font-weight: 700;
}

.snwr-learn .snwr-learn-filter__count {
	min-width: 22px;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--snwr-learn-soft, #eaf8f1);
	color: var(--snwr-learn-green-dark, #00684e);
	font-size: 11px;
	font-weight: 700;
	text-align: center;
}

.snwr-learn .snwr-learn-filter__search {
	display: flex;
	align-items: center;
	gap: 8px;
	width: min(100%, 250px);
	margin: 0 0 10px;
	padding: 0 12px;
	border: 1px solid var(--snwr-learn-line, #dbe3ec);
	border-radius: 8px;
	background: #fff;
	color: var(--snwr-learn-muted, #4f6176);
}

.snwr-learn .snwr-learn-filter__search:focus-within {
	border-color: var(--snwr-learn-green, #008060);
	box-shadow: 0 0 0 3px rgba(0, 128, 96, 0.12);
}

.snwr-learn .snwr-learn-filter__search input {
	flex: 1 1 auto;
	min-width: 0;
	height: 36px;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: var(--snwr-learn-ink, #101827);
	font: inherit;
	font-size: 13px;
	outline: none;
}

.snwr-learn .screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.snwr-learn .snwr-learn-section-header {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
}

.snwr-learn .snwr-learn-section-header h2 {
	font-size: 22px;
	font-weight: 800;
	letter-spacing: -0.01em;
}

.snwr-learn .snwr-learn-section-header__aside {
	display: inline-flex;
	align-items: baseline;
	gap: 14px;
}

.snwr-learn .snwr-learn-section-header__count {
	color: var(--snwr-learn-muted, #4f6176);
	font-size: 12px;
}

.snwr-learn .snwr-learn__assessments-all {
	color: var(--snwr-learn-green, #008060);
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
}

.snwr-learn .snwr-learn__assessments-all:hover,
.snwr-learn .snwr-learn__assessments-all:focus-visible {
	text-decoration: underline;
}

@media (max-width: 640px) {
	.snwr-learn .snwr-learn-explore__title {
		font-size: 24px;
	}

	.snwr-learn .snwr-learn-filter {
		flex-direction: column-reverse;
		align-items: stretch;
	}

	.snwr-learn .snwr-learn-filter__search {
		width: 100%;
		margin: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.snwr-learn .snwr-learn-filter__button {
		transition: none;
	}
}

/* Assessment card (Learn page Assessments section + /assessments/). */
.snwr-learn.snwr-learn .snwr-module-grid.snwr-module-grid--assessments {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 14px !important;
}

@media (max-width: 640px) {
	.snwr-learn.snwr-learn .snwr-module-grid.snwr-module-grid--assessments {
		grid-template-columns: 1fr !important;
	}
}

.snwr-learn .snwr-assessment-tile {
	--snwr-assess-accent: #3730a3;
	--snwr-assess-accent-dark: #2e2785;
	--snwr-assess-soft: #ebeafd;
	--snwr-assess-panel: #f6f7fb;
	--snwr-assess-line: #eceef4;
	--snwr-assess-track: #e3e6ee;
	--snwr-assess-ink: #0f172a;
	--snwr-assess-text: #374151;
	--snwr-assess-muted: #5b6475;
	container-type: inline-size;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 16px 18px;
	border: 1px solid var(--snwr-assess-line);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 5px 17px rgba(15, 23, 42, 0.06);
	color: var(--snwr-assess-ink);
	font-family: "Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
}

.snwr-learn .snwr-assessment-tile:hover {
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.09);
	transform: translateY(-2px);
}

.snwr-learn .snwr-assessment-tile__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 10px;
}

.snwr-learn .snwr-assessment-tile__label {
	min-width: 0;
	overflow: hidden;
	padding: 2px 7px;
	border-radius: 999px;
	background: var(--snwr-assess-soft);
	color: var(--snwr-assess-accent);
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 9.5px;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.4;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.snwr-learn .snwr-assessment-tile__status {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 5px;
	padding: 3px 8px;
	border: 1px solid var(--snwr-assess-line);
	border-radius: 999px;
	background: #f1f2f7;
	color: var(--snwr-assess-text);
	font-size: 10.5px;
	font-weight: 600;
	line-height: 1.3;
	white-space: nowrap;
}

.snwr-learn .snwr-assessment-tile__status::before {
	content: "";
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: #9aa3b5;
}

.snwr-learn .snwr-assessment-tile__status--passed {
	border-color: #c9ecdc;
	background: #ecfaf3;
	color: #00684e;
}

.snwr-learn .snwr-assessment-tile__status--passed::before {
	background: #10b981;
}

.snwr-learn .snwr-assessment-tile__status--retry {
	border-color: #f6e2bb;
	background: #fff8eb;
	color: #92580b;
}

.snwr-learn .snwr-assessment-tile__status--retry::before {
	background: #f59e0b;
}

.snwr-learn .snwr-assessment-tile__status--locked {
	border-color: #f5cfcf;
	background: #fdf1f1;
	color: #9b1c1c;
}

.snwr-learn .snwr-assessment-tile__status--locked::before {
	background: #ef4444;
}

.snwr-learn .snwr-assessment-tile__head {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 11px;
	margin-bottom: 14px;
}

.snwr-learn .snwr-assessment-tile__icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 8px;
	background: var(--snwr-assess-accent);
	color: #fff;
}

.snwr-learn .snwr-assessment-tile__icon svg {
	width: 17px;
	height: 17px;
}

.snwr-learn .snwr-assessment-tile__heading {
	min-width: 0;
}

.snwr-learn .snwr-assessment-tile__title {
	margin: 0;
	font-family: inherit;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: -0.015em;
}

.snwr-learn .snwr-assessment-tile__title a {
	color: var(--snwr-assess-ink);
	text-decoration: none;
}

.snwr-learn .snwr-assessment-tile__title a:hover {
	color: var(--snwr-assess-accent);
}

.snwr-learn .snwr-assessment-tile__description {
	margin: 2px 0 0;
	color: var(--snwr-assess-muted);
	font-size: 12px;
	font-weight: 500;
	line-height: 1.45;
}

.snwr-learn .snwr-assessment-tile__stats {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	align-items: stretch;
	gap: 7px;
	margin: 0 0 14px;
}

.snwr-learn .snwr-assessment-tile__stat {
	min-width: 0;
	padding: 9px 10px 10px;
	border: 1px solid var(--snwr-assess-line);
	border-radius: 7px;
	background: var(--snwr-assess-panel);
}

.snwr-learn .snwr-assessment-tile__stat dt {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0 0 6px;
	color: var(--snwr-assess-text);
	font-size: 10.5px;
	font-weight: 500;
	line-height: 1.3;
}

.snwr-learn .snwr-assessment-tile__stat dt svg {
	flex: 0 0 auto;
	width: 11px;
	height: 11px;
}

.snwr-learn .snwr-assessment-tile__stat dd {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
}

.snwr-learn .snwr-assessment-tile__value {
	color: var(--snwr-assess-ink);
	font-size: 18px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.02em;
}

.snwr-learn .snwr-assessment-tile__value small {
	color: var(--snwr-assess-text);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0;
}

.snwr-learn .snwr-assessment-tile__value--text {
	font-size: 14px;
	line-height: 18px;
}

.snwr-learn .snwr-assessment-tile__sub {
	color: var(--snwr-assess-muted);
	font-size: 10px;
	font-weight: 500;
	line-height: 1.35;
}

.snwr-learn .snwr-assessment-tile__bar {
	display: block;
	height: 4px;
	overflow: hidden;
	border-radius: 999px;
	background: var(--snwr-assess-track);
}

.snwr-learn .snwr-assessment-tile__bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--snwr-assess-accent);
}

.snwr-learn .snwr-assessment-tile__attempts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 5px 7px;
}

.snwr-learn .snwr-assessment-tile__segments {
	display: inline-flex;
	gap: 4px;
}

.snwr-learn .snwr-assessment-tile__segments > span {
	width: 12px;
	height: 4px;
	border-radius: 999px;
	background: var(--snwr-assess-track);
}

.snwr-learn .snwr-assessment-tile__segments > span.is-filled {
	background: var(--snwr-assess-accent);
}

.snwr-learn .snwr-assessment-tile__footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--snwr-assess-line);
}

.snwr-learn .snwr-assessment-tile__note {
	margin: 0;
	color: var(--snwr-assess-muted);
	font-size: 11px;
	font-weight: 500;
	line-height: 1.45;
}

.snwr-learn .snwr-assessment-tile.snwr-is-passed .snwr-assessment-tile__note {
	color: #00684e;
	font-weight: 600;
}

.snwr-learn .snwr-assessment-tile__cta {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	gap: 7px;
	min-height: 30px;
	padding: 6px 13px;
	border-radius: 7px;
	background: var(--snwr-assess-accent);
	box-shadow: 0 4px 10px rgba(55, 48, 163, 0.26);
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.snwr-learn .snwr-assessment-tile__cta:hover,
.snwr-learn .snwr-assessment-tile__cta:focus-visible {
	background: var(--snwr-assess-accent-dark);
	box-shadow: 0 5px 13px rgba(55, 48, 163, 0.32);
	color: #fff;
}

.snwr-learn .snwr-assessment-tile__cta:focus-visible {
	outline: 2px solid var(--snwr-assess-accent);
	outline-offset: 2px;
}

.snwr-learn .snwr-assessment-tile__cta svg {
	width: 13px;
	height: 13px;
	transition: transform 0.2s ease;
}

.snwr-learn .snwr-assessment-tile__cta:hover svg {
	transform: translateX(2px);
}

/* Very narrow cards: stack the footer (the status pill stays top-right). */
@container (max-width: 300px) {
	.snwr-learn .snwr-assessment-tile__footer {
		flex-direction: column;
		align-items: stretch;
		gap: 10px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.snwr-learn .snwr-assessment-tile,
	.snwr-learn .snwr-assessment-tile__cta,
	.snwr-learn .snwr-assessment-tile__cta svg {
		transition: none;
	}

	.snwr-learn .snwr-assessment-tile:hover,
	.snwr-learn .snwr-assessment-tile__cta:hover svg {
		transform: none;
	}
}
