@layer base,layout,pages,components;@layer base{:root{--cream: #f3e9d2;--black: #111111;--white: #ffffff;--grey: #777268;--cherry: #c81d25;--dark-red: #7a1217;--light-teal: #32b397;--vivid-teal: #186859;--bg: var(--cream);--text: var(--black);--line: #c6beac;--code-bg: #c8eae3;--heading-shadow-color: rgba(50, 179, 151, .35);--heading-shadow: 0 .07em 0 var(--heading-shadow-color);--rule-thick: 3px;--rule-thin: 2px;--syntax-kw: var(--dark-red);--syntax-type: #164e43;--syntax-const: #7f181d;--syntax-str: #15453c;--syntax-comment: #4a4742;--serif: "Fraunces", Georgia, "Times New Roman", serif;--mono: "Fira Code", "Fira Mono", Monaco, Menlo, Consolas, monospace;--sans: "Fira Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}}@layer base{@font-face{font-family:Fraunces;font-weight:900;src:url(/fonts/Fraunces-900-opsz24.ttf) format("truetype");font-display:swap}@font-face{font-family:Fira Sans;font-weight:400;src:url(/fonts/FiraSans-400.ttf) format("truetype");font-display:swap}@font-face{font-family:Fira Sans;font-style:italic;font-weight:400;src:url(/fonts/FiraSans-400italic.ttf) format("truetype");font-display:swap}@font-face{font-family:Fira Sans;font-weight:600;src:url(/fonts/FiraSans-600.ttf) format("truetype");font-display:swap}@font-face{font-family:Fira Code;font-weight:500;src:url(/fonts/FiraCode-500.ttf) format("truetype");font-display:swap}@font-face{font-family:Fira Code;font-weight:700;src:url(/fonts/FiraCode-700.ttf) format("truetype");font-display:swap}}@layer base{*{box-sizing:border-box}html{font:400 112.5%/1.65 var(--sans);scroll-padding-top:.75rem}body{display:flex;flex-direction:column;min-height:100dvh;margin:0;background:var(--bg);color:var(--text)}main{flex:1;width:100%}strong,b{font-weight:600}p,li{text-wrap:pretty}h1,h2,h3,h4,.brand{font-family:var(--serif);font-weight:900;font-variant-caps:small-caps;line-height:1.2;color:var(--cherry);text-shadow:var(--heading-shadow)}h1{font-size:2.25rem}h2{font-size:1.6rem}h3,h4{color:var(--dark-red)}h3{font-size:1.25rem}h4{font-size:1.05rem}a{color:var(--text);text-decoration-color:var(--light-teal);text-decoration-thickness:var(--rule-thin);text-underline-offset:3px;&:has(>code){text-underline-offset:5px}&:hover{text-decoration-color:var(--vivid-teal)}}}@layer base{code,pre{font-family:var(--mono);font-size:.85em;font-weight:500}:not(pre)>code{background:var(--code-bg);padding:.1em .3em;border-radius:3px}pre{background:var(--code-bg);padding:.9rem 1rem;border-left:var(--rule-thick) solid var(--light-teal);border-radius:0 4px 4px 0;overflow-x:auto;line-height:1.5;tab-size:4;& code{font-size:1em}}:is(h1,h2,h3,h4) code{font-variant-caps:normal;font-weight:700;font-size:.9em;text-shadow:none;background:none;padding:0}}@layer layout{.wrap{max-width:64rem;margin:0 auto;padding:0 1.5rem}.site-header{background:var(--cherry);border-bottom:var(--rule-thick) solid var(--light-teal)}.bar{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;padding-block:.75rem}.brand{margin:0;font-size:1.5rem;color:var(--white);text-shadow:0 1px 0 var(--dark-red);text-decoration:none}nav{display:flex;align-items:center;gap:.5rem;& a{display:inline-block;padding:.2rem .55rem;background:var(--vivid-teal);color:var(--white);border-radius:3px;box-shadow:var(--rule-thin) var(--rule-thin) 0 var(--light-teal);font-size:.85rem;font-weight:600;line-height:1.2;letter-spacing:.01em;text-decoration:none}& a:hover,a[aria-current]{background:var(--light-teal);color:var(--black);box-shadow:var(--rule-thin) var(--rule-thin) 0 var(--vivid-teal)}}.button,button{display:inline-block;padding:.55rem 1.2rem;background:var(--vivid-teal);color:var(--white);border:0;border-radius:4px;box-shadow:var(--rule-thin) var(--rule-thin) 0 var(--light-teal);font-family:var(--sans);font-size:.95rem;font-weight:600;text-decoration:none;cursor:pointer;&:hover,&:focus-visible{background:var(--cherry)}}.hero{padding:4rem 0 2.5rem;text-align:center;border-bottom:1px solid var(--line);& h1{font-size:clamp(2.6rem,8vw,4.2rem);margin:0;text-wrap:balance}.button{margin-top:1rem}}.tagline{font-size:1.25rem;text-wrap:balance}.content{padding-block:2rem;.embed &{padding-top:0}&:has(>h1:first-child){padding-top:1rem}.embed &:has(>h1:first-child){padding-top:0}>h1:first-child{margin-top:0}& h2{margin-top:2.5rem;border-bottom:var(--rule-thin) solid var(--cherry);box-shadow:0 var(--rule-thick) 0 var(--light-teal);padding-bottom:.2rem}& h3,h4{margin-top:2rem}& li::marker{color:var(--cherry)}& li+li{margin-top:.4rem}& table{width:100%;border-collapse:collapse;margin-block:1.5rem}& th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}& th{font-weight:600;background:var(--code-bg);border-bottom:var(--rule-thin) solid var(--light-teal)}& td:has(>code:only-child){white-space:nowrap}}.card,.home :is(ol,ul)>li{min-width:0;margin:0;background:color-mix(in srgb,var(--white) 70%,var(--cream));border-radius:6px;overflow:hidden;box-shadow:var(--rule-thin) var(--rule-thick) 0 color-mix(in srgb,var(--line) 45%,var(--cream))}.card-heading{display:flex;align-items:center;gap:.5rem;padding:.8rem 1rem;background:var(--cherry);box-shadow:inset 0 calc(-1 * var(--rule-thin)) 0 var(--light-teal);color:var(--white);:is(h2,h3){margin:0;padding:0;border:0;box-shadow:none;font-size:1.1rem;font-weight:900;color:inherit;text-shadow:none;text-wrap:balance}}.card-mark{display:flex;order:1;flex:0 0 1.5rem;margin-left:auto;justify-content:flex-end;align-items:center;gap:.75rem;& svg{display:block;width:1.25rem;height:1.25rem}}.card-copy{padding:1.25rem 1rem 1.5rem;margin:0}.site-footer{background:var(--vivid-teal);color:var(--white);border-top:var(--rule-thick) solid var(--cherry);box-shadow:inset 0 var(--rule-thick) 0 var(--light-teal);font-size:.95rem;padding-block:2.5rem 1.5rem;margin-top:3rem;& h2{margin-top:0;margin-bottom:.75rem;padding-bottom:.25rem;font-size:1.35rem;color:var(--white);text-shadow:none;border-bottom:var(--rule-thin) solid var(--light-teal)}& p{margin-block:0 .75rem;&:last-child{margin-bottom:0}}.copyright{margin-block:1.5rem 0;padding-top:1rem;border-top:var(--rule-thin) solid var(--light-teal);font-size:.85rem}& a{color:var(--white);font-weight:600;text-decoration-color:var(--light-teal);&:hover{text-decoration-color:var(--white)}}}.footer-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem;@media(width<=48rem){grid-template-columns:1fr;gap:1.5rem}}}@layer pages{.home{& ol,ul{list-style:none;padding:0;margin-block:1.75rem 3.5rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;counter-reset:step}& ol li{counter-increment:step}& ol .card-mark:before{content:counter(step,decimal-leading-zero);font-family:var(--sans);font-size:.85rem;font-weight:600;line-height:1}& ol .card-mark svg{display:none}& ol li:last-child:nth-child(odd){grid-column:1 / -1}@media(width<=44rem){& ol,ul{grid-template-columns:1fr}}}}@layer components{.chroma{color:var(--text);background-color:var(--code-bg);:is(.k,.kd,.kn,.kp,.kr){color:var(--syntax-kw);font-weight:700}:is(.kt,.nb,.bp){color:var(--syntax-type)}:is(.kc,.m,.mi,.mf,.mh,.mo,.mb,.se,.si){color:var(--syntax-const)}:is(.s,.s1,.s2,.sb,.sc,.sd,.sh,.sx,.sr,.ss){color:var(--syntax-str)}:is(.c,.c1,.cm,.cs,.ch){color:var(--syntax-comment);font-style:italic}:is(.nf,.fm){color:var(--text);font-weight:700}:is(.o,.p,.n,.nx){color:var(--text)}}}@layer components{.godoc-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;& pre{margin:0}}.godoc-heading{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .5rem;padding:.35rem .75rem;background:var(--vivid-teal);color:var(--white);border:var(--rule-thin) solid var(--light-teal);border-radius:4px;font-family:var(--mono);font-size:1.05rem;font-weight:700;font-variant-caps:normal;text-shadow:0 1px 0 var(--black);& code{font-size:1em;text-shadow:inherit}}.godoc-heading-type{background:var(--cherry);border-color:var(--dark-red);text-shadow:0 1px 0 var(--dark-red)}.godoc-value{margin-block:1rem;& pre a{color:inherit;text-decoration-color:var(--light-teal);text-decoration-thickness:1px;text-underline-offset:3px;&:hover{text-decoration-color:var(--vivid-teal);text-decoration-thickness:var(--rule-thin)}}}:is(h2[id],.godoc-heading){position:relative;& a:not(.source){color:inherit;text-decoration:none;&:hover{text-decoration:underline;text-decoration-color:var(--light-teal);text-decoration-thickness:var(--rule-thin);text-underline-offset:3px}&:hover:has(>code){text-underline-offset:4px}}>a:not(.source):before{content:"\a7";position:absolute;right:100%;top:50%;transform:translateY(-58%);padding-right:.45rem;color:var(--vivid-teal);font-family:var(--serif);font-weight:900;font-size:1.15rem;line-height:1;text-shadow:1px 1px 0 var(--light-teal)}>a:not(.source):hover:before{color:var(--cherry)}}.source{font-family:var(--sans);font-size:.8rem;font-weight:400;font-variant-caps:normal;text-shadow:none;.godoc-heading &{margin-left:auto;padding-bottom:.15rem;line-height:1;color:inherit;text-decoration-color:currentcolor}}.godoc-index{& li+li{margin-top:.2rem}& ul{margin-top:.2rem;padding-left:1.25rem}}.godoc-example{margin-block:1rem;border:1px solid var(--line);border-radius:4px;padding:.5rem 1rem;& summary{cursor:pointer;font-weight:600}&[open] summary{margin-bottom:.5rem}}.pkg-list{width:100%;border-collapse:collapse;& th,td{text-align:left;padding:.6rem .5rem;border-bottom:1px solid var(--line);vertical-align:top}& th{font-weight:600;background:var(--code-bg);border-bottom:var(--rule-thin) solid var(--light-teal)}& td:first-child{white-space:nowrap}}.table-wrap{overflow-x:auto}}
