@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/fg/fonts/fraunces-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 800;font-display:swap;src:url(/assets/fg/fonts/fraunces-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fg/fonts/public-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(/assets/fg/fonts/public-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, 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(/assets/fg/fonts/plex-mono-latin-ext-400.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fg/fonts/plex-mono-latin-ext-500.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'IBM Plex Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fg/fonts/plex-mono-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, 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:500;font-display:swap;src:url(/assets/fg/fonts/plex-mono-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
:root{--paper:#f3eee2;--sheet:#fbf8f1;--ink:#1d2420;--ink2:#4a554e;--moss:#2e5a44;--moss2:#e3eadf;--rust:#a8471f;--rust2:#8e3a17;--ochre:#d5a03c;--rule:#d8cfbb;--rule2:#e8e1d0;
--disp:'Fraunces',Georgia,serif;--body:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--mono:'IBM Plex Mono',ui-monospace,Consolas,monospace}
*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:400 17px/1.62 var(--body)}
a{color:var(--moss);text-underline-offset:2px}a:hover{color:var(--rust2)}img{max-width:100%;height:auto}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}.narrow{max-width:820px}
.skip{position:absolute;left:-999px;top:0;background:var(--ink);color:#fff;padding:8px 12px;z-index:50}.skip:focus{left:8px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
:focus-visible{outline:2px solid var(--rust);outline-offset:2px}
header.site{border-bottom:1px solid var(--rule);background:var(--sheet);position:relative;z-index:20}
header.site .wrap{display:flex;align-items:center;gap:24px;min-height:66px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink)}
.brand b{display:block;font:800 20px/1 var(--disp);letter-spacing:-.01em}.brand small{display:block;font:500 10.5px/1.2 var(--mono);color:var(--ink2);letter-spacing:.08em;text-transform:uppercase;margin-top:4px}
nav.main{display:flex;gap:20px;margin-left:auto;font-weight:600;font-size:15px}nav.main a{text-decoration:none;color:var(--ink);padding:4px 0;border-bottom:2px solid transparent}
nav.main a:hover,nav.main a[aria-current]{border-bottom-color:var(--moss);color:var(--moss)}
.upd{font:500 12px var(--mono);color:var(--ink2);border:1px solid var(--rule);padding:5px 9px;border-radius:3px;white-space:nowrap}
.mnav{display:none;margin-left:auto;width:42px;height:42px;border:1px solid var(--rule);background:#fff;border-radius:4px;cursor:pointer;position:relative}
.mnav span,.mnav span:before,.mnav span:after{position:absolute;left:11px;width:18px;height:2px;background:var(--ink);content:""}.mnav span{top:20px}.mnav span:before{top:-6px;left:0}.mnav span:after{top:6px;left:0}
.crumbs{font-size:13.5px;color:var(--ink2);padding:12px 0 0}.crumbs a{color:var(--ink2)}.crumbs span{margin:0 4px;color:var(--rule)}
.hero{padding:44px 0 40px;border-bottom:1px solid var(--rule)}
.hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;gap:0 48px;align-items:start}.h-intro{grid-column:1;grid-row:1}.h-more{grid-column:1;grid-row:2}.hero .key{grid-column:2;grid-row:1/3}
.eyebrow,.kick{font:500 12.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--moss);display:flex;gap:10px;align-items:center;margin:0}
.eyebrow:before{content:"";width:26px;height:1px;background:var(--moss)}
h1{font:800 clamp(32px,4.4vw,52px)/1.05 var(--disp);letter-spacing:-.02em;margin:14px 0 18px}h1 em{font-style:italic;font-weight:650;color:var(--moss)}
.answer,.snippet{font-size:18.5px;line-height:1.55;margin:0 0 16px}.answer b{font-weight:700}
.byline{display:flex;gap:12px;align-items:center;margin-top:20px;padding-top:16px;border-top:1px dashed var(--rule)}
.byline img{width:44px;height:44px;border-radius:50%;object-fit:cover;filter:sepia(.2);box-shadow:0 0 0 1px var(--rule)}
.byline p{margin:0;font-size:14.5px;line-height:1.4}.byline a{color:var(--ink)}.byline span{color:var(--ink2)}
.quick{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.quick a{font-size:14px;font-weight:600;text-decoration:none;border:1px solid var(--rule);background:var(--sheet);padding:7px 12px;border-radius:999px;color:var(--ink)}
.quick a:hover{border-color:var(--moss)}
.phero{padding:30px 0 34px;border-bottom:1px solid var(--rule)}.phero .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start}
.phero h1{font-size:clamp(30px,3.8vw,46px)}
.key{background:var(--sheet);border:1px solid var(--ink);box-shadow:6px 6px 0 var(--moss2);padding:24px 24px 20px;position:relative}
.key:before{content:"";position:absolute;inset:6px;border:1px solid var(--rule);pointer-events:none}
.key h2{font:700 23px/1.15 var(--disp);margin:0 0 4px}.key .sub{margin:0 0 16px;font-size:14.5px;color:var(--ink2)}
.step{margin:0 0 14px}.step .q{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin:0 0 7px;display:flex;gap:8px}.step .q b{color:var(--moss)}
.opts{display:flex;flex-wrap:wrap;gap:7px;position:relative}
.opts button{font:600 14px var(--body);border:1px solid var(--rule);background:#fff;color:var(--ink);padding:8px 12px;border-radius:4px;cursor:pointer}
.opts button[aria-pressed=true]{background:var(--moss);border-color:var(--moss);color:#fff}
.result{border-top:1px solid var(--ink);margin-top:16px;padding-top:12px;position:relative}
.rh{font:500 12px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);margin:0 0 8px}
.hit{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;padding:8px 0;border-bottom:1px dashed var(--rule)}
.hit img{width:48px;height:32px;object-fit:contain;background:#1d2420;border-radius:3px;padding:3px}.hit b{display:block;font-size:15px}.hit b a{color:var(--ink)}
.hit small{display:block;font-size:12.5px;color:var(--ink2);line-height:1.35}
.legend{display:flex;flex-wrap:wrap;gap:6px 22px;font:500 12.5px var(--mono);color:var(--ink2);padding:16px 20px;border-bottom:1px solid var(--rule)}.legend b{color:var(--ink)}
.sect{padding:44px 0}.sect.alt{background:var(--sheet);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
h2.sec{font:800 clamp(26px,3vw,36px)/1.12 var(--disp);letter-spacing:-.015em;margin:0 0 10px}
.lede{max-width:780px;color:var(--ink2);margin:0 0 24px}
.prose{max-width:780px}.prose h2{font:750 clamp(23px,2.5vw,29px)/1.2 var(--disp);margin:36px 0 10px;letter-spacing:-.01em}.prose h2:first-child{margin-top:0}
.prose p{margin:0 0 14px}.prose ul{padding-left:20px}
.tierhead{display:flex;align-items:baseline;gap:12px;margin:8px 0 14px;font:500 12.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--moss)}
.tierhead:after{content:"";flex:1;height:1px;background:var(--rule)}
.plate{display:grid;grid-template-columns:62px 150px 1fr 200px;background:var(--sheet);border:1px solid var(--rule);margin:0 0 14px;position:relative}
.plate.first{border-color:var(--ink)}.plate.hl{box-shadow:0 0 0 3px var(--ochre)}
.pl-num{border-right:1px solid var(--rule2);display:flex;flex-direction:column;align-items:center;padding:18px 0;gap:6px}
.roman{font:650 21px var(--disp);color:var(--moss)}.pl-lab{font:500 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--ink2);writing-mode:vertical-rl;transform:rotate(180deg)}
.pl-spec{display:flex;align-items:center;justify-content:center;padding:16px 12px}
.oval{width:128px;height:92px;border-radius:50%;background:radial-gradient(ellipse at 50% 40%,#2c3530,#161b18);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px var(--ink),0 0 0 5px var(--sheet),0 0 0 6px var(--rule)}
.oval img{max-width:92px;max-height:52px;object-fit:contain}
.pl-body{padding:16px 18px 14px 6px;min-width:0}
.pl-body h3{font:700 22px/1.15 var(--disp);margin:0 0 2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pl-body h3 a{color:var(--ink);text-decoration:none}
.tag{font:500 11px var(--mono);background:var(--moss2);color:var(--moss);padding:2px 7px;border-radius:3px}.tag-0x{background:#f6e7c4;color:#7a5410}.tag-s{background:#e6e3f2;color:#3d3670}
.taxon{margin:0 0 10px;font-size:13.5px;color:var(--ink2)}.taxon i{font-family:var(--disp);font-style:italic;color:var(--ink)}
.marks{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px;margin:0}
.marks div{display:grid;grid-template-columns:82px 1fr;gap:8px;font-size:14.5px;line-height:1.4;border-top:1px dotted var(--rule);padding-top:6px}
.marks dt{font:500 11px/1.9 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}.marks dd{margin:0}
.twins{margin:10px 0 0;font-size:13.5px}.lab{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--moss);margin-right:4px}.muted{color:var(--ink2)}
.src{font-size:12px;color:var(--ink2)}p.src{margin:6px 0 0}.src a,a.src{color:var(--ink2)}
.pl-act{border-left:1px solid var(--rule2);padding:18px;display:flex;flex-direction:column;gap:8px;justify-content:center;text-align:center}
.grade b{display:block;font:800 30px/1 var(--disp)}.grade span{font:500 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--ink2)}
.cta{display:inline-block;background:var(--rust);color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:12px 14px;border-radius:4px;box-shadow:0 2px 0 #6e2c11;text-align:center}
.cta:hover{background:var(--rust2);color:#fff}.cta-s{padding:8px 11px;font-size:13.5px;white-space:nowrap}
.more{font-size:13.5px;font-weight:600}.fine{font-size:11px;color:var(--ink2)}
.tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.fieldlist,.tbl{width:100%;border-collapse:collapse;background:var(--sheet);border:1px solid var(--rule);font-size:14.5px}
.fieldlist td,.fieldlist th{padding:10px 12px;border-bottom:1px solid var(--rule2);text-align:left;vertical-align:middle}
.fieldlist thead th,.tbl thead th{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2);background:var(--paper);text-align:left;padding:9px 10px;border-bottom:1px solid var(--ink)}
.fr-head th{font:700 17px var(--disp)!important;background:var(--moss2)!important;color:var(--moss)!important;text-transform:none!important;letter-spacing:0!important}.fr-head span{font:400 14px var(--body);color:var(--ink2)}
.fr-n{font:650 15px var(--disp);color:var(--moss);width:50px}
.fr-b{min-width:180px}.fr-b img{width:56px;height:30px;object-fit:contain;background:#1d2420;border-radius:3px;padding:3px;float:left;margin-right:10px}.fr-b a{color:var(--ink);text-decoration:none}.fr-b b{display:block}.fr-b small{color:var(--ink2);font-size:12px}
.fr-g{font:800 18px var(--disp)}
.tbl td{padding:9px 10px;border-bottom:1px solid var(--rule2);vertical-align:top}.tbl i{font-family:var(--disp)}.tbl small.co{display:block;color:var(--ink2);font-size:12px}
.tbl.marks-t th[scope=row]{font:500 11.5px var(--mono);letter-spacing:.05em;text-transform:uppercase;color:var(--ink2);text-align:left;padding:10px;border-bottom:1px solid var(--rule2);width:200px;vertical-align:top}
.tbl .srcs{white-space:nowrap;width:1%}.lest{font-size:11.5px;color:var(--ink2)}
.yes{color:var(--moss);font-weight:700}.no-{color:var(--rule)}
.tbl.matrix td,.tbl.matrix th{text-align:center;padding:8px 6px}.tbl.matrix td:first-child,.tbl.matrix th:first-child{text-align:left}
.two{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.calcbox{background:var(--sheet);border:1px solid var(--rule);padding:20px}.calcbox h3{font:700 20px var(--disp);margin:0 0 10px}
.calc div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dotted var(--rule);padding:7px 0;font-size:15px}.calc b{font-family:var(--mono);font-weight:500}
.note{font-size:14px;color:var(--ink2)}
.honest{background:#fff7e6;border:1px solid #e9cf96;border-left:4px solid var(--ochre);padding:14px 16px;font-size:16px;max-width:860px}
.wcalc{background:var(--sheet);border:1px solid var(--ink);padding:18px;display:grid;grid-template-columns:1.2fr 1fr;gap:20px}
.wc-in{display:grid;grid-template-columns:1fr 1fr;gap:10px}.wc-in label{font-size:13.5px;color:var(--ink2);display:flex;flex-direction:column;gap:4px}
.wc-in input,.wc-in select{font:500 16px var(--mono);padding:8px;border:1px solid var(--rule);border-radius:4px;background:#fff;width:100%}
.wc-out div{display:flex;justify-content:space-between;border-bottom:1px dotted var(--rule);padding:8px 0}.wc-out b{font:500 17px var(--mono)}
.log{list-style:none;padding:0;margin:0;border-left:2px solid var(--moss)}
.log li{padding:0 0 18px 18px;position:relative}.log li:before{content:"";position:absolute;left:-6px;top:7px;width:10px;height:10px;border-radius:50%;background:var(--sheet);border:2px solid var(--moss)}
.log time{font:500 12px var(--mono);color:var(--moss)}.log p{margin:2px 0 0;font-size:15.5px}
.faq details{border-top:1px solid var(--rule);padding:14px 0}.faq summary{font:700 19px var(--disp);cursor:pointer}.faq details p{margin:10px 0 0}
.rels{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.rel{display:block;background:var(--sheet);border:1px solid var(--rule);padding:16px;text-decoration:none;color:var(--ink)}
.rel:hover{border-color:var(--moss)}.rel b{display:block;font:700 18px var(--disp)}.rel span{font-size:14px;color:var(--ink2)}
.authorbox{display:grid;grid-template-columns:96px 1fr;gap:20px;background:var(--sheet);border:1px solid var(--rule);padding:22px}
.authorbox img{width:96px;height:96px;border-radius:50%;object-fit:cover;filter:sepia(.2)}.authorbox h2{font:700 22px var(--disp);margin:2px 0 6px}.authorbox p{margin:0 0 8px}
.alts{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px}
.err{padding:80px 0}.btns{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-block;padding:11px 16px;border-radius:4px;font-weight:700;text-decoration:none}
.btn.p{background:var(--rust);color:#fff}.btn.s{border:1px solid var(--ink);color:var(--ink);background:var(--sheet)}
.showall{text-align:center;margin:16px 0 0}
footer.site{background:var(--ink);color:#d9dcd4;padding:40px 0 26px;font-size:14.5px;margin-top:20px}footer.site a{color:#fff}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px}.fcol b{display:block;font:700 16px var(--disp);color:#fff;margin-bottom:8px}.fcol a{display:block;padding:3px 0;text-decoration:none}
.brand.inv{color:#fff}.brand.inv small{color:#aeb6ae}.brand.inv svg circle{stroke:#fff}.brand.inv svg path:first-of-type{stroke:#fff}
.age b{color:#fff}.flinks{margin:26px 0 8px;font-size:13.5px}.disc{font-size:13px;color:#aeb6ae;margin:0}
@media (max-width:1060px){nav.main{gap:14px;font-size:14px}.upd{display:none}}
@media (max-width:980px){
nav.main{display:none;position:absolute;left:0;right:0;top:100%;background:var(--sheet);flex-direction:column;padding:10px 20px 16px;border-bottom:1px solid var(--rule);gap:4px}
nav.main.open{display:flex}.mnav{display:block}
.hero .wrap,.phero .grid{grid-template-columns:1fr;gap:24px}.h-intro,.h-more,.hero .key{grid-column:1;grid-row:auto}.hit .w{display:none}
.plate{grid-template-columns:48px 1fr}.pl-spec{grid-column:2;justify-content:flex-start;padding:14px 14px 0}.pl-body{grid-column:1/-1;padding:10px 16px 12px}
.pl-act{grid-column:1/-1;border-left:0;border-top:1px solid var(--rule2);flex-direction:row;flex-wrap:wrap;justify-content:space-between;align-items:center;text-align:left}
.pl-act .cta{flex:1 1 100%;order:3}.grade{display:flex;align-items:baseline;gap:8px}.grade b{font-size:24px}
.marks{grid-template-columns:1fr}.two,.wcalc{grid-template-columns:1fr}.rels{grid-template-columns:1fr}.fgrid{grid-template-columns:1fr 1fr}
.fieldlist thead{display:none}.fieldlist tr{display:grid;grid-template-columns:44px 1fr auto;gap:2px 10px;padding:10px 12px;border-bottom:1px solid var(--rule2)}
.fieldlist td{border:0;padding:0}.fieldlist td:nth-child(3),.fieldlist td:nth-child(4),.fieldlist td:nth-child(5){grid-column:2/4;font-size:13.5px;color:var(--ink2)}
.fieldlist td:nth-child(6){grid-column:3;grid-row:1}.fieldlist td:nth-child(7){grid-column:2/4;margin-top:6px}.fieldlist .cta-s{display:block}
.fr-head{display:block!important;padding:0!important}.fr-head th{display:block;padding:10px 12px}
.tbl.marks-t th[scope=row]{width:auto}
}
@media (max-width:560px){.wrap{padding:0 16px}header.site .wrap{min-height:58px}.brand small{display:none}h1{font-size:31px}.answer,.snippet{font-size:17px}
.key{padding:20px 16px 16px}.oval{width:110px;height:78px}.authorbox{grid-template-columns:64px 1fr}.authorbox img{width:64px;height:64px}.wc-in{grid-template-columns:1fr}
.fgrid{grid-template-columns:1fr}.legend{padding:14px 16px}.tbl{font-size:13.5px}}
