:root{--color-mist:#f5f6f3;--color-paper:#fff;--color-ink:#1e2530;--color-ink-muted:#5b6472;--color-line:#dee2dc;--color-line-strong:#868d86;--color-dawn:#e08a3c;--color-dawn-ink:#8e5410;--color-teal:#3f8577;--color-teal-ink:#2a5a4f;--color-scrim:18, 22, 29;--font-display:"Shippori Mincho", "Hiragino Mincho ProN", serif;--font-body:"Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", sans-serif;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4rem;--radius:4px;--content-width:42rem;--gradient-sunrise:linear-gradient(90deg, var(--color-teal), var(--color-dawn));color-scheme:light}@media (prefers-color-scheme:dark){:root{--color-mist:#12161d;--color-paper:#1a1f27;--color-ink:#edefea;--color-ink-muted:#a9b0b8;--color-line:#2b313b;--color-line-strong:#68707c;--color-dawn:#f0a860;--color-dawn-ink:#f0a860;--color-teal:#6fbfae;--color-teal-ink:#6fbfae;--color-scrim:8, 10, 14;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;overflow-x:hidden}body{background:var(--color-mist);color:var(--color-ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:1rem;line-height:1.9;overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit}ul{margin:0;padding:0;list-style:none}h1,h2,h3{font-family:var(--font-display);margin:0 0 var(--space-4);font-weight:600;line-height:1.4}h1{font-size:clamp(1.75rem,5vw,2.75rem)}h2{font-size:clamp(1.25rem,3vw,1.75rem)}p{margin:0 0 var(--space-4)}time,.meta{font-variant-numeric:tabular-nums}.container{max-width:var(--content-width);padding-inline:var(--space-4);margin-inline:auto}.full-bleed{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-dawn-ink);outline-offset:2px}.link-underline{background-image:var(--gradient-sunrise);background-position:0 100%;background-repeat:no-repeat;background-size:0% 2px;text-decoration:none;transition:background-size .2s}.link-underline:hover,.link-underline:focus-visible{background-size:100% 2px}.card{background:var(--color-paper);border:1px solid var(--color-line);border-radius:var(--radius);padding:var(--space-5)}.post-body figure{margin:0 0 var(--space-5)}.post-body video{border:1px solid var(--color-line-strong);border-radius:var(--radius);background:var(--color-ink);width:100%;max-width:100%;height:auto;display:block}.post-body figcaption{margin-top:var(--space-2);color:var(--color-ink-muted);font-size:.8125rem;line-height:1.7}.post-body table{overscroll-behavior-x:contain;width:max-content;max-width:100%;margin:0 0 var(--space-5);border-collapse:collapse;border:1px solid var(--color-line-strong);background:var(--color-paper);font-size:.9375rem;line-height:1.7;display:block;overflow-x:auto}.post-body th,.post-body td{padding:var(--space-2) var(--space-3);border:1px solid var(--color-line-strong);text-align:left;vertical-align:top}.post-body thead th{background:color-mix(in srgb, var(--color-teal) 8%, var(--color-paper));border-bottom:2px solid var(--color-line-strong);font-family:var(--font-display);white-space:nowrap;font-weight:600}.pattern-geo{background-image:repeating-linear-gradient(45deg, color-mix(in srgb, var(--color-teal) 14%, transparent) 0, color-mix(in srgb, var(--color-teal) 14%, transparent) 1px, transparent 1px, transparent 32px), repeating-linear-gradient(-45deg, color-mix(in srgb, var(--color-line) 70%, transparent) 0, color-mix(in srgb, var(--color-line) 70%, transparent) 1px, transparent 1px, transparent 32px)}.tilt-hover{transform-style:preserve-3d;transition:transform .2s,box-shadow .2s}.tilt-hover:hover,.tilt-hover:focus-within{transform:perspective(600px)rotateX(2deg)rotateY(-2deg)}.hero-scrim{position:relative}.hero-scrim:after{content:"";z-index:0;background:linear-gradient(180deg, rgba(var(--color-scrim), .15) 0%, rgba(var(--color-scrim), .78) 100%);pointer-events:none;position:absolute;inset:0}.photo-credit{color:var(--color-ink-muted);margin-top:var(--space-2);font-size:.75rem}.photo-credit a{text-decoration:underline}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.tilt-hover:hover,.tilt-hover:focus-within{transform:none}}
