.dtmpc-assessment {
	--dtmpc-border: #d8dde3;
	--dtmpc-text: #25303b;
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px;
	margin-inline: auto;
	color: var(--dtmpc-text);
	line-height: 1.75;
}

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

.dtmpc-assessment__header,
.dtmpc-assessment section,
.dtmpc-assessment__disclaimer {
	margin-block: 1.75rem;
}

.dtmpc-assessment__header {
	padding: clamp(1rem, 3vw, 1.6rem);
	border: 1px solid var(--dtmpc-border);
	border-radius: 10px;
	background: #fff;
}

.dtmpc-assessment__header h2 {
	margin: .15rem 0 .35rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}

.dtmpc-assessment__header h2::before,
.dtmpc-assessment__header h2::after,
.dtmpc-usecase-card h4::before,
.dtmpc-usecase-card h4::after,
.dtmpc-point h4::before,
.dtmpc-point h4::after {
	display: none;
	content: none;
}

.dtmpc-assessment__maker,
.dtmpc-assessment__model-number {
	margin: 0;
	color: #5c6873;
}

.dtmpc-assessment__maker {
	font-size: .92em;
}

.dtmpc-assessment__info {
	margin: 1rem 0 0;
	padding: .55rem .75rem;
	border-left: 3px solid #aab3bc;
	background: #f6f7f8;
	color: #4f5b66;
}

.dtmpc-usecase-grid,
.dtmpc-point-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}

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

.dtmpc-usecase-card,
.dtmpc-point {
	min-width: 0;
	margin: 0 !important;
	padding: clamp(1rem, 2.5vw, 1.35rem);
	border: 1px solid var(--dtmpc-border);
	border-radius: 9px;
	background: #fff;
	overflow-wrap: anywhere;
}

.dtmpc-usecase-card h4,
.dtmpc-point h4 {
	margin: 0 0 .7rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}

.dtmpc-usecase-card__status {
	margin: .25rem 0;
	font-weight: 700;
}

.dtmpc-usecase-card__description,
.dtmpc-assessment__note,
.dtmpc-assessment__trace {
	color: #5c6873;
}

.dtmpc-usecase-card__description {
	margin: .45rem 0 0;
}

.dtmpc-assessment__note {
	font-size: .92em;
}

.dtmpc-status--suitable {
	border-color: #8fb49a;
	background: #f7fbf8;
}

.dtmpc-status--conditional {
	border-color: #c8ad68;
	background: #fffcf4;
}

.dtmpc-status--not_recommended {
	border-color: #bd8d8d;
	background: #fff8f8;
}

.dtmpc-status--unknown {
	border-color: #a8afb7;
	background: #f8f9fa;
}

.dtmpc-assessment ul li + li {
	margin-top: .45rem;
}

.dtmpc-point__value {
	margin: 0 0 .8rem;
	font-weight: 700;
	font-size: 1.05em;
}

.dtmpc-assessment dl {
	display: grid;
	grid-template-columns: minmax(6.5em, max-content) minmax(0, 1fr);
	gap: .45rem 1rem;
	margin-block: .8rem;
}

.dtmpc-assessment dt {
	font-weight: 700;
}

.dtmpc-assessment dd {
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.dtmpc-assessment__disclaimer {
	padding: 1.1rem 0 0;
	border-top: 1px solid var(--dtmpc-border);
}

.dtmpc-assessment__disclaimer p {
	margin-block: .65rem;
}

.dtmpc-assessment__trace {
	font-size: .88em;
}

.dtmpc-landing {
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px;
	margin: 1.5rem auto;
	color: #25303b;
	line-height: 1.75;
}

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

.dtmpc-landing__hero {
	margin-bottom: 1.25rem;
	padding: clamp(1rem, 3vw, 1.6rem);
	border-left: 4px solid #385b78;
	border-radius: 9px;
	background: #f4f8fb;
}

.dtmpc-landing__hero h2 {
	margin: 0 0 .55rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}

.dtmpc-landing__hero h2::before,
.dtmpc-landing__hero h2::after {
	display: none;
	content: none;
}

.dtmpc-landing__hero p {
	margin: .4rem 0;
}

.dtmpc-landing__note {
	color: #52616e;
}

.dtmpc-landing__routes {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
	align-items: stretch;
}

.dtmpc-landing__routes > .dtmpc-search,
.dtmpc-landing__routes > .dtmpc-simple-entry {
	max-width: none;
	margin: 0;
}

.dtmpc-landing__routes > .dtmpc-route-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 1px solid #d8dde3;
	border-top: 3px solid #8fb49a;
	border-radius: 10px;
	background: #fff;
}

