/* ==========================================================================
   LockedIn Flow — editorial pages (guides, comparisons, legal)
   Loads after shell.css and site.css. Reading layout, numbered sections,
   comparison tables, route diagrams and small faithful figures.
   Every class is prefixed e- so nothing collides with the shared library.
   ========================================================================== */

/* --------------------------------------------------------------------------
   Hero
   -------------------------------------------------------------------------- */
.e-hero .wrap { position: relative; z-index: 1; }
.e-hero h1 { font-size: clamp(38px, 4.9vw, 70px); max-width: 17ch; }
.e-hero h1 .two-tone { max-width: 30ch; }
.e-hero .lede { max-width: 58ch; }
.e-hero .specline { margin-top: 30px; }
.e-hero__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: end; }
.e-hero__grid--mid { align-items: center; }
.e-hero__fig { min-width: 0; }
.e-hero__fig .sheet .r { grid-template-columns: 116px 1fr; }
.e-hero--legal h1 { max-width: 12ch; }

/* --------------------------------------------------------------------------
   Reading layout: a sticky contents rail beside a 68ch column
   -------------------------------------------------------------------------- */
.e-body { padding-top: clamp(48px, 6vw, 88px); }
.e-doc {
  display: grid; grid-template-columns: minmax(0, 232px) minmax(0, 760px);
  gap: clamp(40px, 5vw, 80px); justify-content: start; align-items: start;
}
.e-rail { position: sticky; top: 96px; display: grid; gap: 16px; }

.e-toc { padding: 16px 18px 14px; background: rgba(14, 16, 20, .55); }
.e-toc ol { counter-reset: toc; gap: 2px; }
.e-toc li { counter-increment: toc; }
.e-toc a { display: flex; gap: 12px; align-items: baseline; padding: 5px 0; font-size: 13.5px; line-height: 1.4; color: var(--t2); transition: color var(--dur-1) ease; }
.e-toc a::before { content: counter(toc, decimal-leading-zero); flex: none; font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; color: var(--steel); }
.e-toc a:hover { color: var(--t1); }

