:root{
  --ml-pink:#ff267d;
  --ml-violet:#b987ff;
  --ml-cyan:#00e5ff;
  --ml-green:#62f3ae;
  --ml-amber:#ffd166;
  --ml-bg:#08080e;
  --ml-card:#10101a;
  --ml-line:rgba(255,255,255,.09);
}

#match-lab-section{
  position:relative;
  padding:0 0 96px;
  color:#f7f7fb;
  overflow:hidden;
  overflow:clip;
}

#match-lab-section::before{
  content:"";
  position:absolute;
  inset:-150px -120px auto;
  height:430px;
  pointer-events:none;
  background:
    radial-gradient(circle at 20% 42%,rgba(255,38,125,.16),transparent 42%),
    radial-gradient(circle at 78% 25%,rgba(185,135,255,.13),transparent 38%);
  filter:blur(8px);
}

.ml-shell{
  position:relative;
  width:min(1120px,100%);
  margin:0 auto;
  padding:4px 0 30px;
}

.ml-hero{
  position:relative;
  min-height:210px;
  padding:22px 18px 20px;
  overflow:hidden;
  border:1px solid rgba(255,38,125,.22);
  border-radius:20px;
  background:
    linear-gradient(135deg,rgba(255,38,125,.09),rgba(185,135,255,.045) 52%,rgba(0,229,255,.035)),
    #0b0b13;
  box-shadow:0 20px 55px rgba(0,0,0,.28);
}

.ml-hero::after{
  content:"07";
  position:absolute;
  right:-8px;
  bottom:-42px;
  color:rgba(255,255,255,.025);
  font:900 180px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:-16px;
  pointer-events:none;
}

.ml-kicker,
.ml-micro{
  color:var(--ml-pink);
  font:900 8px/1.4 var(--mono,ui-monospace,monospace);
  letter-spacing:1.5px;
  text-transform:uppercase;
}

.ml-title{
  max-width:720px;
  margin:10px 0 8px;
  color:#fff;
  font:950 clamp(29px,6vw,56px)/.98 var(--sans,Arial,sans-serif);
  letter-spacing:-1.8px;
}

.ml-title span{
  color:transparent;
  background:linear-gradient(90deg,var(--ml-pink),var(--ml-violet));
  -webkit-background-clip:text;
  background-clip:text;
}

.ml-lead{
  max-width:690px;
  margin:0;
  color:#8f909d;
  font:600 11px/1.6 var(--sans,Arial,sans-serif);
}

.ml-hero-badges{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:16px;
}

.ml-badge{
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:6px 9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#aaaab5;
  font:800 7px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.45px;
  text-transform:uppercase;
}

