
:root{--paper:#F4F6F0;--card:#FFFFFF;--ink:#14201B;--ink2:#55655C;--rule:#C9D3C2;
--rule2:#E2E8DD;--slate:#1D3A57;--slate-bg:#DCE4EC;--red:#A6291F;--red-bg:#F2DEDB;--max:1120px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);
font-family:'IBM Plex Serif',Georgia,'Times New Roman',serif;font-size:19px;line-height:1.68}
body[dir=rtl]{font-family:'IBM Plex Sans Arabic','Noto Sans Arabic',system-ui,sans-serif;
font-size:19px;line-height:1.95}
.mono{font-family:'IBM Plex Mono',ui-monospace,Consolas,monospace}
body[dir=rtl] .mono{font-family:'IBM Plex Sans Arabic',system-ui,sans-serif}
.wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.col{max-width:680px;margin:0 auto}

/* masthead */
.top{border-top:6px solid var(--ink);border-bottom:1px solid var(--rule);background:var(--card)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:14px;flex-wrap:wrap}
.mast{font-weight:600;letter-spacing:.2em;font-size:13px;margin:0;text-transform:uppercase}
body[dir=rtl] .mast{letter-spacing:0}
.lang{font-size:12px;text-decoration:none;color:var(--ink);border:1px solid var(--rule);
padding:5px 12px;border-radius:2px}
.lang:hover{background:var(--paper)}

/* hero */
header.hero{padding:56px 0 32px}
.eyebrow{color:var(--red);font-size:11.5px;letter-spacing:.18em;font-weight:600;margin:0 0 20px;text-transform:uppercase}
body[dir=rtl] .eyebrow{letter-spacing:0}
h1{font-size:clamp(34px,5.6vw,58px);line-height:1.1;margin:0 0 20px;font-weight:600;letter-spacing:-.015em}
body[dir=rtl] h1{line-height:1.35;letter-spacing:0}
.deck{font-size:clamp(18px,2.2vw,23px);line-height:1.45;color:var(--ink2);margin:0 0 28px;font-weight:400}
body[dir=rtl] .deck{line-height:1.75}
.byline{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:12px 0;
font-size:12px;letter-spacing:.08em;color:var(--ink2);display:flex;gap:18px;flex-wrap:wrap}
body[dir=rtl] .byline{letter-spacing:0}

/* body */
article{padding-bottom:64px}
article p{margin:0 0 22px}
article h2{font-size:clamp(22px,3vw,29px);line-height:1.25;margin:56px 0 22px;font-weight:600;
padding-top:22px;border-top:2px solid var(--ink)}
body[dir=rtl] article h2{line-height:1.5}
article strong{font-weight:600}
article em{font-style:italic}
body[dir=rtl] article em{font-style:normal;border-bottom:1px dotted var(--ink2)}
article hr{border:0;border-top:1px solid var(--rule);margin:44px 0}
article a{color:var(--slate)}
article>.col:first-child>p:first-of-type::first-letter{font-size:3.1em;line-height:.86;float:left;
margin:6px 10px 0 0;font-weight:600;color:var(--ink)}
body[dir=rtl] article>.col:first-child>p:first-of-type::first-letter{float:right;margin:6px 0 0 10px}

/* chips */
.chip{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.06em;
padding:4px 9px;border-radius:2px;white-space:nowrap;line-height:1.4;
font-family:'IBM Plex Mono',ui-monospace,monospace;text-transform:uppercase}
body[dir=rtl] .chip{font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0;text-transform:none}
.chip.no{background:var(--red-bg);color:var(--red)}
.chip.ok{background:var(--slate-bg);color:var(--slate)}

/* figures */
.fig{margin:44px auto;background:var(--card);border:1px solid var(--rule);
border-top:5px solid var(--ink);padding:26px 24px 20px;max-width:900px}
.fig-n{margin:0 0 10px;font-size:11px;letter-spacing:.14em;font-weight:600;color:var(--red);
font-family:'IBM Plex Mono',ui-monospace,monospace;text-transform:uppercase}
body[dir=rtl] .fig-n{font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0;text-transform:none}
.fig-n span{color:var(--ink2)}
.fig h3{margin:0 0 6px;font-size:clamp(19px,2.4vw,25px);line-height:1.22;font-weight:600}
body[dir=rtl] .fig h3{line-height:1.45}
.fig-s{margin:0 0 20px;font-size:14px;line-height:1.5;color:var(--ink2)}
body[dir=rtl] .fig-s{line-height:1.75}
.fig-src{margin:16px 0 0;padding-top:12px;border-top:1px solid var(--rule);
font-size:11.5px;color:var(--ink2);line-height:1.5}
.lab{margin:14px 0 6px;font-size:10.5px;letter-spacing:.12em;font-weight:600;color:var(--ink2);
font-family:'IBM Plex Mono',ui-monospace,monospace;text-transform:uppercase}
body[dir=rtl] .lab{font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0;text-transform:none}
.lab-b{color:var(--slate)}
.punch{margin:22px 0 0;font-size:15px;font-weight:600;color:var(--red);
font-family:'IBM Plex Mono',ui-monospace,monospace;line-height:1.5}
body[dir=rtl] .punch{font-family:'IBM Plex Sans Arabic',sans-serif}
.punch-bar{background:var(--ink);color:var(--paper);padding:16px 18px;text-align:center;border-radius:2px}
.note{margin:18px 0 0;padding:14px 16px;background:var(--paper);
border-inline-start:3px solid var(--ink2);font-size:13.5px;line-height:1.55;color:var(--ink2)}
body[dir=rtl] .note{line-height:1.8}

