:root{--ink: #000;--paper: #fff;--flag: #ff6700;--link: #0000ee;--visited: #551a8b;--serif: "Times New Roman", Times, "Liberation Serif", serif;--mono: ui-monospace, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;color-scheme:light}*,*:before,*:after{box-sizing:border-box;border-radius:0!important}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:1.1875rem;line-height:1.42}a{color:var(--link);text-decoration:underline;text-underline-offset:.12em}a:visited{color:var(--visited)}a:hover{text-decoration-thickness:2px}a:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--ink);outline-offset:2px;background:#ff0;color:var(--ink)}main:focus{outline:none}::-moz-selection{background:var(--flag);color:var(--ink)}::selection{background:var(--flag);color:var(--ink)}.skip{position:absolute;left:-9999px;top:0;background:var(--ink);color:var(--paper);padding:.5em 1em;z-index:10}.skip:focus{left:0}code,pre,.ticker,.meta,.crumbs,.nav,time,.num{font-family:var(--mono)}code{font-size:.8em;overflow-wrap:anywhere}h1,h2,h3{font-weight:700;line-height:1.1;margin:1.4em 0 .4em}h1{font-size:2.6em;letter-spacing:-.01em}h2{font-size:1.6em}h3{font-size:1.3em}p{margin:0 0 .8em}ul,ol{padding-left:1.6em}small,.meta{font-size:.78em}.meta{color:#333}.none{color:#555;font-style:italic}.nowrap{white-space:nowrap}hr{border:0;border-top:2px solid var(--ink);margin:2.5em 0}.masthead{background:var(--flag);color:var(--ink);border-bottom:3px solid var(--ink);padding:.75rem 1.25rem 1.5rem}.masthead a,.masthead a:visited{color:var(--ink)}.nav{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.2em 1.4em;font-size:.8rem}.nav .router-link-exact-active{font-weight:700;text-decoration-thickness:3px}.name{font-family:var(--serif);font-weight:400;font-size:clamp(4.25rem,18.1vw,20rem);line-height:.82;letter-spacing:-.035em;margin:.18em 0 .08em -.04em}.masthead-small{padding-bottom:.9rem}.masthead-small .name{font-size:clamp(2.5rem,6vw,4.5rem);margin-top:.25em}.masthead-small .name a{text-decoration:none}.masthead-small .name a:hover{text-decoration:underline}.ticker{margin:.5em 0 0;display:flex;flex-direction:column;gap:.45em}.ticker-count{font-size:clamp(2.3rem,8.7vw,9rem);line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em;white-space:nowrap}.ticker-count b{font-weight:800}.ticker-caption{font-size:.8rem;max-width:34em;line-height:1.35}.ticker-caption code{font-size:1em}.doc{max-width:44em;padding:1.5rem 1.25rem 0}.doc-wide{max-width:none}.lede{font-size:1.3em;line-height:1.35;margin-top:.4em}.crumbs{font-size:.8em;margin:0 0 1em}.doc>h1:first-of-type,article>h1{margin-top:.2em}.toc{border:2px solid var(--ink);padding:.6em 1em .4em;display:inline-block;margin-top:.6em}.toc-h{font-size:1em;margin:0 0 .2em}.toc ol{margin:0}.projects{padding-left:2.2em}.projects>li{margin:0 0 2.1em;padding-left:.2em}.projects>li::marker{font-family:var(--mono);font-size:.9em;font-weight:700}.projects h3{margin:0 0 .15em;font-size:1.45em}.projects p{margin:0 0 .3em}.urls{overflow-wrap:anywhere;font-size:.95em}table{border-collapse:collapse;width:100%;margin:0 0 1.6em;font-size:.92em}caption{text-align:left;font-weight:700;padding:0 0 .35em}th,td{border:1px solid var(--ink);padding:.35em .55em;text-align:left;vertical-align:top}thead th{background:var(--ink);color:var(--paper);font-weight:700}.table-scroll{overflow-x:auto}.ptable{min-width:60em}.ptable tbody th{font-size:1.05em}.ptable tbody tr:nth-child(2n){background:#f2f2f2}.links{font-size:.85em;overflow-wrap:anywhere}.num{text-align:right}.dated{list-style:none;padding:0}.dated li{margin:0 0 .45em}.dated time{font-size:.78em;margin-right:.8em}.contact{display:grid;grid-template-columns:max-content 1fr;gap:.2em 1.2em}.contact dt{font-family:var(--mono);font-size:.85em;padding-top:.15em}.contact dd{margin:0;overflow-wrap:anywhere}.fields{margin:1.5em 0 0;border-bottom:1px solid var(--ink)}.fields dt{font-weight:700;border-top:1px solid var(--ink);padding:.55em 0 .1em}.fields dd{margin:0;padding:0 0 .6em;overflow-wrap:anywhere}.fields dd ul{margin:.1em 0 0}@media (min-width: 760px){.fields{display:grid;grid-template-columns:11em 1fr}.fields dt,.fields dd{padding:.55em 0;border-top:1px solid var(--ink)}.fields dt{padding-right:1em}}.posts{padding-left:1.8em}.posts h2{font-size:1.35em;margin:1.1em 0 .15em}.prose{margin-top:1.5em}.prose h2{font-size:1.45em}pre{border:1px solid var(--ink);padding:.8em 1em;overflow-x:auto;font-size:.8em;line-height:1.45;background:#f4f4f4}pre code{font-size:1em}.pager p{font-size:.95em;margin-top:1.5em}td time,dd time{font-size:.85em}.colophon{max-width:44em;padding:0 1.25rem 2.5rem}.colophon p{font-size:.85em}@media (min-width: 1200px){.doc,.colophon{font-size:1.3rem}.doc-wide{font-size:1.15rem}}@media (max-width: 480px){body{font-size:1.0625rem}.masthead{padding:.6rem 1rem 1.1rem}.doc,.colophon{padding-left:1rem;padding-right:1rem}h1{font-size:2.1em}.masthead .name{font-size:26.5vw;line-height:.8;margin-top:.25em}.masthead-small .name{font-size:2.6rem}.lede{font-size:1.18em}.projects{padding-left:1.7em}table:not(.ptable) thead{display:none}table:not(.ptable) caption{display:block;width:100%}table:not(.ptable),table:not(.ptable) tbody,table:not(.ptable) tr,table:not(.ptable) td{display:block;width:100%}table:not(.ptable) tr{border:1px solid var(--ink);border-top:0}table:not(.ptable) tbody tr:first-child{border-top:1px solid var(--ink)}table:not(.ptable) td{border:0;padding:.3em .6em}table:not(.ptable) td:first-child{font-family:var(--mono);font-size:.8em;padding-top:.6em}}@media print{.masthead{background:none;border-bottom:3px solid #000}.nav,.skip{display:none}a{color:#000}}