.ml-badge strong{color:#fff}
.ml-badge.safe{border-color:rgba(98,243,174,.2);color:var(--ml-green)}
.ml-badge.play{border-color:rgba(255,209,102,.2);color:var(--ml-amber)}

.ml-progress{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:5px;
  margin:10px 0 14px;
}

.ml-progress-step{
  position:relative;
  min-height:43px;
  padding:8px 8px 7px;
  border:1px solid var(--ml-line);
  border-radius:10px;
  background:rgba(255,255,255,.018);
  color:#62636f;
  font:800 7px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.5px;
  text-transform:uppercase;
}

.ml-progress-step b{
  display:block;
  margin-bottom:4px;
  color:#9596a0;
  font-size:10px;
}

.ml-progress-step.active{
  border-color:rgba(255,38,125,.35);
  color:#ff7cae;
  background:rgba(255,38,125,.065);
}

.ml-progress-step.done{
  border-color:rgba(98,243,174,.25);
  color:var(--ml-green);
}

.ml-concierge{
  position:relative;
  overflow:hidden;
  overflow:clip;
  margin-bottom:10px;
  padding:17px;
  border:1px solid rgba(255,38,125,.24);
  border-radius:18px;
  background:
    radial-gradient(circle at 96% 0,rgba(185,135,255,.12),transparent 38%),
    linear-gradient(145deg,rgba(255,38,125,.055),transparent 54%),
    #0e0e17;
  box-shadow:0 18px 42px rgba(0,0,0,.22);
}

.ml-concierge::after{
  content:"CONCIERGE";
  position:absolute;
  right:-12px;
  top:13px;
  color:rgba(255,255,255,.018);
  font:950 48px/1 var(--sans,Arial,sans-serif);
  letter-spacing:-2px;
  pointer-events:none;
}

.ml-concierge-head{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:15px;
  margin-bottom:14px;
}

.ml-concierge-head span{
  color:var(--ml-pink);
  font:900 7px/1.3 var(--mono,ui-monospace,monospace);
  letter-spacing:1px;
}

.ml-concierge-head h2{
  margin:6px 0 5px;
  color:#fff;
  font:950 22px/1 var(--sans,Arial,sans-serif);
  letter-spacing:-.6px;
}

.ml-concierge-head p{
  max-width:650px;
  margin:0;
  color:#777986;
  font-size:9px;
  line-height:1.55;
}

.ml-concierge-head i{
  color:var(--ml-violet);
  font:400 25px/1 var(--sans,Arial,sans-serif);
}

.ml-wizard-status{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:rgba(255,255,255,.018);
}

.ml-wizard-status > span{
  color:#858793;
  font:900 7px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.65px;
}

.ml-wizard-dots{
  display:flex;
  align-items:center;
  gap:5px;
}

.ml-wizard-dots i{
  width:18px;
  height:3px;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  transition:background .18s ease,width .18s ease;
}

.ml-wizard-dots i.active{
  width:28px;
  background:var(--ml-pink);
}

.ml-wizard-dots i.done{background:var(--ml-green)}

.ml-wizard-panel{
  display:none;
  min-height:290px;
  padding:14px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:14px;
  background:#090910;
}

.ml-wizard-panel.active{
  display:block;
  animation:ml-rise .2s ease both;
}

.ml-wizard-panel.missing{
  border-color:rgba(255,84,112,.42);
  box-shadow:0 0 0 2px rgba(255,84,112,.055);
}

.ml-wizard-question{
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid rgba(255,255,255,.065);
}

.ml-wizard-question > span{
  color:var(--ml-pink);
  font:900 7px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.8px;
}

.ml-wizard-question h3{
  margin:7px 0 5px;
  color:#f7f7fb;
  font:950 18px/1.08 var(--sans,Arial,sans-serif);
  letter-spacing:-.35px;
}

.ml-wizard-question p{
  margin:0;
  color:#656773;
  font:650 8px/1.5 var(--sans,Arial,sans-serif);
}

.ml-wizard-values{
  gap:7px;
  margin-top:4px;
}

.ml-wizard-values .ml-concierge-value{
  min-height:38px;
  padding:9px 12px;
}

.ml-preference-readback{
  margin-top:10px;
  padding:10px 11px;
  border:1px solid rgba(185,135,255,.16);
  border-radius:10px;
  background:rgba(185,135,255,.035);
  color:#8c8498;
  font:700 8px/1.5 var(--sans,Arial,sans-serif);
}

.ml-adaptive-hidden{display:none!important}

.ml-funnel-readback{
  margin-top:9px;
  padding:9px 10px;
  border:1px solid rgba(98,243,174,.13);
  border-radius:10px;
  background:rgba(98,243,174,.025);
  color:#71817c;
  font:700 7px/1.5 var(--sans,Arial,sans-serif);
}

.ml-wizard-takeover{
  margin-top:10px;
  padding:11px;
  border:1px solid rgba(98,243,174,.14);
  border-radius:11px;
  background:rgba(98,243,174,.035);
}

.ml-wizard-takeover b{
  display:block;
  color:var(--ml-green);
  font:900 7px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.65px;
}

.ml-wizard-takeover span{
  display:block;
  margin-top:5px;
  color:#68716f;
  font-size:7px;
  line-height:1.4;
}

.ml-wizard-nav{
  display:grid;
  grid-template-columns:minmax(90px,.65fr) minmax(0,1.35fr);
  gap:7px;
  margin-top:10px;
}

.ml-wizard-nav .ml-button{
  min-height:49px;
}

.ml-wizard-nav .ml-button:disabled{
  opacity:.32;
  cursor:not-allowed;
}

.ml-concierge-input-wrap{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.11);
  border-radius:14px;
  background:#08080e;
  transition:border-color .16s ease,box-shadow .16s ease;
}

.ml-concierge-input-wrap:focus-within{
  border-color:rgba(255,38,125,.45);
  box-shadow:0 0 0 3px rgba(255,38,125,.06);
}

.ml-concierge-brief{
  width:100%;
  min-height:122px;
  display:block;
  padding:13px 13px 34px;
  border:0;
  outline:0;
  resize:vertical;
  box-sizing:border-box;
  background:transparent;
  color:#f4f4f7;
  font:650 12px/1.55 var(--sans,Arial,sans-serif);
}

.ml-concierge-brief::placeholder{color:#444650}

.ml-concierge-hint{
  position:absolute;
  inset:auto 10px 9px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  color:#484a55;
  font:800 6px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.45px;
  pointer-events:none;
}

.ml-concierge-presets{
  display:flex;
  gap:5px;
  margin:8px 0;
  overflow-x:auto;
  scrollbar-width:none;
}

.ml-concierge-presets::-webkit-scrollbar{display:none}

.ml-concierge-presets button{
  flex:0 0 auto;
  min-height:30px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(255,255,255,.025);
  color:#777986;
  font:850 6px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.45px;
  cursor:pointer;
}

.ml-concierge-presets button:hover,
.ml-concierge-presets button:focus-visible{
  border-color:rgba(185,135,255,.28);
  color:#cba9ff;
}

.ml-concierge-main{
  width:100%;
  min-height:48px;
}

.ml-button:disabled{
  opacity:.72;
  cursor:wait;
}

.ml-concierge-questions{
  display:none;
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid rgba(255,255,255,.075);
  scroll-margin-top:82px;
}

.ml-concierge-questions.visible{
  display:block;
  animation:ml-rise .24s ease both;
}

.ml-concierge-understood{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:9px;
  align-items:center;
  margin-bottom:9px;
  padding:10px 11px;
  border:1px solid rgba(98,243,174,.15);
  border-radius:11px;
  background:rgba(98,243,174,.035);
}

.ml-concierge-understood span{
  color:var(--ml-green);
  font:900 7px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.7px;
}

.ml-concierge-understood p{
  margin:0;
  color:#8b918f;
  font-size:8px;
  line-height:1.45;
}

.ml-core-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
}

