.kssr-writing,
.kssr-platform,
.kssr-bank-admin {
	--kssr-parchment: #fffefb;
	--kssr-paper: #ffffff;
	--kssr-paper-warm: #faf8f3;
	--kssr-umber: #4d2026;
	--kssr-umber-soft: #632c34;
	--kssr-cocoa: #632c34;
	--kssr-rosewood: #6b4147;
	--kssr-indigo: #594255;
	--kssr-dusty-plum: #7e5666;
	--kssr-magenta: #a86f5d;
	--kssr-bokeh-one-core: rgba(255, 249, 218, .34);
	--kssr-bokeh-one-halo: rgba(255, 241, 198, .13);
	--kssr-bokeh-two-core: rgba(255, 225, 190, .24);
	--kssr-bokeh-two-halo: rgba(255, 241, 215, .08);
	--kssr-beam-soft: rgba(255, 248, 211, .04);
	--kssr-beam-bright: rgba(255, 251, 224, .18);
	--kssr-ink: #352a2b;
	--kssr-muted: #78645b;
	--kssr-sand: #e8ddcf;
	--kssr-cream: #fff4d6;
	--kssr-yellow: #fff2a6;
	--kssr-line: #dfd7cf;
	--kssr-shadow: 0 10px 28px -8px rgba(64, 41, 31, .14);
	color: var(--kssr-ink);
	font-family: Inter, Arial, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

html[data-kssr-shell-theme="winter-sky"] .kssr-writing,
html[data-kssr-shell-theme="winter-sky"] .kssr-platform {
	--kssr-umber: #385a78;
	--kssr-umber-soft: #4f7398;
	--kssr-cocoa: #4f7398;
	--kssr-rosewood: #5f70a5;
	--kssr-indigo: #7888b3;
	--kssr-dusty-plum: #94aac6;
	--kssr-magenta: #b0cfd1;
	--kssr-bokeh-one-core: rgba(244, 251, 255, .36);
	--kssr-bokeh-one-halo: rgba(218, 238, 250, .14);
	--kssr-bokeh-two-core: rgba(226, 238, 255, .25);
	--kssr-bokeh-two-halo: rgba(235, 250, 252, .09);
	--kssr-beam-soft: rgba(235, 247, 255, .05);
	--kssr-beam-bright: rgba(240, 253, 255, .2);
}

.kssr-writing {
	max-width: 1440px;
	container-type: inline-size;
	border: 0;
	background: var(--kssr-parchment);
	box-shadow: 0 24px 70px rgba(64, 41, 31, .16);
}

.kssr-writing__header,
.kssr-platform__topbar,
.kssr-bank-admin__topbar {
	min-height: 84px;
	color: var(--kssr-cream);
	background:
		radial-gradient(circle at 59% 22%, var(--kssr-bokeh-one-core) 0 9px, var(--kssr-bokeh-one-halo) 10px 24px, transparent 42px),
		radial-gradient(circle at 71% 78%, var(--kssr-bokeh-two-core) 0 15px, var(--kssr-bokeh-two-halo) 16px 30px, transparent 46px),
		linear-gradient(116deg, transparent 43%, var(--kssr-beam-soft) 51%, var(--kssr-beam-bright) 60%, transparent 72%),
		linear-gradient(108deg, var(--kssr-umber) 0%, var(--kssr-cocoa) 18%, var(--kssr-rosewood) 37%, var(--kssr-indigo) 57%, var(--kssr-dusty-plum) 78%, var(--kssr-magenta) 100%);
}

.kssr-writing__header {
	display: grid;
	grid-template-columns: minmax(180px, 1fr) auto minmax(180px, 1fr);
	align-items: center;
	gap: 24px;
	padding: 18px 48px;
}

.kssr-writing__brand {
	display: flex;
	align-items: center;
	gap: 14px;
}

.kssr-writing__brand-name {
	color: var(--kssr-cream);
	font-size: 1.05rem;
	font-weight: 800;
	letter-spacing: .02em;
}

.kssr-writing__header-title {
	min-width: 0;
	text-align: center;
}

.kssr-writing__header-title strong {
	display: block;
	color: #f8ecdd;
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.015em;
}

.kssr-writing__header-title small {
	display: block;
	margin-top: 3px;
	color: rgba(248, 236, 221, .78);
	font-size: .76rem;
}

.kssr-writing .kssr-timer {
	display: flex;
	align-items: center;
	justify-self: end;
	gap: 12px;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.kssr-writing .kssr-timer > span {
	margin: 0;
	color: var(--kssr-yellow);
	font-size: .94rem;
}

.kssr-writing__notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 72px;
	margin: 28px 48px 0;
	padding: 16px 20px;
	border-radius: 14px;
	color: var(--kssr-umber-soft);
	background: var(--kssr-sand);
	font-size: .86rem;
	font-weight: 700;
}

.kssr-writing__notice span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.kssr-writing__notice span + span::before {
	content: "•";
	margin-right: 8px;
}

.kssr-writing .kssr-access {
	margin: 18px 48px 0;
	border-color: #d5c8bc;
	background: rgba(255, 253, 248, .82);
	box-shadow: 0 8px 22px -12px rgba(64, 41, 31, .18);
}

.kssr-writing__workspace {
	display: block;
	min-height: 0;
	padding: 18px 48px 36px;
	overflow: visible;
	background: var(--kssr-parchment);
}

.kssr-writing__form {
	display: grid;
	grid-template-columns: minmax(340px, 520px) minmax(0, 1fr);
	gap: 22px;
	padding: 0;
	border: 0;
	background: transparent;
}

.kssr-writing__prompt-panel,
.kssr-writing__response-panel,
.kssr-writing .kssr-results {
	min-width: 0;
	border: 0;
	border-radius: 20px;
	background: var(--kssr-paper);
	box-shadow: var(--kssr-shadow);
}

.kssr-writing__prompt-panel,
.kssr-writing__response-panel {
	padding: 28px;
}

.kssr-writing__prompt-panel {
	background: var(--kssr-paper-warm);
}

.kssr-writing__response-panel {
	display: flex;
	flex-direction: column;
}

.kssr-writing__panel-heading {
	margin: 0 0 18px;
	font-size: 1.5rem;
}

.kssr-writing .kssr-step {
	margin-top: 0;
}

.kssr-writing .kssr-step > span {
	background: var(--kssr-umber);
}

.kssr-writing .kssr-select,
.kssr-writing .kssr-input {
	border-color: #cdbfb2;
	border-radius: 12px;
	color: var(--kssr-ink);
	background: #fffefb;
}

.kssr-writing .kssr-select:focus,
.kssr-writing .kssr-input:focus {
	border-color: var(--kssr-magenta);
	outline: 3px solid rgba(165, 82, 121, .16);
}

.kssr-writing .kssr-instructions {
	max-height: 500px;
	padding: 18px;
	border: 0;
	border-radius: 14px;
	background: #f5ecdf;
}

.kssr-writing .kssr-input--essay {
	flex: 1 1 auto;
	min-height: 420px;
	max-height: none;
	padding: 18px;
	font-size: 1.05rem;
	line-height: 1.7;
}

.kssr-writing__editor-footer {
	margin-top: auto;
	padding: 16px 18px;
	border-radius: 14px;
	background: var(--kssr-sand);
}

.kssr-writing__editor-footer .kssr-writing__meta {
	margin-top: 0;
	color: var(--kssr-umber-soft);
}

.kssr-writing .kssr-button {
	border-radius: 10px;
}

.kssr-writing .kssr-button--primary {
	color: var(--kssr-cream);
	background: linear-gradient(105deg, var(--kssr-umber), var(--kssr-indigo));
	box-shadow: 0 7px 18px rgba(58, 49, 95, .2);
}

.kssr-writing .kssr-button--secondary {
	color: var(--kssr-indigo);
	border-color: #cfc2dc;
	background: #fffdf8;
}

.kssr-writing__support-grid {
	display: grid;
	grid-column: 1 / -1;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.kssr-writing .kssr-plan-summary,
.kssr-writing .kssr-human-services {
	margin: 0;
	border-color: #ded2c6;
	border-radius: 18px;
	background: rgba(255, 253, 248, .88);
	box-shadow: 0 8px 22px -14px rgba(64, 41, 31, .22);
}

.kssr-writing .kssr-results {
	width: auto;
	margin-top: 24px;
	padding: 32px;
	overflow: visible;
	background: #fffdf8;
}

.kssr-writing .kssr-results[hidden] {
	display: none !important;
}

/* TOEFL Writing is a self-contained application surface. Block themes and page
 * builders sometimes apply their flow gap or logical margins to every nested
 * section, which turns the deliberately compact studio into a series of widely
 * separated bands. Keep that layout system outside the widget boundary. */
#kssr-writing-studio.kssr-writing {
	display: block !important;
	gap: 0 !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

#kssr-writing-studio > *,
#kssr-writing-studio .kssr-writing__form > *,
#kssr-writing-studio .kssr-writing__prompt-panel > *,
#kssr-writing-studio .kssr-writing__response-panel > * {
	margin-block-start: 0 !important;
}

#kssr-writing-studio > .kssr-writing__header {
	min-height: 74px !important;
	margin: 0 !important;
	padding: 14px 32px !important;
}

#kssr-writing-studio > .kssr-writing__notice {
	min-height: 0 !important;
	margin: 16px 32px 0 !important;
	padding: 12px 16px !important;
	gap: 12px !important;
}

#kssr-writing-studio > .kssr-access {
	min-height: 0 !important;
	margin: 12px 32px 0 !important;
	padding: 12px 14px !important;
}

#kssr-writing-studio > .kssr-writing__workspace {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 14px 32px 28px !important;
}

#kssr-writing-studio .kssr-writing__form {
	grid-template-columns: minmax(310px, 490px) minmax(0, 1fr);
	gap: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
}

#kssr-writing-studio .kssr-writing__prompt-panel,
#kssr-writing-studio .kssr-writing__response-panel {
	min-height: 0 !important;
	margin: 0 !important;
	padding: 20px !important;
	gap: 0 !important;
}

#kssr-writing-studio .kssr-writing__panel-heading {
	margin: 0 0 12px !important;
	color: #9b3546 !important;
	-webkit-text-fill-color: #9b3546 !important;
	font-size: 1.3rem;
}

#kssr-writing-studio .kssr-step {
	margin: 0 0 12px !important;
}

#kssr-writing-studio .kssr-field,
#kssr-writing-studio .kssr-field-row label {
	margin: 0 0 12px !important;
}

#kssr-writing-studio .kssr-field-row {
	gap: 12px !important;
	margin: 0 !important;
}

#kssr-writing-studio .kssr-instructions {
	max-height: 420px;
	margin: 0 0 12px !important;
	padding: 14px !important;
}

#kssr-writing-studio .kssr-input--essay {
	min-height: 360px;
	padding: 16px;
}

#kssr-writing-studio .kssr-writing__editor-footer {
	margin: 12px 0 0 !important;
	padding: 12px 14px;
}

#kssr-writing-studio .kssr-writing__support-grid {
	gap: 14px !important;
	margin: 0 !important;
}

@container (max-width: 1000px) {
	#kssr-writing-studio .kssr-writing__form {
		grid-template-columns: 1fr;
	}
}

@container (max-width: 680px) {
	#kssr-writing-studio > .kssr-writing__header {
		padding: 16px !important;
	}

	#kssr-writing-studio > .kssr-writing__notice,
	#kssr-writing-studio > .kssr-access {
		margin-right: 12px !important;
		margin-left: 12px !important;
	}

	#kssr-writing-studio > .kssr-writing__workspace {
		padding: 12px 12px 20px !important;
	}

	#kssr-writing-studio .kssr-writing__prompt-panel,
	#kssr-writing-studio .kssr-writing__response-panel {
		padding: 16px !important;
	}
}

.kssr-writing .kssr-overall {
	border: 0;
	border-radius: 22px;
	background: linear-gradient(90deg, #fef1da, #e8e3f5 52%, #ddf7ed);
	box-shadow: var(--kssr-shadow);
}

.kssr-writing .kssr-rubric,
.kssr-writing .kssr-feedback-card,
.kssr-writing .kssr-correction,
.kssr-writing .kssr-excerpt,
.kssr-writing .kssr-answer-comparison > article {
	border-color: #e3d9d0;
	background: #fffdfa;
}

.kssr-writing .kssr-rubric__bar i {
	background: linear-gradient(90deg, var(--kssr-indigo), #65cdb5, #f3d66c);
}

.kssr-writing .kssr-message {
	color: var(--kssr-indigo);
}

.kssr-platform {
	width: 100%;
	max-width: 1440px;
	container-type: inline-size;
	margin: 2rem auto;
	overflow: hidden;
	border-radius: 22px;
	background: var(--kssr-parchment);
	box-shadow: 0 24px 70px rgba(64, 41, 31, .16);
	box-sizing: border-box;
}

.kssr-platform *,
.kssr-bank-admin * {
	box-sizing: border-box;
}

.kssr-platform a:focus-visible,
.kssr-platform button:focus-visible,
.kssr-platform input:focus-visible,
.kssr-platform select:focus-visible,
.kssr-bank-admin a:focus-visible,
.kssr-bank-admin button:focus-visible,
.kssr-bank-admin input:focus-visible,
.kssr-bank-admin select:focus-visible,
.kssr-bank-admin textarea:focus-visible {
	outline: 3px solid rgba(165, 82, 121, .34);
	outline-offset: 3px;
}

.kssr-platform button,
.kssr-platform input,
.kssr-platform select,
.kssr-platform textarea,
.kssr-bank-admin button,
.kssr-bank-admin input,
.kssr-bank-admin select,
.kssr-bank-admin textarea {
	font: inherit;
}

.kssr-platform__topbar,
.kssr-bank-admin__topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 0 32px;
}

.kssr-platform__brand,
.kssr-bank-admin__brand {
	color: var(--kssr-cream);
	font-size: 1.1rem;
	font-weight: 800;
	letter-spacing: .02em;
}

.kssr-platform__account,
.kssr-bank-admin__account {
	color: var(--kssr-yellow);
	font-size: .88rem;
	font-weight: 650;
}

.kssr-platform__account-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px 16px;
	margin-left: auto;
}

.kssr-platform__upgrade-button,
.kssr-platform__upgrade-button:is(:link, :visited, :hover, :focus, :active) {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	border: 2px solid rgba(255, 255, 255, .82);
	border-radius: 999px;
	color: #43291f !important;
	-webkit-text-fill-color: #43291f !important;
	background: linear-gradient(110deg, #fff4a8, #fffdf0);
	box-shadow: 0 8px 22px rgba(45, 24, 18, .24);
	font-size: .88rem;
	font-weight: 850;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease;
}

.kssr-platform__upgrade-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 11px 25px rgba(45, 24, 18, .3);
	text-decoration: none;
}

.kssr-dashboard__body,
.kssr-bank-admin__body {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	min-height: 720px;
}

.kssr-dashboard__sidebar,
.kssr-bank-admin__sidebar {
	padding: 28px 24px;
	color: #faefd9;
	background:
		radial-gradient(circle at 26% 69%, var(--kssr-bokeh-one-core) 0 17px, var(--kssr-bokeh-one-halo) 18px 38px, transparent 62px),
		radial-gradient(circle at 73% 86%, var(--kssr-bokeh-two-core) 0 25px, var(--kssr-bokeh-two-halo) 26px 50px, transparent 78px),
		linear-gradient(150deg, transparent 41%, var(--kssr-beam-bright) 54%, transparent 68%),
		linear-gradient(148deg, var(--kssr-umber) 0%, var(--kssr-cocoa) 22%, var(--kssr-rosewood) 43%, var(--kssr-indigo) 63%, var(--kssr-dusty-plum) 82%, var(--kssr-magenta) 100%);
}

.kssr-dashboard__sidebar a,
.kssr-bank-admin__sidebar a {
	display: block;
	padding: 11px 4px;
	color: inherit;
	font-size: .92rem;
	text-decoration: none;
}

.kssr-dashboard__sidebar a[aria-current="page"],
.kssr-bank-admin__sidebar a[aria-current="page"] {
	font-weight: 800;
}

.kssr-dashboard__sidebar a[aria-current="page"]::before,
.kssr-bank-admin__sidebar a[aria-current="page"]::before {
	content: "●";
	margin-right: 9px;
	color: #fff3cb;
}

.kssr-dashboard__main,
.kssr-bank-admin__main {
	min-width: 0;
	padding: 36px 40px;
}

.kssr-dashboard__main h2,
.kssr-bank-admin__main h1 {
	margin: 0;
	color: var(--kssr-ink);
	font-size: clamp(1.8rem, 3vw, 2.35rem);
}

.kssr-dashboard__intro,
.kssr-bank-admin__intro {
	margin: 10px 0 24px;
	color: var(--kssr-muted);
}

