/* SPDX-License-Identifier: AGPL-3.0-or-later
   The design is Mete Balci's, made with Codex; the site's additions follow it. */
@font-face{font-family:Plex;src:url('fonts/ibm-plex-mono-400.woff2')}@font-face{font-family:Plex;src:url('fonts/ibm-plex-mono-500.woff2');font-weight:500}@font-face{font-family:Gelasio;src:url('fonts/gelasio-italic-400.woff2');font-style:italic}
:root{--paper:#f3f1e8;--ink:#242820;--muted:#65685e;--line:#cecec1;--orange:#cc4926;--mono:Plex,monospace;--serif:Georgia,Gelasio,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-underline-offset:5px}button,a{-webkit-tap-highlight-color:transparent}a:hover{color:var(--orange)}button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--orange);outline-offset:6px}.wrap{max-width:1320px;margin:auto;width:calc(100% - 112px)}.mono,.eyebrow{font-family:var(--mono)}.eyebrow{font-size:11px;font-weight:500;letter-spacing:1.2px;margin:0 0 27px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);margin-right:10px;flex-shrink:0}.header{display:flex;align-items:center;gap:35px;height:112px;border-bottom:1px solid var(--line)}.wordmark{font-size:48px;letter-spacing:-4px;font-weight:800;text-decoration:none;line-height:1}.wordmark span{font-size:12px;vertical-align:top;letter-spacing:0;display:inline-block;margin:6px 0 0 5px}.header-note{font:9px/1.6 var(--mono);letter-spacing:.6px}.header nav{margin-left:auto;display:flex;align-items:center;gap:29px;font-size:12px}.header nav a{text-decoration:none}.github{border:1px solid var(--line);padding:12px 17px}.github span{margin-left:20px}.hero{display:grid;grid-template-columns:1.1fr 1fr;gap:55px;padding-top:67px;padding-bottom:59px;align-items:center}h1{font-size:clamp(62px,6.6vw,96px);line-height:.98;letter-spacing:-5px;margin:0 0 27px;font-weight:500}h1 em,h2 em{font-family:var(--serif);font-weight:400;color:var(--orange)}.intro{font-size:22px;line-height:1.4;letter-spacing:-.4px;margin:0 0 18px}.hero-description{max-width:375px;font-size:14px;line-height:1.7;color:var(--muted)}.actions{display:flex;align-items:center;gap:24px;margin-top:28px}.button{background:var(--orange);color:#fff;padding:17px 20px;font-size:12px;text-decoration:none;font-weight:bold}.button:hover{background:#a63519;color:white}.button span{margin-left:28px}.text-link{font-size:12px;font-weight:bold;text-decoration:none;border-bottom:1px solid;padding-bottom:5px;display:inline-block}.hero-foot{font-size:8px;letter-spacing:.6px;margin-top:33px}.hero-foot span{margin:0 9px;color:#8e9184}.exhibit{margin:0;position:relative;padding:20px 30px 0;background-image:radial-gradient(#afb29f 0.7px,transparent .7px);background-size:14px 14px}.figure-top{display:flex;justify-content:space-between;font-size:8px;letter-spacing:.6px;margin-bottom:24px}.monitor{background:#d5d5c5;border:1px solid #a7aa98;border-radius:13px 13px 9px 9px;padding:18px 28px 14px;box-shadow:inset 5px 2px 0 #e4e4d8,inset -6px -6px 0 #bfc2af,9px 15px 18px #343d1d17;position:relative;z-index:1}.monitor-top{font:6px var(--mono);display:flex;justify-content:space-between;margin-bottom:12px;letter-spacing:.7px}.monitor-top i{height:5px;width:17px;background:#858975}.screen{display:block;background:#151912;border:12px solid #3a4032;border-radius:12px;overflow:hidden;box-shadow:0 0 0 2px #b0b29f,inset 0 0 20px #000;padding:8px 11px}.screen img{display:block;width:100%;height:auto;filter:sepia(.4) saturate(.8);opacity:.83}.monitor-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:17px}.monitor-logo{font-weight:bold;font-size:19px;letter-spacing:-1px}.monitor-logo span{font:7px var(--mono);letter-spacing:0}.vents{width:65px;height:17px;background:repeating-linear-gradient(90deg,#6f7662 0 2px,transparent 2px 5px)}.power{height:5px;width:5px;background:#cf582e;box-shadow:0 0 5px #cc492640;border-radius:50%}.stand{height:21px;width:45%;background:linear-gradient(#8b907b,#c3c6b3);margin:auto;transform:perspective(100px) rotateX(10deg)}.keyboard{width:100%;background:#c9cbbb;border:1px solid #aaaE99;transform:perspective(700px) rotateX(30deg);border-radius:4px 4px 8px 8px;padding:5px 7px;box-shadow:0 7px 0 #a6ad97,0 14px 15px #24282014}.cadet{display:block;width:100%;height:auto}.cadet .kb-well{fill:#b4b8a4}.cadet .k{fill:#e3e4d8;stroke:#929985;stroke-width:.6;filter:drop-shadow(0 .9px 0 #8f9784)}.cadet .k-cmd{fill:#cfd1c0}.cadet text{font-family:var(--mono);fill:var(--ink)}.cadet .kl{font-size:6px}.cadet .kw{font-size:3.6px;letter-spacing:.1px}.exhibit figcaption{display:flex;align-items:flex-start;background:var(--paper);padding:22px 0 0;margin-top:16px;font:10px/1.8 var(--mono);letter-spacing:.5px}.exhibit figcaption .dot{margin-top:4px}.exhibit figcaption a{margin-left:auto;font-size:20px;text-decoration:none}.muted{color:var(--muted)}.facts{display:grid;grid-template-columns:repeat(4,1fr);padding:30px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.facts.three{grid-template-columns:repeat(3,1fr)}.facts>div{display:flex;flex-direction:column;gap:10px;border-right:1px solid var(--line);padding-left:35px}.facts>div:first-child{padding-left:0}.facts>div:last-child{border:0}.facts strong{font-weight:400;font-size:38px;letter-spacing:-1.5px}.facts span{font:9px var(--mono);letter-spacing:.5px}.section{padding-top:85px;padding-bottom:85px}h2{font-size:44px;line-height:1.08;letter-spacing:-1.7px;font-weight:400;margin:0 0 27px}.story{display:grid;grid-template-columns:1fr 1fr;gap:80px}.story-copy{padding-top:35px}.story-copy p,.install p,.test-copy p{font-size:14px;line-height:1.8;color:var(--muted);max-width:490px}.story-copy .large{font-size:21px;line-height:1.5;color:var(--ink);margin-top:0}.story-copy .text-link{margin-top:12px}.engines-section{background:#e8e9df;border-block:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:45px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.section-heading>p{font-size:13px;line-height:1.8;color:var(--muted);margin:0 0 3px}.engine-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #bfc3b4}.engine{padding:26px;border-right:1px solid #bfc3b4;display:flex;flex-direction:column}.engine:last-child{border:0}.engine.selected{background:#f3f1e8}.engine-label{display:flex;justify-content:space-between;font-size:9px;gap:8px;align-items:center}.default{background:var(--orange);color:white;padding:5px 7px}.signal{height:45px;margin:27px 0 20px;background-position:center;background-repeat:repeat-x;opacity:.7;background-size:30px 30px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30'%3E%3Cpath d='M0 25H8V5H23V25H30' fill='none' stroke='%23616c52' stroke-width='1.4'/%3E%3C/svg%3E")}.signal-rtl{background-size:60px 30px;filter:sepia(1)}.signal-chip{background-size:105px 30px}.engine h3{font-size:49px;letter-spacing:-2px;font-weight:400;margin:0}.engine h3 span{font-size:19px;letter-spacing:0;color:var(--muted)}.engine p{font-size:13px;line-height:1.8;color:var(--muted)}.engine .engine-sub{font-size:11px;color:var(--ink);margin:9px 0 16px}.engine code{font:10px var(--mono);margin-top:auto;padding-top:20px}.benchmark{font-size:8px;line-height:1.8;letter-spacing:.3px;margin:20px 0 0;color:var(--muted)}.install{display:grid;grid-template-columns:1fr 1.25fr;gap:90px;border-bottom:1px solid var(--line)}.install .eyebrow,.test .eyebrow{font-size:11px;color:var(--ink)}.install p.install-note{font-size:12px;max-width:285px;margin:28px 0}.steps article+article{margin-top:30px}.step-heading{display:flex;align-items:center;gap:14px;margin-bottom:15px}.step-number{font:10px var(--mono);color:var(--orange)}.step-heading h3{font-weight:400;font-size:17px;margin:0}.copy{margin-left:auto;border:1px solid var(--line);background:none;font:10px var(--mono);padding:7px 10px;cursor:pointer;color:var(--ink)}.copy:hover{background:#e3e4d8}.copy span{margin-left:9px}pre{background:#282e26;color:#e5e8d7;padding:23px;font:11px/1.9 var(--mono);overflow:auto;margin:0;max-width:100%}.steps{min-width:0}.steps article>p{font-size:11px;line-height:1.8;margin:13px 0 0}details{border-top:1px solid var(--line);margin-top:25px;padding-top:20px}summary{font-size:12px;cursor:pointer}summary span{float:right}details p{font-size:12px!important}details .text-link{margin-top:16px}.boards{border-bottom:1px solid var(--line)}.board-layout{display:grid;grid-template-columns:1fr 1.6fr;gap:80px;margin-top:48px}.parts-note>strong{font-size:76px;font-weight:400;letter-spacing:-4px;line-height:1}.parts-note>strong>span{display:block;font:italic 52px var(--serif);color:var(--orange)}.parts-note p{font-size:12px;line-height:1.8;max-width:240px;color:var(--muted);margin:24px 0}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;font:10px var(--mono);color:var(--muted);padding:0 0 13px}td{padding:14px 0;border-top:1px solid var(--line);line-height:1.6}.numeric td:first-child{font:11px var(--mono)}.numeric td:last-child,.numeric th:last-child{text-align:right}.numeric td:nth-child(2){padding-inline:18px}.test{display:grid;grid-template-columns:1fr 1.4fr;gap:60px;align-items:center}.test-copy h2{font-size:37px}.recording{background:#282e26;border:10px solid #282e26;text-decoration:none;min-width:0}.recording img{display:block;width:100%;height:auto}.recording-label{color:#d7ddcb;font-size:8px;padding:7px 5px 17px;display:flex;align-items:center}.recording-label>span:last-child{margin-left:auto}.next{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:26px;display:flex;align-items:center;gap:40px}.next .eyebrow{margin:0;font-size:9px}.next>a{font-size:23px;letter-spacing:-.6px;text-decoration:none;flex:1}.next>a>span{float:right;color:var(--orange)}.footer{padding-block:50px 25px}.footer-top{display:flex;gap:50px;align-items:flex-start}.footer-top p{font-size:13px;line-height:1.6;margin:0}.footer-top>div{margin-left:auto;display:flex;flex-direction:column;gap:12px;font-size:11px}.footer-top>div>a{text-decoration:none}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.4px;border-top:1px solid var(--line);padding-top:23px;margin-top:45px}.footer-bottom a{text-decoration:none}.skip{position:fixed;top:-70px;left:20px;padding:15px;background:var(--ink);color:white;z-index:10}.skip:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(min-width:1500px){.hero{gap:95px}.exhibit{padding-inline:50px}}@media(max-width:1000px){.wrap{width:calc(100% - 60px)}.header-note{display:none}.hero{gap:28px}h1{font-size:66px;letter-spacing:-3px}.exhibit{padding-inline:8px}.monitor{padding:15px 18px}.actions{gap:15px;flex-wrap:wrap}.hero-foot{font-size:7px}.hero-foot span{margin-inline:5px}.facts span{font-size:8px}.story,.install{gap:45px}h2{font-size:37px}.engine{padding:20px}.engine-label{font-size:8px}.engine h3{font-size:41px}.board-layout{gap:45px}.test{gap:35px}.section-heading>p{max-width:310px}}
@media(max-width:700px){.wrap{width:calc(100% - 40px)}.header{height:85px;gap:15px}.wordmark{font-size:40px}.header nav{gap:17px;font-size:10px}.header{flex-wrap:wrap;height:auto;padding-block:18px;row-gap:12px}.header nav{margin-left:0;width:100%;justify-content:space-between}.github{padding:9px 11px}.github span{margin-left:8px}.hero{grid-template-columns:1fr;padding-top:40px;gap:35px;padding-bottom:35px}h1{font-size:clamp(59px,12vw,82px);letter-spacing:-3px}.hero-description{max-width:420px}.hero-foot{font-size:8px}.exhibit{max-width:410px;width:100%;margin:auto;padding-inline:20px}.hero .eyebrow{font-size:9px}.facts{grid-template-columns:1fr 1fr;row-gap:25px;padding-block:25px}.facts.three{grid-template-columns:1fr 1fr}.facts>div{padding-left:20px}.facts>div:nth-child(odd){padding-left:0}.facts>div:nth-child(even){border:0}.facts strong{font-size:32px}.facts span{font-size:8px}.section{padding-block:50px}.story,.install,.board-layout,.test{grid-template-columns:1fr;gap:25px}.story-copy{padding:0}.story h2{margin-bottom:0}.section-heading{display:block;margin-bottom:28px}.section-heading>p{margin-top:22px;max-width:100%}.engine-grid{grid-template-columns:1fr}.engine{border-right:0;border-bottom:1px solid #bfc3b4;padding:25px}.engine h3{font-size:49px}.engine-label{font-size:10px}.signal{margin-block:15px}.engine code{padding-top:10px}.engine p{max-width:400px}.board-layout{margin-top:30px;gap:35px}.parts-note>strong{font-size:62px}.parts-note>strong>span{display:inline;font-size:43px;margin-left:12px}.parts-note p{max-width:330px}.next{display:block}.next .eyebrow{margin-bottom:14px}.next>a{font-size:19px;display:block}.footer-top{gap:25px;flex-wrap:wrap}.footer-top>div{margin-left:0;width:100%}.footer-bottom{flex-wrap:wrap;line-height:1.7}.monitor-top{font-size:5px}.cadet .kw{display:none}pre{font-size:10px;padding:17px}h2{font-size:38px}.test-copy h2{font-size:38px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
/* Two machines, one project. */
.hero h1{font-size:clamp(56px,5.5vw,80px);letter-spacing:-3.5px}.machine-choice{border-bottom:1px solid var(--line)}.machine-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line)}.machine-card{padding:36px;display:flex;flex-direction:column;align-items:flex-start}.machine-card+article{border-left:1px solid var(--line)}.quux-card{background:#e7e9dc;border-top:3px solid var(--orange);padding-top:33px}.machine-label{display:flex;align-items:center;justify-content:space-between;width:100%;font-size:9px;letter-spacing:.5px;gap:12px;min-height:25px}.machine-card h3{font-size:64px;font-weight:400;letter-spacing:-3px;margin:25px 0 15px;width:100%}.machine-card h3>span{float:right;font-size:40px;color:var(--orange)}.machine-card p{font-size:14px;line-height:1.8;color:var(--muted);margin:0 0 16px;max-width:430px}.machine-card .machine-lede{font-size:21px;line-height:1.35;color:var(--ink);letter-spacing:-.4px}.machine-card ul{padding-left:17px;font-size:12px;line-height:2;margin:5px 0 27px}.machine-state{font-size:8px;letter-spacing:.4px;margin-top:auto;padding-bottom:22px;line-height:1.8}.machine-card .text-link{margin-top:22px}.secondary{background:transparent;color:var(--ink);border:1px solid #929684}.secondary:hover{background:var(--ink);color:var(--paper)}.setup-path summary{font-weight:bold;line-height:1.6}.setup-path[open] summary>span{transform:rotate(45deg)}.boot-heading{margin-top:25px}.story{padding-top:65px;padding-bottom:65px}.facts strong{font-size:35px}.engine h3{letter-spacing:-2px}.setup-path p code{overflow-wrap:anywhere}@media(max-width:1000px){.hero h1{font-size:60px}.machine-card{padding:25px}.quux-card{padding-top:22px}.machine-label{font-size:8px}.machine-card h3{font-size:55px}.machine-card .machine-lede{font-size:19px}}@media(max-width:700px){.hero h1{font-size:clamp(49px,10.7vw,74px);letter-spacing:-2.5px}.hero .eyebrow{font-size:8px}.machine-grid{grid-template-columns:1fr}.machine-card+article{border-left:0;border-top:1px solid var(--line)}.machine-label{font-size:9px}.machine-state{font-size:8px}.machine-card h3{font-size:60px}.facts strong{font-size:30px}.story{padding-block:50px}}
/* ------------------------------------------------------------------
   The site: one front page and a section for each project, in the same
   hand.  What follows extends the design to the section pages. */
.header nav a[aria-current]{color:var(--orange)}.header nav a[aria-current]::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--orange);margin-right:7px;vertical-align:1px}
.subnav{display:flex;flex-wrap:wrap;gap:6px 22px;padding:14px 0;border-bottom:1px solid var(--line);font:10px/1.6 var(--mono);letter-spacing:.5px}.subnav b{font-weight:500;margin-right:6px}.subnav a{text-decoration:none}.subnav [aria-current]{color:var(--orange)}
.badge{background:var(--orange);color:#fff;padding:5px 7px;font:9px var(--mono);letter-spacing:.5px;white-space:nowrap}
code{font-family:var(--mono);font-size:.9em}pre code{font-size:inherit}
.page-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:55px;padding-top:62px;padding-bottom:56px;align-items:end;border-bottom:1px solid var(--line)}.page-hero.solo{grid-template-columns:1fr}.page-hero h1{font-size:clamp(46px,5vw,76px);letter-spacing:-3px;line-height:1;margin:0 0 24px}.page-hero .intro{max-width:640px}.page-hero .hero-description{max-width:560px}.page-hero .side{font-size:13px;line-height:1.8;color:var(--muted)}.page-hero .side p{margin:0 0 14px}
.section+.section{border-top:1px solid var(--line)}.hero-home{border-bottom:1px solid var(--line)}.section>.section-heading+*{margin-top:0}
.prose{max-width:760px}.prose p,.prose li{font-size:15px;line-height:1.75}.prose p{margin:0 0 16px}.prose ul,.prose ol{padding-left:20px;margin:0 0 16px}.prose li{margin-bottom:6px}.prose a,.cards a,.table-scroll a,.qa a,.lead a,.page-hero a:not(.button):not(.text-link){font-weight:bold}.lead{font-size:14px;line-height:1.8;color:var(--muted);max-width:760px;margin:0 0 28px}.small-print{font-size:12px;line-height:1.8;color:var(--muted);max-width:820px}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}.cols>*{min-width:0}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));border-top:1px solid #bfc3b4;border-left:1px solid #bfc3b4;margin-bottom:34px}.card{border-right:1px solid #bfc3b4;border-bottom:1px solid #bfc3b4;padding:26px;display:flex;flex-direction:column;min-width:0}.card.lit{background:#e8e9df}.card-label{display:flex;justify-content:space-between;gap:10px;font:9px var(--mono);letter-spacing:.5px;margin-bottom:18px}.card-num{font-size:44px;letter-spacing:-2px;line-height:1;margin:0 0 8px}.card h3{font-size:24px;font-weight:400;letter-spacing:-.6px;margin:0 0 12px}.card .card-sub{font-size:12px;font-weight:bold;margin:0 0 12px;color:var(--ink)}.card p{font-size:13px;line-height:1.75;color:var(--muted);margin:0 0 12px}.card p:last-child{margin-bottom:0}.card .text-link{margin-top:auto;align-self:flex-start}.card ul{font-size:12px;line-height:1.9;padding-left:17px;margin:0 0 16px}
.table-scroll{margin-bottom:34px}.table-scroll table{min-width:560px}th,td{vertical-align:top}th+th,td+td,th+td{padding-left:18px}tbody th{text-align:left;font-weight:bold;font:bold 12px/1.6 Arial,Helvetica,sans-serif;color:var(--ink);padding:14px 18px 14px 0;border-top:1px solid var(--line)}thead th{white-space:nowrap}td code,th code{font-size:11px}.table-scroll caption{text-align:left;font:10px var(--mono);letter-spacing:.5px;padding-bottom:14px}
.mono-cell,td.num,td.name{font-family:var(--mono);font-size:11px;white-space:nowrap}.pc{display:block;font:9px/1.7 var(--mono);color:var(--muted);font-weight:400}
.st{font:10px var(--mono);letter-spacing:.5px;text-transform:uppercase;white-space:nowrap}.st::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yes);margin-right:7px}.st.no::before,.st.plain::before{display:none}.st.plain .pc{text-transform:none}.st.no{color:var(--no)}td[title]{cursor:help}
dl.flags{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:0;margin:0 0 30px;border-top:1px solid var(--line)}dl.flags>div{display:contents}dl.flags dt{font:11px/1.7 var(--mono);padding:12px 18px 12px 0;border-bottom:1px solid var(--line)}dl.flags dd{margin:0;font-size:13px;line-height:1.75;padding:12px 0;border-bottom:1px solid var(--line);color:var(--muted)}
.callout{border-left:3px solid var(--orange);padding:2px 0 2px 18px;margin:0 0 20px;font-size:15px;line-height:1.7;max-width:760px}.callout.ink{border:0;background:var(--ink);color:var(--paper);padding:24px 26px}.callout.ink code{color:#fff}
.steps-list{counter-reset:step}.step{margin-bottom:30px}.step .step-heading h3{font-size:17px}.step>p{font-size:12px;line-height:1.8;color:var(--muted);margin:13px 0 0;max-width:760px}.step>p code{color:var(--ink)}
.qa{border-top:1px solid var(--line);padding:24px 0}.qa h3{font-size:19px;font-weight:400;letter-spacing:-.4px;margin:0 0 12px}.qa p{font-size:14px;line-height:1.75;margin:0 0 12px;max-width:760px}.qa p.src{font:11px/1.8 var(--mono);color:var(--muted);border-top:1px dotted #a7aa98;padding-top:10px}
.release-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:10px 24px;margin-bottom:12px}.release-head h2{margin:0}.release-head .date{font:10px var(--mono);letter-spacing:.4px;color:var(--muted)}
.hash{font-size:10px;word-break:break-all;white-space:normal}
.notfound{padding-block:110px}.notfound h1{font-size:clamp(56px,7vw,110px);letter-spacing:-4px;margin:0 0 20px}
.footer-top>div.footer-copy{margin-left:0;display:block;font-size:13px}.footer-top .credit{font-size:11px;line-height:1.7;color:var(--muted);max-width:560px;margin:14px 0 0}.footer-top .credit a{font-weight:bold}
@media(max-width:1000px){.page-hero{gap:30px}.cols{gap:40px}}
@media(max-width:700px){.page-hero{grid-template-columns:1fr;padding-top:36px;padding-bottom:34px;gap:20px}.page-hero h1{letter-spacing:-2px}.cols{grid-template-columns:1fr;gap:25px}.card{padding:22px}.card-num{font-size:38px}dl.flags{grid-template-columns:1fr}dl.flags dt{border-bottom:0;padding-bottom:0}.subnav{gap:4px 16px}.header nav{flex-wrap:wrap;row-gap:8px}}
/* muir-fpga's table of boards: a row a board, its name kept in view while the row scrolls. */
table.boardtable{min-width:0}.boardtable th.board{position:sticky;left:0;z-index:1;background:var(--paper);padding-right:20px;white-space:nowrap}.boardtable tbody th.board{font-size:19px;font-weight:400;letter-spacing:-.4px;line-height:1.2}.boardtable tbody th.board>a{text-decoration-thickness:1px}table.terms{min-width:700px}.terms th[scope=row]{width:30%}.terms td:last-child{width:30%}
.section.tight{padding-top:36px}.boardtable tbody th.board{font-weight:400}
.release-part{display:grid;grid-template-columns:220px minmax(0,1fr);gap:30px;border-top:1px solid var(--line);padding:26px 0}.release-part .eyebrow{margin:6px 0 0}.release-part .table-scroll{margin:10px 0 16px}.assets td:last-child code{word-break:break-all;font-size:10px}.assets td:nth-child(2){white-space:nowrap}
@media(max-width:700px){.release-part{grid-template-columns:minmax(0,1fr);gap:10px}}
.section-heading>p{max-width:540px}.exhibit figcaption span a{font-size:inherit;margin:0;text-decoration:underline}
.card .card-num,.prose .card-num{font-size:44px;letter-spacing:-2px;line-height:1;margin:0 0 10px;color:var(--ink)}@media(max-width:700px){.card .card-num,.prose .card-num{font-size:36px}}
.page-hero .eyebrow{text-transform:uppercase}
.cols+.fig,.cols+.table-scroll,.cols+.steps-list{margin-top:44px}

@media(min-width:701px){.hero{padding-top:40px}.hero .hero-copy{align-self:start;padding-top:42px}}
/* One colour for orange text, dark enough for small type on the paper and
   on the tinted cards (5.08:1 on --paper, 4.70:1 on .card.lit); --orange
   stays for rules, dots, fills and the large headings' accent. */
:root{--orange-text:#b53d1e;--yes:#1f7a3d;--no:#b8283c;color-scheme:only light}
a:hover,.header nav a[aria-current],.subnav [aria-current],.step-number{color:var(--orange-text)}
/* An eyebrow keeps its size inside prose; a rule is drawn once between two sections. */
.prose .eyebrow{font-size:11px;line-height:normal;margin:0 0 27px}
.machine-choice,.install,.boards{border-bottom:0}
.section.tight>.fig:first-child>.fig-top{border-top:0;padding-top:0}
/* Card grids with a fixed number of columns. */
.cards.two{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.cards.three{grid-template-columns:repeat(3,1fr)}.cards.five{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.cards.five .card-label{flex-direction:column;gap:4px}
@media(max-width:1000px){.cards.three{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}
/* Links are bold wherever running text carries them. */
.small-print a,.step>p a{font-weight:bold}
/* Spacing the pages used to set one by one. */
.card p.repo-link{margin-top:12px}.after-grid{margin-top:20px}.after-grid-wide{margin-top:44px}.nowrap{white-space:nowrap}.lead.tight{margin-bottom:12px}.prose pre+p{margin-top:16px}pre+pre{margin-top:8px}.callout.ink p:first-child{margin-top:0}.callout.ink p:last-child{margin-bottom:0}.fig svg.narrow{max-width:820px}.test .test-caption{grid-column:1/-1;margin:0}
.table-scroll table.narrow{min-width:380px}.table-scroll table.wide{min-width:900px}table.assets{min-width:0}
/* A box that scrolls sideways shows a shadow on the side that has more. */
.table-scroll,.scroll{background:linear-gradient(to right,var(--paper) 40%,#f3f1e800) left/28px 100% no-repeat local,linear-gradient(to left,var(--paper) 40%,#f3f1e800) right/28px 100% no-repeat local,linear-gradient(to right,#24282026,#24282000) left/12px 100% no-repeat scroll,linear-gradient(to left,#24282026,#24282000) right/12px 100% no-repeat scroll}
@media(max-width:700px){.header nav{gap:12px}}
/* A box that scrolls sideways can be reached and scrolled from the keyboard,
   and shows it has the focus. */
.table-scroll:focus-visible,.scroll:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
/* On a touch screen every link of the header, the page list and the footer
   is at least 24px tall (and the header's 24px wide): the padding widens
   what a finger can hit, the negative margin keeps the layout as it is.
   Wrapped rows are set 24px apart, so that no two targets overlap. */
@media(max-width:700px),(pointer:coarse){.header nav a:not(.github){padding:6.5px 4px;margin:-6.5px -4px}.header nav{row-gap:13px}.subnav a{padding-block:4px;margin-block:-4px}.subnav{row-gap:8px}.footer-top>div>a{padding-block:6px;margin-block:-6px}.footer-bottom a{padding-block:5.5px;margin-block:-5.5px}}
/* The simulator's specification stands alone, as wide as it needs. */
.spec{max-width:630px}.spec+.fig{margin-top:44px}
/* Plex has no arrows: the two drawn in mono text are drawn in the body's
   fonts, as every other arrow on the site is. */
.exhibit figcaption a,.recording-label>span:last-child{font-family:Arial,Helvetica,sans-serif}
/* The front page opens with muir's three aims, each with where it stands. */
.aims{list-style:none;counter-reset:aim;margin:26px 0 0;padding:0;max-width:600px}.aims li{counter-increment:aim;display:grid;grid-template-columns:34px minmax(0,1fr);border-top:1px solid var(--line);padding:16px 0}.aims li::before{content:"0" counter(aim);font:11px var(--mono);color:var(--orange-text);padding-top:3px}.aims p{grid-column:2;margin:0}.aim-text{font-size:15px;line-height:1.6;color:var(--muted)}.aim-text b,.aim-text a{color:var(--ink)}.aim-text a{font-weight:bold}.aim-text a:hover{color:var(--orange-text)}.hero .aims+.actions{max-width:600px;margin-top:8px;border-top:1px solid var(--line);padding-top:24px;flex-wrap:wrap}
/* The front page's hero starts as far under the header's rule as the wordmark
   stands over it; the other pages' heroes are as they were. */
@media(min-width:701px){.hero.hero-home{padding-top:28px}.hero.hero-home .hero-copy{padding-top:0}}
/* The boards' resource bars: the share of the part a machine's fabric uses, in
   a narrow outlined bar with the percentage inside it, in the filled part
   where there is room and just after the fill where there is not, and the
   figures under it in small text.  The percentage is the text; the fill is
   for the eye. */
.rbs{min-width:150px}.rb{display:flex;align-items:flex-start;gap:6px;padding:3px 0}.rb-m{font:10px/16px var(--mono);letter-spacing:.5px;text-transform:uppercase;color:var(--ink);width:38px;flex:none}.rb-wrap{display:block}.rb-bar{display:block;position:relative;width:104px;height:16px;border:1px solid var(--ink)}.rb-bar i{display:block;height:100%;background:var(--ink);opacity:.34}.rb-bar b{position:absolute;top:0;font:400 10px/14px var(--mono);letter-spacing:.5px;padding:0 3px;color:var(--ink)}.boardtable .pc{letter-spacing:normal}.boardtable .st .pc{letter-spacing:.5px}.rb-wrap .pc{margin-top:2px;white-space:nowrap}
/* The front page's table of the two machines side by side: four columns
   where they fit, and below 860px a row a block, the two machines' values
   side by side under the feature's name and the explanation under them. */
.compare-scroll{margin:44px 0 22px}.compare-scroll table.compare{min-width:0}table.compare th,table.compare td{font-size:12px;line-height:1.6;font-family:Arial,Helvetica,sans-serif}table.compare thead th{font:10px var(--mono);white-space:normal}table.compare tbody th{width:17%}table.compare td:nth-child(2),table.compare td:nth-child(3){width:20%}table.compare td:nth-child(4){color:var(--muted)}.compare-scroll+.text-link{margin-top:0}
@media(max-width:860px){table.compare,table.compare tbody,table.compare tr{display:block}table.compare thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}table.compare tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:18px;border-top:1px solid var(--line);padding:14px 0}table.compare tbody th{grid-column:1/-1;width:auto;border:0;padding:0 0 8px}table.compare td,table.compare td+td{border:0;padding:0 0 8px}table.compare td::before{content:attr(data-label);display:block;font:9px var(--mono);letter-spacing:.5px;text-transform:uppercase;color:var(--muted)}table.compare td:nth-child(4){grid-column:1/-1;padding-bottom:0}table.compare td:nth-child(2),table.compare td:nth-child(3){width:auto}}
