/* HWBench — datasheet / lab-bench style. Fonts: IBM Plex Sans + IBM Plex Mono (+ Plex Sans Hebrew), Atkinson Hyperlegible for "readable font".
   All SIL OFL 1.1, self-hosted in /fonts (licences: /fonts/OFL-*.txt, listed on /attributions.html). */
@font-face{font-family:"IBM Plex Sans";src:url(/fonts/IBMPlexSans-Variable.ttf) format("truetype");font-weight:100 700;font-stretch:85% 100%;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/fonts/IBMPlexMono-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Mono";src:url(/fonts/IBMPlexMono-SemiBold.ttf) format("truetype");font-weight:600 700;font-display:swap}
@font-face{font-family:"IBM Plex Sans Hebrew";src:url(/fonts/IBMPlexSansHebrew-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"IBM Plex Sans Hebrew";src:url(/fonts/IBMPlexSansHebrew-SemiBold.ttf) format("truetype");font-weight:600 700;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/fonts/AtkinsonHyperlegible-Regular.ttf) format("truetype");font-weight:400;font-display:swap}
@font-face{font-family:"Atkinson Hyperlegible";src:url(/fonts/AtkinsonHyperlegible-Bold.ttf) format("truetype");font-weight:600 700;font-display:swap}
:root{--ink:#16181d;--paper:#faf9f6;--panel:#fff;--rule:#cfccc4;--rule2:#e6e3dc;--muted:#565b65;--accent:#a63d0a;--link:#1b4a85;--ok:#1d6b34;--bad:#a1001c;--warn:#7a4b00;
 --sans:"IBM Plex Sans","IBM Plex Sans Hebrew",system-ui,sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;font-size:100%}
html[data-text="115"]{font-size:115%}html[data-text="130"]{font-size:130%}html[data-text="150"]{font-size:150%}
html.rf{--sans:"Atkinson Hyperlegible",system-ui,sans-serif;--mono:"Atkinson Hyperlegible",ui-monospace,monospace}
html.rf body{letter-spacing:.01em;word-spacing:.06em;line-height:1.65}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;font:400 .9375rem/1.5 var(--sans);color:var(--ink);background:var(--paper);font-variant-numeric:tabular-nums}
[lang=he]{font-family:"IBM Plex Sans Hebrew",var(--sans)}
a{color:var(--link);text-underline-offset:2px}a:hover{color:var(--accent)}
:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.skip{position:absolute;left:8px;top:-80px;background:var(--ink);color:#fff;padding:10px 16px;z-index:100;font-weight:600;text-decoration:none}.skip:focus{top:8px;color:#fff}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (prefers-reduced-motion:no-preference){html:not(.rm) a,html:not(.rm) button,html:not(.rm) details>summary{transition:color .12s,background-color .12s}html:not(.rm){scroll-behavior:smooth}}
html.rm *,html.rm *::before,html.rm *::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}

