@font-face{font-family:Geist;src:url(/_astro/Geist-Variable.B48wpBRb.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(/_astro/GeistMono-Variable.BRXCGrxA.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Pixel;src:url(/_astro/GeistPixel-Square.B0mEoKr8.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Noto Sans JP;src:url(/_astro/NotoSansJP-Airmail.B_1j-UCh.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+4FBF,U+7A7A,U+822A}:root{color-scheme:light dark;--palette-paper:#e8e9df;--palette-sage:#a9b887;--brand-salesforce:#00a1e0;--palette-olive:#2e3d28;--palette-cover-coral:#b9503e;--color-bg:light-dark(var(--palette-paper),color-mix(in oklab, var(--palette-olive) 82%, black));--color-surface:light-dark(color-mix(in oklab, var(--palette-paper) 55%, white),var(--palette-olive));--color-surface-sunken:light-dark(color-mix(in oklab, var(--palette-paper) 86%, var(--palette-sage)),color-mix(in oklab, var(--palette-olive) 70%, black));--color-text:light-dark(var(--palette-olive),var(--palette-paper));--color-text-muted:light-dark(color-mix(in oklab, var(--palette-olive) 80%, var(--palette-paper)),color-mix(in oklab, var(--palette-paper) 76%, var(--palette-olive)));--color-accent:var(--palette-sage);--color-accent-ink:light-dark(color-mix(in oklab, var(--palette-sage) 38%, var(--palette-olive)),var(--palette-sage));--color-on-accent:var(--palette-olive);--color-strong:light-dark(var(--palette-olive),var(--palette-paper));--color-on-strong:light-dark(var(--palette-paper),var(--palette-olive));--color-line:light-dark(color-mix(in oklab, var(--palette-olive) 34%, transparent),color-mix(in oklab, var(--palette-paper) 30%, transparent));--color-line-strong:light-dark(color-mix(in oklab, var(--palette-olive) 80%, transparent),color-mix(in oklab, var(--palette-paper) 80%, transparent));--color-rule:light-dark(color-mix(in oklab, var(--palette-olive) 34%, transparent),color-mix(in oklab, var(--palette-paper) 30%, transparent));--color-grid:light-dark(color-mix(in oklab, var(--palette-olive) 26%, transparent),color-mix(in oklab, var(--palette-paper) 20%, transparent));--color-ink-faded:light-dark(color-mix(in oklab, var(--palette-olive) 66%, transparent),color-mix(in oklab, var(--palette-paper) 66%, transparent));--color-focus:light-dark(var(--palette-olive),var(--palette-sage));--color-selection:color-mix(in oklab, var(--palette-sage) 70%, transparent);--color-shadow:light-dark(color-mix(in oklab, var(--palette-olive) 45%, transparent),oklab(0% none none/.55));--letter-paper:color-mix(in oklab, var(--color-surface) 78%, var(--color-accent));--letter-paper-mobile:light-dark(color-mix(in oklab, var(--palette-sage) 85%, var(--color-surface)),var(--letter-paper));--cover-coral:var(--palette-cover-coral);--cover-paper:oklch(from var(--palette-paper) .955 .022 78);--cover-ink:color-mix(in oklab, var(--palette-olive) 38%, black);--cover-muted:color-mix(in oklab, var(--cover-ink) 78%, var(--cover-paper));--cover-stamp-paper:color-mix(in oklab, var(--cover-paper) 92%, var(--palette-sage));--cover-title:calc(var(--step-5) * .82);--cover-sky:color-mix(in oklab, var(--cover-paper) 84%, var(--palette-olive));--cover-sky-high:var(--cover-paper);--cover-haze:color-mix(in oklab, var(--cover-paper) 85%, var(--palette-sage));--cover-mountain-far:oklch(from color-mix(in oklab, var(--palette-sage) 48%, var(--cover-paper)) l calc(c * .45) h);--cover-mountain-mid:oklch(from color-mix(in oklab, var(--palette-sage) 64%, var(--palette-olive)) l calc(c * .65) h);--cover-mountain-near:oklch(from color-mix(in oklab, var(--palette-sage) 30%, var(--palette-olive)) l calc(c * .75) h);--cover-mountain-shadow:color-mix(in oklab, var(--cover-mountain-near) 72%, var(--palette-olive));--cover-water:oklch(from color-mix(in oklab, var(--palette-sage) 45%, var(--cover-paper)) l calc(c * .4) h);--cover-water-light:color-mix(in oklab, var(--cover-paper) 84%, var(--palette-sage));--cover-water-shadow:color-mix(in oklab, var(--cover-water) 67%, var(--cover-mountain-mid));--cover-wood:oklch(from var(--palette-olive) .51 c 68);--cover-wood-light:oklch(from var(--palette-sage) .66 c 78);--cover-wood-dark:oklch(from var(--palette-olive) l calc(c * .55) 68);--cover-leaf:color-mix(in oklab, var(--palette-olive) 90%, var(--palette-sage));--cover-leaf-light:color-mix(in oklab, var(--palette-sage) 54%, var(--palette-olive));--cover-leaf-shadow:color-mix(in oklab, var(--palette-olive) 70%, var(--cover-ink));--cover-lantern-light:color-mix(in oklab, var(--cover-coral) 62%, var(--cover-paper));--cover-lantern-dark:color-mix(in oklab, var(--cover-coral) 68%, var(--cover-wood-dark));--badge-1-bg:light-dark(color-mix(in oklab, var(--palette-sage) 55%, var(--palette-paper)),color-mix(in oklab, var(--palette-sage) 30%, var(--palette-olive)));--badge-1-ink:light-dark(var(--palette-olive),var(--palette-paper));--badge-1-edge:light-dark(color-mix(in oklab, var(--palette-sage) 80%, var(--palette-olive)),color-mix(in oklab, var(--palette-sage) 60%, var(--palette-olive)));--badge-2-bg:light-dark(oklch(from color-mix(in oklab, var(--palette-sage) 40%, var(--palette-paper)) l c calc(h + 55)),oklch(from color-mix(in oklab, var(--palette-sage) 26%, var(--palette-olive)) l c calc(h + 55)));--badge-2-ink:light-dark(var(--palette-olive),var(--palette-paper));--badge-2-edge:light-dark(oklch(from color-mix(in oklab, var(--palette-sage) 60%, var(--palette-olive)) l c calc(h + 55)),oklch(from color-mix(in oklab, var(--palette-sage) 50%, var(--palette-olive)) l c calc(h + 55)));--badge-3-bg:light-dark(oklch(from color-mix(in oklab, var(--palette-sage) 40%, var(--palette-paper)) l c calc(h - 70)),oklch(from color-mix(in oklab, var(--palette-sage) 26%, var(--palette-olive)) l c calc(h - 70)));--badge-3-ink:light-dark(var(--palette-olive),var(--palette-paper));--badge-3-edge:light-dark(oklch(from color-mix(in oklab, var(--palette-sage) 60%, var(--palette-olive)) l c calc(h - 70)),oklch(from color-mix(in oklab, var(--palette-sage) 50%, var(--palette-olive)) l c calc(h - 70)));--art-deep:var(--palette-olive);--art-mid:var(--palette-sage);--art-light:var(--palette-paper);--seal-wax:oklch(from light-dark(color-mix(in oklab, var(--art-deep) 66%, var(--art-mid)),color-mix(in oklab, var(--art-mid) 88%, var(--art-light))) l calc(c * 1.9) h);--seal-wax-hi:oklch(from light-dark(color-mix(in oklab, var(--art-mid) 80%, var(--art-deep)),color-mix(in oklab, var(--art-light) 38%, var(--art-mid))) l calc(c * 1.8) h);--seal-wax-lo:oklch(from light-dark(var(--art-deep),color-mix(in oklab, var(--art-mid) 55%, var(--art-deep))) l calc(c * 1.9) h);--stamp-paper:light-dark(color-mix(in oklab, var(--palette-paper) 62%, var(--palette-sage)),color-mix(in oklab, var(--palette-sage) 36%, var(--palette-olive)));--stamp-edge:light-dark(color-mix(in oklab, var(--palette-olive) 55%, transparent),color-mix(in oklab, var(--palette-paper) 50%, transparent));--stamp-panel:light-dark(color-mix(in oklab, var(--palette-sage) 62%, var(--palette-olive)),color-mix(in oklab, var(--palette-olive) 78%, var(--palette-sage)));--stamp-halo:light-dark(color-mix(in oklab, var(--palette-sage) 72%, var(--palette-paper)),color-mix(in oklab, var(--palette-olive) 52%, var(--palette-sage)));--stamp-band:light-dark(var(--palette-olive),color-mix(in oklab, var(--palette-olive) 88%, black));--stamp-ink:var(--palette-paper);--stamp-scene:light-dark(var(--palette-olive),var(--palette-sage));--stamp-detail:light-dark(color-mix(in oklab, var(--palette-olive) 52%, var(--palette-sage)),var(--palette-sage));--stamp-band-detail:var(--palette-sage);--pb-ink:light-dark(var(--palette-olive),color-mix(in oklab, var(--palette-olive) 90%, var(--palette-sage)));--pb-paper:light-dark(color-mix(in oklab, var(--palette-paper) 55%, white),var(--palette-paper));--pb-trim:var(--palette-sage);--pb-stone-top:light-dark(color-mix(in oklab, color-mix(in oklab, var(--palette-paper) 55%, white) 70%, var(--palette-olive)),color-mix(in oklab, var(--palette-sage) 42%, var(--palette-olive)));--pb-stone-front:light-dark(color-mix(in oklab, color-mix(in oklab, var(--palette-paper) 55%, white) 45%, var(--palette-olive)),color-mix(in oklab, var(--palette-sage) 28%, var(--palette-olive)));--pb-stone-ring:light-dark(color-mix(in oklab, color-mix(in oklab, var(--palette-paper) 55%, white) 55%, var(--palette-olive)),color-mix(in oklab, var(--palette-sage) 36%, var(--palette-olive)));--pb-stone-side:light-dark(color-mix(in oklab, color-mix(in oklab, var(--palette-paper) 55%, white) 30%, var(--palette-olive)),color-mix(in oklab, var(--palette-sage) 20%, var(--palette-olive)));--pb-grass-a:light-dark(color-mix(in oklab, var(--palette-sage) 72%, var(--palette-olive)),color-mix(in oklab, var(--palette-sage) 70%, var(--palette-olive)));--pb-grass-b:var(--palette-sage);--font-sans:"Geist", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display:var(--font-sans);--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--font-accent:"Geist Pixel", var(--font-mono);--font-jp:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", "Noto Sans CJK JP", "Meiryo", sans-serif;--weight-body:400;--weight-medium:500;--weight-display:700;--leading-tight:1.04;--leading-snug:1.25;--leading-body:1.62;--tracking-display:-.035em;--tracking-label:.16em;--tracking-mono:0;--step--2:clamp(.68rem, .66rem + .1vw, .74rem);--step--1:clamp(.8rem, .78rem + .1vw, .86rem);--step-0:clamp(1rem, .97rem + .15vw, 1.0625rem);--step-1:clamp(1.15rem, 1.08rem + .35vw, 1.34rem);--step-2:clamp(1.4rem, 1.25rem + .75vw, 1.85rem);--step-3:clamp(1.85rem, 1.5rem + 1.75vw, 2.9rem);--step-4:clamp(2.3rem, 1.6rem + 3.4vw, 4.4rem);--step-5:clamp(2.9rem, 1.5rem + 6.4vw, 7rem);--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:3rem;--space-8:4.5rem;--space-9:7rem;--page-max:72rem;--measure:62ch;--gutter:clamp(1rem, 4vw, 2.5rem);--grid-tile:640px;--radius-1:2px;--radius-2:6px;--radius-3:20px;--border:1px;--perf-radius:4px;--perf-pitch:16px;--rule-height:12px;--rule-tile:1200px;--airmail-width:.95rem;--airmail-stripes:repeating-linear-gradient(-45deg, var(--color-accent) 0 1.15rem, var(--color-surface) 1.15rem 1.65rem, var(--color-strong) 1.65rem 2.7rem, var(--color-surface) 2.7rem 3.45rem, var(--color-accent) 3.45rem 4.45rem, var(--color-surface) 4.45rem 4.9rem, var(--color-strong) 4.9rem 5.8rem, var(--color-surface) 5.8rem 6.5rem);--shadow-card:0 1px 0 var(--color-line), 0 26px 36px -28px var(--color-shadow);--shadow-stamp:0 10px 14px -8px var(--color-shadow);--ease-out:cubic-bezier(.2, .7, .2, 1);--ease-press:cubic-bezier(.5, 0, .2, 1.4);--dur-fast:.14s;--dur-med:.28s;--dur-slow:.7s;--sound-volume:.1}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background-color:var(--color-bg);-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth;overflow-x:clip}body,h1,h2,h3,p,ul,ol,figure,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit}body{min-height:100dvh;color:var(--color-text);font-family:var(--font-sans);font-size:var(--step-0);font-weight:var(--weight-body);line-height:var(--leading-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;flex-direction:column;display:flex;position:relative;overflow-x:clip}body:before{content:"";z-index:-1;pointer-events:none;background:var(--color-grid);-webkit-mask:url(/dots.svg) center top / var(--grid-tile) var(--grid-tile) repeat;mask:url(/dots.svg) center top / var(--grid-tile) var(--grid-tile) repeat;position:fixed;inset:0}main{flex:1}::selection{background:var(--color-selection)}:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px;border-radius:var(--radius-1)}.skip-link{left:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--color-strong);color:var(--color-on-strong);z-index:10;position:absolute;top:-4rem}.skip-link:focus{top:var(--space-3)}.wrap{width:min(100% - 2 * var(--gutter), var(--page-max));margin-inline:auto}.measure{max-width:var(--measure)}.sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.display{font-family:var(--font-display);font-weight:var(--weight-display);letter-spacing:var(--tracking-display);line-height:var(--leading-tight);text-wrap:balance}.h-hero{font-size:var(--step-5)}.h-page{font-size:var(--step-4)}.h-section{font-size:var(--step-2);letter-spacing:-.02em;line-height:var(--leading-snug);font-family:var(--font-display);font-weight:600}.lead{font-size:var(--step-1);text-wrap:pretty;line-height:1.5}.muted{color:var(--color-text-muted)}.mono{font-family:var(--font-mono);letter-spacing:var(--tracking-mono)}.pixel{font-family:var(--font-accent);letter-spacing:.04em}.jp{font-family:var(--font-jp);letter-spacing:.08em}.label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase}.prose>*+*{margin-top:var(--space-5)}.prose h2{font-size:var(--step-2);letter-spacing:-.02em;font-weight:600;line-height:var(--leading-snug);margin-top:var(--space-7)}.prose h3{font-size:var(--step-1);margin-top:var(--space-6);font-weight:600}.prose p,.prose li{text-wrap:pretty}.prose ul{gap:var(--space-2);list-style:none;display:grid}.prose ul li{padding-left:var(--space-5);position:relative}.prose ul li:before{left:0;top:calc(.72em - var(--rule-height) / 2);width:.6rem;position:absolute}.prose a,a.tlink{background:radial-gradient(circle at 50% 50%, color-mix(in oklab, currentColor 80%, transparent) 0 1.15px, transparent 1.5px) left bottom / 6px 4px repeat-x;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-bottom:.14em;text-decoration:none}.prose a:hover,.prose a:focus-visible,a.tlink:hover,a.tlink:focus-visible{background-image:radial-gradient(circle,currentColor 0 1.4px,#0000 1.75px);animation:.7s linear infinite perf-march}@keyframes perf-march{to{background-position-x:6px}}.prose a[data-ext]:after,a.tlink[data-ext]:after{content:"";vertical-align:-.06em;width:.85em;height:.85em;transition:transform var(--dur-fast) var(--ease-out);background:currentColor;margin-left:.15em;display:inline-block;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 15.6 C8 11.8 11.4 8.4 15 5.2'/%3E%3Cpath d='M7.6 4.9 C10.4 4.7 12.8 4.9 15.3 5 C15.4 7.5 15.3 10.2 15.1 12.6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 15.6 C8 11.8 11.4 8.4 15 5.2'/%3E%3Cpath d='M7.6 4.9 C10.4 4.7 12.8 4.9 15.3 5 C15.4 7.5 15.3 10.2 15.1 12.6'/%3E%3C/svg%3E") 50%/contain no-repeat}.prose a[data-ext]:hover:after,.prose a[data-ext]:focus-visible:after,a.tlink[data-ext]:hover:after,a.tlink[data-ext]:focus-visible:after{transform:translate(.12em,-.12em)}@media (prefers-reduced-motion:reduce){.prose a:hover,.prose a:focus-visible,a.tlink:hover,a.tlink:focus-visible{animation:none}.prose a[data-ext]:after,a.tlink[data-ext]:after{transition:none}}.link-preview{z-index:60;width:min(23rem,100vw - 1.5rem);filter:drop-shadow(0 0 .55px var(--stamp-edge)) drop-shadow(0 0 .55px var(--stamp-edge)) drop-shadow(0 20px 22px color-mix(in oklab, var(--color-shadow) 85%, transparent));opacity:0;visibility:hidden;transform-origin:50% 0;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-med) var(--ease-out), visibility 0s linear var(--dur-fast);position:fixed;transform:translateY(8px)rotate(-1.4deg)scale(.985)}.link-preview[data-side=above]{transform-origin:50% 100%;transform:translateY(-8px)rotate(-1.4deg)scale(.985)}.link-preview[popover]{color:var(--color-text);background:0 0;border:0;margin:0;padding:0;inset:auto;overflow:visible}.link-preview.open{opacity:1;visibility:visible;transition-delay:0s;transform:rotate(-1.4deg)}.link-preview:before{content:"";z-index:2;background:color-mix(in oklab, var(--color-accent) 62%, transparent);border-inline:2px dotted color-mix(in oklab, var(--color-strong) 30%, transparent);width:4.2rem;height:1.25rem;box-shadow:0 1px 2px color-mix(in oklab, var(--color-shadow) 40%, transparent);pointer-events:none;margin-left:-2.1rem;position:absolute;top:-.55rem;left:50%;rotate:3deg}.link-preview .lp-paper{padding:calc(var(--perf-pitch) * .78) calc(var(--perf-pitch) * .78) calc(var(--perf-pitch) * .62);background:color-mix(in oklab, var(--color-surface) 72%, var(--color-accent));gap:.5rem;max-height:calc(100dvh - 2rem);display:grid;overflow-y:auto}.link-preview .lp-stripe{background:var(--airmail-stripes);border-radius:1px;height:.4rem;margin:-.1rem 0 .1rem}.link-preview .lp-head,.link-preview .lp-foot{justify-content:space-between;align-items:baseline;gap:var(--space-3);padding-inline:.15rem;display:flex}.link-preview .lp-kind{color:var(--color-text);font-weight:600}.link-preview .lp-kind:before{content:"航空便";font-family:var(--font-jp);letter-spacing:.08em;opacity:.75;margin-right:.6em;font-weight:400}.link-preview .lp-frame{outline:var(--border) solid var(--color-line-strong);outline-offset:2px;background:var(--color-surface-sunken);margin:2px;position:relative}.link-preview iframe{width:100%;height:var(--lp-h,21rem);opacity:0;transition:opacity var(--dur-med);border:0;display:block;position:relative}.link-preview.ready iframe{opacity:1}.link-preview .lp-wait{place-items:center;display:grid;position:absolute;inset:0}.link-preview .lp-foot{border-top:1px dashed var(--color-rule);margin-top:.1rem;padding-top:.45rem}.link-preview .lp-go{color:var(--color-text);align-items:center;gap:.4em;text-decoration:none;display:inline-flex}.link-preview .lp-go i{width:.9em;height:.9em;transition:transform var(--dur-fast) var(--ease-out);background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 15.6 C8 11.8 11.4 8.4 15 5.2'/%3E%3Cpath d='M7.6 4.9 C10.4 4.7 12.8 4.9 15.3 5 C15.4 7.5 15.3 10.2 15.1 12.6'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 15.6 C8 11.8 11.4 8.4 15 5.2'/%3E%3Cpath d='M7.6 4.9 C10.4 4.7 12.8 4.9 15.3 5 C15.4 7.5 15.3 10.2 15.1 12.6'/%3E%3C/svg%3E") 50%/contain no-repeat}.link-preview .lp-go:hover{text-underline-offset:.3em;text-decoration:underline dotted}.link-preview .lp-go:hover i{transform:translate(.12em,-.12em)}@media (prefers-reduced-motion:reduce){.link-preview,.link-preview[data-side=above],.link-preview.open{transition:none;transform:rotate(-1.4deg)}.link-preview iframe,.link-preview .lp-go i{transition:none}}@media (hover:none){.link-preview{display:none}.link-preview[data-keyboard]{display:block}}.prose code{font-family:var(--font-mono);background:var(--color-surface-sunken);border-radius:var(--radius-1);padding:.1em .35em;font-size:.9em}.prose .callout{--cx-bg:var(--badge-1-bg);--cx-ink:var(--badge-1-ink);--cx-edge:var(--badge-1-edge);--cx-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' fill-rule='evenodd' d='M4.1 2.7 L12.3 2.2 L16.1 6.3 L15.8 17.4 L4.3 17.7 Z M6.6 8.6 L13.2 8.4 L13.3 9.8 L6.7 10 Z M6.7 11.6 L13.1 11.5 L13.2 12.9 L6.6 13 Z M6.8 14.4 L10.4 14.3 L10.5 15.6 L6.8 15.7 Z'/%3E%3C/svg%3E");margin-block:var(--space-6) 0;padding:var(--space-4) var(--space-5) var(--space-4) calc(var(--space-5) + 2.8rem);border:var(--border) solid var(--cx-edge);border-radius:var(--radius-2);background:color-mix(in oklab, var(--cx-bg) 55%, var(--color-surface));color:var(--color-text);margin-inline:0;position:relative;overflow:hidden}.prose .callout:before{content:"";border-right:var(--border) solid var(--cx-edge);background:repeating-linear-gradient(135deg, var(--cx-edge) 0 5px, transparent 5px 10px);opacity:.85;width:.7rem;position:absolute;inset:0 auto 0 0}.prose .callout:after{content:"";left:calc(.7rem + var(--space-4));top:var(--space-4);background:var(--cx-ink);width:1.7rem;height:1.7rem;-webkit-mask:var(--cx-icon) center / contain no-repeat;mask:var(--cx-icon) center / contain no-repeat;position:absolute;rotate:-4deg}.prose .callout>*+*{margin-top:var(--space-3)}.prose .callout p{font-size:inherit}.prose .callout-label{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--cx-ink);font-weight:600}.prose .callout-tip{--cx-bg:var(--badge-2-bg);--cx-ink:var(--badge-2-ink);--cx-edge:var(--badge-2-edge);--cx-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' fill-rule='evenodd' d='M10 1.9 C13.7 1.8 16.2 4.8 15.8 8.1 C15.6 10.1 14.3 11.1 13.7 12.5 L13.6 13.7 L6.5 13.8 L6.4 12.4 C5.6 11.1 4.2 10.1 4.1 8 C3.9 4.7 6.4 2 10 1.9 Z M7.1 15.1 L12.9 15 L12.8 16.4 C12.8 17.4 11.8 18.2 10 18.2 C8.2 18.2 7.2 17.5 7.2 16.5 Z'/%3E%3C/svg%3E")}.prose .callout-headsup{--cx-bg:var(--badge-3-bg);--cx-ink:var(--badge-3-ink);--cx-edge:var(--badge-3-edge);--cx-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' fill-rule='evenodd' d='M10 2.5 L18.2 17 L2 17.2 Z M9.1 7.4 L10.9 7.3 L10.6 12.6 L9.3 12.7 Z M10 13.5 a1.15 1.15 0 1 1 -.02 0 Z'/%3E%3C/svg%3E")}.prose .callout-key{--cx-bg:var(--color-accent);--cx-ink:var(--color-strong);--cx-edge:var(--color-strong);--cx-icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='black' fill-rule='evenodd' d='M10 1.6 L12.4 6.9 L18.2 7.4 L13.8 11.2 L15.2 16.9 L10.1 13.9 L4.9 17 L6.3 11.4 L1.8 7.7 L7.7 7.2 Z'/%3E%3C/svg%3E");background:color-mix(in oklab, var(--color-accent) 30%, var(--color-surface))}@media (width<=40rem){.prose .callout{padding:var(--space-3) var(--space-4) var(--space-3) calc(var(--space-4) + 2.4rem)}.prose .callout:after{left:calc(.7rem + var(--space-3));top:var(--space-3);width:1.3rem;height:1.3rem}}.page-head{padding-block:var(--space-8) var(--space-7);gap:var(--space-4);display:grid}@media (width<=40rem){.page-head{padding-block:var(--space-6) var(--space-5);gap:var(--space-3)}}.page-head .kicker{align-items:center;gap:var(--space-3);color:var(--color-text-muted);display:inline-flex}.page-head .kicker:after{width:3rem}:root{--hand-solid-a:url(/line-solid-a.svg);--hand-solid-b:url(/line-solid-b.svg);--hand-solid-c:url(/line-solid-c.svg);--hand-dash-a:url(/line-dash-a.svg);--hand-dash-b:url(/line-dash-b.svg);--hand-dash-c:url(/line-dash-c.svg)}.rule-top,.rule-bottom,.rows,.row,.hand-b,.hand-l{--rule-ink:var(--color-rule);--rule-mask:var(--hand-dash-c);position:relative}.rule-solid,.rows{--rule-ink:var(--color-line-strong);--rule-mask:var(--hand-solid-a)}.hand-b,.hand-l{--rule-ink:var(--color-line);--rule-mask:var(--hand-solid-b)}.row:nth-child(3n+1){--rule-mask:var(--hand-dash-a)}.row:nth-child(3n+2){--rule-mask:var(--hand-dash-b)}.rule-top:before,.rows:before,.rule-bottom:after,.row:after,.hand-b:after{content:"";height:var(--rule-height);pointer-events:none;background:var(--rule-ink);-webkit-mask:var(--rule-mask) center / var(--rule-tile) var(--rule-height) repeat-x;mask:var(--rule-mask) center / var(--rule-tile) var(--rule-height) repeat-x;position:absolute;left:0;right:0}.rule-top:before,.rows:before{top:0;transform:translateY(-50%)}.rule-bottom:after,.row:after,.hand-b:after{bottom:0;transform:translateY(50%)}.hand-l:before{content:"";width:var(--rule-height);pointer-events:none;background:var(--rule-ink);-webkit-mask:url(/line-v.svg) center / var(--rule-height) var(--rule-tile) repeat-y;mask:url(/line-v.svg) center / var(--rule-height) var(--rule-tile) repeat-y;position:absolute;top:0;bottom:0;left:0;transform:translate(-50%)}.page-head .kicker:after,.prose ul li:before{content:"";height:var(--rule-height);background:var(--color-line-strong);pointer-events:none;-webkit-mask:var(--hand-solid-c) left center / var(--rule-tile) var(--rule-height) no-repeat;mask:var(--hand-solid-c) left center / var(--rule-tile) var(--rule-height) no-repeat}.doodle-list{gap:var(--space-3);padding:0;list-style:none;display:grid}.doodle-list>li{text-wrap:pretty;padding-left:2em;position:relative}.doodle-list>li:before{content:"";background:var(--color-accent-ink);width:1.45em;height:1.45em;transform:rotate(var(--tilt,0deg));transition:transform var(--dur-med) ease;-webkit-mask:var(--bullet) center / contain no-repeat;mask:var(--bullet) center / contain no-repeat;position:absolute;top:.2em;left:0}.doodle-list>li:nth-child(6n+1){--bullet:url(/bullets/spiral.svg);--tilt:-6deg}.doodle-list>li:nth-child(6n+2){--bullet:url(/bullets/arrow.svg);--tilt:3deg}.doodle-list>li:nth-child(6n+3){--bullet:url(/bullets/star.svg);--tilt:-5deg}.doodle-list>li:nth-child(6n+4){--bullet:url(/bullets/sprout.svg);--tilt:4deg}.doodle-list>li:nth-child(6n+5){--bullet:url(/bullets/tick.svg);--tilt:-3deg}.doodle-list>li:nth-child(6n){--bullet:url(/bullets/squiggle.svg);--tilt:2deg}.doodle-list--dot>li{--bullet:url(/bullets/dot.svg)!important}.doodle-list--tick>li{--bullet:url(/bullets/tick.svg)!important}.doodle-list--arrow>li{--bullet:url(/bullets/arrow.svg)!important}.doodle-list--star>li{--bullet:url(/bullets/star.svg)!important}.doodle-list--sprout>li{--bullet:url(/bullets/sprout.svg)!important}.doodle-list--spiral>li{--bullet:url(/bullets/spiral.svg)!important}.doodle-list--squiggle>li{--bullet:url(/bullets/squiggle.svg)!important}.doodle-list--flower>li{--bullet:url(/bullets/flower.svg)!important}@media (prefers-reduced-motion:no-preference){.doodle-list>li:hover:before{transform:rotate(calc(var(--tilt,0deg) + 16deg)) scale(1.2)}}.row{gap:var(--space-5);padding-block:var(--space-5);grid-template-columns:9rem 1fr auto;align-items:baseline;display:grid}@media (width<=40rem){.row{gap:var(--space-2);grid-template-columns:1fr}}.stamp{--r:var(--perf-radius);--s:var(--perf-pitch);padding:calc(var(--s) * .72);background:var(--color-surface);color:var(--color-text);-webkit-mask:radial-gradient(circle var(--r) at 50% 0, transparent 98%, black) 0 0 / var(--s) 100% repeat-x, radial-gradient(circle var(--r) at 50% 100%, transparent 98%, black) 0 0 / var(--s) 100% repeat-x, radial-gradient(circle var(--r) at 0 50%, transparent 98%, black) 0 0 / 100% var(--s) repeat-y, radial-gradient(circle var(--r) at 100% 50%, transparent 98%, black) 0 0 / 100% var(--s) repeat-y;-webkit-mask-composite:source-in;mask:radial-gradient(circle var(--r) at 50% 0, transparent 98%, black) 0 0 / var(--s) 100% repeat-x, radial-gradient(circle var(--r) at 50% 100%, transparent 98%, black) 0 0 / var(--s) 100% repeat-x, radial-gradient(circle var(--r) at 0 50%, transparent 98%, black) 0 0 / 100% var(--s) repeat-y, radial-gradient(circle var(--r) at 100% 50%, transparent 98%, black) 0 0 / 100% var(--s) repeat-y;position:relative;mask-composite:intersect}.stamp-shadow{filter:drop-shadow(0 1px 0 var(--color-line)) drop-shadow(var(--shadow-stamp))}.stamp__inner{outline:var(--border) solid var(--color-line-strong);outline-offset:calc(var(--perf-pitch) * -.3);position:relative}.hanko{aspect-ratio:1;width:2.6rem;color:var(--color-accent-ink);font-family:var(--font-jp);border:3px solid;border-radius:3px 6px 4px 7px;place-items:center;font-size:1.15rem;font-weight:700;line-height:1;display:inline-grid;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px #0000}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}html[data-vt]::view-transition-old(root),html[data-vt]::view-transition-new(root){mix-blend-mode:normal;animation:none}html[data-vt=to-light]::view-transition-new(root){z-index:2}html[data-vt=to-light]::view-transition-old(root){z-index:1}html[data-vt=to-dark]::view-transition-old(root){z-index:2}html[data-vt=to-dark]::view-transition-new(root){z-index:1}@media (hover:hover){@view-transition{navigation:auto}}.bar{view-transition-name:site-header;z-index:40}::view-transition-group(site-header){animation-duration:0s}::view-transition-old(site-header){display:none}::view-transition-new(site-header){animation:none}::view-transition-old(root),::view-transition-new(root){animation-duration:.22s;animation-timing-function:ease-in-out}@media (prefers-reduced-motion:reduce){@view-transition{navigation:none}}.has-stamp-cursor,.has-stamp-cursor *{user-select:none;cursor:none!important}.stamp-cursor{z-index:60;pointer-events:none;opacity:0;will-change:transform;width:40px;height:62px;position:fixed;top:0;left:0}.stamp-cursor.on{opacity:1}.stamp-hint{white-space:nowrap;background:var(--color-surface);color:var(--color-text);border:var(--border) solid var(--color-line-strong);border-radius:var(--radius-1);font-family:var(--font-mono);letter-spacing:.02em;opacity:0;transition:opacity .16s, transform .22s var(--ease-press);padding:.25rem .55rem;font-size:.72rem;position:absolute;top:6px;left:40px;transform:translateY(4px)scale(.96)}.stamp-hint.show{opacity:1;transform:none}.stamp-cursor.flip .stamp-hint{left:auto;right:40px}.stamp-cursor svg{transform-origin:20px 58px;width:100%;height:100%;filter:drop-shadow(0 3px 3px color-mix(in oklab, var(--color-shadow) 40%, transparent));display:block;overflow:visible;transform:rotate(6deg)}.stamp-cursor .halo{fill:var(--pb-paper);stroke:var(--pb-paper);stroke-width:3.4px;stroke-linejoin:round}.stamp-cursor .wood{fill:var(--pb-ink)}.stamp-cursor .grain{fill:none;stroke:var(--pb-trim);stroke-width:.7px;stroke-linecap:round;opacity:.55}.stamp-cursor .brass{fill:var(--pb-trim);stroke:var(--pb-ink);stroke-width:.9px}.stamp-cursor .die{fill:var(--pb-ink)}.stamp-cursor .face{fill:var(--color-text)}.stamp-impression{z-index:5;pointer-events:none;width:64px;height:64px;color:var(--color-text);margin:-32px 0 0 -32px;position:absolute}.stamp-impression svg{width:100%;height:100%;overflow:visible}.copy-email{cursor:copy;background:radial-gradient(circle at 50% 50%, color-mix(in oklab, currentColor 55%, transparent) 0 1.1px, transparent 1.5px) left bottom / 8px 4px repeat-x;outline-offset:3px;padding-bottom:.14em}.copy-email:hover,.copy-email:focus-visible{background-image:radial-gradient(circle,currentColor 0 1.3px,#0000 1.65px)}a[data-copy-email]{cursor:copy}.copy-pill{z-index:70;background:var(--color-strong);color:var(--color-on-strong);border:var(--border) solid var(--color-on-strong);box-shadow:0 8px 18px -8px var(--color-shadow);opacity:0;visibility:hidden;transform-origin:100% 100%;transition:opacity var(--dur-fast) var(--ease-out), transform var(--dur-fast) var(--ease-out), left 90ms linear, visibility 0s linear var(--dur-fast);border-radius:999px;align-items:stretch;display:flex;position:fixed;overflow:hidden;transform:translateY(4px)scale(.96)}.copy-pill[popover]{margin:0;padding:0;inset:auto}.copy-pill[data-side=below]{transform-origin:100% 0;transform:translateY(-4px)scale(.96)}.copy-pill.open{opacity:1;visibility:visible;transition-delay:0s;transform:none}.copy-pill button,.copy-pill a{all:unset;box-sizing:border-box;cursor:pointer;font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:var(--tracking-label);text-transform:uppercase;align-items:center;gap:.45em;padding:.5em .8em;display:inline-flex}.copy-pill button:hover,.copy-pill a:hover{background:color-mix(in oklab, var(--color-on-strong) 16%, transparent)}.copy-pill button:focus-visible,.copy-pill a:focus-visible{outline:2px solid var(--color-accent);outline-offset:-3px}.copy-pill .cp-mail{border-left:1px solid color-mix(in oklab, var(--color-on-strong) 30%, transparent);opacity:.8;padding-inline:.7em}.copy-pill .cp-ico{width:1em;height:1em;-webkit-mask:var(--ico) center / contain no-repeat;mask:var(--ico) center / contain no-repeat;background:currentColor}.copy-pill.done .cp-copy .cp-ico{--ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.6 10.8 C6.8 12.6 8.2 14 9.2 15.6 C11.4 11.2 13.8 8 16 5.2'/%3E%3C/svg%3E")!important}.copy-pill.done .cp-mail{display:none}.copy-pill.copy-email-pill{transform:translate3d(var(--copy-x), calc(var(--copy-y) + 4px), 0) scale(.96);will-change:transform;transition:opacity var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);top:0;left:0}.copy-pill.copy-email-pill[data-side=below]{transform:translate3d(var(--copy-x), calc(var(--copy-y) - 4px), 0) scale(.96)}.copy-pill.copy-email-pill.open{transform:translate3d(var(--copy-x), var(--copy-y), 0) scale(1)}.copy-pill.tt{pointer-events:none;transform:translate3d(var(--tt-x), calc(var(--tt-y) + 4px), 0) scale(.96);will-change:transform;transition:opacity var(--dur-fast) var(--ease-out), visibility 0s linear var(--dur-fast);top:0;left:0}.copy-pill.tt[data-side=below]{transform:translate3d(var(--tt-x), calc(var(--tt-y) - 4px), 0) scale(.96)}.copy-pill.tt.open{pointer-events:auto;transform:translate3d(var(--tt-x), var(--tt-y), 0) scale(1)}.copy-pill.tt .label{white-space:nowrap;padding:.5em .85em}@media (hover:none){.copy-pill .cp-mail{display:none}}.copy-email-pill[data-failed] .cp-mail{display:inline-flex}@media (prefers-reduced-motion:reduce){.copy-pill,.copy-pill[data-side=below],.copy-pill.open{transition:none;transform:none}}.signature[data-astro-cid-4ipm4c4c]{width:15rem;max-width:100%;height:auto;color:var(--color-text);display:block;overflow:visible}.signature-fallback[data-astro-cid-4ipm4c4c]{content-visibility:auto}.signature-fallback-ink[data-astro-cid-4ipm4c4c]{width:100%;height:100%;-webkit-mask:var(--signature-art) center / 100% 100% no-repeat;mask:var(--signature-art) center / 100% 100% no-repeat;background:currentColor;mask-mode:alpha}.signature[data-astro-cid-4ipm4c4c][data-draw] .signature-fallback[data-astro-cid-4ipm4c4c],.signature[data-astro-cid-4ipm4c4c][data-ready] .signature-fallback[data-astro-cid-4ipm4c4c]{display:none}.signature[data-astro-cid-4ipm4c4c][data-draw] .signature-fallback-ink[data-astro-cid-4ipm4c4c],.signature[data-astro-cid-4ipm4c4c][data-ready] .signature-fallback-ink[data-astro-cid-4ipm4c4c]{-webkit-mask-image:none;mask-image:none}.signature[data-astro-cid-4ipm4c4c][data-draw] mask path{stroke-dasharray:1;stroke-dashoffset:1px}.signature[data-astro-cid-4ipm4c4c][data-draw].in mask path{animation:sig-write var(--t) cubic-bezier(.45, .05, .35, 1) var(--d) forwards}.signature[data-astro-cid-4ipm4c4c] [data-doodle]:not([data-on]){display:none}@keyframes sig-write{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.signature[data-astro-cid-4ipm4c4c][data-draw]:not([data-ready]) .signature-fallback[data-astro-cid-4ipm4c4c]{display:block}.signature[data-astro-cid-4ipm4c4c][data-draw]:not([data-ready]) .signature-fallback-ink[data-astro-cid-4ipm4c4c]{-webkit-mask-image:var(--signature-art);mask-image:var(--signature-art)}.signature[data-astro-cid-4ipm4c4c][data-draw] mask path,.signature[data-astro-cid-4ipm4c4c][data-draw].in mask path{stroke-dashoffset:0;animation:none}}@media (width<=40rem){.signature[data-astro-cid-4ipm4c4c][data-signature-desktop] .signature-fallback-ink[data-astro-cid-4ipm4c4c],.signature[data-astro-cid-4ipm4c4c][data-signature-desktop][data-draw]:not([data-ready]) .signature-fallback-ink[data-astro-cid-4ipm4c4c]{-webkit-mask-image:none;mask-image:none}}
