Runs/circle · chain · Fable 5.1/030
circle · chain · Fable 5.1 · step 030 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">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="color-scheme" content="light dark">
<meta name="description" content="A circle.">
<title>Circle</title>
<link rel="icon" href="data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='-1%20-1%202%202'%3E%3Cstyle%3E@media%20(prefers-color-scheme:dark)%7Bcircle%7Bfill:%23fff%7D%7D%3C/style%3E%3Ccircle%20r='1'/%3E%3C/svg%3E">
<style>
body {
margin: 0;
min-height: 100vh;
min-height: 100dvh;
display: grid;
place-items: center;
}
h1 {
margin: 0;
}
svg {
display: block;
width: min(25rem, 100vmin - 2rem);
width: min(25rem, 100dvmin - 2rem);
fill: currentColor;
overflow: visible;
}
</style>
</head>
<body>
<main>
<h1>
<svg viewBox="-1 -1 2 2" role="img" aria-label="Circle">
<circle r="1"/>
</svg>
</h1>
</main>
</body>
</html>
what changed from step 029
Nothing. The file is byte-identical to step 029.
What the model said
I reviewed `0.html` and made no changes: I couldn't find anything that would be a real improvement rather than churn. I read the source only and did not render it in a browser. What it already handles: - **Layout:** the circle is centred with grid, uses `dvh`/`dvmin` with `vh`/`vmin` fallbacks, and keeps a 1rem margin on small viewports. - **Theming:** `color-scheme: light dark` plus `fill: currentColor` makes the circle follow light mode, dark mode and forced colours with no media queries. The favicon adapts to dark mode too. - **Accessibility:** it has `lang`, a `main` landmark, an `h1`, and an SVG with `role="img"` and an accessible name. - **Rendering:** `overflow: visible` stops the anti-aliased edge being clipped, and `display: block` removes the inline baseline gap. The things I considered and rejected were a `theme-color` meta, an SVG `<title>`, `shape-rendering`, and a `max(0px, …)` guard on the width. Each adds bytes without changing behaviour in any current browser. If you had a particular direction in mind, such as a different look, animation, interactivity or older-browser support, tell me which and I'll make that change.