.mm-stage1-pro,
.mm-stage1-pro * { box-sizing: border-box; }

.mm-stage1-pro {
  --mm-bg: #090d14;
  --mm-panel: #101722;
  --mm-muted: #9ba9bb;
  --mm-line: rgba(155, 174, 198, .18);
  --mm-white: #f7faff;
  width: min(920px, calc(100% - 24px));
  margin: 28px auto;
  color: var(--mm-white);
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  border: 1px solid rgba(110, 145, 185, .2);
  border-radius: 24px;
  overflow: hidden;
  background: var(--mm-bg);
  box-shadow: 0 26px 80px rgba(0, 0, 0, .28);
}

.mm-stage1-pro h2, .mm-stage1-pro h3, .mm-stage1-pro h4, .mm-stage1-pro p { margin: 0; color: inherit; }
.mm-stage1-pro button, .mm-stage1-pro input, .mm-stage1-pro select { font-family: inherit; }
.mm-stage1-vehicle-template { padding: 36px 12px; }
.mm-pro-hero { position: relative; padding: 42px 42px 34px; background: radial-gradient(ellipse at 88% 8%, rgba(22, 136, 255, .17), transparent 48%), linear-gradient(145deg, #111926, #090d14 75%); }
.mm-pro-kicker { color: var(--mm-accent); font-size: 12px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.mm-pro-kicker span { color: rgba(255, 255, 255, .55); }
.mm-pro-hero h2 { margin-top: 15px; font-size: clamp(34px, 6vw, 58px); font-weight: 790; line-height: 1.02; letter-spacing: -.055em; }
.mm-pro-hero h2 span { color: var(--mm-accent); }
.mm-pro-hero > p { max-width: 540px; margin-top: 15px; color: var(--mm-muted); font-size: 15px; line-height: 1.6; }
.mm-pro-search-wrap { position: relative; margin-top: 24px; }
.mm-pro-search { width: 100%; height: 52px; padding: 0 16px; color: var(--mm-white); font-size: 15px; background: rgba(9, 13, 20, .83); border: 1px solid var(--mm-line); border-radius: 12px; }
.mm-pro-search:focus, .mm-pro-select-grid select:focus { border-color: var(--mm-accent); outline: 2px solid rgba(22, 136, 255, .16); }
.mm-pro-search::placeholder { color: #738196; }
.mm-pro-search-results { position: absolute; top: 57px; right: 0; left: 0; z-index: 4; max-height: 285px; padding: 5px; overflow: auto; background: #111926; border: 1px solid var(--mm-line); border-radius: 12px; box-shadow: 0 15px 45px rgba(0, 0, 0, .32); }
.mm-pro-search-results button { display: block; width: 100%; padding: 11px 12px; color: var(--mm-white); text-align: left; background: transparent; border: 0; border-radius: 8px; cursor: pointer; }
.mm-pro-search-results button:hover { background: rgba(22, 136, 255, .12); }
.mm-pro-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.mm-pro-body { padding: 29px 42px 30px; }
.mm-pro-progress { display: flex; gap: 24px; padding-bottom: 24px; overflow-x: auto; }
.mm-pro-progress span { flex: 0 0 auto; color: #748195; font-size: 12px; font-weight: 700; }
.mm-pro-progress span.is-active { color: var(--mm-accent); }
.mm-pro-select-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.mm-pro-select-grid label { display: block; min-width: 0; color: #d5deea; font-size: 12px; font-weight: 720; letter-spacing: .025em; }
.mm-pro-select-grid select { display: block; width: 100%; height: 49px; margin-top: 8px; padding: 0 13px; color: var(--mm-white); font-size: 15px; background: var(--mm-panel); border: 1px solid var(--mm-line); border-radius: 10px; }
.mm-pro-select-grid select:disabled { color: #768193; opacity: .72; }
.mm-pro-engine-label { grid-column: 1 / -1; }
.mm-pro-error { margin-top: 17px; padding: 13px; color: #ffd9d7; background: rgba(162, 47, 40, .19); border: 1px solid rgba(212, 89, 80, .35); border-radius: 10px; }
.mm-pro-result { margin-top: 31px; padding-top: 27px; border-top: 1px solid var(--mm-line); }
.mm-pro-result-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 15px; }
.mm-pro-result-head h3 { margin-top: 9px; font-size: clamp(22px, 4vw, 34px); line-height: 1.15; letter-spacing: -.035em; }
.mm-pro-result-head p { margin-top: 7px; color: var(--mm-muted); font-size: 13px; }
.mm-pro-stage-badge { flex: 0 0 auto; padding: 8px 11px; color: var(--mm-accent); font-size: 11px; font-weight: 800; letter-spacing: .08em; background: rgba(22, 136, 255, .09); border: 1px solid rgba(22, 136, 255, .27); border-radius: 999px; }
.mm-pro-performance { display: grid; grid-template-columns: minmax(0, 1fr) 44px minmax(0, 1fr); gap: 10px; align-items: center; margin-top: 26px; padding: 23px 19px; background: var(--mm-panel); border: 1px solid var(--mm-line); border-radius: 15px; }
.mm-pro-performance-col h4 { margin-bottom: 10px; color: var(--mm-muted); font-size: 11px; font-weight: 760; letter-spacing: .14em; }
.mm-pro-performance-col > strong { display: block; font-size: clamp(20px, 4.2vw, 36px); font-weight: 820; line-height: 1.1; letter-spacing: -.045em; }
.mm-pro-performance-col > span { display: block; min-height: 17px; margin-top: 4px; color: var(--mm-muted); font-size: 11px; }
.mm-pro-performance-col > .mm-pro-torque { margin-top: 12px; font-size: clamp(16px, 3vw, 23px); }
.mm-pro-performance-col.is-stage > strong, .mm-pro-performance-col.is-stage h4 { color: var(--mm-accent); }
.mm-pro-arrow { color: var(--mm-accent); font-size: 34px; text-align: center; }
.mm-pro-gains { display: flex; justify-content: center; gap: 14px; margin-top: 13px; }
.mm-pro-gains span:not(:empty) { padding: 6px 12px; color: var(--mm-accent); font-size: 13px; font-weight: 760; background: rgba(22, 136, 255, .1); border-radius: 999px; }
.mm-pro-chart, .mm-pro-technical { margin-top: 29px; }
.mm-pro-chart > h4, .mm-pro-technical > h4 { margin-bottom: 15px; color: #e1e9f3; font-size: 14px; font-weight: 720; }
.mm-pro-chart-row + .mm-pro-chart-row { margin-top: 18px; }
.mm-pro-chart-label { margin-bottom: 6px; color: var(--mm-muted); font-size: 11px; }
.mm-pro-chart-line { display: grid; grid-template-columns: minmax(0, 1fr) 73px; align-items: center; gap: 9px; margin-top: 5px; }
.mm-pro-chart-line i { display: block; height: 8px; background: #74839a; border-radius: 999px; }
.mm-pro-chart-line i.is-stage { background: var(--mm-accent); }
.mm-pro-chart-line span { color: #d9e1ec; font-size: 11px; text-align: right; }
.mm-pro-chart > p, .mm-pro-technical > p { margin-top: 11px; color: var(--mm-muted); font-size: 11px; line-height: 1.55; }
.mm-pro-technical dl { display: grid; grid-template-columns: minmax(96px, .35fr) minmax(0, 1fr); gap: 8px 15px; margin: 0; padding: 15px; background: var(--mm-panel); border: 1px solid var(--mm-line); border-radius: 11px; }
.mm-pro-technical dt, .mm-pro-technical dd { margin: 0; font-size: 12px; line-height: 1.55; }
.mm-pro-technical dt { color: var(--mm-muted); }
.mm-pro-technical dd { color: #eaf0f8; word-break: break-word; }
.mm-pro-individual { margin-top: 20px; padding: 13px 15px; color: #d9e7f8; font-size: 13px; line-height: 1.55; background: rgba(22, 136, 255, .08); border-left: 2px solid var(--mm-accent); border-radius: 0 8px 8px 0; }
.mm-pro-actions { display: grid; grid-template-columns: 1.4fr .8fr; gap: 11px; margin-top: 26px; }
.mm-stage1-pro a.mm-pro-button { display: flex; min-height: 49px; align-items: center; justify-content: center; padding: 11px 13px; color: #fff; font-size: 13px; font-weight: 740; text-align: center; text-decoration: none; border-radius: 10px; }
.mm-pro-button-primary { background: var(--mm-accent); }
.mm-pro-button-secondary { background: var(--mm-panel); border: 1px solid var(--mm-line); }
.mm-pro-share { display: block; margin: 14px auto 0; padding: 7px 10px; color: var(--mm-muted); font-size: 12px; background: transparent; border: 0; cursor: pointer; }
.mm-pro-share:hover { color: var(--mm-accent); }
.mm-pro-disclaimer { margin-top: 17px !important; color: var(--mm-muted) !important; font-size: 10px; line-height: 1.6; }
.mm-pro-footer { display: flex; align-items: center; justify-content: space-between; gap: 15px; margin-top: 30px; padding-top: 18px; border-top: 1px solid var(--mm-line); }
.mm-pro-footer strong, .mm-pro-footer span { display: block; }
.mm-pro-footer strong { color: var(--mm-white); font-size: 12px; }
.mm-pro-footer span { margin-top: 4px; color: var(--mm-muted); font-size: 11px; }
.mm-pro-footer .mm-pro-attribution { margin-top: 8px; font-size: 9px; }
.mm-pro-attribution a { color: var(--mm-muted); text-decoration: underline; text-underline-offset: 2px; }
.mm-pro-price { color: var(--mm-accent); font-size: 16px; font-weight: 760; white-space: nowrap; }
[hidden] { display: none !important; }

@media (max-width: 560px) {
  .mm-stage1-pro { width: min(100%, calc(100% - 12px)); margin: 15px auto; border-radius: 17px; }
  .mm-pro-hero { padding: 31px 20px 25px; }
  .mm-pro-body { padding: 23px 19px; }
  .mm-pro-progress { gap: 15px; }
  .mm-pro-select-grid { grid-template-columns: 1fr; gap: 13px; }
  .mm-pro-select-grid select, .mm-pro-search { font-size: 16px; }
  .mm-pro-performance { grid-template-columns: minmax(0, 1fr) 30px minmax(0, 1fr); gap: 6px; padding: 18px 11px; }
  .mm-pro-arrow { font-size: 26px; }
  .mm-pro-actions { grid-template-columns: 1fr; }
  .mm-pro-stage-badge { padding: 7px; font-size: 9px; }
  .mm-pro-technical dl { grid-template-columns: 88px minmax(0, 1fr); gap: 7px 9px; padding: 12px; }
}

@media (prefers-reduced-motion: no-preference) {
  .mm-pro-button, .mm-pro-search-results button, .mm-pro-share { transition: background-color .16s ease, color .16s ease, border-color .16s ease; }
}
