/* stylelint-disable -- Migrated parity CSS: keep cascade, selector order, and declarations visually identical. */
  /* Extra friendly components */
  .extra-friendly-stack { display:grid; gap:var(--s-5); }
  .ef-component-count { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:10px; border:1px solid var(--brand); border-radius:var(--r-md); background:var(--brand-soft); padding:14px 16px; color:var(--brand); }
  .ef-component-count strong { font-size:18px; line-height:1.1; }
  .ef-component-count span { font-size:13px; color:var(--text-muted); }
  .ef-gallery { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,250px),1fr)); gap:var(--s-3); align-items:stretch; }
  .ef-card { position:relative; min-width:0; overflow:hidden; border:1px solid var(--hairline); border-radius:var(--r-md); background:var(--surface); box-shadow:var(--shadow-card); padding:var(--s-5); transition:transform .18s ease, border-color .18s ease, background .18s ease; }
  .ef-card:hover { transform:translateY(-2px); border-color:var(--hairline-strong); }
  .ef-card.is-wide { grid-column:1/-1; }
  .ef-card.is-success { border-color:var(--status-success); background:var(--status-success-soft); }
  .ef-card.is-running { border-color:var(--status-running); background:var(--status-running-soft); }
  .ef-card.is-failed { border-color:var(--status-failed); background:var(--status-failed-soft); }
  .ef-card.is-scheduled { border-color:var(--status-scheduled); background:var(--status-scheduled-soft); }
  .ef-card-head { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:6px; }
  .ef-kicker { font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--brand); }
  .ef-glow { width:38px; height:4px; border-radius:var(--r-pill); background:var(--brand); opacity:.35; animation:ef-slide 2.8s ease-in-out infinite; }
  .ef-card h3 { margin:4px 0 8px; font-size:18px; line-height:1.2; color:var(--ink); overflow-wrap:anywhere; }
  .ef-card p, .ef-card small, .ef-card span { overflow-wrap:anywhere; }
  .ef-card p { margin:0; font-size:13px; line-height:1.5; color:var(--text-muted); }
  .ef-hero-row, .ef-actions, .ef-banner-line, .ef-time-row, .ef-option-list, .ef-legend, .ef-suggestions, .ef-soft-warning { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
  .ef-hero-row, .ef-banner-line, .ef-time-row, .ef-soft-warning { justify-content:space-between; margin-top:var(--s-4); }
  .ef-promise-list, .ef-check-list, .ef-copy-box, .ef-details-list, .ef-sentence-list, .ef-tour, .ef-mini-timeline, .ef-path-preview, .ef-recipe, .ef-queue, .ef-trust-grid { display:grid; gap:10px; margin-top:var(--s-4); }
  .ef-promise, .ef-check-list div, .ef-copy-box div, .ef-sentence-list div, .ef-queue div, .ef-trust-grid div, .ef-action-step { min-width:0; border:1px solid var(--hairline); border-radius:var(--r-sm); background:rgba(255,255,255,.66); padding:10px 12px; }
  .ef-promise strong, .ef-check-list strong, .ef-copy-box strong, .ef-sentence-list strong, .ef-queue strong, .ef-trust-grid strong, .ef-action-step strong { display:block; font-size:13px; color:var(--ink); }
  .ef-promise span, .ef-copy-box span, .ef-sentence-list span, .ef-action-step span, .ef-trust-grid span { display:block; margin-top:4px; font-size:12px; color:var(--text-muted); }
  .ef-safe-path, .ef-number-row, .ef-before-after, .ef-person-row, .ef-action-rail { display:grid; gap:10px; margin-top:var(--s-4); }
  .ef-safe-path { grid-template-columns:repeat(auto-fit,minmax(min(100%,96px),1fr)); align-items:center; font-size:12px; color:var(--text-muted); }
  .ef-number-row, .ef-before-after { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ef-number-row div, .ef-before-after div { border:1px solid var(--hairline); border-radius:var(--r-sm); background:rgba(255,255,255,.7); padding:12px; }
  .ef-number-row strong { display:block; font-size:28px; line-height:1; color:var(--brand); }
  .ef-number-row span, .ef-before-after span { display:block; margin-bottom:5px; font-size:11px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--text-faint); }
  .ef-before-after strong { font-size:13px; color:var(--ink); }
  .ef-thermo, .ef-progress, .ef-confidence-line { height:9px; border-radius:var(--r-pill); background:rgba(255,255,255,.72); overflow:hidden; margin-top:var(--s-4); }
  .ef-thermo span, .ef-progress span { display:block; width:var(--ef-percent); height:100%; border-radius:inherit; background:var(--brand); animation:ef-fill .8s ease-out both; }
  .ef-empty-mark, .ef-score { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; margin:var(--s-4) 0; background:var(--brand-soft); color:var(--brand); font-weight:800; }
  .ef-check-list div { display:flex; align-items:center; gap:9px; }
  .ef-check-list span { flex:none; width:26px; height:26px; border-radius:50%; display:grid; place-items:center; background:var(--surface-alt); color:var(--text-faint); font-size:10px; font-weight:800; }
  .ef-check-list .is-done span { background:var(--status-success-soft); color:var(--status-success-ink); }
  .ef-tour { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .ef-tour-step { min-width:0; border-top:2px solid var(--brand); padding-top:8px; }
  .ef-tour-step span { width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--brand); color:var(--on-brand); font-weight:800; font-size:12px; }
  .ef-tour-step strong, .ef-tour-step small { display:block; margin-top:6px; }
  .ef-permission-row, .ef-person-row { display:flex; align-items:center; gap:10px; margin-top:var(--s-4); }
  .ef-person-row > span { width:38px; height:38px; border-radius:50%; display:grid; place-items:center; background:var(--brand); color:var(--on-brand); font-weight:800; }
  .ef-person-row strong, .ef-person-row small { display:block; }
  .ef-person-row small { margin-top:3px; color:var(--text-muted); }
  .ef-details-list details { border:1px solid var(--hairline); border-radius:var(--r-sm); background:rgba(255,255,255,.66); padding:10px 12px; }
  .ef-details-list summary { cursor:pointer; font-weight:800; color:var(--ink); }
  .ef-details-list p { margin-top:8px; }
  .ef-bubbles, .ef-shortcuts { display:flex; flex-wrap:wrap; gap:8px; margin-top:var(--s-4); }
  .ef-bubbles span, .ef-suggestions button, .ef-shortcuts button { border:1px solid var(--hairline); border-radius:var(--r-pill); background:rgba(255,255,255,.72); padding:8px 10px; font-size:12px; color:var(--text-muted); }
  .ef-bubbles strong { margin-right:5px; color:var(--ink); }
  .ef-ring { --ef-ring:conic-gradient(var(--brand) var(--ef-percent), rgba(0,0,0,.08) 0); width:108px; height:108px; border-radius:50%; display:grid; place-items:center; margin:var(--s-4) auto 0; background:var(--ef-ring); position:relative; }
  .ef-ring::after { content:""; position:absolute; inset:12px; border-radius:50%; background:var(--surface); }
  .ef-ring strong { position:relative; z-index:1; color:var(--ink); font-size:22px; }
  .ef-mini-timeline div { display:grid; grid-template-columns:22px minmax(0,1fr); gap:8px; align-items:center; }
  .ef-mini-timeline span { width:14px; height:14px; border-radius:50%; background:var(--hairline-strong); }
  .ef-mini-timeline .is-done span { background:var(--status-success); } .ef-mini-timeline .is-now span { background:var(--brand); animation:ef-pulse 1.8s infinite; }
  .ef-modal-preview { border:1px solid var(--hairline); border-radius:var(--r-md); background:rgba(255,255,255,.74); padding:14px; margin-top:var(--s-4); }
  .ef-modal-preview strong { display:block; margin-bottom:6px; color:var(--ink); }
  .ef-modal-preview .btn { margin-top:12px; }
  .ef-toast-preview { display:inline-flex; align-items:center; gap:8px; margin-top:var(--s-4); border-radius:var(--r-pill); background:var(--ink); color:white; padding:9px 13px; animation:ef-rise .7s ease-out both; }
  .ef-toast-preview span { width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.16); color:white; font-size:10px; }
  .ef-skeleton-card { display:grid; gap:9px; margin-top:var(--s-4); }
  .ef-skeleton-card span { height:12px; border-radius:var(--r-pill); background:linear-gradient(90deg,var(--surface-alt),var(--hairline),var(--surface-alt)); background-size:180% 100%; animation:ef-shimmer 1.6s linear infinite; }
  .ef-confetti { display:flex; gap:7px; margin-top:var(--s-4); }
  .ef-confetti span { width:10px; height:18px; border-radius:3px; background:var(--brand); animation:ef-pop 1.4s ease-in-out infinite; }
  .ef-confetti span:nth-child(2){background:var(--status-success);animation-delay:.12s}.ef-confetti span:nth-child(3){background:var(--status-running);animation-delay:.24s}
  .ef-path-preview { grid-template-columns:repeat(auto-fit,minmax(min(100%,90px),1fr)); }
  .ef-path-preview span, .ef-lock-badge { border-radius:var(--r-pill); background:var(--surface-alt); padding:8px 10px; text-align:center; font-size:12px; font-weight:800; color:var(--ink); }
  .ef-lock-badge { display:inline-flex; margin-top:var(--s-4); background:var(--status-running-soft); color:var(--status-running-ink); }
  .ef-shortcuts button { border-radius:var(--r-md); text-align:left; }
  .ef-shortcuts strong, .ef-shortcuts span { display:block; }
  .ef-kind-loader { display:flex; gap:8px; margin-top:var(--s-4); }
  .ef-kind-loader span { width:10px; height:10px; border-radius:50%; background:var(--brand); animation:ef-bounce 1s ease-in-out infinite; }
  .ef-kind-loader span:nth-child(2){animation-delay:.12s}.ef-kind-loader span:nth-child(3){animation-delay:.24s}
  .ef-recipe { counter-reset:recipe; padding:0; list-style:none; }
  .ef-recipe li { counter-increment:recipe; display:grid; grid-template-columns:26px minmax(0,1fr); gap:8px; align-items:start; font-size:13px; color:var(--text-muted); }
  .ef-recipe li::before { content:counter(recipe); width:22px; height:22px; border-radius:50%; display:grid; place-items:center; background:var(--brand-soft); color:var(--brand); font-size:11px; font-weight:800; }
  @keyframes ef-slide { 0%,100%{transform:translateX(0);opacity:.28}50%{transform:translateX(-8px);opacity:.72} }
  @keyframes ef-fill { from{width:0} }
  @keyframes ef-pulse { 0%,100%{box-shadow:0 0 0 0 rgba(56,88,233,.28)}50%{box-shadow:0 0 0 6px rgba(56,88,233,0)} }
  @keyframes ef-rise { from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)} }
  @keyframes ef-shimmer { to{background-position:-180% 0} }
  @keyframes ef-pop { 0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-6px) rotate(8deg)} }
  @keyframes ef-bounce { 0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)} }
