@font-face{font-family:Inter;src:url('./fonts/inter-latin.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
@font-face{font-family:Newsreader;src:url('./fonts/newsreader-italic.woff2') format('woff2');font-style:italic;font-weight:200 800;font-display:swap}
:root{font-family:Inter,Arial,sans-serif;color:#f5f5f5;background:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--muted:rgba(237,237,237,.72);--rule:#222222}
*{box-sizing:border-box}body{margin:0;overflow-y:scroll}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}button,a,input{-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}::selection{background:#212121;color:#f5f5f5}:focus-visible{outline:2px solid #648ac4;outline-offset:5px;border-radius:3px}ul{list-style:none;padding:0;margin:0}p,h1,h2,h3,figure,blockquote{margin:0}svg{vertical-align:middle;max-width:100%}
.container{padding:5rem 1rem 2.5rem;max-width:36.375rem;margin:0 auto}.container:before{content:"";pointer-events:none;z-index:9;position:fixed;top:0;left:0;right:0;height:8rem;background:linear-gradient(180deg,#0a0a0a 0,rgba(10,10,10,.738) 19%,rgba(10,10,10,.38) 47%,rgba(10,10,10,.12) 73%,transparent 100%)}
.article{max-width:70ch;overflow-wrap:anywhere}.article>header{display:flex;flex-direction:column;gap:.25rem;padding:0 0 .5rem}.article>header h1{font-size:.875rem;line-height:1.25rem;font-weight:500;letter-spacing:-.00563rem}.article>header time{font-size:.875rem;line-height:1.25rem;font-weight:460;color:var(--muted);letter-spacing:-.00563rem}.article p{font-size:.875rem;font-weight:460;line-height:1.25rem;letter-spacing:-.00563rem}.article>p{margin-top:1rem}.article strong,.article b{font-weight:600}.article i,.article em{font-family:Newsreader,Georgia,serif;font-size:.9375rem;font-weight:430;font-variation-settings:"opsz" 10}.basic-link{position:relative;display:inline;text-decoration:underline;text-decoration-color:#333333;text-underline-offset:3px;text-decoration-thickness:1px;transition:color .2s,text-decoration-color .2s}.basic-link:hover{color:#9e9e9e;text-decoration-color:#9e9e9e}.contact{margin-top:1rem}
.post-list{padding:3rem 0 0}.post-list>h2{font-size:.875rem;font-weight:460;letter-spacing:-.00563rem;color:var(--muted);padding-bottom:.5rem;border-bottom:1px solid #1d1d1d}.year-group{border-bottom:1px solid #1d1d1d}.year-group:last-child{border:0}.post-row{position:relative;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.735rem 0 .735rem 6.75rem;min-height:43px}.year-group li:not(:last-child) .post-row:after{content:"";border-bottom:1px solid #1d1d1d;position:absolute;bottom:0;left:6.75rem;right:0}.post-name{display:inline-flex;align-items:center;gap:.625rem;font-size:.875rem;font-weight:460;letter-spacing:-.00563rem;transition:opacity .14s}.post-name svg{opacity:0;flex-shrink:0;transform:translateX(-3px) rotate(-45deg);transition:opacity .14s,transform .14s}.post-row:hover .post-name svg,.post-row:focus-visible .post-name svg{opacity:1;transform:translateX(2px) rotate(-45deg)}.post-row time{font-size:.875rem;font-weight:460;color:var(--muted);#121212-space:nowrap;letter-spacing:-.00563rem}.short-date{transition:opacity .14s}.year{position:absolute;left:0}.year-hidden{visibility:hidden}
.homepage .article>*{animation:stagger-in .5s ease both}.homepage .article>*:nth-child(2){animation-delay:.05s}.homepage .article>*:nth-child(3){animation-delay:.1s}.homepage .article>*:nth-child(4){animation-delay:.15s}.homepage .article>*:nth-child(5){animation-delay:.2s}.homepage .article>*:nth-child(6){animation-delay:.25s}.homepage .post-list{animation:stagger-in .5s .3s ease both}@keyframes stagger-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.article-nav{position:fixed;width:10.75rem;top:5rem;left:max(1.5rem,calc(50% - 32rem));font-size:.75rem;line-height:1.2rem;font-weight:460}.index-link{display:inline-flex;gap:.5rem;align-items:center;font-size:.8125rem;color:#9e9e9e;margin-bottom:2.5rem;transition:color .15s}.index-link:hover{color:#f5f5f5}.article-nav nav h2{color:#9e9e9e;font-size:.6875rem;font-weight:460;margin-bottom:.75rem}.article-nav nav li{margin:.55rem 0}.article-nav nav a{color:#9e9e9e;transition:color .15s}.article-nav nav a:hover,.article-nav nav a[aria-current=true]{color:#f5f5f5}.reading-meta{color:#9e9e9e;margin-top:1.75rem;font-size:.6875rem}.article-page>article>header h1{max-width:35rem}.article-subtitle{color:#9e9e9e}.article h2{font-size:.9375rem;font-weight:600;letter-spacing:-.00813rem;line-height:1.3rem;margin:2.5rem 0 1rem;scroll-margin-top:5rem}.article h3{font-size:.875rem;font-weight:560;line-height:1.25rem;margin:1.5rem 0 .75rem;scroll-margin-top:5rem}.article h2+p,.article h3+p{margin-top:0}.article hr{border:0;width:3.125rem;height:1px;background:var(--rule);margin:2.5rem 0}.article blockquote{margin:1.75rem 0;padding-left:1rem;border-left:2px solid #272727;color:#9e9e9e}.article blockquote p{font-size:.8125rem;line-height:1.2rem}.article .caption{font-size:.75rem;color:#9e9e9e;margin:1rem 0 2rem}.draft-note{font-size:.75rem!important;color:#9e9e9e}.paper-links{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin:1.5rem 0 2rem;font-size:.75rem;color:#9e9e9e}.small-button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.5rem .75rem;background:#1d1d1d;border:1px solid #282828;border-radius:6px;font-size:.75rem;color:#a4a4a4;transition:background .15s,transform .15s}.small-button:hover{background:#252525}.small-button:active{transform:scale(.97)}.article-footer{padding-top:3rem;display:flex;flex-direction:column;gap:1rem;font-size:.75rem;color:#9e9e9e}.article-footer p{font-size:.75rem}.article-footer a{width:fit-content}.table-scroll{overflow-x:auto;margin:1.5rem 0;border:1px solid #272727;border-radius:8px}table{border-collapse:collapse;width:100%;font-size:.75rem;line-height:1.15rem}th,td{text-align:left;vertical-align:top;padding:.7rem .8rem;border-bottom:1px solid #272727}thead th{font-weight:600;background:#1d1d1d;color:#d0d0d0;border-bottom:1px solid #272727}tbody th{font-weight:550;color:#d0d0d0}tbody th:first-child:nth-last-child(2){width:50%}td{color:#9e9e9e;border-left:1px solid #272727}tbody tr:nth-child(even):not(.table-group){background:#161616}.table-group th{background:#191919;color:#a4a4a4;font-weight:600;font-size:.6875rem;letter-spacing:.02em;text-transform:uppercase;padding:.5rem .8rem}tbody tr:last-child>*{border-bottom:0}.reading-progress{position:fixed;top:0;left:0;height:2px;background:#9e9e9e;width:0;z-index:20;transition:width .1s linear}
.diagram{margin:2rem 0;background:#191919;border:1px solid #272727;border-radius:10px;padding:1.125rem 1.25rem}.diagram svg{display:block;width:100%;height:auto}.diagram figcaption{font-size:.625rem;line-height:1rem;color:#9e9e9e;margin-top:1rem;border-top:1px solid #272727;padding-top:.75rem}.replay{margin:2rem 0;background:#191919;border:1px solid #272727;border-radius:10px;padding:1.125rem 1.25rem}.replay-top{display:flex;justify-content:space-between;gap:1rem;font-size:.75rem;color:#9e9e9e}.replay-label{font-size:.6875rem;color:#9e9e9e;#121212-space:nowrap}.replay-tabs{display:flex;gap:.3rem;flex-wrap:wrap;margin:1rem 0}.replay-tabs button{border:1px solid transparent;background:transparent;color:#9e9e9e;border-radius:5px;padding:.4rem .55rem;font-size:.6875rem;transition:background .15s,color .15s}.replay-tabs button[aria-pressed=true]{background:#121212;border-color:#282828;color:#c1c1c1;box-shadow:0 1px 2px #ededed04}.replay-tabs button:hover{color:#c1c1c1}.article .replay-instruction{font-size:.8125rem;min-height:2.5rem;color:#a4a4a4;font-family:Newsreader,Georgia,serif;font-style:italic;line-height:1.25rem}.replay-scene{display:block;width:100%;max-height:290px;margin:.75rem auto}.scene-label{font-family:Inter,Arial,sans-serif;font-size:9px;fill:#9e9e9e}.replay-controls{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.replay-controls>[data-step]{margin-left:auto;color:#9e9e9e;font-size:.6875rem;font-variant-numeric:tabular-nums}.replay-mode{font-size:.6875rem;color:#9e9e9e;display:flex;align-items:center;gap:.25rem}.replay-mode input{accent-color:#9e9e9e}.article .replay-result{font-size:.6875rem;line-height:1rem;color:#9e9e9e;margin-top:.75rem;min-height:2rem}.replay figcaption{font-size:.625rem;line-height:1rem;color:#9e9e9e;margin-top:1rem;border-top:1px solid #272727;padding-top:.75rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);#121212-space:nowrap;border:0}.skip-link{position:fixed;top:8px;left:8px;z-index:30;padding:.6rem 1rem;background:#121212;border:1px solid #2f2f2f;border-radius:4px;font-size:.875rem;transform:translateY(-160%)}.skip-link:focus{transform:none}
@media(hover:hover) and (min-width:520px){.post-list>ul:hover .post-name,.post-list>ul:hover .short-date{opacity:.3}.post-list>ul .post-row:hover .post-name,.post-list>ul .post-row:hover .short-date{opacity:1}}
@media(max-width:1100px){.article-nav{position:static;width:auto;max-width:36.375rem;margin:2.5rem auto -2.5rem;padding:0 1rem}.article-nav nav,.reading-meta{display:none}.index-link{margin:0}.article-page{padding-top:4rem}}
@media(max-width:768px){.container{padding:2rem 1.5rem 2.5rem}.container:before{height:2.5rem}.article-nav{margin:2rem auto 0;padding:0 1.5rem}.article-page{padding-top:1.5rem}.article h2,.article h3{scroll-margin-top:3rem}}
@media(max-width:520px){.post-row{padding-left:3rem;gap:.6rem;align-items:flex-start}.year-group li:not(:last-child) .post-row:after{left:3rem}.post-name{line-height:1.25rem}.post-name svg{display:none}.post-row time{padding-top:.1rem;font-size:.75rem}.year{font-size:.75rem}.replay{padding:1rem}.replay-label{display:none}.replay-mode{width:100%;order:3}.replay-controls>[data-step]{order:2}.paper-links{gap:.8rem}.article>header h1{line-height:1.35rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[hidden]{display:none!important}.article>header.paper-header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:1rem}.paper-heading{display:flex;flex-direction:column;gap:.25rem;min-width:0}.paper-audio{display:contents}.paper-audio button{#121212-space:nowrap}.paper-audio>[data-audio-play]{grid-column:2;grid-row:1;justify-self:end}.audio-player-panel{grid-column:1/-1;grid-row:2;display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;width:100%;padding:.6rem;background:#1b1b1b;border:1px solid var(--rule);border-radius:8px}.paper-audio audio{display:block;flex:1 1 200px;width:100%;max-width:100%;min-width:0;height:34px}.audio-speed{flex-shrink:0}.audio-status{font-size:.6875rem;color:#9e9e9e;display:block;flex-basis:100%}.audio-status:empty{display:none}
.source-post{margin:1.5rem 0 2.5rem;padding:1.25rem;border:1px solid var(--rule);border-radius:8px;background:#171717}.source-post h2{margin:0 0 .75rem!important;font-size:.8125rem}.source-post>p{font-size:.8125rem;color:#9e9e9e;line-height:1.2rem}.tweet-embed{margin:1rem 0;max-width:100%;min-width:0}.tweet-embed .twitter-tweet{margin:0!important;max-width:100%!important}.tweet-embed>blockquote{padding:.75rem;border-left:2px solid #2f2f2f;font-size:.75rem}.source-post-links{display:flex;flex-wrap:wrap;gap:1rem;font-size:.6875rem!important}.source-post iframe{max-width:100%}
@media print{.article-nav,.reading-progress,.skip-link,.replay-controls,.replay-tabs{display:none}.container{max-width:none;padding:0}.container:before{display:none}.article{max-width:none}.article h2{break-after:avoid}.replay{break-inside:avoid}.paper-links{display:none}}
.fig{position:relative;margin:2rem 0;padding:1rem;background:#181818;border:1px solid #232323;border-radius:10px}.fig .fig-q{font-size:.875rem;font-weight:600;line-height:1.3rem;margin:0 0 .75rem}.fig-pause:focus-visible{outline:2px solid #5570d2;outline-offset:2px}.fig-svg{display:block;width:100%;max-width:400px;height:auto;margin:.5rem auto}.fig-wide{max-width:520px}.fig .fig-result{font-size:.8125rem;line-height:1.3rem;margin:.5rem 0 0}.fig .fig-result p{margin:0}.fig-result[data-ok=no]{color:#d86050}.fig-result[data-ok=yes]{color:#66c27c}.fig-checks{margin:.5rem 0 0;padding:0;list-style:none;counter-reset:chk;font-size:.8125rem}.fig-checks li{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.3rem 0;border-bottom:1px solid #232323}.fig-checks li>span:first-child::before{counter-increment:chk;content:counter(chk) ". "}.fig-state{flex:none}.fig-checks li[data-state=stop]{color:#d86050;font-weight:600}.fig-checks li[data-state=pass] .fig-state{color:#66c27c}.fig-checks li[data-state=skip]{color:#82879e}.fig-code{#121212-space:pre-wrap;word-break:break-all;font-size:.75rem;line-height:1.1rem;background:#121212;border:1px solid #232323;border-radius:6px;padding:.5rem .6rem;margin:.4rem 0 0}.fig .fig-note{font-size:.75rem;line-height:1.1rem;color:#82879e;margin:.5rem 0 0}.k-page{color:#717eb7}.k-refused,.k-unseen{color:#d86050}.k-post{color:#66c27c}.k-train,.k-learn{color:#8099f0}.k-check{color:#717eb7}.k-exam{color:#8a91a7}.fig-legend,.fig-table{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:.5rem .75rem;margin:.5rem 0 0;font-size:.8125rem}.fig-legend dt,.fig-table dt{font-weight:600}.fig-legend dd,.fig-table dd{margin:0;color:#a4a4a4}.fig figcaption{font-size:.75rem;line-height:1.1rem;color:#9197ac;margin-top:.75rem;border-top:1px solid #232323;padding-top:.6rem}@media(max-width:520px){.fig{padding:.75rem}}@media(prefers-reduced-motion:reduce){.fig-grow,.fig-lift{transition:none!important}}
.fig .fig-q{padding-right:4.5rem}.fig-pause{position:absolute;top:.75rem;right:.75rem;font:inherit;font-size:.75rem;line-height:1rem;padding:.25rem .6rem;border:1px solid #272d49;border-radius:999px;background:#121212;color:#a1a6bf;cursor:pointer}.fig .fig-scenario{font-size:.8125rem;font-weight:600;color:#546fd4;margin:0;min-height:1.25rem}.fig-grow{transform-box:fill-box;transform-origin:left center;transform:scaleX(0);transition:transform 1.2s cubic-bezier(.2,.7,.2,1)}.fig-grow.on{transform:scaleX(1)}.fig-lift{opacity:0;transition:opacity .4s,transform .9s cubic-bezier(.2,.7,.2,1)}.fig-lift.on{opacity:1}.fig-lift.up{transform:translate(0,-16px)}
.verify{margin-top:1rem}.verify-files{display:grid;gap:.5rem;margin-top:1rem}.verify-files li{display:grid;gap:.0625rem}.verify-files a{font-size:.875rem}.verify-files span{font-size:.8125rem;line-height:1.15rem;color:var(--muted)}.verify-steps{display:grid;gap:1rem;margin:1.25rem 0 0;padding-left:1.25rem}.verify-steps li::marker{color:var(--muted)}.verify pre,.article pre{margin:.5rem 0 0;padding:.75rem;overflow-x:auto;background:#1a1a1a;border:1px solid #222222;border-radius:4px;font-size:.75rem;line-height:1.4}.verify code,.article pre code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.verify-expect{font-size:.8125rem;line-height:1.15rem;color:var(--muted);margin-top:.375rem}.verify-limits{margin-top:1.25rem}

.name-row{display:flex;align-items:center;gap:.5rem}.mascot{width:28px;height:28px;flex:none}
:root{color-scheme:dark}
.diagram [fill="#2f6a41"],.replay [fill="#2f6a41"]{fill:#6bbd84!important}.diagram [stroke="#2f6a41"],.replay [stroke="#2f6a41"]{stroke:#6bbd84!important}.diagram [stop-color="#2f6a41"],.replay [stop-color="#2f6a41"]{stop-color:#6bbd84!important}
.diagram [fill="#333"],.replay [fill="#333"]{fill:#c1c1c1!important}.diagram [stroke="#333"],.replay [stroke="#333"]{stroke:#c1c1c1!important}.diagram [stop-color="#333"],.replay [stop-color="#333"]{stop-color:#c1c1c1!important}
.diagram [fill="#438357"],.replay [fill="#438357"]{fill:#71b787!important}.diagram [stroke="#438357"],.replay [stroke="#438357"]{stroke:#71b787!important}.diagram [stop-color="#438357"],.replay [stop-color="#438357"]{stop-color:#71b787!important}
.diagram [fill="#555"],.replay [fill="#555"]{fill:#a4a4a4!important}.diagram [stroke="#555"],.replay [stroke="#555"]{stroke:#a4a4a4!important}.diagram [stop-color="#555"],.replay [stop-color="#555"]{stop-color:#a4a4a4!important}
.diagram [fill="#666"],.replay [fill="#666"]{fill:#9e9e9e!important}.diagram [stroke="#666"],.replay [stroke="#666"]{stroke:#9e9e9e!important}.diagram [stop-color="#666"],.replay [stop-color="#666"]{stop-color:#9e9e9e!important}
.diagram [fill="#6f6f6a"],.replay [fill="#6f6f6a"]{fill:#9e9e9e!important}.diagram [stroke="#6f6f6a"],.replay [stroke="#6f6f6a"]{stroke:#9e9e9e!important}.diagram [stop-color="#6f6f6a"],.replay [stop-color="#6f6f6a"]{stop-color:#9e9e9e!important}
.diagram [fill="#888"],.replay [fill="#888"]{fill:#9e9e9e!important}.diagram [stroke="#888"],.replay [stroke="#888"]{stroke:#9e9e9e!important}.diagram [stop-color="#888"],.replay [stop-color="#888"]{stop-color:#9e9e9e!important}
.diagram [fill="#999"],.replay [fill="#999"]{fill:#9e9e9e!important}.diagram [stroke="#999"],.replay [stroke="#999"]{stroke:#9e9e9e!important}.diagram [stop-color="#999"],.replay [stop-color="#999"]{stop-color:#9e9e9e!important}
.diagram [fill="#9cc2a6"],.replay [fill="#9cc2a6"]{fill:#426b4d!important}.diagram [stroke="#9cc2a6"],.replay [stroke="#9cc2a6"]{stroke:#426b4d!important}.diagram [stop-color="#9cc2a6"],.replay [stop-color="#9cc2a6"]{stop-color:#426b4d!important}
.diagram [fill="#bbb"],.replay [fill="#bbb"]{fill:#9e9e9e!important}.diagram [stroke="#bbb"],.replay [stroke="#bbb"]{stroke:#9e9e9e!important}.diagram [stop-color="#bbb"],.replay [stop-color="#bbb"]{stop-color:#9e9e9e!important}
.diagram [fill="#c8d9c8"],.replay [fill="#c8d9c8"]{fill:#2f442f!important}.diagram [stroke="#c8d9c8"],.replay [stroke="#c8d9c8"]{stroke:#2f442f!important}.diagram [stop-color="#c8d9c8"],.replay [stop-color="#c8d9c8"]{stop-color:#2f442f!important}
.diagram [fill="#c95849"],.replay [fill="#c95849"]{fill:#ce675a!important}.diagram [stroke="#c95849"],.replay [stroke="#c95849"]{stroke:#ce675a!important}.diagram [stop-color="#c95849"],.replay [stop-color="#c95849"]{stop-color:#ce675a!important}
.diagram [fill="#d6d6d0"],.replay [fill="#d6d6d0"]{fill:#383838!important}.diagram [stroke="#d6d6d0"],.replay [stroke="#d6d6d0"]{stroke:#383838!important}.diagram [stop-color="#d6d6d0"],.replay [stop-color="#d6d6d0"]{stop-color:#383838!important}
.diagram [fill="#d76757"],.replay [fill="#d76757"]{fill:#d76757!important}.diagram [stroke="#d76757"],.replay [stroke="#d76757"]{stroke:#d76757!important}.diagram [stop-color="#d76757"],.replay [stop-color="#d76757"]{stop-color:#d76757!important}
.diagram [fill="#deded9"],.replay [fill="#deded9"]{fill:#303030!important}.diagram [stroke="#deded9"],.replay [stroke="#deded9"]{stroke:#303030!important}.diagram [stop-color="#deded9"],.replay [stop-color="#deded9"]{stop-color:#303030!important}
.diagram [fill="#e9e9e4"],.replay [fill="#e9e9e4"]{fill:#272727!important}.diagram [stroke="#e9e9e4"],.replay [stroke="#e9e9e4"]{stroke:#272727!important}.diagram [stop-color="#e9e9e4"],.replay [stop-color="#e9e9e4"]{stop-color:#272727!important}
.diagram [fill="#ebebe7"],.replay [fill="#ebebe7"]{fill:#252525!important}.diagram [stroke="#ebebe7"],.replay [stroke="#ebebe7"]{stroke:#252525!important}.diagram [stop-color="#ebebe7"],.replay [stop-color="#ebebe7"]{stop-color:#252525!important}
.diagram [fill="#edf4ed"],.replay [fill="#edf4ed"]{fill:#1e1e1e!important}.diagram [stroke="#edf4ed"],.replay [stroke="#edf4ed"]{stroke:#1e1e1e!important}.diagram [stop-color="#edf4ed"],.replay [stop-color="#edf4ed"]{stop-color:#1e1e1e!important}
.diagram [fill="#fbf1ef"],.replay [fill="#fbf1ef"]{fill:#1a1a1a!important}.diagram [stroke="#fbf1ef"],.replay [stroke="#fbf1ef"]{stroke:#1a1a1a!important}.diagram [stop-color="#fbf1ef"],.replay [stop-color="#fbf1ef"]{stop-color:#1a1a1a!important}
.diagram [fill="#fff"],.replay [fill="#fff"]{fill:#121212!important}.diagram [stroke="#fff"],.replay [stroke="#fff"]{stroke:#121212!important}.diagram [stop-color="#fff"],.replay [stop-color="#fff"]{stop-color:#121212!important}
.diagram svg,.replay svg{fill:#ededed}
@media(max-width:900px),(pointer:coarse){html{-webkit-text-size-adjust:100%}.article p{font-size:.9375rem;line-height:1.5;letter-spacing:-.003em;text-wrap:pretty}.article>p{margin-top:1.15em}.article>header h1{font-size:1.125rem;line-height:1.3}.article>header time{font-size:.9375rem;line-height:1.35}.article h2{font-size:1.125rem;line-height:1.35;margin:2.75rem 0 1rem}.article h3{font-size:1rem;line-height:1.4}.article .caption{font-size:.8125rem;line-height:1.35}.article blockquote p{font-size:1rem;line-height:1.55}.verify-files a{font-size:.9375rem}.verify-files span,.verify-expect{font-size:.875rem;line-height:1.4}.source-post>p{font-size:.9375rem;line-height:1.45}.post-name,.post-row time{font-size:.9375rem}}
@media(max-width:600px){.table-scroll table{min-width:36rem}table{font-size:.8125rem;line-height:1.3}th,td{padding:.6rem .7rem}}
@media(max-width:900px),(pointer:coarse){.verify pre,.article pre{font-size:.8125rem;line-height:1.5}}.homepage{padding-bottom:5rem}.verify-group{margin-top:2.5rem}
html,body{background-color:#0a0a0a}
.reading-progress{top:auto;bottom:0}
/* Proof button: sits on the email line, opposite the email link. Two-part style, colours swap on hover. */
.contact-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1rem}.contact-row .contact{margin:0}
.proof-btn{display:inline-flex;align-items:stretch;flex:none;text-decoration:none;font:500 .625rem/1 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.07em;text-transform:uppercase}
.proof-label,.proof-arrow{display:flex;align-items:center;transition:background-color .2s ease,color .2s ease}
.proof-label{padding:.3rem .8rem .3rem .6rem;background:#f5f5f5;color:#0a0a0a;border-radius:6px 3px 3px 6px;clip-path:polygon(0 0,100% 0,calc(100% - 5px) 100%,0 100%)}
.proof-arrow{margin-left:-3px;padding:.3rem .5rem .3rem .75rem;background:#2a2a2a;color:#f5f5f5;border-radius:3px 6px 6px 3px;clip-path:polygon(5px 0,100% 0,100% 100%,0 100%)}
.proof-btn:hover .proof-label,.proof-btn:focus-visible .proof-label{background:#2a2a2a;color:#f5f5f5}.proof-btn:hover .proof-arrow,.proof-btn:focus-visible .proof-arrow{background:#f5f5f5;color:#0a0a0a}
.proof-btn:focus-visible{outline:2px solid #f5f5f5;outline-offset:3px;border-radius:6px}
@media print{.proof-btn{display:none}}

/* Phones: no pinned extras. Safari's floating address bar and see-through status bar make a fixed top fade look like a shadow and lift a bottom bar into the text. */
@media(max-width:900px),(pointer:coarse){.container:before,.reading-progress{display:none}}