.dtmpc-route-card h2 {
	margin: 0 0 .35rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: clamp(1.2rem, 2.5vw, 1.45rem);
	font-weight: 700;
	line-height: 1.45;
}

.dtmpc-route-card h2::before,
.dtmpc-route-card h2::after {
	display: none;
	content: none;
}

.dtmpc-route-card__subcopy {
	margin: 0 0 .65rem;
	color: #3f6750;
	font-weight: 700;
}

.dtmpc-landing__routes .dtmpc-search__form,
.dtmpc-route-card__action {
	margin-top: auto;
}

.dtmpc-route-card__action {
	margin-bottom: 0;
}

.dtmpc-route-card__help {
	margin: .65rem 0 0;
	color: #52616e;
	font-size: .92em;
}

.dtmpc-landing__routes .dtmpc-search__button {
	white-space: nowrap;
}

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

@media (max-width: 700px) {
	.dtmpc-assessment {
		padding-inline: .25rem;
	}

	.dtmpc-usecase-grid,
	.dtmpc-point-grid {
		grid-template-columns: 1fr;
	}

	.dtmpc-assessment dl {
		grid-template-columns: 1fr;
		gap: .1rem;
	}

	.dtmpc-assessment dt:not(:first-child) {
		margin-top: .55rem;
	}
}

.dtmpc-simple-entry,
.dtmpc-simple {
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px;
	margin: 1.5rem auto;
	color: #25303b;
	line-height: 1.75;
}

.dtmpc-simple-entry {
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 1px solid #d8dde3;
	border-radius: 10px;
	background: #f8f9fa;
}

.dtmpc-simple *,
.dtmpc-simple-entry * {
	box-sizing: border-box;
}

.dtmpc-simple__form,
.dtmpc-simple-result,
.dtmpc-simple__help {
	margin-block: 1.5rem;
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 1px solid #d8dde3;
	border-radius: 10px;
	background: #fff;
}

.dtmpc-simple__form {
	display: grid;
	grid-template-columns: minmax(12rem, .75fr) minmax(0, 1.25fr);
	gap: .8rem 1.25rem;
	align-items: center;
}

.dtmpc-simple__form-title {
	grid-column: 1 / -1;
	margin: 0 0 .25rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}

.dtmpc-simple__form label {
	font-weight: 700;
}

.dtmpc-simple__form select,
.dtmpc-simple__form input[type="text"] {
	width: 100%;
	min-width: 0;
	padding: .65rem .75rem;
	border: 1px solid #aeb6bf;
	border-radius: 6px;
	background: #fff;
	font: inherit;
}

.dtmpc-simple__conditional {
	display: contents;
}

.dtmpc-simple__hint {
	grid-column: 2;
	margin: -.45rem 0 .35rem;
	color: #5c6873;
	font-size: .9em;
}

.dtmpc-simple__cpu-help {
	grid-column: 2;
	padding: .75rem .9rem;
	border-left: 3px solid #8a9baa;
	background: #f6f8fa;
	font-size: .92em;
}

.dtmpc-simple__cpu-help p {
	margin: .35rem 0 0;
}

.dtmpc-help {
	grid-column: 2;
	min-width: 0;
	padding: .65rem .8rem;
	border: 1px solid #d8dde3;
	border-radius: 7px;
	background: #f8f9fa;
	overflow-wrap: anywhere;
}

.dtmpc-help__summary {
	font-weight: 700;
	cursor: pointer;
}

.dtmpc-help p,
.dtmpc-help ul {
	margin: .65rem 0 0;
}

.dtmpc-confidence-help {
	color: #52616e;
	font-size: .9em;
}

.dtmpc-priority-checks {
	margin-block: 1.5rem;
}

.dtmpc-priority-checks__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .8rem;
}

.dtmpc-priority-check {
	min-width: 0;
	padding: 1rem;
	border: 1px solid #cbd4dc;
	border-radius: 8px;
	background: #f8fafb;
	overflow-wrap: anywhere;
}

.dtmpc-priority-check h4 {
	margin: .25rem 0 .55rem;
}

.dtmpc-priority-check .dtmpc-help {
	padding: .55rem .65rem;
}

