@font-face{font-family:Departure Mono;src:url(/fonts/DepartureMono-Regular.woff2)format("woff2"),url(/fonts/DepartureMono-Regular.woff)format("woff");font-weight:400;font-style:normal;font-display:swap}:root{--bg:#0a0a0a;--fg:#eee;--fg-body:#d4d4d4;--fg-muted:#b4b4b4;--accent:#90c3f6;--accent-hover:#bfdbf7;--rule:#ffffff14;--text:clamp(13px, 3.2vw, 16px);--text-name:clamp(15px, 3.8vw, 19px);--emoji-size:min(8vw, 72px);--emoji-lh:1.374;--emoji-gap:min(4vw, 36px);--pad-y:clamp(48px, 6vh, 64px);--column:min(90vw, 560px);--edge-x:clamp(24px, 4vw, 40px);--edge-y:clamp(20px, 3.5vh, 32px);--ease:cubic-bezier(.2, 0, 0, 1)}@supports (color:lab(0% 0 0)){:root{--bg:lab(2.75381% 0 0);--fg:lab(94.084% .0000298023 0);--fg-body:lab(84.804% .0000298023 0);--fg-muted:lab(73.204% -.0000298023 0);--accent:lab(76.6025% -7.52941 -30.8278);--accent-hover:lab(86.0169% -4.97115 -17.0751);--rule:lab(100% 0 0/.08)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}body{background:var(--bg);color:var(--fg-body);font-family:Departure Mono,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text);letter-spacing:-.04em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;justify-content:center;align-items:safe center;min-height:100svh;line-height:1.5;transition:opacity .42s ease-out;display:flex}.js body{opacity:0}::selection{background:var(--accent);color:var(--bg)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.container{width:100%;max-width:var(--column);padding:var(--pad-y) var(--edge-x)}.emoji{font-family:Apple Color Emoji,Segoe UI Emoji,Noto Color Emoji,sans-serif;font-size:var(--emoji-size);line-height:var(--emoji-lh);margin-bottom:var(--emoji-gap);-webkit-user-select:none;user-select:none}.name{color:var(--fg);font-size:var(--text-name);font-weight:400;line-height:1.5;display:inline-block}a.name{color:var(--fg-muted);transition:color .2s var(--ease);text-decoration:none}a.name:hover{color:var(--fg)}.bio{margin-top:clamp(18px,3.6vh,30px)}.bio p{color:var(--fg-body);text-wrap:pretty}.bio p+p{margin-top:clamp(12px,2.4vh,22px)}.bio a,.note-body a{color:var(--accent);text-underline-offset:3px;transition:color .2s var(--ease);text-decoration:none}.bio a:hover,.note-body a:hover{color:var(--accent-hover);text-decoration:underline}.notes{border-top:1px solid var(--rule);margin-top:clamp(18px,3.6vh,30px)}.note{border-bottom:1px solid var(--rule)}.note-summary{cursor:pointer;color:var(--fg-muted);transition:color .2s var(--ease);align-items:baseline;gap:12px;padding:14px 0;list-style:none;display:flex}.note-summary::-webkit-details-marker{display:none}.note-summary::marker{content:""}.note-summary:hover,.note[open]>.note-summary{color:var(--fg)}.chevron{width:1em;height:1em;transition:rotate .22s var(--ease);flex:none;translate:0 .17em;rotate:none}.note[open]>.note-summary .chevron{rotate:180deg}.note-title{text-wrap:pretty;flex:1 1 0;min-width:0}.note-date{font-variant-numeric:tabular-nums;color:var(--fg-muted);flex:none}.note-reveal{grid-template-rows:1fr;display:grid}.note-reveal>*{min-height:0}.js .note-reveal{transition:grid-template-rows .14s var(--ease);grid-template-rows:0fr}.js .note[open]>.note-reveal{grid-template-rows:1fr;transition-duration:.2s}.note-body{color:var(--fg-body);overflow:hidden}.js .note-body{opacity:0;transition:opacity .14s ease-out,translate .14s ease-out;translate:0 -4px}.js .note[open]>.note-reveal>.note-body{opacity:1;transition-duration:.2s;translate:0}.note-body>:first-child{padding-top:2px}.note-body>:last-child{padding-bottom:18px}.note-body p+p,.note-body p+ul,.note-body p+ol,.note-body ul+p,.note-body ol+p{margin-top:clamp(12px,2.4vh,22px)}.note-body ul,.note-body ol{padding-left:1.4em}.note-body li+li{margin-top:6px}.note-body code{color:var(--fg);background:var(--rule);border-radius:3px;padding:.1em .35em;font-family:inherit}.note-body pre{background:var(--rule);border-radius:6px;margin-top:clamp(12px,2.4vh,22px);padding:12px 14px;overflow-x:auto}.note-body pre code{background:0 0;padding:0}.note-body blockquote{border-left:1px solid var(--rule);color:var(--fg-muted);margin-top:clamp(12px,2.4vh,22px);padding-left:14px}.notes-empty{color:var(--fg-muted);margin-top:clamp(18px,3.6vh,30px)}@media (max-width:420px){.note-summary{flex-wrap:wrap}.note-date{flex-basis:100%;margin-top:4px;margin-left:calc(1em + 12px)}}.corner{left:var(--edge-x);bottom:var(--edge-y);z-index:2;gap:8px;display:flex;position:fixed}.corner a{color:var(--fg-muted);border:1px solid var(--rule);transition:color .2s var(--ease), border-color .2s var(--ease), scale .12s var(--ease);background:0 0;border-radius:4px;align-items:center;padding:7px 12px;text-decoration:none;display:inline-flex;position:relative}.corner a:after{content:"";height:44px;position:absolute;top:50%;left:0;right:0;translate:0 -50%}.corner a:hover{border-color:var(--accent)}.corner a:active{scale:.96}.corner a:focus-visible{border-radius:4px}.corner:before{content:"";height:calc(var(--edge-y) * 2 + 44px);background:linear-gradient(to top, var(--bg) 45%, transparent);pointer-events:none;z-index:-1;position:fixed;bottom:0;left:0;right:0}.rotate-notice{display:none}@media (orientation:landscape) and (max-height:500px){.container,.corner{display:none}.rotate-notice{background:var(--bg);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.rotate-notice .emoji{margin-bottom:0;font-size:56px;line-height:1}}@media (prefers-reduced-motion:reduce){.js body{opacity:1}body,.chevron,.js .note-reveal,.js .note-body,a,.note-summary{transition:none!important}.js .note-reveal{grid-template-rows:1fr}.js .note:not([open])>.note-reveal{grid-template-rows:0fr}.js .note-body{opacity:1;translate:none}.corner a:active{scale:none}}@media (max-width:640px){.container{text-align:center}.bio p{text-wrap:balance}.notes,.note-body{text-align:left}}.dog{--f:48px;width:var(--f);height:var(--f);background-image:url(/sprites/labrador-blue.png);background-size:calc(var(--f) * 6) calc(var(--f) * 4);image-rendering:pixelated;pointer-events:none;background-repeat:no-repeat}.dog--follow{z-index:3;will-change:transform;position:fixed;top:0;left:0}.dog-slot{vertical-align:baseline;width:29px;height:1em;margin-left:.5ch;display:inline-block;position:relative}.dog--inline{position:absolute;bottom:-4px;left:-12px}.dog-hit{pointer-events:auto;cursor:pointer;-webkit-tap-highlight-color:transparent;position:absolute;inset:12.5% 18.75% 9.375%}.dog--walk{animation:.6s steps(6,end) infinite dog-walk}.dog--sit{animation:.5s steps(6,end) forwards dog-sit}.dog--idle{animation:1.8s steps(6,end) infinite dog-idle}.dog--love{animation:1.8s steps(6,end) forwards dog-love}@keyframes dog-walk{0%{background-position:0 0}to{background-position:calc(var(--f) * -6) 0}}@keyframes dog-sit{0%{background-position:0 calc(var(--f) * -1)}to{background-position:calc(var(--f) * -6) calc(var(--f) * -1)}}@keyframes dog-idle{0%{background-position:0 calc(var(--f) * -2)}to{background-position:calc(var(--f) * -6) calc(var(--f) * -2)}}@keyframes dog-love{0%{background-position:0 calc(var(--f) * -3)}to{background-position:calc(var(--f) * -6) calc(var(--f) * -3)}}@media (orientation:landscape) and (max-height:500px){.dog--follow{display:none}}@media (prefers-reduced-motion:reduce){.dog{background-position:0 calc(var(--f) * -2);animation:none!important}}.photos-page .container{max-width:min(98vw,1200px)}.photos-stage{aspect-ratio:3/2;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;cursor:grab;width:100%;max-height:76vh;margin:0 auto}.photos-stage:active{cursor:grabbing}.photos-stage canvas{outline:none;width:100%;height:100%;display:block}.photos-text{width:100%}.photos-counter{text-align:center;color:var(--fg-muted);font-variant-numeric:tabular-nums;margin:.75rem 0 0}.photos-empty{color:var(--fg-muted);text-align:center}.photos-hint{text-align:center;color:var(--fg-muted);margin:.25rem 0 0;font-size:.85em}@media (max-width:640px){.photos-page .container{flex-direction:column;max-width:100%;min-height:100svh;display:flex}.photos-stage{width:calc(100% + var(--edge-x) * 2);margin-inline:calc(var(--edge-x) * -1);aspect-ratio:1;max-height:62svh;margin-block:auto}.photos-text{padding-bottom:calc(var(--edge-y) + 2.75rem)}}.photo-full{z-index:10;padding:calc(var(--edge-y) + 2.5rem) 0;background:#0a0a0af7;background:lab(2.75381% 0 0/.97);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.photo-full-backdrop{cursor:zoom-out;background:0 0;border:0;padding:0;position:absolute;inset:0}.photo-full-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:100%;position:relative}.photo-full-close{z-index:1;top:var(--edge-y);right:var(--edge-x);font:inherit;color:var(--fg-body);border:1px solid var(--rule);cursor:pointer;transition:color .2s var(--ease), border-color .2s var(--ease);background:0 0;border-radius:4px;padding:.4em .8em;position:absolute}.photo-full-close:hover,.photo-full-close:focus-visible{color:var(--accent-hover);border-color:var(--accent)}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.photo-grid img{outline:1px solid var(--rule);outline-offset:-1px;width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){.photo-full-close{transition:none}}
