Runs/html · chain · Fable 5.1/028
html · chain · Fable 5.1 · step 028 of 64
offline render, Chrome 154, light scheme, 2 s of virtual time
runs in a sandboxed frame with no origin; live pages may fetch CDN fonts the offline render did not
<!DOCTYPE html>
<html lang="en">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
<meta name="color-scheme" content="light dark">
<title>0</title>
<link rel="icon" href="data:,">
<style>
html {
-webkit-text-size-adjust: 100%;
text-size-adjust: 100%;
}
body {
max-inline-size: 40rem;
margin-block: 0;
margin-inline: auto;
padding:
max(1.5rem, env(safe-area-inset-top))
max(1.5rem, env(safe-area-inset-right))
max(1.5rem, env(safe-area-inset-bottom))
max(1.5rem, env(safe-area-inset-left));
font: 100%/1.5 system-ui, sans-serif;
overflow-wrap: break-word;
}
h1, h2, h3, h4, h5, h6 {
margin-block: 0 1rem;
line-height: 1.2;
text-wrap: balance;
}
h1 {
font-size: clamp(2rem, 1.5rem + 2.5vi, 3rem);
}
:is(h2, h3, h4, h5, h6):not(:first-child) {
margin-block-start: 2rem;
}
p, ul, ol, dl, blockquote, pre, table, figure, details, address, fieldset {
margin-block: 0 1rem;
}
hr {
margin-block: 2rem;
border: 0;
border-block-start: 1px solid;
}
a {
text-underline-offset: 0.15em;
}
p, li, dd, blockquote, figcaption {
text-wrap: pretty;
}
figure {
margin-inline: 0;
}
blockquote {
margin-inline: 0;
padding-inline-start: 1rem;
border-inline-start: 0.25rem solid;
}
dt {
font-weight: bold;
}
dd {
margin-inline-start: 1.5rem;
}
li > ul, li > ol {
margin-block-end: 0;
}
pre, code, kbd, samp {
font-family: ui-monospace, monospace;
font-size: 1em;
}
pre {
overflow-x: auto;
tab-size: 2;
}
sub, sup {
line-height: 0;
}
button, input, select, optgroup, textarea, ::file-selector-button {
font: inherit;
letter-spacing: inherit;
box-sizing: border-box;
}
fieldset {
min-inline-size: 0;
margin-inline: 0;
}
textarea {
resize: vertical;
}
table {
display: block;
max-inline-size: 100%;
overflow-x: auto;
border-collapse: collapse;
font-variant-numeric: tabular-nums;
}
th, td {
padding: 0.25rem 0.5rem;
border-block-end: 1px solid;
text-align: start;
vertical-align: top;
}
caption {
padding: 0.25rem 0.5rem;
text-align: start;
}
summary {
cursor: pointer;
}
:focus-visible {
outline: 2px solid;
outline-offset: 2px;
}
:target {
scroll-margin-block-start: 1.5rem;
}
:is(main, blockquote, li, dd, td, th, fieldset, details) > :last-child {
margin-block-end: 0;
}
iframe {
border: 0;
}
img, svg, video, canvas, audio, iframe, embed, object, button, input, select, textarea {
max-inline-size: 100%;
}
img, svg, video, canvas {
vertical-align: middle;
}
img, svg[viewBox], video, canvas {
block-size: auto;
}
[hidden]:not([hidden="until-found" i]) {
display: none !important;
}
details[open] > summary {
margin-block-end: 0.5rem;
}
@media print {
body {
max-inline-size: none;
padding: 0;
}
h1, h2, h3, h4, h5, h6 {
break-after: avoid;
}
p, li, dd, blockquote {
orphans: 3;
widows: 3;
}
a[href^="http"]::after {
content: " (" attr(href) ")";
font-size: 0.875em;
}
pre {
white-space: pre-wrap;
}
table {
display: table;
}
img, svg, video, canvas, figure, blockquote, tr, fieldset {
break-inside: avoid;
}
}
</style>
<main>
<h1>0</h1>
</main>
what changed from step 027
+6 / -0 lines
block-size: auto; }+ [hidden]:not([hidden="until-found" i]) {+ display: none !important;+ }+ details[open] > summary {+ margin-block-end: 0.5rem;+ } @media print { body {
What the model said
I made two small fixes to `0.html`; the file was already in good shape, so I left the rest alone. Neither change has been tested in a browser.
- **`hidden` now works on tables.** The `table { display: block }` rule (and `display: table` in print) overrode the browser's `hidden` styling, so `<table hidden>` would still have displayed. I added a rule that enforces `hidden`, leaving `hidden="until-found"` alone so find-in-page reveal still works.
- **Open `<details>` has spacing.** The summary sat flush against the content below it when expanded; it now has a 0.5rem gap.
One thing I left as is: `display: block` on tables can strip table semantics for screen readers in older Safari versions. The robust fix is wrapping tables in a scrollable `<div>`, which means changing markup rather than CSS, so it is only worth doing if you expect real data tables.
The page content is still just the title and heading "0", with no meta description. If "improve" meant the content or visual design rather than the base stylesheet, tell me what the page is for and I'll take it from there.