/* f1 */
.f1-head,.f2-head{display:grid;gap:14px;font-size:10.5px;letter-spacing:.11em;font-weight:600;
color:var(--ink2);padding-bottom:8px;border-bottom:1px solid var(--rule);
font-family:'IBM Plex Mono',ui-monospace,monospace;text-transform:uppercase}
body[dir=rtl] .f1-head,body[dir=rtl] .f2-head{font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0;text-transform:none}
.f1-head{grid-template-columns:150px 1fr 170px}
.f1-row{display:grid;grid-template-columns:150px 1fr 170px;gap:14px;align-items:center;
padding:14px 0;border-bottom:1px solid var(--rule2)}
.f1-bar{position:relative;padding:7px 10px;border-radius:2px;min-width:88px}
.f1-bar::before{content:"";position:absolute;inset:0;width:var(--w);border-radius:2px;opacity:.2}
.f1-row.no .f1-bar::before{background:var(--red)}
.f1-row.ok .f1-bar::before{background:var(--slate)}
.f1-row.no .f1-bar{border-inline-start:3px solid var(--red)}
.f1-row.ok .f1-bar{border-inline-start:3px solid var(--slate)}
.f1-amt{position:relative;font-size:17px;font-weight:600;
font-family:'IBM Plex Mono',ui-monospace,monospace}
body[dir=rtl] .f1-amt{font-family:'IBM Plex Sans Arabic',sans-serif}
.f1-who{margin:0;font-size:13.5px;line-height:1.5;color:var(--ink2)}
body[dir=rtl] .f1-who{line-height:1.75}

/* f2 */
.f2-head{grid-template-columns:1fr 1.35fr}
.f2-row{display:grid;grid-template-columns:1fr 1.35fr;gap:20px;padding:16px 0;
border-bottom:1px solid var(--rule2)}
.f2-row p{margin:0}
.f2-c{font-size:14.5px;font-weight:600;line-height:1.45;padding-inline-start:12px}
body[dir=rtl] .f2-c{line-height:1.7}
.f2-row.no .f2-c{border-inline-start:4px solid var(--red)}
.f2-row.ok .f2-c{border-inline-start:4px solid var(--slate)}
.f2-r{font-size:13.5px;line-height:1.55;color:var(--ink2)}
body[dir=rtl] .f2-r{line-height:1.8}
.f2-key{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}

/* f3 */
.f3-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.f3-col{border-top:5px solid var(--ink);padding-top:12px}
.f3-when{margin:0 0 8px;font-size:10.5px;letter-spacing:.1em;font-weight:600;color:var(--red);
font-family:'IBM Plex Mono',ui-monospace,monospace}
body[dir=rtl] .f3-when{font-family:'IBM Plex Sans Arabic',sans-serif;letter-spacing:0}
.f3-col h4{margin:0 0 4px;font-size:16.5px;line-height:1.25;font-weight:600}
body[dir=rtl] .f3-col h4{line-height:1.5}
.f3-t{margin:0;font-size:13px;line-height:1.5}
body[dir=rtl] .f3-t{line-height:1.75}
.f3-b{color:var(--ink2);border-top:1px solid var(--rule);padding-top:10px;margin-top:-2px}

/* f4 */
.f4-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.f4-p h4{margin:0 0 4px;font-size:19px;font-weight:600;padding-inline-start:12px}
.f4-p.doc h4{border-inline-start:5px solid var(--slate)}
.f4-p.no h4{border-inline-start:5px solid var(--red)}
.f4-p ul{margin:0;padding:0;list-style:none}
.f4-p li{font-size:13.5px;line-height:1.5;margin:0 0 12px;padding-inline-start:12px}
body[dir=rtl] .f4-p li{line-height:1.75}
.f4-a li{border-inline-start:3px solid var(--rule)}
.f4-p.doc .f4-a li{border-inline-start-color:var(--slate)}
.f4-p.no .f4-a li{border-inline-start-color:var(--red)}
.f4-b{border-top:1px solid var(--rule);padding-top:12px!important}
.f4-b li{color:var(--ink2);border-inline-start:3px solid var(--rule2)}

