/* Blog: article layout, table of contents, figures */
.art-g{display:grid;grid-template-columns:200px minmax(0,740px);gap:72px;justify-content:center;align-items:start}
.art-side{position:sticky;top:110px}
.toc{display:flex;flex-direction:column;gap:14px}.toc-l{display:flex;flex-direction:column;border-left:1px solid var(--line)}
.toc-l a{font:400 14px/1.4 Outfit;color:var(--muted);padding:7px 0 7px 16px;margin-left:-1px;border-left:1px solid transparent;transition:color .15s,border-color .15s}
.toc-l a:hover,.toc-l a.on{color:var(--head);border-left-color:var(--accent)}
@media(max-width:1060px){.art-g{grid-template-columns:minmax(0,740px)}.art-side{display:none}}
.byline{display:flex;flex-wrap:wrap;gap:8px 28px;padding-top:20px;border-top:1px solid var(--line)}
.post h2{scroll-margin-top:110px}.post h2:first-child{margin-top:0}
.post h3{font:600 21px/1.3 Outfit;margin:40px 0 10px;color:var(--head)}
.post a{color:var(--accent);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}.post a:hover{color:var(--head)}
.post ol{padding-left:22px;margin:0 0 16px}
.post img{display:block;max-width:100%;height:auto;margin:32px 0;border:1px solid var(--line)}
.post-sum{background:var(--panel);border:1px solid var(--line);padding:28px 32px;margin:0 0 48px;display:flex;flex-direction:column;gap:14px}.post-sum ul{margin:0}
.post-tbl{overflow-x:auto;margin:24px 0 36px;-webkit-overflow-scrolling:touch}
.post .post-tbl table{margin:0;min-width:560px}.post th{font:600 11px/1.35 Outfit;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);vertical-align:bottom;border-bottom:1px solid var(--head)}.post td{vertical-align:top}
.post td:first-child{color:var(--head)}
.post-quote{margin:48px 0!important;padding:0!important;background:none!important;border:0!important}.post-quote p{font:400 italic clamp(24px,2.4vw,32px)/1.35 Fraunces,Georgia,serif;color:var(--head)!important}
.post .post-src{font-size:14px;line-height:1.6;color:var(--muted);padding-left:20px}.post .post-src li{margin-bottom:10px}.post .post-src a{word-break:break-all}
.post-cta{margin:32px 0!important}.post .post-cta .btn{text-decoration:none;color:var(--btnfg)}
.post-end{margin-top:56px;padding-top:28px;border-top:1px solid var(--line)}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}.share-l{display:flex;flex-wrap:wrap;gap:8px 24px}
.post .share a,.share button{font:500 15px Outfit;color:var(--head);text-decoration:none;background:none;border:0;padding:0}.post .share a:hover,.share button:hover{color:var(--accent)}
.fig{margin:48px 0;padding:32px;background:var(--panel);border:1px solid var(--line)}
.fig-h{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 24px;margin-bottom:24px}
.fig-gates{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr)) auto;align-items:stretch}
.fg{display:flex;flex-direction:column;gap:8px;padding:20px;border-top:3px solid var(--accent);border-left:1px solid var(--line);background:var(--bg)}.fg b{font:600 22px/1.2 Outfit;color:var(--head);letter-spacing:-.01em}.fg p{font-size:15px;line-height:1.5;color:var(--muted);margin:0}
.fg-end{display:flex;align-items:center;justify-content:center;padding:0 14px;writing-mode:vertical-rl;transform:rotate(180deg)}
@media(max-width:700px){.fig{padding:22px}.fig-gates{grid-template-columns:1fr}.fg{border-left:0}.fg-end{writing-mode:horizontal-tb;transform:none;padding:12px 0;justify-content:flex-start}}
.fb-row{display:grid;grid-template-columns:96px minmax(0,1fr) 64px;gap:16px;align-items:center;padding:10px 0}
.fb-l{font:500 15px Outfit;color:var(--head)}.fb-track{height:10px;background:var(--panel2);display:block}
.fb-fill{display:block;height:100%;width:0;background:var(--accent);transition:width .9s var(--ease) .25s}.on .fb-fill{width:var(--w)}
.fb-v{font:600 18px Outfit;color:var(--head);text-align:right}
.author-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:24px;margin-top:64px;padding:32px;background:var(--panel);border:1px solid var(--line)}
.ac-photo{display:block;border-radius:50%;object-fit:cover;flex:none}.ac-init{display:inline-flex;align-items:center;justify-content:center;background:var(--panel2);color:var(--head);font-family:Outfit;font-weight:600;letter-spacing:.02em;border:1px solid var(--line)}
.ac-bio p{margin:0 0 10px;font-size:16px;line-height:1.65;color:var(--fg)}.lede.ac-bio p{font-size:inherit;line-height:inherit;margin-bottom:16px}
.ac-bio h2{font:600 24px/1.25 Outfit;letter-spacing:-.02em;color:var(--head);margin:44px 0 12px}
.ac-links{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:center}.post .ac-links a{font:500 15px Outfit;text-decoration:none}
.ph{display:inline-block;padding:3px 10px;border:1.5px dashed var(--accent);color:var(--accent);font:400 12px/1.5 'JetBrains Mono',monospace;letter-spacing:.02em}.ph-b{display:block;padding:14px 16px}
@media(max-width:600px){.author-card{grid-template-columns:1fr;padding:24px}}

