/* Four Brain diagnosis */
body[data-route="/diagnosis"] {
  background:
    radial-gradient(circle at 8% 14%, rgba(180,35,24,.09), transparent 28rem),
    radial-gradient(circle at 92% 18%, rgba(36,87,167,.1), transparent 32rem),
    radial-gradient(circle at 16% 86%, rgba(201,87,10,.07), transparent 30rem),
    radial-gradient(circle at 88% 82%, rgba(36,107,69,.08), transparent 34rem),
    linear-gradient(180deg, #fafbfc, #f3f5f8 54%, #f8f9fa);
}
.diagnosis-page {
  min-height: calc(100svh - 62px);
  overflow: clip;
}
.diagnosis-screen {
  padding-block: clamp(64px, 8vw, 112px);
  scroll-margin-top: 78px;
}
.diagnosis-screen h1,
.diagnosis-screen h2,
.diagnosis-screen h3 { text-wrap: balance; }
.diagnosis-screen h1:focus,
.diagnosis-screen h2:focus,
.diagnosis-fieldset:focus { outline: none; }
.diagnosis-intro {
  min-height: calc(100svh - 62px);
  display: flex;
  flex-direction: column;
  gap: 22px;
}
.diagnosis-intro__stage {
  min-height: clamp(480px, 47vw, 560px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 42px;
  background:
    radial-gradient(circle at 5% 34%, rgba(180,35,24,.12), transparent 31%),
    radial-gradient(circle at 27% 82%, rgba(201,87,10,.1), transparent 27%),
    radial-gradient(circle at 73% 82%, rgba(36,87,167,.11), transparent 27%),
    radial-gradient(circle at 96% 34%, rgba(36,107,69,.12), transparent 31%),
    rgba(255,255,255,.58);
  box-shadow: inset 0 1px 0 #fff, 0 28px 84px rgba(29,43,66,.1);
}
.diagnosis-intro__stage::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -34%;
  z-index: -1;
  width: 88%;
  aspect-ratio: 2.25;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(255,255,255,.66), rgba(255,255,255,.2));
  box-shadow: 0 0 0 42px rgba(255,255,255,.12), 0 0 0 84px rgba(255,255,255,.07);
  transform: translateX(-50%);
}
.diagnosis-intro__stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 3;
  background: radial-gradient(ellipse at 50% 45%, rgba(255,255,255,.98) 0 22%, rgba(255,255,255,.82) 35%, rgba(255,255,255,.18) 58%, transparent 72%);
  pointer-events: none;
}
.diagnosis-intro__cast { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.diagnosis-intro__character {
  position: absolute;
  bottom: 2%;
  display: grid;
  place-items: end center;
  width: 24%;
  height: 82%;
  filter: drop-shadow(0 1px 1px rgba(255,255,255,.95)) drop-shadow(0 20px 24px rgba(28,43,64,.12));
  user-select: none;
}
.diagnosis-intro__character img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center bottom;
}
.diagnosis-intro__character--ruler { left: -3%; z-index: 3; }
.diagnosis-intro__character--player { left: 13%; z-index: 2; }
.diagnosis-intro__character--observer { right: 13%; z-index: 2; }
.diagnosis-intro__character--seeker { right: -3%; z-index: 3; }
.diagnosis-intro__copy {
  width: min(48%, 520px);
  min-height: 420px;
  padding: 48px 14px;
  position: relative;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  text-shadow: 0 1px 20px rgba(255,255,255,.92);
}
.diagnosis-intro__copy .kicker { color: #a95115; }
.diagnosis-intro__copy::before {
  content: "";
  position: absolute;
  inset: 3% -9%;
  z-index: -1;
  border-radius: 50%;
  background: radial-gradient(ellipse, rgba(255,255,255,.88), rgba(255,255,255,.42) 52%, transparent 74%);
  pointer-events: none;
}
.diagnosis-intro__copy h1 {
  margin: 0;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: clamp(46px, 5.3vw, 68px);
  line-height: 1.16;
  letter-spacing: -.045em;
  font-weight: 600;
  font-feature-settings: "palt" 1;
}
.diagnosis-intro__lead {
  max-width: 30em;
  margin: 22px 0 0;
  color: rgba(16,17,20,.76);
  font-size: clamp(14px, 1.45vw, 17px);
  line-height: 1.85;
}
.diagnosis-primary-action {
  margin-top: 0;
  border: 0;
  cursor: pointer;
}
.diagnosis-primary-action:disabled {
  cursor: wait;
  opacity: .62;
  box-shadow: none;
  transform: none;
}
.diagnosis-intro__copy .diagnosis-primary-action { min-width: 224px; margin-top: 30px; }
.diagnosis-loading {
  min-height: 1.6em;
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.6;
}
.diagnosis-intro__facts {
  overflow: hidden;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 22px;
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 1px 0 #fff, 0 16px 46px rgba(29,43,66,.07);
}
.diagnosis-intro__facts article {
  min-height: 88px;
  padding: 18px clamp(16px, 2.2vw, 28px);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 16px;
}
.diagnosis-intro__facts article + article { border-left: 1px solid rgba(16,17,20,.1); }
.diagnosis-intro__facts strong {
  color: var(--orange);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: .1em;
  white-space: nowrap;
}
.diagnosis-intro__facts span { color: rgba(16,17,20,.72); font-size: 13px; line-height: 1.7; }
.diagnosis-notice {
  width: min(100%, 960px);
  margin-inline: auto;
  padding: 30px 34px;
  border: 1px solid rgba(16,17,20,.1);
  border-radius: 24px;
  background: rgba(255,255,255,.7);
  box-shadow: 0 20px 54px rgba(29,43,66,.07);
}
.diagnosis-notice h2 { margin: 0 0 12px; font-size: 17px; line-height: 1.55; }
.diagnosis-notice p { margin: 8px 0 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.diagnosis-notice__links { display: flex; flex-wrap: wrap; gap: 12px 24px; }
.diagnosis-notice__links a { min-height: 44px; display: inline-flex; align-items: center; font-weight: 700; text-underline-offset: 4px; }
.diagnosis-no-js { margin: 0; padding: 18px 20px; border: 2px solid var(--ink); background: white; }

.diagnosis-panel {
  width: min(100%, 820px);
  min-height: 520px;
  margin-inline: auto;
  padding: clamp(36px, 6vw, 72px);
  border: 1px solid rgba(255,255,255,.88);
  border-radius: 36px;
  background: rgba(255,255,255,.82);
  box-shadow: inset 0 1px 0 #fff, 0 30px 90px rgba(29,43,66,.1);
}
.diagnosis-panel--reading { display: flex; flex-direction: column; justify-content: center; }
.diagnosis-panel h2 {
  max-width: 17em;
  margin: 0;
  font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.4;
  letter-spacing: .02em;
  font-weight: 600;
  font-feature-settings: "palt" 1;
}
.diagnosis-actions {
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.diagnosis-text-button {
  min-height: 48px;
  padding: 4px 8px;
  border: 0;
  border-bottom: 1px solid currentColor;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
}

.diagnosis-question__panel { min-height: 610px; }
.diagnosis-question__header { max-width: 690px; }
.diagnosis-question__position {
  margin: 0 0 12px;
  color: var(--orange);
  font-size: 12px;
  line-height: 1.4;
  font-weight: 850;
  letter-spacing: .09em;
}
.diagnosis-progress {
  width: 100%;
  height: 6px;
  margin: 0 0 28px;
  display: block;
  overflow: hidden;
  border: 0;
  border-radius: 999px;
  background: #e6e9ed;
  color: var(--orange);
  appearance: none;
}
.diagnosis-progress::-webkit-progress-bar { border-radius: 999px; background: #e6e9ed; }
.diagnosis-progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, var(--orange), #df8a49); transition: width 180ms var(--ease); }
.diagnosis-progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, var(--orange), #df8a49); }
.diagnosis-question__header h2 {
  max-width: 19em;
  font-size: clamp(26px, 3.5vw, 38px);
  line-height: 1.5;
}
.diagnosis-question__hint { margin: 14px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.diagnosis-fieldset { min-width: 0; margin: 38px 0 0; padding: 0; border: 0; }
.diagnosis-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.diagnosis-option {
  position: relative;
  min-width: 0;
  min-height: 76px;
  padding: 16px 18px;
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  align-items: center;
  gap: 13px;
  border: 1px solid rgba(16,17,20,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.72);
  color: rgba(16,17,20,.82);
  cursor: pointer;
  transition: transform 120ms var(--ease), border-color 160ms var(--ease), background-color 160ms var(--ease), box-shadow 160ms var(--ease);
}
.diagnosis-option input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
}
.diagnosis-option__marker {
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  border: 2px solid rgba(16,17,20,.34);
  border-radius: 50%;
  background: #fff;
}
.diagnosis-option__marker::after {
  content: "";
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--ink);
  opacity: 0;
  transform: scale(.45);
  transition: opacity 120ms ease, transform 120ms var(--ease);
}
.diagnosis-option__copy { overflow-wrap: anywhere; font-size: 15px; line-height: 1.7; font-weight: 650; }
.diagnosis-option:has(input:checked) {
  border-color: var(--ink);
  background: #fff;
  box-shadow: 0 10px 28px rgba(16,17,20,.09), inset 0 0 0 1px var(--ink);
}
.diagnosis-option input:checked + .diagnosis-option__marker::after { opacity: 1; transform: scale(1); }
.diagnosis-option input:focus-visible + .diagnosis-option__marker { outline: 3px solid var(--focus); outline-offset: 3px; }
.diagnosis-options[aria-busy="true"] .diagnosis-option { cursor: wait; pointer-events: none; }
.diagnosis-actions--question { margin-top: 30px; justify-content: flex-start; }

.diagnosis-capture__panel { width: min(100%, 860px); }
.diagnosis-capture__header > p:not(.kicker) {
  max-width: 46em;
  margin: 18px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.85;
}
.diagnosis-capture__test-note {
  padding: 10px 14px;
  border: 1px solid rgba(201,87,10,.3);
  border-radius: 12px;
  background: rgba(201,87,10,.07);
  color: #6f3107 !important;
  font-weight: 700;
}
.diagnosis-capture-form {
  margin-top: 34px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px 18px;
}
.diagnosis-capture-form__group,
.diagnosis-capture-form__field,
.diagnosis-capture-form__consent { min-width: 0; }
.diagnosis-capture-form__group {
  grid-column: 1 / -1;
  margin: 0;
  padding: 0;
  border: 0;
}
.diagnosis-capture-form__group legend,
.diagnosis-capture-form__field > label {
  display: block;
  margin-bottom: 9px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
  font-weight: 800;
}
.diagnosis-capture-form__group legend span,
.diagnosis-capture-form__field > label span { color: var(--red); font-size: 10px; }
.diagnosis-capture-form__gender-options {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.diagnosis-capture-form__gender-options label { min-width: 0; position: relative; }
.diagnosis-capture-form__gender-options input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}
.diagnosis-capture-form__gender-options span {
  min-height: 52px;
  padding: 10px 8px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(16,17,20,.17);
  border-radius: 13px;
  background: rgba(255,255,255,.78);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}
.diagnosis-capture-form__gender-options input:checked + span {
  border-color: var(--ink);
  background: #fff;
  box-shadow: inset 0 0 0 1px var(--ink);
}
.diagnosis-capture-form__gender-options input:focus-visible + span {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
.diagnosis-capture-form__field input {
  width: 100%;
  min-width: 0;
  min-height: 52px;
  padding: 11px 13px;
  border: 1px solid rgba(16,17,20,.18);
  border-radius: 13px;
  background: #fff;
  color: var(--ink);
  font: inherit;
  font-size: 16px;
}
.diagnosis-capture-form__field input:focus-visible,
.diagnosis-capture-form__consent input:focus-visible {
  outline: 3px solid var(--focus);
  outline-offset: 3px;
}
.diagnosis-capture-form__hint {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.6;
}
.diagnosis-capture-form__consent {
  grid-column: 1 / -1;
  padding: 18px;
  border: 1px solid rgba(16,17,20,.12);
  border-radius: 15px;
  background: rgba(255,255,255,.64);
}
.diagnosis-capture-form__consent label {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 11px;
  color: rgba(16,17,20,.78);
  font-size: 12px;
  line-height: 1.75;
}
.diagnosis-capture-form__consent input { width: 20px; height: 20px; margin: 2px 0 0; }
.diagnosis-capture-form__consent a { font-weight: 800; text-underline-offset: 3px; }
.diagnosis-capture-form__error {
  margin: 7px 0 0;
  color: #971d18;
  font-size: 12px;
  line-height: 1.6;
  font-weight: 700;
}
.diagnosis-capture-form__field.is-invalid input,
.diagnosis-capture-form__consent.is-invalid {
  border-color: #a9231c;
}
.diagnosis-capture-form__group.is-invalid .diagnosis-capture-form__gender-options span {
  border-color: #a9231c;
}
.diagnosis-capture-form__status {
  min-height: 1.7em;
  grid-column: 1 / -1;
  margin: 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.7;
}
.diagnosis-actions--capture {
  grid-column: 1 / -1;
  margin-top: 0;
}
.diagnosis-capture-form[aria-busy="true"] { cursor: wait; }
.diagnosis-capture-form[aria-busy="true"] input,
.diagnosis-capture-form[aria-busy="true"] label { pointer-events: none; }

.diagnosis-result { width: min(calc(100% - 48px), 960px); }
.diagnosis-result__details { padding: 0; }
.diagnosis-result__details > p { max-width: 48em; margin: 26px auto 0; color: var(--muted); font-size: 14px; line-height: 1.85; text-align: center; }
.diagnosis-detail-list { margin-top: 0; display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
.diagnosis-detail-list--count-1 { width: min(100%, 640px); margin-inline: auto; }
.diagnosis-detail-list--count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.diagnosis-detail-card {
  --diagnosis-tone: var(--ink);
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.diagnosis-detail-card--red { --diagnosis-tone: #8f1d16; }
.diagnosis-detail-card--orange { --diagnosis-tone: #873a05; }
.diagnosis-detail-card--blue { --diagnosis-tone: #17447f; }
.diagnosis-detail-card--green { --diagnosis-tone: #175137; }
.diagnosis-detail-card__visual {
  width: 100%;
}
.diagnosis-detail-card__visual img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 100%;
}
.diagnosis-detail-card__copy { min-width: 0; margin-top: 24px; }
.diagnosis-detail-card__classification { margin: 0; color: var(--diagnosis-tone); font-size: 10px; font-weight: 850; letter-spacing: .1em; }
.diagnosis-detail-card__name { margin: 8px 0 0; color: var(--diagnosis-tone); font-size: 18px; line-height: 1.5; }
.diagnosis-detail-card__summary { margin: 12px 0 0; color: rgba(16,17,20,.67); font-size: 12px; line-height: 1.75; }
.diagnosis-detail-card__link { min-height: 44px; margin-top: 10px; display: inline-flex; align-items: center; color: var(--diagnosis-tone); font-size: 12px; font-weight: 800; text-underline-offset: 4px; }
.diagnosis-result__copy {
  max-width: 760px;
  margin: 42px auto 0;
  padding: 30px 34px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.72);
}
.diagnosis-result__subtitle { margin: 0; color: var(--ink); font-size: clamp(16px, 1.7vw, 20px); line-height: 1.65; font-weight: 700; }
.diagnosis-result__summary { max-width: 40em; margin: 14px 0 0; color: var(--muted); font-size: 14px; line-height: 1.85; }
.diagnosis-result__notice { margin: 20px 0 0; padding-top: 17px; border-top: 1px solid var(--line); color: var(--muted); font-size: 11px; line-height: 1.7; }
.diagnosis-result__pdf {
  margin-top: 34px;
  padding: 28px 30px;
  border: 1px solid rgba(36,87,167,.18);
  border-radius: 22px;
  background: rgba(255,255,255,.78);
}
.diagnosis-result__pdf h3 { margin: 0; font-size: 20px; }
.diagnosis-result__pdf p { margin: 10px 0 0; color: var(--muted); font-size: 13px; line-height: 1.7; }
.diagnosis-result__pdf .button { margin-top: 20px; }
.diagnosis-career { margin-top: 48px; padding: 34px; border: 1px solid var(--line); background: #fff; }
.diagnosis-career h3 { margin: 0; font-size: 22px; }
.diagnosis-career p { margin: 10px 0 0; color: var(--muted); }
.diagnosis-career .button { margin-top: 24px; }
.diagnosis-actions--result { margin-top: 42px; padding-top: 26px; border-top: 1px solid var(--line); }
.diagnosis-error { min-height: 70svh; }
.diagnosis-error .diagnosis-panel p:not(.kicker) { max-width: 46em; margin: 22px 0 0; color: var(--muted); }
.diagnosis-error .button { align-self: flex-start; margin-top: 30px; }

@media (hover: hover) and (pointer: fine) {
  .diagnosis-primary-action:hover { box-shadow: 0 16px 36px rgba(16,17,20,.22); transform: translateY(-1px); }
  .diagnosis-option:hover { border-color: rgba(16,17,20,.34); transform: translateY(-1px); }
  .diagnosis-detail-card__link:hover { text-decoration-thickness: 2px; }
}

@media (max-width: 760px) {
  .diagnosis-screen { width: calc(100% - 32px); padding-block: 54px 72px; }
  .diagnosis-intro { min-height: 0; gap: 16px; }
  .diagnosis-intro__stage { min-height: 620px; display: block; border-radius: 30px; }
  .diagnosis-intro__stage::before { bottom: -10%; width: 132%; aspect-ratio: 2; }
  .diagnosis-intro__stage::after { background: linear-gradient(180deg, rgba(255,255,255,.96) 0 44%, rgba(255,255,255,.5) 60%, transparent 78%); }
  .diagnosis-intro__copy { width: 100%; min-height: 0; padding: 32px 16px 0; }
  .diagnosis-intro__copy::before { inset: -4% 0 -12%; }
  .diagnosis-intro__copy h1 { font-size: clamp(39px, 12.2vw, 52px); }
  .diagnosis-intro__lead { max-width: 30em; margin-top: 17px; font-size: 14px; line-height: 1.75; }
  .diagnosis-intro__copy .diagnosis-primary-action { width: min(100%, 330px); margin-top: 24px; }
  .diagnosis-loading { margin-top: 8px; }
  .diagnosis-intro__character { bottom: -1%; width: 44%; height: 270px; }
  .diagnosis-intro__character--ruler { left: -12%; }
  .diagnosis-intro__character--player { left: 17%; }
  .diagnosis-intro__character--observer { right: 17%; }
  .diagnosis-intro__character--seeker { right: -12%; }
  .diagnosis-intro__facts { grid-template-columns: 1fr; border-radius: 20px; }
  .diagnosis-intro__facts article { min-height: 72px; padding: 14px 18px; grid-template-columns: 78px minmax(0, 1fr); gap: 12px; }
  .diagnosis-intro__facts article + article { border-top: 1px solid rgba(16,17,20,.1); border-left: 0; }
  .diagnosis-notice { padding: 24px 20px; border-radius: 20px; }
  .diagnosis-notice__links { align-items: flex-start; flex-direction: column; gap: 0; }
  .diagnosis-panel { min-height: 0; padding: 34px 20px; border-radius: 26px; }
  .diagnosis-panel h2 { font-size: clamp(27px, 8.7vw, 36px); }
  .diagnosis-actions { align-items: stretch; flex-direction: column-reverse; }
  .diagnosis-actions .diagnosis-primary-action { width: 100%; }
  .diagnosis-text-button { align-self: center; }
  .diagnosis-question__panel { min-height: 0; }
  .diagnosis-question__header h2 { font-size: clamp(24px, 7.4vw, 31px); }
  .diagnosis-fieldset { margin-top: 28px; }
  .diagnosis-options { grid-template-columns: 1fr; gap: 9px; }
  .diagnosis-option { min-height: 68px; padding: 13px 14px; border-radius: 15px; }
  .diagnosis-option__copy { font-size: 14px; }
  .diagnosis-actions--question { margin-top: 24px; }
  .diagnosis-capture-form { grid-template-columns: 1fr; gap: 19px; }
  .diagnosis-capture-form__gender-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .diagnosis-actions--capture { flex-direction: column-reverse; }
  .diagnosis-actions--capture .diagnosis-primary-action { width: 100%; }
  .diagnosis-result { width: calc(100% - 32px); }
  .diagnosis-detail-list--count-1 { width: 100%; }
  .diagnosis-detail-list--count-2 { grid-template-columns: 1fr; }
  .diagnosis-detail-card__copy { margin-top: 20px; }
  .diagnosis-detail-card__name { font-size: 15px; }
  .diagnosis-detail-card__summary { margin-top: 7px; font-size: 11px; }
  .diagnosis-result__copy { margin-top: 34px; padding: 24px 20px; border-radius: 20px; }
  .diagnosis-result__subtitle { font-size: 16px; line-height: 1.7; }
  .diagnosis-result__summary { font-size: 14px; }
  .diagnosis-result__pdf { padding: 24px 20px; }
  .diagnosis-result__pdf .button { width: 100%; }
  .diagnosis-actions--result { align-items: stretch; flex-direction: column; }
  .diagnosis-actions--result .diagnosis-text-button { order: 2; }
}

@media (max-width: 350px) {
  .diagnosis-intro__stage { min-height: 590px; }
  .diagnosis-intro__character { height: 238px; }
}

@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
  .diagnosis-notice,
  .diagnosis-panel {
    -webkit-backdrop-filter: blur(30px) saturate(165%);
    backdrop-filter: blur(30px) saturate(165%);
  }
}

@media (prefers-reduced-transparency: reduce) {
  .diagnosis-notice,
  .diagnosis-panel,
  .diagnosis-option {
    background: #fff;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (prefers-contrast: more) {
  .diagnosis-notice,
  .diagnosis-panel,
  .diagnosis-option {
    border: 2px solid var(--ink);
    background: #fff;
    box-shadow: none;
  }
  .diagnosis-option__marker { border-color: var(--ink); }
}

@media (prefers-reduced-motion: reduce) {
  .diagnosis-progress::-webkit-progress-value,
  .diagnosis-option,
  .diagnosis-option__marker::after,
  .diagnosis-capture-form__gender-options span,
  .diagnosis-primary-action {
    transition: none;
  }
}
