@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}@font-face{font-family:Libre Baskerville;src:url(/fonts/libre-baskerville-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Libre Baskerville;src:url(/fonts/libre-baskerville-italic.ttf)format("truetype");font-style:italic;font-weight:400;font-display:swap}@font-face{font-family:Source Code Pro;src:url(/fonts/source-code-pro-regular.ttf)format("truetype");font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:Source Code Pro;src:url(/fonts/source-code-pro-light.ttf)format("truetype");font-style:normal;font-weight:300;font-display:swap}@font-face{font-family:Source Code Pro;src:url(/fonts/source-code-pro-semibold.ttf)format("truetype");font-style:normal;font-weight:600;font-display:swap}:root{--bg:#f7f7f1;--fg:#000;--fg-soft:color-mix(in srgb, var(--fg) 76%, var(--bg));--fg-note:color-mix(in srgb, var(--fg) 62%, var(--bg));--fg-faint:color-mix(in srgb, var(--fg) 48%, var(--bg));--night-bg:#0c0c0c;--theme-duration:1s;--theme-easing:ease;--toggle-duration:.5s;--px:min(1px, 100vw / 576);color-scheme:light;background-color:var(--bg);transition:background-color var(--theme-duration) var(--theme-easing);--dialog-duration:.4s}html[data-theme=night]{--bg:var(--night-bg);--fg:#f7f7f1;color-scheme:dark}*,:before,:after{box-sizing:border-box}@media (width>=900px){html,body{overscroll-behavior:none;height:100%;overflow:hidden}}body{color:var(--fg-soft);font-family:Source Code Pro,monospace;font-size:calc(14 * var(--px));-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;transition:color var(--theme-duration) var(--theme-easing);margin:0;font-weight:300;line-height:1.9}input{-webkit-user-select:text;user-select:text}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button,dialog{border-radius:0}img{max-width:100%;height:auto;display:block}[hidden]{display:none!important}.desktop-only{display:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}a:focus-visible,button:focus-visible{outline-offset:5px;outline:2px solid}.title-page{min-height:100svh;padding:calc(184 * var(--px)) calc(24 * var(--px)) calc(88 * var(--px));background-color:var(--bg);transition:background-color var(--theme-duration) var(--theme-easing);place-items:center;display:grid;position:relative}.title-heading{font-size:inherit;margin:0;font-weight:400}.title-link{color:inherit;text-decoration:none;display:block}.wordmark{width:max-content;font-family:baskerville-urw,Libre Baskerville,serif;font-size:calc(45 * var(--px));white-space:nowrap;text-align:left;font-style:normal;font-weight:400;line-height:.9286;display:block}.wordmark-first{align-items:center;gap:.357em;margin-left:1.25em;display:flex}.wordmark-author{text-align:right;font-size:.4286em;font-style:italic;line-height:1.1667}.wordmark-the,.wordmark-manual,.wordmark-of,.wordmark-photography{display:block}.wordmark-of{margin-left:1.417em}.wordmark-subtitle{text-align:right;margin-top:.333em;font-size:.4286em;font-style:italic;line-height:1.1667;display:block}@keyframes logo-shimmer{0%,to{opacity:.55}50%{opacity:1}}.logo-shimmer{animation:2.6s ease-in-out infinite logo-shimmer}.theme-toggle{z-index:1;min-width:44px;min-height:44px;color:var(--fg);font-size:calc(14 * var(--px));transition:color var(--toggle-duration) var(--theme-easing);background:0 0;border:0;place-items:center;padding:8px 6px;font-weight:400;line-height:1;display:grid;position:absolute;top:0;right:9.2vw}.title-page>.theme-toggle{font-size:calc(18 * var(--px));top:11.8svh;left:50%;right:auto;transform:translate(-50%)}.theme-toggle__labels{min-width:5ch;transition:transform var(--toggle-duration) var(--theme-easing);place-items:center;display:grid}.theme-toggle__labels>span{transition:opacity var(--toggle-duration) var(--theme-easing), transform var(--toggle-duration) var(--theme-easing);grid-area:1/1}[data-theme-label=day]{opacity:0;transform:translateY(3px)}[data-theme-label=night],html[data-theme=night] [data-theme-label=day]{opacity:1;transform:translateY(0)}html[data-theme=night] [data-theme-label=night]{opacity:0;transform:translateY(-3px)}.manual-layout{background-color:var(--bg);height:100dvh;min-height:0;color:inherit;transition:background-color var(--theme-duration) var(--theme-easing);display:flex;overflow:hidden}.manual-cover{margin:0;display:none}.manual-panel{min-width:0;height:100dvh;min-height:0;padding:0 9.2vw calc(24 * var(--px));flex-direction:column;flex:1;display:flex;position:relative;overflow:hidden}.manual-content{flex-direction:column;flex:1;width:100%;min-width:0;max-width:75ch;min-height:0;margin-inline:auto;display:flex;overflow:hidden}.portrait-banner{width:min(92%, calc(360 * var(--px)));aspect-ratio:800/567;flex:none;max-width:100%;min-height:44px;margin-inline:auto;display:block;position:relative;overflow:hidden}.portrait-image{object-fit:cover;object-position:center 22%;width:100%;height:100%;min-height:0;max-height:none;position:absolute;inset:0}.portrait-wordmark{color:#f7f7f1;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.portrait-logo-link{color:inherit;pointer-events:auto;text-decoration:none;display:block}.portrait-logo-link:focus-visible{outline-offset:4px}.portrait-wordmark .wordmark{color:#f7f7f1;font-size:min(4.56vw,29.8px)}.manual-layout[data-page=about]{height:100dvh;min-height:0}.manual-layout[data-page=about] .manual-panel{height:100%;min-height:0;padding-bottom:calc(24 * var(--px));padding-inline:11.9vw}.manual-layout[data-page=about] .manual-content{min-height:0;max-width:calc(439 * var(--px));flex:0 auto;display:flex}.manual-layout[data-page=about] .about-page{overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:0 auto;justify-content:flex-start;gap:0;min-width:0;min-height:0;padding-top:0;display:flex;overflow:hidden auto}.author-media{display:contents}.manual-layout[data-page=about] .author-photo{object-fit:contain;object-position:left top;flex:0 4 auto;width:min(48%,180px);min-height:44px;max-height:clamp(64px,26svh,220px);margin-left:14%}@media (width>=900px){.manual-layout[data-page=about] .author-photo{margin-left:0}}.manual-layout[data-page=about] .prose{margin-top:calc(53 * var(--px));min-height:0;line-height:calc(30 * var(--px));font-size:calc(14.2 * var(--px));flex:none}.manual-layout[data-page=about] .prose p+p{margin-top:calc(47 * var(--px))}.manual-layout[data-page=about] .page-navigation{margin-top:calc(81 * var(--px));flex:none;padding-top:0}@media (width<=899px){.manual-layout[data-page=about] .manual-panel>.theme-toggle{top:calc(13 * var(--px));font-size:calc(18 * var(--px));right:20.14vw}.author-media{flex:none;min-width:0;margin-top:0;display:block}.author-media>.manual-cover{display:none}.manual-layout[data-page=about] .author-media>.author-photo{aspect-ratio:4/5;object-fit:cover;object-position:center top;width:54.3%;height:auto;min-height:44px;max-height:none;margin-left:11.7%}}.manual-layout[data-page=contents] .manual-panel{padding-inline:0;overflow:hidden}.manual-layout[data-page=contents] .manual-content{overscroll-behavior:contain;scrollbar-width:thin;flex:auto;max-width:none;overflow:hidden auto}.manual-layout[data-page=contents] .page-navigation{padding-inline:11.9vw}.contents-page{padding:calc(66 * var(--px)) calc(4 * var(--px)) calc(120 * var(--px));flex-direction:column;flex:none;align-items:center;gap:8.1svh;display:flex}.manual-layout[data-page=contents] .portrait-banner{aspect-ratio:493/228}.contents-text{flex-direction:column;flex:none;align-items:center;gap:3.04svh;width:100%;display:flex}.contents-heading{color:var(--fg);font-size:calc(21 * var(--px));transition:color var(--theme-duration) var(--theme-easing);margin:0;font-weight:400;line-height:1.5}.contents-list{flex-direction:column;flex:none;align-items:stretch;gap:0;width:100%;margin:0;padding:0;list-style:none;display:flex}.contents-list li{text-align:center;min-height:5.4svh;font-size:calc(14.6 * var(--px));opacity:.72;justify-content:center;align-items:center;line-height:1.35;display:flex}@media (width>=900px) and (height<=680px){.contents-page{gap:5svh}.contents-text{gap:1.6svh}.contents-list li{min-height:3.6svh;line-height:1.25}}.manual-layout[data-page=purchase] .manual-panel{overscroll-behavior:contain;scrollbar-width:thin;overflow:hidden auto}.manual-layout[data-page=purchase] .manual-content{flex:none;overflow:visible}.purchase-page{min-height:0;padding-top:calc(52 * var(--px));overscroll-behavior:contain;scrollbar-width:thin;flex-direction:column;flex:1;align-items:center;display:flex;overflow:hidden auto}.manual-layout[data-page=purchase] .purchase-page{flex:none;overflow:visible}.purchase-description{flex:none;width:100%;max-width:75ch}.purchase-description.prose p+p{margin-top:1lh}@media (width<=899px){.manual-layout[data-page=purchase] .manual-panel{padding-inline:7.12vw}.purchase-description{font-size:calc(15.8 * var(--px));line-height:calc(37 * var(--px))}.purchase-description.prose p+p{margin-top:calc(38 * var(--px))}.manual-layout[data-page=purchase] .purchase-page{padding-bottom:calc(94 * var(--px))}}.manual-layout:is([data-page=contents],[data-page=purchase]){--toggle-top:calc(13 * var(--px));--toggle-size:calc(18 * var(--px))}.manual-layout:is([data-page=contents],[data-page=purchase]) .manual-panel>.theme-toggle{top:var(--toggle-top);font-size:var(--toggle-size)}.manual-layout:is([data-page=contents],[data-page=purchase]) :is(.contents-page,.purchase-page){padding-top:calc(var(--toggle-top) + 22px + var(--toggle-size) / 2 + 20px)}.manual-layout:is([data-page=contents],[data-page=purchase]) .portrait-banner{width:min(85.5vw, calc(560 * var(--px)));aspect-ratio:493/228;max-width:none}@media (width<=899px){.manual-layout:is([data-page=contents],[data-page=purchase]) .manual-panel>.theme-toggle{right:6.74vw}.manual-layout:is([data-page=contents],[data-page=purchase]) .portrait-image{object-position:center}.manual-layout[data-page=purchase] .portrait-banner{margin-bottom:calc(60 * var(--px))}}.details-body{flex-direction:column;flex:none;align-items:center;gap:16px;width:100%;margin-block:auto;display:flex}.details-heading{font:inherit;margin:0;font-weight:600;line-height:1.5}.details-list{width:100%;max-width:75ch;margin:0}.details-row{flex-wrap:wrap;justify-content:space-between;gap:4px 24px;padding-block:4px;display:flex}.details-row dt{opacity:.65}.details-row dd{text-align:right;overflow-wrap:anywhere;margin:0}.prose{overflow-wrap:break-word}.prose p{margin:0}.prose p+p{margin-top:1em}.purchase-details{text-align:center;flex:none;width:100%;margin-top:6.1svh;padding-top:4px}.price{color:var(--fg);transition:color var(--theme-duration) var(--theme-easing);margin:0;font-weight:600;line-height:1.7}.price-value{white-space:nowrap}.purchase-button{border:1px solid var(--fg);width:200px;max-width:100%;min-height:44px;color:var(--fg);background-color:#0000;margin-top:12px;padding:0 20px;font-family:Source Code Pro,monospace;font-size:14px;font-weight:400;line-height:1.4;transition:background-color .45s,color .45s,border-color .45s}.purchase-button:hover,.purchase-button:focus-visible,.purchase-button:active,.purchase-button[data-purchase-open]{background-color:var(--fg);color:var(--bg)}.purchase-note{max-width:75ch;color:var(--fg-note);transition:color var(--theme-duration) var(--theme-easing);margin:14px auto 0;font-size:13px;line-height:1.6}.page-navigation{width:100%;max-width:75ch;padding-top:calc(12 * var(--px));justify-content:space-between;align-items:center;gap:calc(24 * var(--px));flex:none;margin:0 auto;display:flex}.text-link{min-width:44px;min-height:44px;color:inherit;align-items:center;text-decoration:none;display:inline-flex}.text-link>span{transition:transform .45s cubic-bezier(.22,1,.36,1);display:inline-block}@media (width<=899px){.purchase-details{margin-top:calc(12 * var(--px))}.price{font-size:calc(19.5 * var(--px))}.purchase-button{width:calc(223 * var(--px));min-height:calc(51 * var(--px));margin-bottom:calc(31 * var(--px));font-size:calc(18.6 * var(--px))}.purchase-note{max-width:68ch;font-size:calc(12 * var(--px));line-height:calc(21 * var(--px));margin:0 auto}.purchase-note--requisites{max-width:none;margin-top:calc(16 * var(--px));color:var(--fg-faint);font-size:calc(10 * var(--px))}}.purchase-dialog{z-index:1001;background-color:var(--bg);width:min(521px,100vw - 55px);height:fit-content;max-height:calc(100svh - 32px);color:inherit;box-shadow:none;opacity:0;transition:opacity var(--dialog-duration) ease, overlay var(--dialog-duration) allow-discrete, display var(--dialog-duration) allow-discrete, background-color var(--theme-duration) var(--theme-easing), border-color var(--theme-duration) var(--theme-easing);border:0;margin:auto;padding:22px 22px 21px;font-family:Source Code Pro,monospace;font-size:14px;line-height:1.7;inset:0}.purchase-dialog[open]{opacity:1}@keyframes purchase-fade-in{0%{opacity:0}}.purchase-dialog[open]{animation:purchase-fade-in var(--dialog-duration) ease}.purchase-dialog:focus{outline:none}.purchase-shade{z-index:1000;opacity:0;visibility:hidden;transition:opacity var(--dialog-duration) ease, visibility var(--dialog-duration);background:#000000d4;position:fixed;inset:0}.purchase-shade.is-open{opacity:1;visibility:visible}html.purchase-open,html.purchase-open body{overflow:hidden}.purchase-dialog{position:fixed}.purchase-dialog h2{margin:0 44px 16px 0;font-size:18px;font-weight:600;line-height:1.5}.purchase-dialog form{margin:0}.purchase-dialog form[method=dialog]{position:absolute;top:10px;right:10px}.purchase-email{width:100%;min-height:49px;color:inherit;background-color:#0000;border:1px solid;border-radius:4px;padding:9px 12px;font-family:inherit;font-size:24px;line-height:1.2}.purchase-email::placeholder{color:inherit;opacity:.55}.purchase-email:focus-visible{outline-offset:2px;outline:2px solid}.dialog-close{border:1px solid var(--fg);min-width:148px;min-height:37px;color:var(--fg);background-color:#0000;margin-top:19px;padding:8px 16px;font-size:14px;font-weight:400;line-height:1.3}.dialog-cancel{width:44px;min-width:44px;min-height:44px;color:inherit;background:0 0;border:1px solid #0000;padding:0;font-family:inherit;font-size:44px;line-height:1}.dialog-close:disabled{cursor:progress;opacity:.55}.purchase-dialog-message{margin:14px 44px 0 0;line-height:1.6}.purchase-dialog-message[data-purchase-error]{margin-right:0}.purchase-dialog-message--done{margin-top:0}.purchase-dialog[data-step=pay]{color:#000;background-color:#f7f7f1;width:min(560px,100vw - 24px);padding-top:48px;overflow-y:auto}.payment-widget{min-width:288px}@media (width<=899px){.purchase-dialog{width:min(300px,100vw - 96px);padding:16px 16px 15px;font-size:12px}.purchase-dialog h2{margin:0 40px 10px 0;font-size:14px}.purchase-dialog form[method=dialog]{top:4px;right:4px}.purchase-email{min-height:38px;padding:6px 10px;font-size:16px}.dialog-close{min-width:112px;min-height:32px;margin-top:12px;padding:6px 12px;font-size:13px}.dialog-cancel{font-size:32px}.purchase-dialog[data-step=pay]{width:calc(100vw - 24px);max-height:calc(100svh - 24px);padding:44px 12px 12px}}.theme-toggle:focus-visible .theme-toggle__labels,.theme-toggle.is-skewed .theme-toggle__labels{transform:skew(-15deg)}.text-link:focus-visible>span,.text-link.is-pressed>span{transform:skew(-10deg)}@media (hover:hover) and (pointer:fine){.theme-toggle:hover .theme-toggle__labels,.text-link:hover>span{transform:skew(-15deg)}}.hand-artwork{position:relative}.hand-image{width:100%;height:100%;position:absolute;inset:0}.hand-logo{pointer-events:none;justify-content:center;display:flex;position:absolute;bottom:15vw;left:0;right:0}.hand-logo-link{color:#e8e3d9;pointer-events:auto;width:fit-content;text-decoration:none;display:block;transform:scale(.7)}.hand-logo-link .wordmark{font-size:56px}@media (width<=1440px){.hand-logo{bottom:13vw}.hand-logo-link{transform:scale(.5)}}.hand-logo-link:focus-visible{outline-offset:8px;outline:2px solid #f7f7f1}@media (width<=899px){.manual-layout,.manual-layout[data-page],.manual-layout[data-page] .manual-panel{height:auto;min-height:100svh;overflow:visible}.manual-layout[data-page] .manual-content,.manual-layout[data-page] .about-page,.manual-layout[data-page] .purchase-page{overflow:visible}.manual-layout[data-page=contents] .page-navigation{background-color:var(--bg);transition:background-color var(--theme-duration) var(--theme-easing);position:sticky;bottom:0}}@media (width>=900px){.manual-layout{--u:max(.75px, min(100vw / 1440, 100svh / 900))}.desktop-only{display:inline}.mobile-only{display:none}body{font-size:clamp(14px,.95vw,18px);line-height:2}.theme-toggle{font-size:clamp(14px,1.15vw,22px)}.title-page .wordmark{font-size:clamp(44px,3.38vw,69px)}.title-page>.theme-toggle{top:calc(6svh - 12px)}.manual-layout{grid-template-columns:calc(40vw + 10px) minmax(0,1fr);align-items:stretch;height:100dvh;display:grid}.manual-cover{background:var(--night-bg);width:calc(40vw + 10px);height:100dvh;display:block;position:fixed;top:0;left:0;overflow:hidden;container-type:size}.hand-artwork{aspect-ratio:3210/4500;width:min(100cqw,71.3333cqh);position:absolute;top:calc(105cqh - 1.05*min(140.187cqw,100cqh));left:50%;translate:-50%}.manual-panel{grid-column:2;height:100dvh;padding-inline:14%}.manual-panel>.theme-toggle{top:calc(14svh - 22px);right:14%}.manual-layout:is([data-page=about],[data-page=contents]) .manual-panel{padding-inline:12%;padding-bottom:calc(24 * var(--u))}.manual-layout:is([data-page=about],[data-page=contents]) .manual-content{flex:0 auto;max-width:none}.manual-layout:is([data-page=about],[data-page=contents]) .manual-panel>.theme-toggle{font-size:calc(16.5 * var(--u));right:calc(12% - 6px)}.manual-layout:is([data-page=about],[data-page=contents]) .page-navigation{max-width:none;margin-top:calc(64 * var(--u));padding:0}.manual-layout:is([data-page=about],[data-page=contents]) :is(.prose,.contents-list li,.text-link){font-size:calc(13.75 * var(--u));line-height:calc(27.5 * var(--u));letter-spacing:.4px}.manual-layout:is([data-page=about],[data-page=contents]) .text-link{min-height:calc(27.5 * var(--u))}.text-link>span{transition:transform var(--toggle-duration) var(--theme-easing)}.manual-layout[data-page=about] .manual-panel>.theme-toggle{top:calc(130 * var(--u) - 22px)}.manual-layout[data-page=about] .about-page{gap:0;padding-top:0}.manual-layout[data-page=about] .author-photo{width:calc(256 * var(--u));flex:none;max-width:none;height:auto;min-height:0;max-height:none}.manual-layout[data-page=about] .prose{margin-top:calc(40 * var(--u))}.manual-layout[data-page=about] .prose p+p{margin-top:calc(42 * var(--u))}.manual-layout[data-page=contents] .manual-panel>.theme-toggle{top:calc(86 * var(--u) - 22px)}.manual-layout[data-page=contents] .contents-page{padding:calc(69.5 * var(--u)) 0 0;align-items:stretch;gap:0}.manual-layout[data-page=contents] .portrait-banner{display:none}.manual-layout[data-page=contents] .contents-text{align-items:flex-start;gap:0}.contents-heading{font-size:calc(16 * var(--u));font-weight:600;line-height:calc(27.5 * var(--u));letter-spacing:.4px;text-align:left}.contents-list{margin-top:calc(35.75 * var(--u));gap:calc(17.33 * var(--u))}.contents-list li{text-align:left;opacity:1;min-height:0;display:block}.portrait-wordmark .wordmark{font-size:clamp(12px,1.16vw,26px)}.manual-layout[data-page=purchase]{--toggle-top:calc(14svh - 22px);--toggle-size:clamp(14px, 1.15vw, 22px)}.manual-layout[data-page=purchase] .purchase-page{padding-top:0}.manual-layout[data-page=purchase] .portrait-banner{aspect-ratio:4/3;width:21.8vw}.manual-layout[data-page=purchase] .portrait-image{object-position:center}.manual-layout[data-page=purchase] .portrait-wordmark{display:none}.manual-layout[data-page=purchase] .purchase-page{padding-bottom:2svh}.manual-layout[data-page=purchase] .purchase-description{margin-top:7.3svh}.manual-layout[data-page=purchase] .purchase-details{width:calc(100% + 8vw);margin-top:3.6svh;padding-top:0}.manual-layout[data-page=purchase] .purchase-note{max-width:none;margin:0 auto;font-size:clamp(11px,.68vw,14px)}.purchase-button{width:clamp(160px,12.25vw,280px);min-height:max(36px,2.75vw);margin-top:8px;margin-bottom:2.7svh}.page-navigation{padding-top:16px}}@media (prefers-reduced-motion:reduce){:root{--theme-duration:1ms;--toggle-duration:1ms;--dialog-duration:1ms}.logo-shimmer{animation:none!important}.theme-toggle__labels,.theme-toggle__labels>span,.text-link>span,.purchase-button,.purchase-dialog,.purchase-shade{transition-duration:1ms!important}.theme-toggle:is(:hover,:focus-visible,.is-skewed) .theme-toggle__labels,.text-link:is(:hover,:focus-visible,.is-pressed)>span,.theme-toggle__labels>span{transform:none!important}::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation-duration:1ms!important;animation-delay:0s!important}}::view-transition-group(page-content){animation:none}