.ml-auto-context-card,
.ml-guided-hidden{
  display:none!important;
}

body[data-portal="hoes"].portal-guide-locked .ml-concierge-extra,
body[data-portal="hoes"].portal-guide-locked #ml-advanced{
  display:none!important;
}

.ml-core-card{
  padding:12px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:13px;
  background:#090910;
  transition:border-color .16s ease,box-shadow .16s ease;
}

.ml-core-card.missing{
  border-color:rgba(255,84,112,.42);
  box-shadow:0 0 0 2px rgba(255,84,112,.055);
}

.ml-core-label{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:10px;
}

.ml-core-label b{
  width:23px;
  height:23px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:rgba(255,38,125,.09);
  color:var(--ml-pink);
  font:900 8px var(--mono,ui-monospace,monospace);
}

.ml-core-label span{
  color:#d8d8de;
  font:900 8px var(--mono,ui-monospace,monospace);
  letter-spacing:.65px;
}

.ml-core-label em{
  margin-left:auto;
  color:#51535d;
  font:800 6px var(--mono,ui-monospace,monospace);
  font-style:normal;
}

.ml-values-core{margin-top:8px}

.ml-core-help{
  margin:-3px 0 10px;
  color:#61636e;
  font-size:8px;
  line-height:1.45;
}

.ml-concierge-value{
  min-height:34px;
  padding:8px 10px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:999px;
  background:#0d0d15;
  color:#797b86;
  font:850 7px/1 var(--mono,ui-monospace,monospace);
  cursor:pointer;
}

.ml-concierge-value.active{
  border-color:rgba(255,38,125,.4);
  background:rgba(255,38,125,.1);
  color:#ff91bb;
  box-shadow:inset 0 0 16px rgba(255,38,125,.035);
}

.ml-concierge-extra,
.ml-advanced{
  margin-top:8px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:13px;
  background:#090910;
}

.ml-concierge-extra > summary,
.ml-advanced > summary{
  min-height:46px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  list-style:none;
  cursor:pointer;
}

.ml-concierge-extra > summary::-webkit-details-marker,
.ml-advanced > summary::-webkit-details-marker{display:none}

.ml-concierge-extra > summary span,
.ml-advanced > summary span{
  color:#9a9ca6;
  font:900 7px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.6px;
}

.ml-concierge-extra > summary em,
.ml-advanced > summary em{
  color:#4f515a;
  font:750 6px/1.3 var(--mono,ui-monospace,monospace);
  font-style:normal;
  text-align:right;
}

.ml-extra-body{
  padding:0 12px 12px;
  border-top:1px solid rgba(255,255,255,.06);
  padding-top:12px;
}

.ml-mini-upload{
  position:relative;
  min-height:55px;
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:9px;
  padding:10px 11px;
  overflow:hidden;
  border:1px dashed rgba(185,135,255,.22);
  border-radius:11px;
  background:rgba(185,135,255,.035);
  cursor:pointer;
}

.ml-mini-upload input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
}

.ml-mini-upload > span{
  color:var(--ml-violet);
  font-size:23px;
}

.ml-mini-upload b{
  display:block;
  color:#cfcfd7;
  font-size:8px;
}

.ml-mini-upload p{
  margin:4px 0 0;
  color:#686a75;
  font-size:7px;
  line-height:1.35;
}

.ml-concierge-final{
  display:flex;
  flex-direction:column;
  gap:9px;
  margin-top:9px;
  padding:11px;
  border:1px solid rgba(255,38,125,.18);
  border-radius:12px;
  background:linear-gradient(135deg,rgba(255,38,125,.055),rgba(185,135,255,.035));
}

.ml-concierge-final b{
  display:block;
  color:#d9dae0;
  font:900 8px/1.2 var(--mono,ui-monospace,monospace);
}

.ml-concierge-final span{
  display:block;
  margin-top:5px;
  color:#626470;
  font-size:7px;
  line-height:1.4;
}

.ml-concierge-final .ml-button{min-height:47px}

.ml-advanced{
  margin:10px 0;
  background:rgba(255,255,255,.012);
}

.ml-advanced[open]{
  padding:0 10px 10px;
  border-color:rgba(185,135,255,.16);
}

.ml-advanced[open] > summary{
  margin:0 -10px 10px;
  border-bottom:1px solid rgba(255,255,255,.06);
}

.ml-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:10px;
}

.ml-card{
  position:relative;
  padding:15px;
  border:1px solid var(--ml-line);
  border-radius:16px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.018),transparent 55%),
    var(--ml-card);
  box-shadow:0 10px 28px rgba(0,0,0,.16);
}

.ml-card-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
  margin-bottom:12px;
}

.ml-card-number{
  min-width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,38,125,.25);
  border-radius:9px;
  background:rgba(255,38,125,.06);
  color:var(--ml-pink);
  font:900 10px var(--mono,ui-monospace,monospace);
}

.ml-card-title{
  flex:1;
  min-width:0;
}

.ml-card-title h3{
  margin:0;
  color:#f9f9fc;
  font:900 14px/1.1 var(--sans,Arial,sans-serif);
  letter-spacing:-.2px;
}

.ml-card-title p{
  margin:5px 0 0;
  color:#6e707d;
  font:600 8px/1.45 var(--sans,Arial,sans-serif);
}

