/* Responsive adjustments (loaded last). */

/* Touch-first devices: suggest a physical keyboard, without blocking. */
@media (hover: none) and (pointer: coarse) {
	.jts-mobile-note {
		display: block;
	}
}

/* Tablets and phones: navigation behind a menu button. */
@media (max-width: 1024px) {
	.site-menu-toggle {
		display: inline-flex;
	}

	.site-nav {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		gap: 0;
		padding: 8px var(--gutter) 16px;
		background: var(--bg);
		border-bottom: 1px solid var(--line);
	}

	.jts-nav-open .site-nav {
		display: flex;
	}

	.site-nav__list {
		flex-direction: column;
		align-items: stretch;
	}

	.site-nav__list > li > a,
	.jobs-menu > summary {
		width: 100%;
		height: 44px;
		padding: 0 4px;
		border-bottom: 1px solid var(--line);
		border-radius: 0;
	}

	.jobs-menu__panel {
		position: static;
		width: auto;
		padding: 4px 0 8px 12px;
		border: 0;
		box-shadow: none;
		background: transparent;
	}

	.site-footer__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.site-footer__about {
		grid-column: 1 / -1;
	}

	.jts-report__top {
		grid-template-columns: minmax(0, 1fr);
		gap: 24px;
	}

	.jts-summary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.jts-summary > div:nth-child(4) {
		padding-left: 0;
		border-left: 0;
	}

	.jts-summary > div:nth-child(n + 4) {
		border-top: 1px solid var(--line);
	}
}

@media (max-width: 760px) {
	:root {
		--gutter: 18px;
	}

	.jts-toolbar {
		flex-direction: column;
	}

	.jts-menu {
		position: static;
	}

	.jts-menu__button,
	.jts-menu + .jts-menu .jts-menu__button {
		width: 100%;
		max-width: none;
		border-left: 1px solid var(--line-strong);
		border-radius: 0;
	}

	.jts-menu + .jts-menu .jts-menu__button {
		border-top: 0;
	}

	.jts-menu:first-child .jts-menu__button {
		border-radius: var(--radius) var(--radius) 0 0;
	}

	.jts-menu:last-child .jts-menu__button {
		border-radius: 0 0 var(--radius) var(--radius);
	}

	.jts-menu__chevron {
		margin-left: auto;
	}

	.jts-panel,
	.jts-panel--jobs,
	.jts-panel--passages,
	.jts-panel--settings {
		left: 0;
		right: 0;
		width: auto;
		transform: none;
	}

	.jts-options--two {
		grid-template-columns: 1fr;
	}

	.jts-se-grid,
	.jts-review__grid,
	[data-se-fields] {
		grid-template-columns: minmax(0, 1fr);
	}

	.jts-text-window {
		--type-size: 1.25rem;
	}

	.site-footer__inner {
		grid-template-columns: 1fr 1fr;
	}

	.jts-test-index thead {
		display: none;
	}

	.jts-test-index tr {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 4px 16px;
		padding: 14px 0;
		border-bottom: 1px solid var(--line);
	}

	.jts-test-index th,
	.jts-test-index td {
		padding: 0;
		border: 0;
	}

	.jts-test-index td:nth-child(2) {
		grid-column: 1 / -1;
		order: 3;
	}
}

@media (max-width: 640px) {
	.jts-keyboard {
		display: none;
	}

	.site-footer__top {
		margin-left: 0;
	}

	.site-main--tool {
		padding-top: 24px;
	}

	.jts-hero {
		margin-bottom: 20px;
	}

	.jts-hero__lede {
		font-size: 0.9375rem;
	}

	.jts-exam-head {
		grid-template-columns: 1fr auto;
		row-gap: 6px;
	}

	.jts-exam-head__label {
		grid-column: 1 / -1;
	}

	.jts-timer {
		font-size: 1.75rem;
	}

	.jts-text-window {
		--type-size: 1.0625rem;
		--type-line: 1.75;
		--lines: 4;
	}

	.jts-tool[data-view="setup"] .jts-canvas {
		min-height: 0;
		padding: 0;
	}

	.jts-briefing {
		padding: 20px 18px;
	}

	.jts-briefing__actions {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.jts-assessment-active .site-main--tool {
		padding-top: 16px;
	}

	.jts-report {
		padding: 22px 16px;
	}

	.jts-metric--hero .jts-metric__value {
		font-size: 3.25rem;
	}

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

	.jts-summary > div:nth-child(n) {
		padding-left: 0;
		border-left: 0;
	}

	.jts-summary > div:nth-child(even) {
		padding-left: 14px;
		border-left: 1px solid var(--line);
	}

	.jts-summary > div:nth-child(n + 3) {
		border-top: 1px solid var(--line);
	}

	.jts-result-actions .jts-button {
		flex: 1 1 100%;
	}

	.jts-chart__hint {
		margin-left: 0;
		flex-basis: 100%;
	}

	.jts-se-source,
	.jts-se-form {
		padding: 16px;
	}

	.jts-se-source__fields > div {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
	}

	.jts-se-form__foot .jts-button {
		width: 100%;
	}

	.site-footer__inner {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}

@media (max-width: 380px) {
	.jts-history-table th:nth-child(3),
	.jts-history-table td:nth-child(3) {
		display: none;
	}

	.site-brand__text {
		font-size: 0.9375rem;
	}
}

/* Account item in the collapsed navigation. */
@media (max-width: 1024px) {
	.site-nav__account {
		margin-left: 0;
	}

	.site-nav__list > li > a.site-nav__signin {
		border: 0;
		border-bottom: 1px solid var(--line);
		color: var(--accent-text);
	}

	.account-menu .jobs-menu__panel {
		width: auto;
	}

}
