diff --git a/docs/index.html b/docs/index.html index 09bc9d69..d2e02948 100644 --- a/docs/index.html +++ b/docs/index.html @@ -112,6 +112,108 @@ width: 1rem; height: 1rem; } + + /* Responsive fixes. Each breakpoint is a measured number: + 48rem / 768px the site's own existing breakpoint; both catalogs + 62rem / 992px above it the chart bar track is >=136px unaided + 72rem / 1152px where the container hits its max-width and the + longest command finally clears the copy button */ + + /* A grid item's automatic minimum size is its min-content width, so a + .card was forced open to the widest unwrappable
 line and the
+         page scrolled instead of the code block. */
+      .grid > * {
+        min-width: 0;
+      }
+
+      /* .chart-label (16rem) + .chart-value (3.5rem) + gaps are unshrinkable,
+         leaving the bar track 0px at 320. Put the label on its own line. */
+      @media (max-width: 62rem) {
+        .chart-rows {
+          gap: 0.625rem;
+        }
+        .chart-row {
+          flex-wrap: wrap;
+          row-gap: 0.125rem;
+        }
+        .chart-label {
+          width: 100%;
+          text-align: left;
+        }
+      }
+
+      /* .btn-copy is absolutely positioned over a horizontally scrolling
+         
, so padding the code cannot clear it - the text scrolls
+         underneath. Reserve a band above the code and use the room for a
+         44px hit area. */
+      @media (max-width: 72rem) {
+        .copyable {
+          padding-top: 3.25rem;
+        }
+        .btn-copy {
+          top: 0.5rem;
+          right: 0.5rem;
+          width: 44px;
+          height: 44px;
+          display: flex;
+          align-items: center;
+          justify-content: center;
+        }
+      }
+
+      /* Both catalogs are wide tables whose Description column sat off-view
+         with no affordance that anything was hidden. Stack each row as a card
+         so the description is readable, and give both the same shape so they
+         read as one component.
+
+         Scoped by .table-catalog, which is on those two tables only. Not by
+         .card .table-wrap .table: the Results table matches that too, and
+         stacking it would destroy the column-to-column numeric reading that
+         is the entire point of it.
+
+         Column-count agnostic: first cell is the name, last cell is the
+         description, everything between is the metadata line. That covers the
+         official table's 3 columns and the community table's 4 with one rule
+         set instead of two near-copies. */
+      @media (max-width: 48rem) {
+        .table.table-catalog,
+        .table.table-catalog tbody,
+        .table.table-catalog tr,
+        .table.table-catalog td {
+          display: block;
+        }
+        .table.table-catalog thead {
+          display: none;
+        }
+        .table.table-catalog tr {
+          padding: 0.75rem 0;
+          border-bottom: var(--border-width) solid var(--color-border);
+        }
+        .table.table-catalog tr:last-child {
+          border-bottom: none;
+        }
+        .table.table-catalog td {
+          padding: 0;
+          border-bottom: none;
+        }
+        .table.table-catalog td:not(:first-child):not(:last-child) {
+          display: inline;
+          font-size: var(--text-xs);
+          color: var(--color-text-muted);
+        }
+        /* "by " only where an Author cell exists: 2nd cell of four. */
+        .table.table-catalog td:nth-child(2):nth-last-child(3)::before {
+          content: "by ";
+        }
+        /* "ยท" only between metadata cells, so it never leads the official
+           table's line, which is a domain alone. */
+        .table.table-catalog td:nth-child(n + 3):not(:last-child)::before {
+          content: " \00b7  ";
+        }
+        .table.table-catalog td:last-child {
+          margin-top: 0.25rem;
+        }
+      }
     
   
   
@@ -287,7 +389,7 @@ 

The [AXI catalog].

- +
@@ -356,7 +458,7 @@

The [AXI catalog].

-
AXI
+
AXI