Runs/circle · sample · Fable 5.1/008
circle · sample · Fable 5.1 · trial 008 of 32
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.0">
<title>ae683f770</title>
<style>
*,
*::before,
*::after {
box-sizing: border-box;
margin: 0;
padding: 0;
}
body {
min-height: 100vh;
min-height: 100dvh;
display: grid;
place-items: center;
}
svg {
display: block;
width: min(400px, 100vmin);
height: auto;
aspect-ratio: 1;
}
</style>
</head>
<body>
<svg id="ae683f770" viewBox="0 0 400 400" role="img" aria-labelledby="ae683f770-title">
<title id="ae683f770-title">Black circle</title>
<circle cx="200" cy="200" r="200"/>
</svg>
</body>
</html>
What the model said
I tidied up `0.html` without changing how it looks on a normal desktop screen: it is still a 400px black circle centred on the page. I haven't opened it in a browser to check.
## What changed
- **No stray horizontal scrollbar:** removed `width: 100vw` from `body`, which overflows whenever a vertical scrollbar is present.
- **Better mobile height:** `height: 100vh` became `min-height: 100dvh`, with `100vh` kept as a fallback, so the circle stays centred when mobile browser toolbars show or hide.
- **Scales on small screens:** the SVG is now `width: min(400px, 100vmin)` instead of a fixed 400px, so it shrinks rather than being clipped on narrow viewports.
- **Accessible:** the SVG has `role="img"` and a `<title>` ("Black circle") so screen readers announce it.
- **Small CSS cleanup:** added `box-sizing: border-box` to the reset, switched centring to `grid` with `place-items: center`, and set the SVG to `display: block`.
## What I left alone
- **Page title and id:** `ae683f770` looks generated, so I kept it. A descriptive `<title>` would be better if this page is meant for people to see.
- **Dark mode:** the circle is still hard-coded black on the default white background. Adding `color-scheme: light dark` with `fill: currentColor` would make it adapt, but that changes the look, so I didn't do it.