*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}:root{--color-base: #FAF9F7;--color-surface: #ffffff;--color-ink: #1A1A1A;--color-muted: #6f6f68;--color-rule: #ccc;--vp-min: 360px;--vp-max: 1440px;--grid-edge: clamp(12px, calc(12px + (100vw - var(--vp-min)) * .0037037), 16px);--page-margin: var(--grid-edge);--page-max: 1680px;--content-max: 72rem;--measure: 34rem;--grid-columns: 24;--grid-row-factor: .0215;--grid-min-row: 18px;--grid-max-row: 36px;--protocol-header-mobile-height: 2.75rem;--viewport-height: 100vh;--text-3xs: clamp(.625rem, .6042rem + .09259vw, .6875rem);--text-2xs: clamp(.6875rem, .6667rem + .09259vw, .75rem);--text-xs: clamp(.75rem, .7083rem + .1852vw, .875rem);--text-s: clamp(.875rem, .8333rem + .1852vw, 1rem);--text-m: clamp(1rem, .9167rem + .3704vw, 1.25rem);--text-l: clamp(1.25rem, 1.167rem + .3704vw, 1.5rem);--text-xl: clamp(1.5rem, 1.333rem + .7407vw, 2rem);--text-2xl: clamp(2rem, 1.833rem + .7407vw, 2.5rem);--text-3xl: clamp(2.5rem, 2.333rem + .7407vw, 3rem);--text-4xl: clamp(3rem, 2.667rem + 1.481vw, 4rem);--text-5xl: clamp(4rem, 3.333rem + 2.963vw, 6rem);--text-6xl: clamp(6rem, 5.333rem + 2.963vw, 8rem);--font-caption: var(--text-2xs);--font-body-small: var(--text-xs);--font-body: var(--text-s);--font-lead: var(--text-m);--font-section-title: var(--text-l);--font-card-title: var(--text-xl);--font-page-title: var(--text-3xl);--font-hero: var(--text-5xl);--space-3xs: clamp(.25rem, .22rem + .15vw, .375rem);--space-2xs: clamp(.375rem, .32rem + .25vw, .5rem);--space-xs: clamp(.5rem, .42rem + .4vw, .75rem);--space-s: clamp(.75rem, .6rem + .75vw, 1.25rem);--space-m: clamp(1rem, .75rem + 1.25vw, 2rem);--space-l: clamp(1.5rem, 1rem + 2.5vw, 3.5rem);--space-xl: clamp(2rem, 1.25rem + 4vw, 5rem);--space-2xl: clamp(3rem, 1.5rem + 7vw, 8rem);--space-3xl: clamp(4rem, 2rem + 10vw, 12rem);--dotted-rule: repeating-linear-gradient(90deg, var(--color-rule) 0 4px,transparent 4px 8px);--dotted-ink: repeating-linear-gradient(90deg, color-mix(in srgb, var(--color-ink) 42%, var(--color-rule)) 0 4px,transparent 4px 8px);--dotted-clear: repeating-linear-gradient(90deg, transparent 0 4px,transparent 4px 8px);--hover-contact: color-mix(in srgb, var(--color-ink) 24%, var(--color-rule));--ease-enter: cubic-bezier(.16, 1, .3, 1);--ease-exit: cubic-bezier(.55, 0, 1, .45);--ease-touch: cubic-bezier(.22, 1, .36, 1);--ease-snap: cubic-bezier(.18, .9, .22, 1)}@supports (height: 100dvh){:root{--viewport-height: 100dvh}}html{background:var(--color-base);color:var(--color-ink);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.4;letter-spacing:0}body{margin:0;background:var(--color-base)}a{color:inherit;text-decoration-color:color-mix(in srgb,currentColor 32%,transparent);text-underline-offset:.18em;transition:color .16s var(--ease-touch),border-color .16s var(--ease-touch),text-decoration-color .16s var(--ease-touch)}a:hover{color:var(--color-ink);text-decoration-color:var(--color-ink)}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-ink);outline-offset:3px}.prose{color:var(--tw-prose-body);max-width:65ch}.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.prose :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.prose :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.prose :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.prose{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.prose :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.home-intro h1,.archive-header h1,.single-header h1,.not-found h1,.section-heading h1{margin:0;font-size:1.875rem;line-height:2.25rem;font-weight:600;line-height:1.25;letter-spacing:0em}@media(min-width:768px){.home-intro h1,.archive-header h1,.single-header h1,.not-found h1,.section-heading h1{font-size:2.25rem;line-height:2.5rem}}.single-article{margin-left:auto;margin-right:auto;max-width:43rem;padding:3rem 1.25rem}@media(min-width:768px){.single-article{padding-top:4rem;padding-bottom:4rem}}.single-header{border-bottom-width:1px;border-color:var(--color-rule);padding-bottom:2rem}.back-link,.text-link{margin-bottom:2rem;display:inline-block;font-size:.875rem;line-height:1.25rem}.entry-content{color:var(--tw-prose-body);max-width:65ch}.entry-content :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.entry-content :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-lead);font-size:1.25em;line-height:1.6;margin-top:1.2em;margin-bottom:1.2em}.entry-content :where(a):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-links);text-decoration:underline;font-weight:500}.entry-content :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-bold);font-weight:600}.entry-content :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.entry-content :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.entry-content :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.entry-content :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.entry-content :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.entry-content :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.entry-content :where(ol[type=A s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-alpha}.entry-content :where(ol[type=a s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-alpha}.entry-content :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.entry-content :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.entry-content :where(ol[type=I s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:upper-roman}.entry-content :where(ol[type=i s]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:lower-roman}.entry-content :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:decimal}.entry-content :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)){list-style-type:disc;margin-top:1.25em;margin-bottom:1.25em;padding-inline-start:1.625em}.entry-content :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{font-weight:400;color:var(--tw-prose-counters)}.entry-content :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker{color:var(--tw-prose-bullets)}.entry-content :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.25em}.entry-content :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)){border-color:var(--tw-prose-hr);border-top-width:1px;margin-top:3em;margin-bottom:3em}.entry-content :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-style:italic;color:var(--tw-prose-quotes);border-inline-start-width:.25rem;border-inline-start-color:var(--tw-prose-quote-borders);quotes:"“""”""‘""’";margin-top:1.6em;margin-bottom:1.6em;padding-inline-start:1em}.entry-content :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:open-quote}.entry-content :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:close-quote}.entry-content :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:800;font-size:2.25em;margin-top:0;margin-bottom:.8888889em;line-height:1.1111111}.entry-content :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:900;color:inherit}.entry-content :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:700;font-size:1.5em;margin-top:2em;margin-bottom:1em;line-height:1.3333333}.entry-content :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:800;color:inherit}.entry-content :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;font-size:1.25em;margin-top:1.6em;margin-bottom:.6em;line-height:1.6}.entry-content :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.entry-content :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;margin-top:1.5em;margin-bottom:.5em;line-height:1.5}.entry-content :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:700;color:inherit}.entry-content :where(img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.entry-content :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)){display:block;margin-top:2em;margin-bottom:2em}.entry-content :where(video):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.entry-content :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)){font-weight:500;font-family:inherit;color:var(--tw-prose-kbd);box-shadow:0 0 0 1px var(--tw-prose-kbd-shadows),0 3px 0 var(--tw-prose-kbd-shadows);font-size:.875em;border-radius:.3125rem;padding-top:.1875em;padding-inline-end:.375em;padding-bottom:.1875em;padding-inline-start:.375em}.entry-content :where(code):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-code);font-weight:600;font-size:.875em}.entry-content :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:"`"}.entry-content :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:"`"}.entry-content :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.entry-content :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.entry-content :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.875em}.entry-content :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit;font-size:.9em}.entry-content :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.entry-content :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.entry-content :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)){color:inherit}.entry-content :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-pre-code);background-color:var(--tw-prose-pre-bg);overflow-x:auto;font-weight:400;font-size:.875em;line-height:1.7142857;margin-top:1.7142857em;margin-bottom:1.7142857em;border-radius:.375rem;padding-top:.8571429em;padding-inline-end:1.1428571em;padding-bottom:.8571429em;padding-inline-start:1.1428571em}.entry-content :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)){background-color:transparent;border-width:0;border-radius:0;padding:0;font-weight:inherit;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}.entry-content :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before{content:none}.entry-content :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after{content:none}.entry-content :where(table):not(:where([class~=not-prose],[class~=not-prose] *)){width:100%;table-layout:auto;margin-top:2em;margin-bottom:2em;font-size:.875em;line-height:1.7142857}.entry-content :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-th-borders)}.entry-content :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-headings);font-weight:600;vertical-align:bottom;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.entry-content :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:1px;border-bottom-color:var(--tw-prose-td-borders)}.entry-content :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){border-bottom-width:0}.entry-content :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:baseline}.entry-content :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)){border-top-width:1px;border-top-color:var(--tw-prose-th-borders)}.entry-content :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){vertical-align:top}.entry-content :where(th,td):not(:where([class~=not-prose],[class~=not-prose] *)){text-align:start}.entry-content :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.entry-content :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)){color:var(--tw-prose-captions);font-size:.875em;line-height:1.4285714;margin-top:.8571429em}.entry-content{--tw-prose-body: #374151;--tw-prose-headings: #111827;--tw-prose-lead: #4b5563;--tw-prose-links: #111827;--tw-prose-bold: #111827;--tw-prose-counters: #6b7280;--tw-prose-bullets: #d1d5db;--tw-prose-hr: #e5e7eb;--tw-prose-quotes: #111827;--tw-prose-quote-borders: #e5e7eb;--tw-prose-captions: #6b7280;--tw-prose-kbd: #111827;--tw-prose-kbd-shadows: rgb(17 24 39 / 10%);--tw-prose-code: #111827;--tw-prose-pre-code: #e5e7eb;--tw-prose-pre-bg: #1f2937;--tw-prose-th-borders: #d1d5db;--tw-prose-td-borders: #e5e7eb;--tw-prose-invert-body: #d1d5db;--tw-prose-invert-headings: #fff;--tw-prose-invert-lead: #9ca3af;--tw-prose-invert-links: #fff;--tw-prose-invert-bold: #fff;--tw-prose-invert-counters: #9ca3af;--tw-prose-invert-bullets: #4b5563;--tw-prose-invert-hr: #374151;--tw-prose-invert-quotes: #f3f4f6;--tw-prose-invert-quote-borders: #374151;--tw-prose-invert-captions: #9ca3af;--tw-prose-invert-kbd: #fff;--tw-prose-invert-kbd-shadows: rgb(255 255 255 / 10%);--tw-prose-invert-code: #fff;--tw-prose-invert-pre-code: #d1d5db;--tw-prose-invert-pre-bg: rgb(0 0 0 / 50%);--tw-prose-invert-th-borders: #4b5563;--tw-prose-invert-td-borders: #374151;font-size:1rem;line-height:1.75}.entry-content :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0;margin-bottom:0}.entry-content :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;margin-bottom:.5em}.entry-content :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.entry-content :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:.375em}.entry-content :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.entry-content :where(.prose>ul>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.entry-content :where(.prose>ul>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.entry-content :where(.prose>ol>li>p:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em}.entry-content :where(.prose>ol>li>p:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:1.25em}.entry-content :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.75em;margin-bottom:.75em}.entry-content :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:1.25em;margin-bottom:1.25em}.entry-content :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:.5em;padding-inline-start:1.625em}.entry-content :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.entry-content :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.entry-content :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.entry-content :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.entry-content :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.entry-content :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.entry-content :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)){padding-top:.5714286em;padding-inline-end:.5714286em;padding-bottom:.5714286em;padding-inline-start:.5714286em}.entry-content :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-start:0}.entry-content :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){padding-inline-end:0}.entry-content :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:2em;margin-bottom:2em}.entry-content :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-top:0}.entry-content :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)){margin-bottom:0}.entry-content{--tw-prose-body: var(--color-ink);--tw-prose-headings: var(--color-ink);--tw-prose-links: var(--color-ink);--tw-prose-bold: var(--color-ink);--tw-prose-counters: var(--color-muted);--tw-prose-bullets: var(--color-muted);--tw-prose-hr: var(--color-rule);--tw-prose-quotes: var(--color-ink);--tw-prose-quote-borders: var(--color-rule);--tw-prose-captions: var(--color-muted);--tw-prose-code: var(--color-ink);--tw-prose-pre-code: var(--color-ink);--tw-prose-pre-bg: var(--color-surface);line-height:1.55}.entry-content :where(p):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.55}.entry-content :where(li):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.55}.entry-content :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)){line-height:1.55}.entry-content{margin-top:2.5rem;max-width:none}.entry-content :is(:where(a):not(:where([class~=not-prose],[class~=not-prose] *))){text-decoration-line:underline;text-decoration-color:var(--color-rule);text-underline-offset:.18em}.entry-content :is(:where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *))){border-left-color:var(--color-rule);font-style:normal}.entry-content :is(:where(code):not(:where([class~=not-prose],[class~=not-prose] *))){border-radius:0;background-color:var(--color-surface);padding:.125rem .25rem}.entry-content :is(:where(pre):not(:where([class~=not-prose],[class~=not-prose] *))){border-width:1px;border-color:var(--color-rule);background-color:var(--color-surface)}.entry-content h2{border-top-width:1px;border-color:var(--color-rule);padding-top:2rem}.entry-content .is-style-lead{font-size:1.125rem;line-height:2.25rem;color:var(--color-ink)}.entry-content .is-style-panel{border-width:1px;border-color:var(--color-rule);background-color:var(--color-surface);padding:1.25rem}.note-screen{position:relative;min-height:var(--viewport-height);background:var(--color-base);color:var(--color-ink);font-family:IBM Plex Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}.note-ruler{--note-scroll-progress: 0;--note-active-tick-top: 0px;position:sticky;top:clamp(5.75rem,9vw,7.5rem);height:calc(var(--viewport-height) - clamp(7rem,12vw,9rem));width:7rem;align-self:start;justify-self:end;pointer-events:none}.note-ruler__value{position:absolute;top:var(--note-active-tick-top);transform:translateY(-50%)}.note-ruler__track{position:absolute;inset:0 -12px 0 auto;width:52px;cursor:pointer;pointer-events:auto;touch-action:manipulation}.note-ruler__tick{position:absolute;right:12px;width:10px;height:1px;background:color-mix(in srgb,var(--color-ink) 18%,transparent);transform:translateY(-50%);transition:width .14s var(--ease-snap),background-color .12s linear}.note-ruler__track:hover .note-ruler__tick{background:color-mix(in srgb,var(--color-ink) 28%,transparent)}.note-ruler__tick.is-hovered{width:17px;background:color-mix(in srgb,var(--color-ink) 54%,transparent)}.note-ruler__tick.is-active{width:24px;background:var(--color-ink)}.note-ruler__value{right:2.25rem;color:var(--color-ink);font-size:13px;line-height:1;white-space:nowrap}.note-layout{display:grid;grid-template-columns:minmax(11rem,16rem) minmax(0,43rem) 7rem;-moz-column-gap:clamp(2rem,5vw,4.5rem);column-gap:clamp(2rem,5vw,4.5rem);width:min(calc(100vw - 48px),90rem);max-width:none;margin-inline:auto;padding:clamp(7.75rem,11vw,9.75rem) 0 6rem}.note-toc{position:sticky;top:clamp(5.75rem,9vw,7.5rem);align-self:start;max-height:calc(var(--viewport-height) - clamp(7rem,12vw,9rem));overflow:auto;padding:2px 0 1rem}.note-back-link{display:inline-block;margin:0;color:var(--color-ink);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.4;text-decoration:none;white-space:nowrap}.note-back-link:before{content:"← "}.note-toc__nav{margin-top:2.25rem;font-size:13px;line-height:1.5}.note-toc__label{margin:0 0 1rem;color:var(--color-muted);font-size:12px;letter-spacing:0;text-transform:uppercase}.note-toc__list{display:grid;gap:.52rem;margin:.8rem 0 0;padding:0;list-style:none}.note-toc__item{margin:0}.note-toc__link{display:inline-block;color:var(--color-ink);text-decoration:none;text-wrap:balance}.note-toc__link.is-active{color:var(--color-ink)}.note-toc__link:not(.is-root):before{content:"• ";color:var(--color-muted)}.note-toc__link.is-active:before{color:var(--color-ink)}.note-toc__link.is-root{font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px}.note-toc__link:hover,.note-toc__link:focus-visible{color:var(--color-ink)}.note-article{max-width:none;padding:0}.note-header{border:0;padding:0}.note-kicker{margin:0 0 14px;color:var(--color-ink);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.4}.note-header h1{margin:0;color:var(--color-ink);font-size:20px;font-weight:600;letter-spacing:0;line-height:1.5}.note-content{margin-top:30px;color:var(--color-ink);font-size:16px}.note-content :where(p,ul,ol,blockquote){margin-top:0;margin-bottom:1.55rem}.note-content :where(h2,h3,h4){scroll-margin-top:5rem;margin-top:2.15rem;margin-bottom:1.45rem;color:var(--color-ink);font-size:16px;font-weight:600;letter-spacing:0;line-height:1.55}.note-content p[id]{scroll-margin-top:5rem}.note-content h2{border:0;padding:0}.note-content h2:before{content:"## ";font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500}.note-content h3:before{content:"### ";font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-weight:500}.note-content :where(a){color:var(--color-ink);text-decoration-color:color-mix(in srgb,var(--color-ink) 36%,transparent)}.note-content :where(code){background:transparent;color:var(--color-ink);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.94em;padding:0}.note-article .post-navigation{margin-top:4rem;border-top:1px solid transparent;-o-border-image:var(--dotted-rule) 1;border-image:var(--dotted-rule) 1;padding-top:1rem;font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.note-article .post-navigation div{min-height:0;border:0;border-bottom:1px solid transparent;-o-border-image:var(--dotted-rule) 1;border-image:var(--dotted-rule) 1;background:transparent;padding:.75rem 0}.note-overlay-open{overflow:hidden}.note-overlay{position:fixed;z-index:60;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:flex-end;padding:var(--space-s);font-family:IBM Plex Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.note-overlay__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1919190d repeating-conic-gradient(rgba(25,25,25,.9) 0% 25%,transparent 0% 50%) 0 0 / 4px 4px;text-decoration:none;animation:overlay-backdrop-enter .24s var(--ease-enter) both}.note-overlay__shell{--overlay-close-size: clamp(2.5rem, 3.6vw, 2.875rem);--overlay-close-gap: clamp(.55rem, 1.2vw, .8rem);position:relative;z-index:1;display:grid;grid-template-columns:var(--overlay-close-size) minmax(0,58rem);align-items:start;gap:var(--overlay-close-gap);height:100%;width:min(100%,calc(58rem + var(--overlay-close-size) + var(--overlay-close-gap)));animation:overlay-sheet-enter .42s var(--ease-enter) both}.note-overlay__panel{--overlay-chrome-height: 3.25rem;--overlay-scroll-padding-top: clamp(3rem, 7vh, 5rem);--overlay-scroll-padding-bottom: clamp(3.5rem, 8vh, 6rem);position:relative;grid-column:2;grid-row:1;display:grid;grid-template-rows:auto minmax(0,1fr);width:100%;height:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-rule) 84%,var(--color-ink));border-radius:0;background:var(--color-surface);color:var(--color-ink);box-shadow:0 18px 45px #0000001f}.note-overlay__chrome{display:flex;min-height:var(--overlay-chrome-height);align-items:center;gap:var(--space-s);padding:0 var(--space-s);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;font-weight:500;line-height:1}.note-overlay__path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.note-overlay__close{position:sticky;grid-column:1;grid-row:1;top:0;display:grid;width:var(--overlay-close-size);height:var(--overlay-close-size);flex:0 0 auto;place-items:center;border:1px solid color-mix(in srgb,var(--color-rule) 70%,transparent);border-radius:0;background:color-mix(in srgb,var(--color-surface) 92%,white);color:var(--color-ink);font-size:14px;box-shadow:0 14px 36px #0000001a;text-decoration:none;transition:background-color .16s var(--ease-touch),color .16s var(--ease-touch),transform .16s var(--ease-snap),box-shadow .18s var(--ease-touch)}.close-icon{display:block;width:clamp(.85rem,1.25vw,1rem);height:clamp(.85rem,1.25vw,1rem);fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.9}.note-overlay__close:hover,.note-overlay__close:focus-visible{background:var(--color-surface);color:var(--color-ink);box-shadow:0 16px 40px #00000024}.note-overlay__close:active{box-shadow:0 9px 22px #0000001f;transform:translateY(0) scale(.985)}.note-overlay__close:focus-visible{outline:2px solid currentColor;outline-offset:4px}.note-overlay__scroll{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 5.25rem;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:var(--overlay-scroll-padding-top) 0 var(--overlay-scroll-padding-bottom);scrollbar-color:transparent transparent;scrollbar-width:none}.note-overlay__scroll::-webkit-scrollbar{width:0;height:0}.note-overlay__scroll .note-article{width:min(34rem,calc(100% - clamp(2rem,10vw,8rem)));justify-self:center}.note-overlay__scroll .note-kicker{margin-bottom:.2rem;color:var(--color-muted)}.note-overlay__scroll .note-content{line-height:1.72}.note-overlay .note-kicker,.note-overlay .note-content>*,.work-overlay__meta,.work-overlay__description,.about-overlay .about-section>:where(h2,p,a),.about-overlay .about-service-list li,.about-overlay .about-link-list li{animation:overlay-text-reveal .18s linear both}.note-overlay .note-kicker{animation-delay:.52s}.note-overlay .note-content>:nth-child(1),.work-overlay__meta,.about-overlay .about-section:nth-child(1)>:nth-child(2){animation-delay:.56s}.note-overlay .note-content>:nth-child(2),.work-overlay__description,.about-overlay .about-section:nth-child(1)>:nth-child(3){animation-delay:596ms}.note-overlay .note-content>:nth-child(3),.about-overlay .about-section:nth-child(1)>:nth-child(4){animation-delay:632ms}.note-overlay .note-content>:nth-child(n+4),.about-overlay .about-section:nth-child(n+2)>:where(h2,p,a),.about-overlay .about-service-list li,.about-overlay .about-link-list li{animation-delay:var(--reveal-delay, 668ms)}.note-overlay .note-content>:nth-child(4),.about-overlay .about-service-list li:nth-child(1),.about-overlay .about-link-list li:nth-child(1){--reveal-delay: 704ms}.note-overlay .note-content>:nth-child(5),.about-overlay .about-service-list li:nth-child(2),.about-overlay .about-link-list li:nth-child(2){--reveal-delay: .74s}.note-overlay .note-content>:nth-child(6),.about-overlay .about-service-list li:nth-child(3),.about-overlay .about-link-list li:nth-child(3){--reveal-delay: 776ms}.note-overlay .note-content>:nth-child(7),.about-overlay .about-service-list li:nth-child(4){--reveal-delay: 812ms}.note-overlay .note-content>:nth-child(8),.about-overlay .about-service-list li:nth-child(5){--reveal-delay: 848ms}.note-overlay .note-content>:nth-child(9),.about-overlay .about-service-list li:nth-child(6){--reveal-delay: 884ms}.note-overlay .note-content>:nth-child(n+10),.about-overlay .about-service-list li:nth-child(n+7){--reveal-delay: .92s}.note-overlay__ruler{position:absolute;top:calc(var(--overlay-chrome-height) + var(--overlay-scroll-padding-top));right:0;bottom:var(--overlay-scroll-padding-bottom);width:5.25rem;height:calc(100% - var(--overlay-chrome-height) - var(--overlay-scroll-padding-top) - var(--overlay-scroll-padding-bottom));min-height:0;margin-top:0;padding-right:1rem}.note-overlay__ruler.is-hidden{visibility:hidden;pointer-events:none}.note-overlay__ruler .note-ruler__tick,.note-overlay__ruler .note-ruler__value{animation:overlay-ruler-readout .16s linear both}.note-overlay__ruler .note-ruler__tick{animation-delay:.46s}.note-overlay__ruler .note-ruler__value{animation-delay:.5s}.note-overlay__toc{position:absolute;width:1px;height:1px;overflow:hidden}.note-overlay.is-closing .note-overlay__backdrop{animation:overlay-backdrop-exit .18s var(--ease-exit) both}.note-overlay.is-closing .note-overlay__shell{animation:overlay-sheet-exit .24s var(--ease-exit) both}@keyframes overlay-backdrop-enter{0%{opacity:0}to{opacity:1}}@keyframes overlay-backdrop-exit{0%{opacity:1}to{opacity:0}}@keyframes overlay-sheet-enter{0%{opacity:0;transform:translate3d(2rem,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes overlay-sheet-exit{0%{opacity:1;transform:translateZ(0)}to{opacity:0;transform:translate3d(2rem,0,0)}}@keyframes overlay-text-reveal{0%{opacity:0}to{opacity:1}}@keyframes overlay-ruler-readout{0%{opacity:0}to{opacity:1}}@keyframes overlay-portrait-frame-readout{0%{opacity:0}to{opacity:1}}@keyframes overlay-portrait-image-readout{0%{opacity:0}55%{opacity:.72}to{opacity:1}}@keyframes overlay-portrait-pixels{0%{opacity:0}22%{opacity:.18}48%{opacity:.08}70%{opacity:.14}to{opacity:0}}@keyframes overlay-work-figure-frame{0%{opacity:0}to{opacity:1}}@keyframes overlay-work-figure-image{0%{opacity:0}48%{opacity:.68}to{opacity:1}}@keyframes overlay-work-figure-readout{0%{opacity:0}18%{opacity:.2}42%{opacity:.08}66%{opacity:.16}to{opacity:0}}@media(prefers-reduced-motion:reduce){.note-overlay__backdrop,.note-overlay__shell,.note-overlay.is-closing .note-overlay__backdrop,.note-overlay.is-closing .note-overlay__shell,.note-overlay .note-kicker,.note-overlay .note-content>*,.work-overlay__meta,.work-overlay__description,.note-overlay__ruler .note-ruler__tick,.note-overlay__ruler .note-ruler__value,.about-overlay__portrait,.about-overlay__portrait img,.about-overlay__portrait:after,.work-overlay__figure,.work-overlay__figure img,.work-overlay__figure:after,.about-overlay .about-section>:where(h2,p,a),.about-overlay .about-service-list li,.about-overlay .about-link-list li{animation:none}}.work-overlay__panel{width:100%;height:100%}.work-overlay__scroll{display:grid;grid-template-columns:minmax(0,1fr) 5.25rem;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:var(--overlay-scroll-padding-top) 0 var(--overlay-scroll-padding-bottom);scrollbar-color:transparent transparent;scrollbar-width:none}.work-overlay__scroll::-webkit-scrollbar{width:0;height:0}.work-overlay__body{min-height:0;width:min(34rem,calc(100% - clamp(2rem,10vw,8rem)));max-width:none;margin-inline:auto;overflow:visible;padding:0}.work-overlay__figure{position:relative;overflow:hidden;margin:2.15rem 0 1.4rem;animation:overlay-work-figure-frame .12s linear .34s both}.work-overlay__figure img{display:block;width:100%;height:auto;border-radius:0;background-image:linear-gradient(var(--color-rule) 1px,transparent 1px),linear-gradient(90deg,var(--color-rule) 1px,transparent 1px);background-size:18px 18px;animation:overlay-work-figure-image .26s steps(5,end) .43s both}.work-overlay__figure:after{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(color-mix(in srgb,var(--color-ink) 13%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-ink) 13%,transparent) 1px,transparent 1px),radial-gradient(circle at 20% 28%,color-mix(in srgb,var(--color-ink) 18%,transparent) 0 2px,transparent 2.5px),radial-gradient(circle at 72% 62%,color-mix(in srgb,var(--color-ink) 14%,transparent) 0 2px,transparent 2.5px);background-size:20px 20px,20px 20px,31px 31px,43px 43px;content:"";opacity:0;pointer-events:none;animation:overlay-work-figure-readout .52s steps(6,end) .36s both}.work-overlay__header h1{font-family:IBM Plex Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:20px;line-height:1.5;overflow-wrap:anywhere}.work-overlay__meta{display:grid;margin:0 0 1.55rem;border-top:1px solid transparent;border-bottom:1px solid transparent;-o-border-image:var(--dotted-rule) 1;border-image:var(--dotted-rule) 1;font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-caption)}.work-overlay__meta div{display:grid;grid-template-columns:72px 1fr;gap:var(--space-xs);padding:2px 0}.work-overlay__meta dt,.work-overlay__meta dd{margin:0}.work-overlay__description{margin:0;font-size:16px;line-height:1.72}.about-overlay__panel{width:100%;height:100%}.about-overlay__scroll{display:grid;grid-template-columns:minmax(0,1fr) 5.25rem;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding:var(--overlay-scroll-padding-top) 0 var(--overlay-scroll-padding-bottom);scrollbar-color:transparent transparent;scrollbar-width:none}.about-overlay__scroll::-webkit-scrollbar{width:0;height:0}.about-overlay__body{display:grid;grid-template-columns:minmax(0,13rem) minmax(0,1fr);gap:clamp(2rem,5vw,4rem);width:min(44rem,calc(100% - clamp(2rem,10vw,8rem)));margin-inline:auto;padding:0}.about-overlay__portrait{position:sticky;top:0;align-self:start;width:100%}.about-overlay__main,.about-overlay__side{gap:2.5rem}.about-overlay__side{grid-column:2;grid-template-columns:1fr;margin-top:.25rem}.about-portrait{position:relative;display:grid;aspect-ratio:310 / 234;overflow:hidden;place-items:center;margin:0;border:1px solid var(--color-ink);background:var(--color-base)}.about-portrait img{display:block;width:94%;max-width:none;height:auto}.about-overlay__portrait{animation:overlay-portrait-frame-readout .12s linear .32s both}.about-overlay__portrait img{animation:overlay-portrait-image-readout .22s steps(4,end) .38s both}.about-overlay__portrait:after{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 35% 32%,color-mix(in srgb,var(--color-ink) 24%,transparent) 0 1.5px,transparent 2px),radial-gradient(circle at 68% 58%,color-mix(in srgb,var(--color-ink) 18%,transparent) 0 1.5px,transparent 2px),linear-gradient(color-mix(in srgb,var(--color-ink) 8%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-ink) 8%,transparent) 1px,transparent 1px);background-size:13px 13px,19px 19px,9px 9px,9px 9px;content:"";opacity:0;pointer-events:none;animation:overlay-portrait-pixels .42s steps(5,end) .33s both}.about-main,.about-side{display:grid;gap:2.9rem;min-width:0}.about-side{gap:2.25rem}.about-section{min-width:0;color:var(--color-ink);font-family:IBM Plex Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px;line-height:1.58;letter-spacing:0}.about-section h1,.about-section h2{margin:0 0 1.42rem;color:var(--color-ink);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:inherit;font-weight:600;line-height:1.35}.about-section p{margin:0}.about-section p+p{margin-top:.9rem}.about-section a{color:var(--color-ink);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.16em}.about-side .about-section p{margin-bottom:.35rem}.about-service-list,.about-link-list{display:grid;gap:0;margin:1.6rem 0 0;padding:0;font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;list-style:none}.about-service-list li:before{content:"- "}.about-link-list{margin-top:0}.page-numbers.\!current,.page-numbers.current{border-color:var(--color-ink);color:var(--color-ink)}.blog .site-footer,.home .site-footer{display:none}.home .site-main,.blog .site-main{min-height:var(--viewport-height)}.personal-index{position:relative;min-height:var(--viewport-height);color:var(--color-ink);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-caption)}.protocol-header{position:fixed;z-index:40;top:0;right:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);-moz-column-gap:var(--grid-edge);column-gap:var(--grid-edge);align-items:center;min-height:var(--space-m);padding:var(--space-3xs) var(--grid-edge);border-bottom:1px solid var(--color-rule);background:color-mix(in srgb,var(--color-base) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--color-ink);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-xs);font-weight:500;line-height:1}.protocol-header__brand,.protocol-header__nav{display:inline-flex;align-items:center}.protocol-header__menu-toggle,.protocol-header__menu-panel{display:none}.protocol-header__brand{min-width:0;gap:var(--space-2xs);text-decoration:none}.protocol-header__brand img{display:block;width:15px;height:20px;-o-object-fit:contain;object-fit:contain}.protocol-header__brand span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.protocol-header__nav{gap:var(--space-s)}.protocol-header__nav a{text-decoration:none}.protocol-header__nav-label{display:inline-block;font-variant-numeric:tabular-nums;min-width:7ch;white-space:pre}.protocol-header__nav a:hover .protocol-header__nav-label,.protocol-header__nav a:focus-visible .protocol-header__nav-label{color:var(--color-ink);text-shadow:0 0 0 color-mix(in srgb,var(--color-ink) 36%,transparent)}.protocol-header__nav a.is-active,.protocol-header__nav a[aria-current=page]{color:var(--color-ink)}.protocol-header__monitor,.protocol-header__menu-monitor{justify-self:end;position:relative;display:flex;max-width:min(100%,24rem);height:22px;align-items:center;margin:0;overflow:hidden;border-radius:0;background:#1f1f1f;color:var(--color-base);font-size:var(--font-caption);line-height:1;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.protocol-header__monitor:before,.protocol-header__monitor:after,.protocol-header__menu-monitor:before,.protocol-header__menu-monitor:after{position:absolute;z-index:1;top:0;bottom:0;width:var(--space-s);content:"";pointer-events:none}.protocol-header__monitor:before,.protocol-header__menu-monitor:before{left:0;background:linear-gradient(90deg,#1f1f1f,transparent)}.protocol-header__monitor:after,.protocol-header__menu-monitor:after{right:0;background:linear-gradient(270deg,#1f1f1f,transparent)}.protocol-header__monitor-track{display:flex;width:-moz-max-content;width:max-content;animation:protocol-monitor-marquee 18s linear infinite;will-change:transform}.protocol-header__monitor-group{display:flex;flex:0 0 auto;align-items:center}.protocol-header__monitor-item{flex:0 0 auto;padding-inline:var(--space-xs)}@keyframes protocol-monitor-marquee{0%{transform:translateZ(0)}to{transform:translate3d(-25%,0,0)}}@media(prefers-reduced-motion:reduce){.protocol-header__monitor-track{animation:none;transform:none}.protocol-header__monitor-group:nth-child(n+2){display:none}.is-index-readout .protocol-header__monitor,.is-index-readout .index-stack-sort,.is-index-readout .index-card,.is-index-readout .index-card__chrome,.is-index-readout .index-card__body,.is-index-readout .index-card__preview,.is-index-readout .index-card__preview.is-loaded img,.is-index-readout .index-card__preview.is-loaded video,.is-index-readout .index-card__preview:after,.is-index-readout .index-card__about-image{animation:none}}.note-overlay-open .protocol-header__monitor-track{animation:none;transform:none}.note-overlay-open .protocol-header__monitor-group:nth-child(n+2){display:none}.is-index-readout .protocol-header__monitor,.is-index-readout .index-stack-sort,.is-index-readout .index-card,.is-index-readout .index-card__chrome,.is-index-readout .index-card__body,.is-index-readout .index-card__preview,.is-index-readout .index-card__preview img,.is-index-readout .index-card__preview video,.is-index-readout .index-card__about-image{animation:index-readout-opacity .16s linear both}.is-index-readout .protocol-header__monitor{animation-delay:.12s}.is-index-readout .index-stack-sort{animation-delay:.18s}.is-index-readout .index-card{animation-delay:var(--index-card-delay, .26s)}.is-index-readout .index-card__chrome{animation-delay:calc(var(--index-card-delay, .26s) + 42ms)}.is-index-readout .index-card__preview,.is-index-readout .index-card__about-image{animation-delay:calc(var(--index-card-delay, .26s) + 78ms)}.is-index-readout .index-card__preview.is-loaded img,.is-index-readout .index-card__preview.is-loaded video{animation-duration:.24s;animation-delay:calc(var(--index-card-delay, .26s) + 118ms);animation-timing-function:steps(4,end)}.is-index-readout .index-card__body{animation-delay:calc(var(--index-card-delay, .26s) + 148ms)}.is-index-readout .personal-index__identity>.index-card:nth-child(1),.is-index-readout .personal-index__masonry>.index-card:nth-child(1),.is-index-readout .personal-index__masonry>.index-card:nth-child(2){--index-card-delay: .26s}.is-index-readout .personal-index__identity>.index-card:nth-child(2),.is-index-readout .personal-index__masonry>.index-card:nth-child(3),.is-index-readout .personal-index__masonry>.index-card:nth-child(4){--index-card-delay: .31s}.is-index-readout .personal-index__identity>.index-card:nth-child(3),.is-index-readout .personal-index__masonry>.index-card:nth-child(5),.is-index-readout .personal-index__masonry>.index-card:nth-child(6){--index-card-delay: .36s}.is-index-readout .personal-index__masonry>.index-card:nth-child(7),.is-index-readout .personal-index__masonry>.index-card:nth-child(8){--index-card-delay: .41s}.is-index-readout .personal-index__masonry>.index-card:nth-child(9),.is-index-readout .personal-index__masonry>.index-card:nth-child(10){--index-card-delay: .46s}.is-index-readout .personal-index__masonry>.index-card:nth-child(11),.is-index-readout .personal-index__masonry>.index-card:nth-child(12){--index-card-delay: .51s}.is-index-readout .personal-index__masonry>.index-card:nth-child(13),.is-index-readout .personal-index__masonry>.index-card:nth-child(14){--index-card-delay: .56s}.is-index-readout .personal-index__masonry>.index-card:nth-child(n+15){--index-card-delay: .61s}.is-index-readout .index-card__preview:after{position:absolute;z-index:2;top:0;right:0;bottom:0;left:0;background:linear-gradient(color-mix(in srgb,var(--color-ink) 12%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-ink) 12%,transparent) 1px,transparent 1px),radial-gradient(circle at 22% 32%,color-mix(in srgb,var(--color-ink) 16%,transparent) 0 1.5px,transparent 2px),radial-gradient(circle at 76% 58%,color-mix(in srgb,var(--color-ink) 12%,transparent) 0 1.5px,transparent 2px);background-size:18px 18px,18px 18px,23px 23px,37px 37px;content:"";opacity:0;pointer-events:none;animation:index-preview-readout .42s steps(5,end) both;animation-delay:calc(var(--index-card-delay, .26s) + 92ms)}@keyframes index-readout-opacity{0%{opacity:0}to{opacity:1}}@keyframes index-preview-readout{0%{opacity:0}22%{opacity:.18}48%{opacity:.07}72%{opacity:.12}to{opacity:0}}.personal-index__grid{--grid-width: min( var(--page-max), calc(100vw - var(--page-margin) * 2) );--cell-row: clamp( var(--grid-min-row), calc(var(--grid-width) * var(--grid-row-factor)), var(--grid-max-row) );box-sizing:border-box;display:grid;grid-template-columns:repeat(var(--grid-columns),minmax(0,1fr));grid-auto-rows:minmax(var(--cell-row),auto);-moz-column-gap:var(--space-xs);column-gap:var(--space-xs);row-gap:var(--space-xs);inline-size:var(--grid-width);min-height:var(--viewport-height);margin-inline:auto;padding-top:var(--space-2xl)}.personal-index__identity,.personal-index__stack{min-width:0;overflow:visible;border-top:1px solid transparent;-o-border-image:var(--dotted-clear) 1;border-image:var(--dotted-clear) 1;transition:border-image-source .1s linear;padding-bottom:var(--space-xl)}.personal-index__identity{display:flex;flex-direction:column;gap:var(--space-xs);grid-column:1 / span 8;grid-row:1 / span 1}.personal-index__stack{grid-column:9 / span 16;grid-row:1 / span 1}.has-ptcl-dept-js .personal-index__masonry{--masonry-row-gap: var(--space-xs);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row dense;grid-auto-rows:1px;-moz-column-gap:var(--space-xs);column-gap:var(--space-xs);row-gap:0;align-items:start}.personal-index__identity.is-scrolled,.personal-index__stack.is-scrolled{border-image-source:var(--dotted-rule)}.index-stack-sort{position:absolute;z-index:35;top:calc(var(--space-m) + var(--space-l));right:max(var(--grid-edge),calc((100vw - var(--page-max)) / 2 + var(--grid-edge)));display:inline-flex;height:1.5rem;overflow:hidden;border:1px solid var(--color-rule);border-radius:0;background:color-mix(in srgb,var(--color-base) 96%,transparent);box-shadow:1px 2px 1px #0000000d;-webkit-user-select:none;-moz-user-select:none;user-select:none}.index-stack-sort__button{-moz-appearance:none;appearance:none;-webkit-appearance:none;display:inline-grid;min-width:3.25rem;height:100%;place-items:center;border:0;border-right:1px solid var(--color-rule);border-radius:0;background:transparent;color:var(--color-muted);cursor:pointer;font:inherit;font-size:var(--font-caption);font-weight:500;line-height:1;padding:0 var(--space-2xs)}.index-stack-sort__button:last-child{border-right:0}.index-stack-sort__button:hover,.index-stack-sort__button:focus-visible{color:var(--color-ink)}.index-stack-sort__button:focus-visible{outline:1px solid var(--color-ink);outline-offset:-1px}.index-stack-sort__button.is-active{background:transparent;color:var(--color-ink)}.index-card{border:1px solid var(--color-rule);border-radius:0;background:var(--color-surface);color:var(--color-ink);box-shadow:none;transition:border-color .1s linear,opacity .12s linear}.personal-index__masonry.is-restacking .index-card{pointer-events:none;transform-origin:top center;transition:border-color .1s linear;will-change:opacity,transform}.index-card[hidden]{display:none}.index-card:has(a:hover),.index-card:has(a:focus-visible){border-color:var(--hover-contact)}.index-card__chrome{display:flex;align-items:center;justify-content:space-between;gap:var(--space-xs);padding:var(--space-2xs);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-caption);line-height:1;transition:border-image-source .12s linear}.index-card:has(a:hover) .index-card__chrome,.index-card:has(a:focus-visible) .index-card__chrome{border-image-source:var(--dotted-ink)}.index-card__path{font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.index-card__status{display:inline-flex;flex:0 0 auto;align-items:center;gap:var(--space-3xs);color:var(--color-ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.index-card__dot{box-sizing:border-box;width:var(--space-xs);height:var(--space-xs);border:1px solid var(--color-ink);border-radius:999px;background:transparent;transition:background-color .12s linear,border-color .12s linear}.index-card__status--archived .index-card__dot{background:transparent;border-color:var(--color-muted)}.index-card__status--pause .index-card__dot{background:transparent;border-color:var(--color-ink)}.index-card__status--still .index-card__dot{background:transparent;border-color:var(--color-muted)}.index-card__status--play .index-card__dot{border-color:var(--color-ink);background:var(--color-ink)}.index-card:has(.index-card__cta:hover) .index-card__dot,.index-card:has(.index-card__cta:focus-visible) .index-card__dot{border-color:var(--color-ink);background:var(--color-ink)}.index-card__body{padding:var(--space-2xs);letter-spacing:0}.index-card__body>:first-child{margin-top:0}.index-card__body>:last-child{margin-bottom:0}.index-card p{margin:var(--space-xs) 0 0;font-family:IBM Plex Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-body-small);line-height:1.5}.index-card__about-image{box-sizing:border-box;display:grid;width:100%;aspect-ratio:16 / 9;-o-object-fit:contain;object-fit:contain;margin-bottom:var(--space-2xs);border:1px solid color-mix(in srgb,var(--color-rule) 72%,white);border-radius:0;opacity:0;padding:var(--space-xl);transition:opacity .18s steps(4,end)}.index-card__about-image.is-loaded{opacity:1}.index-card__preview{position:relative;overflow:hidden;padding:0 var(--space-2xs)}.index-card__preview:before{position:absolute;inset:0 var(--space-2xs);border-radius:0;background:linear-gradient(color-mix(in srgb,var(--color-rule) 70%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-rule) 70%,transparent) 1px,transparent 1px),radial-gradient(circle at 18% 28%,color-mix(in srgb,var(--color-ink) 10%,transparent) 0 1.5px,transparent 2px),radial-gradient(circle at 74% 64%,color-mix(in srgb,var(--color-ink) 8%,transparent) 0 1.5px,transparent 2px);background-color:color-mix(in srgb,var(--color-surface) 82%,var(--color-base));background-size:18px 18px,18px 18px,29px 29px,41px 41px;content:"";opacity:1;pointer-events:none;transition:opacity .16s linear}.index-card__preview.is-loaded:before{opacity:0}.index-card__preview img{position:relative;z-index:1;display:block;width:100%;height:auto;border-radius:0;opacity:0;background-image:linear-gradient(var(--color-rule) 1px,transparent 1px),linear-gradient(90deg,var(--color-rule) 1px,transparent 1px);background-size:18px 18px;transition:filter .12s linear,opacity .18s steps(4,end)}.index-card__preview.is-loaded img{opacity:1}.index-card__preview--media{padding-bottom:var(--space-2xs)}.index-card__preview video{position:relative;z-index:1;display:block;width:100%;height:auto;opacity:0;border-radius:0;background:#111;transition:opacity .18s steps(4,end)}.index-card__preview.is-loaded video{opacity:1}.index-card:has(.index-card__cta:hover) .index-card__preview img,.index-card:has(.index-card__cta:focus-visible) .index-card__preview img{filter:contrast(1.04)}.index-meta{display:grid;margin:0;border-top:1px solid transparent;border-bottom:1px solid transparent;-o-border-image:var(--dotted-rule) 1;border-image:var(--dotted-rule) 1;font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-caption)}.index-meta div{display:grid;grid-template-columns:72px 1fr;gap:var(--space-xs);padding:1px 0}.index-meta dt,.index-meta dd{margin:0}.index-meta dt{color:var(--color-ink)}.index-meta dd{min-width:0}.index-card__title{margin:var(--space-3xs) 0 var(--space-xs);color:var(--color-ink);font-family:IBM Plex Sans JP,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:var(--font-lead);font-weight:600;letter-spacing:0}.index-card__cta{display:grid;min-height:var(--space-m);margin-top:var(--space-s);place-items:center;border-radius:0;background:#e4e4e0;color:var(--color-ink);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-body);text-decoration:none;transition:background-color .12s linear,color .12s linear}.index-card__cta:hover,.index-card__cta:focus-visible{background:#d8d8d3;color:var(--color-ink);text-decoration:none}.index-card a:focus-visible,.social-log a:focus-visible{outline:1px dotted var(--color-ink);outline-offset:3px}.social-log{display:grid;gap:var(--space-3xs);padding:var(--space-2xs);border-radius:0;background:#1a1a1a;color:var(--color-base);font-family:IBM Plex Mono,IBM Plex Sans JP,ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--font-caption)}.social-log a{display:block;max-width:100%;margin-inline:-3px;overflow-wrap:anywhere;padding:1px 3px;color:var(--color-base);text-decoration-color:color-mix(in srgb,var(--color-base) 38%,transparent);text-underline-offset:.18em;transition:background-color .12s linear,color .12s linear,text-decoration-color .12s linear}.social-log a:hover,.social-log a:focus-visible{background:var(--color-base);color:#1a1a1a;text-decoration-color:transparent}.absolute{position:absolute}.block{display:block}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.contents{display:contents}.hidden{display:none}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.resize{resize:both}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@media(min-width:1024px){.home-console{height:var(--viewport-height);overflow:hidden}.home-console__grid{grid-template-columns:minmax(17rem,.78fr) minmax(24rem,1.18fr) minmax(19rem,.88fr);height:calc(var(--viewport-height) - 3.75rem)}.home-column{min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-right:.12rem;scrollbar-color:var(--color-rule) transparent;scrollbar-width:thin}}@media(max-width:1023px){.home-console__grid{grid-template-columns:1fr}}@media(max-width:1100px){.note-ruler{width:24px}.note-layout{grid-template-columns:minmax(8.5rem,11rem) minmax(0,1fr) 5rem;width:auto;margin-inline:24px 32px;-moz-column-gap:clamp(1.5rem,3vw,2.25rem);column-gap:clamp(1.5rem,3vw,2.25rem)}.note-ruler__value{right:1.75rem}.about-layout{grid-template-columns:minmax(14rem,18rem) minmax(0,1fr);gap:3.5rem clamp(2rem,5vw,3.5rem);width:auto;margin-inline:24px 32px;padding-top:6.5rem}.about-side{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem}.personal-index__grid{min-height:var(--viewport-height);padding-block:var(--space-2xl) var(--space-l)}.personal-index__identity,.personal-index__stack{overflow:visible;padding:0}.personal-index__identity{grid-column:1 / span 8}.personal-index__stack{grid-column:9 / span 16}.index-stack-sort{top:calc(var(--space-l) + var(--space-m));right:var(--grid-edge);height:1.5rem}.has-ptcl-dept-js .personal-index__masonry{grid-template-columns:1fr}}@media(max-width:600px){.note-overlay{display:block;padding:0}.note-overlay__shell{--overlay-close-size: 2.5rem;display:block;width:100%;height:var(--viewport-height);animation-name:overlay-view-enter}.note-overlay__panel{width:100%;height:var(--viewport-height);border-width:0;border-radius:0}.note-overlay__close{position:absolute;z-index:2;top:var(--space-xs);right:var(--grid-edge)}.note-overlay__chrome{min-height:2.9rem;padding-inline:var(--space-xs) calc(var(--overlay-close-size) + var(--grid-edge) + var(--space-xs))}.note-overlay__scroll,.work-overlay__scroll,.about-overlay__scroll{display:block;padding:2.5rem 0 4rem}.note-overlay__scroll .note-article{width:calc(100% - 2rem)}.note-overlay.is-closing .note-overlay__shell{animation-name:overlay-view-exit}@keyframes overlay-view-enter{0%{opacity:1;transform:translate3d(100%,0,0)}to{opacity:1;transform:translateZ(0)}}@keyframes overlay-view-exit{0%{opacity:1;transform:translateZ(0)}to{opacity:1;transform:translate3d(100%,0,0)}}.work-overlay__body{width:calc(100% - 2rem)}.work-overlay__header h1{font-size:1.45rem}.about-overlay__body{display:block;width:calc(100% - 2rem)}.about-overlay__portrait{position:static;width:min(100%,19.375rem);margin-bottom:var(--space-l)}.about-overlay__main,.about-overlay__side{display:grid;grid-column:auto;grid-template-columns:1fr;gap:2.5rem}.about-overlay__side{margin-top:2.5rem}.note-ruler{display:none}.note-layout{display:block;width:auto;margin-inline:0;padding:5.75rem 20px 4rem}.note-toc{position:static;max-height:none;overflow:visible;padding:0}.note-back-link{display:inline-block;margin-bottom:1.5rem}.note-toc__nav{display:none}.note-article{padding:0}.note-content{font-size:15px;line-height:1.55}.note-header h1{font-size:19px}.about-layout{display:grid;grid-template-columns:1fr;gap:2.5rem;margin-inline:20px;padding:5.75rem 0 4rem}.about-portrait{width:min(100%,19.375rem)}.about-main,.about-side{grid-column:auto;grid-template-columns:1fr;gap:2.5rem}.about-section{font-size:14px;line-height:1.62}.protocol-header{grid-template-columns:minmax(0,1fr) auto;-moz-column-gap:var(--space-xs);column-gap:var(--space-xs);min-height:var(--protocol-header-mobile-height);padding:var(--space-3xs) var(--grid-edge)}.protocol-header__brand img{width:16px;height:21px}.protocol-header__nav,.protocol-header__monitor{display:none}.protocol-header__menu-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;display:inline-flex;min-width:0;height:1.75rem;align-items:center;justify-content:center;gap:var(--space-3xs);padding:0 2px;border:0;border-radius:0;background:transparent;color:var(--color-muted);cursor:pointer;font:inherit;font-size:var(--font-caption);line-height:1;text-transform:lowercase}.protocol-header__menu-toggle span{display:block}.protocol-header__menu-toggle:after{width:5px;height:5px;border-radius:999px;background:currentColor;content:"";opacity:.36;transition:opacity .12s linear,transform .14s var(--ease-snap)}.protocol-header.is-menu-open .protocol-header__menu-toggle:after{opacity:.9;transform:scale(1.08)}.protocol-header__menu-toggle:hover,.protocol-header__menu-toggle:focus-visible,.protocol-header.is-menu-open .protocol-header__menu-toggle{color:var(--color-ink)}.protocol-header__menu-panel{position:absolute;z-index:1;top:calc(100% - 1px);right:0;left:0;display:grid;gap:var(--space-xs);max-height:0;overflow:hidden;padding:0 var(--grid-edge);border-bottom:1px solid transparent;background:color-mix(in srgb,var(--color-base) 98%,transparent);box-shadow:0 8px 18px #0000;opacity:0;pointer-events:none;transform:translate3d(0,-.4rem,0);transition:max-height .22s var(--ease-snap),opacity .14s linear,padding .22s var(--ease-snap),border-color .14s linear,box-shadow .14s linear,transform .22s var(--ease-snap),visibility 0ms linear .22s;visibility:hidden}.protocol-header.is-menu-open .protocol-header__menu-panel{max-height:14rem;padding:var(--space-xs) var(--grid-edge) var(--space-s);border-bottom-color:var(--color-rule);box-shadow:0 8px 18px #00000014;opacity:1;pointer-events:auto;transform:translateZ(0);transition:max-height .26s var(--ease-snap),opacity .16s linear,padding .26s var(--ease-snap),border-color .16s linear,box-shadow .16s linear,transform .26s var(--ease-snap),visibility 0ms linear;visibility:visible}.protocol-header__menu-nav{display:grid;overflow:hidden;border:1px solid var(--color-rule);border-radius:0;background:var(--color-surface)}.protocol-header__menu-nav a{display:flex;min-height:2.25rem;align-items:center;justify-content:space-between;padding-inline:var(--space-xs);border-bottom:1px solid var(--color-rule);color:var(--color-ink);font-size:var(--font-body-small);text-decoration:none}.protocol-header__menu-nav .protocol-header__nav-label{min-width:0}.protocol-header__menu-nav a:hover .protocol-header__nav-label,.protocol-header__menu-nav a:focus-visible .protocol-header__nav-label{color:var(--color-ink)}.protocol-header__menu-nav a:last-child{border-bottom:0}.protocol-header__menu-nav a:after{width:var(--space-xs);height:var(--space-xs);box-sizing:border-box;border:1px solid var(--color-muted);border-radius:999px;background:transparent;content:""}.protocol-header__menu-nav a.is-active,.protocol-header__menu-nav a[aria-current=page]{color:var(--color-ink)}.protocol-header__menu-nav a.is-active:after,.protocol-header__menu-nav a[aria-current=page]:after{border-color:var(--color-ink);background:var(--color-ink)}.protocol-header__menu-monitor{justify-self:stretch;max-width:none;height:1.75rem;margin:0}.personal-index__grid{display:block;inline-size:min(calc(100% - var(--page-margin) * 2),var(--page-max));padding-block:calc(var(--protocol-header-mobile-height) + var(--space-xs) + 1.5rem + var(--space-s)) var(--space-l)}.index-stack-sort{top:calc(var(--protocol-header-mobile-height) + var(--space-xs))}.personal-index__identity,.personal-index__stack{display:grid;gap:var(--space-xs)}.personal-index--filtered .personal-index__identity{display:none}.personal-index__stack{margin-block-start:var(--space-xs)}.personal-index--filtered .personal-index__stack{margin-block-start:0}.index-card__chrome{font-size:var(--font-caption)}.index-card__cta{min-height:40px;padding-inline:var(--space-xs)}.index-meta div{grid-template-columns:66px 1fr}}@media(min-width:601px){.personal-index{height:var(--viewport-height);overflow:hidden}.personal-index__grid{grid-template-rows:minmax(0,1fr);height:var(--viewport-height);min-height:0}.personal-index__identity,.personal-index__stack{min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:.12rem;scrollbar-color:var(--color-rule) transparent;scrollbar-width:thin}}
