    /* ── Sweep demo card ───────────────────────────────────────── */
    .sweep-demo-section {
      max-width: 920px;
      margin: 0 auto 56px;
      padding: 0 24px;
    }
    .sweep-demo-label {
      text-align: center;
      margin-bottom: 14px;
      font-size: 12px;
      letter-spacing: .12em;
      text-transform: uppercase;
      color: var(--color-muted, #888);
    }
    .sweep-card {
      background: #080c12;
      border-radius: 14px;
      border: 1px solid #1a2436;
      overflow: hidden;
      box-shadow: 0 24px 80px rgba(0,0,0,.55), 0 0 0 1px rgba(0,230,118,.04);
    }

    /* Chrome bar */
    .sweep-chrome {
      background: #0c1220;
      border-bottom: 1px solid #1a2436;
      padding: 10px 16px;
      display: flex;
      align-items: center;
      gap: 12px;
      flex-wrap: wrap;
    }
    .sweep-chrome-dots {
      display: flex;
      gap: 6px;
      flex-shrink: 0;
    }
    .sweep-chrome-dots span {
      width: 11px; height: 11px; border-radius: 50%;
    }
    .sweep-chrome-dots span:nth-child(1) { background: #ff5f57; }
    .sweep-chrome-dots span:nth-child(2) { background: #febc2e; }
    .sweep-chrome-dots span:nth-child(3) { background: #28c840; }
    .sweep-chrome-title {
      font-family: 'Courier New', monospace;
      font-size: 11px;
      letter-spacing: .06em;
      color: #4a7a9b;
      flex: 1;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .sweep-chrome-badge {
      font-family: 'Courier New', monospace;
      font-size: 10px;
      letter-spacing: .08em;
      background: rgba(0,230,118,.1);
      border: 1px solid rgba(0,230,118,.25);
      color: #00e676;
      padding: 2px 8px;
      border-radius: 4px;
      flex-shrink: 0;
    }

    /* Body — no fixed height; grows naturally as content is revealed.
       The JS auto-scroll follows the animation and stops when it ends. */
    .sweep-body {
      padding: 20px 22px 24px;
      font-family: 'Courier New', Courier, monospace;
      font-size: 12.5px;
      line-height: 1.6;
      color: #8fa8c0;
    }

    /* Section blocks */
    .sweep-section {
      margin-bottom: 20px;
    }
    .sweep-section-header {
      font-size: 10px;
      letter-spacing: .14em;
      text-transform: uppercase;
      color: #2e4a66;
      border-bottom: 1px solid #101c2a;
      padding-bottom: 4px;
      margin-bottom: 12px;
    }
    .sweep-section-header.green { color: #00c85a; border-color: rgba(0,200,90,.2); }
    .sweep-section-header.amber { color: #e6a817; border-color: rgba(230,168,23,.2); }
    .sweep-section-header.red   { color: #e84040; border-color: rgba(232,64,64,.2); }
    .sweep-section-header.blue  { color: #4a8fc7; border-color: rgba(74,143,199,.2); }

    /* Subject input grid */
    .sweep-fields {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 4px 32px;
    }
    @media (max-width: 540px) { .sweep-fields { grid-template-columns: 1fr; } }
    .sweep-field {
      display: flex;
      align-items: baseline;
      gap: 6px;
      min-height: 20px;
    }
    .sweep-field-key {
      font-size: 10px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: #2e4a66;
      width: 80px;
      flex-shrink: 0;
    }
    .sweep-field-sep {
      color: #1a2a3a;
      flex-shrink: 0;
    }
    .sweep-field-val {
      color: #c8daea;
      letter-spacing: .02em;
    }
    .sweep-cursor {
      display: inline-block;
      width: 7px; height: 13px;
      background: #00e676;
      vertical-align: middle;
      animation: blink .7s step-end infinite;
    }
    .sweep-cursor.hidden { display: none; }
    @keyframes blink { 0%,100%{opacity:1} 50%{opacity:0} }

    /* Module init list */
    .sweep-modules {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 3px 24px;
    }
    @media (max-width: 540px) { .sweep-modules { grid-template-columns: 1fr; } }
    .sweep-module-row {
      display: flex;
      align-items: center;
      gap: 8px;
      opacity: 0;
      transform: translateX(-6px);
      transition: opacity .25s ease, transform .25s ease;
    }
    .sweep-module-row.visible {
      opacity: 1;
      transform: none;
    }
    .sweep-module-dot {
      width: 6px; height: 6px; border-radius: 50%;
      background: #00e676;
      flex-shrink: 0;
      box-shadow: 0 0 6px #00e676;
    }
    .sweep-module-name {
      font-size: 11.5px;
      color: #7faacc;
      letter-spacing: .04em;
    }
    .sweep-module-check {
      margin-left: auto;
      color: #00e676;
      font-size: 11px;
    }

    .sweep-init-status {
      margin-top: 12px;
      padding: 8px 12px;
      background: rgba(0,230,118,.07);
      border: 1px solid rgba(0,230,118,.2);
      border-radius: 6px;
      color: #00e676;
      font-size: 12px;
      letter-spacing: .06em;
      opacity: 0;
      transition: opacity .4s ease;
    }
    .sweep-init-status.visible { opacity: 1; }

    /* Parallel scan bars */
    .sweep-scan-rows {
      display: flex;
      flex-direction: column;
      gap: 9px;
    }
    .sweep-scan-row {
      display: grid;
      grid-template-columns: 180px 1fr 52px 100px;
      align-items: center;
      gap: 10px;
      opacity: 0;
      transition: opacity .3s ease;
    }
    @media (max-width: 640px) {
      .sweep-scan-row { grid-template-columns: 130px 1fr 40px; }
      .sweep-scan-status { display: none; }
    }
    .sweep-scan-row.visible { opacity: 1; }
    .sweep-scan-label {
      font-size: 10.5px;
      letter-spacing: .07em;
      color: #4a7a9b;
      text-transform: uppercase;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .sweep-scan-bar-wrap {
      background: #0e1a28;
      border-radius: 3px;
      height: 6px;
      overflow: hidden;
    }
    .sweep-scan-bar-fill {
      height: 100%;
      width: 0%;
      border-radius: 3px;
      background: linear-gradient(90deg, #00c85a, #00e676);
      transition: width linear;
    }
    .sweep-scan-bar-fill.done {
      background: linear-gradient(90deg, #00a048, #00c85a);
    }
    .sweep-scan-pct {
      font-size: 11px;
      color: #4a7a9b;
      text-align: right;
      font-variant-numeric: tabular-nums;
    }
    .sweep-scan-status {
      font-size: 10px;
      letter-spacing: .04em;
      white-space: nowrap;
    }
    .sweep-scan-status.hit { color: #e6a817; }
    .sweep-scan-status.done-ok { color: #00e676; }
    .sweep-scan-status.scanning { color: #4a7a9b; }
    .sweep-scan-status.flag { color: #e84040; }

    /* Live log */
    .sweep-log {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .sweep-log-row {
      display: flex;
      gap: 10px;
      align-items: baseline;
      padding: 2px 0;
      opacity: 0;
      transform: translateY(4px);
      transition: opacity .2s ease, transform .2s ease;
    }
    .sweep-log-row.visible {
      opacity: 1;
      transform: none;
    }
    .sweep-log-time {
      font-size: 10.5px;
      color: #2e4a66;
      flex-shrink: 0;
      font-variant-numeric: tabular-nums;
    }
    .sweep-log-tag {
      font-size: 10px;
      letter-spacing: .07em;
      font-weight: 700;
      width: 60px;
      flex-shrink: 0;
      text-align: right;
    }
    .sweep-log-tag.match { color: #00c85a; }
    .sweep-log-tag.found { color: #4a8fc7; }
    .sweep-log-tag.flag  { color: #e84040; }
    .sweep-log-tag.breach{ color: #e84040; }
    .sweep-log-tag.dark  { color: #9b59b6; }
    .sweep-log-tag.scan  { color: #e6a817; }
    .sweep-log-tag.query { color: #2e4a66; }
    .sweep-log-text {
      font-size: 11.5px;
      color: #7faacc;
      flex: 1;
    }
    .sweep-log-text .hl { color: #c8daea; }
    .sweep-log-text .warn { color: #e84040; }
    .sweep-log-text .amber { color: #e6a817; }
    .sweep-log-text .green { color: #00c85a; }
    .sweep-log-text .purple { color: #b27fe8; }

    /* Identity graph */
    .sweep-graph {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: flex-start;
    }
    .sweep-graph-center {
      display: flex;
      align-items: center;
      gap: 10px;
      background: rgba(0,200,90,.07);
      border: 1px solid rgba(0,200,90,.25);
      border-radius: 8px;
      padding: 10px 14px;
      width: 100%;
      opacity: 0;
      transform: scale(.97);
      transition: opacity .3s ease, transform .3s ease;
    }
    .sweep-graph-center.visible { opacity: 1; transform: none; }
    .sweep-graph-center-icon {
      font-size: 20px;
    }
    .sweep-graph-center-name {
      color: #c8daea;
      font-size: 13px;
      letter-spacing: .04em;
    }
    .sweep-graph-center-meta {
      font-size: 10.5px;
      color: #4a7a9b;
      margin-top: 1px;
    }
    .sweep-graph-clusters {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      width: 100%;
    }
    .sweep-graph-cluster {
      background: #0c1828;
      border: 1px solid #1a2e44;
      border-radius: 8px;
      padding: 9px 12px;
      min-width: 150px;
      flex: 1;
      opacity: 0;
      transform: translateY(6px);
      transition: opacity .25s ease, transform .25s ease;
    }
    .sweep-graph-cluster.visible { opacity: 1; transform: none; }
    .sweep-graph-cluster-label {
      font-size: 9.5px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: #2e4a66;
      margin-bottom: 7px;
      border-bottom: 1px solid #0e1a28;
      padding-bottom: 4px;
    }
    .sweep-graph-node {
      display: flex;
      align-items: center;
      gap: 6px;
      padding: 2px 0;
      opacity: 0;
      transition: opacity .2s ease;
    }
    .sweep-graph-node.visible { opacity: 1; }
    .sweep-graph-node-dot {
      width: 5px; height: 5px; border-radius: 50%;
      flex-shrink: 0;
    }
    .sweep-graph-node-dot.green  { background: #00c85a; }
    .sweep-graph-node-dot.blue   { background: #4a8fc7; }
    .sweep-graph-node-dot.amber  { background: #e6a817; }
    .sweep-graph-node-dot.red    { background: #e84040; }
    .sweep-graph-node-dot.purple { background: #b27fe8; }
    .sweep-graph-node-text {
      font-size: 11px;
      color: #7faacc;
    }
    .sweep-graph-node-text.flag { color: #e84040; }

    /* Alert flags */
    .sweep-flags {
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .sweep-flag-card {
      background: rgba(232,64,64,.06);
      border: 1px solid rgba(232,64,64,.25);
      border-left: 3px solid #e84040;
      border-radius: 6px;
      padding: 10px 14px;
      opacity: 0;
      transform: translateX(-6px);
      transition: opacity .3s ease, transform .3s ease;
    }
    .sweep-flag-card.amber {
      background: rgba(230,168,23,.06);
      border-color: rgba(230,168,23,.25);
      border-left-color: #e6a817;
    }
    .sweep-flag-card.visible { opacity: 1; transform: none; }
    .sweep-flag-title {
      font-size: 11.5px;
      color: #e84040;
      letter-spacing: .04em;
      margin-bottom: 3px;
    }
    .sweep-flag-card.amber .sweep-flag-title { color: #e6a817; }
    .sweep-flag-body {
      font-size: 11px;
      color: #7faacc;
    }

    /* Compilation */
    .sweep-compile-stats {
      display: flex;
      gap: 32px;
      margin-bottom: 12px;
      flex-wrap: wrap;
    }
    .sweep-compile-stat {
      display: flex;
      flex-direction: column;
      gap: 2px;
    }
    .sweep-compile-stat-label {
      font-size: 9.5px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: #2e4a66;
    }
    .sweep-compile-stat-value {
      font-size: 20px;
      color: #00e676;
      font-variant-numeric: tabular-nums;
    }
    .sweep-compile-log {
      margin-bottom: 12px;
      display: flex;
      flex-direction: column;
      gap: 3px;
    }
    .sweep-compile-log-line {
      font-size: 11px;
      color: #4a7a9b;
      opacity: 0;
      transition: opacity .25s ease;
    }
    .sweep-compile-log-line.visible { opacity: 1; }
    .sweep-compile-progress-wrap {
      background: #0e1a28;
      border-radius: 4px;
      height: 8px;
      overflow: hidden;
      margin-bottom: 6px;
    }
    .sweep-compile-progress-fill {
      height: 100%;
      width: 0%;
      background: linear-gradient(90deg, #00843a, #00e676);
      transition: width 2.4s cubic-bezier(.25,.8,.25,1);
      border-radius: 4px;
    }
    .sweep-compile-pct {
      font-size: 11px;
      color: #2e4a66;
      text-align: right;
    }

    /* Final report */
    .sweep-report {
      background: linear-gradient(135deg, rgba(0,120,60,.08), rgba(0,60,100,.08));
      border: 1px solid rgba(0,200,90,.2);
      border-radius: 10px;
      padding: 18px 20px;
      opacity: 0;
      transform: translateY(8px);
      transition: opacity .5s ease, transform .5s ease;
    }
    .sweep-report.visible { opacity: 1; transform: none; }
    .sweep-report-header {
      display: flex;
      align-items: center;
      gap: 14px;
      margin-bottom: 14px;
    }
    .sweep-report-icon { font-size: 24px; }
    .sweep-report-title {
      font-size: 13px;
      color: #c8daea;
      letter-spacing: .04em;
    }
    .sweep-report-subtitle {
      font-size: 10.5px;
      color: #4a7a9b;
      margin-top: 2px;
    }
    .sweep-report-stats {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
      gap: 10px;
      margin-bottom: 14px;
    }
    .sweep-report-stat {
      background: rgba(0,0,0,.2);
      border: 1px solid #1a2e44;
      border-radius: 6px;
      padding: 9px 12px;
    }
    .sweep-report-stat-num {
      font-size: 18px;
      color: #00e676;
      display: block;
      font-variant-numeric: tabular-nums;
    }
    .sweep-report-stat-label {
      font-size: 9.5px;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #2e4a66;
      margin-top: 2px;
      display: block;
    }
    .sweep-report-tags {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
    }
    .sweep-report-tag {
      font-size: 10.5px;
      letter-spacing: .05em;
      background: rgba(0,230,118,.08);
      border: 1px solid rgba(0,230,118,.2);
      color: #00c85a;
      padding: 3px 10px;
      border-radius: 4px;
    }

    /* Page section styles */
    .c3-coverage {
      max-width: 920px;
      margin: 0 auto 64px;
      padding: 0 24px;
    }
    .c3-coverage-title {
      font-size: clamp(22px, 4vw, 30px);
      font-weight: 700;
      text-align: center;
      margin-bottom: 10px;
    }
    .c3-coverage-lead {
      text-align: center;
      max-width: 560px;
      margin: 0 auto 32px;
      color: var(--color-muted, #888);
      font-size: 16px;
    }
    .c3-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
      gap: 16px;
    }
    .c3-card {
      background: var(--color-surface, #f8f9fa);
      border: 1px solid var(--color-border, #e5e7eb);
      border-radius: 12px;
      padding: 20px;
    }
    .c3-card-icon { font-size: 22px; margin-bottom: 8px; }
    .c3-card-title { font-weight: 600; margin-bottom: 6px; font-size: 15px; }
    .c3-card-body { color: var(--color-muted, #888); font-size: 14px; line-height: 1.5; }

    .c3-who-grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
      gap: 16px;
    }
    .c3-who-card {
      background: var(--color-surface, #f8f9fa);
      border: 1px solid var(--color-border, #e5e7eb);
      border-radius: 12px;
      padding: 22px 22px 18px;
    }
    .c3-who-eyebrow {
      font-size: 11px;
      letter-spacing: .1em;
      text-transform: uppercase;
      color: var(--color-muted, #888);
      margin-bottom: 6px;
    }
    .c3-who-title {
      font-size: 17px;
      font-weight: 600;
      margin-bottom: 8px;
    }
    .c3-who-body {
      color: var(--color-muted, #888);
      font-size: 14px;
      line-height: 1.5;
    }
