Spaces:
Running
Tab-lede: typographic step-down on P2 + §X chip anchors
Browse filesThe intro paragraph below the banner had grown to two full-size lede
paragraphs, which read as a wall of text. Without touching the copy,
this gives the second paragraph a clear visual demotion so the eye
reads it as a navigator / table of contents rather than a second lede:
- P2 gets .tab-lede__note (font-size 19→14, color #2d2d2a→#5b5b56,
line-height 1.5→1.6, +14px top margin). Reads as a follow-up note
under the main definition.
- Each "(§X)" in P2 becomes an <a class="lede-chip" href="#section-id">
pointing at the matching section. Mono + warm-green border so the
references pop out as scannable jump-to markers within the prose,
and clicking actually scrolls to the section.
Section anchors used: §1 → #completion, §2 → #track, §3 → #vep,
§4 → #species, §5 → #folding, §6 → #umap, §7 → #speciesTree.
Co-authored-by: Cursor <cursoragent@cursor.com>
- assets/styles/layout.css +36 -0
- demo.html +9 -5
|
@@ -48,6 +48,42 @@
|
|
| 48 |
color: #2d2d2a;
|
| 49 |
max-width: 760px;
|
| 50 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 51 |
|
| 52 |
/* --- Sections --- */
|
| 53 |
section {
|
|
|
|
| 48 |
color: #2d2d2a;
|
| 49 |
max-width: 760px;
|
| 50 |
}
|
| 51 |
+
/* Secondary "navigator" paragraph that follows the lede. Drops a step
|
| 52 |
+
in size + weight + saturation so the eye reads it as a follow-up /
|
| 53 |
+
table of contents rather than another full lede paragraph; the inline
|
| 54 |
+
§X references are styled as chip anchors (below) to keep it scannable. */
|
| 55 |
+
.tab-lede p + p.tab-lede__note {
|
| 56 |
+
margin-top: 14px;
|
| 57 |
+
font-size: 14px;
|
| 58 |
+
line-height: 1.6;
|
| 59 |
+
color: #5b5b56;
|
| 60 |
+
}
|
| 61 |
+
/* Inline chip anchors for the §1..§7 section references. Mono + warm
|
| 62 |
+
green border so they read as deliberate "jump-to" markers within
|
| 63 |
+
the prose. Subtle by default, fill in on hover/focus. */
|
| 64 |
+
.lede-chip {
|
| 65 |
+
display: inline-block;
|
| 66 |
+
padding: 0 6px;
|
| 67 |
+
font-family: "JetBrains Mono", ui-monospace, monospace;
|
| 68 |
+
font-size: 11px;
|
| 69 |
+
font-weight: 500;
|
| 70 |
+
letter-spacing: 0.04em;
|
| 71 |
+
color: #1f5024;
|
| 72 |
+
background: rgba(49, 127, 63, 0.06);
|
| 73 |
+
border: 1px solid rgba(49, 127, 63, 0.35);
|
| 74 |
+
border-radius: 3px;
|
| 75 |
+
text-decoration: none;
|
| 76 |
+
vertical-align: 1px; /* nudge up so it sits on the baseline of 14px prose */
|
| 77 |
+
line-height: 1.4;
|
| 78 |
+
transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
|
| 79 |
+
}
|
| 80 |
+
.lede-chip:hover,
|
| 81 |
+
.lede-chip:focus-visible {
|
| 82 |
+
background: rgba(49, 127, 63, 0.16);
|
| 83 |
+
border-color: #317f3f;
|
| 84 |
+
color: #1f1f1d;
|
| 85 |
+
outline: none;
|
| 86 |
+
}
|
| 87 |
|
| 88 |
/* --- Sections --- */
|
| 89 |
section {
|
|
@@ -118,14 +118,18 @@
|
|
| 118 |
DNA, predict what comes next (six bases at a time, autoregressively). That's it — no
|
| 119 |
annotations, no labels, no biology curriculum. Just <em>read DNA, predict more DNA</em>.
|
| 120 |
</p>
|
| 121 |
-
<p>
|
| 122 |
The interesting question is what else falls out of that. We didn't tell Carbon what an
|
| 123 |
exon is. We didn't tell it which mutations are pathogenic. We didn't tell it how genes
|
| 124 |
differ between species. The sections below are ways to read what it picked up
|
| 125 |
-
anyway — autocomplete a gene (
|
| 126 |
-
|
| 127 |
-
|
| 128 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 129 |
<code>HuggingFaceBio/Carbon-3B</code> checkpoint behind a live inference endpoint.
|
| 130 |
</p>
|
| 131 |
</div>
|
|
|
|
| 118 |
DNA, predict what comes next (six bases at a time, autoregressively). That's it — no
|
| 119 |
annotations, no labels, no biology curriculum. Just <em>read DNA, predict more DNA</em>.
|
| 120 |
</p>
|
| 121 |
+
<p class="tab-lede__note">
|
| 122 |
The interesting question is what else falls out of that. We didn't tell Carbon what an
|
| 123 |
exon is. We didn't tell it which mutations are pathogenic. We didn't tell it how genes
|
| 124 |
differ between species. The sections below are ways to read what it picked up
|
| 125 |
+
anyway — autocomplete a gene (<a class="lede-chip" href="#completion">§1</a>), see
|
| 126 |
+
structure emerge in its confidence (<a class="lede-chip" href="#track">§2</a>), score
|
| 127 |
+
a disease variant against a healthy one (<a class="lede-chip" href="#vep">§3</a>),
|
| 128 |
+
recognise a gene's species of origin (<a class="lede-chip" href="#species">§4</a>),
|
| 129 |
+
and then push further into folded protein structure
|
| 130 |
+
(<a class="lede-chip" href="#folding">§5</a>), the embedding manifold
|
| 131 |
+
(<a class="lede-chip" href="#umap">§6</a>), and the species tree
|
| 132 |
+
(<a class="lede-chip" href="#speciesTree">§7</a>). Each demo runs against the public
|
| 133 |
<code>HuggingFaceBio/Carbon-3B</code> checkpoint behind a live inference endpoint.
|
| 134 |
</p>
|
| 135 |
</div>
|