/* Generated by cloudflare/pages/generate-asset-pages.mjs (FBY-957). */
.fb-a-body{margin:0;background:hsl(var(--background,40 40% 98%));color:hsl(var(--foreground,0 0% 11%));font-family:var(--fb-font-body,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif);-webkit-font-smoothing:antialiased;}
.fb-a-skip{position:absolute;left:-9999px;top:0;padding:8px 12px;background:hsl(var(--card,40 50% 99%));}
.fb-a-skip:focus{left:8px;z-index:10;}
.fb-a-shell{margin:0 auto;width:100%;max-width:860px;padding:0 20px 64px;box-sizing:border-box;}
.fb-a-top{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 0;border-bottom:1px solid hsl(var(--border,42 15% 87%));}
.fb-a-wordmark{font-weight:600;font-size:16px;letter-spacing:-0.01em;}
.fb-a-crumbs{padding:20px 0 0;font-size:13px;color:hsl(var(--muted-foreground,60 1% 37%));}
.fb-a-crumbs a{color:inherit;}
.fb-a-h1{margin:12px 0 0;font-family:var(--fb-font-serif,Georgia,serif);font-weight:400;font-size:clamp(30px,5vw,44px);line-height:1.12;letter-spacing:-0.015em;}
.fb-a-dek{margin:12px 0 0;font-size:17px;line-height:1.6;color:hsl(var(--muted-foreground,60 1% 37%));max-width:60ch;}
.fb-a-preview{position:relative;margin:28px 0 0;display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;width:100%;max-width:440px;border:1px solid hsl(var(--border,42 15% 87%));border-radius:14px;background:hsl(var(--card,40 50% 99%));overflow:hidden;}
/* Measured 2026-08-25: every published still is a 64x64 PNG of 1-3 KB. Shown
   at 3x rather than filling the box, because a 64-pixel render stretched to
   440 is mush — the box is sized for the 3D canvas FBY-958 lays over it, and
   the picture underneath is shown at a size it can survive. */
.fb-a-still{width:100%;max-width:192px;height:auto;aspect-ratio:1 / 1;object-fit:contain;display:block;}
.fb-a-nostill{margin:0;padding:24px;max-width:44ch;text-align:center;font-size:15px;line-height:1.6;color:hsl(var(--muted-foreground,60 1% 37%));}
.fb-a-actions{margin:20px 0 0;display:flex;flex-wrap:wrap;gap:12px;align-items:center;}
.fb-a-download{display:inline-block;padding:11px 18px;border-radius:9px;background:hsl(var(--foreground,0 0% 11%));color:hsl(var(--background,40 40% 98%));font-size:15px;font-weight:600;text-decoration:none;}
.fb-a-download:hover{opacity:.88;}
.fb-a-note{margin:0;font-size:13px;color:hsl(var(--muted-foreground,60 1% 37%));}
.fb-a-section{margin:44px 0 0;padding:28px 0 0;border-top:1px solid hsl(var(--border,42 15% 87%));}
.fb-a-h2{margin:0 0 16px;font-family:var(--fb-font-serif,Georgia,serif);font-weight:400;font-size:22px;line-height:1.25;}
.fb-a-facts{margin:0;display:grid;grid-template-columns:minmax(120px,180px) 1fr;gap:0;}
.fb-a-facts dt{padding:9px 0;font-size:14px;font-weight:600;border-top:1px solid hsl(var(--border,42 15% 87%));}
.fb-a-facts dd{margin:0;padding:9px 0;font-size:14px;line-height:1.55;color:hsl(var(--muted-foreground,60 1% 37%));border-top:1px solid hsl(var(--border,42 15% 87%));word-break:break-word;}
.fb-a-facts dt:first-of-type,.fb-a-facts dd:first-of-type{border-top:0;}
.fb-a-prose{margin:0;font-size:16px;line-height:1.65;max-width:62ch;color:hsl(var(--muted-foreground,60 1% 37%));}
.fb-a-prose strong{color:hsl(var(--foreground,0 0% 11%));font-weight:600;}
.fb-a-tags{margin:0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:8px;}
.fb-a-tags li{padding:5px 11px;border:1px solid hsl(var(--border,42 15% 87%));border-radius:999px;font-size:13px;color:hsl(var(--muted-foreground,60 1% 37%));}
.fb-a-grid{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;}
.fb-a-grid a{display:block;padding:12px 14px;border:1px solid hsl(var(--border,42 15% 87%));border-radius:10px;font-size:14px;text-decoration:none;color:inherit;}
.fb-a-grid a:hover{background:hsl(var(--muted,42 20% 93%));}
.fb-a-count{display:block;margin-top:3px;font-size:12px;color:hsl(var(--muted-foreground,60 1% 37%));}
.fb-a-foot{margin:56px 0 0;padding:24px 0 0;border-top:1px solid hsl(var(--border,42 15% 87%));font-size:13px;color:hsl(var(--muted-foreground,60 1% 37%));display:flex;flex-wrap:wrap;gap:16px;}
a{color:hsl(var(--foreground,0 0% 11%));}
.fb-a-h3{margin:28px 0 12px;font-size:15px;font-weight:600;letter-spacing:0.01em;}
.fb-a-h3:first-of-type{margin-top:0;}
.fb-a-h3 a{color:inherit;}
/* FBY-960. The search box is written into the page but starts hidden, because a
   page that ships no JavaScript would otherwise show a box that does nothing:
   the island removes the attribute. The !important is because [hidden] loses to
   any display rule, and this section is a grid when it is showing. */
.fb-a-search[hidden]{display:none!important;}
.fb-a-search-label{display:block;margin:0 0 8px;font-size:14px;}
.fb-a-search-input{width:100%;max-width:520px;box-sizing:border-box;padding:11px 14px;font:inherit;font-size:16px;color:inherit;background:hsl(var(--card,40 50% 99%));border:1px solid hsl(var(--border,42 15% 87%));border-radius:10px;}
.fb-a-search-input:focus-visible{outline:2px solid hsl(var(--foreground,0 0% 11%));outline-offset:1px;}
.fb-a-search-status{margin:12px 0 0;font-size:13px;color:hsl(var(--muted-foreground,60 1% 37%));}
.fb-a-search-results{margin:16px 0 0;}
.fb-a-search-results:empty{display:none;}
.fb-a-thumb{float:left;width:34px;height:34px;margin:-2px 10px 0 0;object-fit:contain;background:hsl(var(--muted,42 20% 93%));border-radius:6px;}
@media (max-width:560px){.fb-a-facts{grid-template-columns:1fr;}.fb-a-facts dd{padding-top:0;border-top:0;}}