.ml-form-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}

.ml-field{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.ml-field.span-2{grid-column:1/-1}

.ml-field label{
  color:#767784;
  font:850 7px/1.3 var(--mono,ui-monospace,monospace);
  letter-spacing:.7px;
  text-transform:uppercase;
}

.ml-field label em{
  color:#4c4d56;
  font-style:normal;
}

.ml-input,
.ml-select,
.ml-textarea{
  width:100%;
  min-height:42px;
  padding:9px 11px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:10px;
  outline:none;
  background:#090910;
  color:#f5f5f8;
  font:700 11px/1.3 var(--sans,Arial,sans-serif);
  transition:border-color .16s ease,box-shadow .16s ease;
  box-sizing:border-box;
}

.ml-textarea{
  min-height:70px;
  resize:vertical;
}

.ml-input:focus,
.ml-select:focus,
.ml-textarea:focus{
  border-color:rgba(255,38,125,.48);
  box-shadow:0 0 0 3px rgba(255,38,125,.07);
}

.ml-input::placeholder,
.ml-textarea::placeholder{color:#40414a}

.ml-divider{
  height:1px;
  margin:13px 0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);
}

.ml-subhead{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:4px 0 8px;
  color:#b5b6c0;
  font:900 8px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.8px;
  text-transform:uppercase;
}

.ml-subhead span{
  color:#50515d;
  font-size:6px;
}

.ml-chip-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
}

.ml-chip{
  min-height:31px;
  padding:7px 9px;
  border:1px solid rgba(255,255,255,.085);
  border-radius:999px;
  background:#090910;
  color:#777985;
  font:800 7px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.25px;
  cursor:pointer;
  transition:all .16s ease;
}

.ml-chip:hover,
.ml-chip:focus-visible{
  color:#c8c8ce;
  border-color:rgba(255,255,255,.18);
}

.ml-chip.active{
  border-color:rgba(255,38,125,.38);
  background:rgba(255,38,125,.09);
  color:#ff7cae;
  box-shadow:inset 0 0 14px rgba(255,38,125,.035);
}

.ml-origin-note,
.ml-privacy{
  margin-top:10px;
  padding:10px 11px;
  border:1px solid rgba(98,243,174,.14);
  border-radius:10px;
  background:rgba(98,243,174,.035);
  color:#858b8c;
  font:650 8px/1.5 var(--sans,Arial,sans-serif);
}

.ml-origin-note strong,
.ml-privacy strong{color:var(--ml-green)}

.ml-upload{
  position:relative;
  min-height:178px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px dashed rgba(255,255,255,.14);
  border-radius:14px;
  background:
    linear-gradient(135deg,rgba(185,135,255,.035),rgba(255,38,125,.025)),
    #090910;
  text-align:center;
}

.ml-upload.has-image{
  border-style:solid;
  border-color:rgba(185,135,255,.3);
}

.ml-upload input{
  position:absolute;
  inset:0;
  opacity:0;
  cursor:pointer;
  z-index:3;
}

.ml-upload-copy{
  position:relative;
  z-index:1;
  max-width:230px;
  padding:18px;
  pointer-events:none;
}

.ml-upload-icon{
  display:block;
  margin-bottom:7px;
  font-size:25px;
}

.ml-upload-copy b{
  display:block;
  color:#d7d7df;
  font-size:11px;
}

.ml-upload-copy span{
  display:block;
  margin-top:5px;
  color:#5d5f6a;
  font-size:8px;
  line-height:1.5;
}

#ml-photo-preview{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  display:none;
  object-fit:cover;
  filter:saturate(.92);
}

.ml-upload.has-image #ml-photo-preview{display:block}
.ml-upload.has-image .ml-upload-copy{
  align-self:end;
  width:100%;
  max-width:none;
  padding:32px 12px 10px;
  background:linear-gradient(transparent,rgba(0,0,0,.86));
}
.ml-upload.has-image .ml-upload-icon{display:none}
.ml-upload.has-image .ml-upload-copy b{font-size:9px}
.ml-upload.has-image .ml-upload-copy span{display:none}

.ml-scan-actions{
  display:flex;
  gap:7px;
  margin-top:8px;
}

.ml-button{
  min-height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  padding:9px 13px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;
  background:#12121c;
  color:#d9d9df;
  font:900 8px/1 var(--mono,ui-monospace,monospace);
  letter-spacing:.55px;
  text-transform:uppercase;
  cursor:pointer;
}

