:root{--background:250 250 248;--surface-elevated:250 250 248;--text-primary:38 38 38;--text-secondary:88 86 82;--text-tertiary:163 163 163;--border-subtle:0 0 0;--border-subtle-opacity:0.08;--border-quote:0 0 0;--border-quote-opacity:0.15;--accent:82 82 82;--track:0 0 0;--track-opacity:0.1;--link:59 130 246;--link-border:147 197 253;--link-icon:96 165 250;--link-hover-bg:59 130 246;--link-hover-bg-opacity:0.1;--focus-ring:96 165 250;--badge-bg:243 233 200;--badge-text:122 100 45;--shadow-elevated:0 8px 24px #0000000f}.dark{--background:24 24 24;--surface-elevated:36 36 34;--text-primary:245 245 240;--text-secondary:154 153 145;--text-tertiary:143 143 134;--border-subtle:255 255 255;--border-subtle-opacity:0.1;--border-quote:255 255 255;--border-quote-opacity:0.2;--accent:212 212 204;--track:255 255 255;--track-opacity:0.15;--badge-bg:58 52 36;--badge-text:215 197 139;--shadow-elevated:0 8px 24px #00000059}@font-face{font-display:swap;font-family:Gen Interface JP;font-style:normal;font-weight:400;src:url(/static/media/GenInterfaceJP-Regular.3c5b49f9c20b8cb437ab.ttf) format("truetype")}@font-face{font-display:swap;font-family:Gen Interface JP;font-style:normal;font-weight:500;src:url(/static/media/GenInterfaceJP-Medium.6d8c940443aafededec6.ttf) format("truetype")}*,:after,:before{--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:#3b82f680;--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:#3b82f680;--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: }

/*
! tailwindcss v3.4.17 | MIT License | https://tailwindcss.com
*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Gen Interface JP,system-ui,sans-serif;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}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,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height: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:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-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,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.left-0{left:0}.left-1\/2{left:50%}.left-full{left:100%}.top-0{top:0}.top-1\/2{top:50%}.top-5{top:1.25rem}.z-10{z-index:10}.z-\[1000\]{z-index:1000}.order-1{order:1}.m-0{margin:0}.mb-2{margin-bottom:.5rem}.ml-4{margin-left:1rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.contents{display:contents}.hidden{display:none}.h-0\.5{height:.125rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-9{height:2.25rem}.h-\[326px\]{height:326px}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-3{width:.75rem}.w-4{width:1rem}.w-56{width:14rem}.w-8{width:2rem}.w-auto{width:auto}.w-full{width:100%}.min-w-0{min-width:0}.max-w-\[320px\]{max-width:320px}.max-w-\[400px\]{max-width:400px}.max-w-\[550px\]{max-width:550px}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.cursor-pointer{cursor:pointer}.resize{resize:both}.scroll-mt-20{scroll-margin-top:5rem}.list-none{list-style-type:none}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-\[10px\]{gap:10px}.gap-x-4{column-gap:1rem}.gap-y-2{row-gap:.5rem}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-subtle>:not([hidden])~:not([hidden]){border-color:rgb(var(--border-subtle)/var(--border-subtle-opacity))}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-sm{border-radius:.125rem}.border{border-width:1px}.border-0{border-width:0}.border-x-0{border-left-width:0;border-right-width:0}.border-y{border-bottom-width:1px;border-top-width:1px}.border-l-2{border-left-width:2px}.border-t-0{border-top-width:0}.border-quote{border-color:rgb(var(--border-quote)/var(--border-quote-opacity))}.border-subtle{border-color:rgb(var(--border-subtle)/var(--border-subtle-opacity))}.bg-accent{--tw-bg-opacity:1;background-color:rgb(var(--accent)/1);background-color:rgb(var(--accent)/var(--tw-bg-opacity,1))}.bg-background{--tw-bg-opacity:1;background-color:rgb(var(--background)/1);background-color:rgb(var(--background)/var(--tw-bg-opacity,1))}.bg-badge{--tw-bg-opacity:1;background-color:rgb(var(--badge-bg)/1);background-color:rgb(var(--badge-bg)/var(--tw-bg-opacity,1))}.bg-surface-elevated{--tw-bg-opacity:1;background-color:rgb(var(--surface-elevated)/1);background-color:rgb(var(--surface-elevated)/var(--tw-bg-opacity,1))}.bg-track{background-color:rgb(var(--track)/var(--track-opacity))}.bg-transparent{background-color:initial}.bg-white{--tw-bg-opacity:1;background-color:#fff;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.p-0{padding:0}.p-8{padding:2rem}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-16{padding-bottom:4rem;padding-top:4rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-px{padding-top:1px}.pb-px,.py-px{padding-bottom:1px}.pl-4{padding-left:1rem}.text-left{text-align:left}.align-baseline{vertical-align:initial}.font-inherit{font-family:inherit}.font-sans{font-family:Gen Interface JP,system-ui,sans-serif}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.text-base{font-size:1rem;line-height:1.5rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-medium{font-weight:500}.font-normal{font-weight:400}.uppercase{text-transform:uppercase}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-\[1\.1\]{line-height:1.1}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.6\]{line-height:1.6}.text-badge-foreground{--tw-text-opacity:1;color:rgb(var(--badge-text)/1);color:rgb(var(--badge-text)/var(--tw-text-opacity,1))}.text-inherit{color:inherit}.text-primary{--tw-text-opacity:1;color:rgb(var(--text-primary)/1);color:rgb(var(--text-primary)/var(--tw-text-opacity,1))}.text-secondary{--tw-text-opacity:1;color:rgb(var(--text-secondary)/1);color:rgb(var(--text-secondary)/var(--tw-text-opacity,1))}.text-tertiary{--tw-text-opacity:1;color:rgb(var(--text-tertiary)/1);color:rgb(var(--text-tertiary)/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.shadow-elevated{--tw-shadow:var(--shadow-elevated);--tw-shadow-colored:var(--shadow-elevated);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.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-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-\[transform\2c width\2c opacity\]{transition-duration:.15s;transition-property:transform,width,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-150,.transition-transform{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}*{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;width:100%}html{background-color:rgb(var(--background))}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Gen Interface JP,system-ui,sans-serif}.app-container{align-items:center;display:flex;font-family:Gen Interface JP,system-ui,sans-serif;font-weight:400;justify-content:center;min-height:100vh;overflow:hidden;padding:32px;width:100%}.content-section{display:flex;flex-direction:column;height:326px;max-width:550px;text-align:left;width:100%}.header-row{align-items:center;display:flex;justify-content:space-between;width:100%}.content-paragraph{margin-bottom:0}.swap-panel{flex:1 1}.writing-page-container{display:block;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:64px 32px 96px}.external-link{--tw-border-opacity:1;border-bottom-width:1px;border-color:rgb(var(--link-border)/var(--tw-border-opacity,1));border-style:dotted;color:inherit;padding-bottom:1px;-webkit-text-decoration-line:none;text-decoration-line:none}.external-link:hover{--tw-text-opacity:1;background-color:rgb(var(--link-hover-bg)/var(--link-hover-bg-opacity));color:rgb(var(--link)/1);color:rgb(var(--link)/var(--tw-text-opacity,1))}.external-link-icon{--tw-text-opacity:1;color:rgb(var(--link-icon)/1);color:rgb(var(--link-icon)/var(--tw-text-opacity,1));display:inline-block;margin-left:.125rem;position:relative;top:-1px;vertical-align:middle}@keyframes content-fade-in{0%{opacity:0}to{opacity:1}}html:not(.initial-load-complete) .header-row{animation:content-fade-in .4s ease-out .05s both}html:not(.initial-load-complete) .content-section>p{animation:content-fade-in .4s ease-out .12s both}html:not(.initial-load-complete) .view-panel>*{animation:content-fade-in .4s ease-out both}html:not(.initial-load-complete) .view-panel>:first-child{animation-delay:.19s}html:not(.initial-load-complete) .view-panel>:nth-child(2){animation-delay:.26s}html:not(.initial-load-complete) .view-panel>:nth-child(3){animation-delay:.33s}html:not(.initial-load-complete) .view-panel>:nth-child(4){animation-delay:.4s}.header-row{view-transition-name:portfolio-header}html.disable-pinned-header-transition .header-row{view-transition-name:none}::view-transition-group(portfolio-header),::view-transition-new(portfolio-header),::view-transition-old(portfolio-header){animation:none}@keyframes portfolio-fade-out{to{opacity:0}}@keyframes portfolio-fade-in{0%{opacity:0}}::view-transition-old(root){animation:portfolio-fade-out .3s ease both}::view-transition-new(root){animation:portfolio-fade-in .46s ease .22s both}@media (prefers-reduced-motion:reduce){::view-transition-old(root){animation-duration:.14s}::view-transition-new(root){animation-delay:0ms;animation-duration:.14s}}.theme-toggle:after{--tw-translate-x:-50%;--tw-translate-y:-50%;background-color:currentColor;border-radius:9999px;content:"";height:.375rem;left:50%;position:absolute;top:50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));width:.375rem}.theme-toggle:focus-visible{outline-color:rgb(var(--focus-ring)/1);outline-offset:3px;outline-width:2px}@media (max-width:768px){#root,body,html{height:100%;min-height:100%;position:static}#root,body,html{overflow:hidden;width:100%}.app-container{align-items:center;display:flex;height:100vh;height:100svh;justify-content:center;min-height:100svh;overflow:hidden;padding:1.5rem 1rem}.content-section{height:auto;margin-left:auto;margin-right:auto;min-height:min(480px,calc(100svh - 48px));overflow:visible;transform:none}.swap-panel{flex:0 0 auto}.content-paragraph{margin-top:1rem}.view-panel>.content-paragraph:first-child{margin-top:20px}.content-section p{margin-bottom:0}.content-section .mobile-line-break{display:block}}html.writing-route,html.writing-route #root,html.writing-route body{height:auto;min-height:100%;overflow-x:hidden;overflow-y:auto;position:static}.writing-route .writing-page-container{display:block;height:auto;min-height:100vh;overflow-x:hidden;overflow-y:visible;padding:64px 32px 96px}@media (max-width:768px){.writing-route .writing-page-container{min-height:100dvh;padding:48px 16px 80px}.writing-article-shell{padding-left:0;padding-right:0}}.writing-toc,.writing-toc__popover{display:none}@media (min-width:900px){.writing-toc{display:block;left:max(20px,calc(50vw - 415px));position:fixed;top:50%;transform:translateY(-50%);z-index:1}.writing-toc__rail{transform:none}.writing-toc__popover{display:block}}@keyframes writingMiniTocAccentPulse{0%{transform:scaleX(1)}50%{transform:scaleX(.72)}to{transform:scaleX(1)}}.writing-toc__accent-pulse{animation:writingMiniTocAccentPulse .24s ease-out;transform-origin:center}.writing-sections{gap:0}.writing-section{padding-bottom:3rem}.writing-block{opacity:0;transition:opacity .35s ease;transition-delay:0ms;transition-delay:calc(var(--stagger-index, 0)*30ms)}.writing-section.is-active .writing-block{opacity:1}.writing-sections--up .writing-block{transition-delay:0ms;transition-delay:calc((var(--stagger-count, 1) - 1 - var(--stagger-index, 0))*30ms)}.writing-section--intro{align-items:flex-start;justify-content:center;min-height:calc(100vh - 8rem);padding-bottom:3rem;position:relative;text-align:left}.writing-cover-top{justify-content:space-between;left:0;position:absolute;right:0;top:0}.writing-cover-header{margin-top:0}.writing-cover-meta{justify-content:flex-start}.writing-cover-title{font-size:1.125rem;font-weight:500;letter-spacing:-.01em;line-height:1;margin-top:0}.writing-cover-quote{margin-top:-1rem}.writing-section:last-child{padding-bottom:8rem}@media (prefers-reduced-motion:reduce){.writing-block,.writing-section{opacity:1!important;transition:none}}.hover\:-translate-x-0\.5:hover{--tw-translate-x:-0.125rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:opacity-65:hover{opacity:.65}.group:focus-within .group-focus-within\:pointer-events-auto{pointer-events:auto}.group:focus-within .group-focus-within\:opacity-100{opacity:1}.group:hover .group-hover\:pointer-events-auto{pointer-events:auto}.group:hover .group-hover\:opacity-100{opacity:1}.dark\:text-primary:is(.dark *){--tw-text-opacity:1;color:rgb(var(--text-primary)/1);color:rgb(var(--text-primary)/var(--tw-text-opacity,1))}
/*# sourceMappingURL=main.64d4d375.css.map*/