.kssr-dashboard__kicker {
	margin: 0 0 7px;
	color: #9a5f3d;
	font-size: .74rem;
	font-weight: 850;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.kssr-dashboard__body[hidden],
.kssr-access-gate[hidden] {
	display: none !important;
}

.kssr-access-gate {
	padding: clamp(24px, 4vw, 48px);
	background:
		radial-gradient(circle at 12% 12%, rgba(111, 204, 183, .17), transparent 28%),
		radial-gradient(circle at 88% 18%, rgba(243, 188, 112, .20), transparent 31%),
		linear-gradient(145deg, #f8f1e8, #f2eaf0 56%, #e8f2ef);
}

.kssr-access-gate__route-context {
	margin: 0;
	padding: 14px clamp(20px, 4vw, 48px);
	border-bottom: 1px solid rgba(74, 45, 34, .13);
	color: var(--kssr-ink);
	background: #fff8e7;
	text-align: center;
}

.kssr-access-gate__intro {
	max-width: 780px;
	margin: 0 auto 26px;
	text-align: center;
}

.kssr-access-gate__intro h2 {
	margin: 0;
	color: var(--kssr-ink);
	font-size: clamp(1.8rem, 4vw, 3rem);
	line-height: 1.08;
	letter-spacing: -.035em;
}

.kssr-access-gate__intro > p:last-child {
	margin: 13px auto 0;
	color: var(--kssr-muted);
	font-size: 1rem;
	line-height: 1.6;
}

.kssr-access-gate__plans {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	max-width: 1120px;
	margin: 0 auto;
}

.kssr-access-plan {
	position: relative;
	display: flex;
	min-width: 0;
	min-height: 300px;
	padding: 25px;
	overflow: hidden;
	border: 1px solid rgba(74, 45, 34, .13);
	border-radius: 22px;
	box-shadow: 0 14px 34px rgba(64, 41, 31, .10);
	flex-direction: column;
}

.kssr-access-plan::after {
	position: absolute;
	top: -95px;
	right: -75px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .34);
	content: "";
	pointer-events: none;
}

.kssr-access-plan--free { background: linear-gradient(125deg, #dcf4ec, #e5f0f8 58%, #fff0bd); }
.kssr-access-plan--focus { background: linear-gradient(125deg, #eee5fa, #f5deea 58%, #ffe0b4); }
.kssr-access-plan--complete { background: linear-gradient(125deg, #fff0c1, #ffe1ba 58%, #f2d7e3); }
.kssr-access-plan--sitewide { border-color: rgba(165, 82, 121, .27); background: linear-gradient(125deg, #eadff8, #f7dbe8 48%, #dff3ec 100%); box-shadow: 0 16px 38px rgba(98, 58, 84, .15); }
.kssr-access-plan--vocabulary { background: linear-gradient(125deg, #e3f1dc, #dcecf5 54%, #f5e1f0); }
.kssr-access-plan--grammar { background: linear-gradient(125deg, #f7edda, #e8eef8 52%, #eadff2); }
.kssr-access-plan--book { background: linear-gradient(125deg, #faeee2, #eeeafb 55%, #dcf1eb); }
.kssr-access-plan--tutor { background: linear-gradient(125deg, #e3eef9, #eee3f7 52%, #f8dccf); }
.kssr-access-plan--human-support { background: linear-gradient(125deg, #f6e7dd, #f1e4f3 55%, #dceff1); }
.kssr-access-plan--classes { background: linear-gradient(125deg, #e2f2e8, #e4edf8 55%, #f6e5d7); }

.kssr-tutoring-booking__options {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.kssr-tutoring-booking__subject {
	display: grid;
	gap: 7px;
	max-width: 430px;
	margin: 22px auto 0;
	text-align: left;
}

.kssr-tutoring-booking__subject label {
	color: var(--kssr-ink);
	font-size: .8rem;
	font-weight: 850;
}

.kssr-tutoring-booking__subject select {
	width: 100%;
	min-height: 46px;
	padding: 9px 12px;
	border: 1px solid rgba(74, 45, 34, .23);
	border-radius: 11px;
	color: var(--kssr-ink);
	background: rgba(255, 253, 248, .9);
	font: inherit;
	font-weight: 750;
}

.kssr-tutoring-booking__subject [role="status"] {
	min-height: 1.25em;
	margin: 0;
	color: var(--kssr-muted);
	font-size: .76rem;
}

.kssr-tutoring-booking {
	width: min(100%, 1240px);
	margin-inline: auto;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 16%, transparent);
	border-radius: 28px;
	background: var(--kssr-paper-warm);
	box-shadow: 0 28px 75px color-mix(in srgb, var(--kssr-umber) 14%, transparent);
	container-type: inline-size;
}

.kssr-tutoring-booking .kssr-access-gate {
	padding: 0;
	background:
		radial-gradient(circle at 12% 8%, var(--kssr-bokeh-one-halo), transparent 26%),
		radial-gradient(circle at 91% 24%, var(--kssr-bokeh-two-halo), transparent 27%),
		linear-gradient(155deg, var(--kssr-paper), var(--kssr-paper-warm) 54%, var(--kssr-parchment));
}

.kssr-tutoring-booking__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr);
	gap: clamp(28px, 6vw, 84px);
	align-items: end;
	padding: clamp(38px, 7vw, 78px);
	color: #f9fbff;
	background:
		radial-gradient(circle at 76% 16%, var(--kssr-bokeh-one-core), transparent 22%),
		radial-gradient(circle at 8% 92%, var(--kssr-bokeh-two-core), transparent 26%),
		linear-gradient(135deg, var(--kssr-umber), var(--kssr-rosewood) 54%, var(--kssr-dusty-plum));
}

.kssr-tutoring-booking__hero-copy {
	max-width: 720px;
}

.kssr-tutoring-booking__hero .kssr-dashboard__kicker {
	color: var(--kssr-cream);
}

.kssr-tutoring-booking__hero h2 {
	max-width: 720px;
	margin: 7px 0 18px;
	color: #fff !important;
	font-size: clamp(2.35rem, 6vw, 4.8rem);
	line-height: .98;
	letter-spacing: -.055em;
	text-wrap: balance;
}

.kssr-tutoring-booking__hero-copy > p:last-child {
	max-width: 670px;
	margin: 0;
	color: rgba(255, 255, 255, .79);
	font-size: clamp(.96rem, 2vw, 1.1rem);
	line-height: 1.65;
}

.kssr-tutoring-booking__hero .kssr-tutoring-booking__subject {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 19px;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 18px;
	background: rgba(255, 255, 255, .1);
	box-shadow: 0 16px 38px rgba(27, 37, 66, .13);
	backdrop-filter: blur(12px);
}

.kssr-tutoring-booking__hero .kssr-tutoring-booking__subject label,
.kssr-tutoring-booking__hero .kssr-tutoring-booking__subject [role="status"] {
	color: rgba(255, 255, 255, .88);
}

.kssr-tutoring-booking__select-wrap {
	position: relative;
}

.kssr-tutoring-booking__select-wrap select {
	min-height: 52px;
	padding-right: 42px;
	border: 0;
	color: var(--kssr-ink);
	background: #fff;
	appearance: none;
}

.kssr-tutoring-booking__select-wrap > span {
	position: absolute;
	top: 50%;
	right: 16px;
	color: var(--kssr-muted);
	font-size: 1.2rem;
	transform: translateY(-56%);
	pointer-events: none;
}

.kssr-tutoring-booking__schedule {
	padding: clamp(34px, 6vw, 66px) clamp(22px, 6vw, 72px);
	border-bottom: 1px solid rgba(74, 91, 130, .12);
}

.kssr-tutoring-booking__section-heading h3,
.kssr-tutoring-booking__full h3,
.kssr-tutoring-resources h3,
.kssr-tutoring-booking__other-support h3 {
	margin: 0;
	color: var(--kssr-ink);
	font-size: clamp(1.45rem, 3vw, 2.15rem);
	line-height: 1.14;
	letter-spacing: -.035em;
}

.kssr-tutoring-booking__section-heading > p:last-child:not(.kssr-dashboard__kicker) {
	margin: 9px 0 0;
	color: var(--kssr-muted);
	font-size: .9rem;
	line-height: 1.55;
}

.kssr-tutoring-booking__hours {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 15px;
	margin-top: 25px;
}

.kssr-tutoring-booking__hours article {
	display: grid;
	grid-template-columns: 62px 1fr auto;
	gap: 15px;
	align-items: center;
	min-width: 0;
	padding: 18px;
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 15%, transparent);
	border-radius: 18px;
	background: rgba(255, 255, 255, .85);
	box-shadow: 0 10px 28px color-mix(in srgb, var(--kssr-umber) 7%, transparent);
}

.kssr-tutoring-booking__day {
	display: grid;
	place-items: center;
	width: 62px;
	height: 62px;
	border-radius: 17px;
	color: var(--kssr-umber);
	background: linear-gradient(145deg, color-mix(in srgb, var(--kssr-cream) 84%, white), color-mix(in srgb, var(--kssr-dusty-plum) 18%, white));
	font-size: .77rem;
	font-weight: 950;
	letter-spacing: .08em;
}

.kssr-tutoring-booking__hours strong {
	display: block;
	color: var(--kssr-ink);
	font-size: 1rem;
}

.kssr-tutoring-booking__hours p {
	margin: 3px 0 0;
	color: var(--kssr-muted);
	font-size: .82rem;
	line-height: 1.35;
}

.kssr-tutoring-booking__available {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	align-self: start;
	padding: 6px 9px;
	border-radius: 999px;
	color: #2f705f;
	background: #e2f4ed;
	font-size: .69rem;
	font-weight: 850;
	white-space: nowrap;
}

.kssr-tutoring-booking__available i,
.kssr-tutoring-calendar__legend i {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #43a17f;
	box-shadow: 0 0 0 3px rgba(67, 161, 127, .13);
}

.kssr-tutoring-booking__policies {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 16px;
}

.kssr-tutoring-booking__policies p {
	display: grid;
	grid-template-columns: 28px 1fr;
	gap: 0 10px;
	margin: 0;
	padding: 14px 15px;
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 12%, transparent);
	border-radius: 14px;
	color: var(--kssr-muted);
	background: color-mix(in srgb, var(--kssr-paper) 82%, var(--kssr-sand));
	font-size: .78rem;
	line-height: 1.5;
}

.kssr-tutoring-booking__policies p > span {
	display: grid;
	grid-row: 1 / 3;
	place-items: center;
	width: 28px;
	height: 28px;
	border-radius: 9px;
	color: #fff;
	background: var(--kssr-rosewood);
	font-weight: 900;
}

.kssr-tutoring-booking__policies strong {
	color: var(--kssr-ink);
}

.kssr-tutoring-booking__notice {
	max-width: calc(100% - clamp(44px, 12vw, 144px));
	margin: 28px auto 0;
	padding: 13px 16px;
	border: 1px solid rgba(170, 92, 75, .2);
	border-radius: 13px;
	color: #7a443a;
	background: #fff0e9;
	font-weight: 750;
}

.kssr-tutoring-booking__builder {
	display: grid;
	grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
	gap: 22px;
	align-items: start;
	padding: clamp(34px, 6vw, 70px) clamp(22px, 6vw, 72px);
}

.kssr-tutoring-calendar,
.kssr-tutoring-bundles {
	min-width: 0;
	padding: clamp(20px, 3vw, 30px);
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 16%, transparent);
	border-radius: 22px;
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 14px 36px color-mix(in srgb, var(--kssr-umber) 8%, transparent);
}

.kssr-tutoring-calendar__toolbar {
	display: grid;
	grid-template-columns: 40px 1fr 40px;
	gap: 10px;
	align-items: center;
	margin-top: 24px;
}

.kssr-tutoring-calendar__toolbar strong {
	color: var(--kssr-ink);
	text-align: center;
}

.kssr-tutoring-calendar__toolbar button {
	display: grid;
	place-items: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 16%, transparent);
	border-radius: 12px;
	color: var(--kssr-rosewood);
	background: var(--kssr-paper-warm);
	font: inherit;
	font-weight: 900;
	cursor: pointer;
}

.kssr-tutoring-calendar__toolbar button:disabled {
	opacity: .32;
	cursor: not-allowed;
}

.kssr-tutoring-calendar__weekdays,
.kssr-tutoring-calendar__grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 5px;
}

.kssr-tutoring-calendar__weekdays {
	margin-top: 17px;
}

.kssr-tutoring-calendar__weekdays span {
	padding: 5px 0;
	color: #8990a5;
	font-size: .65rem;
	font-weight: 850;
	text-align: center;
	text-transform: uppercase;
}

.kssr-tutoring-calendar__grid button,
.kssr-tutoring-calendar__blank {
	position: relative;
	aspect-ratio: 1;
	min-width: 0;
	min-height: 39px;
}

.kssr-tutoring-calendar__grid button {
	display: grid;
	place-items: center;
	padding: 0;
	border: 1px solid transparent;
	border-radius: 12px;
	color: #a1a6b5;
	background: transparent;
	font: inherit;
	font-size: .8rem;
	cursor: default;
}

.kssr-tutoring-calendar__grid button.is-available {
	border-color: rgba(66, 150, 121, .22);
	color: #365f56;
	background: #eaf6f1;
	font-weight: 850;
	cursor: pointer;
}

.kssr-tutoring-calendar__grid button.is-available:hover {
	border-color: #6ba58f;
	background: #dcf1e9;
}

.kssr-tutoring-calendar__grid button.is-selected {
	border-color: var(--kssr-umber);
	color: var(--kssr-yellow);
	-webkit-text-fill-color: var(--kssr-yellow);
	background: var(--kssr-umber);
	box-shadow: 0 8px 16px color-mix(in srgb, var(--kssr-rosewood) 20%, transparent);
}

.kssr-tutoring-calendar__grid button i {
	position: absolute;
	bottom: 5px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: currentColor;
}

.kssr-tutoring-calendar__legend {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-top: 12px;
	color: #7b8399;
	font-size: .67rem;
}

.kssr-tutoring-calendar__legend span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
}

.kssr-tutoring-calendar__times {
	margin-top: 23px;
	padding-top: 20px;
	border-top: 1px solid rgba(74, 91, 130, .12);
}

.kssr-tutoring-calendar__times h4 {
	margin: 0 0 12px;
	color: #44516f;
	font-size: .82rem;
	line-height: 1.4;
}

.kssr-tutoring-calendar__time-grid {
	display: grid;
	gap: 8px;
	max-height: 385px;
	padding-right: 4px;
	overflow-y: auto;
	scrollbar-gutter: stable;
}

.kssr-tutoring-calendar__time {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 8px;
	align-items: center;
	width: 100%;
	padding: 10px 12px;
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 16%, transparent);
	border-radius: 12px;
	color: var(--kssr-ink);
	background: var(--kssr-paper-warm);
	font: inherit;
	text-align: left;
	cursor: pointer;
}

.kssr-tutoring-calendar__time strong {
	min-width: 0;
	font-size: .76rem;
	overflow-wrap: anywhere;
}

.kssr-tutoring-calendar__time small {
	color: #7a8399;
	font-size: .66rem;
	white-space: nowrap;
}

.kssr-tutoring-calendar__time:hover,
.kssr-tutoring-calendar__time.is-selected {
	border-color: var(--kssr-rosewood);
	background: color-mix(in srgb, var(--kssr-dusty-plum) 16%, white);
	box-shadow: 0 7px 15px color-mix(in srgb, var(--kssr-rosewood) 10%, transparent);
}

.kssr-tutoring-calendar__time.is-selected {
	border-color: var(--kssr-umber);
	color: var(--kssr-yellow);
	-webkit-text-fill-color: var(--kssr-yellow);
	background: var(--kssr-umber);
}

.kssr-tutoring-calendar__time.is-selected small {
	color: inherit;
}

.kssr-tutoring-calendar__noscript {
	padding: 12px;
	border-radius: 10px;
	color: #714c42;
	background: #fff0e7;
	font-size: .8rem;
}

.kssr-tutoring-bundles__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 23px 0 0;
	padding: 0;
	border: 0;
}

.kssr-tutoring-bundle {
	position: relative;
	display: grid;
	grid-template-columns: 20px 1fr auto;
	gap: 3px 9px;
	min-width: 0;
	padding: 15px;
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 16%, transparent);
	border-radius: 16px;
	color: var(--kssr-muted);
	background: var(--kssr-paper);
	cursor: pointer;
}

.kssr-tutoring-bundle:has(input:checked) {
	border-color: var(--kssr-rosewood);
	background: color-mix(in srgb, var(--kssr-dusty-plum) 14%, white);
	box-shadow: 0 9px 20px color-mix(in srgb, var(--kssr-rosewood) 10%, transparent);
}

.kssr-tutoring-bundle.is-featured::before {
	position: absolute;
	top: -8px;
	right: 12px;
	padding: 3px 7px;
	border-radius: 999px;
	color: #fff;
	background: #8b6790;
	content: "Popular";
	font-size: .58rem;
	font-weight: 900;
	text-transform: uppercase;
}

.kssr-tutoring-bundle > input {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	opacity: 0;
}

.kssr-tutoring-bundle__check {
	display: grid;
	grid-row: 1 / 4;
	place-items: center;
	width: 20px;
	height: 20px;
	border: 1px solid #9da6b8;
	border-radius: 50%;
	background: #fff;
}

.kssr-tutoring-bundle input:checked + .kssr-tutoring-bundle__check {
	border: 6px solid var(--kssr-rosewood);
}

.kssr-tutoring-bundle__name {
	color: var(--kssr-ink);
	font-size: .83rem;
	font-weight: 900;
}

.kssr-tutoring-bundle__discount {
	align-self: start;
	padding: 4px 6px;
	border-radius: 999px;
	color: #34715e;
	background: #dff2e9;
	font-size: .58rem;
	white-space: nowrap;
}

.kssr-tutoring-bundle__discount.is-standard {
	color: #707993;
	background: #e9ebf1;
}

.kssr-tutoring-bundle__price {
	grid-column: 2 / -1;
	margin-top: 6px;
	color: var(--kssr-ink);
	font-size: 1.18rem;
	font-weight: 900;
}

.kssr-tutoring-bundle__price small {
	color: #7a8297;
	font-size: .58rem;
}

.kssr-tutoring-bundle__per,
.kssr-tutoring-bundle__saving {
	grid-column: 2 / -1;
	color: #7a8297;
	font-size: .66rem;
}

.kssr-tutoring-bundle__saving {
	color: #34715e;
	font-weight: 800;
}

.kssr-tutoring-contact {
	margin-top: 26px;
	padding-top: 24px;
	border-top: 1px solid rgba(74, 91, 130, .12);
}

.kssr-tutoring-contact__fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 13px;
	margin-top: 18px;
}

.kssr-tutoring-contact__fields label {
	display: grid;
	gap: 6px;
	color: var(--kssr-ink);
	font-size: .75rem;
	font-weight: 850;
}

.kssr-tutoring-contact__fields input,
.kssr-tutoring-contact__fields textarea {
	width: 100%;
	min-width: 0;
	padding: 11px 12px;
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 20%, transparent);
	border-radius: 11px;
	color: var(--kssr-ink);
	background: #fff;
	font: inherit;
	font-weight: 500;
}

.kssr-tutoring-contact__requirements {
	grid-column: 1 / -1;
}

.kssr-tutoring-contact__fields textarea {
	min-height: 120px;
	resize: vertical;
}

.kssr-tutoring-contact__fields small {
	color: #848b9e;
	font-size: .65rem;
	font-weight: 500;
	line-height: 1.4;
}

.kssr-tutoring-contact__privacy {
	display: grid;
	grid-template-columns: 18px 1fr;
	gap: 9px;
	align-items: start;
	margin-top: 13px;
	color: #6f7890;
	font-size: .7rem;
	line-height: 1.45;
}

.kssr-tutoring-contact__privacy input {
	width: 17px;
	height: 17px;
	margin: 1px 0 0;
	accent-color: var(--kssr-rosewood);
}

.kssr-tutoring-bundles__summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 15px;
	align-items: center;
	margin-top: 22px;
	padding: 16px;
	border-radius: 16px;
	background: linear-gradient(125deg, #edf4f5, #efedf6);
}

.kssr-tutoring-bundles__summary > div {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.kssr-tutoring-bundles__summary span {
	color: #7a8398;
	font-size: .67rem;
	font-weight: 800;
	text-transform: uppercase;
}

.kssr-tutoring-bundles__summary strong {
	color: #3b4866;
	font-size: .77rem;
	line-height: 1.45;
}

.kssr-tutoring-bundles__summary .kssr-access-plan__button {
	align-self: center;
	margin: 0;
	white-space: nowrap;
}

.kssr-tutoring-bundles__payment-note {
	display: grid;
	grid-template-columns: 32px 1fr;
	gap: 10px;
	align-items: start;
	margin-top: 12px;
	padding: 13px;
	border: 1px solid rgba(89, 113, 151, .12);
	border-radius: 13px;
	color: #657089;
	background: #f3f6fa;
	font-size: .7rem;
	line-height: 1.5;
}

.kssr-tutoring-bundles__payment-note > span {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	color: #fff;
	background: var(--kssr-rosewood);
	font-size: 1rem;
}

.kssr-tutoring-bundles__payment-note p {
	margin: 0;
}

.kssr-tutoring-booking__full {
	max-width: 860px;
	margin: clamp(36px, 7vw, 78px) auto 0;
	padding: clamp(28px, 6vw, 54px);
	border: 1px solid rgba(125, 91, 116, .2);
	border-radius: 24px;
	background: linear-gradient(135deg, #f9e8ee, #f2ecf7 58%, #e9f3f1);
	box-shadow: 0 15px 40px rgba(82, 63, 91, .1);
	text-align: center;
}

.kssr-tutoring-booking__full-icon {
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	margin: 0 auto 16px;
	border: 8px solid rgba(113, 91, 126, .18);
	border-radius: 50%;
	color: transparent;
}

.kssr-tutoring-booking__full > p:last-child {
	max-width: 650px;
	margin: 13px auto 0;
	color: #716a7d;
	line-height: 1.6;
}

.kssr-tutoring-resources {
	margin: 0 clamp(22px, 6vw, 72px) clamp(34px, 6vw, 70px);
	padding: clamp(24px, 5vw, 44px);
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 14%, transparent);
	border-radius: 24px;
	background: rgba(255, 255, 255, .78);
	box-shadow: 0 14px 38px color-mix(in srgb, var(--kssr-umber) 7%, transparent);
}

.kssr-tutoring-resources.is-full {
	margin-top: 22px;
}

.kssr-tutoring-resources__intro > p:last-child {
	max-width: 720px;
	margin: 11px 0 0;
	color: var(--kssr-muted);
	line-height: 1.6;
}

.kssr-tutoring-resources__learning-zone {
	display: grid;
	grid-template-columns: 44px minmax(0, 1fr) auto;
	gap: 14px;
	align-items: center;
	margin-top: 24px;
	padding: 18px;
	border-radius: 18px;
	background: linear-gradient(125deg, #e8f3f2, #eeeaf5);
}

.kssr-tutoring-resources__learning-zone > span {
	display: grid;
	place-items: center;
	width: 44px;
	height: 44px;
	border-radius: 14px;
	color: #fff;
	background: var(--kssr-rosewood);
}

.kssr-tutoring-resources__learning-zone strong {
	color: #384664;
}

.kssr-tutoring-resources__learning-zone p {
	margin: 3px 0 0;
	color: #717a90;
	font-size: .78rem;
	line-height: 1.45;
}

.kssr-platform .kssr-tutoring-resources__learning-zone > a:is(:link, :visited, :hover, :focus, :active) {
	padding: 10px 13px;
	border-radius: 11px;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	background: var(--kssr-rosewood);
	font-size: .75rem;
	font-weight: 850;
	text-decoration: none !important;
	white-space: nowrap;
}

.kssr-platform .kssr-tutoring-resources__learning-zone > a:is(:link, :visited, :hover, :focus, :active) * {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.kssr-tutoring-resources__marketplaces {
	display: grid;
	grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr);
	gap: 24px;
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px solid rgba(74, 91, 130, .12);
}

.kssr-tutoring-resources__marketplaces h4 {
	margin: 0;
	color: #3a4765;
	font-size: 1rem;
}

.kssr-tutoring-resources__marketplaces p {
	margin: 8px 0 0;
	color: #747c90;
	font-size: .75rem;
	line-height: 1.6;
}

.kssr-tutoring-resources__links {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
}

.kssr-tutoring-resources__links a {
	display: flex;
	min-width: 0;
	min-height: 94px;
	padding: 13px;
	border: 1px solid rgba(74, 91, 130, .14);
	border-radius: 15px;
	color: #43516f !important;
	background: #f8f9fc;
	flex-direction: column;
	justify-content: space-between;
	text-decoration: none !important;
}

.kssr-tutoring-resources__links a:hover {
	border-color: #7788a8;
	background: #eef2f8;
	transform: translateY(-1px);
}

.kssr-tutoring-marketplace-icon {
	display: grid;
	place-items: center;
	width: 34px;
	height: 34px;
	margin-bottom: 11px;
	border-radius: 11px;
	color: #fff;
	background: var(--kssr-rosewood);
	box-shadow: 0 7px 18px rgba(54, 68, 102, .14);
}

.kssr-tutoring-marketplace-icon svg {
	display: block;
	width: 21px;
	height: 21px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.kssr-tutoring-marketplace-icon--preply {
	background: #d96d70;
}

.kssr-tutoring-marketplace-icon--italki {
	background: #8c6e9f;
}

.kssr-tutoring-resources__links span:not(.kssr-tutoring-marketplace-icon) {
	color: #7c8498;
	font-size: .68rem;
}

.kssr-tutoring-resources__links strong {
	font-size: .73rem;
	line-height: 1.35;
}

.kssr-tutoring-resources__links i {
	font-style: normal;
}

.kssr-tutoring-booking__other-support {
	display: grid;
	grid-template-columns: minmax(220px, .55fr) minmax(0, 1.45fr);
	gap: 24px;
	align-items: start;
	padding: clamp(30px, 5vw, 52px) clamp(22px, 6vw, 72px);
	border-top: 1px solid rgba(74, 91, 130, .12);
	background: rgba(238, 241, 247, .76);
}

.kssr-tutoring-booking__support-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

.kssr-tutoring-booking__support-actions > div {
	display: grid;
	gap: 7px;
	align-content: start;
	min-width: 0;
	padding: 16px;
	border: 1px solid rgba(74, 91, 130, .13);
	border-radius: 16px;
	background: rgba(255, 255, 255, .8);
}

.kssr-tutoring-booking__support-actions strong {
	color: #43506d;
	font-size: .78rem;
	line-height: 1.45;
}

.kssr-tutoring-booking__support-actions p {
	margin: 0;
	color: #778096;
	font-size: .7rem;
	line-height: 1.5;
}

.kssr-tutoring-booking__support-actions a,
.kssr-tutoring-booking__support-actions span {
	color: #596f96;
	font-size: .73rem;
	font-weight: 850;
	text-decoration: none;
}

.kssr-tutoring-order-confirmation {
	max-width: 760px;
	margin: 28px auto;
	padding: 28px;
	border: 1px solid rgba(61, 133, 108, .24);
	border-radius: 20px;
	color: #40516a;
	background: linear-gradient(135deg, #e8f5ef, #edf1f8);
}

.kssr-tutoring-order-confirmation h2 {
	margin: 0 0 12px;
	color: #315f53;
}

.kssr-tutoring-order-confirmation p {
	margin: 8px 0 0;
	line-height: 1.6;
}

.kssr-tutoring-booking button:focus-visible,
.kssr-tutoring-booking a:focus-visible,
.kssr-tutoring-booking input:focus-visible,
.kssr-tutoring-booking select:focus-visible,
.kssr-tutoring-booking textarea:focus-visible {
	outline: 3px solid rgba(78, 104, 153, .35);
	outline-offset: 3px;
}

@container (max-width: 900px) {
	.kssr-tutoring-booking__hero,
	.kssr-tutoring-booking__builder,
	.kssr-tutoring-booking__other-support {
		grid-template-columns: 1fr;
	}

	.kssr-tutoring-booking__hero {
		align-items: start;
	}

	.kssr-tutoring-booking__hours,
	.kssr-tutoring-booking__policies {
		grid-template-columns: 1fr;
	}

	.kssr-tutoring-resources__marketplaces {
		grid-template-columns: 1fr;
	}
}

@container (max-width: 620px) {
	.kssr-tutoring-booking {
		border-radius: 20px;
	}

	.kssr-tutoring-booking__hero,
	.kssr-tutoring-booking__schedule,
	.kssr-tutoring-booking__builder,
	.kssr-tutoring-booking__other-support {
		padding-inline: 16px;
	}

	.kssr-tutoring-booking__hero {
		padding-block: 35px;
	}

	.kssr-tutoring-booking__hours article {
		grid-template-columns: 52px 1fr;
	}

	.kssr-tutoring-booking__day {
		width: 52px;
		height: 52px;
	}

	.kssr-tutoring-booking__available {
		grid-column: 2;
		justify-self: start;
	}

	.kssr-tutoring-bundles__grid,
	.kssr-tutoring-contact__fields,
	.kssr-tutoring-booking__support-actions {
		grid-template-columns: 1fr;
	}

	.kssr-tutoring-contact__requirements {
		grid-column: auto;
	}

	.kssr-tutoring-bundles__summary,
	.kssr-tutoring-resources__learning-zone {
		grid-template-columns: 1fr;
	}

	.kssr-tutoring-bundles__summary .kssr-access-plan__button,
	.kssr-tutoring-resources__learning-zone a {
		width: 100%;
		white-space: normal;
	}

	.kssr-tutoring-resources {
		margin-inline: 16px;
		padding: 20px;
	}

	.kssr-tutoring-resources__links {
		grid-template-columns: 1fr;
	}

	.kssr-tutoring-resources__links a {
		min-height: 74px;
	}

	.kssr-tutoring-calendar__time {
		grid-template-columns: 1fr;
	}
}

.kssr-access-plan__eyebrow {
	position: relative;
	z-index: 1;
	margin: 0 0 9px;
	color: #765044;
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.kssr-access-plan h3 {
	position: relative;
	z-index: 1;
	margin: 0;
	color: var(--kssr-ink);
	font-size: 1.75rem;
	line-height: 1.1;
}

.kssr-access-plan h3 small {
	color: var(--kssr-muted);
	font-size: .78rem;
	font-weight: 700;
}

.kssr-access-plan > p:not(.kssr-access-plan__eyebrow),
.kssr-access-plan ul {
	position: relative;
	z-index: 1;
	color: #604d47;
	font-size: .9rem;
	line-height: 1.55;
}

.kssr-access-plan ul {
	margin: 17px 0 23px;
	padding-left: 20px;
}

.kssr-access-plan li + li { margin-top: 5px; }

.kssr-access-plan__comparison {
	position: relative;
	z-index: 1;
	margin: 0 0 20px;
	padding: 14px;
	border: 1px solid rgba(74, 45, 34, .14);
	border-radius: 14px;
	background: rgba(255, 253, 248, .58);
}

.kssr-access-plan__comparison h4 {
	margin: 0 0 10px;
	color: var(--kssr-ink);
	font-size: .95rem;
	line-height: 1.3;
}

.kssr-access-plan__comparison-scroll {
	overflow-x: auto;
	border-radius: 9px;
	-webkit-overflow-scrolling: touch;
}

.kssr-access-plan__comparison-scroll:focus-visible {
	outline: 3px solid rgba(74, 64, 133, .3);
	outline-offset: 3px;
}

.kssr-access-plan__comparison table {
	width: 100%;
	min-width: 510px;
	border-collapse: collapse;
	color: #59443e;
	background: rgba(255, 255, 255, .5);
	font-size: .7rem;
	line-height: 1.35;
}

.kssr-access-plan__comparison th,
.kssr-access-plan__comparison td {
	padding: 7px 8px;
	border-bottom: 1px solid rgba(74, 45, 34, .11);
	text-align: left;
	vertical-align: top;
}

.kssr-access-plan__comparison thead th {
	color: #6b4a3f;
	background: rgba(255, 255, 255, .55);
	font-size: .64rem;
	letter-spacing: .02em;
	text-transform: uppercase;
}

.kssr-access-plan__comparison tbody tr:last-child > * { border-bottom: 0; }
.kssr-access-plan__comparison tbody .is-kssr > * { background: rgba(255, 226, 142, .46); font-weight: 850; }
.kssr-access-plan__comparison a { color: var(--kssr-indigo); font-weight: 800; }

.kssr-access-plan__savings {
	display: inline-block;
	margin: 11px 0 7px !important;
	padding: 7px 10px;
	border-radius: 999px;
	color: #4f3b32 !important;
	background: #fff0b8;
	font-size: .76rem !important;
	line-height: 1.35 !important;
}

.kssr-access-plan__comparison-note {
	margin: 0 !important;
	color: #6d5a53 !important;
	font-size: .65rem !important;
	line-height: 1.45 !important;
}

@container (max-width: 680px) {
	.kssr-access-plan__comparison {
		padding: 10px;
	}

	.kssr-access-plan__comparison h4 {
		font-size: .88rem;
	}

	.kssr-access-plan__comparison-scroll {
		overflow-x: visible;
	}

	.kssr-access-plan__comparison table {
		min-width: 0;
		table-layout: fixed;
		font-size: .62rem;
	}

	.kssr-access-plan__comparison th,
	.kssr-access-plan__comparison td {
		padding: 6px 4px;
		overflow-wrap: anywhere;
	}

	.kssr-access-plan__comparison th:nth-child(1),
	.kssr-access-plan__comparison td:nth-child(1) {
		width: 36%;
	}

	.kssr-access-plan__comparison th:nth-child(2),
	.kssr-access-plan__comparison td:nth-child(2) {
		width: 20%;
	}

	.kssr-access-plan__comparison th:nth-child(3),
	.kssr-access-plan__comparison td:nth-child(3) {
		width: 25%;
	}

	.kssr-access-plan__comparison th:nth-child(4),
	.kssr-access-plan__comparison td:nth-child(4) {
		width: 19%;
	}

	.kssr-access-plan__comparison thead th {
		font-size: .55rem;
		letter-spacing: 0;
	}
}

@media (max-width: 680px) {
	.kssr-access-plan__comparison {
		padding: 10px;
	}

	.kssr-access-plan__comparison-scroll {
		overflow-x: visible;
	}

	.kssr-access-plan__comparison table {
		min-width: 0;
		table-layout: fixed;
		font-size: .62rem;
	}

	.kssr-access-plan__comparison th,
	.kssr-access-plan__comparison td {
		padding: 6px 4px;
		overflow-wrap: anywhere;
	}

	.kssr-access-plan__comparison thead th {
		font-size: .55rem;
		letter-spacing: 0;
	}
}

.kssr-access-plan__button,
.kssr-access-plan__form button {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	min-height: 43px;
	margin-top: auto;
	padding: 9px 14px;
	border: 0;
	border-radius: 11px;
	color: var(--kssr-cream) !important;
	background: linear-gradient(105deg, var(--kssr-umber), var(--kssr-indigo));
	box-shadow: 0 7px 16px rgba(58, 49, 95, .15);
	font-size: .83rem;
	font-weight: 850;
	text-decoration: none !important;
	cursor: pointer;
}

.kssr-access-plan__button.is-disabled {
	opacity: .58;
	cursor: not-allowed;
}

.kssr-access-plan__form button:disabled {
	opacity: .58;
	cursor: not-allowed;
}

.kssr-access-plan__button.is-complete {
	color: #59443e !important;
	background: rgba(255, 253, 248, .62);
	box-shadow: none;
}

.kssr-access-plan__actions {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 8px;
	margin-top: auto;
}

.kssr-access-plan__actions .kssr-access-plan__button {
	width: 100%;
	margin-top: 0;
	text-align: center;
}

.kssr-access-plan__form {
	position: relative;
	z-index: 1;
	display: grid;
	gap: 7px;
	margin-top: auto;
}

.kssr-access-plan__form label {
	color: #59443e;
	font-size: .75rem;
	font-weight: 800;
}

.kssr-access-plan__form input,
.kssr-access-plan__form select {
	width: 100%;
	min-width: 0;
	min-height: 43px;
	padding: 9px 11px;
	border: 1px solid rgba(74, 45, 34, .23);
	border-radius: 10px;
	color: var(--kssr-ink);
	background: rgba(255, 253, 248, .82);
}

.kssr-access-plan__choices {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.kssr-access-plan__choices legend {
	margin-bottom: 7px;
	color: #59443e;
	font-size: .75rem;
	font-weight: 800;
}

.kssr-access-plan__choices label {
	display: flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	padding: 8px 7px;
	border: 1px solid rgba(74, 45, 34, .18);
	border-radius: 9px;
	background: rgba(255, 253, 248, .52);
}

.kssr-access-plan__choices input[type="checkbox"] {
	width: 17px;
	min-height: 17px;
	margin: 0;
	padding: 0;
	accent-color: var(--kssr-indigo);
}

.kssr-access-plan__form button { margin-top: 2px; }
.kssr-access-plan__form [role="status"] { min-height: 1.25em; margin: 2px 0 0; color: var(--kssr-indigo); font-size: .76rem; }
.kssr-access-plan__form [role="status"] a { color: var(--kssr-indigo); font-weight: 800; }

.kssr-access-gate__fineprint {
	max-width: 880px;
	margin: 20px auto 0;
	color: var(--kssr-muted);
	font-size: .76rem;
	line-height: 1.5;
	text-align: center;
}

.kssr-section-cards {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.kssr-section-card {
	display: flex;
	min-height: 168px;
	padding: 20px;
	flex-direction: column;
	border: 1px solid rgba(74, 45, 34, .13);
	border-radius: 16px;
	background: linear-gradient(125deg, #fffaf1, #efeafa 57%, #e5f5ed);
	box-shadow: var(--kssr-shadow);
}

.kssr-section-card:nth-child(2n) {
	background: linear-gradient(125deg, #f4ebdf, #fff5cf 57%, #f2e4ef);
}

.kssr-section-card h3 {
	margin: 0 0 8px;
	font-size: 1.22rem;
}

.kssr-section-card p {
	margin: 0;
	color: var(--kssr-muted);
}

.kssr-section-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 18px;
	margin-top: auto;
	padding-top: 14px;
}

.kssr-section-card__actions a {
	color: var(--kssr-umber-soft);
	font-weight: 800;
	text-decoration: none;
}

.kssr-review-centre {
	margin-top: 18px;
	padding: 22px;
	border: 1px solid #d8c9bb;
	border-radius: 18px;
	background: rgba(255, 253, 248, .92);
	box-shadow: var(--kssr-shadow);
}

.kssr-review-centre__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 14px;
}

.kssr-review-centre__heading h3 {
	margin: 0;
	font-size: 1.45rem;
}

.kssr-review-centre__heading button {
	padding: 8px 12px;
	border: 1px solid #d4c4b7;
	border-radius: 9px;
	color: var(--kssr-umber-soft);
	background: #fffdf8;
	cursor: pointer;
}

.kssr-review-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
}

.kssr-review-grid > article {
	min-width: 0;
	padding: 14px;
	border-radius: 13px;
	background: #f5ede3;
}

.kssr-review-grid > article:nth-child(3n+2) { background: #eeebf7; }
.kssr-review-grid > article:nth-child(3n) { background: #e7f4ed; }

.kssr-review-grid > article > strong {
	display: block;
	margin-bottom: 8px;
	font-size: .8rem;
	letter-spacing: .045em;
	text-transform: uppercase;
}

.kssr-review-grid p,
.kssr-review-grid ul {
	margin: 0;
	color: var(--kssr-muted);
	font-size: .82rem;
}

.kssr-review-grid ul {
	padding: 0;
	list-style: none;
}

.kssr-review-grid li + li {
	margin-top: 8px;
	padding-top: 8px;
	border-top: 1px solid rgba(74, 45, 34, .1);
}

.kssr-review-grid li strong,
.kssr-review-grid li span,
.kssr-review-grid li small {
	display: block;
}

.kssr-review-grid li span {
	margin: 2px 0;
}

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

.kssr-dashboard__home-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 18px 0 26px;
}

.kssr-dashboard__home-actions a {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 9px 14px;
	border: 1px solid #5363a6;
	border-radius: 6px;
	color: #fff !important;
	background: #5363a6;
	font-size: .82rem;
	font-weight: 800;
	text-decoration: none;
}

.kssr-dashboard__home-actions a + a {
	color: #3c466f !important;
	background: #fff;
}

.kssr-dashboard-library {
	display: grid;
	gap: 14px;
	margin-top: 22px;
	scroll-margin-top: 24px;
}

.kssr-dashboard-library__heading {
	display: grid;
	gap: 5px;
}

.kssr-dashboard-library__heading h3,
.kssr-dashboard-library__heading p {
	margin: 0;
}

.kssr-dashboard-tools__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.kssr-dashboard-tools__grid > a {
	display: grid;
	min-width: 0;
	gap: 6px;
	padding: 18px;
	border: 1px solid #cfd8e8;
	border-radius: 8px;
	color: #30375e !important;
	background: #fff;
	box-shadow: 0 8px 20px rgba(45, 54, 86, .07);
	text-decoration: none;
}

.kssr-dashboard-tools__grid > a:hover,
.kssr-dashboard-tools__grid > a:focus-visible {
	border-color: #5363a6;
	box-shadow: 0 10px 24px rgba(45, 54, 86, .13);
}

.kssr-dashboard-tools__grid strong {
	font-size: 1rem;
}

.kssr-dashboard-tools__grid span {
	color: #5f667d;
	font-size: .84rem;
	line-height: 1.45;
}

.kssr-dashboard-tools__grid small {
	margin-top: 5px;
	color: #5363a6;
	font-size: .75rem;
	font-weight: 850;
}

.kssr-programme-card {
	display: flex;
	min-height: 224px;
	padding: 24px;
	flex-direction: column;
	border: 1px solid #dce3f1;
	border-radius: 18px;
	box-shadow: 0 9px 26px -8px rgba(64, 41, 31, .13);
}

.kssr-programme-card--toefl { background: linear-gradient(110deg, #e6f6ed, #d9f3ed 55%, #fff1c9); }
.kssr-programme-card--ielts { background: linear-gradient(110deg, #f0e8fa, #f4ddea 55%, #ffddae); }
.kssr-programme-card--sat { background: linear-gradient(110deg, #fff0c3, #ffe2be 55%, #f5d6de); }
.kssr-programme-card--ap-french { background: linear-gradient(110deg, #e5efff, #d8e8ff 55%, #f7e6b9); }
.kssr-programme-card--ap-lang { background: linear-gradient(110deg, #dff5ee, #dfeaff 55%, #f0ddf7); }
.kssr-programme-card--ap-lit { background: linear-gradient(110deg, #eee4fb, #f6dfeb 55%, #ffe5c6); }
.kssr-programme-card--tef-canada { background: linear-gradient(110deg, #e4f5ef, #d3eee5 55%, #f7e7b9); }

.kssr-programme-card h3 {
	margin: 0 0 18px;
	font-size: 1.25rem;
}

.kssr-programme-card p {
	margin: 0;
	font-size: 1.03rem;
	font-weight: 650;
}

.kssr-programme-card__sections {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
	margin: 18px 0;
}

.kssr-programme-card__sections span,
.kssr-programme-card__sections a {
	padding: 5px 9px;
	border: 1px solid rgba(74, 45, 34, .14);
	border-radius: 999px;
	color: var(--kssr-umber-soft);
	background: rgba(255, 253, 248, .56);
	font-size: .72rem;
	font-weight: 750;
	text-decoration: none;
}

.kssr-programme-card__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: center;
	gap: 10px;
	margin-top: auto;
}

.kssr-programme-card__actions > a {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 12px;
	border: 2px solid #25335d;
	border-radius: 10px;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	background: #25335d;
	font-size: .78rem;
	font-weight: 850;
	line-height: 1.2;
	text-align: center;
}

.kssr-programme-card__actions > a.is-secondary {
	color: #25335d !important;
	-webkit-text-fill-color: #25335d !important;
	background: #fff;
}

.kssr-programme-card__actions > a:hover,
.kssr-programme-card__actions > a:focus-visible {
	outline: 3px solid #f0b52d;
	outline-offset: 2px;
	filter: brightness(1.08);
}

.kssr-programme-card a:not(.kssr-programme-card__actions > a),
.kssr-dashboard__support a,
.kssr-assessment-results a {
	color: var(--kssr-umber-soft);
	font-weight: 750;
	text-decoration: none;
}

.kssr-dashboard__activity {
	margin-top: 18px;
	padding: 24px;
	border: 1px solid #dce3f1;
	border-radius: 18px;
	background: var(--kssr-paper);
	box-shadow: var(--kssr-shadow);
}

.kssr-dashboard__book-access {
	margin-top: 18px;
	padding: 24px;
	border: 1px solid #d7c8bb;
	border-radius: 18px;
	background: linear-gradient(110deg, #fff9ef, #f1ecfa 55%, #e7f5ed);
	box-shadow: var(--kssr-shadow);
}

.kssr-dashboard__book-access h3 {
	margin: 0 0 8px;
}

.kssr-dashboard__book-access form > div {
	display: flex;
	gap: 10px;
	margin-top: 8px;
}

.kssr-dashboard__book-access input {
	min-width: 0;
	flex: 1 1 260px;
	padding: 10px 12px;
	border: 1px solid #cbbbac;
	border-radius: 10px;
}

.kssr-dashboard__book-access button {
	padding: 10px 16px;
	border: 0;
	border-radius: 10px;
	color: var(--kssr-cream);
	background: linear-gradient(105deg, var(--kssr-umber), var(--kssr-indigo));
	font-weight: 750;
	cursor: pointer;
}

.kssr-dashboard__book-access [role="status"] {
	margin-bottom: 0;
	color: var(--kssr-indigo);
}

.kssr-dashboard__activity h3,
.kssr-dashboard__support h3 {
	margin: 0 0 12px;
	font-size: .8rem;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.kssr-dashboard__support {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin-top: 26px;
	padding-top: 22px;
	border-top: 1px solid #e8ddd3;
}

.kssr-dashboard__support h3 {
	flex-basis: 100%;
}

.kssr-assessment-test__header {
	min-height: 68px;
	padding: 12px 26px;
}

.kssr-assessment-test__title {
	color: #f8ecdd;
	font-size: 1.375rem;
	font-weight: 800;
	line-height: 1.25;
	letter-spacing: -.015em;
}

.kssr-assessment-test__timer {
	color: var(--kssr-yellow);
	font-size: .94rem;
	font-weight: 750;
	font-variant-numeric: tabular-nums;
}

.kssr-assessment-test__content {
	padding: 18px 26px 24px;
}

.kssr-assessment-test__browser-warning {
	margin: 14px 0 0;
	padding: 12px 14px;
	border: 1px solid #dfc995;
	border-radius: 12px;
	color: #654d27;
	background: #fff5d8;
	font-size: .86rem;
	line-height: 1.5;
}

.kssr-assessment-test__browser-warning strong {
	margin-right: 5px;
}

.kssr-assessment-test__progress {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	min-height: 54px;
	padding: 10px 14px;
	border-radius: 12px;
	color: var(--kssr-umber-soft);
	background: var(--kssr-sand);
	font-size: .86rem;
	font-weight: 700;
}

.kssr-assessment-test__workspace {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, 500px);
	gap: 14px;
	min-height: 480px;
	margin-top: 14px;
}

.kssr-assessment-test__passage,
.kssr-assessment-test__question,
.kssr-assessment-results__card {
	min-width: 0;
	padding: 20px;
	border-radius: 16px;
	background: var(--kssr-paper);
	box-shadow: var(--kssr-shadow);
}

.kssr-assessment-test__question {
	background: var(--kssr-paper-warm);
}

.kssr-assessment-test__eyebrow,
.kssr-assessment-results__eyebrow {
	margin: 0 0 8px;
	color: #9a5f3d;
	font-size: .75rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.kssr-assessment-test__question h2 {
	margin: 0 0 12px;
	font-size: 1.5rem;
}

.kssr-assessment-test__passage h2 {
	margin: 0 0 12px;
	color: var(--kssr-muted);
	font-size: .92rem;
	font-weight: 650;
	line-height: 1.45;
	letter-spacing: .01em;
}

.kssr-assessment-test__passage-copy {
	font-size: 1.02rem;
	line-height: 1.72;
}

.kssr-assessment-test__audio {
	margin: 0 0 14px;
	padding: 14px;
	border: 1px solid #d9ccbf;
	border-radius: 16px;
	background: linear-gradient(110deg, #f1e7dc, #ece7f5 55%, #e3f4ed);
}

.kssr-assessment-test__audio[hidden] {
	display: none !important;
}

.kssr-assessment-test__audio audio {
	display: block;
	width: 100%;
}

.kssr-assessment-test__audio p {
	margin: 7px 0 0;
	color: var(--kssr-muted);
	font-size: .82rem;
}

.kssr-assessment-test__transcript {
	margin: 0 0 14px;
	padding: 12px 14px;
	border: 1px solid #d8deeb;
	border-radius: 12px;
	background: #f7f9fd;
}

.kssr-assessment-test__transcript[hidden] {
	display: none !important;
}

.kssr-assessment-test__transcript summary {
	color: var(--kssr-indigo);
	font-weight: 800;
	cursor: pointer;
}

.kssr-assessment-test__transcript-note {
	color: #795f28;
	font-size: .82rem;
	font-weight: 700;
}

.kssr-source-window {
	overflow: hidden;
	border: 3px solid #4b858a;
	border-radius: 9px;
	background: #fff;
}

.kssr-source-window__bar {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 8px;
	padding: 8px;
	background: #4b858a;
}

.kssr-source-window__bar span {
	padding: 5px 8px;
	border: 1px solid #345d61;
	background: #fff;
	font-weight: 400;
}

.kssr-source-window__body {
	padding: 18px 20px;
}

.kssr-source-window__body p:first-child {
	margin-top: 0;
}

.kssr-source-window--phone {
	max-width: 580px;
	margin: 0 auto;
	border: 8px solid #333c46;
	border-radius: 34px;
	box-shadow: inset 0 0 0 2px #aeb5bd;
}

.kssr-source-window__phone-bar {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 10px;
	padding: 10px 16px;
	color: #fff;
	background: #397f84;
}

.kssr-source-window__phone-bar strong {
	overflow-wrap: anywhere;
}

.kssr-assessment-test__options {
	display: grid;
	gap: 8px;
	margin: 14px 0;
}

.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__workspace {
	grid-template-columns: minmax(0, 1fr) minmax(420px, 1fr);
}

.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__question {
	display: flex;
	min-height: 0;
	flex-direction: column;
}

.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__options {
	min-height: 0;
	margin-bottom: 8px;
}

.kssr-ielts-question-list {
	display: grid;
	max-height: min(72vh, 820px);
	padding: 2px 10px 8px 2px;
	gap: 18px;
	overflow-y: auto;
	overscroll-behavior: contain;
	scrollbar-gutter: stable;
}

.kssr-ielts-question-list:focus-visible {
	outline: 3px solid rgba(83, 99, 166, .38);
	outline-offset: 3px;
}

.kssr-ielts-question-task {
	display: grid;
	gap: 10px;
}

.kssr-ielts-question-task__instruction {
	position: sticky;
	top: 0;
	z-index: 2;
	margin: 0;
	padding: 11px 13px;
	border: 1px solid #cfd8e9;
	border-radius: 10px;
	color: #384873;
	background: rgba(244, 247, 253, .97);
	box-shadow: 0 5px 14px rgba(54, 67, 105, .08);
	font-size: .9rem;
	font-weight: 750;
	line-height: 1.5;
}

.kssr-ielts-question {
	display: grid;
	gap: 10px;
	padding: 16px;
	border: 1px solid #ded5cc;
	border-radius: 14px;
	background: #fffdf9;
	scroll-margin: 12px;
}

.kssr-ielts-question:focus-visible {
	outline: 3px solid rgba(83, 99, 166, .38);
	outline-offset: 2px;
}

.kssr-ielts-question.is-flagged {
	border-color: #bd7d9f;
	box-shadow: inset 4px 0 0 #a85c91;
}

.kssr-ielts-question.is-reported {
	box-shadow: inset -4px 0 0 #5f789f;
}

.kssr-ielts-question.is-flagged.is-reported {
	box-shadow: inset 4px 0 0 #a85c91, inset -4px 0 0 #5f789f;
}

.kssr-ielts-question h3 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.48;
}

.kssr-ielts-question__guidance {
	margin: 0;
	color: var(--kssr-muted);
	font-size: .84rem;
	line-height: 1.45;
}

.kssr-ielts-question__answers {
	display: grid;
	gap: 7px;
}

.kssr-ielts-question__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 7px;
}

.kssr-ielts-question__actions button {
	min-height: 34px;
	padding: 6px 10px;
	border: 1px solid #d6c9bd;
	border-radius: 8px;
	color: var(--kssr-umber-soft);
	background: #f8f1e8;
	font: inherit;
	font-size: .76rem;
	font-weight: 750;
	cursor: pointer;
}

.kssr-ielts-question__actions button[aria-pressed="true"] {
	border-color: #84617d;
	color: var(--kssr-yellow);
	-webkit-text-fill-color: var(--kssr-yellow);
	background: #84617d;
}

.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-text-entry--ielts input {
	width: 100%;
	max-width: 100%;
	letter-spacing: normal;
}

.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__flags {
	display: none;
}

.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__navigation {
	grid-template-columns: minmax(120px, 1fr) minmax(160px, 1fr);
}

@media (max-width: 1000px) {
	.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__workspace {
		grid-template-columns: 1fr;
	}
}

@container (max-width: 1000px) {
	.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__workspace {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 680px) {
	.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__navigation {
		grid-template-columns: 1fr;
	}

	.kssr-ielts-question-list {
		max-height: none;
		padding-right: 2px;
		overflow: visible;
		scrollbar-gutter: auto;
	}

	.kssr-ielts-question-task__instruction {
		position: static;
	}
}

@container (max-width: 680px) {
	.kssr-assessment-test[data-kssr-ielts-grouped="yes"] .kssr-assessment-test__navigation {
		grid-template-columns: 1fr;
	}

	.kssr-ielts-question-list {
		max-height: none;
		padding-right: 2px;
		overflow: visible;
		scrollbar-gutter: auto;
	}

	.kssr-ielts-question-task__instruction {
		position: static;
	}
}

.kssr-text-entry {
	display: grid;
	gap: 14px;
	padding: 16px;
	border: 1px solid #d9cbbd;
	border-radius: 14px;
	background: #fffdf8;
}

.kssr-text-entry__word {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	gap: 3px;
	font-size: 1.45rem;
}

.kssr-text-entry__slots {
	display: inline-flex;
	gap: 4px;
}

.kssr-text-entry__slots span {
	display: inline-grid;
	width: 1.05em;
	height: 1.3em;
	place-items: center;
	border-bottom: 3px solid var(--kssr-indigo);
	font-weight: 800;
	text-transform: lowercase;
}

.kssr-text-entry label {
	display: grid;
	gap: 6px;
	font-weight: 700;
}

.kssr-text-entry input {
	max-width: 320px;
	padding: 10px 12px;
	border: 1px solid #cdbfb2;
	border-radius: 9px;
	font: inherit;
	letter-spacing: .2em;
}

.kssr-text-entry button {
	width: max-content;
	padding: 9px 14px;
	border: 0;
	border-radius: 9px;
	color: #fff;
	background: var(--kssr-indigo);
	font-weight: 750;
	cursor: pointer;
}

.kssr-assessment-test__option {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 10px;
	border: 1px solid transparent;
	border-radius: 12px;
	cursor: pointer;
}

.kssr-assessment-test__option:hover,
.kssr-assessment-test__option:has(input:checked) {
	border-color: #cdbdaf;
	background: #f2e7d9;
}

.kssr-assessment-test__navigation {
	display: grid;
	grid-template-columns: 116px minmax(170px, .85fr) 116px;
	align-items: center;
	gap: 10px;
	margin-top: 16px;
	padding: 12px 14px;
	border-radius: 12px;
	background: var(--kssr-sand);
}

.kssr-assessment-test__flags {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-content: center;
	gap: 7px;
}

.kssr-assessment-test__flags button[aria-pressed="true"] {
	color: var(--kssr-yellow);
	-webkit-text-fill-color: var(--kssr-yellow);
	background: var(--kssr-umber);
}

.kssr-assessment-test__navigation button,
.kssr-bank-admin .button,
.kssr-bank-admin button {
	min-height: 40px;
	padding: 8px 14px;
	border: 0;
	border-radius: 9px;
	color: var(--kssr-umber-soft);
	background: #fffdf8;
	font: inherit;
	font-weight: 750;
	cursor: pointer;
}

.kssr-assessment-test__navigation > button,
.kssr-assessment-test__flags button {
	width: 100%;
	min-width: 0;
}

.kssr-assessment-test__flags button {
	min-height: 42px;
	padding: 6px 9px;
	font-size: .76rem;
	line-height: 1.25;
}

.kssr-assessment-test__issue-note {
	display: grid;
	gap: 10px;
	margin-top: 12px;
	padding: 14px;
	border: 1px solid #d7c8bb;
	border-radius: 12px;
	background: #fffdf8;
}

.kssr-assessment-test__issue-note[hidden] {
	display: none !important;
}

.kssr-assessment-test__issue-note label {
	display: grid;
	gap: 6px;
	font-weight: 750;
}

.kssr-assessment-test__issue-note textarea {
	width: 100%;
	padding: 10px;
	border: 1px solid #cdbfb2;
	border-radius: 9px;
	font: inherit;
	resize: vertical;
}

.kssr-assessment-test__issue-note > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.kssr-assessment-test__issue-note button {
	padding: 8px 12px;
	border: 0;
	border-radius: 8px;
	font-weight: 750;
	cursor: pointer;
}

.kssr-assessment-test__navigation .is-primary,
.kssr-bank-admin .button-primary {
	color: var(--kssr-cream);
	background: linear-gradient(105deg, var(--kssr-umber), var(--kssr-indigo));
}

.kssr-assessment-test__empty {
	padding: 64px 24px;
	text-align: center;
}

.kssr-assessment-results {
	padding: 28px 30px 36px;
}

.kssr-assessment-results h2 {
	margin: 0;
	font-size: clamp(2rem, 4vw, 2.65rem);
}

.kssr-assessment-results__summary {
	display: grid;
	grid-template-columns: minmax(190px, .75fr) minmax(300px, 1.35fr) minmax(190px, .7fr);
	align-items: center;
	gap: 18px;
	margin-top: 16px;
	padding: 18px 20px;
	border-radius: 18px;
	background: linear-gradient(90deg, #fef1da, #e8e3f5 52%, #ddf7ed);
	box-shadow: var(--kssr-shadow);
}

.kssr-assessment-results__score {
	display: grid;
	gap: 4px;
	color: var(--kssr-indigo);
	font-size: .9rem;
	font-weight: 800;
}

.kssr-assessment-results__score > span:first-child {
	font-size: .72rem;
	letter-spacing: .05em;
}

.kssr-assessment-results__band {
	font-size: 2.1rem;
	line-height: 1;
}

.kssr-toefl-score-info {
	padding: 12px 14px;
	border-left: 1px solid rgba(58, 49, 95, .18);
	color: #514968;
	font-size: .75rem;
	line-height: 1.45;
}

.kssr-toefl-score-info p {
	margin: 4px 0 0;
}

.kssr-assessment-results__summary > .kssr-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 11px 14px;
	border-radius: 10px;
	color: #fff;
	background: linear-gradient(105deg, var(--kssr-umber), var(--kssr-indigo));
	text-align: center;
}

.kssr-assessment-results__signup {
	display: grid;
	gap: 8px;
	padding: 14px 16px;
	border: 1px solid rgba(91, 52, 54, .14);
	border-radius: 14px;
	background: rgba(255, 255, 255, .68);
}

.kssr-assessment-results__signup h3,
.kssr-assessment-results__signup p {
	margin: 0;
}

.kssr-assessment-results__signup h3 {
	font-size: 1rem;
	line-height: 1.35;
}

.kssr-assessment-results__signup ul {
	margin: 0;
	padding-left: 1.2em;
	font-size: .82rem;
	line-height: 1.45;
}

.kssr-assessment-results__signup .kssr-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 10px 14px;
	border-radius: 10px;
	color: #fff;
	background: linear-gradient(105deg, var(--kssr-umber), var(--kssr-indigo));
	text-align: center;
}

.kssr-assessment-results__breakdown {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
	margin-top: 14px;
}

.kssr-assessment-results__breakdown .kssr-assessment-results__card:nth-child(1) { background: #fff9ef; }
.kssr-assessment-results__breakdown .kssr-assessment-results__card:nth-child(2) { background: #f1ecfa; }
.kssr-assessment-results__breakdown .kssr-assessment-results__card:nth-child(3) { background: #e7f5ed; }

.kssr-assessment-results__support {
	margin-top: 14px;
	max-width: 780px;
}

.kssr-assessment-results__account {
	display: grid;
	gap: 10px;
	margin-top: 14px;
	background: linear-gradient(130deg, #fff1c9, #f0e8fa 52%, #dff3ed);
}

.kssr-assessment-results__account h3,
.kssr-assessment-results__account p {
	margin: 0;
}

.kssr-assessment-results__account .kssr-button {
	justify-self: start;
}

.kssr-assessment-results__support-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.kssr-assessment-results__support-actions a {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	padding: 9px 13px;
	border-radius: 9px;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	background: linear-gradient(105deg, var(--kssr-umber), var(--kssr-indigo));
}

.kssr-assessment-results__support-actions a:link,
.kssr-assessment-results__support-actions a:visited,
.kssr-assessment-results__support-actions a:hover,
.kssr-assessment-results__support-actions a:focus {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
}

.kssr-speaking__header {
	min-height: 68px;
	padding: 12px 26px;
}

.kssr-speaking__notice {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 16px 22px 0;
	padding: 11px 14px;
	border-radius: 12px;
	color: var(--kssr-umber-soft);
	background: var(--kssr-sand);
	font-size: .84rem;
}

.kssr-speaking__notice strong {
	white-space: nowrap;
}

.kssr-speaking__workspace {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(360px, .85fr);
	gap: 14px;
	padding: 14px 22px 22px;
}

.kssr-speaking__prompt,
.kssr-speaking__recorder,
.kssr-speaking__results {
	min-width: 0;
	padding: 22px;
	border-radius: 17px;
	background: var(--kssr-paper);
	box-shadow: var(--kssr-shadow);
}

.kssr-speaking__recorder {
	background: var(--kssr-paper-warm);
}

.kssr-speaking__prompt h2,
.kssr-speaking__recorder h2,
.kssr-speaking__results h2 {
	margin: 0 0 14px;
}

.kssr-speaking__test-guide {
	margin: 0 0 20px;
	padding: 18px;
	border: 1px solid rgba(81, 65, 118, .2);
	border-radius: 14px;
	background: linear-gradient(135deg, #f7f3fb, #fffaf1);
}

.kssr-speaking__test-guide h3 {
	margin: 2px 0 9px;
	font-size: 1.16rem;
}

.kssr-speaking__test-guide > p,
.kssr-speaking__part-list {
	margin: 8px 0;
	font-size: .9rem;
	line-height: 1.55;
}

.kssr-speaking__part-list {
	padding-left: 1.3rem;
}

.kssr-speaking__part-list li + li {
	margin-top: 7px;
}

.kssr-speaking__part-directions {
	margin-top: 15px;
	padding: 14px 15px;
	border-left: 4px solid var(--kssr-indigo);
	border-radius: 0 10px 10px 0;
	background: #fff;
}

.kssr-speaking__part-directions h4,
.kssr-speaking__part-directions p {
	margin: 0;
}

.kssr-speaking__part-directions p {
	margin-top: 6px;
	font-size: .9rem;
	line-height: 1.55;
}

.kssr-speaking__format-sources {
	color: var(--kssr-muted);
	font-size: .78rem !important;
}

#kssr-ielts-speaking .kssr-speaking__question-selector .kssr-sat-question-map {
	grid-template-columns: 1fr;
}

#kssr-ielts-speaking .kssr-speaking__question-selector .kssr-sat-question-map button {
	min-height: 42px;
	padding: 8px 12px;
	aspect-ratio: auto;
	border-radius: 10px;
	font-size: .82rem;
	line-height: 1.3;
}

.kssr-speaking__prompt label {
	display: grid;
	gap: 6px;
	margin-bottom: 16px;
	font-weight: 750;
}

.kssr-speaking__prompt select {
	width: 100%;
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid #cdbfb2;
	border-radius: 10px;
	background: #fffefb;
}

.kssr-speaking__prompt blockquote {
	margin: 16px 0;
	padding: 16px;
	border-left: 4px solid var(--kssr-magenta);
	border-radius: 0 12px 12px 0;
	background: #f5ecdf;
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.55;
	overflow-wrap: anywhere;
	white-space: pre-line;
}

.kssr-speaking-question--clusters {
	white-space: normal !important;
}

.kssr-speaking-question-cluster + .kssr-speaking-question-cluster {
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid rgba(113, 79, 66, .2);
}

.kssr-speaking-question-cluster h4 {
	margin: 0 0 8px;
	font-size: 1.02em;
	line-height: 1.35;
}

.kssr-speaking-question-cluster ol {
	margin: 0;
	padding-left: 1.8em;
}

.kssr-speaking-question-cluster li {
	padding-left: .2em;
	line-height: 1.52;
}

.kssr-speaking-question-cluster li + li {
	margin-top: 5px;
}

.kssr-speaking__source-audio {
	margin: 12px 0;
}

.kssr-speaking__source-audio audio,
.kssr-speaking__playback audio {
	display: block;
	width: 100%;
	margin-top: 8px;
}

.kssr-speaking__timing {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.kssr-speaking__timing span {
	padding: 7px 10px;
	border-radius: 999px;
	background: #eeebf7;
	font-size: .8rem;
}

.kssr-speaking__meter {
	height: 10px;
	margin: 18px 0 14px;
	overflow: hidden;
	border-radius: 999px;
	background: #ded3c9;
}

.kssr-speaking__meter i {
	display: block;
	width: 3%;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, var(--kssr-indigo), #65cdb5, #f3d66c, var(--kssr-magenta));
	transition: width .08s linear;
}

.kssr-speaking__controls {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.kssr-speaking__controls button,
.kssr-speaking__retry button {
	min-height: 42px;
	padding: 9px 14px;
	border: 0;
	border-radius: 10px;
	color: var(--kssr-umber-soft);
	background: var(--kssr-sand);
	font-weight: 800;
	cursor: pointer;
}

.kssr-speaking__controls button.is-primary {
	color: var(--kssr-cream);
	background: linear-gradient(105deg, var(--kssr-umber), var(--kssr-indigo));
}

.kssr-speaking__controls button:disabled {
	opacity: .5;
	cursor: not-allowed;
}

.kssr-speaking__controls span {
	margin-left: auto;
	color: var(--kssr-indigo);
	font-size: 1.15rem;
	font-weight: 850;
	font-variant-numeric: tabular-nums;
}

.kssr-speaking__transcript,
.kssr-speaking__playback {
	margin-top: 14px;
	padding: 15px;
	border: 1px solid #dfd3c8;
	border-radius: 13px;
	background: rgba(255, 253, 248, .82);
}

.kssr-speaking__transcript p {
	min-height: 84px;
	margin: 8px 0 0;
	line-height: 1.65;
}

.kssr-speaking__results {
	margin: 0 22px 22px;
}

.kssr-speaking__results h2 small {
	font-size: .48em;
	font-weight: 650;
}

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

.kssr-speaking__criteria > article,
.kssr-speaking__feedback-grid > article,
.kssr-speaking__results aside,
.kssr-speaking__retry {
	padding: 16px;
	border-radius: 13px;
	background: #f5ede3;
}

.kssr-speaking__criteria > article:nth-child(2n),
.kssr-speaking__feedback-grid > article:nth-child(2n) { background: #e7f4ed; }

.kssr-speaking__criteria > article > div {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.kssr-speaking__criteria > article > div span {
	color: var(--kssr-indigo);
	font-size: 1.1rem;
	font-weight: 850;
}

.kssr-speaking__criteria small {
	display: inline-block;
	margin-top: 4px;
	text-transform: capitalize;
}

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

.kssr-speaking__results aside {
	margin-top: 10px;
	background: #fff1c9;
}

.kssr-speaking__footer {
	padding: 0 22px 20px;
	color: var(--kssr-muted);
	font-size: .8rem;
}

.kssr-bank-admin {
	margin: 20px 20px 0 0;
	overflow: hidden;
	border-radius: 18px;
	background: var(--kssr-parchment);
	box-shadow: 0 16px 50px rgba(64, 41, 31, .12);
}

.kssr-bank-admin__topbar {
	min-height: 78px;
}

.kssr-bank-admin__actions,
.kssr-bank-admin__filters {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
}

.kssr-bank-admin__actions {
	margin-bottom: 18px;
}

.kssr-bank-admin__filters,
.kssr-bank-admin__table-wrap,
.kssr-bank-admin__import {
	padding: 18px 20px;
	border: 1px solid #dce3f1;
	border-radius: 18px;
	background: var(--kssr-paper);
	box-shadow: var(--kssr-shadow);
}

.kssr-bank-admin__filters input,
.kssr-bank-admin__filters select,
.kssr-question-fields input,
.kssr-question-fields select,
.kssr-question-fields textarea {
	min-height: 40px;
	border: 1px solid #cdbfb2;
	border-radius: 9px;
}

.kssr-bank-admin__table-wrap {
	margin-top: 14px;
	overflow-x: auto;
}

.kssr-student-results__privacy {
	margin-bottom: 16px;
	padding: 14px 18px;
	border-left: 4px solid #5363a6;
	border-radius: 10px;
	background: #eef5fb;
	line-height: 1.55;
}

.kssr-student-results__summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.kssr-student-results__summary article {
	padding: 16px 18px;
	border: 1px solid #dce3f1;
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 8px 22px -14px rgba(64, 41, 31, .28);
}

.kssr-student-results__summary span,
.kssr-student-results__summary strong {
	display: block;
}

.kssr-student-results__summary span {
	color: #6b6670;
	font-size: .78rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.kssr-student-results__summary strong {
	margin-top: 5px;
	color: #4d2026;
	font-size: 1.75rem;
}

.kssr-student-results__filters {
	display: grid;
	grid-template-columns: minmax(220px, 1.5fr) repeat(4, minmax(130px, 1fr)) minmax(145px, 1fr) minmax(145px, 1fr);
	align-items: end;
}

.kssr-student-results__filters label {
	display: grid;
	gap: 6px;
	font-weight: 700;
}

.kssr-student-results__filters label > span {
	font-size: .78rem;
}

.kssr-student-results__filter-actions {
	display: flex;
	grid-column: 1 / -1;
	flex-wrap: wrap;
	gap: 8px;
}

.kssr-student-results__table td {
	vertical-align: top;
}

.kssr-student-results__table td > small,
.kssr-student-results__table td > a,
.kssr-student-results__table td > strong + small {
	display: block;
	margin-top: 4px;
}

.kssr-student-results__table td > a {
	max-width: 220px;
	overflow-wrap: anywhere;
}

.kssr-student-results__source {
	display: inline-block;
	padding: 5px 9px;
	border-radius: 999px;
	background: #e7f5ed;
	font-size: .75rem;
	font-weight: 750;
	white-space: nowrap;
}

.kssr-student-results__source.is-official {
	background: #fff1c9;
}

.kssr-student-results__details {
	min-width: 105px;
}

.kssr-student-results__details[open] {
	min-width: 340px;
}

.kssr-student-results__details summary {
	color: #385a78;
	cursor: pointer;
	font-weight: 750;
}

.kssr-student-results__breakdown {
	margin-top: 14px;
}

.kssr-student-results__breakdown h4 {
	margin: 0 0 7px;
}

.kssr-student-results__breakdown ul {
	margin: 0;
}

.kssr-student-results__breakdown li {
	display: grid;
	gap: 2px;
	margin-bottom: 7px;
}

.kssr-student-results__breakdown li span {
	color: #6b6670;
	font-size: .8rem;
}

.kssr-student-results__official {
	margin: 14px 0 0;
}

.kssr-student-results__official div {
	display: flex;
	justify-content: space-between;
	gap: 18px;
	padding: 5px 0;
	border-bottom: 1px solid #eadfd6;
}

.kssr-student-results__official dd {
	margin: 0;
	font-weight: 800;
}

.kssr-student-results__pagination .page-numbers {
	display: inline-block;
	margin-right: 4px;
	padding: 6px 10px;
	border-radius: 7px;
	background: #eef5fb;
}

.kssr-student-results__pagination .current {
	color: #fff;
	background: #5363a6;
}

.kssr-bank-admin table {
	width: 100%;
	border-collapse: collapse;
}

.kssr-bank-admin th,
.kssr-bank-admin td {
	padding: 15px 12px;
	border-bottom: 1px solid #eadfd6;
	text-align: left;
}

.kssr-bank-admin__import {
	margin-top: 14px;
}

.kssr-bank-admin__notice {
	margin: 0 0 16px;
	padding: 12px 16px;
	border-radius: 12px;
	background: #e7f5ed;
}

.kssr-question-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.kssr-question-fields label {
	display: grid;
	gap: 6px;
	font-weight: 650;
}

.kssr-question-fields .is-wide {
	grid-column: 1 / -1;
}

.kssr-question-audio {
	padding: 18px;
	border: 1px solid #d8c9bb;
	border-radius: 14px;
	background: #fffaf2;
}

.kssr-question-audio > label,
.kssr-question-audio > input,
.kssr-question-audio > audio {
	display: block;
	width: 100%;
}

.kssr-question-audio > input {
	margin-top: 7px;
}

.kssr-question-audio__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 10px 0;
}

.kssr-question-audio audio[hidden],
.kssr-question-audio button[hidden] {
	display: none !important;
}

@media (max-width: 1000px) {
	.kssr-writing__header {
		grid-template-columns: 1fr auto;
	}

	.kssr-writing__header-title {
		grid-column: 1 / -1;
		grid-row: 2;
		text-align: left;
	}

	.kssr-writing__form,
	.kssr-assessment-test__workspace,
	.kssr-speaking__workspace {
		grid-template-columns: 1fr;
	}

	.kssr-programmes,
	.kssr-assessment-results__breakdown,
	.kssr-review-grid,
	.kssr-tutoring-booking__options {
		grid-template-columns: 1fr;
	}

	.kssr-dashboard__body,
	.kssr-bank-admin__body {
		grid-template-columns: 1fr;
	}

	.kssr-student-results__summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kssr-student-results__filters {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kssr-dashboard__sidebar,
	.kssr-bank-admin__sidebar {
		display: flex;
		flex-wrap: wrap;
		gap: 0 18px;
	}
}

@media (max-width: 600px) {
	.kssr-student-results__summary,
	.kssr-student-results__filters {
		grid-template-columns: 1fr;
	}
}

/* Shortcodes often sit inside a theme-controlled content column. Container
 * queries keep the composed screens usable even when the viewport is wide but
 * the block itself is not. The media queries remain as a compatibility layer. */
@container (max-width: 1000px) {
	.kssr-writing__header {
		grid-template-columns: 1fr auto;
	}

	.kssr-writing__header-title {
		grid-column: 1 / -1;
		grid-row: 2;
		text-align: left;
	}

	.kssr-writing__form,
	.kssr-assessment-test__workspace,
	.kssr-speaking__workspace,
	.kssr-programmes,
	.kssr-assessment-results__breakdown,
	.kssr-review-grid,
	.kssr-tutoring-booking__options,
	.kssr-dashboard__body {
		grid-template-columns: 1fr;
	}

	.kssr-dashboard__sidebar {
		display: flex;
		flex-wrap: wrap;
		gap: 0 18px;
	}
}

@container (max-width: 680px) {
	.kssr-dashboard-tools__grid {
		grid-template-columns: 1fr;
	}

	.kssr-dashboard__home-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.kssr-access-gate {
		padding: 24px 16px;
	}

	.kssr-access-plan {
		min-height: 0;
		padding: 21px;
	}

	.kssr-access-gate__plans {
		grid-template-columns: 1fr;
	}
	.kssr-writing__header,
	.kssr-platform__topbar,
	.kssr-writing__notice,
	.kssr-assessment-results__summary {
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		padding: 20px;
	}

	.kssr-writing .kssr-timer {
		align-self: stretch;
		justify-self: stretch;
		justify-content: space-between;
	}

	.kssr-writing__notice,
	.kssr-writing .kssr-access {
		margin-right: 18px;
		margin-left: 18px;
	}

	.kssr-writing__notice span + span::before {
		display: none;
	}

	.kssr-writing__workspace,
	.kssr-dashboard__main {
		padding: 22px 18px;
	}

	.kssr-section-cards {
		grid-template-columns: 1fr;
	}

	.kssr-review-centre__heading,
	.kssr-assessment-test__navigation {
		align-items: stretch;
		flex-direction: column;
	}

	.kssr-assessment-test__navigation {
		grid-template-columns: 1fr;
	}

	.kssr-writing__prompt-panel,
	.kssr-writing__response-panel {
		padding: 20px;
	}

	.kssr-speaking__notice,
	.kssr-speaking__controls {
		align-items: stretch;
		flex-direction: column;
	}

	.kssr-speaking__workspace {
		padding: 12px 14px 16px;
	}

	.kssr-speaking__results {
		margin: 0 14px 16px;
		padding: 18px;
	}

	.kssr-speaking__criteria,
	.kssr-speaking__feedback-grid {
		grid-template-columns: 1fr;
	}

	.kssr-assessment-test__content,
	.kssr-assessment-results {
		padding: 16px 14px;
	}

	.kssr-assessment-test__passage,
	.kssr-assessment-test__question {
		padding: 16px;
	}

	.kssr-writing__support-grid {
		grid-template-columns: 1fr;
	}

	.kssr-programme-card__actions,
	.kssr-assessment-test__navigation,
	.kssr-dashboard__book-access form > div {
		align-items: stretch;
		flex-direction: column;
	}
}

@media (max-width: 680px) {
	.kssr-dashboard-tools__grid {
		grid-template-columns: 1fr;
	}

	.kssr-dashboard__home-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.kssr-access-gate {
		padding: 24px 16px;
	}

	.kssr-access-gate__plans {
		grid-template-columns: 1fr;
	}
	.kssr-writing__header,
	.kssr-platform__topbar,
	.kssr-bank-admin__topbar {
		align-items: flex-start;
		padding: 20px;
	}

	.kssr-writing__header,
	.kssr-platform__topbar,
	.kssr-bank-admin__topbar,
	.kssr-writing__notice,
	.kssr-assessment-results__summary {
		display: flex;
		flex-direction: column;
	}

	.kssr-writing .kssr-timer {
		align-self: stretch;
		justify-self: stretch;
		justify-content: space-between;
	}

	.kssr-writing__notice,
	.kssr-writing .kssr-access {
		margin-right: 18px;
		margin-left: 18px;
	}

	.kssr-writing__notice span + span::before {
		display: none;
	}

	.kssr-writing__workspace,
	.kssr-dashboard__main,
	.kssr-bank-admin__main {
		padding: 22px 18px;
	}

	.kssr-writing__prompt-panel,
	.kssr-writing__response-panel {
		padding: 20px;
	}

	.kssr-assessment-test__content,
	.kssr-assessment-results {
		padding: 16px 14px;
	}

	.kssr-assessment-test__passage,
	.kssr-assessment-test__question {
		padding: 16px;
	}

	.kssr-writing__support-grid {
		grid-template-columns: 1fr;
	}

	.kssr-programme-card__actions,
	.kssr-assessment-test__navigation {
		align-items: stretch;
		flex-direction: column;
	}

	.kssr-assessment-test__navigation {
		grid-template-columns: 1fr;
	}

	.kssr-question-fields {
		grid-template-columns: 1fr;
	}

	.kssr-question-fields .is-wide {
		grid-column: auto;
	}
}
.kssr-type-analysis__rows{display:grid;gap:12px;margin:18px 0}.kssr-type-analysis__row{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(160px,2fr) 56px;gap:12px;align-items:center}.kssr-type-analysis__row div{display:grid;gap:3px}.kssr-type-analysis__row small{color:var(--kssr-muted,#667085)}.kssr-type-analysis__row b{text-align:right}.kssr-type-analysis__track{height:12px;border-radius:999px;background:rgba(83,99,166,.13);overflow:hidden}.kssr-type-analysis__track span{display:block;height:100%;border-radius:inherit;background:var(--kssr-primary,#5363a6)}.kssr-type-analysis__insights{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kssr-type-analysis__insights article{padding:14px;border:1px solid rgba(83,99,166,.16);border-radius:14px}.kssr-type-analysis__insights h4{margin:0 0 8px}.kssr-type-analysis__insights ul{margin:0;padding-left:20px}@media(max-width:640px){.kssr-type-analysis__row{grid-template-columns:1fr 52px}.kssr-type-analysis__track{grid-column:1/-1;grid-row:2}.kssr-type-analysis__insights{grid-template-columns:1fr}}

.kssr-shortcode-directory{display:grid;gap:26px}.kssr-shortcode-directory__toolbar{position:sticky;top:32px;z-index:2;padding:18px;border:1px solid #e0d4c8;border-radius:16px;background:#fffdf9;box-shadow:0 10px 30px rgba(67,43,35,.08)}.kssr-shortcode-directory__toolbar label{display:block;margin-bottom:7px;font-weight:700}.kssr-shortcode-directory__toolbar input{width:100%;max-width:620px}.kssr-shortcode-directory__toolbar p{display:inline;margin-left:12px}.kssr-shortcode-group h2{margin:0 0 12px}.kssr-shortcode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.kssr-shortcode-card{display:grid;gap:12px;padding:18px;border:1px solid #e1d7ce;border-radius:16px;background:#fff}.kssr-shortcode-card[hidden]{display:none}.kssr-shortcode-card__heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.kssr-shortcode-card__heading h3{margin:0}.kssr-shortcode-card__heading span{padding:4px 8px;border-radius:999px;background:#f2eaf0;color:#6f345d;font-size:12px;font-weight:700;white-space:nowrap}.kssr-shortcode-card p{margin:0;color:#665951}.kssr-shortcode-card__copy{display:flex;align-items:center;gap:10px}.kssr-shortcode-card__copy code{display:block;flex:1;min-width:0;padding:10px 12px;border-radius:9px;background:#f6f2ee;overflow-wrap:anywhere}.kssr-shortcode-card__copy .button{flex:0 0 auto}@media(max-width:780px){.kssr-shortcode-grid{grid-template-columns:1fr}.kssr-shortcode-directory__toolbar{position:static}.kssr-shortcode-card__copy{align-items:stretch;flex-direction:column}}

.kssr-toefl-landing{--kssr-sky-ink:#33426f;--kssr-sky-border:#ccd6ee;display:grid;gap:22px;max-width:1180px;margin:32px auto;padding:24px;border:1px solid #d9e0ef;border-radius:26px;background:linear-gradient(155deg,#fcfdff 0%,#f1f5fc 48%,#edf7f7 100%);box-shadow:0 22px 52px rgba(63,76,112,.13);color:var(--kssr-sky-ink)}.kssr-toefl-landing *{box-sizing:border-box}.kssr-toefl-landing__hero{display:grid;gap:7px;padding:28px 30px;border-radius:20px;background:linear-gradient(110deg,#5c8ab7 0%,#7f89c5 48%,#acd5d8 100%);box-shadow:0 12px 28px rgba(74,101,150,.18);color:#fffceb}.kssr-toefl-landing__hero p,.kssr-toefl-landing__hero h2,.kssr-toefl-landing p{margin:0}.kssr-toefl-landing__hero p{color:#edf6ff;font-size:13px;font-weight:750;letter-spacing:.08em;text-transform:uppercase}.kssr-toefl-landing__hero h2{font-size:clamp(30px,4vw,48px);line-height:1.06}.kssr-toefl-landing__sections{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:stretch}.kssr-toefl-landing__stack{display:grid;grid-template-rows:1fr auto;gap:10px}.kssr-toefl-choice{--accent:#6379bb;--tint:#edf1ff;display:block;width:100%;min-width:0;padding:22px 17px;border:1px solid color-mix(in srgb,var(--accent) 38%,var(--kssr-sky-border));border-radius:18px;background:linear-gradient(145deg,#fff 2%,var(--tint) 100%);box-shadow:0 9px 24px color-mix(in srgb,var(--accent) 12%,transparent);color:var(--kssr-sky-ink);text-align:left;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.kssr-toefl-choice::before{display:block;width:42px;height:5px;margin-bottom:14px;border-radius:999px;background:var(--accent);content:""}.kssr-toefl-choice:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 14px 30px color-mix(in srgb,var(--accent) 18%,transparent);color:var(--kssr-sky-ink)}.kssr-toefl-choice:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 72%,#fff);outline-offset:3px}.kssr-toefl-choice strong{display:block;margin-bottom:12px;font-size:18px;line-height:1.18}.kssr-toefl-choice>span{display:block;line-height:1.5}.kssr-toefl-choice.is-listening{--accent:#2d8b80;--tint:#e3f4f1}.kssr-toefl-choice.is-reading{--accent:#6371bd;--tint:#ebedfb}.kssr-toefl-choice.is-speaking{--accent:#4482b5;--tint:#e5f1f8}.kssr-toefl-choice.is-writing{--accent:#a85c91;--tint:#f5e8f1}.kssr-toefl-choice.is-feedback{padding:14px 16px}.kssr-toefl-choice.is-feedback::before{width:24px;height:4px;margin-bottom:9px}.kssr-toefl-choice.is-feedback strong{display:inline;margin:0 7px 0 0;font-size:13px;letter-spacing:.08em}.kssr-toefl-choice.is-feedback span{display:inline;font-size:14px}.kssr-toefl-choice.is-pdf{--accent:#aa8035;--tint:#fff3d7;padding:18px;text-align:center}.kssr-toefl-choice.is-pdf::before{margin-right:auto;margin-left:auto}.kssr-toefl-choice.is-pdf strong{margin-bottom:3px}.kssr-toefl-landing__lower{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr);gap:14px}.kssr-toefl-choice.is-dashboard{--accent:#5267ae;--tint:#e9eefb}.kssr-toefl-choice.is-dashboard>strong{font-size:21px}.kssr-toefl-landing__dashboard-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:16px;align-items:center}.kssr-toefl-landing__dashboard-grid p{margin-bottom:8px;font-weight:700}.kssr-toefl-landing__dashboard-grid ul{margin:0;padding-left:19px;line-height:1.45}.kssr-toefl-landing__dashboard-image{display:grid;grid-template-columns:50px repeat(2,1fr);gap:9px;min-height:178px;padding:13px;border:1px solid #cad5ed;border-radius:14px;background:#f1f5fc}.kssr-toefl-landing__dashboard-image i{grid-row:1/3;background:linear-gradient(#6077b8,#82a9c9);border-radius:10px}.kssr-toefl-landing__dashboard-image span{border:1px solid #d4ddef;border-radius:10px;background:#fff}.kssr-toefl-landing__side{display:grid;gap:14px}.kssr-toefl-choice.is-code{--accent:#745b9e;--tint:#f0ebf8}.kssr-toefl-choice.is-code:hover{transform:none}.kssr-toefl-choice.is-code form{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:14px}.kssr-toefl-choice.is-code label{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:center;font-weight:700}.kssr-toefl-choice.is-code input{min-width:0;width:100%;padding:10px;border:1px solid #bfc8df;border-radius:10px;background:#fff}.kssr-toefl-choice.is-code button{padding:10px 14px;border:0;border-radius:10px;background:linear-gradient(100deg,#596bb0,#62aebe);color:#fff;font-weight:700;cursor:pointer}.kssr-toefl-choice.is-code form p{grid-column:1/-1}.kssr-toefl-choice.is-tutor{--accent:#348b86;--tint:#e2f3f1}@media(max-width:900px){.kssr-toefl-landing__sections{grid-template-columns:repeat(2,minmax(0,1fr))}.kssr-toefl-landing__lower{grid-template-columns:1fr}}@media(max-width:560px){.kssr-toefl-landing{padding:14px}.kssr-toefl-landing__hero{padding:22px 18px}.kssr-toefl-landing__sections,.kssr-toefl-landing__dashboard-grid{grid-template-columns:1fr}.kssr-toefl-choice.is-code form,.kssr-toefl-choice.is-code label{grid-template-columns:1fr}}

.kssr-toefl-landing--initial{--sky-blue:#3b9cf4;--sky-ink:#26345f}.kssr-toefl-landing--initial .kssr-toefl-landing__sections{align-items:stretch}.kssr-toefl-panel{--panel:#e7eef9;display:flex;min-width:0;min-height:390px;flex-direction:column;padding:25px;border:1px solid color-mix(in srgb,var(--panel) 64%,#b7c5df);border-radius:22px;background:linear-gradient(150deg,#fff 0%,var(--panel) 22%,color-mix(in srgb,var(--panel) 78%,#dceaf4) 100%);box-shadow:0 10px 25px rgba(68,83,125,.09)}.kssr-toefl-panel.is-listening{--panel:#dce9f7}.kssr-toefl-panel.is-reading{--panel:#f3e6dc}.kssr-toefl-panel.is-speaking{--panel:#dceee5}.kssr-toefl-panel.is-writing{--panel:#f1e0ec}.kssr-toefl-panel h3{margin:0 0 18px;color:var(--sky-ink);font-size:25px;line-height:1.15}.kssr-toefl-panel p{color:#354161;font-size:17px;line-height:1.55}.kssr-toefl-panel__actions{display:grid;gap:11px;margin-top:auto;padding-top:22px}.kssr-toefl-action{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:12px 20px;border:1px solid transparent;border-radius:15px;font-size:16px;font-weight:700;line-height:1.3;text-align:center;text-decoration:none;transition:transform .14s ease,box-shadow .14s ease}.kssr-toefl-action:hover{transform:translateY(-1px);text-decoration:none}.kssr-toefl-action:focus-visible{outline:3px solid #7ba9db;outline-offset:3px}.kssr-toefl-action.is-primary{border-color:#4a91dc;background:linear-gradient(105deg,#4d75c8 0%,#349ff1 58%,#5bb9c7 100%);box-shadow:0 8px 18px rgba(61,118,190,.2);color:#fff}.kssr-toefl-action.is-light{border-color:#cbd5e8;background:rgba(255,255,255,.9);color:var(--sky-ink)}.kssr-toefl-action.is-secondary{border-color:rgba(255,255,255,.9);background:rgba(255,255,255,.86);color:var(--sky-ink)}.kssr-toefl-landing__pdf{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 24px;border-block:1px solid #d7dfed}.kssr-toefl-landing__pdf div{display:grid;gap:3px}.kssr-toefl-landing__pdf strong{font-size:18px}.kssr-toefl-landing__pdf span{color:#64718e}.kssr-toefl-landing__dashboard{display:grid;grid-template-columns:1.25fr .75fr;gap:18px}.kssr-toefl-landing__dashboard-copy,.kssr-toefl-landing__dashboard-preview,.kssr-toefl-landing__wide-panel{padding:27px;border:1px solid #d4ddeb;border-radius:22px;background:rgba(255,255,255,.63)}.kssr-toefl-landing__dashboard-copy h3,.kssr-toefl-landing__wide-panel h3{margin:0 0 15px;color:var(--sky-ink);font-size:24px;line-height:1.2}.kssr-toefl-landing__dashboard-copy>p{font-weight:700}.kssr-toefl-landing__dashboard-copy ul{margin:8px 0 0;padding-left:22px;color:#3a4663;line-height:1.6}.kssr-toefl-landing__account-actions,.kssr-toefl-landing__support-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.kssr-toefl-landing__dashboard-preview{position:relative;display:grid;grid-template-columns:76px repeat(2,1fr);grid-template-rows:repeat(2,minmax(70px,1fr));gap:10px;min-height:245px;overflow:hidden;background:linear-gradient(145deg,#eef3fb,#e5edf5)}.kssr-toefl-landing__dashboard-preview i{grid-row:1/3;border-radius:13px;background:linear-gradient(#5085c4,#66b6d1)}.kssr-toefl-landing__dashboard-preview b{border:1px solid #ccd6e6;border-radius:13px;background:rgba(255,255,255,.72)}.kssr-toefl-landing__preview-label{position:absolute;top:14px;left:110px;color:#74809a;font-weight:700}.kssr-toefl-landing__wide-panel{background:linear-gradient(145deg,rgba(255,255,255,.82),rgba(232,238,249,.78))}.kssr-toefl-landing__wide-panel.is-code{border-color:#d5d3e8;background:linear-gradient(145deg,#fbfbff,#eeeafa)}.kssr-toefl-landing__wide-panel.is-tutor{border-color:#cae2e1;background:linear-gradient(145deg,#fbffff,#e5f3f2)}.kssr-toefl-landing__wide-panel>p{color:#45516e;line-height:1.5}.kssr-toefl-landing__wide-panel form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:17px}.kssr-toefl-landing__wide-panel form label{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;padding-left:16px;border:1px solid #c9d3e6;border-radius:15px;background:#fff;font-weight:700}.kssr-toefl-landing__wide-panel form input{width:100%;min-width:0;padding:15px 14px;border:0;background:transparent;font-size:16px;box-shadow:none}.kssr-toefl-landing__wide-panel form input:focus{outline:0;box-shadow:none}.kssr-toefl-landing__wide-panel form>p{grid-column:1/-1}.kssr-toefl-landing__wide-panel button{cursor:pointer}@media(max-width:900px){.kssr-toefl-landing--initial .kssr-toefl-landing__sections{grid-template-columns:repeat(2,minmax(0,1fr))}.kssr-toefl-landing__dashboard{grid-template-columns:1fr}}@media(max-width:560px){.kssr-toefl-landing--initial .kssr-toefl-landing__sections{grid-template-columns:1fr}.kssr-toefl-panel{min-height:0}.kssr-toefl-landing__pdf{align-items:stretch;flex-direction:column}.kssr-toefl-landing__wide-panel form{grid-template-columns:1fr}.kssr-toefl-landing__wide-panel form label{grid-template-columns:1fr;padding:10px 12px}.kssr-toefl-landing__wide-panel form input{padding:8px 0}}

.kssr-toefl-landing--initial{max-width:var(--landing-max-width,1180px);padding:var(--landing-container-padding,24px);font-family:var(--landing-font,system-ui,sans-serif)}.kssr-toefl-landing--initial .kssr-toefl-landing__hero{background:linear-gradient(110deg,var(--landing-hero-start,#5c8ab7),var(--landing-hero-middle,#7f89c5),var(--landing-hero-end,#acd5d8))}.kssr-toefl-landing--initial .kssr-toefl-landing__hero h2{color:var(--landing-hero-title-color,#fff)!important;font-size:var(--landing-hero-title-size,48px)}.kssr-toefl-landing--initial .kssr-toefl-landing__sections{gap:var(--landing-gap,14px)}.kssr-toefl-landing--initial .kssr-toefl-panel{padding:var(--landing-card-padding,25px);border-radius:var(--landing-radius,22px)}.kssr-toefl-landing--initial .kssr-toefl-panel.is-listening{--panel:var(--landing-listening-panel,#dce9f7)}.kssr-toefl-landing--initial .kssr-toefl-panel.is-reading{--panel:var(--landing-reading-panel,#f3e6dc)}.kssr-toefl-landing--initial .kssr-toefl-panel.is-speaking{--panel:var(--landing-speaking-panel,#dceee5)}.kssr-toefl-landing--initial .kssr-toefl-panel.is-writing{--panel:var(--landing-writing-panel,#f1e0ec)}.kssr-toefl-landing--initial .kssr-toefl-panel h3{font-size:var(--landing-heading-size,25px)}.kssr-toefl-landing--initial .kssr-toefl-panel p{color:var(--landing-body-color,#354161);font-size:var(--landing-body-size,17px)}.kssr-toefl-panel__meta{display:block;margin-left:var(--landing-meta-indent,12px);color:var(--landing-meta-color,#7b8498);font-size:var(--landing-meta-size,15px)}.kssr-toefl-landing--initial .kssr-toefl-action{font-size:var(--landing-button-size,16px)}.kssr-toefl-landing--initial .kssr-toefl-action.is-primary,.kssr-toefl-landing--initial button.kssr-toefl-action.is-primary{background:linear-gradient(105deg,var(--landing-button-start,#4d75c8),#349ff1,var(--landing-button-end,#5bb9c7));color:var(--landing-button-text,#fff)!important;-webkit-text-fill-color:var(--landing-button-text,#fff)}.kssr-toefl-landing--initial .kssr-toefl-action.is-secondary{font-size:var(--landing-feedback-size,12px)!important;font-weight:650;line-height:1.28}.kssr-toefl-landing--initial .kssr-toefl-action.is-secondary strong{display:inline;font-size:.88em;letter-spacing:.08em}.kssr-toefl-landing__dashboard-preview{display:block;padding:16px}.kssr-toefl-landing__dashboard-preview>img{display:block;width:100%;height:100%;min-height:245px;border-radius:14px;object-fit:cover}.kssr-dashboard-mock{display:grid;grid-template-columns:82px 1fr;grid-template-rows:auto auto 1fr;gap:10px;min-height:245px;padding:14px;border:1px solid #cbd6e9;border-radius:14px;background:#f8fbff;color:#344267}.kssr-dashboard-mock header{grid-column:1/-1;display:flex;justify-content:space-between;padding-bottom:8px;border-bottom:1px solid #dae2ef;font-size:12px}.kssr-dashboard-mock header span{color:#7b869c}.kssr-dashboard-mock__score{display:grid;align-content:center;justify-items:center;padding:9px;border-radius:12px;background:linear-gradient(145deg,#4f79bd,#61b4ca);color:#fff}.kssr-dashboard-mock__score strong{font-size:24px}.kssr-dashboard-mock__score span{font-size:9px;text-align:center}.kssr-dashboard-mock__bars{display:grid;gap:7px}.kssr-dashboard-mock__bars span{position:relative;display:block;height:28px;padding-top:14px;border-radius:7px;background:#e8edf6;overflow:hidden}.kssr-dashboard-mock__bars i{position:absolute;inset:0 auto auto 0;height:6px;border-radius:99px;background:#637bc0}.kssr-dashboard-mock__bars b{padding-left:7px;font-size:9px;font-weight:650}.kssr-dashboard-mock__insights{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:8px}.kssr-dashboard-mock__insights span{padding:9px;border-radius:9px;background:#e3f3f0;font-size:9px;line-height:1.45}.kssr-dashboard-mock__insights span+span{background:#fff0d4}.kssr-dashboard-mock__insights strong{display:block;margin-bottom:3px;font-size:10px}.kssr-landing-designer__layout{display:grid;grid-template-columns:minmax(330px,440px) minmax(600px,1fr);gap:22px;align-items:start}.kssr-landing-designer__controls{position:sticky;top:42px;display:grid;gap:12px;max-height:calc(100vh - 70px);overflow:auto}.kssr-landing-designer details{border:1px solid #ccd0d4;border-radius:10px;background:#fff}.kssr-landing-designer summary{padding:14px 16px;font-weight:700;cursor:pointer}.kssr-landing-designer__fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 16px 16px}.kssr-landing-designer__fields label{display:grid;gap:6px}.kssr-landing-designer__fields label.is-wide{grid-column:1/-1}.kssr-landing-designer__fields label span{font-weight:650}.kssr-landing-designer__fields input:not([type=color]),.kssr-landing-designer__fields select{width:100%}.kssr-landing-designer__fields input[type=color]{width:100%;height:38px}.kssr-landing-designer__preview{min-width:0;padding:18px;border:1px solid #ccd0d4;border-radius:12px;background:#eef1f5}.kssr-landing-designer__preview>.kssr-toefl-landing{transform-origin:top left}@media(max-width:1200px){.kssr-landing-designer__layout{grid-template-columns:1fr}.kssr-landing-designer__controls{position:static;max-height:none}}

/* TOEFL Writing section mock test. */
.kssr-writing-test{container-type:inline-size;overflow:hidden;border-radius:24px;background:#f2f6fc;box-shadow:0 20px 52px rgba(44,61,96,.15)}
.kssr-writing-test__intro{display:flex;align-items:center;justify-content:space-between;gap:28px;padding:28px 36px;background:linear-gradient(135deg,#fff,#edf5fc)}
.kssr-writing-test__intro h2{margin:3px 0 7px;color:#28365f}
.kssr-writing-test__intro p{margin:0;color:#5c6881}
.kssr-writing-test__progress{height:8px;background:#dce4f1;overflow:hidden}
.kssr-writing-test__progress span{display:block;width:0;height:100%;background:linear-gradient(90deg,#5477c5,#55b3c4);transition:width .2s ease}
.kssr-writing-test__timer{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px}
.kssr-writing-test__question-selector{margin:16px 36px 0;padding:14px 18px;border:1px solid #cbd7e9;border-radius:16px;background:#fff}
.kssr-writing-test__question-selector summary{color:#334b7c;font-weight:800;cursor:pointer}
.kssr-writing-test__question-selector>p{margin:8px 0 0;color:#66728a}
.kssr-writing-test__workspace{padding:30px 36px}
.kssr-writing-test__question{min-height:530px;padding:30px;border:1px solid #d2dced;border-radius:22px;background:#fff;box-shadow:0 12px 28px rgba(54,73,110,.08)}
.kssr-writing-test__question h2{margin:5px 0 8px;color:#28365f}
.kssr-writing-test__instruction{color:#5d6982}
.kssr-sentence-builder__dialogue{margin:24px 0;padding:22px;border-radius:16px;background:#eef4fb}
.kssr-sentence-builder__dialogue p{margin:8px 0}
.kssr-sentence-builder__help{font-size:.92rem;color:#65718a}
.kssr-sentence-builder__answer,.kssr-sentence-builder__chunks{display:flex;min-height:76px;flex-wrap:wrap;align-content:flex-start;gap:10px;margin-top:16px;padding:16px;border:2px dashed #b8c7e0;border-radius:16px;background:#f9fbff}
.kssr-sentence-builder__answer button,.kssr-sentence-builder__chunks button{padding:10px 14px;border:1px solid #aebfdd;border-radius:999px;background:#fff;color:#2f416f;font-weight:700;cursor:pointer}
.kssr-sentence-builder__answer button{border-color:#6fa8b9;background:#e4f4f1}
.kssr-sentence-builder__answer button span{margin-left:8px}
.kssr-writing-test__source{max-height:260px;margin:20px 0;padding:20px;border-radius:16px;background:#f3f0fa;overflow:auto}
.kssr-writing-test__source>span{display:inline-block;margin-bottom:8px;color:#775184;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}
.kssr-writing-test__source--discussion{max-height:none;overflow:visible}
.kssr-writing-test__discussion{display:grid;gap:16px;margin:22px 0}
.kssr-writing-test__discussion-intro{margin:0;padding:0 2px;color:#52617d;font-size:1.02rem;line-height:1.65}
.kssr-writing-test__discussion-post{padding:20px 22px;border:1px solid #d5deee;border-radius:17px;background:#fff;box-shadow:0 7px 18px rgba(54,73,110,.06)}
.kssr-writing-test__discussion-post>span{display:inline-block;margin-bottom:9px;color:#405e9a;font-size:.78rem;font-weight:850;letter-spacing:.06em;text-transform:uppercase}
.kssr-writing-test__discussion-post p{margin:0;color:#3f4960;line-height:1.68}
.kssr-writing-test__discussion-post.is-professor{border-left:5px solid #597bc2;background:#f5f8fe}
.kssr-writing-test__discussion-students{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.kssr-writing-test__discussion-post.is-student-a{border-top:4px solid #62aeb1;background:#f5fbfa}
.kssr-writing-test__discussion-post.is-student-b{border-top:4px solid #9b75b6;background:#faf7fc}
.kssr-writing-test__discussion-task{padding:18px 20px;border:1px solid #e3d4b2;border-radius:16px;background:#fff9e9}
.kssr-writing-test__discussion-task strong{display:block;margin-bottom:6px;color:#805b22;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.kssr-writing-test__discussion-task p{margin:0;color:#51452f;line-height:1.6}
.kssr-writing-test__textarea{display:grid;gap:8px;font-weight:750}
.kssr-writing-test__textarea textarea{width:100%;min-height:330px;padding:18px;border:1px solid #becbe0;border-radius:16px;background:#fff;font:inherit;line-height:1.6}
.kssr-writing-test__textarea small{color:#6b7589;font-weight:500}
.kssr-writing-test__navigation{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:0 36px 26px}
.kssr-writing-test__navigation span{text-align:center;color:#59657e;font-weight:700}
.kssr-writing-test>.kssr-message{padding:0 36px 26px}
.kssr-writing-test__results{margin:0 36px 34px;padding:30px;border:1px solid #cdd9eb;border-radius:22px;background:#fff}
.kssr-writing-test__score-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}
.kssr-writing-test__score-grid article{display:grid;padding:18px;border-radius:16px;background:#edf4fb;text-align:center}
.kssr-writing-test__score-grid strong{font-size:1.8rem;color:#3d5f9d}
.kssr-writing-test__review{margin:10px 0;border:1px solid #d4ddeb;border-radius:14px;background:#fafcff}
.kssr-writing-test__review.is-correct{border-left:6px solid #329b76;background:#effaf6}
.kssr-writing-test__review.is-incorrect{border-left:6px solid #d25362;background:#fff3f4}
.kssr-writing-test__review summary{display:flex;align-items:center;gap:12px;padding:16px;font-weight:750;cursor:pointer}
.kssr-writing-test__review summary span{padding:4px 8px;border-radius:999px;background:#e1e9f6;font-size:.78rem}
.kssr-writing-test__review>div{padding:0 18px 20px}
.kssr-writing-test__rubric{display:grid;gap:10px;margin:18px 0}
.kssr-writing-test__rubric article{padding:14px;border:1px solid #d7dfed;border-radius:12px;background:#fff}
.kssr-writing-test__rubric article>div{display:flex;justify-content:space-between;gap:12px}
.kssr-assessment-results__complete-question{margin:14px 0;padding:16px;border:1px solid #d7dfeb;border-radius:14px;background:#f8fafc}
.kssr-assessment-results__complete-question>h4,.kssr-assessment-results__source h4{margin:0 0 8px}
.kssr-assessment-results__source{max-height:360px;margin-bottom:14px;padding:14px;border-left:4px solid #8293bd;background:#fff;overflow:auto}
.kssr-assessment-results__source p{white-space:pre-wrap}
.kssr-assessment-results__options{display:grid;gap:5px;margin:10px 0 0;padding-left:28px}
.kssr-assessment-test__practice-disclaimer{padding:18px 28px;border-top:1px solid #d1daea;background:#eef4fb;color:#536079;font-size:.9rem;line-height:1.55}

/* Paid learner opt-in writing history. */
.kssr-writing__save-choice{display:flex;align-items:flex-start;gap:10px;margin:16px 0 0;padding:14px;border:1px solid #cbd9e9;border-radius:13px;background:#f1f7fb}
.kssr-writing__save-choice input{width:18px;height:18px;margin-top:2px}
.kssr-writing__save-choice span{display:grid;gap:3px}
.kssr-writing__save-choice small{color:#657188;font-weight:500}
.kssr-feedback-history{max-width:1180px;margin:28px auto;padding:28px;border:1px solid #d0daea;border-radius:22px;background:#f6f9fd;color:#344267}
.kssr-feedback-history header h2{margin:4px 0 7px}
.kssr-feedback-history__list{display:grid;gap:12px;margin-top:20px}
.kssr-feedback-history__record{border:1px solid #ccd8e8;border-radius:15px;background:#fff}
.kssr-feedback-history__record summary{display:grid;grid-template-columns:1fr auto auto;gap:16px;align-items:center;padding:16px 18px;cursor:pointer}
.kssr-feedback-history__record summary time{color:#71809a;font-size:.85rem}
.kssr-feedback-history__record>div{padding:0 18px 20px}
.kssr-feedback-history__record h3{margin:20px 0 6px}
.kssr-feedback-history__record p{white-space:normal}
.kssr-dashboard-mock__caption{margin:0 0 10px;color:#65728c;font-size:.75rem;font-weight:750;text-transform:uppercase;letter-spacing:.05em}
.kssr-dashboard-mock__header{grid-column:1/-1;display:flex;justify-content:space-between;gap:10px;padding-bottom:8px;border-bottom:1px solid #dae2ef;font-size:11px}
.kssr-dashboard-mock__row p{margin:2px 0 0;font-size:9px}
.kssr-dashboard-mock__track{height:7px;border-radius:999px;background:#e3e9f4;overflow:hidden}
.kssr-dashboard-mock__track span{display:block;height:100%;border-radius:inherit;background:#6079bd}
.kssr-dashboard-mock__insight{padding:9px;border-radius:9px;background:#e3f3f0;font-size:9px;line-height:1.45}
.kssr-dashboard-mock__insight.is-priority{background:#fff0d4}
.kssr-dashboard-mock__insight strong{display:block;margin-bottom:3px;font-size:10px}
.kssr-toefl-landing__dashboard-preview{display:flex;align-self:start;margin:0;padding:16px;flex-direction:column}
.kssr-toefl-landing__dashboard-preview>img{display:block;width:100%;height:auto;min-height:0;border-radius:14px;object-fit:contain}
.kssr-toefl-landing__dashboard-preview>figcaption{margin-top:9px;color:#65728c;font-size:.75rem;font-weight:750;text-align:center}

/* IELTS full practice platform */
.kssr-dashboard--ielts {
	--ielts-navy: #263a62;
	--ielts-blue: #526fa9;
	--ielts-aqua: #5a9e9f;
	--ielts-red: #a44155;
}

.kssr-ielts-launcher {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(230px, .55fr);
	gap: 20px;
	margin-bottom: 16px;
	padding: clamp(22px, 4vw, 36px);
	border: 1px solid #c8d7e7;
	border-radius: 22px;
	background:
		radial-gradient(circle at 91% 8%, rgba(255, 255, 255, .82), transparent 26%),
		linear-gradient(135deg, #e5eef8, #eee7f5 55%, #dff2ed);
	box-shadow: var(--kssr-shadow);
}

.kssr-ielts-launcher__intro,
.kssr-ielts-launcher__form {
	grid-column: 1;
}

.kssr-ielts-launcher__intro h3,
.kssr-ielts-report h3 {
	margin: 0;
	color: var(--ielts-navy);
	font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.kssr-ielts-launcher__intro > p:not(.kssr-dashboard__kicker) {
	max-width: 760px;
	margin: 9px 0 0;
	color: #536079;
	line-height: 1.6;
}

.kssr-ielts-launcher__form {
	display: grid;
	gap: 15px;
}

.kssr-ielts-launcher__form fieldset {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
}

.kssr-ielts-launcher__form legend {
	grid-column: 1 / -1;
	margin-bottom: 2px;
	color: #354564;
	font-size: .8rem;
	font-weight: 850;
}

.kssr-ielts-choice {
	position: relative;
	display: flex;
	min-width: 0;
	cursor: pointer;
}

.kssr-ielts-choice input {
	position: absolute;
	inline-size: 1px;
	block-size: 1px;
	opacity: 0;
}

.kssr-ielts-choice span {
	display: grid;
	width: 100%;
	gap: 5px;
	padding: 15px;
	border: 2px solid rgba(79, 101, 145, .18);
	border-radius: 14px;
	background: rgba(255, 255, 255, .64);
	transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.kssr-ielts-choice strong {
	color: #283b62;
	font-size: 1rem;
}

.kssr-ielts-choice small {
	color: #5e687d;
	line-height: 1.45;
}

.kssr-ielts-choice input:checked + span {
	border-color: var(--ielts-blue);
	background: #fff;
	box-shadow: 0 0 0 3px rgba(82, 111, 169, .16);
}

.kssr-ielts-choice input:focus-visible + span {
	outline: 3px solid #d49b42;
	outline-offset: 3px;
}

.kssr-ielts-launcher__test {
	display: grid;
	grid-template-columns: auto minmax(200px, 310px);
	align-items: center;
	gap: 10px;
	color: #354564;
	font-size: .8rem;
	font-weight: 850;
}

.kssr-ielts-launcher__test select {
	min-height: 44px;
	padding: 8px 11px;
	border: 1px solid #b8c6db;
	border-radius: 10px;
	color: #263858;
	background: rgba(255, 255, 255, .86);
	font: inherit;
}

.kssr-ielts-launcher__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 18px;
}

.kssr-ielts-launcher__actions button,
.kssr-ielts-launcher__actions a {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 10px 15px;
	border: 0;
	border-radius: 11px;
	font-size: .85rem;
	font-weight: 850;
	text-decoration: none;
	cursor: pointer;
}

.kssr-ielts-launcher__actions button {
	color: #fff;
	background: linear-gradient(105deg, var(--ielts-navy), var(--ielts-blue));
}

.kssr-ielts-launcher__actions a {
	border: 1px solid #bbc8dc;
	color: #34476e;
	background: rgba(255, 255, 255, .7);
}

.kssr-ielts-launcher__form [role="status"] {
	min-height: 1.35em;
	margin: 0;
	color: #536079;
	font-size: .78rem;
}

.kssr-ielts-launcher__format {
	grid-column: 2;
	grid-row: 1 / span 2;
	padding: 20px;
	border: 1px solid rgba(255, 255, 255, .74);
	border-radius: 19px;
	color: #fff;
	background: linear-gradient(145deg, #334c79, #667eb2 55%, #579a9a);
	box-shadow: 0 18px 38px rgba(44, 62, 103, .2);
}

.kssr-ielts-launcher__format > strong {
	font-size: .7rem;
	letter-spacing: .08em;
}

.kssr-ielts-launcher__format ol {
	display: grid;
	gap: 11px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
	counter-reset: ielts-section;
}

.kssr-ielts-launcher__format li {
	display: grid;
	grid-template-columns: 25px 1fr;
	gap: 1px 9px;
	counter-increment: ielts-section;
}

.kssr-ielts-launcher__format li:before {
	display: grid;
	grid-row: 1 / span 2;
	width: 24px;
	height: 24px;
	place-items: center;
	border-radius: 50%;
	color: #334c79;
	background: #fff;
	font-size: .7rem;
	font-weight: 900;
	content: counter(ielts-section);
}

.kssr-ielts-launcher__format span {
	font-weight: 850;
}

.kssr-ielts-launcher__format small {
	color: #eff5ff;
	line-height: 1.35;
}

.kssr-ielts-report {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin: 16px 0;
	padding: 18px 22px;
	border: 1px solid #d9cdae;
	border-radius: 17px;
	background: linear-gradient(115deg, #fff9e9, #f4ecdf 58%, #edf3f9);
}

.kssr-ielts-report > p {
	display: grid;
	max-width: 650px;
	gap: 3px;
	margin: 0;
	color: #566078;
	font-size: .82rem;
	text-align: right;
}

.kssr-ielts-report > p strong {
	color: #2d3e61;
}

.kssr-ielts-report > p small {
	line-height: 1.45;
}

.kssr-section-card__number {
	margin: 0 0 7px !important;
	color: var(--ielts-red) !important;
	font-size: .7rem;
	font-weight: 900;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.kssr-ielts-section-status {
	display: block;
	margin-top: 12px;
	color: #5d6c83;
	font-weight: 750;
}

.kssr-dashboard--ielts [data-kssr-ielts-section-link][aria-disabled="true"] {
	opacity: .58;
}

.kssr-ielts-writing__journey {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin: 0 24px 24px;
	padding: 15px 18px;
	border: 1px solid #cbd7e8;
	border-radius: 14px;
	background: #eef4fb;
}

.kssr-ielts-writing__journey > span {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.kssr-writing__prompt-visual {
	margin: 18px 0;
	padding: 10px;
	border: 1px solid #d7e0ec;
	border-radius: 14px;
	background: #fff;
}

.kssr-writing__prompt-visual img {
	display: block;
	width: 100%;
	height: auto;
}

/* SAT practice platform */
.kssr-dashboard--sat {
	--sat-navy: #24365f;
	--sat-blue: #4f72bd;
	--sat-sky: #dfeaf8;
	--sat-gold: #e8bd66;
}

.kssr-sat-official-practice {
	display: grid;
	gap: 18px;
	margin: 0 0 18px;
	padding: clamp(20px, 3vw, 30px);
	border: 2px solid #176b52;
	border-radius: 8px;
	background: #f4fbf7;
	box-shadow: 0 12px 28px rgba(27, 73, 59, .1);
}

.kssr-sat-landing > .kssr-sat-official-practice {
	margin: 28px clamp(16px, 4vw, 52px);
}

.kssr-sat-official-practice header {
	display: grid;
	gap: 7px;
}

.kssr-sat-official-practice h3 {
	margin: 0;
	color: #154b3c;
	font-size: clamp(1.35rem, 2.4vw, 1.9rem);
}

.kssr-sat-official-practice header > p:last-child {
	max-width: 900px;
	margin: 0;
	color: #385d52;
	line-height: 1.55;
}

.kssr-sat-official-practice__tests {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.kssr-sat-official-practice__tests > a {
	display: grid;
	min-width: 0;
	gap: 5px;
	padding: 14px;
	border: 1px solid #9bc8b8;
	border-radius: 6px;
	color: #173e34 !important;
	background: #fff;
	text-decoration: none;
}

.kssr-sat-official-practice__tests > a:hover,
.kssr-sat-official-practice__tests > a:focus-visible {
	border-color: #176b52;
	box-shadow: 0 6px 16px rgba(23, 107, 82, .14);
	transform: translateY(-1px);
}

.kssr-sat-official-practice__tests span {
	color: #176b52;
	font-size: .68rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0;
}

.kssr-sat-official-practice__tests strong {
	font-size: 1rem;
}

.kssr-sat-official-practice__tests small {
	color: #567269;
	font-size: .76rem;
}

.kssr-sat-official-practice__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.kssr-sat-official-practice__actions a,
.kssr-sat-official-result button[type="submit"] {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 9px 13px;
	border: 1px solid #176b52;
	border-radius: 6px;
	color: #fff !important;
	background: #176b52;
	font-size: .78rem;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.kssr-sat-official-practice__actions a:nth-child(2),
.kssr-sat-official-practice__actions a:nth-child(3) {
	color: #176b52 !important;
	background: #fff;
}

.kssr-sat-official-result {
	display: grid;
	grid-template-columns: minmax(210px, 1.35fr) repeat(3, minmax(120px, .75fr)) auto;
	align-items: end;
	gap: 10px;
	padding-top: 16px;
	border-top: 1px solid #b9d8cc;
}

.kssr-sat-official-result > div {
	display: grid;
	gap: 4px;
	align-self: center;
}

.kssr-sat-official-result > div strong {
	color: #173e34;
}

.kssr-sat-official-result > div small,
.kssr-sat-official-result label {
	color: #49685f;
	font-size: .74rem;
}

.kssr-sat-official-result label {
	display: grid;
	gap: 4px;
	font-weight: 800;
}

.kssr-sat-official-result input,
.kssr-sat-official-result select {
	width: 100%;
	min-height: 42px;
	padding: 8px 9px;
	border: 1px solid #9bc8b8;
	border-radius: 5px;
	background: #fff;
}

.kssr-sat-official-result > p {
	grid-column: 1 / -1;
	margin: 0;
	color: #176b52;
	font-size: .76rem;
	font-weight: 700;
}

.kssr-sat-official-result > p:empty {
	display: none;
}

.kssr-sat-official-results {
	min-width: 0;
}

.kssr-sat-official-results h4 {
	margin: 0 0 8px;
	color: #173e34;
}

.kssr-sat-official-results > div {
	overflow-x: auto;
}

.kssr-sat-official-results table {
	width: 100%;
	min-width: 620px;
	border-collapse: collapse;
	background: #fff;
}

.kssr-sat-official-results th,
.kssr-sat-official-results td {
	padding: 9px 10px;
	border: 1px solid #cfe4dc;
	color: #294b41;
	font-size: .76rem;
	text-align: left;
}

.kssr-sat-official-results button {
	border: 0;
	color: #8a2930;
	background: transparent;
	font-size: .72rem;
	font-weight: 800;
	cursor: pointer;
}

.kssr-sat-official-results > p,
.kssr-sat-official-practice__credit {
	margin: 0;
	color: #61766f;
	font-size: .72rem;
	line-height: 1.45;
}

@media (max-width: 900px) {
	.kssr-sat-official-practice__tests {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kssr-sat-official-result {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kssr-sat-official-result > div,
	.kssr-sat-official-result button[type="submit"] {
		grid-column: 1 / -1;
	}
}

@media (max-width: 540px) {
	.kssr-sat-official-practice__tests,
	.kssr-sat-official-result {
		grid-template-columns: 1fr;
	}

	.kssr-sat-official-result > div,
	.kssr-sat-official-result button[type="submit"] {
		grid-column: auto;
	}
}

.kssr-sat-dashboard__hero {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(210px, .55fr);
	align-items: center;
	gap: 22px;
	margin-bottom: 16px;
	padding: clamp(22px, 4vw, 34px);
	border: 1px solid #cad7e9;
	border-radius: 22px;
	background:
		radial-gradient(circle at 88% 10%, rgba(255, 255, 255, .72), transparent 30%),
		linear-gradient(135deg, #e5eef9, #eee7f4 58%, #e2f1ed);
	box-shadow: var(--kssr-shadow);
}

.kssr-sat-dashboard__hero h3,
.kssr-sat-dashboard__settings h3,
.kssr-sat-report h3 {
	margin: 0;
	color: #293658;
	font-size: clamp(1.35rem, 2.4vw, 2rem);
}

.kssr-sat-dashboard__hero p:not(.kssr-dashboard__kicker) {
	max-width: 760px;
	color: #536079;
	line-height: 1.6;
}

.kssr-sat-dashboard__hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.kssr-sat-dashboard__hero-actions a,
.kssr-sat-dashboard__hero-actions button {
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 11px;
	color: #fff !important;
	background: linear-gradient(105deg, #3f5794, #617fc1);
	font-size: .85rem;
	font-weight: 800;
	text-decoration: none;
	cursor: pointer;
}

.kssr-sat-dashboard__hero-actions a.is-quiet {
	border: 1px solid #bccbe1;
	color: #34456f !important;
	background: rgba(255, 255, 255, .7);
}

.kssr-sat-dashboard__hero-actions button:disabled {
	opacity: .48;
	cursor: not-allowed;
	filter: grayscale(.35);
}

.kssr-toefl-test-picker__full {
	min-width: min(100%, 290px);
	background: linear-gradient(105deg, #29456e, #667bb4 58%, #8fbdbd) !important;
}

.kssr-toefl-test-picker__section-label {
	margin: 6px 0 -2px !important;
	font-size: .82rem;
}

.kssr-sat-test-picker {
	display: grid;
	gap: 10px;
	margin-top: 16px;
}

.kssr-sat-test-picker [data-kssr-sat-test-picker-status]:empty {
	display: none;
}

.kssr-sat-test-picker > label {
	display: grid;
	grid-template-columns: auto minmax(180px, 280px);
	align-items: center;
	gap: 10px;
	color: #3d4968;
	font-size: .8rem;
	font-weight: 800;
}

.kssr-sat-test-picker select {
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid #b9c6dc;
	border-radius: 9px;
	background: rgba(255, 255, 255, .78);
}

.kssr-sat-scorecard {
	display: grid;
	min-height: 190px;
	align-content: center;
	justify-items: center;
	gap: 6px;
	padding: 22px;
	border: 1px solid rgba(255, 255, 255, .72);
	border-radius: 20px;
	color: #fff;
	background: linear-gradient(145deg, #344b7d, #637bb5 57%, #5ba5ad);
	box-shadow: 0 18px 38px rgba(44, 62, 103, .22);
	text-align: center;
}

.kssr-sat-scorecard span {
	font-size: .68rem;
	font-weight: 850;
	letter-spacing: .07em;
}

.kssr-sat-scorecard strong {
	font-size: clamp(2.6rem, 6vw, 4.4rem);
	line-height: 1;
}

.kssr-sat-scorecard small {
	max-width: 190px;
	color: #eef5ff;
	line-height: 1.4;
}

.kssr-sat-dashboard__settings {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(180px, .45fr) minmax(190px, .5fr);
	align-items: center;
	gap: 16px;
	margin: 16px 0;
	padding: 20px 22px;
	border: 1px solid #d8cba9;
	border-radius: 18px;
	background: linear-gradient(115deg, #fff9e9, #f4ecdf 60%, #edf3f9);
}

.kssr-sat-dashboard__settings > div > p:not(.kssr-dashboard__kicker) {
	margin: 7px 0 0;
	color: #6b6258;
	font-size: .82rem;
}

.kssr-sat-dashboard__settings > label {
	display: grid;
	gap: 6px;
	color: #3d4560;
	font-size: .8rem;
	font-weight: 800;
}

.kssr-sat-dashboard__settings select {
	min-height: 42px;
	padding: 8px 10px;
	border: 1px solid #c5b9a8;
	border-radius: 9px;
	background: #fffdf8;
}

.kssr-sat-dashboard__settings .kssr-toggle {
	display: flex;
	align-items: center;
	gap: 9px;
}

.kssr-sat-dashboard__settings .kssr-toggle input {
	width: 19px;
	height: 19px;
}

.kssr-sat-dashboard__settings [role="status"] {
	grid-column: 1 / -1;
	min-height: 1em;
	margin: 0;
	color: #4f628e;
	font-size: .75rem;
}

.kssr-sat-report {
	margin: 16px 0;
	padding: 22px;
	border: 1px solid #ccd7e7;
	border-radius: 20px;
	background: #fbfcff;
	box-shadow: var(--kssr-shadow);
}

.kssr-sat-report__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 17px;
}

.kssr-sat-report__heading > span {
	padding: 7px 10px;
	border-radius: 999px;
	color: #53648a;
	background: #e8eef8;
	font-size: .72rem;
	font-weight: 800;
}

.kssr-sat-report__summary {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.kssr-sat-report__summary article {
	display: grid;
	gap: 3px;
	padding: 15px;
	border-radius: 14px;
	background: #edf2fa;
}

.kssr-sat-report__summary article:nth-child(2) { background: #f2ecf7; }
.kssr-sat-report__summary article:nth-child(3) { background: #e9f3ee; }
.kssr-sat-report__summary article:nth-child(4) { background: #fff3dc; }
.kssr-sat-report__summary span { color: #66718a; font-size: .72rem; font-weight: 800; text-transform: uppercase; }
.kssr-sat-report__summary strong { color: #2f3e68; font-size: 1.8rem; }
.kssr-sat-report__summary small { color: #68728a; }

.kssr-sat-report__columns {
	display: grid;
	grid-template-columns: minmax(0, 1.25fr) minmax(270px, .75fr);
	gap: 14px;
	margin-top: 14px;
}

.kssr-sat-report__columns > section,
.kssr-sat-report__history {
	padding: 17px;
	border: 1px solid #dce3ef;
	border-radius: 15px;
	background: #fff;
}

.kssr-sat-report h4 {
	margin: 0 0 13px;
	color: #344267;
	font-size: .92rem;
}

.kssr-sat-report__domains {
	display: grid;
	gap: 10px;
}

.kssr-sat-report__domains > div {
	display: grid;
	grid-template-columns: minmax(150px, .9fr) minmax(120px, 1fr) 48px;
	align-items: center;
	gap: 10px;
}

.kssr-sat-report__domains span,
.kssr-sat-report__domains small {
	display: block;
}

.kssr-sat-report__domains small {
	margin-top: 2px;
	color: #778198;
	font-size: .7rem;
}

.kssr-sat-report__domains i {
	height: 9px;
	overflow: hidden;
	border-radius: 999px;
	background: #e6ebf4;
}

.kssr-sat-report__domains i b {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: linear-gradient(90deg, #5268a8, #5ea8ae);
}

.kssr-sat-report__domains em {
	color: #46577f;
	font-size: .75rem;
	font-style: normal;
	font-weight: 850;
	text-align: right;
}

.kssr-sat-report__priorities {
	background: #fff9ec !important;
}

.kssr-sat-report__priorities ol {
	margin: 0;
	padding-left: 21px;
}

.kssr-sat-report__priorities li + li {
	margin-top: 10px;
}

.kssr-sat-report__priorities li strong,
.kssr-sat-report__priorities li span {
	display: block;
}

.kssr-sat-report__priorities li span {
	margin-top: 2px;
	color: #6c6257;
	font-size: .78rem;
	line-height: 1.45;
}

.kssr-sat-report__history {
	margin-top: 14px;
}

.kssr-sat-report__history > div {
	overflow-x: auto;
}

.kssr-sat-report__history table {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	font-size: .78rem;
}

.kssr-sat-report__history th,
.kssr-sat-report__history td {
	padding: 9px 8px;
	border-bottom: 1px solid #e5e9f0;
	text-align: left;
}

.kssr-sat-report__history button {
	white-space: nowrap;
	padding: 7px 10px;
	border: 1px solid #becbe0;
	border-radius: 8px;
	color: #405487;
	background: #f4f7fc;
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.kssr-sat-report__history button:hover,
.kssr-sat-report__history button:focus-visible {
	border-color: #667db5;
	background: #e8eef9;
}

.kssr-sat-report__answer-review {
	margin-top: 14px;
	padding: 18px;
	border: 1px solid #dce3ef;
	border-radius: 15px;
	background: #fff;
}

.kssr-sat-report__answer-review > p {
	color: #68728a;
	font-size: .82rem;
}

.kssr-assessment-results__answer {
	margin: 10px 0;
	border: 1px solid #d4ddeb;
	border-left: 5px solid #c14f5e;
	border-radius: 13px;
	background: #fff7f7;
}

.kssr-assessment-results__answer.is-correct {
	border-left-color: #329b76;
	background: #f2fbf7;
}

.kssr-assessment-results__answer summary {
	display: flex;
	align-items: center;
	gap: 9px;
	padding: 14px 16px;
	font-weight: 800;
	cursor: pointer;
}

.kssr-assessment-results__answer summary span {
	padding: 4px 8px;
	border-radius: 999px;
	color: #7d3448;
	background: #f7dfe3;
	font-size: .7rem;
	text-transform: uppercase;
}

.kssr-assessment-results__answer.is-correct summary span {
	color: #176c50;
	background: #d9f2e8;
}

.kssr-assessment-results__answer > p {
	margin: 10px 16px;
	line-height: 1.55;
}

.kssr-assessment-results__answer > p:last-child {
	margin-bottom: 18px;
}

.kssr-sat-report__disclaimer {
	margin: 14px 0 0;
	color: #68728a;
	font-size: .74rem;
	line-height: 1.5;
}

.kssr-assessment-test__header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 7px;
}

.kssr-assessment-test__header-actions > button {
	min-height: 34px;
	padding: 6px 9px;
	border: 1px solid rgba(255, 255, 255, .35);
	border-radius: 8px;
	color: #fff9e8;
	background: rgba(255, 255, 255, .12);
	font-size: .72rem;
	font-weight: 750;
	cursor: pointer;
}

.kssr-assessment-test__header-actions .kssr-assessment-test__timer {
	margin-left: 5px;
}

.kssr-assessment-test__timer[hidden] {
	display: none !important;
}

.kssr-assessment-test__timer-controls {
	display: inline-flex;
	align-items: center;
	gap: 4px;
}

.kssr-assessment-test__timer-controls > button {
	min-height: 30px;
	padding: 5px 8px;
	border: 1px solid rgba(255, 255, 255, .38);
	border-radius: 7px;
	color: #fff9e8;
	background: rgba(255, 255, 255, .13);
	font: inherit;
	font-size: .68rem;
	font-weight: 800;
	cursor: pointer;
}

.kssr-assessment-test__timer-controls > button:hover,
.kssr-assessment-test__timer-controls > button:focus-visible {
	background: rgba(255, 255, 255, .24);
}

.kssr-assessment-test__timer-controls > button:disabled {
	cursor: default;
	opacity: .55;
}

.kssr-sat-passage-highlight {
	padding: 0 .08em;
	border-radius: 2px;
	background: #ffec8e;
	box-shadow: 0 0 0 1px rgba(174, 126, 24, .12);
}

.kssr-assessment-underline {
	color: inherit;
	text-decoration-line: underline;
	text-decoration-color: currentColor;
	text-decoration-thickness: .12em;
	text-underline-offset: .16em;
	text-decoration-skip-ink: auto;
}

html.kssr-tool-open {
	overflow: hidden;
}

.kssr-sat-tool-layer[hidden],
.kssr-sat-tool [hidden] {
	display: none !important;
}

.kssr-sat-tool-layer {
	position: fixed;
	z-index: 100000;
	inset: 0;
	display: grid;
	justify-items: end;
}

.kssr-sat-tool-layer__backdrop {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: rgba(29, 31, 45, .48);
	cursor: default;
}

.kssr-sat-tool {
	position: relative;
	z-index: 1;
	width: min(720px, 92vw);
	height: 100%;
	padding: 0;
	overflow: auto;
	border: 0;
	background: #f6f2ec;
	box-shadow: -18px 0 50px rgba(27, 30, 46, .25);
}

.kssr-sat-tool > header {
	position: sticky;
	z-index: 2;
	top: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 18px 20px;
	color: #fff;
	background: linear-gradient(105deg, #3c3157, #3c5c8f 62%, #508b94);
}

.kssr-sat-tool > header h2 {
	margin: 0;
	color: #fff;
	font-size: 1.45rem;
}

.kssr-sat-tool > header .kssr-dashboard__kicker {
	color: #e4edff;
}

.kssr-sat-tool > header > button {
	width: 42px;
	height: 42px;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
	color: #fff;
	background: rgba(255, 255, 255, .12);
	font-size: 1.65rem;
	cursor: pointer;
}

.kssr-sat-tool > section {
	padding: 22px;
}

.kssr-sat-tool > section > button,
.kssr-sat-calculator button {
	min-height: 38px;
	padding: 7px 10px;
	border: 1px solid #c8c0b6;
	border-radius: 8px;
	color: #3c4562;
	background: #fff;
	font-weight: 750;
	cursor: pointer;
}

.kssr-sat-question-map {
	display: grid;
	grid-template-columns: repeat(9, minmax(42px, 1fr));
	gap: 8px;
	margin-top: 16px;
}

.kssr-sat-question-map button {
	position: relative;
	aspect-ratio: 1;
	border: 2px solid #aeb8ca;
	border-radius: 50%;
	color: #394765;
	background: #fff;
	font-weight: 800;
	cursor: pointer;
}

.kssr-sat-question-map button.is-answered {
	color: #fff;
	background: #5a6fa8;
}

.kssr-sat-question-map button.is-current {
	outline: 4px solid #e5b85e;
	outline-offset: 2px;
}

.kssr-sat-question-map button span {
	position: absolute;
	top: -7px;
	right: -4px;
	color: #a13f5e;
	font-size: .8rem;
}

.kssr-sat-tool [data-kssr-tool-panel="notes"] label {
	display: block;
	margin: 18px 0 6px;
	font-weight: 800;
}

.kssr-sat-tool [data-kssr-question-note] {
	width: 100%;
	padding: 11px;
	border: 1px solid #c9c1b7;
	border-radius: 10px;
	background: #fffdf8;
	resize: vertical;
}

.kssr-sat-highlights ul {
	display: grid;
	gap: 7px;
	padding: 0;
	list-style: none;
}

.kssr-sat-highlights li {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 8px;
	padding: 9px 11px;
	border-radius: 9px;
	background: #fff8d8;
}

.kssr-sat-highlights mark {
	background: #fff0a8;
}

.kssr-sat-highlights button {
	border: 0;
	background: transparent;
	font-size: 1.1rem;
	cursor: pointer;
}

.kssr-sat-reference > div {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.kssr-sat-reference article {
	padding: 14px;
	border: 1px solid #d8dfe9;
	border-radius: 12px;
	background: #fff;
}

.kssr-sat-reference article p {
	margin: 5px 0 0;
}

.kssr-sat-calculator {
	display: grid;
	gap: 12px;
	color: #28344f;
}

.kssr-sat-calculator__tabs {
	display: flex;
	gap: 7px;
}

.kssr-sat-calculator__tabs button[aria-selected="true"] {
	color: var(--kssr-yellow);
	-webkit-text-fill-color: var(--kssr-yellow);
	background: #475f9d;
}

.kssr-sat-calculator__screen {
	display: grid;
	gap: 7px;
	padding: 14px;
	border-radius: 12px;
	background: #e9eef8;
}

.kssr-sat-calculator__screen label {
	display: grid;
	gap: 5px;
	font-size: .75rem;
	font-weight: 800;
}

.kssr-sat-calculator__screen input {
	width: 100%;
	min-height: 44px;
	padding: 9px 11px;
	border: 1px solid #aebad0;
	border-radius: 8px;
	background: #fff;
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 1rem;
}

.kssr-sat-calculator__screen output {
	min-height: 1.35em;
	color: #344a7d;
	font-weight: 800;
	overflow-wrap: anywhere;
}

.kssr-sat-calculator__graph {
	display: grid;
	gap: 8px;
}

.kssr-sat-calculator__graph canvas {
	display: block;
	width: 100%;
	height: min(42vh, 420px);
	border: 1px solid #bdc7d7;
	border-radius: 10px;
	background: #fffdf8;
}

.kssr-sat-calculator__graph > div {
	display: grid;
	grid-template-columns: repeat(4, minmax(74px, 1fr)) auto;
	align-items: end;
	gap: 7px;
}

.kssr-sat-calculator__graph label {
	display: grid;
	gap: 3px;
	font-size: .68rem;
	font-weight: 800;
}

.kssr-sat-calculator__graph input {
	width: 100%;
	min-height: 38px;
	padding: 6px;
	border: 1px solid #c4bdB4;
	border-radius: 7px;
}

.kssr-sat-calculator__keys {
	display: grid;
	grid-template-columns: repeat(5, minmax(52px, 1fr));
	gap: 6px;
}

.kssr-sat-calculator__keys button {
	min-height: 42px;
}

.kssr-sat-calculator__keys button.is-equals {
	color: #fff;
	background: #5268a5;
}

.kssr-sat-calculator > p {
	margin: 0;
	color: #68728a;
	font-size: .72rem;
	line-height: 1.45;
}

@media (max-width: 900px) {
	.kssr-ielts-launcher {
		grid-template-columns: 1fr;
	}

	.kssr-ielts-launcher__format {
		grid-column: 1;
		grid-row: auto;
	}

	.kssr-sat-dashboard__hero,
	.kssr-sat-report__columns {
		grid-template-columns: 1fr;
	}

	.kssr-sat-dashboard__settings {
		grid-template-columns: 1fr 1fr;
	}

	.kssr-sat-dashboard__settings > div,
	.kssr-sat-dashboard__settings [role="status"] {
		grid-column: 1 / -1;
	}

	.kssr-sat-report__summary {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kssr-assessment-test__header {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.kssr-assessment-test__header-actions {
		width: 100%;
		justify-content: flex-start;
	}
}

@media (max-width: 600px) {
	.kssr-ielts-launcher__form fieldset,
	.kssr-ielts-launcher__test {
		grid-template-columns: 1fr;
	}

	.kssr-ielts-report,
	.kssr-ielts-writing__journey {
		align-items: stretch;
		flex-direction: column;
	}

	.kssr-ielts-report > p {
		text-align: left;
	}

	.kssr-sat-dashboard__settings,
	.kssr-sat-report__summary,
	.kssr-sat-reference > div {
		grid-template-columns: 1fr;
	}

	.kssr-sat-dashboard__settings > div {
		grid-column: auto;
	}

	.kssr-sat-question-map {
		grid-template-columns: repeat(6, minmax(38px, 1fr));
	}

	.kssr-sat-calculator__graph > div {
		grid-template-columns: repeat(2, minmax(74px, 1fr));
	}

	.kssr-sat-calculator__keys {
		grid-template-columns: repeat(5, minmax(42px, 1fr));
	}
}

@container (max-width:680px){
	.kssr-writing-test__intro{align-items:stretch;flex-direction:column;padding:22px 18px}
	.kssr-writing-test__workspace{padding:18px}
	.kssr-writing-test__question{min-height:0;padding:20px}
	.kssr-writing-test__discussion-students{grid-template-columns:1fr}
	.kssr-writing-test__navigation{grid-template-columns:1fr;padding:0 18px 22px}
	.kssr-writing-test__score-grid{grid-template-columns:1fr}
	.kssr-writing-test__results{margin:0 18px 24px;padding:20px}
	.kssr-feedback-history__record summary{grid-template-columns:1fr}
}

.kssr-assessment-question-figure {
	margin: 22px 0 4px;
	padding: 12px;
	border: 1px solid rgba(75, 84, 111, .18);
	border-radius: 14px;
	background: #fff;
	text-align: center;
}

.kssr-assessment-question-figure img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.kssr-sat-student-notes {
	margin: 4px 0 20px;
	padding: 20px 22px;
	border: 1px solid rgba(117, 84, 102, .2);
	border-radius: 16px;
	background: linear-gradient(145deg, #fffdf8, #f7f0e4);
}

.kssr-sat-student-notes > p {
	margin: 0 0 14px;
	color: #604a43;
	font-weight: 750;
}

.kssr-sat-student-notes ul {
	display: grid;
	gap: 10px;
	margin: 0;
	padding-left: 1.35em;
}

.kssr-sat-student-notes li {
	margin: 0;
	padding-left: .25em;
	line-height: 1.55;
}

.kssr-assessment-data-table-wrap {
	max-width: 100%;
	margin: 20px 0 4px;
	overflow-x: auto;
	border: 1px solid rgba(75, 84, 111, .2);
	border-radius: 12px;
	background: #fff;
}

.kssr-assessment-data-table {
	width: 100%;
	min-width: 360px;
	border-collapse: collapse;
	color: #2f3344;
	font-size: .92rem;
}

.kssr-assessment-data-table th,
.kssr-assessment-data-table td {
	padding: 10px 12px;
	border-bottom: 1px solid rgba(75, 84, 111, .14);
	text-align: left;
	vertical-align: middle;
}

.kssr-assessment-data-table th {
	background: #eef3fb;
	color: #303959;
	font-weight: 800;
}

.kssr-assessment-data-table tbody tr:last-child td {
	border-bottom: 0;
}

.kssr-sat-landing__actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 22px;
	padding: 8px 4px 14px;
}

.kssr-sat-landing__action {
	--sat-action-start: #d9e8ff;
	--sat-action-middle: #e8dcff;
	--sat-action-end: #ccefeb;
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 250px;
	overflow: hidden;
	flex-direction: column;
	justify-content: space-between;
	padding: 34px;
	border: 1px solid rgba(111, 126, 186, .24);
	border-radius: 28px;
	background: linear-gradient(135deg, var(--sat-action-start), var(--sat-action-middle) 52%, var(--sat-action-end));
	box-shadow:
		0 18px 40px rgba(93, 111, 178, .18),
		0 0 34px rgba(172, 202, 255, .32),
		inset 0 1px 0 rgba(255, 255, 255, .88);
	color: #26345f !important;
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.kssr-sat-landing__action::after {
	position: absolute;
	z-index: -1;
	inset: 10% 8% auto auto;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .46);
	filter: blur(22px);
	content: "";
}

.kssr-sat-landing__action.is-math {
	--sat-action-start: #ffe7d8;
	--sat-action-middle: #f8dcf0;
	--sat-action-end: #d9e7ff;
	box-shadow:
		0 18px 40px rgba(166, 105, 150, .16),
		0 0 34px rgba(255, 201, 223, .3),
		inset 0 1px 0 rgba(255, 255, 255, .88);
}

.kssr-sat-landing__action:hover {
	transform: translateY(-4px);
	border-color: rgba(85, 105, 177, .46);
	box-shadow:
		0 24px 52px rgba(85, 104, 171, .23),
		0 0 46px rgba(165, 205, 255, .42),
		inset 0 1px 0 rgba(255, 255, 255, .95);
	color: #26345f !important;
}

.kssr-sat-landing__action:focus-visible {
	outline: 4px solid #6c82c5;
	outline-offset: 4px;
}

.kssr-sat-landing__action > span {
	color: #56658d;
	font-size: .8rem;
	font-weight: 850;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.kssr-sat-landing__action > strong {
	display: block;
	max-width: 540px;
	margin: 22px 0;
	color: #26345f;
	font-size: clamp(1.65rem, 3vw, 2.45rem);
	line-height: 1.08;
	text-wrap: balance;
}

.kssr-sat-landing__action > em {
	display: inline-flex;
	width: fit-content;
	min-height: 52px;
	align-items: center;
	gap: 10px;
	padding: 13px 20px;
	border: 1px solid rgba(255, 255, 255, .94);
	border-radius: 16px;
	background: rgba(255, 255, 255, .78);
	box-shadow: 0 9px 22px rgba(77, 91, 142, .12);
	color: #2e3d70;
	font-size: 1rem;
	font-style: normal;
	font-weight: 800;
}

.kssr-sat-landing__action > em b {
	font-size: 1.25em;
}

.kssr-sat-landing__dashboard-preview {
	min-height: 0;
}

.kssr-sat-landing__report {
	display: grid;
	grid-template-columns: minmax(120px, .8fr) minmax(150px, 1.2fr);
	gap: 12px;
	width: 100%;
	padding: 16px;
	border: 1px solid #cbd6e9;
	border-radius: 15px;
	background: linear-gradient(145deg, #f9fbff, #e8f0fb);
	color: #344267;
}

.kssr-sat-landing__report header {
	grid-column: 1 / -1;
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #d8e1ef;
	font-size: .76rem;
	text-transform: uppercase;
}

.kssr-sat-landing__report header span {
	color: #73809b;
	font-size: .7rem;
	text-transform: none;
}

.kssr-sat-landing__total {
	display: grid;
	align-content: center;
	justify-items: center;
	padding: 14px 10px;
	border-radius: 14px;
	background: linear-gradient(145deg, #6279bd, #75b9c5);
	color: #fff;
	text-align: center;
}

.kssr-sat-landing__total span,
.kssr-sat-landing__total small {
	font-size: .68rem;
}

.kssr-sat-landing__total strong {
	font-size: 2rem;
	line-height: 1.1;
}

.kssr-sat-landing__section-scores {
	display: grid;
	gap: 8px;
}

.kssr-sat-landing__section-scores p {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	padding: 10px 12px;
	border: 1px solid #d4dceb;
	border-radius: 11px;
	background: rgba(255, 255, 255, .78);
	font-size: .72rem;
}

.kssr-sat-landing__section-scores strong {
	color: #5269ab;
	font-size: 1.1rem;
}

.kssr-sat-landing__insight {
	grid-column: 1 / -1;
	display: grid;
	gap: 3px;
	padding: 11px 13px;
	border-radius: 11px;
	background: #fff0d7;
	font-size: .7rem;
}

.kssr-sat-landing__insight strong {
	color: #7d5c29;
	font-size: .73rem;
}

@media (max-width: 760px) {
	.kssr-sat-landing__actions {
		grid-template-columns: 1fr;
	}

	.kssr-sat-landing__action {
		min-height: 220px;
		padding: 28px 24px;
	}
}

@media (max-width: 480px) {
	.kssr-sat-landing__report {
		grid-template-columns: 1fr;
	}

	.kssr-sat-landing__report header,
	.kssr-sat-landing__insight {
		grid-column: 1;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kssr-sat-landing__action {
		transition: none;
	}

	.kssr-sat-landing__action:hover {
		transform: none;
	}
}

.kssr-ielts-landing {
	width: min(1180px, calc(100vw - 32px)) !important;
	max-width: none !important;
	box-sizing: border-box;
}

.kssr-ielts-landing .kssr-toefl-landing__hero h2 {
	width: 100%;
	text-align: center;
}

.kssr-toefl-landing__hero.is-access-button h2 {
	width: 100%;
	text-align: center;
}

.kssr-toefl-landing__hero-button,
.kssr-ielts-landing__hero-button {
	display: flex;
	width: 100%;
	min-height: 88px;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 18px 28px;
	border: 2px solid rgba(255, 255, 255, .62);
	border-radius: 20px;
	background: rgba(255, 255, 255, .13);
	box-shadow:
		0 14px 30px rgba(38, 52, 95, .16),
		inset 0 1px 0 rgba(255, 255, 255, .28);
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1.08;
	text-align: center;
	text-decoration: none !important;
	text-shadow: 0 2px 12px rgba(38, 52, 95, .18);
	transition: transform .18s ease, background-color .18s ease, box-shadow .18s ease;
}

.kssr-toefl-landing__hero-button:hover,
.kssr-ielts-landing__hero-button:hover {
	transform: translateY(-2px);
	background: rgba(255, 255, 255, .23);
	box-shadow:
		0 19px 38px rgba(38, 52, 95, .22),
		inset 0 1px 0 rgba(255, 255, 255, .42);
	color: #fff !important;
}

.kssr-toefl-landing__hero-button:focus-visible,
.kssr-ielts-landing__hero-button:focus-visible {
	outline: 4px solid #fff;
	outline-offset: 4px;
}

.kssr-toefl-landing__hero-button span,
.kssr-ielts-landing__hero-button span {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: .72em;
	line-height: 1;
}

.kssr-ielts-landing .kssr-toefl-landing__hero h2 > a.kssr-ielts-landing__hero-button {
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-weight: 800;
}

.kssr-ielts-landing__actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 18px;
	padding: 10px 0 14px;
}

.kssr-ielts-landing__action {
	--ielts-card-start: #dceaff;
	--ielts-card-middle: #e8e4ff;
	--ielts-card-end: #d7f1ed;
	position: relative;
	isolation: isolate;
	display: flex;
	min-height: 265px;
	overflow: hidden;
	flex-direction: column;
	align-items: flex-start;
	padding: 30px;
	border: 1px solid rgba(114, 131, 186, .24);
	border-radius: 28px;
	background: linear-gradient(145deg, rgba(255, 255, 255, .76), var(--ielts-card-start) 34%, var(--ielts-card-middle) 68%, var(--ielts-card-end));
	box-shadow:
		0 17px 38px rgba(91, 109, 164, .16),
		0 0 34px color-mix(in srgb, var(--ielts-card-middle) 70%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, .92);
	color: #26345f !important;
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.kssr-ielts-landing__action::after {
	position: absolute;
	z-index: -1;
	inset: 8% 7% auto auto;
	width: 140px;
	height: 140px;
	border-radius: 50%;
	background: rgba(255, 255, 255, .55);
	filter: blur(24px);
	content: "";
}

.kssr-ielts-landing__action.is-general-reading {
	--ielts-card-start: #ffe9d9;
	--ielts-card-middle: #f4e6f2;
	--ielts-card-end: #dfeaff;
}

.kssr-ielts-landing__action.is-academic-reading {
	--ielts-card-start: #e2f2e8;
	--ielts-card-middle: #dceff4;
	--ielts-card-end: #e7e3fb;
}

.kssr-ielts-landing__action.is-general-writing {
	--ielts-card-start: #f5e1ec;
	--ielts-card-middle: #eadff8;
	--ielts-card-end: #dcecf6;
}

.kssr-ielts-landing__action.is-academic-writing {
	--ielts-card-start: #fff0cf;
	--ielts-card-middle: #f5dfeb;
	--ielts-card-end: #dfe8fb;
}

.kssr-ielts-landing__action.is-speaking {
	--ielts-card-start: #dff2ec;
	--ielts-card-middle: #e0ebfb;
	--ielts-card-end: #f1e2f3;
}

.kssr-ielts-landing__action:hover {
	transform: translateY(-4px);
	border-color: rgba(78, 103, 177, .48);
	box-shadow:
		0 24px 50px rgba(82, 103, 165, .22),
		0 0 48px color-mix(in srgb, var(--ielts-card-middle) 86%, transparent),
		inset 0 1px 0 rgba(255, 255, 255, .96);
	color: #26345f !important;
}

.kssr-ielts-landing__action:focus-visible {
	outline: 4px solid #6c82c5;
	outline-offset: 4px;
}

.kssr-ielts-landing__action > strong {
	display: block;
	max-width: 340px;
	color: #26345f;
	font-size: clamp(1.45rem, 2.35vw, 2rem);
	line-height: 1.12;
	text-wrap: balance;
}

.kssr-ielts-landing__action > span {
	margin-top: 12px;
	color: #56658a;
	font-size: .95rem;
	font-weight: 700;
}

.kssr-ielts-landing__action > em {
	display: inline-flex;
	width: 100%;
	min-height: 56px;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: auto;
	padding: 13px 18px;
	border: 1px solid rgba(69, 130, 208, .35);
	border-radius: 17px;
	background: linear-gradient(105deg, #4d75c8 0%, #349ff1 58%, #5bb9c7 100%);
	box-shadow: 0 10px 22px rgba(61, 118, 190, .22);
	color: #fff !important;
	-webkit-text-fill-color: #fff;
	font-size: 1rem;
	font-style: normal;
	font-weight: 800;
	text-align: center;
}

.kssr-ielts-landing__action > em b {
	font-size: 1.25em;
}

.kssr-ielts-landing__pdfs {
	display: grid;
	grid-template-columns: minmax(240px, 1fr) minmax(320px, auto);
	align-items: center;
	gap: 20px;
	padding: 22px 24px;
	border-block: 1px solid #d7dfed;
}

.kssr-ielts-landing__pdfs > div {
	display: grid;
	gap: 5px;
}

.kssr-ielts-landing__pdfs > div strong {
	color: #26345f;
	font-size: 1.15rem;
}

.kssr-ielts-landing__pdfs > div span {
	color: #64718e;
}

.kssr-ielts-landing__pdfs nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
}

.kssr-ielts-landing__dashboard-mock {
	display: grid;
	gap: 17px;
	width: 100%;
	min-height: 250px;
	padding: 20px;
	border: 1px solid #cbd6e9;
	border-radius: 15px;
	background: linear-gradient(145deg, #f9fbff, #e7effa);
	color: #344267;
}

.kssr-ielts-landing__dashboard-mock header {
	display: grid;
	gap: 3px;
	padding-bottom: 12px;
	border-bottom: 1px solid #d7e0ee;
}

.kssr-ielts-landing__dashboard-mock header span {
	color: #74809a;
	font-size: .76rem;
}

.kssr-ielts-landing__module {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
}

.kssr-ielts-landing__module b,
.kssr-ielts-landing__module span {
	padding: 11px;
	border-radius: 11px;
	background: linear-gradient(105deg, #5d77bd, #61b3c7);
	color: #fff;
	font-size: .78rem;
	text-align: center;
}

.kssr-ielts-landing__module span {
	border: 1px solid #d1daea;
	background: rgba(255, 255, 255, .78);
	color: #465574;
}

.kssr-ielts-landing__dashboard-mock ol {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kssr-ielts-landing__dashboard-mock li {
	padding: 10px;
	border: 1px solid #d2dbea;
	border-radius: 10px;
	background: rgba(255, 255, 255, .72);
	font-size: .75rem;
	font-weight: 800;
	text-align: center;
}

.kssr-ielts-embedded__nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
	padding: 14px 17px;
	border: 1px solid rgba(94, 112, 166, .2);
	border-radius: 14px;
	background: linear-gradient(125deg, #e9effb, #e4f2ef);
}

.kssr-ielts-embedded__nav a {
	color: #354a83;
	font-weight: 800;
}

.kssr-ielts-embedded__nav strong {
	color: #344267;
	font-size: .82rem;
}

.kssr-ielts-embedded__section {
	min-width: 0;
	overflow: hidden;
}

.kssr-ielts-embedded__section > .kssr-platform,
.kssr-ielts-embedded__section > .kssr-tool {
	width: 100%;
	max-width: none;
	margin: 0;
}

@media (max-width: 900px) {
	.kssr-ielts-landing__actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.kssr-ielts-landing__pdfs {
		grid-template-columns: 1fr;
	}

	.kssr-ielts-landing__pdfs nav {
		justify-content: flex-start;
	}

	.kssr-ielts-embedded__nav {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 560px) {
	.kssr-ielts-landing__hero-button {
		min-height: 72px;
		gap: 10px;
		padding: 14px 18px;
		border-radius: 16px;
	}

	.kssr-ielts-landing__actions {
		grid-template-columns: 1fr;
	}

	.kssr-ielts-landing__action {
		min-height: 230px;
		padding: 26px 22px;
	}

	.kssr-ielts-landing__pdfs {
		padding-inline: 4px;
	}

	.kssr-ielts-landing__pdfs nav,
	.kssr-ielts-landing__pdfs a {
		width: 100%;
	}
}

/* Free full-test PDF and audio download actions. */
.kssr-toefl-landing__pdf > nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px;
}

.kssr-toefl-landing__pdf > nav .kssr-toefl-action {
	max-width: 330px;
}

.kssr-toefl-book-audio-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	margin: 0;
	padding: 14px 16px;
	border: 1px solid #d8be78;
	border-radius: 15px;
	background: linear-gradient(110deg, #fff9e6, #f7eef1);
	color: #4f3e46;
}

.kssr-dashboard__main > .kssr-toefl-book-audio-notice {
	margin: 12px 0 20px;
}

.kssr-toefl-book-audio-notice p {
	margin: 0;
	font-size: .9rem;
	line-height: 1.45;
}

.kssr-toefl-book-audio-notice a,
.kssr-toefl-book-audio-notice a:is(:link, :visited, :hover, :focus, :active) {
	display: inline-flex;
	min-height: 40px;
	align-items: center;
	justify-content: center;
	padding: 9px 14px;
	border: 1px solid #6b4147;
	border-radius: 11px;
	background: #6b4147;
	color: #fff8ec !important;
	-webkit-text-fill-color: #fff8ec !important;
	font-size: .82rem;
	font-weight: 750;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	transform: none;
}

.kssr-toefl-book-audio-notice a:focus-visible {
	outline: 3px solid #efb73e;
	outline-offset: 3px;
}

@media (max-width: 560px) {
	.kssr-toefl-landing__pdf > nav,
	.kssr-toefl-landing__pdf > nav .kssr-toefl-action {
		width: 100%;
		max-width: none;
	}

	.kssr-toefl-book-audio-notice {
		align-items: stretch;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.kssr-ielts-landing__hero-button,
	.kssr-ielts-landing__action {
		transition: none;
	}

	.kssr-ielts-landing__hero-button:hover,
	.kssr-ielts-landing__action:hover {
		transform: none;
	}
}

.kssr-student-account {
	position: relative;
	left: 50%;
	display: grid;
	grid-template-columns: minmax(300px, .82fr) minmax(400px, 1.18fr);
	width: min(1080px, calc(100vw - 32px)) !important;
	max-width: none !important;
	margin-inline: auto;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--kssr-rosewood) 18%, transparent);
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 28px 80px color-mix(in srgb, var(--kssr-umber) 16%, transparent);
	color: var(--kssr-ink);
	transform: translateX(-50%);
}

.kssr-student-account > .kssr-shell-theme-picker {
	grid-column: 1 / -1;
	margin: 0;
	border: 0;
	border-bottom: 1px solid color-mix(in srgb, var(--kssr-rosewood) 14%, transparent);
	border-radius: 0;
}

.kssr-student-account__welcome {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 680px;
	padding: clamp(34px, 5vw, 62px);
	overflow: hidden;
	color: #f9fbff;
	background:
		radial-gradient(circle at 78% 15%, var(--kssr-bokeh-one-core) 0 3%, transparent 19%),
		radial-gradient(circle at 12% 86%, var(--kssr-bokeh-two-core) 0 4%, transparent 21%),
		linear-gradient(145deg, var(--kssr-umber) 0%, var(--kssr-rosewood) 52%, var(--kssr-dusty-plum) 100%);
}

.kssr-student-account__welcome::after {
	position: absolute;
	right: -82px;
	bottom: 108px;
	width: 250px;
	height: 250px;
	border: 1px solid rgba(255, 255, 255, .17);
	border-radius: 50%;
	box-shadow: 0 0 0 34px rgba(255, 255, 255, .035), 0 0 0 72px rgba(255, 255, 255, .025);
	content: "";
	pointer-events: none;
}

.kssr-student-account__brand {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: clamp(60px, 9vw, 112px);
}

.kssr-student-account__brand img {
	display: block;
	width: 52px;
	height: 52px;
	object-fit: cover;
	border: 1px solid rgba(255, 255, 255, .5);
	border-radius: 50%;
	background: #fff4d6;
	box-shadow: 0 7px 20px rgba(26, 36, 66, .23);
}

.kssr-student-account__brand strong {
	color: #fff;
	font-size: .86rem;
	letter-spacing: .13em;
	text-transform: uppercase;
}

.kssr-student-account__welcome .kssr-dashboard__kicker {
	color: var(--kssr-cream);
}

.kssr-student-account__welcome h2 {
	margin: 5px 0 17px;
	color: #fff !important;
	font-size: clamp(2.35rem, 5vw, 4.3rem);
	line-height: .98;
	letter-spacing: -.055em;
	text-wrap: balance;
}

.kssr-student-account__welcome > p:not(.kssr-dashboard__kicker) {
	max-width: 430px;
	margin: 0;
	color: rgba(255, 255, 255, .8);
	font-size: 1.05rem;
	line-height: 1.6;
}

.kssr-student-account__welcome ul {
	display: grid;
	gap: 17px;
	margin: 35px 0;
	padding: 0;
	list-style: none;
}

.kssr-student-account__welcome li {
	display: grid;
	grid-template-columns: 29px 1fr;
	gap: 1px 11px;
	align-items: center;
}

.kssr-student-account__welcome li > span {
	display: grid;
	grid-row: 1 / 3;
	place-items: center;
	width: 29px;
	height: 29px;
	border-radius: 50%;
	color: var(--kssr-umber);
	background: var(--kssr-cream);
	font-size: .78rem;
	font-weight: 900;
}

.kssr-student-account__welcome li strong {
	color: #fff;
	font-size: .92rem;
}

.kssr-student-account__welcome li small {
	color: rgba(255, 255, 255, .7);
	font-size: .77rem;
}

.kssr-student-account__commerce {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	gap: 11px;
	margin-top: auto;
	padding: 13px 14px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 15px;
	background: rgba(255, 255, 255, .09);
	backdrop-filter: blur(10px);
}

.kssr-student-account__commerce-mark {
	display: grid;
	place-items: center;
	flex: 0 0 35px;
	height: 35px;
	border-radius: 10px;
	color: #5d417b;
	background: #fff;
	font-weight: 950;
}

.kssr-student-account__commerce p,
.kssr-student-account__commerce strong,
.kssr-student-account__commerce small {
	display: block;
	margin: 0;
	color: #fff;
}

.kssr-student-account__commerce small {
	margin-top: 2px;
	color: rgba(255, 255, 255, .7);
	font-size: .7rem;
}

.kssr-student-account__auth {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	padding: clamp(32px, 6vw, 72px);
	background:
		radial-gradient(circle at top right, var(--kssr-bokeh-one-halo), transparent 34%),
		linear-gradient(150deg, var(--kssr-paper), var(--kssr-paper-warm));
}

.kssr-student-account__intro {
	display: grid;
	gap: 7px;
	margin-bottom: 24px;
}

.kssr-student-account__intro h2,
.kssr-student-account__panel h3 {
	margin: 0;
	color: var(--kssr-ink);
}

.kssr-student-account__intro h2 {
	font-size: clamp(1.9rem, 4vw, 2.75rem);
	letter-spacing: -.035em;
}

.kssr-student-account__intro p,
.kssr-student-account__panel p,
.kssr-student-account__message,
.kssr-student-account__notice {
	margin: 0;
}

.kssr-student-account__intro > p:last-child {
	color: var(--kssr-muted);
}

.kssr-student-account__notice,
.kssr-student-account__message:not(:empty) {
	margin-bottom: 16px;
	padding: 12px 14px;
	border: 1px solid rgba(71, 112, 97, .28);
	border-radius: 12px;
	background: #eef8f3;
	color: #285c4a;
	font-weight: 700;
}

.kssr-student-account__panel {
	display: grid;
	gap: 18px;
	padding: 0;
	border: 0;
	background: transparent;
}

.kssr-student-account__status-icon {
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border-radius: 16px;
	color: #fff;
	background: #37816b;
	font-size: 1.35rem;
	box-shadow: 0 9px 20px rgba(55, 129, 107, .18);
}

.kssr-student-account__status-icon.is-waiting {
	color: #754c2d;
	background: #ffe1b8;
	box-shadow: 0 9px 20px rgba(166, 112, 56, .14);
}

.kssr-student-account__tabs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 8px;
	padding: 5px;
	border-radius: 14px;
	background: color-mix(in srgb, var(--kssr-dusty-plum) 14%, white);
}

.kssr-student-account__tabs button {
	min-height: 44px;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--kssr-muted);
	font: inherit;
	font-weight: 800;
	cursor: pointer;
}

.kssr-student-account__tabs button[aria-selected="true"] {
	color: var(--kssr-yellow);
	-webkit-text-fill-color: var(--kssr-yellow);
	background: var(--kssr-umber);
	box-shadow: 0 3px 12px color-mix(in srgb, var(--kssr-umber) 12%, transparent);
}

.kssr-student-account__form {
	display: grid;
	gap: 15px;
}

.kssr-student-account__form[hidden] {
	display: none !important;
}

.kssr-student-account__form label {
	display: grid;
	gap: 7px;
	color: var(--kssr-ink);
	font-weight: 800;
}

.kssr-student-account__form label > span {
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.kssr-student-account__form label small {
	color: #69738e;
	font-size: .75rem;
	font-weight: 500;
}

.kssr-student-account__form input {
	width: 100%;
	min-height: 52px;
	padding: 11px 13px;
	border: 1px solid #c7cedd;
	border-radius: 12px;
	background: #fff;
	color: #242a44;
	font: inherit;
	font-weight: 500;
	box-shadow: inset 0 1px 2px rgba(44, 54, 81, .035);
}

.kssr-student-account__form input::placeholder {
	color: #9ba3b6;
}

.kssr-student-account__form input:focus-visible,
.kssr-student-account__tabs button:focus-visible,
.kssr-student-account__actions :is(a, button):focus-visible {
	outline: 3px solid #f0a363;
	outline-offset: 3px;
}

.kssr-student-account__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

.kssr-student-account__actions .kssr-button,
.kssr-student-account__form .kssr-button {
	min-height: 46px;
	margin: 0;
}

.kssr-student-account__form .kssr-button--primary {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 52px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--kssr-umber), var(--kssr-rosewood));
	box-shadow: 0 10px 24px color-mix(in srgb, var(--kssr-rosewood) 22%, transparent);
}

.kssr-student-account__form .kssr-button--primary span {
	font-size: 1.12rem;
}

.kssr-student-account__form-note {
	margin: -3px 0 0;
	color: #7a8297;
	font-size: .76rem;
	text-align: center;
}

.kssr-student-account__login-row {
	display: flex;
	justify-content: flex-end;
	margin-top: -5px;
}

.kssr-student-account__lost-password {
	width: fit-content;
	color: var(--kssr-rosewood);
	font-size: .82rem;
	font-weight: 800;
}

.kssr-student-account__footer {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	gap: 8px;
	margin-top: 26px;
	color: #7c8498;
	font-size: .74rem;
	line-height: 1.5;
	text-align: center;
}

.kssr-student-account__footer p {
	margin: 0;
}

.kssr-student-account__footer a {
	color: var(--kssr-rosewood);
	font-weight: 800;
}

@media (max-width: 820px) {
	.kssr-student-account {
		grid-template-columns: 1fr;
		width: min(100%, 640px);
	}

	.kssr-student-account__welcome {
		min-height: 0;
		padding: 34px clamp(24px, 7vw, 48px);
	}

	.kssr-student-account__brand {
		margin-bottom: 45px;
	}

	.kssr-student-account__welcome h2 {
		font-size: clamp(2.2rem, 9vw, 3.65rem);
	}

	.kssr-student-account__welcome ul {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.kssr-student-account__welcome li {
		grid-template-columns: 29px 1fr;
		align-content: start;
	}

	.kssr-student-account__commerce {
		margin-top: 5px;
	}
}

@media (max-width: 580px) {
	.kssr-student-account {
		border-radius: 19px;
	}

	.kssr-student-account__welcome,
	.kssr-student-account__auth {
		padding: 28px 20px;
	}

	.kssr-student-account__brand {
		margin-bottom: 35px;
	}

	.kssr-student-account__welcome ul {
		grid-template-columns: 1fr;
	}

	.kssr-student-account__tabs {
		grid-template-columns: 1fr;
	}

	.kssr-student-account__actions,
	.kssr-student-account__actions .kssr-button,
	.kssr-student-account__form .kssr-button {
		width: 100%;
	}
}