.ml-button.primary{
  border-color:rgba(255,38,125,.38);
  background:linear-gradient(135deg,#e61f70,#a63fff);
  color:#fff;
  box-shadow:0 9px 28px rgba(255,38,125,.16);
}

.ml-button.secondary{
  border-color:rgba(185,135,255,.25);
  color:#cba9ff;
  background:rgba(185,135,255,.055);
}

.ml-button.ghost{
  min-width:42px;
  padding:9px;
  color:#666874;
}

.ml-button:disabled{
  opacity:.4;
  cursor:not-allowed;
}

.ml-scan-result{
  display:none;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:9px;
}

.ml-scan-result.visible{display:grid}

.ml-metric{
  min-height:58px;
  padding:9px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:#090910;
}

.ml-metric b{
  display:block;
  color:#e9e9ee;
  font:900 10px/1.25 var(--sans,Arial,sans-serif);
}

.ml-metric span{
  display:block;
  margin-top:5px;
  color:#555762;
  font:800 6px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.6px;
  text-transform:uppercase;
}

.ml-readiness{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}

.ml-ready-item{
  min-height:58px;
  padding:9px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:10px;
  background:#090910;
}

.ml-ready-item::before{
  content:"○";
  display:block;
  color:#454650;
  font-size:12px;
}

.ml-ready-item.ready::before{content:"●";color:var(--ml-green)}
.ml-ready-item b{
  display:block;
  margin-top:4px;
  color:#b8b9c1;
  font-size:9px;
}
.ml-ready-item span{
  display:block;
  margin-top:3px;
  color:#555762;
  font-size:7px;
  line-height:1.35;
}

.ml-generate{
  position:sticky;
  z-index:6;
  bottom:70px;
  display:flex;
  align-items:center;
  gap:8px;
  margin:12px 0;
  padding:9px;
  border:1px solid rgba(255,38,125,.22);
  border-radius:14px;
  background:rgba(8,8,14,.88);
  backdrop-filter:blur(14px);
  box-shadow:0 12px 35px rgba(0,0,0,.34);
}

.ml-generate .ml-button.primary{flex:1;min-height:47px}
.ml-generate-note{
  display:none;
  color:#6d6f79;
  font-size:7px;
  line-height:1.35;
}

.ml-error{
  display:none;
  margin:0 0 10px;
  padding:10px 12px;
  border:1px solid rgba(255,84,112,.25);
  border-radius:10px;
  background:rgba(255,84,112,.055);
  color:#ff8097;
  font:750 8px/1.4 var(--sans,Arial,sans-serif);
}

.ml-error.visible{display:block}

#ml-results{
  display:none;
  margin-top:13px;
  scroll-margin-top:88px;
}

#ml-results.visible{
  display:flex;
  flex-direction:column;
  animation:ml-rise .28s ease both;
}

.ml-master-card{order:2}
#ml-result-hero{order:1}
.ml-after-master-details{order:3}
.ml-workspace-unlock{order:4}

#match-lab-section.ml-has-results .ml-hero,
#match-lab-section.ml-has-results .ml-progress,
#match-lab-section.ml-has-results .ml-error,
#match-lab-section.ml-has-results .ml-concierge,
#match-lab-section.ml-has-results #ml-advanced{
  display:none!important;
}

#match-lab-section.ml-has-results .ml-shell{
  padding-top:0;
}

#match-lab-section.ml-manual-edit .ml-hero,
#match-lab-section.ml-manual-edit .ml-progress,
#match-lab-section.ml-manual-edit .ml-error,
#match-lab-section.ml-manual-edit .ml-concierge{
  display:none!important;
}

.ml-after-master-details{
  margin-top:10px;
  border:1px solid rgba(185,135,255,.17);
  border-radius:15px;
  background:rgba(185,135,255,.025);
  overflow:hidden;
}

.ml-after-master-details > summary{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:13px 14px;
  list-style:none;
  cursor:pointer;
}

.ml-after-master-details > summary::-webkit-details-marker{display:none}

.ml-after-master-details > summary span{
  color:#d9c8f5;
  font:900 8px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.7px;
}

.ml-after-master-details > summary em{
  color:#64616d;
  font:750 7px/1.35 var(--sans,Arial,sans-serif);
  font-style:normal;
  text-align:right;
}

.ml-after-master-details[open] > summary{
  border-bottom:1px solid rgba(255,255,255,.06);
}

.ml-after-master-body{
  display:grid;
  gap:10px;
  padding:10px;
}

.ml-workspace-unlock{
  margin-top:10px;
  padding:15px;
  border:1px solid rgba(98,243,174,.18);
  border-radius:17px;
  background:
    radial-gradient(circle at 100% 0,rgba(98,243,174,.09),transparent 45%),
    #0d1213;
}

.ml-workspace-head span{
  color:var(--ml-green);
  font:900 7px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:1px;
}

.ml-workspace-head h3{
  margin:7px 0 5px;
  color:#fff;
  font:950 20px/1 var(--sans,Arial,sans-serif);
}

.ml-workspace-head p{
  max-width:650px;
  margin:0;
  color:#747b79;
  font-size:8px;
  line-height:1.5;
}

.ml-workspace-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:12px;
}

.ml-workspace-grid button{
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  padding:11px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;
  background:rgba(255,255,255,.025);
  color:#fff;
  text-align:left;
  cursor:pointer;
}

.ml-workspace-grid button i{
  margin-bottom:7px;
  font-size:17px;
  font-style:normal;
}

.ml-workspace-grid button b{
  font:900 7px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.45px;
}

.ml-workspace-grid button span{
  margin-top:4px;
  color:#626a68;
  font-size:7px;
}

.ml-workspace-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}

.ml-workspace-actions .ml-button{
  flex:1;
  min-width:145px;
}

@keyframes ml-rise{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:none}
}

.ml-result-hero{
  position:relative;
  overflow:hidden;
  padding:17px;
  border:1px solid rgba(185,135,255,.22);
  border-radius:17px;
  background:
    radial-gradient(circle at 95% 0,rgba(185,135,255,.16),transparent 43%),
    linear-gradient(145deg,rgba(255,38,125,.08),transparent 55%),
    #0e0e18;
}