.dtmpc-priority-badge {
	display: inline-block;
	margin: 0;
	padding: .15rem .5rem;
	border-radius: 999px;
	background: #e7eef4;
	color: #38536a;
	font-size: .82em;
	font-weight: 700;
}

.dtmpc-priority-checks__other {
	margin-top: .9rem;
}

.dtmpc-simple-use-cases {
	margin-block: 1.5rem;
}

.dtmpc-simple-use-cases .dtmpc-help {
	margin-top: .8rem;
	padding: .6rem .7rem;
}

.dtmpc-simple-use-cases__advisory {
	margin-top: 1rem;
	padding: .65rem .8rem;
	border-left: 3px solid #8a9baa;
	background: #f6f8fa;
}

.dtmpc-simple-use-cases__note {
	color: #52616e;
	font-size: .9em;
}

.dtmpc-summary {
	margin-block: 1.5rem;
	padding: clamp(1rem, 3vw, 1.4rem);
	border: 1px solid #b9c8d4;
	border-radius: 9px;
	background: #f6f9fb;
	overflow-wrap: anywhere;
}

.dtmpc-summary__headline {
	margin: .4rem 0 .75rem;
	font-size: clamp(1.15rem, 3vw, 1.4rem);
	font-weight: 700;
	line-height: 1.55;
}

.dtmpc-summary__body {
	margin: .45rem 0;
}

.dtmpc-summary h4 {
	margin: 1rem 0 .35rem;
}

.dtmpc-summary ul {
	margin-block: .35rem;
	padding-left: 1.4rem;
}

.dtmpc-summary__note {
	margin: 1rem 0 0;
	padding-top: .75rem;
	border-top: 1px solid #d8e0e6;
	color: #52616e;
	font-size: .9em;
}

.dtmpc-simple__form .dtmpc-search__button {
	grid-column: 2;
	justify-self: start;
}

.dtmpc-result-hero {
	margin-block: 1rem 1.5rem;
	padding: clamp(1.1rem, 3vw, 1.6rem);
	border-left: 4px solid #385b78;
	border-radius: 8px;
	background: #f4f8fb;
}

.dtmpc-result-hero__label,
.dtmpc-result-hero__confidence {
	margin: .2rem 0;
}

.dtmpc-result-hero__score {
	margin: .1rem 0 .4rem;
	font-size: clamp(1.9rem, 6vw, 2.8rem);
	font-weight: 700;
	line-height: 1.25;
}

.dtmpc-result-hero__headline {
	margin: 1rem 0 .7rem;
	font-size: clamp(1.2rem, 3vw, 1.55rem);
	font-weight: 700;
	line-height: 1.55;
}

.dtmpc-result-hero__help {
	margin-top: .8rem;
}

.dtmpc-simple-result__warning {
	padding: .75rem 1rem;
	border-left: 3px solid #c8ad68;
	background: #fffcf4;
}

.dtmpc-simple-result__matched {
	padding: .75rem 1rem;
	border-left: 3px solid #5b8f68;
	background: #f4faf5;
}

.dtmpc-simple-result dl {
	display: grid;
	grid-template-columns: minmax(7rem, max-content) minmax(0, 1fr);
	gap: .4rem 1rem;
}

.dtmpc-simple-result dt {
	font-weight: 700;
}

.dtmpc-simple-result dd {
	margin: 0;
	overflow-wrap: anywhere;
}

.dtmpc-result-actions,
.dtmpc-simple-result footer {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid #d8dde3;
}

.dtmpc-result-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .65rem;
	align-items: center;
}

.dtmpc-result-actions__secondary,
.dtmpc-result-actions__reset {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .7rem 1rem;
	border: 1px solid #385b78;
	border-radius: 6px;
	background: #fff;
	color: #385b78;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
}

.dtmpc-result-actions__reset {
	border-color: #aeb6bf;
	color: #52616e;
	font-weight: 400;
}

.dtmpc-result-actions__secondary:hover,
.dtmpc-result-actions__secondary:focus,
.dtmpc-result-actions__reset:hover,
.dtmpc-result-actions__reset:focus {
	background: #eef3f6;
	color: #29465f;
}

.dtmpc-result-details {
	margin-block: 1.5rem;
	padding: clamp(.9rem, 2vw, 1.2rem);
	border: 1px solid #d8dde3;
	border-radius: 9px;
	background: #fafbfc;
}

.dtmpc-result-details > .dtmpc-help + .dtmpc-help {
	margin-top: .75rem;
}

