/* The site's one stylesheet, served at /site.css (1.0, D-234): /download/, /docs/ and /release-notes/. The home page
   keeps its own look and takes only the top bar part (between the "top bar" markers: build-site.sh copies it in; it
   uses only --ink, --muted, --ember and --teal, which the home page defines too); its markup is topbar.html beside
   this file. Fonts are self-hosted in /fonts/ (D-111): no other site is asked for anything.
   Light and dark follow the visitor's setting (prefers-color-scheme). */
@font-face{font-family:"Young Serif";font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/young-serif.woff2) format("woff2")}
@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:200 800;src:url(/fonts/manrope.woff2) format("woff2-variations")}
@font-face{font-family:"JetBrains Mono";font-style:normal;font-display:swap;font-weight:100 800;src:url(/fonts/jetbrains-mono.woff2) format("woff2-variations")}
:root{color-scheme:light dark;--ink:#2A1E2C;--muted:#5E5260;--bg:#F6EEDC;--card:#FFFDF6;--line:#E7DCC4;--teal:#2C8C86;
  --ember:#D9542B;--term:#2A1E2C;--term-ink:#FFF4DE;--term-dim:#9ED7D1;--term-btn:#3B2B3D;--term-btn-hover:#4A374C;
  --code:#EFE4CC;--foot:#7E4532;--foot-ink:#F3C9A6}
@media (prefers-color-scheme:dark){
  :root{--ink:#F3E9DA;--muted:#B8AAB5;--bg:#1B1420;--card:#251C2A;--line:#3A2E40;--teal:#62C4BB;--ember:#F07F59;
    --term:#120C15;--term-ink:#F3E9DA;--term-dim:#8FD0CA;--term-btn:#2C2131;--term-btn-hover:#3A2D40;--code:#332839;
    --foot:#140E17;--foot-ink:#B8AAB5}
}
*{box-sizing:border-box;margin:0}
html{-webkit-text-size-adjust:100%}
body{background:var(--bg);color:var(--ink);font:500 16px/1.6 Manrope,system-ui,sans-serif;-webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--teal);outline-offset:3px;border-radius:4px}
.wrap{max-width:1120px;margin:0 auto;padding:0 40px;width:100%}
main{flex:1}

/* top bar */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;height:84px}
.topbar .logo{display:flex;align-items:center;gap:10px;font-family:"Young Serif",Georgia,serif;font-size:24px;color:var(--ink);text-decoration:none}
.topbar .logo svg{flex:none;display:block}
.topbar .tb-links{display:flex;gap:28px;font-weight:600;font-size:15px}
.topbar .tb-links a{color:var(--muted);text-decoration:none;white-space:nowrap;padding:4px 0;border-bottom:2px solid transparent}
.topbar .tb-links a:hover{color:var(--ink)}
.topbar .tb-links a[aria-current=page]{color:var(--ink);border-bottom-color:var(--ember)}
.topbar a:focus-visible{outline:2px solid var(--teal);outline-offset:4px;border-radius:4px}
@media (max-width:600px){
  .topbar{height:64px;gap:14px}
  .topbar .logo span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .topbar .tb-links{gap:16px;font-size:14px}
}
@media (max-width:370px){.topbar .tb-links{gap:12px;font-size:13px}}
/* /top bar */

/* page heads */
.eyebrow{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:700;font-size:12.5px;letter-spacing:.16em;color:var(--teal);text-transform:uppercase}
h1{font-family:"Young Serif",Georgia,serif;font-weight:400;font-size:52px;line-height:1.06;letter-spacing:-.02em;margin:12px 0 14px}
h1 span{color:var(--ember)}
.lede{font-size:18px;line-height:1.55;color:var(--muted);max-width:58ch}
code{font:500 .88em "JetBrains Mono",ui-monospace,monospace;background:var(--code);padding:1px 5px;border-radius:5px;overflow-wrap:anywhere}

/* /download/ */
.narrow{max-width:820px}
.dl main{padding:40px 0 64px}
.dl .fits{margin-top:6px;font-size:14px;color:var(--muted)}
.choices{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:32px}
.choice{min-width:0;background:var(--card);border:1px solid var(--line);border-radius:18px;padding:24px 28px}
.choice h2{font-family:"Young Serif",Georgia,serif;font-weight:400;font-size:26px;line-height:1.2;display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap}
.choice h2 small{font-family:Manrope,system-ui,sans-serif;font-size:14px;font-weight:600;color:var(--muted)}
.choice .next{margin-top:12px;font-size:15px;line-height:1.6;color:var(--muted)}
.choice .next code{color:var(--ink)}
.cmd{display:flex;align-items:stretch;margin-top:14px;background:var(--term);border-radius:14px;overflow:hidden}
.cmd pre{flex:1;min-width:0;overflow-x:auto;padding:15px 18px;color:var(--term-ink);font:500 14.5px/1.5 "JetBrains Mono",ui-monospace,monospace}
.cmd button{border:0;background:var(--term-btn);color:var(--term-ink);font:700 14px Manrope,system-ui,sans-serif;padding:0 20px;cursor:pointer}
.cmd button:hover{background:var(--term-btn-hover)}
.dl .offline{margin-top:22px;font-size:14px;color:var(--muted);overflow-wrap:anywhere}
.go{display:flex;flex-wrap:wrap;gap:10px 26px;margin-top:18px;font-weight:700;font-size:15.5px}
.go a{color:var(--ink)}
.go a:hover{color:var(--ember)}