.e-aside { padding: 18px; border: 1px solid var(--line-faint); border-radius: var(--r-lg); font-size: 13.5px; line-height: 1.5; color: var(--t3); }
.e-aside .mono { display: block; margin-bottom: 8px; }
.e-aside p + p, .e-aside p + .e-aside__links { margin-top: 12px; }
.e-aside__links { display: grid; gap: 8px; }
.e-aside__links a { color: var(--t1); font-weight: 600; font-size: 13.5px; }
.e-aside__links a:hover { color: #fff; }

/* prose, tuned for long reading */
.e-prose { counter-reset: sec; font-size: 17px; line-height: 1.7; }
.e-prose > h2 {
  counter-increment: sec; margin-top: 2em; padding-top: 1.25em; border-top: 1px solid var(--line-faint);
  font-size: clamp(25px, 2.3vw, 32px); letter-spacing: -0.025em; scroll-margin-top: 88px;
}
.e-prose > h2::before {
  content: counter(sec, decimal-leading-zero); display: block; margin-bottom: 14px;
  font-family: var(--font-mono); font-size: var(--fs-mono); font-weight: 500; letter-spacing: var(--tracking-mono); color: var(--steel);
}
.e-prose > h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.e-prose > h3 { font-size: 19px; letter-spacing: -0.015em; }
.e-prose > .lead { font-size: 19px; line-height: 1.6; color: var(--t1); letter-spacing: -0.014em; }
.e-prose li { padding-left: .2em; }
.e-prose strong { color: var(--t1); }
.e-prose > .callout, .e-prose > .sheet, .e-prose > .fig, .e-prose > figure, .e-prose > .e-sym, .e-prose > .e-checks { margin-top: 1.8em; margin-bottom: .4em; }
.e-prose > :first-child { margin-top: 0; }
.e-prose .callout p + p { margin-top: 8px; }
.e-prose .sheet dl div { display: grid; padding: 14px 18px; border-top: 1px solid var(--line-faint); }
.e-prose .sheet dl div:first-child { border-top: 0; }
.e-prose .sheet dd { margin: 0; }
.e-prose .table-wrap { margin: 1.8em 0 .4em; }
.e-prose .table td code, .e-prose .table th code { white-space: nowrap; }

/* at-a-glance datasheet that opens a legal page */
.e-glance .sheet__h { flex-wrap: wrap; row-gap: 4px; }
.e-glance + h2 { margin-top: 1.6em; }

/* numbered checks (troubleshooting, procedures) */
.e-checks { display: grid; gap: 0; border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; counter-reset: chk; padding: 0; list-style: none; }
.e-prose ul.e-checks, .e-prose ol.e-checks { padding-left: 0; list-style: none; }
.e-checks > li { position: relative; counter-increment: chk; padding: 18px 20px 18px 64px; margin: 0; background: rgba(14, 16, 20, .45); font-size: 15.5px; line-height: 1.55; }
.e-checks > li + li { border-top: 1px solid var(--line-faint); margin-top: 0; }
.e-checks > li::before { content: counter(chk, decimal-leading-zero); position: absolute; left: 22px; top: 22px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em; color: var(--steel); }
.e-checks b { color: var(--t1); display: block; }

/* sources and review dates */
.e-note { margin-top: 56px; padding-top: 20px; border-top: 1px solid var(--line-faint); font-size: 13.5px; line-height: 1.6; color: var(--t3); }
.e-note .mono { display: block; margin-bottom: 8px; }
.e-note a { color: var(--t2); text-decoration: underline; text-decoration-color: var(--line-strong); text-underline-offset: 3px; }
.e-note a:hover { color: var(--t1); }

/* closing call to action */
.e-end { padding-top: 0; }
.e-end .cta-band .ctas { justify-content: flex-end; }
.cta-band p.eyebrow { margin-top: 0; font-size: var(--fs-mono); color: var(--steel); max-width: none; }

/* reading progress: scroll-linked where supported, absent elsewhere */
.e-progress { display: none; }
@supports (animation-timeline: scroll()) {
  .e-progress {
    display: block; position: fixed; left: 0; right: 0; top: 64px; z-index: 59; height: 1px;
    background: rgba(255, 255, 255, .55); transform-origin: 0 50%; transform: scaleX(0);
    animation: e-progress linear both; animation-timeline: scroll(root);
  }
  @keyframes e-progress { to { transform: scaleX(1); } }
}

/* --------------------------------------------------------------------------
   Route diagram: where the audio goes
   -------------------------------------------------------------------------- */
.e-route { border: 1px solid var(--line); border-radius: var(--r-xl); overflow: hidden; background: linear-gradient(180deg, rgba(14, 16, 20, .8), rgba(8, 9, 12, .35)); box-shadow: var(--sh-card); }
.e-route__h {
  display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 16px; padding: 12px 20px;
  border-bottom: 1px solid var(--line); background: rgba(14, 16, 20, .6);
  font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--t3);
}
.e-route__h b { color: var(--t1); font-weight: 500; }
.e-lane { display: grid; grid-template-columns: 168px minmax(0, 1fr); gap: 20px 28px; align-items: center; padding: 28px 24px; }
.e-lane + .e-lane { border-top: 1px solid var(--line-faint); }
.e-lane__k { display: grid; gap: 8px; }
.e-lane__k b { display: flex; align-items: center; gap: 10px; color: var(--t1); font-size: 16px; font-weight: 600; letter-spacing: -0.012em; }
.e-lane__k .sigmark { --mark-w: 20px; }
.e-lane__k span { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--t3); }
.e-lane__k span.ok { color: var(--success); }