/* header: brand row + nav, ruled like a datasheet title block */
header{background:var(--panel);border-bottom:2px solid var(--ink);padding:0 24px}
.hbar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;max-width:1180px;margin:0 auto;padding:10px 0 6px;position:relative}
.brand{display:inline-flex;align-items:center;gap:8px;color:var(--ink);text-decoration:none}.brand svg{color:var(--accent)}
.wm{font:600 1.25rem/1 var(--mono);letter-spacing:-.02em}.wm b{font-weight:400}
.htag{font:400 .75rem/1.2 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-left:1px solid var(--rule);padding-left:14px}
header h1{margin:0;font-size:1rem;font-weight:400;display:flex;align-items:center;gap:14px;flex-wrap:wrap}header h1 small{font:400 .75rem/1.2 var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
nav.links{max-width:1180px;margin:0 auto;padding:4px 0 10px;display:flex;gap:18px;flex-wrap:wrap;font-size:.875rem}nav.links a{color:var(--ink);text-decoration:none;border-bottom:1px solid transparent}nav.links a:hover,nav.links a:focus-visible{border-bottom-color:var(--accent);color:var(--ink)}

/* display menu */
.disp{margin-left:auto}.dispbtn{font:500 .8125rem var(--sans);display:inline-flex;gap:6px;align-items:center;background:var(--panel);color:var(--ink);border:1px solid var(--ink);padding:6px 10px;cursor:pointer;min-height:32px}
.dispbtn[aria-expanded=true]{background:var(--ink);color:#fff}
.disppanel{position:absolute;right:0;top:calc(100% + 2px);z-index:50;background:var(--panel);border:2px solid var(--ink);padding:14px 16px;width:300px;box-shadow:4px 4px 0 var(--rule)}
.disppanel h2{font:600 .75rem var(--mono);text-transform:uppercase;letter-spacing:.08em;margin:0 0 8px}
.disppanel fieldset{border:1px solid var(--rule);margin:0 0 10px;padding:6px 10px;display:flex;flex-wrap:wrap;gap:4px 14px}.disppanel legend{font-size:.8125rem;font-weight:600;padding:0 4px}
.disppanel label{display:flex;align-items:center;gap:6px;min-height:28px;font-size:.875rem}.disppanel .sw{border-top:1px solid var(--rule2);padding:4px 0}
.disppanel button{font:500 .8125rem var(--sans);background:var(--panel);border:1px solid var(--ink);color:var(--ink);padding:5px 12px;cursor:pointer;min-height:28px}.dnote{font-size:.75rem;color:var(--muted);margin:8px 0}
input[type=checkbox],input[type=radio]{width:18px;height:18px;margin:3px;accent-color:var(--accent)}

main{padding:20px 24px}.page,.wrap{max-width:1180px;margin:0 auto}
h1.ph,.ask h1{font:600 1.625rem/1.2 var(--sans);letter-spacing:-.01em;margin:.4em 0 .5em}
h2{font:600 1.125rem/1.3 var(--sans);margin:1.6em 0 .5em;padding-bottom:4px;border-bottom:1px solid var(--rule)}h2 small{font-weight:400;color:var(--muted)}
h3{font-size:1rem;margin:.8em 0 .3em}
.foot{font-size:.8125rem;color:var(--muted)}.flag{color:var(--bad)}.ok{color:var(--ok)}code{font:.875em var(--mono)}

/* tables = spec sheets */
table{border-collapse:collapse;width:100%;font-size:.8125rem;background:var(--panel);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
th,td{border-bottom:1px solid var(--rule2);padding:6px 8px;text-align:left;vertical-align:top}
th{font:600 .6875rem/1.3 var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--ink);background:#f1efea;border-bottom:1px solid var(--ink)}
.tw th{position:sticky;top:0;z-index:1}th[data-k]{cursor:pointer}th[aria-sort=ascending]::after{content:" ▲"}th[aria-sort=descending]::after{content:" ▼"}
td.n,.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}td small,th small{color:var(--muted)}
.tw{overflow:auto;max-height:72vh;border:1px solid var(--rule)}
table.keym{max-width:860px;font-size:.875rem}table.keym th[scope=row]{background:#f1efea;width:24%}table.keym td{font-family:var(--mono)}table.keym td a,table.keym th a{font-family:var(--sans)}

/* chips: grade (A–E), power basis, dates — all ≥4.5:1 */
.c{display:inline-block;min-width:1.5em;text-align:center;color:#fff;font:600 .75rem/1.5 var(--mono);border-radius:2px}
.cA{background:#1d6b34}.cB{background:#1f5a8f}.cC{background:#6e5300}.cD{background:#8f3a12}.cE{background:#555}
.pb,.db{display:inline-block;font:500 .6875rem/1.5 var(--mono);padding:0 5px;border:1px solid currentColor;border-radius:2px;margin-left:4px;vertical-align:1px;text-transform:uppercase;letter-spacing:.03em}
.pb-measured{color:#14532a}.pb-spec{color:#1f3f66}.pb-estimate,.pb-unknown{color:#4d4d4d}.pb-notstated{color:#6b4300}
.db{text-transform:none;color:#3c4049}.db-old{color:#8a0018}.db-und{color:#6b4300}
.legend{font-size:.8125rem;background:var(--panel);border:1px solid var(--rule);padding:8px 12px;margin:8px 0}

/* answer-first home: one question, ranked datasheet rows (not a card grid) */
.ask{background:var(--panel);border:1px solid var(--ink);padding:18px 22px;max-width:1180px;margin:0 auto 6px}
.ask form{display:flex;gap:16px;flex-wrap:wrap;align-items:flex-end}.ask label{display:flex;flex-direction:column;font:600 .6875rem var(--mono);text-transform:uppercase;letter-spacing:.06em;gap:4px}
.ask select,.ask input[type=number]{font:400 1rem var(--sans);padding:7px 9px;border:1px solid var(--ink);background:#fff;min-width:170px;color:var(--ink)}
.ask button.go{font:600 .9375rem var(--sans);padding:9px 20px;background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer}.ask button.go:hover{background:var(--accent);border-color:var(--accent)}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:.8125rem}.ask .chk label{flex-direction:row;font:400 .8125rem var(--sans);text-transform:none;letter-spacing:0}
.ansnote{max-width:1180px;margin:8px auto;font-size:.8125rem;color:var(--muted)}
.cards3{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--panel)}
.bcard{padding:14px 16px;border-right:1px solid var(--rule);display:grid;grid-template-columns:96px 1fr;gap:4px 12px;align-content:start}.bcard:last-child{border-right:0}
.bcard>*{grid-column:2}.bcard .hwfig{grid-column:1;grid-row:1/span 6;margin:0}
.bcard .rk{font:600 .75rem var(--mono);color:var(--accent);letter-spacing:.06em}.bcard h3{margin:0;font-size:1rem;line-height:1.3}.bcard h3 a{color:var(--ink)}
.bcard .big{font:600 2rem/1.1 var(--mono);color:var(--ink)}.bcard .big small{font:400 .8125rem var(--mono);color:var(--muted)}
.badges{display:flex;gap:6px;flex-wrap:wrap}.bdg{font:500 .75rem var(--mono);padding:1px 6px;border:1px solid var(--ink);color:var(--ink)}.bdg.na{border-style:dashed;color:#4d4d4d;border-color:#777}
.bcard .meta{font-size:.75rem;color:var(--muted)}
@media (max-width:860px){.cards3{grid-template-columns:1fr}.bcard{border-right:0;border-bottom:1px solid var(--rule)}}

/* photos and placeholders */
.hwfig{margin:0 0 12px;max-width:320px}.hwfig img{display:block;width:100%;height:auto;border:1px solid var(--rule);background:#fff}
.hwfig figcaption{font-size:.6875rem;color:var(--muted);margin-top:4px;line-height:1.35}.hwfig-sm{max-width:96px}.hwfig-sm figcaption{display:none}
.hwfig.ph svg{display:block;width:100%;height:auto;background:#fff;border:1px solid var(--rule)}
.hwfig svg .fr{stroke:var(--rule2)}.hwfig svg .pcb{stroke:#3c4049;stroke-width:2}.hwfig svg .chip{stroke:#3c4049;stroke-width:2}.hwfig svg .pin,.hwfig svg .trace{stroke:#3c4049;stroke-width:1.5;fill:none}.hwfig svg .pad{fill:none;stroke:#3c4049}
.hwfig svg .lbl{font:600 14px var(--mono);fill:var(--ink)}.hwfig svg .sub{font:400 11px var(--mono);fill:#4d4d4d}
.phead{display:grid;grid-template-columns:minmax(200px,320px) 1fr;gap:20px;align-items:start}.pairfigs{display:flex;gap:16px;flex-wrap:wrap}.pairfigs .hwfig{max-width:220px}
@media (max-width:700px){.phead{grid-template-columns:1fr}}

/* page furniture */
.meta2{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--panel);margin:0 0 12px}
.meta2 span{padding:8px 10px;border-right:1px solid var(--rule2);font-family:var(--mono);font-size:.875rem}.meta2 b{display:block;font:600 .625rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.verdict{font-size:1.125rem;line-height:1.45;border-left:4px solid var(--accent);padding:6px 0 6px 14px;margin:10px 0 14px}
.kpis{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));border-top:2px solid var(--ink);border-bottom:2px solid var(--ink);background:var(--panel);margin:8px 0}
.kpi{padding:10px 12px;border-right:1px solid var(--rule2);display:flex;flex-direction:column;gap:3px}.kpi small{font:600 .625rem var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.kpi b{font:600 1.375rem var(--mono)}
.lfl{border-left:4px solid var(--ok);padding:6px 12px;margin:8px 0;background:var(--panel)}.mixed{border:2px solid var(--bad);color:#5a0010;padding:8px 12px;margin:8px 0;background:#fff}
.mixtag{font:600 .6875rem var(--mono);background:var(--bad);color:#fff;padding:1px 6px}.mixrow td:first-child{box-shadow:inset 4px 0 0 var(--bad)}.mixcard{border-left:4px solid var(--bad)}
.warn,.note,.draftnote{border-left:4px solid #b07a00;background:#fffaf0;padding:8px 12px;margin:8px 0}
.nodata{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border:1px dashed #8a8f99;padding:12px 14px;margin:8px 0;background:var(--panel)}.nodata .ic{display:none}.nodata p{margin:0;flex:1;min-width:240px}.nodata.big{padding:18px}
.reqbtn,.oldtoggle,#addsel,#r_go,#r_pdf,#e_fromfilter,#e_clear,.filters button{font:500 .8125rem var(--sans);background:var(--panel);color:var(--ink);border:1px solid var(--ink);padding:6px 12px;cursor:pointer;min-height:30px}
.reqbtn:hover,.oldtoggle:hover{background:var(--ink);color:#fff}.reqbtn:disabled{color:#4d4d4d;border-color:#777;background:#eee}.reqmsg{color:var(--ok);margin-left:6px}
.oldbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:.8125rem;border:1px solid var(--rule);padding:6px 10px;margin:8px 0;background:var(--panel)}
.v-all,.v-all-i{display:none}body.showold .v-all,body.showold .v-all-i{display:block}body.showold .v-all-i{display:inline}body.showold .v-new,body.showold .v-new-i{display:none}
details.data{margin:14px 0;border-top:1px solid var(--ink);border-bottom:1px solid var(--ink)}details.data>summary{cursor:pointer;padding:10px 2px;font:600 .8125rem var(--mono);text-transform:uppercase;letter-spacing:.06em;list-style:none}
details.data>summary::before{content:"+ ";color:var(--accent)}details.data[open]>summary::before{content:"− "}details.data[open]{padding-bottom:12px}
details.howto{margin:16px 0 4px;font-size:.8125rem}details.howto summary{cursor:pointer}
.filters{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;margin:8px 0;padding:10px 0;border-bottom:1px solid var(--rule);font-size:.8125rem}
.filters select,.filters input:not([type=checkbox]){font:400 .8125rem var(--sans);padding:4px 6px;border:1px solid #6b7079;background:#fff;color:var(--ink)}
.tab{display:none}.tab.on{display:block}
.tabs{display:flex;border-bottom:2px solid var(--ink);margin:6px 0 10px}.tabs button{font:600 .75rem var(--mono);text-transform:uppercase;letter-spacing:.06em;background:transparent;color:var(--ink);border:1px solid transparent;border-bottom:0;padding:8px 14px;cursor:pointer;margin-bottom:-2px}
.tabs button.on,.tabs button[aria-selected=true]{background:var(--panel);border-color:var(--ink);border-bottom:2px solid var(--panel)}
.card{background:var(--panel);border-bottom:1px solid var(--rule);padding:10px 2px;margin:0}.card h3{margin:0 0 4px}.card.fpga{border:1px solid var(--rule);border-left:4px solid #8f3a12;padding:8px 12px}
#sheet{background:var(--panel);padding:20px;max-width:1000px;border:1px solid var(--rule)}#sheet h2{margin-top:0}
.sth{font:600 .8125rem var(--mono);text-transform:uppercase;letter-spacing:.06em;margin:20px 0 0;padding-bottom:6px;border-bottom:2px solid var(--ink)}.sth a{font:400 .8125rem var(--sans);text-transform:none;letter-spacing:0;margin-left:10px}
.nstrip,.ngrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));border-bottom:1px solid var(--ink);background:var(--panel)}
.ncard{padding:10px 12px;border-right:1px solid var(--rule2);border-bottom:1px solid var(--rule2);display:flex;flex-direction:column;gap:4px}.ncard h3{margin:0;font-size:.9375rem}.nmeta{font-size:.8125rem;color:var(--muted)}.nmeta b{font-family:var(--mono);color:var(--ink);font-weight:500}
.nst{display:inline-block;font:600 .6875rem var(--mono);padding:0 6px;border:1px solid currentColor;text-transform:uppercase;letter-spacing:.05em}.nst-rumor{color:#4d4d4d}.nst-announced{color:#1f3f66}.nst-sampling{color:#6b4300}.nst-shipping{color:#14532a}
.unc{display:inline-block;font:500 .6875rem var(--mono);padding:0 5px;border:1px dashed #6b4300;color:#6b4300}.nempty{padding:12px;color:var(--muted);font-size:.8125rem;grid-column:1/-1}
mark.todo{background:#fff1a8;color:#3d2e00}.coord{border:2px dashed var(--bad);padding:10px;margin:8px 0}p.num{margin:.6em 0}
ul.cols{columns:3;font-size:.8125rem}.stats{display:flex;gap:0;flex-wrap:wrap;border-top:2px solid var(--ink);border-bottom:1px solid var(--ink);background:var(--panel)}.stats div{padding:8px 14px;border-right:1px solid var(--rule2)}.stats b{display:block;font:600 1.25rem var(--mono)}
footer{border-top:2px solid var(--ink);margin-top:32px;padding:16px 24px;font-size:.8125rem;background:var(--panel)}footer nav{max-width:1180px;margin:0 auto;display:block}footer a{color:var(--ink)}
footer .disc{max-width:1180px;margin:6px auto 0;font-size:.75rem;color:var(--muted)}

/* high contrast: pure black on white, heavier rules, underlined links, no tinted backgrounds */
html.hc{--ink:#000;--paper:#fff;--panel:#fff;--rule:#000;--rule2:#000;--muted:#000;--accent:#0000c8;--link:#0000c8;--ok:#005c00;--bad:#a0001c}
html.hc body{background:#fff}html.hc a{text-decoration:underline;text-decoration-thickness:2px}html.hc :focus-visible{outline:4px solid #000;outline-offset:2px;box-shadow:0 0 0 7px #ffd400}
html.hc th,html.hc table.keym th[scope=row],html.hc .ask,html.hc .legend,html.hc .warn,html.hc .note,html.hc .draftnote,html.hc .oldbar{background:#fff;border-color:#000}
html.hc .c{background:#000!important;color:#fff;border:1px solid #000}html.hc .pb,html.hc .db,html.hc .unc,html.hc .nst,html.hc .bdg,html.hc .bdg.na{color:#000!important;border-color:#000!important;border-style:solid}
html.hc .mixtag{background:#000}html.hc .hwfig svg *{stroke:#000}html.hc .hwfig svg text{fill:#000}html.hc mark.todo{background:#ff0;color:#000}html.hc .mixed{color:#000}
html.hc .skip{background:#000}
@media print{header,.noprint,nav,.disp,.skip{display:none}body{background:#fff}main{padding:0}.tab{display:none!important}#export{display:block!important}#sheet{padding:0;border:0;max-width:none}table{font-size:10px}}
.pb-cpu{color:#5a2d82}html.hc .pb-cpu{color:#000}
p.num.sub{margin-left:2em}
/* forms, feed, about, FPGA corner */
.hp{position:absolute!important;left:-10000px;width:1px;height:1px;overflow:hidden}
.form{max-width:760px}.form fieldset{border:1px solid var(--rule);border-top:2px solid var(--ink);margin:0 0 14px;padding:10px 14px;background:var(--panel)}.form legend{font:600 .75rem var(--mono);text-transform:uppercase;letter-spacing:.06em;padding:0 6px}
.fld{display:flex;flex-direction:column;gap:3px;margin:8px 0}.fld label{font-weight:600;font-size:.875rem}.fld input,.fld select,.fld textarea{font:400 .9375rem var(--sans);padding:7px 9px;border:1px solid var(--ink);background:#fff;color:var(--ink);max-width:520px}
.fld [aria-invalid=true]{border:2px solid var(--bad)}.ferr{color:var(--bad);font-size:.8125rem;margin:0;min-height:0}.ferr:empty{display:none}.req{font-weight:400;color:var(--muted);font-size:.8125rem}
.chkf{flex-direction:row;align-items:flex-start;gap:8px;flex-wrap:wrap}.chkf label{font-weight:400;flex:1}
.form button.go{font:600 .9375rem var(--sans);padding:9px 20px;background:var(--ink);color:#fff;border:1px solid var(--ink);cursor:pointer}.fstatus{font-size:.875rem}
.thanks{border:2px solid var(--ok);padding:14px 18px;background:var(--panel);max-width:760px}.thanks h2{border:0;margin-top:0}
ol.feed{list-style:none;padding:0;margin:0;border-top:2px solid var(--ink);background:var(--panel)}ol.feed li{padding:8px 10px;border-bottom:1px solid var(--rule2)}ol.feed time{font:600 .75rem var(--mono);margin-right:6px}
.lead{font-size:1.0625rem;max-width:760px}.purpose{max-width:1180px;margin:0 auto 10px;font-size:.9375rem;color:var(--ink)}
.expert{border:2px dashed var(--accent);padding:4px 14px 12px;margin:14px 0;background:var(--panel)}.expert h2{border:0}.xslot{color:var(--muted)}
main.page{min-height:calc(100vh - 230px)}
