@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/IBMPlexSans-Regular-Latin1.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:italic;font-weight:400;font-display:swap;src:url("fonts/IBMPlexSans-Italic-Latin1.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:500;font-display:swap;src:url("fonts/IBMPlexSans-Medium-Latin1.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/IBMPlexSans-SemiBold-Latin1.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Sans";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/IBMPlexSans-Bold-Latin1.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:400;font-display:swap;src:url("fonts/IBMPlexMono-Regular-Latin1.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:600;font-display:swap;src:url("fonts/IBMPlexMono-SemiBold-Latin1.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"IBM Plex Mono";font-style:normal;font-weight:700;font-display:swap;src:url("fonts/IBMPlexMono-Bold-Latin1.woff2") format("woff2");unicode-range:U+0000-00FF,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* Token values are commitwork's docs/THEME.md §3, light first. light-dark() resolves each one against
   the element's color-scheme, so the hero's card bed (color-scheme:dark) takes the dark values on
   either page theme. */
:root{
  color-scheme:light dark;
  --bg:light-dark(#f4f3ef,#17181a);
  --panel:light-dark(#ffffff,#1e1f22);
  --panel2:light-dark(#eae8e2,#26272a);
  --line:light-dark(#d8d5cc,#333438);
  --line2:light-dark(#b9b6aa,#44454a);
  --head:light-dark(#101011,#f4f3ef);
  --ink:light-dark(#1c1d1f,#e4e2dc);
  --mut:light-dark(#5f5d57,#98958e);
  --dim:light-dark(#69675f,#8a877e);
  --acc:light-dark(#885f25,#c9a227);
  --acc2:light-dark(#6e5220,#9a7b1d);
  --acc-lift:light-dark(#76521f,#dcb43a);
  --on-acc:light-dark(#ffffff,#1a120e);
  --wash:light-dark(rgba(136,95,37,.10),rgba(201,162,39,.10));
  --live:light-dark(#047734,#5fd08a);
  --part:light-dark(#955906,#d69a52);
  --plan:light-dark(#5b6675,#8a92a5);
  --crit:light-dark(#c32b25,#fe5b66);
  --high:light-dark(#9c4221,#fe5d30);
  --med:light-dark(#a14a02,#f18b2e);
  --low:light-dark(#765e02,#f9bd30);
  --sev:light-dark(#7b2ff7,#b47cff);
  --add:light-dark(#a3239c,#ec7ce4);
  --attest:light-dark(#1b6a8c,#6fb3d2);
  --machine:light-dark(#5c6b33,#8a9a5b);
  --sans:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;
  --colw:75rem;
}
:root[data-mode=light]{color-scheme:light}
:root[data-mode=dark]{color-scheme:dark}

html{font-size:clamp(16px, min(calc(16px * 100vh / 1080), calc(16px * 100vw / 1600)), 24px);scroll-behavior:smooth;scroll-padding-top:4.5rem}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:400 1rem/1.62 var(--sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{display:block;max-width:100%}
a{color:var(--acc);text-decoration-thickness:1px;text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
p{margin:0 0 1rem}
code{font:400 .875em var(--mono);color:var(--head);background:var(--panel2);border:1px solid var(--line);border-radius:.3125rem;padding:.05em .35em;white-space:nowrap}
h1,h2,h3{color:var(--head);margin:0}
.wrap{max-width:var(--colw);margin:0 auto;padding:0 1.5rem}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:-999px;top:.75rem;z-index:20;font:600 .875rem var(--sans);background:var(--acc);color:var(--on-acc);padding:.5rem .875rem;border-radius:3px}
.skip:focus{left:.75rem}

.bar{position:sticky;top:0;z-index:5;background:var(--bg);background:color-mix(in srgb,var(--bg) 90%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;gap:.75rem;min-height:3.75rem}
.mark{display:inline-flex;align-items:center;gap:.56rem;color:var(--ink);text-decoration:none}
.mark img{width:1.5rem;height:1.5rem}
.wordmark{font:700 .78rem var(--sans);letter-spacing:.16em;text-transform:uppercase}
.bar nav{margin-left:auto;display:flex;gap:.125rem}
.bar nav a{color:var(--mut);text-decoration:none;font:500 .8125rem var(--sans);padding:.375rem .625rem;border-radius:3px;transition:color .14s,background-color .14s}
.bar nav a:hover{color:var(--ink);background:var(--panel2)}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.5rem;padding:.5rem .875rem;font:600 .8125rem var(--sans);letter-spacing:.02em;color:var(--ink);background:var(--panel);border:1px solid var(--line2);border-radius:3px;text-decoration:none;cursor:pointer;transition:border-color .14s,background-color .14s}
.btn:hover{border-color:var(--acc)}
.btn.pri{background:var(--acc);border-color:var(--acc);color:var(--on-acc);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}
.btn.pri:hover{background:var(--acc-lift);border-color:var(--acc-lift)}
.btn.icon{width:2.5rem;padding:0;font-size:1rem}
.bar .btn{min-height:2.25rem}
.js-only{display:none}
.js .js-only{display:inline-flex}
.gap-top{margin-top:1.5rem}

.eyebrow{font:600 .75rem var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 .875rem}
.note{color:var(--mut);font-size:.9375rem;max-width:84ch;margin:1.25rem 0 0}

.hero{padding:4.5rem 0 4.75rem;background:radial-gradient(120% 55% at 50% -8%,color-mix(in srgb,var(--acc) 6%,transparent),transparent 60%)}
.hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:3.5rem;align-items:center}
h1{font:600 clamp(2.25rem,1.3rem + 2.6vw,3.25rem)/1.1 var(--sans);letter-spacing:-.02em;margin-bottom:1.25rem;text-wrap:balance}
.lede{font-size:1.1875rem;line-height:1.58;color:var(--mut);max-width:34em;margin-bottom:1.75rem}
.cmd{display:flex;align-items:stretch;background:var(--panel);border:1px solid var(--line2);border-radius:.5rem;max-width:36rem}
.cmd code{flex:1;min-width:0;display:block;white-space:normal;overflow-wrap:anywhere;background:none;border:0;border-radius:0;padding:.75rem .875rem;font-size:.8125rem;line-height:1.5;color:var(--ink)}
.cmd code::before{content:"$ ";color:var(--dim)}
.cmd .btn{border-radius:0 calc(.5rem - 1px) calc(.5rem - 1px) 0;min-width:5.5rem}
.cta{display:flex;flex-wrap:wrap;gap:.625rem;margin-top:1rem}
.facts{display:flex;flex-wrap:wrap;gap:.5rem 1.75rem;margin:2rem 0 0;padding-top:1.25rem;border-top:1px solid var(--line)}
.facts div{display:flex;flex-direction:column;gap:.125rem}
.facts dt{font:600 .6875rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.facts dd{margin:0;font:600 .9375rem var(--sans);color:var(--head)}

/* The bed carries its own ground, as the seal does (THEME.md §9), so the card reads the same on
   paper and on the dark page. */
.bed{color-scheme:dark;margin:0;background:#14161a;border:1px solid #2b2d31;border-radius:.625rem;padding:1.75rem 1.5rem 1.25rem;box-shadow:0 1.5rem 3rem -1.5rem rgba(0,0,0,.45);--stock:#ece3c7;--print:#8c7e5d;--interp:#26221c}
.deck{position:relative;aspect-ratio:100/63}
.card-svg{position:absolute;width:88%;height:auto;filter:drop-shadow(0 .55rem 1rem rgba(0,0,0,.55))}
.card-svg.back{left:0;top:1%;transform:rotate(-2.6deg)}
.card-svg.front{right:0;bottom:2%;transform:rotate(1.4deg)}
.card-svg .stock{fill:var(--stock)}
.card-svg .fr{stroke:var(--print);stroke-width:.7;opacity:.55}
.card-svg text{font-family:var(--mono)}
.card-svg .dg{font-size:8.4px;fill:var(--print);text-anchor:middle}
.card-svg .cn{font-size:4.4px;fill:var(--print);text-anchor:middle}
.card-svg .fl{font-size:5.2px;fill:var(--print);text-anchor:middle;letter-spacing:.6px}
.card-svg .ip{font-size:10.5px;font-weight:600;fill:var(--interp);text-anchor:middle}
.card-svg .find{fill:rgba(195,43,37,.07);stroke:#c32b25;stroke-width:2.6}
.bed figcaption{margin-top:1.5rem;color:var(--mut);font-size:.875rem;line-height:1.55}
.bed figcaption p{margin:0}
.bed .tag{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .625rem;margin-bottom:.625rem;color:var(--ink);font:.8125rem var(--mono)}
.bed code{background:#26272a;border-color:#333438;color:#f4f3ef}

.pill{display:inline-flex;align-items:center;gap:.3125rem;font:600 .6875rem/1 var(--mono);padding:.25rem .5rem;border-radius:999px;color:var(--plan);background:color-mix(in srgb,currentColor 12%,transparent);border:1px solid color-mix(in srgb,currentColor 28%,transparent);white-space:nowrap;vertical-align:.1em}
.pill::before{content:"";width:.57em;height:.57em;border-radius:50%;background:currentColor}
.pill.crit{color:var(--crit)}
.pill.high{color:var(--high)}
.pill.live{color:var(--live)}
.pill.part{color:var(--part)}
.pill.sev{color:var(--sev)}
.pill.add{color:var(--add)}

section{padding:5rem 0;border-top:1px solid var(--line)}
.sec-head{max-width:48rem;margin-bottom:2.25rem}
h2{font:600 clamp(1.625rem,1.2rem + 1.1vw,2.125rem)/1.2 var(--sans);letter-spacing:-.015em;margin-bottom:1rem;text-wrap:balance}
.sec-head>p{color:var(--mut);font-size:1.0625rem;max-width:64ch}
.sec-head>p:last-child{margin-bottom:0}
.sec-head>p.eyebrow{font-size:.75rem;color:var(--acc)}
.sec-head>p.big{font:600 clamp(1.25rem,1rem + .8vw,1.625rem)/1.35 var(--sans);letter-spacing:-.01em;color:var(--head)}
.split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:start}
.split .sec-head{margin-bottom:0}

.grid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(19rem,1fr))}
.grid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,26rem),1fr))}
.card{background:var(--panel);border:1px solid var(--line);border-radius:.625rem;padding:1.25rem 1.375rem}
.card h3{font:600 1rem/1.35 var(--sans);margin-bottom:.5rem}
.card p{margin:0;color:var(--mut);font-size:.9375rem;line-height:1.6}
.card blockquote{margin:0;color:var(--ink);font-size:.9375rem;line-height:1.6}
.card .k{font:600 .6875rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut);margin-bottom:.5rem}

.tally{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.tally li{background:var(--panel);border:1px solid var(--line);border-radius:.625rem;padding:1rem 1.125rem;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:1rem;align-items:baseline}
.tally .n{grid-row:1/3;font:600 2.5rem/1 var(--mono);color:var(--head);font-variant-numeric:tabular-nums}
.tally .who{font:600 .9375rem var(--sans);color:var(--head)}
.tally .what{grid-row:2;grid-column:2;font-size:.8125rem;color:var(--mut);line-height:1.45}
.tally li.wide{grid-column:1/-1}

.kpis{display:grid;gap:.875rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));margin-bottom:1.5rem}
.kpi{background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acc);border-radius:.625rem;padding:1rem 1.125rem}
.kpi.good{border-left-color:var(--live)}
.kpi.warn{border-left-color:var(--part)}
.kpi .k{font:600 .6875rem var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--mut)}
.kpi .v{font:600 2rem/1.15 var(--sans);letter-spacing:-.02em;color:var(--head);margin:.375rem 0 .25rem;font-variant-numeric:tabular-nums}
.kpi .s{font-size:.8125rem;line-height:1.45;color:var(--mut)}

.tw{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:.625rem}
table{width:100%;min-width:34rem;border-collapse:collapse;font-size:.875rem;line-height:1.5}
th{font:600 .6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;text-align:left;color:var(--head);background:var(--panel2);padding:.625rem .8125rem;border-bottom:1px solid var(--line2)}
td{padding:.625rem .8125rem;border-top:1px solid var(--line);vertical-align:top;color:var(--ink)}
tbody tr:first-child td{border-top:0}
tbody tr:hover td:first-child{box-shadow:inset 2px 0 0 var(--acc2)}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td code{font-size:.8125rem}
td.mut{color:var(--mut)}
.commands td:first-child{white-space:nowrap}
.commands .flags{display:block;margin-top:.3125rem;font:400 .8125rem/1.5 var(--mono);color:var(--acc)}
.commands .flags span{white-space:nowrap}
.commands td:first-child code{white-space:nowrap}
.sec-head .cmd{margin-top:1.5rem}

.console{background:var(--panel);border:1px solid var(--line);border-radius:.5rem;overflow:hidden;min-width:0}
.console-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .875rem;border-bottom:1px solid var(--line);font:.75rem var(--mono);color:var(--mut)}
.console-head .prompt{color:var(--dim)}
.console pre{margin:0;padding:1rem 1.125rem;overflow:auto;font:400 .78rem/1.62 var(--mono);color:var(--ink);background:var(--bg);tab-size:2}
.console pre code{all:unset}
.console pre.wrap{white-space:pre-wrap}
.note+.console{margin-top:1rem}
.console .jk{color:var(--mut)}
.console .jn{color:var(--attest)}
.console .jc{color:var(--crit)}

.finding{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:1.5rem;align-items:start;margin-bottom:1rem}
.trace{list-style:none;margin:0;padding:0;counter-reset:hop}
.trace li{position:relative;padding:0 0 1.375rem 2.25rem}
.trace li::before{content:"";position:absolute;left:.5rem;top:.3rem;width:.7rem;height:.7rem;border-radius:50%;border:2px solid var(--acc);background:var(--bg)}
.trace li::after{content:"";position:absolute;left:.9rem;top:1.25rem;bottom:.1rem;width:2px;background:var(--line2)}
.trace li:last-child::after{display:none}
.trace li.src::before{background:var(--acc)}
.trace li.sink::before{border-color:var(--crit);background:var(--crit);box-shadow:0 0 0 .3rem color-mix(in srgb,var(--crit) 16%,transparent)}
.trace .row{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .625rem}
.trace .prog{font:600 .6875rem var(--mono);letter-spacing:.08em;color:var(--mut);border:1px solid var(--line2);border-radius:.3125rem;padding:.05rem .375rem}
.trace .item{font-size:.875rem}
.trace .via{display:block;margin-top:.25rem;font-size:.875rem;color:var(--mut)}
.trace .loc{font:.75rem var(--mono);color:var(--dim)}
.trace li.cross::before{top:2.15rem}
.trace .edge{display:inline-block;font:600 .6875rem var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--acc);background:var(--wash);border-radius:.3125rem;padding:.125rem .5rem;margin-bottom:.5rem}

.exits{list-style:none;margin:1rem 0 1.5rem;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.625rem}
.exits li{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--plan);border-radius:.5rem;padding:.75rem .875rem}
.exits .c{display:block;font:600 1.5rem/1.1 var(--mono);color:var(--head)}
.exits .w{display:block;font-size:.8125rem;line-height:1.4;color:var(--mut);margin-top:.25rem}
.exits .pass{border-top-color:var(--live)}
.exits .fail{border-top-color:var(--crit)}
.exits .undecided{border-top-color:var(--part)}
.exits .cfail{border-top-color:var(--high)}

.bar .sib img{width:1.125rem;height:1.125rem}
.bar .products{display:flex;gap:1.25rem;margin-left:0}
.bar .aside{margin-left:auto;display:flex;align-items:center;gap:.125rem}
.bar .aside a{color:var(--mut);text-decoration:none;font:500 .8125rem var(--sans);padding:.375rem .625rem;border-radius:3px}
.bar .aside a:hover{color:var(--ink);background:var(--panel2)}

.halves{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.halves>section{border-top:0;padding:4.5rem 0 4.25rem}
.halves>section+section{border-left:1px solid var(--line);background:color-mix(in srgb,var(--panel2) 45%,var(--bg))}
.halves>section:first-child{background:radial-gradient(120% 60% at 50% -10%,color-mix(in srgb,var(--acc) 6%,transparent),transparent 60%)}
.half{max-width:calc(var(--colw) / 2);padding:0 3rem 0 1.5rem;margin-left:auto;display:flex;flex-direction:column;height:100%}
section+section .half{padding:0 1.5rem 0 3rem;margin:0 auto 0 0}
.half .seal{width:4.5rem;height:4.5rem;margin-bottom:1.5rem}
.half h2.prod{font:700 1.125rem var(--sans);letter-spacing:.16em;text-transform:uppercase;margin-bottom:1rem}
.half .claim{font:600 clamp(1.625rem,1.1rem + 1.4vw,2.25rem)/1.15 var(--sans);letter-spacing:-.02em;color:var(--head);text-wrap:balance;margin-bottom:1rem}
.half .lede{font-size:1rem;margin-bottom:1.5rem}
.half .facts{margin:auto 0 1.5rem}
.half .cta{margin-top:0}
.mini{background:var(--panel);border:1px solid var(--line);border-radius:.5rem;padding:.875rem 1rem;margin-bottom:1.75rem;font-size:.8125rem;color:var(--mut)}
.mini .tag{display:flex;flex-wrap:wrap;align-items:center;gap:.375rem .625rem;margin:0 0 .75rem;font:.75rem var(--mono);color:var(--ink)}
.mini ol{list-style:none;margin:0;padding:0;display:grid;gap:.375rem}
.mini ol li{display:flex;flex-wrap:wrap;align-items:baseline;gap:.25rem .5rem}
.mini ol li::before{content:"\2193";color:var(--dim);font:.75rem var(--mono)}
.mini ol li:first-child::before{content:"\25CF";color:var(--acc)}
.mini ol li:last-child::before{color:var(--crit)}
.mini .loc{font:.6875rem var(--mono);color:var(--dim)}
.mini .out{margin:.75rem 0 0;font:.75rem var(--mono);color:var(--ink);overflow-wrap:anywhere}
.mini .out b{font-weight:600;color:var(--crit)}

.hexrow{display:flex;flex-wrap:wrap;gap:.375rem;margin:0}
.hexrow span{font:600 .875rem/1 var(--mono);letter-spacing:.04em;padding:.4rem .45rem;border-radius:.3125rem;border:1px solid currentColor;background:color-mix(in srgb,currentColor 10%,transparent)}
.f1{color:var(--acc)}
.f2{color:var(--attest)}
.f3{color:var(--sev)}
.f4{color:var(--live)}

/* The ironwork hero: a record's WORKING-STORAGE above the bytes ironwork holds for it. */
.dump{display:flex;flex-direction:column;gap:1.25rem}
.dump pre{margin:0;overflow:auto;font:400 .78rem/1.7 var(--mono);color:#e4e2dc;background:#101113;border:1px solid #2b2d31;border-radius:.5rem;padding:.875rem 1rem}
.dump pre code{all:unset}
.exits.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.bytes{display:flex;flex-wrap:wrap;gap:.75rem .5rem}
.seg{display:flex;flex-direction:column;gap:.375rem}
.seg .off,.seg .nm{font:.6875rem var(--mono);color:#8a877e}
.seg .hx{font:600 1.0625rem/1 var(--mono);letter-spacing:.05em;padding:.6rem .625rem;border-radius:.3125rem;border:1px solid currentColor;background:color-mix(in srgb,currentColor 10%,transparent)}


.chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.grid.one{grid-template-columns:minmax(0,1fr)}
.k-head{color:var(--mut);font-size:.9375rem;margin-bottom:1rem}
.foot .products{gap:1.25rem}
.foot .products a{color:var(--ink);text-decoration:none}
.card h3 .pill{margin-left:.5rem}

.roadmap{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(min(100%,21rem),1fr));align-items:start}
.card .sub{font:500 .8125rem var(--sans);color:var(--dim);margin:0 0 .75rem}
.feats{margin:0;padding-left:1.125rem;color:var(--mut);font-size:.9375rem;line-height:1.55}
.feats li+li{margin-top:.5rem}
.feats li::marker{color:var(--acc)}
.feats b{font-weight:600;color:var(--head)}
.feats .pill{margin-left:.25rem;font-size:.625rem;padding:.1875rem .4375rem}
td.rel,td.where{white-space:nowrap}
td.rel a{text-decoration:none}
td.rel .pill{margin-left:.375rem}

/* A product's pages: Overview, Features, Roadmap and Releases, each its own root. */
.bar nav a[aria-current=page]{color:var(--head);background:var(--panel2)}
.page-head{padding:3.75rem 0 3.25rem;border-top:0;background:radial-gradient(120% 70% at 50% -10%,color-mix(in srgb,var(--acc) 6%,transparent),transparent 60%)}
.page-head h1{font-size:clamp(2rem,1.3rem + 2vw,2.75rem);max-width:24em}
.page-head .lede{margin-bottom:0;max-width:42em}
.page-head .lede+.lede{margin-top:.875rem}
.toc{list-style:none;margin:1.75rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.toc a{display:inline-block;font:500 .8125rem var(--sans);color:var(--ink);text-decoration:none;background:var(--panel);border:1px solid var(--line2);border-radius:999px;padding:.3125rem .8125rem;transition:border-color .14s}
.toc a:hover{border-color:var(--acc)}
.meta{display:flex;flex-wrap:wrap;gap:.25rem 1.5rem;margin:1.25rem 0 0;padding:0;list-style:none;font-size:.875rem;color:var(--mut)}
.meta b{font-weight:600;color:var(--ink)}

/* Text order in a card, a list item or a release row: benefit, fact, sub-items, limit. */
.sec-head>p.ben{color:var(--ink);font:500 1.1875rem/1.5 var(--sans)}
.card .ben{color:var(--ink);font-weight:500}
.card p+p,.card p+.sub,.card .sub+p{margin-top:.5rem}
.card h3 a{color:inherit;text-decoration:none}
.card h3 a:hover{color:var(--acc)}
.sub{margin:.5rem 0 0;padding-left:1.125rem;color:var(--mut);font-size:.875rem;line-height:1.55}
.sub li+li{margin-top:.25rem}
.sub li::marker{color:var(--line2)}
.sub b{font-weight:600;color:var(--ink)}
.limit{color:var(--dim);font-size:.8125rem;line-height:1.5}
.card p.limit{color:var(--dim);font-size:.8125rem;margin-top:.625rem}
.limit b{font-weight:600;color:var(--mut)}
.feats .ben{color:var(--ink)}
.feats .sub{margin-top:.375rem;font-size:.875rem}
.feats .limit{display:block;margin-top:.25rem}
td p{margin:0}
td .ben{margin-bottom:.375rem;font-weight:500}
td .ben~p{color:var(--mut);font-size:.8125rem}
td .sub{margin:0;font-size:.8125rem}
td .sub+.limit{margin-top:.375rem}
.reg{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:.5rem 1.5rem;margin:0;max-width:48rem;font-size:1rem}
.reg dt{font-weight:600;color:var(--head)}
.reg dd{margin:0;color:var(--mut)}
.reg+p{margin-top:1.25rem}

.foot{border-top:1px solid var(--line);padding:2.5rem 0 3rem;color:var(--mut);font-size:.875rem}
.foot .wrap{display:grid;grid-template-columns:auto 1fr auto;gap:1rem 2rem;align-items:center}
.foot p{margin:0}
.foot nav{display:flex;flex-wrap:wrap;gap:.25rem 1rem}
.foot nav a{color:var(--mut)}
.foot nav a:hover{color:var(--acc)}
.foot .fine{grid-column:1/-1;font-size:.75rem;color:var(--dim)}

.bar nav a{white-space:nowrap}
@media (max-width:1600px){
  .bar nav.long a.opt{display:none}
}
@media (max-width:1180px){
  .bar nav a.opt{display:none}
}
@media (max-width:960px){
  .hero .wrap,.split,.finding{grid-template-columns:minmax(0,1fr)}
  .hero .wrap{gap:2.75rem}
  .exits{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}
  .halves{grid-template-columns:minmax(0,1fr)}
  .halves>section+section{border-left:0;border-top:1px solid var(--line)}
  .half,section+section .half{max-width:40rem;padding:0 1.5rem;margin:0 auto}
}
@media (max-width:480px){
  .bar .products{gap:.75rem}
  .bar .products img{display:none}
  .bar .products .wordmark{letter-spacing:.04em}
}
@media (max-width:360px){
  .bar .products .wordmark{font-size:.6875rem;letter-spacing:0}
}
@media (max-width:720px){
  .bar nav{display:none}
  .bar .wrap{flex-wrap:wrap}
  .bar nav.pages{display:flex;order:9;flex:1 0 100%;margin:0 -.625rem .375rem;overflow-x:auto}
  .page-head{padding:2.5rem 0 2.25rem}
  .reg{grid-template-columns:minmax(0,1fr);gap:.125rem}
  .reg dd+dt{margin-top:.5rem}
  .rels table{min-width:0}
  .rels thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .rels tr{display:grid;grid-template-columns:max-content max-content minmax(0,1fr);gap:.25rem .875rem;align-items:baseline;padding:.875rem .8125rem;border-top:1px solid var(--line)}
  .rels tbody tr:first-child{border-top:0}
  .rels td{padding:0;border:0}
  .rels td.where{white-space:normal}
  .rels td:last-child{grid-column:1/-1;margin-top:.25rem}
  .bar .products{display:flex}
  .bar .sib{margin-left:auto}
  .bar .sib+.gh{margin-left:0}
  .bar .gh{margin-left:auto}
  .bar .aside a{display:none}
  .halves>section{padding:3rem 0}
  .half,section+section .half{padding:0 1.125rem}
  .hero{padding:3rem 0 3.5rem}
  section{padding:3.5rem 0}
  .wrap{padding:0 1.125rem}
  .tally{grid-template-columns:minmax(0,1fr)}
  .exits.four{grid-template-columns:repeat(2,minmax(0,1fr))}
  .bed{padding:1.125rem 1rem 1rem}
  .foot .wrap{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:560px){
  .bar .gh{display:none}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
}
@media print{
  .bar,.skip,.js-only{display:none}
  section{break-inside:avoid-page}
}