/* /docs/ */
.docs{display:grid;grid-template-columns:220px minmax(0,1fr);gap:56px;padding:36px 0 72px;align-items:start}
.docs-nav{position:sticky;top:20px}
.docs-nav summary{display:none}
.docs-nav .sec{font-family:"JetBrains Mono",ui-monospace,monospace;font-weight:700;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--teal);margin:22px 0 6px 10px}
.docs-nav .sec:first-child{margin-top:4px}
.docs-nav ul{list-style:none;padding:0}
.docs-nav a{display:block;padding:5px 10px;border-radius:8px;text-decoration:none;color:var(--muted);font-weight:600;font-size:14.5px;line-height:1.4}
.docs-nav a:hover{color:var(--ink)}
.docs-nav a[aria-current=page]{background:var(--card);color:var(--ink);box-shadow:inset 2px 0 0 var(--ember)}
.doc{min-width:0;max-width:74ch}
.doc h1{font-size:46px;margin-top:0}
.doc h2{font-family:"Young Serif",Georgia,serif;font-weight:400;font-size:26px;line-height:1.25;margin:40px 0 10px;scroll-margin-top:16px}
.doc h3{font-size:16px;font-weight:800;margin:24px 0 6px}
.doc p,.doc ul{margin:12px 0}
.doc ul{padding-left:22px}
.doc li{margin:5px 0}
.doc .step{display:flex;gap:12px;align-items:flex-start;margin:10px 0}
.doc .step .n{flex:none;width:24px;height:24px;border-radius:50%;background:var(--ink);color:var(--bg);font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center;margin-top:1px}
.doc .step>div{min-width:0}
pre.term{background:var(--term);color:var(--term-ink);font:500 13.5px/1.55 "JetBrains Mono",ui-monospace,monospace;padding:14px 16px;border-radius:12px;overflow-x:auto;margin:16px 0}
pre.term .p{color:var(--term-dim)}
.doc figure{margin:18px 0}
.doc figure img{display:block;max-width:100%;height:auto;border:1px solid var(--line);border-radius:10px}
.doc figcaption{font-size:13.5px;color:var(--muted);margin-top:6px}
.doc .toc h2{margin-top:28px}
.doc .toc ul{list-style:none;padding:0}
.doc .toc a{font-weight:700}
@media (max-width:860px){
  .docs{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:12px}
  .docs-nav{position:static;background:var(--card);border:1px solid var(--line);border-radius:14px}
  .docs-nav summary{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;font-weight:700;cursor:pointer;list-style:none}
  .docs-nav summary::-webkit-details-marker{display:none}
  .docs-nav summary:after{content:"";width:8px;height:8px;border-right:2px solid var(--ink);border-bottom:2px solid var(--ink);transform:rotate(45deg) translateY(-2px)}
  .docs-nav[open] summary:after{transform:rotate(-135deg) translateY(-2px)}
  .docs-nav nav{padding:0 6px 12px}
  .docs-nav .sec:first-child{margin-top:8px}
  .doc h1{font-size:38px}
}

/* /release-notes/ */
.notes{padding:40px 0 72px;max-width:74ch}
.notes .lede{margin-bottom:28px}
.entry{border-top:1px solid var(--line);padding:28px 0 8px;scroll-margin-top:16px}
/* Version numbers in the body face: Young Serif's old-style zero reads as an "o". */
.entry h2{font-weight:800;font-size:28px;line-height:1.2;letter-spacing:-.01em}
.entry h2 a{text-decoration:none}
.entry .date{font-family:"JetBrains Mono",ui-monospace,monospace;font-size:13px;color:var(--muted);margin-top:2px}
.entry h3{font-size:16px;font-weight:800;margin:20px 0 4px}
.entry p,.entry ul{margin:8px 0}
.entry ul{padding-left:22px}
.entry li{margin:4px 0}

footer{background:var(--foot);color:var(--foot-ink);font-size:13px;padding:22px 0;font-weight:500}
footer a{color:inherit}
footer .lic{display:block;margin-top:6px;opacity:.85}

@media (max-width:600px){
  .wrap{padding:0 16px}
  h1{font-size:40px}
  .lede{font-size:16.5px}
  .choice{padding:20px}
  .choice h2{font-size:23px}
  .cmd{flex-direction:column}
  /* The whole command stays readable before anyone runs it: soft wraps, Copy still copies one line. */
  .cmd pre{white-space:pre-wrap;overflow-wrap:anywhere;overflow-x:visible}
  .cmd button{padding:12px}
  pre.term{font-size:12.5px}
  .doc h1{font-size:34px}
  .doc h2{font-size:23px}
  .entry h2{font-size:27px}
}
/* Wide screens (a 4K TV): the whole page zooms in .25 steps from 1800 px, as the home page does (build-site.sh).
   Under zoom 100vh counts zoomed: fill the screen with percentages, footer at the bottom. */
@media (min-width:1800px){html{height:100%}body{min-height:100%}}
@media (min-width:1800px){html{zoom:1.25}}
@media (min-width:2160px){html{zoom:1.5}}
@media (min-width:2520px){html{zoom:1.75}}
@media (min-width:2880px){html{zoom:2}}
@media (min-width:3240px){html{zoom:2.25}}
@media (min-width:3600px){html{zoom:2.5}}
@media (min-width:3960px){html{zoom:2.75}}
@media (min-width:4320px){html{zoom:3}}
@media (min-width:4680px){html{zoom:3.25}}
@media (min-width:5040px){html{zoom:3.5}}
@media (min-width:5400px){html{zoom:3.75}}
@media (min-width:5760px){html{zoom:4}}
