.connectorHero { padding: 84px 0 78px; border-bottom: 1px solid var(--line); }
.connectorHeroGrid { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr); gap: 64px; align-items: center; }
.connectorSignal { padding: 26px; background: linear-gradient(145deg, rgba(14,31,22,.96), rgba(7,19,13,.9)); border: 1px solid var(--line-strong); border-radius: var(--radius); box-shadow: 0 32px 80px rgba(0,0,0,.28); }
.connectorSignalHead { display: flex; justify-content: space-between; gap: 18px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.connectorSignalHead span, .connectorMetric span { color: var(--mint); font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; }
.connectorSignalHead strong { max-width: 18ch; text-align: right; font-size: .92rem; }
.connectorPath { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr auto 1.25fr; gap: 7px; align-items: center; padding: 26px 0; }
.connectorPath span { min-height: 74px; display: flex; align-items: center; justify-content: center; padding: 10px; color: #c7d2cb; background: rgba(2,10,6,.72); border: 1px solid var(--line-strong); border-radius: 9px; text-align: center; font-size: .75rem; }
.connectorPath b { color: var(--lime); font-family: var(--mono); font-weight: 400; }
.connectorMetric { padding: 16px; background: var(--lime-soft); border: 1px solid rgba(189,255,55,.18); border-radius: 10px; }
.connectorMetric strong { display: block; margin-top: 8px; font-size: .88rem; line-height: 1.45; }
.preflightGrid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr); gap: 18px; align-items: start; }
.preflightForm, .preflightExplain { padding: 28px; }
.preflightForm fieldset { margin: 0 0 26px; padding: 0; border: 0; }
.preflightForm legend, .preflightForm label { display: block; margin-bottom: 10px; color: var(--text); font-weight: 650; }
.modeGrid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 9px; }
.modeOption { position: relative; margin: 0 !important; cursor: pointer; }
.modeOption input { position: absolute; opacity: 0; pointer-events: none; }
.modeOption span { display: block; min-height: 78px; padding: 14px; background: rgba(2,10,6,.52); border: 1px solid var(--line-strong); border-radius: 10px; transition: border-color 140ms ease, background 140ms ease; }
.modeOption strong, .modeOption small { display: block; }
.modeOption small { margin-top: 3px; color: var(--faint); font-size: .75rem; }
.modeOption input:checked + span { background: var(--lime-soft); border-color: rgba(189,255,55,.5); box-shadow: inset 0 0 0 1px rgba(189,255,55,.08); }
.modeOption input:focus-visible + span { outline: 2px solid var(--lime); outline-offset: 3px; }
.inputPanel input, .inputPanel textarea { width: 100%; color: var(--text); background: #030b07; border: 1px solid var(--line-strong); border-radius: 10px; font: inherit; }
.inputPanel input { min-height: 50px; padding: 12px 14px; }
.inputPanel textarea { min-height: 260px; padding: 14px; resize: vertical; font-family: var(--mono); font-size: .78rem; line-height: 1.55; }
.inputPanel input:focus, .inputPanel textarea:focus { outline: none; border-color: rgba(189,255,55,.55); box-shadow: 0 0 0 3px rgba(189,255,55,.06); }
.fieldHint { margin: 9px 0 0; color: var(--faint); font-size: .78rem; }
.connectorBoundary { margin-top: 20px; }
.connectorBoundary code { color: var(--mint); font-family: var(--mono); }
.preflightActions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.preflightStatus { margin: 14px 0 0; color: var(--faint); font-family: var(--mono); font-size: .73rem; }
.preflightStatus.error { color: var(--red); }
.checkRows > div { position: relative; padding: 18px 0 18px 46px; border-bottom: 1px solid var(--line); }
.checkRows > div:last-child { border-bottom: 0; }
.checkRows span { position: absolute; left: 0; top: 20px; color: var(--lime); font-family: var(--mono); font-size: .7rem; }
.checkRows strong { display: block; font-size: .95rem; }
.checkRows p { margin: 4px 0 0; color: var(--muted); font-size: .82rem; }
.resultsSection { padding-top: 78px; }
.resultsHead { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin-bottom: 26px; }
.resultsHead .sub { margin-bottom: 0; word-break: break-word; }
.resultActions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.scoreGrid { display: grid; grid-template-columns: 1.35fr repeat(4, 1fr); gap: 10px; margin-bottom: 18px; }
.scoreCard { min-height: 132px; padding: 18px; background: rgba(10,23,17,.72); border: 1px solid var(--line); border-radius: 13px; }
.scoreCard span, .scoreCard small, .scoreCard strong { display: block; }
.scoreCard span { color: var(--faint); font-family: var(--mono); font-size: .64rem; letter-spacing: .07em; text-transform: uppercase; }
.scoreCard strong { margin: 14px 0 7px; font-family: var(--display); font-size: 2.3rem; line-height: 1; }
.scoreCard small { color: var(--muted); font-size: .72rem; }
.primaryScore { border-color: rgba(189,255,55,.35); background: linear-gradient(145deg, rgba(189,255,55,.1), rgba(8,20,14,.72)); }
.primaryScore strong { color: var(--lime); font-size: 3rem; }
.resultsGrid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr); gap: 18px; margin-bottom: 18px; }
.findingsPanel, .readinessPanel, .toolPanel, .assessmentCta { padding: 26px; }
.panelTitle { display: flex; align-items: start; justify-content: space-between; gap: 16px; padding-bottom: 16px; border-bottom: 1px solid var(--line); }
.panelTitle span:first-child { color: var(--mint); font-family: var(--mono); font-size: .65rem; letter-spacing: .1em; }
.panelTitle h3 { margin: 4px 0 0; font-size: 1.2rem; }
.finding { padding: 18px 0; border-bottom: 1px solid var(--line); }
.finding:last-child { border-bottom: 0; }
.findingTop { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.severity { display: inline-flex; padding: 4px 7px; border-radius: 999px; font-family: var(--mono); font-size: .62rem; letter-spacing: .06em; text-transform: uppercase; }
.severity.critical, .severity.high { color: #ffd4d6; background: var(--red-soft); border: 1px solid rgba(255,107,115,.24); }
.severity.medium { color: #ffe9ad; background: var(--amber-soft); border: 1px solid rgba(255,209,102,.22); }
.severity.low, .severity.info { color: #bbf2d7; background: var(--mint-soft); border: 1px solid rgba(129,223,189,.18); }
.finding h4 { margin: 0; font-size: .98rem; }
.finding p { margin: 7px 0 0; color: var(--muted); font-size: .8rem; }
.finding p strong { color: #dce5df; }
.affectedTools { margin-top: 8px; color: var(--faint); font-family: var(--mono); font-size: .68rem; word-break: break-word; }
.readinessItem { display: grid; grid-template-columns: 1fr auto; gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.readinessItem span { color: var(--muted); font-size: .8rem; }
.readinessItem strong { font-family: var(--mono); font-size: .68rem; text-transform: uppercase; }
.signal-good { color: var(--mint); } .signal-warn { color: var(--amber); } .signal-bad { color: var(--red); } .signal-neutral { color: var(--faint); }
.resultBoundary { margin: 18px 0 0; padding: 14px; color: var(--faint); background: rgba(255,255,255,.018); border: 1px solid var(--line); border-radius: 10px; font-size: .74rem; }
.toolPanel { margin-bottom: 18px; }
.toolTableWrap { overflow-x: auto; }
.toolTable { width: 100%; border-collapse: collapse; font-size: .78rem; }
.toolTable th, .toolTable td { padding: 13px 10px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.toolTable th { color: var(--faint); font-family: var(--mono); font-size: .63rem; letter-spacing: .07em; text-transform: uppercase; }
.toolTable td:first-child { color: var(--text); font-family: var(--mono); word-break: break-word; }
.classChips { display: flex; flex-wrap: wrap; gap: 4px; }
.classChip { display: inline-flex; padding: 3px 6px; color: #b8c3bc; background: rgba(255,255,255,.025); border: 1px solid var(--line); border-radius: 999px; font-size: .64rem; }
.riskMeter { min-width: 110px; }
.riskMeter b { display: block; margin-bottom: 5px; color: var(--text); }
.riskBar { height: 4px; background: rgba(255,255,255,.06); border-radius: 999px; overflow: hidden; }
.riskBar span { display: block; height: 100%; background: var(--lime); }
.controlText { color: var(--muted); }
.assessmentCta { display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.assessmentCta h2 { max-width: 20ch; margin-top: 7px; font-size: clamp(1.8rem,3vw,2.8rem); }
.assessmentCta .sub { margin-bottom: 0; }
@media (max-width: 980px) {
  .connectorHeroGrid, .preflightGrid, .resultsGrid { grid-template-columns: 1fr; }
  .scoreGrid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .primaryScore { grid-column: span 2; }
  .resultsHead, .assessmentCta { align-items: flex-start; flex-direction: column; }
  .resultActions { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .connectorHero { padding-top: 58px; }
  .modeGrid, .scoreGrid { grid-template-columns: 1fr; }
  .primaryScore { grid-column: auto; }
  .connectorPath { grid-template-columns: 1fr; }
  .connectorPath b { transform: rotate(90deg); text-align: center; }
  .preflightForm, .preflightExplain, .findingsPanel, .readinessPanel, .toolPanel, .assessmentCta { padding: 20px; }
}