/* Taken from https://tug.org/~mseven/style.css */ :root { --color-light:hsl(32, 98%, 92%); --color-light-semi:hsl(32, 35%, 65%); --color-light-faded:hsl(32, 20%, 40%); --color-dark:hsl(32, 80%, 8%); --color-dark-semi:hsl(32, 35%, 28%); --color-dark-faded:hsl(32, 20%, 60%); --color-blue:hsl(213, 90%, 33%); --color-purple:hsl(280, 90%, 37%); --color-light-blue:hsl(213, 85%, 75%); --color-light-purple:hsl(280, 84%, 75%); --heading-ratio:0.7071067811865476; --heading-base:2.5rem; --linespread:1.3; --margin-big:1rem; --margin-small:0.5rem; --base-font-size:1.125rem; --page-margin:15px; --max-page-width:55rem; --margin-width:calc((100vw - var(--max-page-width)) / 2) } @media (max-width:55rem) { :root { --margin-width:var(--page-margin) } } :root { --color-background:var(--color-light); --color-text:var(--color-dark); --color-link:var(--color-blue); --color-link-followed:var(--color-purple); --color-faded:var(--color-dark-faded); --color-semi:var(--color-dark-semi) } /* @media (prefers-color-scheme:dark) { :root { --color-background:var(--color-dark); --color-text:var(--color-light); --color-link:var(--color-light-blue); --color-link-followed:var(--color-light-purple); --color-faded:var(--color-light-faded); --color-semi:var(--color-light-semi) } img.dark, svg { filter:invert(1) hue-rotate(180deg) saturate(140%)!important } } */ *, ::after, ::before { box-sizing:border-box; text-rendering:optimizeLegibility } [hidden] { display:none!important } [hidden][aria-hidden=false] { position:absolute; display:initial!important; clip:rect(0,0,0,0); clip-path:inset(100%) } html { color:var(--color-text); background-color:var(--color-background) } a:link, a:visited { color:var(--color-link); /* text-decoration:none */ text-decoration-color:lightgrey; } a:visited { color:var(--color-link-followed) } a:hover, code .token.url { text-decoration:underline; text-decoration-color:lightgrey; } body { display:grid; justify-items:center; margin:var(--page-margin); font-size:var(--base-font-size); font-family:ui-sans-serif,system-ui,sans-serif; line-height:var(--linespread); hyphens:auto; font-variant-ligatures:common-ligatures contextual; font-kerning:normal } body * { min-width:0 } :focus-visible { border-radius:4px; outline:2px solid var(--color-text); outline-offset:2px } ::selection { background-color:var(--color-faded) } :root, pre { scrollbar-width:thin; scrollbar-color:var(--color-faded) var(--color-background) } :is(:root, pre)::-webkit-scrollbar { width:8px; height:8px } :is(:root, pre)::-webkit-scrollbar-track { background:var(--color-background) } :is(:root, pre)::-webkit-scrollbar-thumb { background-color:var(--color-faded) } h1 { text-align:center; margin-bottom:0; margin-top:1rem; font-size:max(var(--heading-base),var(--base-font-size)); } header { padding-bottom:0.28rem; border-bottom:1px solid var(--color-faded); margin-bottom:var(--margin-big); } h2 { font-size:max(calc(var(--heading-base)*var(--heading-ratio)),var(--base-font-size)) } h2, h3, h4, h5 { margin-top:var(--margin-big); margin-bottom:var(--margin-small) } h1, h2, h3 { font-weight:700 } h3 { font-size:max(calc(var(--heading-base)*var(--heading-ratio)*var(--heading-ratio)),var(--base-font-size)) } h4, h5 { font-weight:500 } h4 { font-size:max(calc(var(--heading-base)*var(--heading-ratio)*var(--heading-ratio)*var(--heading-ratio)),var(--base-font-size)); font-style:italic } h5 { font-size:calc(var(--base-font-size)*.9); color:var(--color-semi) } :is(h1, h2, h3, h4, h5)+* { margin-top:0 } p { margin-top:var(--margin-small); margin-bottom:var(--margin-small); position:relative } code { font-family:ui-monospace,monospace; overflow-wrap:anywhere; hyphens:none } article, body nav, footer, header, section { display:block; width:100%; max-width:var(--max-page-width) } section#see-also { margin-top: 5rem; } code.block { display:block; max-width:100% } footer { margin-top:1em; padding-top:0; border-top:1px solid var(--color-faded) } footer ul { display:flex; flex-wrap:wrap; justify-content:flex-end; margin:0; padding:0 } footer ul li { display:inline; list-style-type:none } footer ul li:first-of-type { margin-right:auto } footer li:not(:last-child):not(:first-child)::after { content:" • " } nav ul { display:flex; flex-wrap:wrap; justify-content:center; margin:0; padding:0 } nav ul li { display:inline; list-style-type:none } nav li:not(:last-child)::after { content:" • " } abbr { text-decoration:none; font-variant-caps:all-small-caps; font-variant-numeric:oldstyle-nums; font-size:1.075em } svg { width:100%; height:fit-content; max-height:90vh; padding:1rem; background-color:hsla(0,0%,100%,0%); filter:invert(0) hue-rotate(0deg) saturate(120%); transition:all 250ms ease-out } img.dark:hover, svg:hover { background-color:hsla(0,0%,100%,100%); filter:invert(0) hue-rotate(0deg) saturate(100%)!important; transition:all 250ms ease-in } pre { max-width:calc(100vw - var(--page-margin)*2); overflow-x:auto; hyphens:none; margin:calc(2*var(--margin-small))0 } pre.scroll { overflow-y:auto; max-height:90vh } th { text-align:right; font-weight:400 } thead th { font-weight:700 } td, th { padding:0 1ch } dd { margin-bottom:var(--margin-small) } /* li { margin-bottom:var(--margin-small) } */ figure { display:flex; align-items:center; justify-content:center; flex-direction:column } figcaption { font-style:italic } @media (min-width:70em) { span.sidenote { float:left; font-size:80%; text-align:right; position:absolute; --sidenote-width:calc(var(--margin-width) - 1rem - var(--page-margin)); width:var(--sidenote-width); left:calc(-1*var(--sidenote-width) - 1rem); top:0 } } @media (max-width:70em) { span.sidenote { display:block; font-size:80%; margin-top:1em; margin-left:3em } } ul.inline { padding-left:0 } ul.inline>li { display:inline; list-style-type:none } @media (min-width:55rem) { ul.inline>li { white-space:nowrap } } :is(ul.inline>li):not(:first-child)::before { content:" • " } dd>p { margin-top:0 } dl.bold>dt, summary { font-weight:500 } /* header p { font-style:italic; position:absolute; right:var(--margin-width) } */ summary { list-style-position:outside } slot:not([name]) { display: none; } :host([open]) slot:not([name]) { display: revert; } summary { display: list-item; counter-increment: list-item 0; list-style: disclosure-closed inside; } :host([open]) summary { list-style-type: disclosure-open; } nav { text-align: center; } article li + li { margin-top: 0.5rem; }