.ml-score-row{
  display:grid;
  grid-template-columns:88px 1fr;
  gap:13px;
  align-items:center;
}

.ml-score-ring{
  --score:0;
  position:relative;
  width:88px;
  aspect-ratio:1;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:conic-gradient(var(--ml-pink) calc(var(--score)*1%),rgba(255,255,255,.07) 0);
}

.ml-score-ring::before{
  content:"";
  position:absolute;
  inset:7px;
  border-radius:50%;
  background:#0d0d16;
}

.ml-score-ring b,
.ml-score-ring span{position:relative;z-index:1}

.ml-score-ring b{
  color:#fff;
  font:950 25px/1 var(--sans,Arial,sans-serif);
}

.ml-score-ring span{
  margin-left:1px;
  color:#60626d;
  font:850 7px var(--mono,ui-monospace,monospace);
}

.ml-result-copy h2{
  margin:5px 0 5px;
  color:#fff;
  font:950 20px/1.05 var(--sans,Arial,sans-serif);
  letter-spacing:-.5px;
}

.ml-result-copy p{
  margin:0;
  color:#858692;
  font-size:9px;
  line-height:1.5;
}

.ml-decision-brief{
  margin:12px 0 9px;
  padding:14px;
  border:1px solid rgba(255,38,125,.24);
  border-radius:14px;
  background:
    radial-gradient(circle at 100% 0,rgba(255,38,125,.12),transparent 47%),
    rgba(255,38,125,.035);
}

.ml-decision-tag{
  color:var(--ml-pink);
  font:900 7px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.9px;
}

.ml-decision-brief h4{
  margin:7px 0 6px;
  color:#fff;
  font:950 19px/1.08 var(--sans,Arial,sans-serif);
  letter-spacing:-.45px;
}

.ml-decision-brief p{
  margin:0;
  color:#858793;
  font-size:8px;
  line-height:1.55;
}

.ml-decision-meta{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  margin-top:10px;
}

.ml-decision-meta span{
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  background:rgba(0,0,0,.22);
  color:#8c8e98;
  font:800 6px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.35px;
  text-transform:uppercase;
}

.ml-preference-analysis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-bottom:9px;
}

.ml-insight-card{
  min-height:122px;
  padding:11px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:12px;
  background:#090910;
}

.ml-insight-card.primary{
  border-color:rgba(185,135,255,.22);
  background:rgba(185,135,255,.035);
}

.ml-insight-card span{
  display:block;
  color:#6d6f7a;
  font:900 6px/1.25 var(--mono,ui-monospace,monospace);
  letter-spacing:.55px;
}

.ml-insight-card b{
  display:block;
  margin-top:7px;
  color:#e4e4ea;
  font:900 10px/1.25 var(--sans,Arial,sans-serif);
}

.ml-insight-card p{
  margin:6px 0 0;
  color:#676975;
  font-size:7px;
  line-height:1.5;
}

.ml-section-label{
  margin:14px 0 7px;
  color:#8d8f99;
  font:900 7px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.8px;
}

.ml-city-intelligence{
  margin-top:11px;
  padding:12px;
  border:1px solid rgba(0,229,255,.13);
  border-radius:14px;
  background:
    radial-gradient(circle at 100% 0,rgba(0,229,255,.07),transparent 43%),
    #090d12;
}

.ml-city-intelligence > .ml-section-label{margin-top:0;color:var(--ml-cyan)}

.ml-intel-loading{
  min-height:65px;
  display:grid;
  place-items:center;
  color:#58666a;
  font:900 7px/1.3 var(--mono,ui-monospace,monospace);
  letter-spacing:.7px;
}

.ml-intel-stats{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
}

.ml-intel-stats > div{
  min-height:64px;
  padding:9px;
  border:1px solid rgba(255,255,255,.065);
  border-radius:10px;
  background:rgba(0,0,0,.22);
}

.ml-intel-stats b{
  display:block;
  color:#e5f8fb;
  font:950 13px/1.2 var(--sans,Arial,sans-serif);
}

.ml-intel-stats span{
  display:block;
  margin-top:5px;
  color:#526267;
  font:850 6px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.45px;
}

.ml-intel-scope{
  margin:9px 0;
  color:#68777b;
  font-size:7px;
  line-height:1.5;
}

.ml-intel-columns{
  display:grid;
  grid-template-columns:1fr;
  gap:9px;
}

.ml-intel-columns h5{
  margin:0 0 6px;
  color:#6f8085;
  font:900 6px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.65px;
}

.ml-intel-lead{
  display:block;
  margin-top:6px;
  padding:10px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:10px;
  background:rgba(255,255,255,.018);
  color:inherit;
  text-decoration:none;
}

.ml-intel-lead.event{border-color:rgba(255,214,0,.12)}

.ml-intel-lead span{
  display:block;
  color:#5c777e;
  font:900 6px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.45px;
}