/* Co-authors, series box, study-series figures */
.ac-next{margin-top:16px}
.series{margin:0 0 40px;padding:24px 28px;border:1px solid var(--line);background:var(--panel)}
.series ol{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column}
.series li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:12px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line);font-size:16px;line-height:1.45}
.series li a{color:var(--fg);text-decoration:none}.series li a:hover{color:var(--accent)}.series li.on b{color:var(--head);font-weight:600}.series li.on .mono{color:var(--accent)}
.q-ok{background:var(--ok)}.q-mid{background:var(--mid)}.q-bad{background:var(--bad)}
.fst{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fst-g{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--bg);border-top:3px solid var(--accent)}
.fst-g>b{font:600 22px/1.2 Outfit;color:var(--head)}.fst-g>p{margin:0 0 6px;font-size:15px;line-height:1.5;color:var(--fg)}
.fst-g ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}
.fst-g li{display:grid;grid-template-columns:10px minmax(0,1fr);gap:10px;align-items:baseline;padding:10px 0;border-top:1px solid var(--line);font-size:14px;line-height:1.45;color:var(--fg)}
.fst-g li i,.fst-k i,.fmx-s i{width:10px;height:10px;border-radius:50%;display:inline-block;flex:none}
.fst-g li b{display:block;font:600 15px Outfit;color:var(--head);margin-bottom:2px}
.fst-k{display:flex;gap:20px;margin-top:18px;font-size:14px;color:var(--fg)}.fst-k span{display:flex;align-items:center;gap:8px}
@media(max-width:860px){.fst{grid-template-columns:1fr}}
.fmx-t{display:flex;flex-wrap:wrap}.fmx-t button{padding:8px 12px;margin-left:-1px;border:1px solid var(--line);background:transparent;font:500 13px Outfit;color:var(--muted)}.fmx-t button.on{color:var(--head);border-color:var(--accent);background:var(--bg);position:relative}
.fmx-g{display:flex;flex-direction:column}
.fmx-r{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.6fr) minmax(0,1fr);gap:16px;align-items:start;padding:14px 0;border-top:1px solid var(--line)}
.fmx-g.all .fmx-r{grid-template-columns:minmax(0,1.1fr) repeat(3,minmax(0,1fr)) minmax(0,1fr)}
.fmx-hd{border-top:0;padding-top:0}
.fmx-f{display:flex;flex-direction:column;gap:4px}.fmx-f b{font:600 15px/1.35 Outfit;color:var(--head)}.fmx-f .mono{color:var(--accent)}
.fmx-r p{margin:0;font-size:14px;line-height:1.5;color:var(--fg);animation:bub .4s var(--ease) both}
.fmx-s{display:flex;gap:8px;align-items:baseline;font:500 13px/1.4 Outfit;color:var(--head)}
@media(max-width:900px){.fmx-r,.fmx-g.all .fmx-r{grid-template-columns:1fr;gap:6px}.fmx-hd{display:none}}
.fmo{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.fmo-c{display:flex;flex-direction:column;gap:6px;text-align:left;padding:16px;border:1px solid var(--line);background:var(--bg);transition:border-color .3s}
.fmo-c .mono{color:var(--accent)}.fmo-c b{font:600 17px/1.3 Outfit;color:var(--head);animation:bub .5s var(--ease) both}
.fmo-c.on{border-color:var(--accent)}
.fmo-q{margin:20px 0 0;font:300 19px/1.6 Outfit;color:var(--head)}.fmo-q em{font-style:normal;font-weight:500;transition:color .3s}.fmo-q .on em{color:var(--accent)}
@media(max-width:700px){.fmo{grid-template-columns:1fr 1fr}}
.fen{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-rows:auto auto}
.fen-y{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;align-self:center}
.fen-p{position:relative;height:340px;margin:10px 20px 30px 36px;border-left:1px solid var(--line);border-bottom:1px solid var(--line)}
.fen-x{grid-column:2;text-align:center}
.fen-gy{position:absolute;left:0;right:0;border-top:1px dashed var(--line)}.fen-gy span{position:absolute;right:100%;margin-right:8px;transform:translateY(-50%)}
.fen-gx{position:absolute;bottom:0;height:0}.fen-gx span{position:absolute;top:8px;transform:translateX(-50%)}
.fen-d{position:absolute;width:0;height:0;opacity:0;transform:translateY(10px);transition:opacity .6s,transform .8s var(--ease)}.on .fen-d{opacity:1;transform:none}
.fen-d i{position:absolute;width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 6px color-mix(in oklab,var(--accent) 22%,transparent)}
.fen-d span{position:absolute;right:16px;bottom:10px;white-space:nowrap;text-align:right;font-size:13px;line-height:1.4;color:var(--fg)}.fen-d span b{display:block;font:600 16px Outfit;color:var(--head)}
.fen-c{position:absolute;max-width:180px;color:var(--muted)}.fen-c1{left:12px;top:10px}.fen-c2{right:12px;bottom:12px;text-align:right}
@media(max-width:600px){.fen-p{height:280px;margin-left:30px}.fen-d span{font-size:11px}.fen-c{display:none}}
.frg{position:relative;padding-top:30px}
.frg-m{position:absolute;top:0;bottom:0;border-left:1px dashed var(--accent)}.frg-m span{position:absolute;top:0;left:8px;white-space:nowrap;color:var(--accent)}
.frg-r{grid-template-columns:96px minmax(0,1fr)}
.frg-t{position:relative;height:36px}
.frg-t i{position:absolute;top:10px;height:16px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .9s var(--ease)}.on .frg-t i{transform:none}
.frg-t em{position:absolute;top:30px;transform:translateX(-50%);font:400 11px 'JetBrains Mono',monospace;font-style:normal;color:var(--muted)}
.fsy{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:20px;animation:bub .5s var(--ease) both}
.fsy-a{display:flex;flex-direction:column;gap:8px;padding:20px;background:var(--bg);border:1px solid var(--line)}
.fsy-a p{margin:0 0 8px;font-size:16px;line-height:1.55;color:var(--head)}
.fsy-x{padding-left:12px;border-left:3px solid var(--mid)}.fsy-x.q-t-bad{border-left-color:var(--bad)}
.fsy-src{display:flex;gap:8px;flex-wrap:wrap}.fsy-src i{font:500 11px/1 'JetBrains Mono',monospace;font-style:normal;text-transform:uppercase;letter-spacing:.06em;padding:6px 8px;border:1px solid var(--line);color:var(--fg)}.fsy-src i.off{opacity:.4;text-decoration:line-through}
.fsy-n{display:flex;flex-direction:column;gap:12px;justify-content:center}.fsy-n p{margin:0;font-size:16px;line-height:1.55;color:var(--fg)}
.fsy-tag{align-self:flex-start;padding:6px 10px;font:600 12px Outfit;letter-spacing:.12em;text-transform:uppercase;color:var(--bg)}
@media(max-width:760px){.fsy{grid-template-columns:1fr}}

/* Pinned posts and header treatments (cm-blog-cover) */
.pin{display:flex;flex-direction:column;height:100%;border:1px solid var(--line)}
.pin-v{position:relative;height:220px;display:flex;align-items:flex-end;padding:24px;overflow:hidden;background:var(--panel)}
.pin.t-green .pin-v{background:var(--g900);color:#fff}
.pin.t-dark .pin-v{background:var(--ink);color:#fff}
.pin-b .pin-v{background:var(--panel)!important;padding:0}
.pin-b .pin-v img{width:100%;height:100%;object-fit:cover;display:block}
.pin-b .pin-v .ph{margin:24px}
.pin-v .mono{color:var(--g300)}
.pin-mk{font:700 clamp(48px,6vw,96px)/.9 Outfit;letter-spacing:-.05em;color:var(--g300)}
.pin-t{display:flex;flex-direction:column;gap:14px;padding:28px}
.pin:hover{border-color:var(--accent)}
.art-h{position:relative;overflow:hidden}
.art-img{position:absolute;top:0;right:0;bottom:0;width:42%;z-index:1;display:flex;align-items:center;justify-content:center}
.art-img img{width:100%;height:100%;object-fit:cover;display:block}
.art-h-b .c>div{max-width:min(980px,54%)!important}
.art-mk{position:absolute;right:-2vw;bottom:-4vw;z-index:1;font:800 clamp(120px,22vw,360px)/.8 Outfit;letter-spacing:-.06em;color:var(--panel2);white-space:nowrap;pointer-events:none}
@media(max-width:900px){.art-img{position:relative;width:100%;height:220px;margin-top:-120px;margin-bottom:40px}.art-h-b .c>div{max-width:100%!important}}
.pin-cv{position:absolute;inset:0;width:100%;height:100%;display:block}.pin-v .mono{position:relative;z-index:1}
