/* All features — one matrix, rendered from features.json by tools/site-features.py (D-214). */
.fx-hero h1{max-width:12ch}
.sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

section.fx-matrix{padding:72px 0 120px}
.fx-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.fx-key>div{background:var(--panel);padding:18px 20px;display:grid;gap:8px;align-content:start}
.fx-key dt{font:800 11px var(--text);color:var(--ink2);display:flex;align-items:center;gap:8px}
.fx-key dt code{font:800 9px var(--mono);letter-spacing:.08em;color:var(--ink3);border:1px solid var(--line);border-radius:6px;padding:3px 5px}
.fx-key dd{color:var(--ink2);font-size:13px;line-height:1.55}

.fx-index{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 8px}
.fx-index a{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:7px 14px;border:1px solid var(--line);border-radius:99px;background:#fff6;font-size:12px;font-weight:720;transition:border-color .2s,background-color .2s}
.fx-index a:hover{border-color:var(--ink);background:#fff}
.fx-index b{font:800 10px var(--mono);color:var(--ink3)}

.fx-group{margin-top:72px;scroll-margin-top:84px}
.fx-head{display:grid;grid-template-columns:52px 1fr;gap:20px;align-items:center}
.fx-head>span{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font:900 10px var(--mono)}
.fx-head h2{font:900 clamp(28px,3.6vw,44px)/1 var(--disp);letter-spacing:-.045em}
.fx-head p{color:var(--ink2);font-size:14px;line-height:1.6;margin-top:8px;max-width:70ch}

.fx-table{width:100%;margin-top:22px;border-collapse:separate;border-spacing:0;background:var(--panel);border:1px solid var(--line);border-radius:20px;overflow:hidden;text-align:left}
.fx-table thead th{font:850 8px var(--mono);letter-spacing:.15em;text-transform:uppercase;color:var(--ink3);padding:14px 18px;border-bottom:1px solid var(--line);background:#fff6}
.fx-table thead th.fx-app{text-align:center;padding-inline:8px}
.fx-table tbody tr+tr>*{border-top:1px solid var(--line)}
.fx-table tbody th{padding:17px 18px;font-weight:400;vertical-align:top}
.fx-table tbody th b{display:block;font-size:15px;font-weight:760;letter-spacing:-.01em}
.fx-table tbody th span{display:block;color:var(--ink2);font-size:13px;line-height:1.55;margin-top:3px;max-width:68ch}
.fx-table td{padding:19px 8px;vertical-align:top}
.fx-app{width:76px;text-align:center}
.fx-app i{display:inline-block;width:10px;height:10px;margin-top:4px;border-radius:50%;background:var(--brand);box-shadow:0 0 0 4px color-mix(in srgb,var(--brand) 14%,transparent)}
.fx-app.no:before{content:"";display:inline-block;width:10px;height:2px;margin-top:9px;border-radius:2px;background:color-mix(in srgb,var(--ink3) 45%,transparent)}
.fx-app-name{display:none}
.fx-status{width:150px}

.fx-pill{display:inline-flex;border-radius:99px;padding:6px 9px;font:800 8px/1.2 var(--mono);letter-spacing:.11em;text-transform:uppercase;white-space:nowrap}
.fx-pill.available{color:var(--rider);background:color-mix(in srgb,var(--rider) 11%,transparent);border:1px solid color-mix(in srgb,var(--rider) 22%,transparent)}
.fx-pill.private-testing{color:var(--motor);background:color-mix(in srgb,var(--motor) 11%,transparent);border:1px solid color-mix(in srgb,var(--motor) 23%,transparent)}

.fx-ledger{max-width:760px;margin:0 auto}
.fx-ledger .lrow:first-child{border-top:0}
.fx-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:40px}

@media (width<=1000px){
  .fx-key{grid-template-columns:minmax(0,1fr)}
}
@media (width<=720px){
  section.fx-matrix{padding:48px 0 88px}
  .fx-group{margin-top:56px}
  .fx-head{grid-template-columns:40px 1fr;gap:14px;align-items:start}
  .fx-head>span{width:36px;height:36px}
  .fx-table,.fx-table tbody,.fx-table tr,.fx-table th,.fx-table td{display:block}
  .fx-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .fx-table tbody tr{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:14px 14px 15px}
  .fx-table tbody tr+tr>*{border-top:0}
  .fx-table tbody tr+tr{border-top:1px solid var(--line)}
  .fx-table tbody th{flex:0 0 100%;padding:0 0 4px}
  .fx-table td{padding:0;width:auto}
  .fx-app.no{display:none}
  .fx-app.yes{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);border-radius:99px;padding:3px 8px 3px 6px;background:#fff6}
  .fx-app.yes i{width:6px;height:6px;margin:0;box-shadow:none}
  .fx-app-name{display:inline;font-size:10.5px;font-weight:720}
  .fx-pill{padding:5px 7px;letter-spacing:.08em}
}
