/*
 * バイト適性診断 Pro v1.6.0
 * Mobile-first stylesheet.
 * Base = 320–767px. Tablet/Desktop are progressive enhancements with min-width.
 */

/* =========================================================
   0. Root / Cocoon isolation
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] {
  --bfd-accent: #5b63e6;
  --bfd-accent-2: #7b73f1;
  --bfd-accent-3: #438af8;
  --bfd-ink: #1f2440;
  --bfd-muted: #697087;
  --bfd-line: #e6e8f2;
  --bfd-soft: #f7f8ff;
  --bfd-success: #14835f;
  --bfd-caution: #a56b18;
  --bfd-radius-sm: 12px;
  --bfd-radius-md: 18px;
  --bfd-radius-lg: 24px;
  --bfd-shadow-sm: 0 8px 24px rgba(35, 43, 90, .07);
  --bfd-shadow-md: 0 16px 42px rgba(35, 43, 90, .10);
  --bfd-safe-bottom: max(12px, env(safe-area-inset-bottom));
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--bfd-ink) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: normal !important;
  text-align: left !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  text-shadow: none !important;
  text-transform: none !important;
  overflow-wrap: break-word !important;
  isolation: isolate;
}
body .bfd-app.bfd-app[data-bfd-root],
body .bfd-app.bfd-app[data-bfd-root] *,
body .bfd-app.bfd-app[data-bfd-root] *::before,
body .bfd-app.bfd-app[data-bfd-root] *::after { box-sizing: border-box !important; }

body .bfd-app.bfd-app[data-bfd-root] :where(h1,h2,h3,h4,h5,h6,p,ul,ol,li,figure) {
  float: none !important;
  clear: none !important;
  margin-top: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-style: normal !important;
  text-decoration: none !important;
  text-indent: 0 !important;
  text-shadow: none !important;
  text-transform: none !important;
}
body .bfd-app.bfd-app[data-bfd-root] :where(h1,h2,h3,h4,h5,h6)::before,
body .bfd-app.bfd-app[data-bfd-root] :where(h1,h2,h3,h4,h5,h6)::after,
body .bfd-app.bfd-app[data-bfd-root] li::before,
body .bfd-app.bfd-app[data-bfd-root] li::after { content: none !important; display: none !important; }
body .bfd-app.bfd-app[data-bfd-root] :where(ul,ol) { padding: 0 !important; list-style: none !important; }
body .bfd-app.bfd-app[data-bfd-root] img {
  display: block !important;
  float: none !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  vertical-align: middle !important;
}
body .bfd-app.bfd-app[data-bfd-root] button,
body .bfd-app.bfd-app[data-bfd-root] a {
  font: inherit !important;
  text-indent: 0 !important;
  text-shadow: none !important;
  text-transform: none !important;
  -webkit-tap-highlight-color: transparent;
}
body .bfd-app.bfd-app[data-bfd-root] button { cursor: pointer !important; touch-action: manipulation; }
body .bfd-app.bfd-app[data-bfd-root] button::before,
body .bfd-app.bfd-app[data-bfd-root] button::after,
body .bfd-app.bfd-app[data-bfd-root] a::before,
body .bfd-app.bfd-app[data-bfd-root] a::after { content: none !important; display: none !important; }

/* =========================================================
   1. App shell — MOBILE BASE
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] .bfd-shell {
  position: relative !important;
  width: 100% !important;
  max-width: 960px !important;
  min-height: 0 !important;
  margin: 10px auto 18px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(91, 99, 230, .10) !important;
  border-radius: 20px !important;
  background: linear-gradient(155deg, #fff 0%, #fcfcff 58%, #f6f5ff 100%) !important;
  box-shadow: 0 10px 34px rgba(35, 43, 90, .08) !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-screen {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 26px 16px 30px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  animation: bfdFade .32s ease both;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-screen[hidden] { display: none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-screen-result { padding-bottom: calc(32px + var(--bfd-safe-bottom)) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-glow {
  position: absolute !important;
  pointer-events: none !important;
  border-radius: 999px !important;
  opacity: .35 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-glow-one { width: 230px !important; height: 230px !important; right: -130px !important; top: -110px !important; background: radial-gradient(circle,#dcd7ff,transparent 70%) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-glow-two { width: 200px !important; height: 200px !important; left: -130px !important; bottom: -110px !important; background: radial-gradient(circle,#d9f8ee,transparent 70%) !important; }

/* =========================================================
   2. Start screen — MOBILE BASE
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] .bfd-screen-start { text-align: center !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-entry-copy {
  display: inline-block !important;
  margin: 0 0 10px !important;
  padding: 7px 11px !important;
  border-radius: 999px !important;
  background: #f3f1ff !important;
  color: #5e5ac8 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.45 !important;
  text-align: center !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-kicker,
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 32px !important;
  margin: 0 !important;
  padding: 7px 13px !important;
  border-radius: 999px !important;
  background: #f0eeff !important;
  color: var(--bfd-accent) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .04em !important;
  text-align: center !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-title {
  display: block !important;
  margin: 14px 0 9px !important;
  padding: 0 !important;
  color: var(--bfd-ink) !important;
  font-size: clamp(28px, 8.2vw, 37px) !important;
  font-weight: 900 !important;
  line-height: 1.27 !important;
  letter-spacing: -.035em !important;
  text-align: center !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-lead {
  max-width: 580px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  color: var(--bfd-muted) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  text-align: center !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-hero {
  position: relative !important;
  width: 100% !important;
  max-width: 700px !important;
  margin: 20px auto 18px !important;
  padding: 7px !important;
  overflow: hidden !important;
  border: 1px solid rgba(91,99,230,.12) !important;
  border-radius: 18px !important;
  background: linear-gradient(145deg,#eef4ff,#f6f1ff) !important;
  box-shadow: 0 12px 28px rgba(50,58,125,.10) !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-hero-glow {
  position: absolute !important;
  inset: 15% 9% !important;
  z-index: 0 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle,rgba(114,126,245,.22),transparent 65%) !important;
  filter: blur(16px) !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-hero picture { position: relative !important; z-index: 1 !important; display: block !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-hero img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  border-radius: 13px !important;
  object-fit: cover !important;
  animation: bfdWorkHeroFloat 6s ease-in-out infinite !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-work-chip { display: none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-value-promise {
  max-width: 680px !important;
  margin: 0 auto 14px !important;
  padding: 16px !important;
  border: 1px solid #e7e8f2 !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.84) !important;
  box-shadow: var(--bfd-shadow-sm) !important;
  text-align: left !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-value-promise > strong {
  display: block !important;
  margin: 0 0 9px !important;
  color: #252b49 !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-value-promise ul { display: grid !important; gap: 7px !important; margin: 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-value-promise li {
  display: grid !important;
  grid-template-columns: 22px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #666d83 !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-value-promise li span {
  display: grid !important;
  place-items: center !important;
  width: 20px !important;
  height: 20px !important;
  margin-top: 1px !important;
  border-radius: 50% !important;
  background: #eceaff !important;
  color: var(--bfd-accent) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  max-width: 680px !important;
  margin: 0 auto 20px !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points > div {
  display: grid !important;
  grid-template-columns: 36px minmax(0,1fr) !important;
  grid-template-rows: auto auto !important;
  align-items: center !important;
  column-gap: 10px !important;
  padding: 11px 13px !important;
  border: 1px solid var(--bfd-line) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.78) !important;
  text-align: left !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points span {
  grid-row: 1 / 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 10px !important;
  background: #f0eeff !important;
  color: var(--bfd-accent) !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points strong { display: block !important; color: #252b49 !important; font-size: 13px !important; font-weight: 900 !important; line-height: 1.35 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points small { display: block !important; color: #8a8fa2 !important; font-size: 10px !important; line-height: 1.4 !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-primary-button,
body .bfd-app.bfd-app[data-bfd-root] .bfd-cta-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: 440px !important;
  min-height: 58px !important;
  margin: 0 auto !important;
  padding: 12px 18px !important;
  border: 0 !important;
  border-radius: 14px !important;
  background: linear-gradient(135deg,var(--bfd-accent),var(--bfd-accent-3) 58%,var(--bfd-accent-2)) !important;
  box-shadow: 0 11px 24px rgba(69,78,207,.23) !important;
  color: #fff !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.45 !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: transform .18s ease, box-shadow .18s ease, filter .18s ease !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-primary-button:active,
body .bfd-app.bfd-app[data-bfd-root] .bfd-cta-button:active { transform: scale(.985) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-primary-button:focus-visible,
body .bfd-app.bfd-app[data-bfd-root] .bfd-cta-button:focus-visible { outline: 3px solid rgba(91,99,230,.24) !important; outline-offset: 3px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-primary-button svg,
body .bfd-app.bfd-app[data-bfd-root] .bfd-cta-button svg,
body .bfd-app.bfd-app[data-bfd-root] .bfd-back-button svg {
  width: 20px !important;
  height: 20px !important;
  flex: 0 0 auto !important;
  fill: none !important;
  stroke: currentColor !important;
  stroke-width: 2 !important;
  stroke-linecap: round !important;
  stroke-linejoin: round !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-privacy-note {
  margin: 10px 0 0 !important;
  padding: 0 !important;
  color: #9499aa !important;
  font-size: 10px !important;
  line-height: 1.55 !important;
  text-align: center !important;
}

/* =========================================================
   3. Quiz — MOBILE BASE
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] .bfd-progress-wrap { margin: 0 0 18px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-progress-meta {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 7px !important;
  color: #7b8194 !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .04em !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-progress-meta strong { color: var(--bfd-accent) !important; font-size: 11px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-progress-track {
  height: 7px !important;
  overflow: hidden !important;
  border-radius: 999px !important;
  background: #e9eaf2 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-progress-track span {
  display: block !important;
  width: 8%;
  height: 100% !important;
  border-radius: inherit !important;
  background: linear-gradient(90deg,var(--bfd-accent),var(--bfd-accent-3),var(--bfd-accent-2)) !important;
  transition: width .35s ease !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-microcopy {
  margin: 8px 0 0 !important;
  padding: 0 !important;
  color: #8d92a5 !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-question-card {
  position: relative !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 28px 14px 18px !important;
  border: 1px solid var(--bfd-line) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.94) !important;
  box-shadow: var(--bfd-shadow-sm) !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-question-card.is-entering { animation: bfdQuestion .30s ease both !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-question-number {
  position: absolute !important;
  right: 13px !important;
  top: 12px !important;
  color: #f0eff8 !important;
  font-size: 44px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-question-category {
  position: relative !important;
  z-index: 1 !important;
  margin: 0 0 7px !important;
  color: var(--bfd-accent) !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  text-align: left !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-question-title {
  position: relative !important;
  z-index: 1 !important;
  max-width: 92% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #202640 !important;
  font-size: clamp(20px,6vw,26px) !important;
  font-weight: 900 !important;
  line-height: 1.48 !important;
  letter-spacing: -.02em !important;
  text-align: left !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-question-help {
  margin: 7px 0 16px !important;
  color: var(--bfd-muted) !important;
  font-size: 11px !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-options { display: grid !important; gap: 9px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-option {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: grid !important;
  grid-template-columns: 38px minmax(0,1fr) 22px !important;
  align-items: center !important;
  gap: 9px !important;
  width: 100% !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 9px 11px !important;
  border: 1.5px solid #e7e8f0 !important;
  border-radius: 14px !important;
  background: #fff !important;
  box-shadow: none !important;
  color: var(--bfd-ink) !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  transition: border-color .16s ease, background .16s ease, transform .16s ease !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-option:active { transform: scale(.99) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-option.is-selected { border-color: var(--bfd-accent) !important; background: #f4f3ff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-option-marker {
  display: grid !important;
  place-items: center !important;
  width: 34px !important;
  height: 34px !important;
  border-radius: 11px !important;
  background: #f3f4f7 !important;
  color: #7c8192 !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-option.is-selected .bfd-option-marker { background: var(--bfd-accent) !important; color: #fff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-option-label { min-width: 0 !important; font-weight: 700 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-option-check { opacity: 0 !important; color: var(--bfd-accent) !important; font-size: 17px !important; font-weight: 900 !important; text-align: center !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-option.is-selected .bfd-option-check { opacity: 1 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-quiz-nav {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin: 14px 0 0 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-back-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 44px !important;
  margin: 0 !important;
  padding: 8px 4px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: #6e7489 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-back-button:disabled { opacity: .35 !important; cursor: default !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-auto-next { display: none !important; }

/* =========================================================
   4. Loading — MOBILE BASE
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] .bfd-screen-loading {
  min-height: 520px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer { position: relative !important; width: 180px !important; height: 155px !important; display: grid !important; place-items: center !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-ring {
  position: relative !important;
  z-index: 2 !important;
  width: 100px !important;
  height: 100px !important;
  padding: 7px !important;
  border-radius: 50% !important;
  background: conic-gradient(var(--bfd-accent),#58d6b1,var(--bfd-accent)) !important;
  animation: bfdSpin 1.8s linear infinite !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-ring::before { content: "" !important; display:block !important; position:absolute !important; inset:7px !important; border-radius:50% !important; background:#fff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-ring span { position:absolute !important; inset:0 !important; z-index:2 !important; display:grid !important; place-items:center !important; color:var(--bfd-accent) !important; font-size:22px !important; font-weight:900 !important; animation:bfdSpinReverse 1.8s linear infinite !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-lines { position:absolute !important; inset:0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-lines i { position:absolute !important; width:7px !important; height:7px !important; border-radius:50% !important; background:var(--bfd-accent) !important; animation:bfdPulse 1.2s ease-in-out infinite !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-lines i:nth-child(1){left:18px !important;top:32px !important;} body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-lines i:nth-child(2){right:18px !important;top:42px !important;animation-delay:.2s !important;} body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-lines i:nth-child(3){left:8px !important;bottom:28px !important;animation-delay:.4s !important;} body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-lines i:nth-child(4){right:10px !important;bottom:22px !important;animation-delay:.6s !important;} body .bfd-app.bfd-app[data-bfd-root] .bfd-analyzer-lines i:nth-child(5){left:86px !important;top:4px !important;animation-delay:.8s !important;}
body .bfd-app.bfd-app[data-bfd-root] .bfd-screen-loading h3 { margin: 12px 0 4px !important; color:#202640 !important; font-size:21px !important; font-weight:900 !important; line-height:1.45 !important; text-align:center !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-screen-loading p { margin:0 !important; color:var(--bfd-muted) !important; font-size:13px !important; line-height:1.7 !important; text-align:center !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-loading-steps { display:flex !important; flex-wrap:wrap !important; justify-content:center !important; gap:6px !important; margin:15px 0 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-loading-steps span { padding:5px 9px !important; border-radius:999px !important; background:#eff0f5 !important; color:#9599aa !important; font-size:9px !important; font-weight:800 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-loading-steps span.is-done { background:#e8fff6 !important; color:#169c72 !important; }

/* =========================================================
   5. Result identity — MOBILE BASE
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-heading { margin:0 0 16px !important; padding:0 !important; text-align:center !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-heading p { margin:9px 0 0 !important; color:#697087 !important; font-size:13px !important; font-weight:800 !important; line-height:1.5 !important; text-align:center !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-hero {
  display: grid !important;
  grid-template-columns: 1fr !important;
  grid-template-areas: "visual" "copy" !important;
  gap: 0 !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 10px !important;
  overflow: hidden !important;
  border: 1px solid #e5e7f0 !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: var(--bfd-shadow-md) !important;
  color: var(--bfd-ink) !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-visual-panel {
  grid-area: visual !important;
  position: relative !important;
  min-width:0 !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:17px !important;
  background:transparent !important;
  box-shadow:none !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-visual-label {
  position:absolute !important;
  z-index:3 !important;
  left:10px !important;
  top:10px !important;
  display:inline-flex !important;
  align-items:center !important;
  min-height:27px !important;
  padding:5px 9px !important;
  border:1px solid rgba(255,255,255,.84) !important;
  border-radius:999px !important;
  background:rgba(30,36,64,.76) !important;
  color:#fff !important;
  font-size:9px !important;
  font-weight:900 !important;
  line-height:1.2 !important;
  backdrop-filter:blur(7px) !important;
  -webkit-backdrop-filter:blur(7px) !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-illustration {
  width:100% !important;
  aspect-ratio: 16 / 10 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:17px !important;
  background:#f5f6fb !important;
  box-shadow:none !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-illustration img { width:100% !important; max-width:none !important; height:100% !important; max-height:none !important; border-radius:17px !important; object-fit:cover !important; object-position:center !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-copy {
  grid-area:copy !important;
  display:flex !important;
  flex-direction:column !important;
  min-width:0 !important;
  margin:0 !important;
  padding:19px 7px 8px !important;
  background:transparent !important;
  color:var(--bfd-ink) !important;
  text-align:left !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-meta { display:flex !important; flex-wrap:wrap !important; align-items:center !important; gap:7px 9px !important; margin:0 0 10px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-rank { display:inline-flex !important; align-items:center !important; gap:5px !important; min-height:28px !important; padding:5px 9px !important; border-radius:999px !important; background:linear-gradient(135deg,var(--bfd-accent),#7c75ec) !important; color:#fff !important; font-size:9px !important; font-weight:900 !important; line-height:1.2 !important; letter-spacing:.09em !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-rank b { display:grid !important; place-items:center !important; width:15px !important; height:15px !important; border-radius:50% !important; background:rgba(255,255,255,.18) !important; color:#fff !important; font-size:9px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-overline { color:#7a8195 !important; font-size:10px !important; font-weight:800 !important; line-height:1.4 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-copy h3 { margin:0 0 8px !important; padding:0 !important; color:#202640 !important; font-size:clamp(27px,8vw,34px) !important; font-weight:900 !important; line-height:1.23 !important; letter-spacing:-.035em !important; text-align:left !important; overflow-wrap:anywhere !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-catch { margin:0 !important; color:#666e84 !important; font-size:13px !important; font-weight:500 !important; line-height:1.78 !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-result-score-panel {
  display:grid !important;
  grid-template-columns:74px minmax(0,1fr) !important;
  align-items:center !important;
  gap:11px !important;
  width:100% !important;
  margin:17px 0 0 !important;
  padding:10px !important;
  border:1px solid #e6e8f2 !important;
  border-radius:16px !important;
  background:linear-gradient(135deg,#fafbff,#f4f3ff) !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-number { display:flex !important; align-items:baseline !important; justify-content:center !important; gap:2px !important; min-height:64px !important; padding:9px 6px !important; border-radius:13px !important; background:linear-gradient(145deg,var(--bfd-accent),var(--bfd-accent-3) 58%,var(--bfd-accent-2)) !important; box-shadow:0 8px 18px rgba(75,78,192,.20) !important; color:#fff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-number strong { color:#fff !important; font-size:33px !important; font-weight:900 !important; line-height:1 !important; letter-spacing:-.05em !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-number span { color:rgba(255,255,255,.78) !important; font-size:8px !important; font-weight:900 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-meter { display:grid !important; gap:6px !important; min-width:0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-meter-head { display:flex !important; align-items:center !important; justify-content:space-between !important; gap:7px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-meter-head strong { color:#252b49 !important; font-size:13px !important; font-weight:900 !important; line-height:1.3 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-meter-head span { flex:0 0 auto !important; padding:3px 6px !important; border-radius:999px !important; background:#e9e7ff !important; color:#6257cf !important; font-size:8px !important; font-weight:900 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-track { width:100% !important; height:8px !important; overflow:hidden !important; border-radius:999px !important; background:#e2e4ed !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-track span { display:block !important; width:0; height:100% !important; border-radius:inherit !important; background:linear-gradient(90deg,var(--bfd-accent),var(--bfd-accent-3),var(--bfd-accent-2)) !important; transition:width .8s cubic-bezier(.22,1,.36,1) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-score-meter small { display:block !important; color:#878c9f !important; font-size:8px !important; line-height:1.45 !important; }

/* =========================================================
   6. CTA — MOBILE BASE / copy first
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta {
  position:relative !important;
  width:100% !important;
  margin:18px 0 !important;
  padding:20px 16px 18px !important;
  overflow:hidden !important;
  border:1px solid #e3e6f0 !important;
  border-radius:17px !important;
  background:#fff !important;
  box-shadow:0 9px 28px rgba(31,42,86,.07) !important;
  color:#20253c !important;
  text-align:left !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta::before { content:"" !important; display:block !important; position:absolute !important; left:0 !important; top:0 !important; bottom:0 !important; width:4px !important; background:var(--bfd-accent) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-kicker { display:block !important; margin:0 0 7px !important; color:var(--bfd-accent) !important; font-size:9px !important; font-weight:900 !important; line-height:1.4 !important; letter-spacing:.07em !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta h4 { margin:0 !important; padding:0 !important; color:#171c33 !important; font-size:20px !important; font-weight:900 !important; line-height:1.48 !important; letter-spacing:-.025em !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta p { max-width:720px !important; margin:8px 0 0 !important; padding:0 !important; color:#676d82 !important; font-size:12px !important; font-weight:500 !important; line-height:1.78 !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-button {
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:9px !important;
  width:100% !important;
  min-height:55px !important;
  margin:15px 0 0 !important;
  padding:11px 14px !important;
  border:0 !important;
  border-radius:13px !important;
  background:linear-gradient(135deg,var(--bfd-accent),#4d85f4) !important;
  box-shadow:0 9px 20px rgba(62,84,222,.20) !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:900 !important;
  line-height:1.4 !important;
  text-align:center !important;
  text-decoration:none !important;
  touch-action:manipulation;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-button:active { transform:scale(.987) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-button:focus-visible { outline:3px solid rgba(62,84,222,.25) !important; outline-offset:3px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-button svg { width:18px !important; height:18px !important; flex:0 0 auto !important; fill:none !important; stroke:currentColor !important; stroke-width:2 !important; stroke-linecap:round !important; stroke-linejoin:round !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-micro,
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-disclosure { display:block !important; margin:8px 0 0 !important; color:#8a8fa1 !important; font-size:9px !important; font-weight:500 !important; line-height:1.55 !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-disclosure:empty,
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-micro:empty { display:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-top { background:#fbfcff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-main { margin:24px 0 22px !important; padding:23px 16px 20px !important; border-color:#dfe4fb !important; background:#f8faff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-bottom { margin-top:24px !important; }

/* =========================================================
   7. Funnel content — MOBILE BASE
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] .bfd-funnel-section,
body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-section { margin:24px 0 0 !important; padding:0 !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-funnel-heading { margin:0 0 12px !important; padding:0 !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-funnel-heading > span { display:block !important; margin:0 0 4px !important; color:var(--bfd-accent) !important; font-size:9px !important; font-weight:900 !important; line-height:1.3 !important; letter-spacing:.12em !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-funnel-heading h4,
body .bfd-app.bfd-app[data-bfd-root] .bfd-section-title h4,
body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-card h4,
body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-card h4 { margin:0 !important; padding:0 !important; color:#202640 !important; font-size:19px !important; font-weight:900 !important; line-height:1.45 !important; letter-spacing:-.02em !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-funnel-heading p,
body .bfd-app.bfd-app[data-bfd-root] .bfd-section-title p { margin:5px 0 0 !important; padding:0 !important; color:#7b8194 !important; font-size:11px !important; line-height:1.65 !important; text-align:left !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-list { display:grid !important; gap:8px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-item { display:grid !important; grid-template-columns:36px minmax(0,1fr) !important; gap:10px !important; align-items:start !important; margin:0 !important; padding:13px !important; border:1px solid #e6e8f1 !important; border-radius:14px !important; background:#fff !important; box-shadow:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-index { display:grid !important; place-items:center !important; width:36px !important; height:36px !important; border-radius:11px !important; background:linear-gradient(145deg,var(--bfd-accent),#6b94f7) !important; color:#fff !important; font-size:10px !important; font-weight:900 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-item strong { display:block !important; margin:0 0 2px !important; color:#292f4d !important; font-size:10px !important; font-weight:900 !important; line-height:1.4 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-item p { margin:0 !important; color:#4f566f !important; font-size:12px !important; font-weight:800 !important; line-height:1.55 !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-item small { display:block !important; margin:3px 0 0 !important; color:#8a8fa1 !important; font-size:9px !important; line-height:1.5 !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-grid { display:grid !important; grid-template-columns:1fr !important; gap:10px !important; margin:20px 0 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-card { padding:17px !important; border-radius:16px !important; box-shadow:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-card.is-strength { border:1px solid #cdeee1 !important; background:#effbf6 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-card.is-weakness { border:1px solid #f0dfc2 !important; background:#fff9ef !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-label { display:inline-flex !important; margin:0 0 8px !important; padding:4px 8px !important; border-radius:999px !important; background:rgba(255,255,255,.7) !important; color:#687087 !important; font-size:9px !important; font-weight:900 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-card p { margin:7px 0 0 !important; color:#697087 !important; font-size:12px !important; line-height:1.75 !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-traits { display:flex !important; flex-wrap:wrap !important; gap:6px !important; margin:10px 0 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-traits span { padding:5px 8px !important; border-radius:999px !important; background:rgba(255,255,255,.8) !important; color:#4f5b72 !important; font-size:9px !important; font-weight:800 !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-risk-box { margin:14px 0 0 !important; padding:16px !important; border:1px solid #ebdfe1 !important; border-radius:15px !important; background:#fff7f7 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-risk-box > span { display:block !important; margin:0 0 5px !important; color:#9e4e57 !important; font-size:10px !important; font-weight:900 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-risk-box p { margin:0 !important; color:#6f6268 !important; font-size:12px !important; line-height:1.75 !important; text-align:left !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-grid { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-card { display:grid !important; grid-template-columns:32px minmax(0,1fr) !important; align-items:start !important; gap:9px !important; margin:0 !important; padding:12px !important; border:1px solid #e6e8f1 !important; border-radius:14px !important; background:#fff !important; box-shadow:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-card span { display:grid !important; place-items:center !important; width:30px !important; height:30px !important; margin:0 !important; border-radius:9px !important; background:#edebff !important; color:var(--bfd-accent) !important; font-size:9px !important; font-weight:900 !important; line-height:1 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-card strong { display:block !important; color:#4e566f !important; font-size:12px !important; font-weight:800 !important; line-height:1.62 !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-match-table { overflow:hidden !important; border:1px solid #e5e7ef !important; border-radius:15px !important; background:#fff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row { display:grid !important; grid-template-columns:minmax(0,1fr) 28px !important; gap:8px !important; padding:12px 13px !important; border-bottom:1px solid #edf0f5 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row:last-child { border-bottom:0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row.is-head { display:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row > * { color:#596177 !important; font-size:11px !important; line-height:1.55 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row > *:nth-child(2)::before { content:"求人側：" !important; color:#9a9fb0 !important; font-size:9px !important; font-weight:800 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row > *:last-child { grid-column:2 !important; grid-row:1 / 3 !important; align-self:center !important; display:grid !important; place-items:center !important; width:28px !important; height:28px !important; margin:0 auto !important; border-radius:50% !important; background:#e8f8f1 !important; color:#17805f !important; font-size:14px !important; font-weight:900 !important; text-align:center !important; }

/* =========================================================
   8. Ranking / advice / FAQ — MOBILE BASE
   ========================================================= */
