.ww-competences-missions-tool {
	width: min(100%, var(--ww-reading));
	max-width: var(--ww-reading);
	margin-block: clamp(3rem, 6vw, 5rem);
	margin-inline: auto;
	scroll-margin-top: clamp(5rem, 10vw, 8rem);
	overflow-anchor: none;
}

.ww-competences-missions-tool__form,
.ww-competences-missions-tool__result {
	box-sizing: border-box;
	padding: clamp(1.4rem, 3.5vw, 2.25rem);
	border: 1px solid var(--ww-color-border);
	border-radius: var(--ww-radius-lg);
	background: var(--ww-color-cream-2);
}

/* Inactive states must never inherit a theme display rule or reserve layout. */
.ww-competences-missions-tool [hidden] {
	display: none !important;
}

.ww-competences-missions-tool__form {
	background: var(--ww-color-white);
}

.ww-competences-missions-tool__launch .ww-button { cursor: pointer; }

.ww-competences-missions-tool fieldset {
	margin: 0;
	padding: 0;
	border: 0;
}

.ww-competences-missions-tool__progress {
	display: grid;
	gap: 0.65rem;
}

.ww-competences-missions-tool__progress p {
	margin: 0;
	color: var(--ww-color-ink-soft);
	font-size: 0.74rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.35;
	text-transform: uppercase;
}

.ww-competences-missions-tool__progress-track {
	height: 0.22rem;
	background: rgb(229 94 74 / 0.22);
	overflow: hidden;
}

.ww-competences-missions-tool__progress-value {
	height: 100%;
	background: var(--ww-color-coral);
	transition: width var(--ww-transition);
}

.ww-competences-missions-tool__step > h2 {
	margin: clamp(1.25rem, 3vw, 1.75rem) 0 0.65rem;
	font-size: clamp(1.8rem, 3.2vw, 2.4rem);
	line-height: 1.08;
}

.ww-competences-missions-tool__step > h2 span {
	margin-left: 0.35rem;
	color: var(--ww-color-ink-soft);
	font-family: var(--ww-font-body);
	font-size: 0.76rem;
	font-weight: 700;
}

.ww-competences-missions-tool__step h3 {
	margin: 0;
	font-size: clamp(1.35rem, 2.5vw, 1.65rem);
	line-height: 1.2;
}

.ww-competences-missions-tool__step-intro {
	margin: 0;
	color: var(--ww-color-ink-soft);
	font-size: 0.92rem;
	line-height: 1.5;
}

.ww-competences-missions-tool__level-guide {
	display: grid;
	margin: 1rem 0 0;
	gap: 0.25rem 0.75rem;
	grid-template-columns: max-content minmax(0, 1fr);
	font-size: 0.82rem;
	line-height: 1.4;
}

.ww-competences-missions-tool__level-guide dt { font-weight: 800; }
.ww-competences-missions-tool__level-guide dd { margin: 0; color: var(--ww-color-ink-soft); }

.ww-competences-missions-tool__situations {
	display: grid;
	margin-top: 1.25rem;
	gap: 2rem;
}

.ww-competences-missions-tool__situation {
	display: grid;
	gap: 0;
	padding: 0;
	border: 0;
}

.ww-competences-missions-tool__situation legend,
.ww-competences-missions-tool__preference strong {
	margin: 0;
	padding: 0;
	font-size: 0.95rem;
	font-weight: 800;
	line-height: 1.35;
}

.ww-competences-missions-tool__situation > p {
	margin: 0.75rem 0 0;
	color: var(--ww-color-ink-soft);
	font-size: 0.82rem;
	line-height: 1.4;
}

.ww-competences-missions-tool__level-options {
	display: grid;
	margin: 1rem 0 0;
	gap: 0.45rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ww-competences-missions-tool__choice,
.ww-competences-missions-tool__preference {
	display: flex;
	min-width: 0;
	align-items: center;
	gap: 0.45rem;
	cursor: pointer;
}

.ww-competences-missions-tool__choice {
	min-height: 2.65rem;
	padding: 0.45rem 0.55rem;
	border: 1px solid rgb(42 35 32 / 0.2);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-color-white);
	font-size: 0.78rem;
	font-weight: 800;
	line-height: 1.2;
}

.ww-competences-missions-tool input {
	width: 1.05rem;
	height: 1.05rem;
	margin: 0;
	flex: 0 0 auto;
	accent-color: var(--ww-color-coral-dark);
}

.ww-competences-missions-tool input:focus-visible {
	outline: 3px solid rgb(15 110 86 / 0.36);
	outline-offset: 3px;
}

