*,*:before,*:after{box-sizing:border-box}html{background:var(--color-page);color:var(--color-ink);-webkit-text-size-adjust:100%;scrollbar-color:var(--color-line-strong) transparent;scroll-padding-bottom:var(--nav-h)}body{margin:0;min-height:100svh;display:flex;flex-direction:column;font:var(--text-body);letter-spacing:var(--track-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-synthesis:none}body>main,.page>main{flex:1 0 auto}.page{display:flex;flex-direction:column;flex:1 0 auto}:root{--reveal-strip: 70px}@media(max-width:767px){:root{--reveal-strip: 107px}}@media(max-width:380px){:root{--reveal-strip: 144px}}.page--reveal{position:relative;z-index:1;background:var(--color-page);border-radius:0 0 28px 28px}.reveal-spacer{flex:none;height:calc(100svh - var(--reveal-strip));pointer-events:none}h1,h2,h3,h4,p,figure,dl,dd,ul,ol{margin:0;padding:0}ul,ol{list-style:none}img,svg,video,canvas{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;padding:0}code{font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.82em;letter-spacing:0}::selection{background:var(--color-marker);color:var(--color-ink)}:focus-visible{outline:2px solid var(--color-button);outline-offset:3px}.night :focus-visible{outline-color:var(--color-on-ink)}html,body{overflow-x:clip}.skip-link{position:absolute;z-index:100;top:8px;left:8px;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--color-button);color:var(--color-on-ink);font:var(--text-label);transform:translateY(-150%);transition:transform var(--dur-hover) var(--ease)}.skip-link:focus-visible{transform:none;outline-color:var(--color-on-ink);outline-offset:3px}main:focus-visible{outline:none}.duo{color:var(--color-text-soft);text-wrap:balance}.duo .ink{color:var(--color-ink)}.night .duo{color:var(--color-on-ink-muted)}.night .duo .ink{color:var(--color-on-ink)}.page-intro{max-width:var(--measure);margin-top:var(--space-4);color:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}main>section~section:not(.social){margin-top:var(--space-section)}.band-soft{--band-fade: 96px;--band-fade-x: 0px;--band-wash: 1;position:relative;isolation:isolate;background:var(--color-band);margin-top:calc(var(--space-section) / 2);padding-block:calc(var(--space-section) / 2)}.band-soft:before{--w: rgb(255 255 255 / var(--band-wash));--w2: rgb(255 255 255 / calc(var(--band-wash) * .45));content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(to bottom,var(--w),var(--w2) calc(var(--band-fade) * .35),transparent var(--band-fade)),linear-gradient(to top,var(--w),var(--w2) calc(var(--band-fade) * .35),transparent var(--band-fade)),linear-gradient(to right,var(--w),var(--w2) calc(var(--band-fade-x) * .35),transparent var(--band-fade-x)),linear-gradient(to left,var(--w),var(--w2) calc(var(--band-fade-x) * .35),transparent var(--band-fade-x))}.band-soft>section~section{margin-top:var(--space-section)}main>.band-soft+section:not(.social){margin-top:calc(var(--space-section) / 2)}[hidden]:not([hidden=until-found]){display:none!important}.wrap{width:min(100% - 2 * var(--gutter),var(--container));margin-inline:auto}[role=tooltip]{max-width:260px;text-wrap:balance}.reveal{transition:opacity var(--dur-reveal) var(--ease),transform var(--dur-reveal) var(--ease);transition-delay:calc(var(--i, 0) * var(--stagger))}html.js .reveal:not(.is-in){opacity:0;transform:translateY(var(--reveal-rise));transition-duration:0s;transition-delay:0s}.reveal--blur.is-in,.reveal--blur.is-in *{animation:reveal-sharpen var(--dur-reveal) var(--ease) calc(var(--i, 0) * var(--stagger)) backwards}@keyframes reveal-sharpen{0%{-webkit-text-fill-color:transparent;text-shadow:0 0 calc(2 * var(--reveal-blur)) currentColor}to{-webkit-text-fill-color:transparent;text-shadow:0 0 0 currentColor}}html:has(dialog[open]){overflow:hidden;scrollbar-gutter:stable}dialog.dlg{margin:auto;padding:0;border:0;border-radius:var(--radius-dialog);background:transparent;color:var(--color-ink);max-width:min(560px,calc(100vw - 2 * var(--gutter)));max-height:85vh;transition:display var(--dur-state) allow-discrete,overlay var(--dur-state) allow-discrete,opacity var(--dur-state) var(--ease),filter var(--dur-state) var(--ease),transform var(--dur-state) var(--ease)}dialog.dlg::backdrop{background:#fffffff7;transition:display var(--dur-state) allow-discrete,overlay var(--dur-state) allow-discrete,opacity var(--dur-state) var(--ease)}@starting-style{dialog.dlg[open]{opacity:0;filter:blur(6px);transform:scale(.98)}dialog.dlg[open]::backdrop{opacity:0}}dialog.dlg:not([open]){opacity:0;pointer-events:none}.dlg__panel{display:grid;gap:var(--space-5);width:min(560px,calc(100vw - 2 * var(--gutter)));max-height:85vh;background:var(--color-page);border-radius:inherit;box-shadow:0 0 0 1px var(--color-line),var(--shadow-float);padding:var(--space-7) var(--space-6);overflow-y:auto;overscroll-behavior:contain}.dlg__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4)}.dlg__title{font:var(--text-h3);letter-spacing:var(--track-h3)}.dlg__close{position:relative;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;color:var(--color-text-muted);transition:background-color var(--hover),color var(--hover)}.dlg__close:hover{background:var(--color-surface);color:var(--color-ink)}.dlg__close:before{content:"";position:absolute;inset:-6px}@media(max-width:640px){dialog.dlg{position:fixed;inset:auto 0 0;margin:0;max-width:100%;width:100%;max-height:90vh;border-radius:var(--radius-dialog) var(--radius-dialog) 0 0}@starting-style{dialog.dlg[open]{opacity:1;filter:none;transform:translateY(100%)}}.dlg__panel{width:100%;max-height:90vh;padding-bottom:max(var(--space-6),env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){dialog.dlg,dialog.dlg::backdrop{transition:none}}@media(prefers-reduced-motion:no-preference){@view-transition{navigation:auto}}@keyframes vt-page-out{to{opacity:0;transform:translateY(-20px)}}@keyframes vt-page-in{0%{opacity:0;transform:translateY(36px)}}.bnav{view-transition-name:site-nav}::view-transition-group(site-nav){animation:none}::view-transition-old(root){animation:vt-page-out .22s cubic-bezier(.4,0,1,1) both}::view-transition-new(root){animation:vt-page-in .68s var(--ease) .18s both}
