@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media (prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*),[data-astro-transition-scope]{animation:none!important}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.react-photo-album{display:flex}.react-photo-album,.react-photo-album *{box-sizing:border-box}.react-photo-album--track{align-items:flex-start;display:flex}.react-photo-album--photo{padding:calc(var(--react-photo-album--padding) * 1px);position:relative}.react-photo-album--image{width:100%;height:auto;aspect-ratio:var(--react-photo-album--photo-width) / var(--react-photo-album--photo-height);display:block}.react-photo-album--button{cursor:pointer;border:initial;background:initial}.react-photo-album--rows{row-gap:calc(var(--react-photo-album--spacing) * 1px);flex-direction:column}.react-photo-album--rows .react-photo-album--track{--react-photo-album--track-gaps:calc(var(--react-photo-album--spacing) * (var(--react-photo-album--track-size) - 1) + 2 * var(--react-photo-album--padding) * var(--react-photo-album--track-size));justify-content:space-between}.react-photo-album--rows .react-photo-album--photo{width:calc((100% - var(--react-photo-album--track-gaps) * 1px) / (var(--react-photo-album--container-width) - var(--react-photo-album--track-gaps)) * var(--react-photo-album--photo-width) + 2px * var(--react-photo-album--padding))}:root{color-scheme:dark;--color-night:var(--theme-background);--color-night-deep:var(--theme-backgroundDeep);--color-ink:var(--theme-text);--color-muted:var(--theme-textMuted);--color-dim:var(--theme-textDim);--color-line:color-mix(in srgb, var(--theme-line) 19%, transparent);--color-star:var(--theme-star);--color-warm:var(--theme-warm);--surface:color-mix(in srgb, var(--theme-surfaceOverlay) 78%, transparent);--surface-solid:var(--theme-surface);--focus:var(--theme-primary);--font-display:"Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace;--content-width:47rem;--wide-width:82rem;--space-page:clamp(1.25rem, 5vw, 5rem);--z-scene:0;--z-content:2;--z-chrome:5;--ease-orbit:cubic-bezier(.65, 0, .35, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--color-night);scroll-behavior:smooth;min-width:20rem}body{background:var(--color-night-deep);min-height:100vh;color:var(--color-ink);font-family:var(--font-sans);text-rendering:optimizelegibility;margin:0;font-size:1rem;line-height:1.6}::selection{background:color-mix(in srgb, var(--theme-primary) 28%, transparent);color:var(--theme-selectionText)}a{color:inherit;text-decoration-color:color-mix(in srgb, var(--theme-underline) 45%, transparent);text-underline-offset:.22em}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}html[data-input-modality=pointer] :focus:not(input,textarea,[contenteditable=true]){outline:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}.application-shell{min-height:100vh}astro-island[data-astro-transition-persist=archive-scene]{view-transition-name:none}.constellation-stage{z-index:1;background:var(--color-night);min-height:100svh;position:relative;overflow:hidden}.constellation-stage:after{z-index:1;background:linear-gradient(transparent, color-mix(in srgb, var(--theme-backgroundDeep) 58%, transparent));content:"";pointer-events:none;height:8rem;position:absolute;bottom:0;left:0;right:0}.scene-layer{z-index:var(--z-scene);position:absolute;inset:0;overflow:hidden}.scene-layer canvas{width:100%;height:100%;display:block}.scene-layer--fallback{pointer-events:none;background:var(--color-night)}html[data-initial-reader]{scroll-behavior:auto}html[data-initial-reader] #constellation{display:none}html[data-initial-reader] .application-shell{min-height:0}.route-viewport{z-index:var(--z-content);background:var(--color-night-deep);pointer-events:none;min-height:100svh;position:relative}.route-panel{min-height:100svh}.page{width:min(calc(100% - (2 * var(--space-page))), var(--content-width));pointer-events:auto;min-height:100svh;margin-left:auto;margin-right:auto;padding-top:clamp(6rem,12vh,9rem);padding-bottom:10rem}.page--index,.page--article,.page--about,.page--not-found{padding-left:clamp(1rem,4vw,3rem);padding-right:clamp(1rem,4vw,3rem)}.site-header-background{z-index:var(--z-chrome);background:var(--color-night-deep);pointer-events:none;height:calc(2rem + 44px);position:fixed;inset:0 0 auto}.site-header-background[data-over-scene=true]{background:0 0}.site-identity{z-index:var(--z-chrome);top:1rem;left:var(--space-page);position:fixed}.site-identity a{color:var(--color-ink);align-items:center;gap:.75rem;text-decoration:none;display:inline-flex}.site-identity strong{font-family:var(--font-display);font-size:1.35rem;font-weight:500;display:block}.skip-link{z-index:100;background:var(--color-ink);color:var(--color-night);opacity:0;border-radius:999px;padding:.65rem 1rem;transition:opacity .15s,transform .15s;position:fixed;top:.8rem;left:50%;transform:translate(-50%,-160%)}.skip-link:focus{opacity:1;transform:translate(-50%)}.eyebrow{color:var(--theme-secondary);letter-spacing:.19em;text-transform:uppercase;margin:0 0 1.15rem;font-size:.66rem;font-weight:700}.page-header h1,.article-header h1,.page--not-found h1,.root-error h1{font-family:var(--font-display);letter-spacing:-.045em;text-wrap:balance;margin:0;font-weight:400;line-height:.96}.hero__cta{color:var(--color-ink);letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid color-mix(in srgb, var(--theme-primary) 62%, transparent);align-items:center;gap:.75rem;padding-bottom:.3rem;font-size:.78rem;font-weight:700;text-decoration:none;display:inline-flex}.constellation-navigation{z-index:30;top:1rem;right:var(--space-page);position:fixed}.site-menu__toggle{width:44px;height:44px;color:var(--color-ink);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.site-menu__toggle:hover{color:var(--color-warm)}.site-menu:has(:popover-open) .site-menu__toggle{background:var(--theme-controlHover)}.site-menu__panel{inset:4.25rem var(--space-page) auto auto;color:var(--color-ink);width:min(24rem, calc(100vw - 2 * var(--space-page)));overscroll-behavior:contain;background:var(--theme-menu);max-height:calc(100dvh - 6rem);box-shadow:0 12px 32px color-mix(in srgb, var(--theme-backgroundDeep) 50%, transparent);scrollbar-color:var(--theme-textDim) var(--theme-menu);scrollbar-width:thin;border:0;margin:0;padding:1rem 1.25rem;font-size:.9rem;position:fixed;overflow-y:auto}.site-menu ul{margin:0;padding:0;list-style:none}.site-menu a,.site-menu__branch>summary{min-height:44px;color:var(--color-ink);align-items:center;padding:.6rem 0;line-height:1.45;text-decoration:none;display:flex}.site-menu__branch>summary{cursor:pointer;justify-content:space-between;gap:1rem;list-style:none}.site-menu__branch>summary::-webkit-details-marker{display:none}.site-menu__branch>summary:after{content:"";border-bottom:1px solid;border-right:1px solid;flex:none;width:6px;height:6px;transform:rotate(-45deg)}.site-menu__branch[open]>summary:after{transform:rotate(45deg)}.site-menu__branch>ul{margin-bottom:.5rem;padding-left:1rem}.site-menu__branch a{color:var(--theme-menuText)}.site-menu a:hover,.site-menu a[aria-current],.site-menu summary:hover{color:var(--color-warm)}.site-menu a[aria-disabled],.site-menu summary[aria-disabled]{opacity:.5;cursor:not-allowed}.site-menu__settings{border-top:1px solid var(--color-line);margin-top:1rem;padding-top:.5rem}.site-menu__view{cursor:pointer;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 0;display:flex}.site-menu__view input{width:20px;height:20px;accent-color:var(--color-warm);cursor:pointer;flex:none}.page-header,.article-header{margin-bottom:clamp(3.5rem,8vh,6rem)}.page-header h1,.article-header h1,.page--not-found h1,.root-error h1{font-size:clamp(3.4rem,7vw,6.5rem)}.page-deck{max-width:37rem;color:var(--theme-emptyText);font-family:var(--font-display);margin:1.55rem 0 0;font-size:clamp(1.1rem,1.8vw,1.4rem);line-height:1.45}.entry-list{border-top:1px solid var(--color-line);margin:0;padding:0;list-style:none}.entry-card{border-bottom:1px solid var(--color-line);padding:1.1rem 0;text-decoration:none;display:block}.entry-card:hover{color:var(--color-warm)}.entry-card strong{font-family:var(--font-display);font-size:1.75rem;font-weight:400}.entry-list--grid{border-top:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr));gap:1.5rem;display:grid}.entry-list--grid .entry-card{border:0;padding:0;display:block}.entry-card__link{text-decoration:none}.entry-list--grid .entry-card strong{overflow-wrap:anywhere;margin-top:.75rem;font-size:1.6rem;line-height:1.3;display:block}.entry-card__description{color:var(--color-muted);margin:.5rem 0 0;font-size:.95rem;line-height:1.5}.entry-card__image,.entry-card__video{width:100%;height:auto;display:block}.entry-card--upcoming{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.entry-card--upcoming:hover{color:inherit}.entry-card--upcoming>span{max-width:36%;color:var(--color-muted);text-align:right;flex:0 auto;font-size:.85rem}.entry-card--upcoming strong{min-width:0;font-size:clamp(1.1rem,5.5vw,1.75rem)}.empty-state{color:var(--color-muted)}.article-meta{color:var(--color-dim);font-family:var(--font-mono);letter-spacing:.06em;gap:.25rem;margin-top:1.5rem;font-size:.63rem;display:grid}.prose{color:var(--theme-caption);font-family:var(--font-display);font-size:clamp(1.14rem,1.7vw,1.32rem);line-height:1.8}.prose>:first-child{margin-top:0}.prose h2{color:var(--color-ink);font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;margin:3.5rem 0 1rem;font-size:.72rem}.prose p{margin:0 0 1.5em}.prose a{color:var(--color-warm)}.page--poem .prose{max-width:32rem;font-size:clamp(1.35rem,2.1vw,1.65rem);line-height:1.95}.constellation-reference,.project-demo{border:1px solid var(--color-line);background:color-mix(in srgb, var(--theme-code) 5.5%, transparent);margin:2.5rem 0;padding:1.4rem 1.5rem}.constellation-reference{align-items:baseline;gap:.85rem;display:flex}.constellation-reference>span{color:var(--color-warm)}.constellation-reference p,.project-demo p{margin:0}.project-demo__label{color:var(--color-dim);font-family:var(--font-sans);letter-spacing:.15em;text-transform:uppercase;font-size:.58rem;font-weight:700}.project-demo h2{color:var(--color-ink);font-family:var(--font-display);letter-spacing:-.02em;text-transform:none;margin:.55rem 0 .8rem;font-size:1.7rem;font-weight:400}.content-code{border:1px solid var(--color-line);background:var(--theme-backgroundDeep);max-width:100%;font-family:var(--font-mono);border-radius:.4rem;padding:1rem;font-size:.76rem;overflow-x:auto}.gallery-index{gap:1.25rem;display:grid}.gallery-card{border:1px solid var(--color-line);background:var(--surface-solid);min-height:21rem;text-decoration:none;display:block;position:relative;overflow:hidden}.gallery-card img{object-fit:cover;width:100%;height:100%;transition:filter .6s ease, transform .9s var(--ease-orbit)}.gallery-card:hover img{filter:brightness(.72);transform:scale(1.025)}.gallery-card__overlay{background:linear-gradient(transparent, color-mix(in srgb, var(--theme-galleryOverlay) 92%, transparent));flex-direction:column;gap:.4rem;padding:3.5rem 1.5rem 1.4rem;display:flex;position:absolute;inset:auto 0 0}.gallery-card__overlay>span:first-child{color:var(--theme-galleryText);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;font-size:.58rem}.gallery-card__overlay strong{font-family:var(--font-display);font-size:2.25rem;font-weight:400}.gallery-card__overlay>span:last-child{max-width:36rem;color:var(--theme-metaText);font-size:.82rem}.page--gallery{background:color-mix(in srgb, var(--theme-lightboxOverlay) 91%, transparent);width:100%;margin:0;padding:clamp(8rem,16vh,11rem) 0 10rem}.gallery-header{width:min(calc(100% - 2 * var(--space-page)), var(--content-width));margin-right:auto;margin-left:var(--space-page)}.photo-gallery{width:min(calc(100% - 2 * var(--space-page)), var(--wide-width));margin:auto}.photo-gallery figure{margin:0}.photo-gallery figure>a{display:block}.photo-gallery figcaption{color:var(--color-muted);margin-top:.6rem;font-size:.85rem;line-height:1.45}.photo-gallery figcaption p{margin:0}.photo-gallery figcaption span{margin-top:.2rem;font-size:.75rem;display:block}.about-content>p:first-child{color:var(--color-ink);font-size:1.55rem;line-height:1.45}.page--not-found code{color:var(--color-warm);font-family:var(--font-mono);font-size:.8em}.page--not-found .hero__cta{margin-top:2rem}.root-error{min-height:100vh;padding:15vh var(--space-page);background:var(--color-night)}.root-error p{max-width:38rem;color:var(--color-muted)}.transition-status{z-index:20;border:1px solid color-mix(in srgb, var(--theme-primary) 35%, transparent);background:color-mix(in srgb, var(--theme-hintOverlay) 92%, transparent);max-width:23rem;color:var(--theme-hintText);border-radius:.5rem;margin:0;padding:.8rem 1rem;font-size:.74rem;position:fixed;bottom:6.5rem;right:1rem}button.transition-status{cursor:pointer;min-height:44px;font-family:inherit}@media (width<=700px){:root{--space-page:1rem}.page{width:calc(100% - 2rem);margin:0 1rem;padding-top:7rem;padding-bottom:8rem}.page-header h1,.article-header h1,.page--not-found h1{font-size:clamp(3rem,15vw,4.6rem)}.page--gallery{width:100%;margin:0;padding-top:7rem}.gallery-header{width:calc(100% - 2rem);margin:0 1rem 4rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-test-mode=true] *,html[data-test-mode=true] :before,html[data-test-mode=true] :after{transition-duration:.01ms!important;animation-duration:.01ms!important}.scene-layer>div{touch-action:pan-y pinch-zoom!important}.application-shell[data-sky-scroll-locked=true] .scene-layer>div{touch-action:pinch-zoom!important}.lake-scroll-surface{z-index:2;touch-action:pan-y pinch-zoom;position:absolute;inset:57% 0 0}@media (width<=767px){.lake-scroll-surface{top:54%}}.star-annotation{pointer-events:none;width:0;height:0;position:relative}.star-label-leader,.star-label-border{pointer-events:none;position:absolute;overflow:visible}.star-label-border{inset:0}.star-label-leader path,.star-label-border rect{fill:none;stroke:var(--theme-secondary);stroke-linecap:round}.star-label-leader path{stroke-width:.9px;opacity:.3}.star-label-border rect{stroke-width:1px;opacity:.55}.star-annotation:has(.fishing-star-label:is(:hover,:focus-visible)) .star-label-leader path{stroke-width:1.7px;opacity:1}.fishing-star-label:is(:hover,:focus-visible) .star-label-border rect{stroke-width:1.5px;opacity:1}.fishing-star-label{color:var(--theme-labelText);text-align:center;pointer-events:auto;border:1px solid #0000;border-radius:3px;justify-content:center;align-items:center;padding:5px 14px;font-size:13px;line-height:1.2;text-decoration:none;display:flex;position:absolute}.fishing-star-label[data-main]{color:var(--theme-primary);font-weight:650}.fishing-star-label:hover,.fishing-star-label:focus-visible{color:var(--theme-primary)}.fishing-star-label[aria-disabled]{opacity:.65}.route-viewport[data-home],.route-viewport[data-home] .route-panel{min-height:0}.application-shell[data-constellation-view=all] .constellation-stage{min-height:max(100svh,680px)}@media (width<=1099px){.application-shell[data-constellation-view=all] .constellation-stage{min-height:max(100svh,1800px)}}@media (width<=767px){.application-shell[data-constellation-view=all] .constellation-stage{min-height:max(100svh,2200px)}}.site-identity{align-items:center;gap:.3rem;display:flex}.site-identity>a{min-height:44px}.site-identity .social-link{width:44px;color:var(--theme-browseText);justify-content:center}.site-identity .social-link:hover{color:var(--theme-primary)}.site-identity>a:first-child{margin-right:.3rem}.boy-dialogue{z-index:5;background:var(--theme-dialogue);width:min(292px,100% - 32px);color:var(--theme-dialogueText);border-radius:14px;padding:16px 18px 12px;font-size:.85rem;line-height:1.5;position:absolute;bottom:clamp(110px,15%,165px);right:max(3%,16px)}.picnic-character{z-index:4;cursor:pointer;background:0 0;border:0;min-width:44px;min-height:44px;padding:0;position:absolute;bottom:2.5%;right:2%}.picnic-character:focus-visible{outline:2px solid var(--theme-primary);outline-offset:4px;border-radius:14px}.picnic-character:focus:not(:focus-visible){outline:none}.boy-dialogue [role=tabpanel]{min-height:160px}.boy-dialogue [hidden]{display:none}.boy-dialogue .listening-heading{padding-right:28px}.boy-dialogue .listening-empty{color:var(--theme-dialogueMuted);padding-top:24px}.dialogue-close,.dialogue-pagination button{width:44px;height:44px;color:var(--theme-dialogueControl);cursor:pointer;background:0 0;border:0;border-radius:6px;place-items:center;padding:0;display:grid}.dialogue-close{position:absolute;top:4px;right:4px}.dialogue-close:hover,.dialogue-pagination button:hover{background:var(--theme-dialogueHover)}.dialogue-pagination{justify-content:space-between;align-items:center;margin:4px -10px -6px;display:flex}.dialogue-pagination [role=tablist]{display:flex}.dialogue-pagination [role=tab] span{background:var(--theme-dialogueDot);border-radius:50%;width:7px;height:7px}.dialogue-pagination [aria-selected=true] span{background:var(--theme-dialogueControl)}.boy-dialogue:after{content:"";border:10px solid #0000;border-top-color:var(--theme-dialogue);border-right-color:var(--theme-dialogue);position:absolute;top:100%;right:42px}.boy-dialogue p{margin:0}.boy-dialogue .listening-heading{margin-bottom:6px}.boy-dialogue .listening-title{font-family:var(--font-display);font-size:1.55rem;line-height:1.2}.boy-dialogue .listening-artist{color:var(--theme-dialogueMuted);margin-top:3px}.boy-dialogue .listening-note{color:var(--theme-dialogueMuted);margin-top:8px;font-size:.72rem}.boy-dialogue .rhap_container{box-shadow:none;background:0 0;padding:6px 0 0}.boy-dialogue .rhap_time{color:var(--theme-dialogueMuted);font-variant-numeric:tabular-nums;font-size:11px}.boy-dialogue .rhap_main-controls-button,.boy-dialogue .rhap_volume-button{color:var(--theme-dialogueControl)}.boy-dialogue .rhap_progress-filled,.boy-dialogue .rhap_progress-indicator,.boy-dialogue .rhap_volume-indicator{background:var(--theme-dialogueControl)}.boy-dialogue .rhap_progress-bar,.boy-dialogue .rhap_volume-bar{background:var(--theme-dialogueTrack)}.boy-dialogue .rhap_progress-indicator{width:12px;height:12px;box-shadow:none;top:-3.5px}.boy-dialogue .rhap_main-controls-button{width:44px;height:44px;font-size:36px}.boy-dialogue .rhap_button-clear{min-width:44px;min-height:44px}.boy-dialogue :focus-visible{outline:2px solid var(--theme-dialogueControl);outline-offset:3px}.star-cursor{z-index:6;pointer-events:none;visibility:hidden;width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.constellation-stage[data-star-cursor],.constellation-stage[data-star-cursor] :is(.fishing-star-label,.picnic-character){cursor:none}@media (width<=767px){.site-identity,.constellation-navigation{top:.5rem}.boy-dialogue{bottom:130px}}@media (height<=600px) and (aspect-ratio>=5/4){.constellation-stage{min-height:600px}}@media (width<=359px){.application-shell[data-constellation-view=all] .constellation-stage{min-height:max(100svh,2800px)}}