.ww-competences-missions-tool__choice:has(input:checked),
.ww-competences-missions-tool__preference:has(input:checked) {
	border-color: var(--ww-color-coral-dark);
	background: var(--ww-color-cream-2);
}

.ww-competences-missions-tool__error,
.ww-competences-missions-tool__limit {
	margin: 0.9rem 0 0;
	color: var(--ww-color-coral-deep);
	font-size: 0.84rem;
	font-weight: 700;
	line-height: 1.45;
}

.ww-competences-missions-tool__preferences {
	display: grid;
	margin-top: 1.2rem;
	gap: 0.65rem;
}

.ww-competences-missions-tool__preference {
	padding: 0.75rem;
	border: 1px solid var(--ww-color-border);
	border-radius: var(--ww-radius-sm);
	background: var(--ww-color-white);
	align-items: flex-start;
}

.ww-competences-missions-tool__preference span { display: grid; gap: 0.15rem; }
.ww-competences-missions-tool__preference small { color: var(--ww-color-ink-soft); font-size: 0.8rem; line-height: 1.35; }

.ww-competences-missions-tool__actions,
.ww-competences-missions-tool__result-actions {
	display: flex;
	margin-top: 1.25rem;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	background: transparent;
}

.ww-competences-missions-tool__actions .ww-button,
.ww-competences-missions-tool__result .ww-button { cursor: pointer; }

.ww-competences-missions-tool__result > h2 { margin: 0; font-size: clamp(1.7rem, 3vw, 2.1rem); }

.ww-competences-missions-tool__result-card {
	box-sizing: border-box;
	width: 100%;
	margin-top: 1.15rem;
	padding: 1.2rem;
	border: 1px solid var(--ww-color-border);
	border-radius: var(--ww-radius-md);
	background: var(--ww-color-white);
}

.ww-competences-missions-tool__result-card h3 { margin: 0; font-size: clamp(1.35rem, 2.5vw, 1.7rem); }
.ww-competences-missions-tool__status { margin: 0.55rem 0 0; color: var(--ww-color-coral-deep); font-size: 0.82rem; font-weight: 800; line-height: 1.35; }
.ww-competences-missions-tool__result-card > p { margin: 0.8rem 0 0; font-size: 0.92rem; line-height: 1.55; }
.ww-competences-missions-tool__result-card > h4 { margin: 1.15rem 0 0; font-family: var(--ww-font-body); font-size: 0.82rem; font-weight: 800; line-height: 1.35; }
.ww-competences-missions-tool__summary { color: var(--ww-color-ink-soft); }
.ww-competences-missions-tool__mission-list { margin: 0.65rem 0 0; padding-left: 1.1rem; font-size: 0.9rem; }
.ww-competences-missions-tool__mission-list li + li { margin-top: 0.35rem; }
.ww-competences-missions-tool__result-card .ww-button { margin-top: 1.2rem; }

.ww-competences-missions-tool__reset {
	padding: 0;
	border: 0;
	border-bottom: 1px solid currentcolor;
	background: transparent;
	color: var(--ww-color-ink-soft);
	font: inherit;
	font-size: 0.84rem;
	font-weight: 700;
	cursor: pointer;
}

.ww-competences-missions-tool__reset:hover,
.ww-competences-missions-tool__reset:focus-visible { color: var(--ww-color-coral-deep); }

.ww-competences-missions-tool__continuation { width: 100%; margin-top: 0.5rem; padding-top: 1.25rem; border-top: 1px solid var(--ww-color-border); }
.ww-competences-missions-tool__continuation p { margin: 0 0 0.85rem; font-size: 0.9rem; line-height: 1.5; }
.ww-competences-missions-tool__noscript { margin: 0.85rem 0 0; color: var(--ww-color-ink-soft); font-size: 0.88rem; }

@media (max-width: 42rem) {
	.ww-competences-missions-tool__form,
	.ww-competences-missions-tool__result { padding: 1.2rem; }
	.ww-competences-missions-tool__situations { gap: 1.75rem; }
	.ww-competences-missions-tool__level-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ww-competences-missions-tool__choice { min-height: 3rem; font-size: 0.82rem; }
	.ww-competences-missions-tool__actions { display: grid; align-items: stretch; }
	.ww-competences-missions-tool__actions .ww-button,
	.ww-competences-missions-tool__result .ww-button,
	.ww-competences-missions-tool__continuation .ww-button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
	.ww-competences-missions-tool * { transition-duration: 0.01ms !important; }
}