.ml-intel-lead.event span{color:#8d7a3a}

.ml-intel-lead b{
  display:block;
  margin-top:5px;
  color:#d9dde0;
  font-size:9px;
  line-height:1.35;
}

.ml-intel-lead p{
  margin:5px 0 0;
  color:#5f686c;
  font-size:7px;
  line-height:1.4;
}

.ml-intel-empty{
  min-height:70px;
  display:flex;
  align-items:center;
  padding:10px;
  border:1px dashed rgba(255,255,255,.08);
  border-radius:10px;
  color:#5c6366;
  font-size:7px;
  line-height:1.5;
}

.ml-route-summary{margin:2px 0 4px}

.ml-route-live{
  min-height:34px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px 10px;
  border:1px solid rgba(98,243,174,.13);
  border-radius:9px;
  background:rgba(98,243,174,.025);
}

.ml-route-live span{
  color:var(--ml-green);
  font:900 6px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.6px;
}

.ml-route-live b{
  color:#858b89;
  font:850 6px/1.2 var(--mono,ui-monospace,monospace);
  text-align:right;
}

.ml-route-decision{
  margin-top:7px;
  padding:13px;
  border:1px solid rgba(255,38,125,.2);
  border-radius:12px;
  background:
    radial-gradient(circle at 100% 0,rgba(185,135,255,.11),transparent 46%),
    rgba(255,38,125,.035);
}

.ml-route-decision span{
  color:var(--ml-pink);
  font:900 6px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.8px;
}

.ml-route-decision h4{
  margin:6px 0 4px;
  color:#fff;
  font:950 18px/1.05 var(--sans,Arial,sans-serif);
  letter-spacing:-.45px;
}

.ml-route-decision p{
  margin:0;
  color:#777985;
  font-size:8px;
  line-height:1.45;
}

.ml-route-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:7px;
  margin-top:7px;
}

.ml-route-card{
  min-height:105px;
  display:flex;
  flex-direction:column;
  padding:11px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:11px;
  background:#090910;
  color:inherit;
  text-decoration:none;
}

.ml-route-card.primary{
  border-color:rgba(255,38,125,.28);
  background:rgba(255,38,125,.035);
}

.ml-route-card.look{border-color:rgba(185,135,255,.17)}

.ml-route-card span{
  color:#666874;
  font:850 6px/1.2 var(--mono,ui-monospace,monospace);
  letter-spacing:.5px;
}

.ml-route-card.primary span{color:#ff7fac}

.ml-route-card b{
  display:block;
  margin-top:7px;
  color:#dedee4;
  font-size:10px;
}

.ml-route-card p{
  margin:4px 0 8px;
  color:#646671;
  font-size:7px;
  line-height:1.4;
}

.ml-route-card em{
  margin-top:auto;
  color:#777985;
  font:900 6px/1.2 var(--mono,ui-monospace,monospace);
  font-style:normal;
  letter-spacing:.45px;
}

.ml-route-card.primary em{color:var(--ml-pink)}

.ml-score-breakdown{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:6px;
  margin-top:13px;
}

.ml-score-part{
  padding:8px 9px;
  border:1px solid rgba(255,255,255,.07);
  border-radius:9px;
  background:rgba(0,0,0,.18);
}

.ml-score-part b{
  display:flex;
  justify-content:space-between;
  gap:8px;
  color:#a4a5af;
  font:850 7px/1.3 var(--mono,ui-monospace,monospace);
}

.ml-score-bar{
  height:3px;
  margin-top:6px;
  overflow:hidden;
  border-radius:99px;
  background:rgba(255,255,255,.06);
}

.ml-score-bar i{
  display:block;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--ml-pink),var(--ml-violet));
}

.ml-num-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:7px;
  margin-top:10px;
}

.ml-num-card{
  min-height:112px;
  padding:11px;
  border:1px solid rgba(255,255,255,.075);
  border-radius:12px;
  background:#0a0a11;
}

.ml-num-card strong{
  display:block;
  color:var(--ml-violet);
  font:950 25px/1 var(--sans,Arial,sans-serif);
}

.ml-num-card b{
  display:block;
  margin-top:6px;
  color:#dadbe1;
  font-size:9px;
}

.ml-num-card p{
  margin:5px 0 0;
  color:#646671;
  font-size:7px;
  line-height:1.45;
}

.ml-disclaimer{
  margin-top:8px;
  color:#4f505a;
  font:650 7px/1.45 var(--sans,Arial,sans-serif);
}

.ml-capsule{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(238px,78%);
  gap:9px;
  margin:10px -15px 0;
  padding:0 15px 5px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
}

.ml-capsule::-webkit-scrollbar{display:none}

.ml-look{
  position:relative;
  min-height:390px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.09);
  border-radius:15px;
  background:#090910;
  scroll-snap-align:start;
}

.ml-look.recommended{
  border-color:rgba(255,38,125,.48);
  box-shadow:0 0 0 2px rgba(255,38,125,.07),0 16px 35px rgba(0,0,0,.25);
}

.ml-look img{
  width:100%;
  height:270px;
  display:block;
  object-fit:cover;
  object-position:center 35%;
}

.ml-look-overlay{
  position:absolute;
  inset:0 0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
  padding:9px;
  background:linear-gradient(rgba(0,0,0,.72),transparent);
}

.ml-look-no,
.ml-look-pick{
  display:inline-flex;
  min-height:23px;
  align-items:center;
  padding:5px 7px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:999px;
  background:rgba(0,0,0,.5);
  backdrop-filter:blur(8px);
  color:#c8c9d0;
  font:900 6px var(--mono,ui-monospace,monospace);
  letter-spacing:.6px;
}

