﻿/*!
  the column is about 65 characters wide. printers settled on that
  centuries ago: wide enough to hold a thought, narrow enough that
  the eye never loses its place. the word colophon comes from them
  too. it was the note at the back of a book saying who made it and
  how.

  nothing in this file is new. that's the point. the best typography
  has already been done. the job is to get out of its way, and then
  to spend a long time making sure you did.
*/@font-face{font-family:"Newsreader";src:url("/assets/fonts/newsreader-roman-web.woff2") format("woff2");font-style:normal;font-weight:400 600;font-display:block}@font-face{font-family:"Newsreader";src:url("/assets/fonts/newsreader-italic-web.woff2") format("woff2");font-style:italic;font-weight:400;font-display:block}@font-face{font-family:"DM Mono";src:url("/assets/fonts/dm-mono-regular.woff2") format("woff2");font-style:normal;font-weight:400;font-display:block}@font-face{font-family:"DM Mono";src:url("/assets/fonts/dm-mono-medium.woff2") format("woff2");font-style:normal;font-weight:500;font-display:block}@font-face{font-family:"DM Mono";src:url("/assets/fonts/dm-mono-italic.woff2") format("woff2");font-style:italic;font-weight:400;font-display:block}:root{--font-family-base: "Newsreader", Georgia, serif;--font-family-mono: "DM Mono", ui-monospace, Menlo, monospace;color-scheme:light;--bg: #edeff0;--ink: #1b1f23;--muted: #5f666d;--wash: #e1e5e7;--line: #cdd2d5;--code: #3d444b;--kw: #1b1f23;--cm: #5f666d}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--bg: #121518;--ink: #dfe3e6;--muted: #98a0a7;--wash: #1b2025;--line: #2a3036;--code: #b4bbc1;--kw: #dfe3e6;--cm: #838b92}}:root[data-theme=dark]{color-scheme:dark;--bg: #121518;--ink: #dfe3e6;--muted: #98a0a7;--wash: #1b2025;--line: #2a3036;--code: #b4bbc1;--kw: #dfe3e6;--cm: #838b92}*,*::before,*::after{box-sizing:border-box}html{background:var(--bg);scroll-behavior:auto}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:var(--font-family-base);font-size:18px;line-height:1.6}a{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{text-decoration-thickness:2px}.prose a:visited,.post-list a:visited,.elsewhere-links a:visited{color:var(--muted)}a[href^="https://"]:not([href^="https://sawyer.systems"])::after,a[href^="http://"]:not([href^="http://sawyer.systems"])::after{content:" ↗";font-size:.7em;color:var(--muted);white-space:nowrap}:focus-visible{outline:1px solid var(--ink);outline-offset:4px}::selection{background:var(--ink);color:var(--bg)}button{font:inherit;color:inherit}[hidden]{display:none !important}.container{max-width:592px;margin-left:clamp(0px,10%,128px);padding:88px 16px}.post,.colophon{padding-bottom:96px;line-height:1.65}.site-label,.section-label,.return-link{font-size:16px;font-weight:400;color:var(--muted)}.site-label{display:block;width:fit-content;margin:0;line-height:1.6}.statement{margin:56px 0 0;max-width:440px;font-size:30px;line-height:1.3;font-weight:400}.section-label{margin:72px 0 14px;line-height:inherit}#elsewhere{margin-top:88px}.elsewhere-links{margin:0;line-height:1.8}.colophon-link{margin:88px 0 0;font-size:16px}.colophon-link a{color:var(--muted)}.not-found-detail{margin:28px 0 0;max-width:440px;color:var(--muted)}.log-link{display:inline-block;margin-top:56px}.return-link{display:inline-block;margin-top:72px}.theme-control{position:absolute;top:16px;right:24px;display:flex;gap:12px;color:var(--muted);font-size:16px}.theme-control button,.activity-tab{border:0;border-radius:0;padding:0;background:rgba(0,0,0,0);cursor:pointer;color:var(--muted)}.theme-control [aria-pressed=true],.activity-tab[aria-pressed=true]{color:var(--ink);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px}.theme-control button:hover,.activity-tab:hover{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}@media (max-width: 600px){.container{margin-left:0}.theme-control{right:16px;top:10px}}.post-list{list-style:none;padding:0;margin:0}.post-list li{display:flex;flex-wrap:wrap;gap:4px 24px}.post-list li+li{margin-top:14px}.post-list time{flex:none;width:104px;color:var(--muted);font-variant-numeric:tabular-nums}.post-list a{flex:1 1 260px;min-width:0}.obfs{display:none}.post-date{margin:72px 0 0;color:var(--muted);font-size:16px}.post h1,.colophon h1{margin:8px 0 20px;font-size:36px;line-height:1.2;font-weight:500;text-wrap:balance}.subtitle{margin:0 0 56px;font-size:20px;line-height:1.5;color:var(--muted)}.prose{overflow-wrap:break-word}.prose h2{margin:48px 0 12px;font-size:20px;line-height:1.3;font-weight:600}.prose>h2:first-child{margin-top:0}.prose p{margin:0 0 18px}.prose pre{margin:24px 0;padding:16px 18px;overflow-x:auto;background:var(--wash);color:var(--code);font-family:var(--font-family-mono);font-size:13px;line-height:1.65;border:0;border-radius:0;box-shadow:none;overflow-wrap:normal}.prose code{font-family:var(--font-family-mono);font-size:.85em;background:var(--wash);padding:1px 5px}.prose pre code{font-size:inherit;background:rgba(0,0,0,0);padding:0}.giallo-l{display:inline}.giallo .z-keyword,.giallo .z-storage{font-weight:500}.giallo .z-keyword.z-operator{font-weight:400}.giallo code[data-lang=csv],.giallo code[data-lang=csv] span{color:var(--code);font-weight:400;font-style:normal}.footnote-reference{font-size:.75em;line-height:0}.footnote-definition{display:flex;align-items:baseline;gap:5px;margin-top:40px;font-size:16px;color:var(--muted)}.footnote-definition-label{font-size:inherit;top:auto}.footnote-definition-label::after{content:"."}.prose .footnote-definition p{margin:0}.removal-notice{font-size:16px;color:var(--muted);margin:12px 0}.removal>.removal-notice{margin:72px 0 8px}.removal>p:last-child{margin:0}.colophon h1{margin:72px 0 12px}.colophon .subtitle{max-width:440px;margin:0}.colophon .section-label{margin:48px 0 10px}.colophon section:first-of-type .section-label{margin-top:64px}.colophon section p{margin:0;max-width:480px}.colophon section .nothing-moves{margin-bottom:14px}.giallo .z-storage.z-type.z-string{font-weight:400}.statistics{margin:24px 0}.statistics h3{margin:36px 0 12px;font-size:20px;line-height:1.3;font-weight:600}.profiler-pane:first-child h3{margin-top:0}.table-scroll{overflow-x:auto;margin:24px 0}table{width:100%;border-collapse:collapse;font-size:16px;font-variant-numeric:tabular-nums;border-top:1px solid var(--line)}th,td{padding:8px 16px 8px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{font-weight:400;color:var(--muted)}.profiler-table{min-width:440px}.profiler-value-sub{color:var(--muted);font-size:14px}.stat-good{text-decoration:underline;text-decoration-color:var(--muted);text-underline-offset:3px}.stat-bad{text-decoration:underline dotted;text-decoration-color:var(--muted);text-underline-offset:3px}.chart-peak{font-size:16px;color:var(--muted)}.activity-tabs{display:flex;flex-wrap:wrap;gap:8px 24px;margin:24px 0 16px;font-size:16px}.activity-graph-container{height:220px;position:relative}.activity-legend{display:flex;flex-wrap:wrap;gap:24px;margin-top:12px;font-size:16px;color:var(--muted)}.activity-legend span::before{content:"";display:inline-block;vertical-align:middle;width:24px;margin-right:8px;border-top:1px solid var(--ink)}.activity-legend .series-party-b::before{border-top:1px dashed var(--muted)}.activity-graph-container canvas{max-width:100%}