body .bfd-app.bfd-app[data-bfd-root] .bfd-section-title { margin:26px 0 11px !important; padding:0 !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-section-title > span { display:block !important; margin:0 0 3px !important; color:var(--bfd-accent) !important; font-size:9px !important; font-weight:900 !important; letter-spacing:.12em !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-ranking { display:grid !important; gap:9px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-card { display:grid !important; grid-template-columns:38px 68px minmax(0,1fr) !important; align-items:center !important; min-height:100px !important; overflow:hidden !important; border:1px solid var(--bfd-line) !important; border-radius:15px !important; background:#fff !important; box-shadow:0 7px 22px rgba(45,39,99,.05) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-card.is-first { border-color:rgba(91,99,230,.32) !important; box-shadow:0 9px 25px rgba(91,99,230,.09) !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-rank { align-self:stretch !important; display:grid !important; place-items:center !important; background:#f3f1ff !important; color:var(--bfd-accent) !important; font-size:18px !important; font-weight:900 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-image { display:grid !important; place-items:center !important; height:74px !important; padding:5px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-image img { width:60px !important; height:60px !important; border-radius:11px !important; background:#f7f7fb !important; object-fit:cover !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-body { min-width:0 !important; padding:11px 9px 11px 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-title-row { display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:7px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-title-row h5 { margin:0 !important; padding:0 !important; color:#202640 !important; font-size:13px !important; font-weight:900 !important; line-height:1.35 !important; text-align:left !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-score { flex:0 0 auto !important; color:var(--bfd-accent) !important; font-size:10px !important; font-weight:900 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-body p { display:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-tags { display:flex !important; flex-wrap:wrap !important; gap:4px !important; margin:6px 0 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-tags span { padding:3px 6px !important; border-radius:7px !important; background:#f5f5f8 !important; color:#696e80 !important; font-size:8px !important; font-weight:700 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-job-tags span:nth-child(n+3) { display:none !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-grid { display:grid !important; grid-template-columns:1fr !important; gap:9px !important; margin:18px 0 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-card { padding:16px !important; border-radius:15px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-card.is-positive { border:1px solid #ccefe0 !important; background:#effcf7 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-card.is-caution { border:1px solid #f3dfbd !important; background:#fff8ed !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-icon { display:grid !important; place-items:center !important; width:33px !important; height:33px !important; margin:0 0 8px !important; border-radius:10px !important; font-size:13px !important; font-weight:900 !important; }
body .bfd-app.bfd-app[data-bfd-root] .is-positive .bfd-advice-icon { background:#d9f7eb !important; color:#138560 !important; }
body .bfd-app.bfd-app[data-bfd-root] .is-caution .bfd-advice-icon { background:#ffebc9 !important; color:#b1741d !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-card p { margin:6px 0 0 !important; color:#697087 !important; font-size:11px !important; line-height:1.72 !important; text-align:left !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list { display:grid !important; gap:7px !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list details { overflow:hidden !important; border:1px solid #e5e7ef !important; border-radius:13px !important; background:#fff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list summary { position:relative !important; display:block !important; padding:13px 38px 13px 13px !important; color:#252b49 !important; font-size:12px !important; font-weight:800 !important; line-height:1.55 !important; cursor:pointer !important; list-style:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list summary::-webkit-details-marker { display:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list summary::after { content:"+" !important; display:grid !important; place-items:center !important; position:absolute !important; right:12px !important; top:50% !important; width:22px !important; height:22px !important; transform:translateY(-50%) !important; border-radius:50% !important; background:#f0eeff !important; color:var(--bfd-accent) !important; font-size:15px !important; font-weight:500 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list details[open] summary::after { content:"−" !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list details p { margin:0 !important; padding:0 13px 13px !important; color:#6c7286 !important; font-size:11px !important; line-height:1.75 !important; text-align:left !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-next-actions { display:grid !important; grid-template-columns:1fr !important; gap:8px !important; margin:20px 0 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-next-actions a { display:block !important; min-height:63px !important; padding:11px 13px !important; border:1px solid #e4e6ef !important; border-radius:13px !important; background:#fff !important; color:#596177 !important; text-decoration:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-next-actions a span { display:block !important; margin:0 0 2px !important; color:#8a8fa2 !important; font-size:9px !important; line-height:1.4 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-next-actions a strong { display:block !important; color:#252b49 !important; font-size:12px !important; font-weight:900 !important; line-height:1.45 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-next-actions a[hidden] { display:none !important; }

body .bfd-app.bfd-app[data-bfd-root] .bfd-result-actions { display:grid !important; grid-template-columns:1fr !important; gap:7px !important; margin:17px 0 0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-secondary-button,
body .bfd-app.bfd-app[data-bfd-root] .bfd-share-button { appearance:none !important; -webkit-appearance:none !important; display:flex !important; align-items:center !important; justify-content:center !important; gap:8px !important; width:100% !important; min-height:47px !important; margin:0 !important; padding:9px 14px !important; border-radius:12px !important; font-size:12px !important; font-weight:800 !important; line-height:1.4 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-secondary-button { border:1px solid var(--bfd-line) !important; background:#fff !important; color:#6f7589 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-share-button { border:0 !important; background:#202331 !important; color:#fff !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-x-icon { width:17px !important; height:17px !important; fill:currentColor !important; }

/* Mobile sticky CTA is BASE behavior. Desktop turns it off later. */
body .bfd-app.bfd-app[data-bfd-root] .bfd-sticky-cta { display:none !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-sticky-cta:not([hidden]) {
  position:fixed !important;
  z-index:9998 !important;
  left:max(10px,env(safe-area-inset-left)) !important;
  right:max(10px,env(safe-area-inset-right)) !important;
  bottom:var(--bfd-safe-bottom) !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(118px,42%) !important;
  align-items:center !important;
  gap:9px !important;
  min-height:64px !important;
  padding:9px 9px 9px 12px !important;
  border:1px solid rgba(255,255,255,.25) !important;
  border-radius:16px !important;
  background:rgba(31,37,75,.96) !important;
  box-shadow:0 16px 38px rgba(18,22,64,.30) !important;
  color:#fff !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
}
body .bfd-app.bfd-app[data-bfd-root] .bfd-sticky-cta > button { position:absolute !important; right:-4px !important; top:-9px !important; display:grid !important; place-items:center !important; width:24px !important; height:24px !important; padding:0 !important; border:1px solid #e5e6ee !important; border-radius:50% !important; background:#fff !important; color:#62677a !important; font-size:15px !important; font-weight:900 !important; line-height:1 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-sticky-cta > div { min-width:0 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-sticky-cta small { display:block !important; margin:0 !important; color:#bcc4ea !important; font-size:8px !important; line-height:1.3 !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-sticky-cta strong { display:block !important; overflow:hidden !important; color:#fff !important; font-size:11px !important; font-weight:900 !important; line-height:1.4 !important; text-overflow:ellipsis !important; white-space:nowrap !important; }
body .bfd-app.bfd-app[data-bfd-root] .bfd-sticky-cta a { display:flex !important; align-items:center !important; justify-content:center !important; min-height:44px !important; padding:8px 9px !important; border-radius:11px !important; background:linear-gradient(135deg,var(--bfd-accent),var(--bfd-accent-3)) !important; color:#fff !important; font-size:10px !important; font-weight:900 !important; line-height:1.35 !important; text-align:center !important; text-decoration:none !important; }

/* =========================================================
   9. Progressive enhancement — TABLET 768+
   ========================================================= */
@media (min-width: 768px) {
  body .bfd-app.bfd-app[data-bfd-root] .bfd-shell { width:min(100% - 24px,960px) !important; margin:22px auto 32px !important; border-radius:28px !important; box-shadow:0 18px 54px rgba(35,43,90,.11) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-screen { padding:42px 38px 48px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-title { margin-top:16px !important; font-size:clamp(34px,5vw,46px) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-lead { font-size:16px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-start-hero { margin:24px auto 20px !important; padding:10px !important; border-radius:22px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-start-hero img { border-radius:16px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-work-chip { position:absolute !important; z-index:3 !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; min-height:32px !important; padding:6px 12px !important; border:1px solid rgba(82,94,213,.13) !important; border-radius:999px !important; background:rgba(255,255,255,.92) !important; box-shadow:0 9px 22px rgba(47,53,120,.13) !important; color:#47517f !important; font-size:10px !important; font-weight:900 !important; backdrop-filter:blur(8px) !important; -webkit-backdrop-filter:blur(8px) !important; animation:bfdWorkChip 4s ease-in-out infinite !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-work-chip-one { left:3% !important; top:20% !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-work-chip-two { right:3% !important; top:33% !important; animation-delay:.55s !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-work-chip-three { left:9% !important; bottom:12% !important; animation-delay:1.1s !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-value-promise { padding:18px 20px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-value-promise ul { grid-template-columns:1fr 1fr !important; column-gap:18px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points { grid-template-columns:repeat(3,1fr) !important; gap:10px !important; margin-bottom:24px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points > div { display:block !important; padding:14px 10px !important; text-align:center !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points span { display:block !important; width:auto !important; height:auto !important; margin:0 0 4px !important; border-radius:0 !important; background:transparent !important; font-size:10px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-start-points strong { font-size:13px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-primary-button { min-height:61px !important; font-size:16px !important; }

  body .bfd-app.bfd-app[data-bfd-root] .bfd-question-card { padding:36px 30px 26px !important; border-radius:22px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-question-number { right:24px !important; top:18px !important; font-size:58px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-question-title { max-width:680px !important; font-size:clamp(23px,3.2vw,29px) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-options { gap:10px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-option { min-height:66px !important; padding:11px 14px !important; border-radius:15px !important; font-size:15px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-auto-next { display:inline !important; color:#999daf !important; font-size:10px !important; }

  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-heading { margin-bottom:18px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-heading p { font-size:15px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-hero { grid-template-columns:minmax(250px,.88fr) minmax(0,1.12fr) !important; grid-template-areas:"visual copy" !important; gap:16px !important; padding:16px !important; border-radius:27px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-visual-panel { align-self:stretch !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-illustration { height:100% !important; min-height:290px !important; aspect-ratio:auto !important; border-radius:21px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-illustration img { border-radius:21px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-copy { justify-content:center !important; padding:18px 22px 18px 6px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-copy h3 { font-size:clamp(31px,4vw,41px) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-catch { font-size:14px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-score-panel { grid-template-columns:88px minmax(0,1fr) !important; max-width:450px !important; padding:13px !important; border-radius:18px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-score-number { min-height:72px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-score-number strong { font-size:38px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-score-meter-head strong { font-size:14px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-score-meter small { font-size:9px !important; }

  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta { margin:24px 0 !important; padding:26px 26px 23px !important; border-radius:19px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta h4 { font-size:clamp(21px,2.4vw,27px) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta p { font-size:13px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-button { width:auto !important; min-width:320px !important; min-height:57px !important; padding:12px 22px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-top { display:grid !important; grid-template-columns:minmax(0,1fr) auto !important; grid-template-areas:"kicker button" "headline button" "micro button" !important; column-gap:22px !important; row-gap:1px !important; align-items:center !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-top .bfd-simple-cta-kicker { grid-area:kicker !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-top h4 { grid-area:headline !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-top .bfd-simple-cta-button { grid-area:button !important; margin:0 !important; min-width:245px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-top .bfd-simple-cta-micro { grid-area:micro !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-main { padding:30px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-main .bfd-simple-cta-button { min-width:370px !important; }

  body .bfd-app.bfd-app[data-bfd-root] .bfd-funnel-section,
  body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-section { margin-top:30px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-funnel-heading h4,
  body .bfd-app.bfd-app[data-bfd-root] .bfd-section-title h4,
  body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-card h4,
  body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-card h4 { font-size:21px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-funnel-heading p,
  body .bfd-app.bfd-app[data-bfd-root] .bfd-section-title p { font-size:12px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-item { grid-template-columns:44px minmax(0,1fr) !important; gap:13px !important; padding:16px !important; border-radius:17px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-index { width:44px !important; height:44px !important; border-radius:14px !important; font-size:12px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-item strong { font-size:11px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-evidence-item p { font-size:13px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-card { display:block !important; min-height:112px !important; padding:17px 15px !important; border-radius:17px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-card span { display:block !important; width:auto !important; height:auto !important; margin:0 0 9px !important; border-radius:0 !important; background:transparent !important; font-size:10px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-card strong { font-size:12px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-grid { grid-template-columns:1fr 1fr !important; gap:12px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-insight-card { padding:20px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-grid { grid-template-columns:repeat(3,1fr) !important; gap:9px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-condition-grid > * { grid-template-columns:30px minmax(0,1fr) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row { grid-template-columns:1fr 1fr 38px !important; gap:10px !important; padding:13px 15px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row.is-head { display:grid !important; background:#f7f8fc !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row.is-head > * { color:#777d91 !important; font-size:10px !important; font-weight:900 !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row.is-head > *:last-child { display:block !important; width:auto !important; height:auto !important; margin:0 !important; border-radius:0 !important; background:transparent !important; color:#777d91 !important; font-size:10px !important; text-align:center !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row > *:nth-child(2)::before { content:none !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-match-row > *:last-child { grid-column:auto !important; grid-row:auto !important; }

  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-card { grid-template-columns:52px 92px minmax(0,1fr) !important; min-height:118px !important; border-radius:18px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-rank { font-size:23px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-image { height:94px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-image img { width:80px !important; height:80px !important; border-radius:14px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-body { padding:14px 16px 14px 0 !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-title-row h5 { font-size:16px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-score { font-size:12px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-body p { display:block !important; margin:4px 0 8px !important; color:#73798c !important; font-size:10px !important; line-height:1.55 !important; text-align:left !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-tags span:nth-child(n+3) { display:inline-flex !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-grid { grid-template-columns:1fr 1fr !important; gap:11px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-advice-card { padding:20px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list summary { padding:15px 42px 15px 16px !important; font-size:13px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-faq-list details p { padding:0 16px 15px !important; font-size:12px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-next-actions { grid-template-columns:1fr 1fr !important; gap:10px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-actions { display:flex !important; justify-content:center !important; gap:9px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-secondary-button,
  body .bfd-app.bfd-app[data-bfd-root] .bfd-share-button { width:auto !important; min-width:180px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-sticky-cta:not([hidden]) { display:none !important; }
}

/* =========================================================
   10. Progressive enhancement — DESKTOP 1024+
   ========================================================= */
@media (min-width: 1024px) {
  body .bfd-app.bfd-app[data-bfd-root] .bfd-shell { margin:30px auto 42px !important; border-radius:31px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-screen { padding:50px 46px 58px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-title { font-size:48px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-start-hero { max-width:740px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-primary-button:hover,
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-button:hover { transform:translateY(-2px) !important; filter:brightness(.99) !important; box-shadow:0 14px 30px rgba(62,84,222,.27) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-option:hover { border-color:rgba(91,99,230,.48) !important; background:#fdfdff !important; transform:translateY(-1px) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-question-card { padding:40px 36px 30px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-hero { grid-template-columns:minmax(300px,.90fr) minmax(0,1.10fr) !important; gap:20px !important; padding:18px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-illustration { min-height:330px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-copy { padding:24px 28px 24px 8px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-copy h3 { font-size:43px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-result-score-panel { max-width:480px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-simple-cta-top .bfd-simple-cta-button { min-width:275px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-card { grid-template-columns:62px 104px minmax(0,1fr) !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-image { height:104px !important; }
  body .bfd-app.bfd-app[data-bfd-root] .bfd-job-image img { width:90px !important; height:90px !important; }
}

/* =========================================================
   11. Motion / accessibility
   ========================================================= */
@keyframes bfdFade { from { opacity:0; transform:translateY(6px); } to { opacity:1; transform:translateY(0); } }
@keyframes bfdQuestion { from { opacity:0; transform:translateX(10px); } to { opacity:1; transform:translateX(0); } }
@keyframes bfdWorkHeroFloat { 0%,100% { transform:translate3d(0,0,0) scale(1); } 50% { transform:translate3d(0,-4px,0) scale(1.004); } }
@keyframes bfdWorkChip { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-5px); } }
@keyframes bfdSpin { to { transform:rotate(360deg); } }
@keyframes bfdSpinReverse { to { transform:rotate(-360deg); } }
@keyframes bfdPulse { 0%,100% { transform:scale(.65); opacity:.35; } 50% { transform:scale(1.25); opacity:1; } }

@media (prefers-reduced-motion: reduce) {
  body .bfd-app.bfd-app[data-bfd-root] *,
  body .bfd-app.bfd-app[data-bfd-root] *::before,
  body .bfd-app.bfd-app[data-bfd-root] *::after {
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}