.dtmpc-simple-result footer .dtmpc-help {
	margin-top: .8rem;
}

@media (max-width: 700px) {
	.dtmpc-simple__form {
		grid-template-columns: 1fr;
	}

	.dtmpc-simple__hint,
	.dtmpc-simple__cpu-help,
	.dtmpc-help,
	.dtmpc-simple__form .dtmpc-search__button {
		grid-column: 1;
	}

	.dtmpc-simple__form label:not(:first-of-type) {
		margin-top: .35rem;
	}

	.dtmpc-simple__form .dtmpc-search__button {
		width: 100%;
	}

	.dtmpc-simple-result dl {
		grid-template-columns: 1fr;
		gap: .1rem;
	}

	.dtmpc-priority-checks__grid {
		grid-template-columns: 1fr;
	}

	.dtmpc-result-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.dtmpc-result-actions .dtmpc-search-result__button,
	.dtmpc-result-actions__secondary,
	.dtmpc-result-actions__reset {
		width: 100%;
	}
}

.dtmpc-search,
.dtmpc-search-results,
.dtmpc-search__message {
	box-sizing: border-box;
	width: 100%;
	max-width: 1100px;
	margin: 1.5rem auto;
}

.dtmpc-search {
	padding: clamp(1rem, 3vw, 1.5rem);
	border: 1px solid #d8dde3;
	border-radius: 10px;
	background: #fff;
}

.dtmpc-search--compact {
	padding-block: 1rem;
	background: #f8f9fa;
}

.dtmpc-search h2,
.dtmpc-search-results h2,
.dtmpc-search-result h3 {
	margin-top: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
}

.dtmpc-search h2::before,
.dtmpc-search h2::after,
.dtmpc-search-results h2::before,
.dtmpc-search-results h2::after,
.dtmpc-search-result h3::before,
.dtmpc-search-result h3::after {
	display: none;
	content: none;
}

.dtmpc-search__label {
	display: block;
	margin-bottom: .4rem;
	font-weight: 700;
}

.dtmpc-search__controls {
	display: flex;
	gap: .65rem;
}

.dtmpc-search__hint,
.dtmpc-search__return {
	margin: .65rem 0 0;
	color: #52616e;
	font-size: .92em;
}

.dtmpc-search__input {
	min-width: 0;
	flex: 1 1 auto;
	padding: .7rem .8rem;
	border: 1px solid #aeb6bf;
	border-radius: 6px;
	font: inherit;
}

.dtmpc-search__button,
.dtmpc-search-result__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .7rem 1rem;
	border: 1px solid #385b78;
	border-radius: 6px;
	background: #385b78;
	color: #fff;
	font: inherit;
	font-weight: 700;
	line-height: 1.4;
	text-decoration: none;
	cursor: pointer;
}

.dtmpc-search__button:hover,
.dtmpc-search__button:focus,
.dtmpc-search-result__button:hover,
.dtmpc-search-result__button:focus {
	background: #29465f;
	color: #fff;
}

.dtmpc-search__message {
	padding: .8rem 1rem;
	border-left: 3px solid #a8afb7;
	background: #f8f9fa;
}

.dtmpc-search-results__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.dtmpc-search-result {
	min-width: 0;
	padding: clamp(1rem, 2.5vw, 1.35rem);
	border: 1px solid #d8dde3;
	border-radius: 9px;
	background: #fff;
	overflow-wrap: anywhere;
}

.dtmpc-search-result__maker {
	margin-bottom: .2rem;
	color: #5c6873;
	font-size: .92em;
}

.dtmpc-search-result__badge {
	display: inline-block;
	margin: 0 0 .6rem;
	padding: .15rem .5rem;
	border: 1px solid #8fb49a;
	border-radius: 999px;
	background: #f7fbf8;
	font-size: .85em;
}

.dtmpc-search-result dl {
	display: grid;
	grid-template-columns: minmax(5em, max-content) minmax(0, 1fr);
	gap: .35rem .8rem;
}

.dtmpc-search-result dt {
	font-weight: 700;
}

.dtmpc-search-result dd {
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
}

@media (max-width: 700px) {
	.dtmpc-landing__routes {
		grid-template-columns: 1fr;
	}

	.dtmpc-search__controls {
		flex-direction: column;
	}

	.dtmpc-search-results__grid {
		grid-template-columns: 1fr;
	}

	.dtmpc-search__button,
	.dtmpc-search-result__button {
		width: 100%;
	}
}