/* photos */
.photo{margin:44px auto;max-width:900px}
.photo img{width:100%;height:auto;display:block;border:1px solid var(--rule)}
.photo figcaption{margin-top:10px;font-size:13px;line-height:1.55;color:var(--ink2)}

/* photo pairs */
.photo.duo{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:start}
.photo.duo .cell img{width:100%;height:auto;display:block;border:1px solid var(--rule)}
.photo.duo figcaption{margin-top:10px;font-size:13px;line-height:1.55;color:var(--ink2)}
@media(max-width:620px){.photo.duo{grid-template-columns:1fr}}

/* video embeds */
.vid{margin:44px auto;max-width:900px}
.vid .vidwrap{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--rule)}
.vid.wide .vidwrap{aspect-ratio:16/9}
.vid.tall .vidwrap{max-width:min(420px,100%);aspect-ratio:9/16;margin-inline:auto}
.vid iframe{width:100%;height:100%;display:block;border:0}
.vid figcaption{margin-top:10px;font-size:13px;line-height:1.55;color:var(--ink2)}
.vid figcaption a{color:var(--slate)}

/* f5 */
.xpost{margin:0 0 8px;padding:16px 18px;background:var(--paper);border:1px solid var(--rule);
border-inline-start:4px solid var(--red);border-radius:2px;direction:ltr;text-align:left}
.xpost-meta{margin:0 0 8px;font-size:12px;color:var(--ink2);letter-spacing:.04em;
font-family:'IBM Plex Mono',ui-monospace,monospace}
.xpost-name{font-weight:700;color:var(--ink)}
.xpost-text{margin:0;font-size:15.5px;line-height:1.6}
.xpost-foot{margin:0 0 20px;font-size:12px;color:var(--ink2)}
.xpost-foot a{color:var(--slate)}

.f5-row{display:grid;grid-template-columns:56px 1fr;gap:12px;padding:16px 12px;
border-bottom:1px solid var(--rule2);border-radius:2px}
.f5-row.hot{background:#FBF2F1}
.f5-n{font-size:25px;font-weight:700;color:var(--rule);line-height:1;
font-family:'IBM Plex Mono',ui-monospace,monospace}
.f5-b h4{margin:0 0 6px;font-size:16.5px;font-weight:600;line-height:1.3}
body[dir=rtl] .f5-b h4{line-height:1.55}
.f5-b p{margin:0 0 10px;font-size:13.5px;line-height:1.55;color:var(--ink2)}
body[dir=rtl] .f5-b p{line-height:1.8}

/* share bar */
.share{display:flex;gap:.6rem;flex-wrap:wrap;max-width:680px;margin:0 auto 2rem;padding-top:1.5rem}
.share span{font-size:.72rem;font-weight:800;color:var(--ink2);text-transform:uppercase;align-self:center;letter-spacing:.08em}
body[dir=rtl] .share span{letter-spacing:0;text-transform:none}
.share a{border:1px solid var(--rule);padding:.35rem .8rem;border-radius:2px;font-size:.8rem;font-weight:700;text-decoration:none;color:var(--ink)}
.share a:hover{background:var(--red);color:#fff;border-color:var(--red)}

footer.foot{border-top:2px solid var(--ink);background:var(--card);padding:28px 0 44px;
font-size:12.5px;color:var(--ink2);line-height:1.6}
body[dir=rtl] footer.foot{line-height:1.85}

@media(max-width:860px){
 .f3-grid{grid-template-columns:1fr 1fr}
 .f4-grid{grid-template-columns:1fr;gap:22px}
 .f2-head{display:none}
 .f2-row{grid-template-columns:1fr;gap:10px}
 .f2-r{padding-inline-start:12px;border-inline-start:1px dotted var(--rule)}
}
@media(max-width:620px){
 body{font-size:17.5px}
 .fig{padding:20px 16px 16px;margin-inline:-8px}
 .f3-grid{grid-template-columns:1fr}
 .f1-head{display:none}
 .f1-row{grid-template-columns:1fr;gap:8px}
 .f1-bar{max-width:200px}
 .f5-row{grid-template-columns:1fr}
 .f5-n{font-size:16px}
 article>.col:first-child>p:first-of-type::first-letter{font-size:2.4em}
}
@media print{
 body{background:#fff;font-size:11pt}
 .top,.lang{display:none}
 .fig{break-inside:avoid;page-break-inside:avoid}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