.e-box { position: relative; padding: 24px 14px 14px; border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: rgba(135, 158, 184, .035); }
.e-box.e-box--ghost { border-color: transparent; background: none; padding-top: 0; padding-bottom: 0; }
.e-box__lab { position: absolute; top: -8px; left: 14px; padding: 0 8px; background: #0C0E12; font-family: var(--font-mono); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--steel); line-height: 16px; }
.e-box__lab b { color: var(--t1); font-weight: 500; }

.e-hops { display: flex; align-items: stretch; min-width: 0; }
.e-hop { flex: 1 1 0; min-width: 0; padding: 12px 13px; border: 1px solid var(--line); border-radius: var(--r); background: rgba(14, 16, 20, .9); }
.e-hop i { display: block; font-style: normal; font-family: var(--font-mono); font-size: 10px; letter-spacing: .12em; color: var(--steel); }
.e-hop b { display: block; margin-top: 4px; color: var(--t1); font-size: 14px; font-weight: 600; letter-spacing: -0.01em; line-height: 1.25; }
.e-hop small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.35; color: var(--t3); }
.e-hop--sig { border-color: rgba(135, 158, 184, .5); box-shadow: 0 0 0 1px rgba(82, 107, 255, .18), 0 10px 30px -14px rgba(82, 107, 255, .55); }
.e-hop--out { border-style: dashed; border-color: var(--line-strong); background: transparent; }
.e-hop--out b { color: var(--t2); }
.e-link { flex: 0 0 clamp(12px, 1.6vw, 24px); align-self: center; height: 2px; border-radius: 2px; background: var(--spectrum); box-shadow: 0 0 10px rgba(82, 107, 255, .45); }
.e-link--net { height: 1px; box-shadow: none; background: repeating-linear-gradient(90deg, var(--line-strong) 0 4px, transparent 4px 8px); }
.e-link--plain { height: 1px; box-shadow: none; background: var(--line-strong); }

/* a context feed into the upload (privacy comparison) */
.e-feed { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 8px; align-items: center; font-size: 12.5px; color: var(--t3); }
.e-feed .mono { color: var(--steel); }
.e-feed .pill { height: 26px; font-size: 12px; }

/* --------------------------------------------------------------------------
   Comparison table (LockedIn Flow column first, reflows to cards on phones)
   -------------------------------------------------------------------------- */
.e-vs .table { table-layout: fixed; }
.e-vs col.e-c-area { width: 24%; }
.e-vs thead th { vertical-align: middle; }
.e-vs thead th.e-us { color: var(--t1); }
.e-vs thead th .sigmark { --mark-w: 16px; vertical-align: -2px; margin-right: 8px; }
.e-vs td { color: var(--t2); }
.e-vs td > span { display: grid; grid-template-columns: 16px minmax(0, 1fr); align-items: baseline; }
.e-vs td > span .e-dot { margin: 0; align-self: start; margin-top: .62em; }
.e-vs td.e-us { color: var(--t1); background: rgba(135, 158, 184, .045); }
.e-vs tbody tr:hover td, .e-vs tbody tr:hover th { background-color: rgba(135, 158, 184, .03); }
.e-dot { display: inline-block; width: 6px; height: 6px; margin-right: 10px; border-radius: 50%; vertical-align: 2px; background: var(--line-strong); }
.e-dot--ok { background: var(--success); box-shadow: 0 0 8px rgba(79, 232, 176, .45); }
.e-dot--warn { background: var(--warning); }
.e-vs__key { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px 20px; font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--t3); }

/* --------------------------------------------------------------------------
   Figures: editor (code dictation), terminal, symbol grid
   -------------------------------------------------------------------------- */