.ml-look-pick{display:none;border-color:rgba(255,38,125,.45);color:#ff8cb8}
.ml-look.recommended .ml-look-pick{display:inline-flex}

.ml-look-body{padding:11px}
.ml-look-body h4{
  margin:0;
  color:#fff;
  font:900 13px/1.2 var(--sans,Arial,sans-serif);
}
.ml-look-body p{
  min-height:34px;
  margin:5px 0 8px;
  color:#6d6f7a;
  font-size:7px;
  line-height:1.45;
}
.ml-look-tags{display:flex;flex-wrap:wrap;gap:4px}
.ml-look-tags span{
  padding:4px 5px;
  border-radius:5px;
  background:rgba(255,255,255,.04);
  color:#787a85;
  font:800 6px var(--mono,ui-monospace,monospace);
}
.ml-look-actions{
  display:flex;
  gap:5px;
  margin-top:9px;
}
.ml-look-actions .ml-button{
  flex:1;
  min-height:31px;
  padding:6px;
  font-size:6px;
}

.ml-plan{
  margin-top:10px;
  counter-reset:mission;
}

.ml-plan-step{
  position:relative;
  min-height:76px;
  margin-left:16px;
  padding:11px 11px 11px 27px;
  border-left:1px solid rgba(255,38,125,.24);
}

.ml-plan-step::before{
  counter-increment:mission;
  content:counter(mission);
  position:absolute;
  left:-16px;
  top:10px;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,38,125,.34);
  border-radius:50%;
  background:#0d0d16;
  color:var(--ml-pink);
  font:900 8px var(--mono,ui-monospace,monospace);
}

.ml-plan-step b{
  display:block;
  color:#dddde4;
  font-size:10px;
}

.ml-plan-step p{
  margin:5px 0 0;
  color:#6f717c;
  font-size:8px;
  line-height:1.5;
}

.ml-message-box{
  margin-top:9px;
  padding:11px;
  border:1px solid rgba(0,229,255,.13);
  border-radius:11px;
  background:rgba(0,229,255,.025);
}

.ml-message-box b{
  display:block;
  color:var(--ml-cyan);
  font:900 7px var(--mono,ui-monospace,monospace);
  letter-spacing:.7px;
}

.ml-message-box p{
  margin:7px 0 0;
  color:#b6b8c0;
  font-size:9px;
  line-height:1.55;
}

.ml-guardrail{
  margin-top:10px;
  padding:10px;
  border:1px solid rgba(98,243,174,.13);
  border-radius:10px;
  background:rgba(98,243,174,.025);
  color:#7b8582;
  font-size:8px;
  line-height:1.5;
}
.ml-guardrail strong{color:var(--ml-green)}

.ml-result-actions{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}

.ml-result-actions .ml-button{flex:1;min-width:132px}

.portal-module-card[data-module="match"]{--module-color:#ff8ab8}

@media (min-width:700px){
  .ml-shell{padding-top:10px}
  .ml-concierge{padding:20px}
  .ml-wizard-panel{min-height:275px;padding:18px}
  .ml-core-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ml-concierge-final{flex-direction:row;align-items:center;justify-content:space-between}
  .ml-concierge-final .ml-button{min-width:230px}
  .ml-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ml-card.wide{grid-column:1/-1}
  .ml-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ml-readiness{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ml-scan-result{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ml-generate-note{display:block;max-width:240px}
  .ml-score-breakdown{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ml-preference-analysis{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ml-intel-stats{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ml-intel-columns{grid-template-columns:repeat(2,minmax(0,1fr))}
  .ml-route-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ml-num-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
  .ml-capsule{
    grid-auto-flow:initial;
    grid-template-columns:repeat(3,minmax(0,1fr));
    margin:10px 0 0;
    padding:0;
    overflow:visible;
  }
  .ml-look{min-height:405px}
  .ml-look img{height:285px}
}

@media (max-width:430px){
  #match-lab-section{padding-bottom:84px}
  .ml-hero{min-height:194px;padding:18px 14px}
  .ml-title{font-size:31px}
  .ml-concierge{padding:13px}
  .ml-concierge::after{font-size:38px}
  .ml-concierge-head h2{font-size:20px}
  .ml-wizard-panel{min-height:330px;padding:12px}
  .ml-wizard-question h3{font-size:17px}
  .ml-wizard-nav{grid-template-columns:94px minmax(0,1fr)}
  .ml-preference-analysis{grid-template-columns:1fr}
  .ml-insight-card{min-height:auto}
  .ml-decision-brief h4{font-size:17px}
  .ml-concierge-hint span{max-width:72%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ml-concierge-extra > summary,
  .ml-advanced > summary{align-items:flex-start;flex-direction:column}
  .ml-concierge-extra > summary em,
  .ml-advanced > summary em{text-align:left}
  .ml-progress-step{padding:7px 6px;font-size:6px}
  .ml-progress-step b{font-size:9px}
  .ml-card{padding:13px}
  .ml-capsule{margin-left:-13px;margin-right:-13px;padding-left:13px;padding-right:13px}
}

@media (prefers-reduced-motion:reduce){
  #ml-results.visible{animation:none}
  .ml-chip,.ml-input,.ml-select,.ml-button{transition:none}
}