.e-code { position: relative; }
.e-code__stage { position: relative; }
.e-code .win--editor { border-radius: 1.2em; }
.e-code__said { padding: 2em 2.4em 1.7em; border-bottom: .1em solid rgba(135, 158, 184, .14); }
.e-code__lab { font-family: var(--font-mono); font-size: 1em; letter-spacing: .16em; text-transform: uppercase; color: #7D8794; }
.e-code__toks { display: flex; flex-wrap: wrap; gap: .6em; margin-top: 1em; }
.e-tok { font-size: 1.3em; line-height: 1.2; padding: .4em .75em; border-radius: .6em; color: #CBD2DB; background: rgba(135, 158, 184, .09); box-shadow: inset 0 0 0 .08em rgba(135, 158, 184, .22); white-space: nowrap; }
.e-tok--cmd { color: #fff; background: rgba(135, 158, 184, .16); box-shadow: inset 0 0 0 .08em rgba(135, 158, 184, .55); }
.e-code__out { padding: 2.2em 2.4em 4.6em; font-family: var(--font-mono); font-size: 1.65em; line-height: 1.5; color: #CBD2DB; white-space: nowrap; }
.e-code__out .ln { display: inline-block; width: 1.8em; color: #5B6573; }
.e-code__out .kw { color: var(--steel); }
.e-code__out .fn { color: #fff; }
.e-code__out .pn { color: #8D97A3; }
.e-code__out .dim { color: #4A5360; }
.e-cur { display: inline-block; width: .55em; height: 1.1em; margin-left: .12em; vertical-align: -.18em; background: rgba(255, 255, 255, .75); animation: e-blink 1.1s steps(1) infinite; }
@keyframes e-blink { 50% { opacity: 0; } }
.e-code__bar { position: absolute; right: -4%; bottom: -30px; width: min(300px, 64%); }
.e-code + figcaption, .e-code figcaption { margin-top: 44px; }

.e-term .win--editor { border-radius: 1.1em; }
.e-term pre { margin: 0; border: 0; border-radius: 0; padding: 1.8em 2.2em 2em; font-size: max(11px, 1.35em); line-height: 1.85; color: #CBD2DB; background: none; white-space: pre; overflow-x: auto; }
.e-term pre:focus-visible { outline-offset: -3px; }
.e-term pre .p { color: var(--steel); }
.e-term pre .m { color: var(--t3); }
.e-term__cols { display: flex; gap: 0; border-top: .1em solid rgba(135, 158, 184, .14); font-family: var(--font-mono); font-size: max(10px, 1.05em); letter-spacing: .1em; text-transform: uppercase; color: #7D8794; }
.e-term__cols span { flex: 1; padding: 1.1em 1.4em; }
.e-term__cols span + span { border-left: .1em solid rgba(135, 158, 184, .1); }
.e-term__cols .on { color: #fff; background: rgba(135, 158, 184, .08); box-shadow: inset 0 -.2em 0 var(--steel); }

/* spoken symbols: phrase above, symbol below, like a keycap legend */
.e-sym { display: grid; grid-template-columns: repeat(auto-fill, minmax(132px, 1fr)); gap: 8px; margin: 0; }
.e-prose .e-sym > div {
  display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; min-height: 96px; padding: 14px 14px 12px;
  border: 1px solid var(--line); border-radius: var(--r); background: linear-gradient(180deg, rgba(27, 31, 38, .55), rgba(14, 16, 20, .5));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.e-prose .e-sym dt { padding: 0; font-family: var(--font-sans); font-size: 13px; letter-spacing: -0.005em; text-transform: none; color: var(--t3); line-height: 1.3; }
.e-prose .e-sym dd { font-family: var(--font-mono); font-size: 22px; line-height: 1.1; color: var(--t1); letter-spacing: 0; }

/* --------------------------------------------------------------------------
   Guides index: cards with small plates, and a dated comparisons list
   -------------------------------------------------------------------------- */
.e-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 2.2vw, 28px); }
.e-card { display: flex; flex-direction: column; padding: 0; overflow: hidden; color: var(--t2); transition: border-color var(--dur-2) ease, transform var(--dur-2) var(--ease), box-shadow var(--dur-2) ease; }
.e-card:hover { color: var(--t2); border-color: var(--line-strong); transform: translateY(-2px); box-shadow: var(--sh-card), 0 30px 60px -40px rgba(82, 107, 255, .35); }
.e-card__body { display: flex; flex-direction: column; flex: 1; padding: clamp(22px, 2.4vw, 28px); }
.e-card h2 { font-size: clamp(20px, 1.7vw, 24px); line-height: 1.22; letter-spacing: -0.02em; margin-bottom: 10px; }
.e-card p { font-size: 15px; line-height: 1.55; }
.e-card .card__k { font-size: 10.5px; line-height: 1.5; color: var(--steel); margin-bottom: 14px; }
.e-card .e-card__go { margin-top: auto; padding-top: 22px; display: flex; justify-content: space-between; align-items: center; font-size: 14px; font-weight: 600; color: var(--t1); }
.e-card__go .mono { font-weight: 500; }
.e-card__go .arr { transition: transform var(--dur-1) var(--ease); }
.e-card:hover .e-card__go .arr { transform: translateX(3px); }

.e-plate {
  position: relative; height: 176px; display: grid; place-items: center; padding: 20px; overflow: hidden;
  border-bottom: 1px solid var(--line); background: #0B0D11;
}
.e-plate::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(var(--line-ghost) 1px, transparent 1px), linear-gradient(90deg, var(--line-ghost) 1px, transparent 1px);
  background-size: 24px 24px; -webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 30%, transparent 100%); mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, #000 30%, transparent 100%);
}
.e-plate > * { position: relative; }
.e-plate__stack { display: grid; gap: 10px; justify-items: start; }
.e-plate__stack--c { justify-items: center; }
.e-plate__toks { display: flex; gap: 6px; }
.e-chip { padding: 5px 10px; border-radius: 7px; font-size: 13px; line-height: 1.2; color: #CBD2DB; background: rgba(135, 158, 184, .09); box-shadow: inset 0 0 0 1px rgba(135, 158, 184, .22); white-space: nowrap; }
.e-chip--cmd { color: #fff; background: rgba(135, 158, 184, .16); box-shadow: inset 0 0 0 1px rgba(135, 158, 184, .55); }
.e-plate__arr { color: var(--steel); font-size: 13px; line-height: 1; }
.e-plate__code { font-family: var(--font-mono); font-size: 17px; color: #fff; background: none; padding: 0; text-shadow: 0 0 18px rgba(82, 107, 255, .45); }

/* a miniature window inside a plate */
.e-mini { width: min(100%, 300px); border-radius: 10px; overflow: hidden; background: #0E1014; box-shadow: 0 0 0 1px rgba(135, 158, 184, .24), 0 18px 40px -20px rgba(0, 0, 0, .9); font-family: var(--font-mono); }
.e-mini__tb { position: relative; height: 24px; display: flex; align-items: center; justify-content: center; border-bottom: 1px solid rgba(135, 158, 184, .14); background: #10131A; font-size: 10px; letter-spacing: .12em; text-transform: uppercase; color: var(--t3); }
.e-mini__tb i { position: absolute; top: 50%; width: 7px; height: 7px; margin-top: -3.5px; border-radius: 50%; background: #2A3038; }
.e-mini__tb i:nth-child(1) { left: 9px; } .e-mini__tb i:nth-child(2) { left: 20px; } .e-mini__tb i:nth-child(3) { left: 31px; }
.e-mini__bd { padding: 14px 14px 12px; font-size: 13px; color: #CBD2DB; white-space: nowrap; }
.e-mini__bd .p { color: var(--steel); }
.e-mini__cols { display: flex; border-top: 1px solid rgba(135, 158, 184, .12); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; color: #7D8794; }
.e-mini__cols span { flex: 1; padding: 8px 8px; text-align: center; }
.e-mini__cols span + span { border-left: 1px solid rgba(135, 158, 184, .1); }
.e-mini__cols .on { color: #fff; background: rgba(135, 158, 184, .08); box-shadow: inset 0 -2px 0 var(--steel); }
.e-mini--sheet .e-mini__tb { justify-content: flex-start; padding-left: 12px; }
.e-mini__rows { display: grid; padding: 4px 0; font-size: 11px; color: #CBD2DB; }
.e-mini__rows > span { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 8px; padding: 6px 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.e-mini__rows > span + span { border-top: 1px solid rgba(135, 158, 184, .08); }
.e-mini__rows b { font-weight: 500; color: var(--steel); }
.e-mini__rows > span > span { overflow: hidden; text-overflow: ellipsis; }
.e-mini__rows em { font-style: normal; color: var(--success); }

.e-list { border-top: 1px solid var(--line); counter-reset: el; }
.e-list li { counter-increment: el; border-bottom: 1px solid var(--line); }
.e-list a { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 6px 20px; align-items: baseline; padding: 24px 4px; color: var(--t2); transition: background var(--dur-1) ease; }
.e-list a::before { content: counter(el, decimal-leading-zero); font-family: var(--font-mono); font-size: 10.5px; letter-spacing: .12em; color: var(--steel); }
.e-list a:hover { background: rgba(135, 158, 184, .04); color: var(--t2); }
.e-list b { display: block; color: var(--t1); font-size: clamp(18px, 1.6vw, 22px); font-weight: 600; letter-spacing: -0.018em; line-height: 1.3; }
.e-list small { display: block; margin-top: 4px; font-size: 14.5px; color: var(--t3); }
.e-list .mono { white-space: nowrap; }
.e-list .arr { margin-left: 10px; display: inline-block; transition: transform var(--dur-1) var(--ease); }
.e-list a:hover .arr { transform: translateX(3px); }

/* --------------------------------------------------------------------------
   Responsive (640 / 960 / 1280)
   -------------------------------------------------------------------------- */
@media (max-width: 1280px) {
  .e-lane { grid-template-columns: 140px minmax(0, 1fr); gap: 18px 20px; padding: 24px 20px; }
}

@media (max-width: 960px) {
  .e-hero__grid { grid-template-columns: 1fr; align-items: start; }
  .e-hero__fig { max-width: 620px; }
  .e-doc { grid-template-columns: minmax(0, 1fr); max-width: 720px; margin: 0 auto; gap: 40px; }
  .e-rail { position: static; }
  .e-aside { display: none; }
  .e-cards { grid-template-columns: 1fr; max-width: 640px; }
  .e-lane { grid-template-columns: 1fr; }
  .e-lane__k { grid-template-columns: auto 1fr; align-items: baseline; gap: 12px; }
  .e-hops { flex-direction: column; align-items: stretch; }
  .e-hop { display: grid; grid-template-columns: 28px minmax(0, 1fr); gap: 0 10px; align-items: baseline; padding: 11px 14px; }
  .e-hop i { grid-row: span 2; }
  .e-hop b { margin-top: 0; }
  .e-link { flex: 0 0 14px; width: 2px; height: auto; margin-left: 27px; background: var(--spectrum-v); }
  .e-link--net { width: 1px; background: repeating-linear-gradient(180deg, var(--line-strong) 0 4px, transparent 4px 8px); }
  .e-link--plain { width: 1px; background: var(--line-strong); }
}

@media (max-width: 640px) {
  .e-progress { top: 60px; }
  .e-hero h1 { font-size: clamp(34px, 9.6vw, 44px); }
  .e-prose { font-size: 16.5px; }
  .e-prose > .lead { font-size: 18px; }
  .e-end .cta-band .ctas { justify-content: stretch; }
  .e-route__h { padding: 11px 16px; }
  .e-lane { padding: 22px 16px; }
  .e-box { padding: 22px 10px 10px; }
  .e-code__bar { right: 4%; width: 70%; bottom: -22px; }
  .e-checks > li { padding: 16px 16px 16px 50px; }
  .e-checks > li::before { left: 16px; top: 20px; }
  .e-list a { grid-template-columns: 30px minmax(0, 1fr); }
  .e-list .mono { grid-column: 2; }
  .e-plate { height: 148px; }

  /* comparison table becomes one card per row */
  .e-vs { border: 0; background: none; overflow: visible; }
  .e-vs .table, .e-vs tbody, .e-vs tr, .e-vs th, .e-vs td { display: block; width: auto; }
  .e-vs colgroup { display: none; }
  .e-vs thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .e-vs tbody { display: grid; gap: 10px; }
  .e-vs tr { border: 1px solid var(--line); border-radius: var(--r-lg); overflow: hidden; background: rgba(14, 16, 20, .4); }
  .e-vs tbody th { padding: 12px 16px; border: 0; border-bottom: 1px solid var(--line-faint); font-family: var(--font-mono); font-size: 10.5px; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; color: var(--steel); background: rgba(14, 16, 20, .6); }
  .e-vs td { display: grid; grid-template-columns: 104px minmax(0, 1fr); gap: 12px; padding: 12px 16px; border-top: 0; }
  .e-vs td + td { border-top: 1px solid var(--line-faint); }
  .e-vs td::before { content: attr(data-l); font-size: 12.5px; font-weight: 600; color: var(--t3); padding-top: 1px; }
  .e-vs td.e-us::before { color: var(--t1); }
}

/* --------------------------------------------------------------------------
   Reduced motion: no blink, no lift, no progress line
   -------------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .e-cur { animation: none !important; opacity: 1; }
  .e-card, .e-card:hover { transform: none; }
  .e-progress { display: none !important; }
}

@media (forced-colors: active) {
  .e-link, .e-link--net, .e-link--plain { background: CanvasText; }
  .e-dot { forced-color-adjust: none; }
}
