@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,p,figure{margin:0}a{color:inherit}img{max-width:100%;display:block}}@layer base{:root{--paper:#f6f3eb;--paper-deep:#e9e4d9;--ink:#202421;--muted:#6b716d;--accent:#1d594d;--accent-soft:#d9e2dc;--line:#20242133;--display:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", "Yu Mincho", "Hiragino Mincho ProN", serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--mono:"SFMono-Regular", Consolas, "Liberation Mono", monospace}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;font-size:1rem;line-height:1.65}::selection{background:var(--accent);color:var(--paper)}a{text-underline-offset:.25em;text-decoration-thickness:1px}a:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.shell{width:min(960px,100% - 48px);margin-inline:auto}.skip-link{z-index:20;background:var(--ink);color:var(--paper);padding:.65rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}@layer components{.site-header{justify-content:space-between;align-items:center;min-height:78px;display:flex}.home-frame{min-height:100svh;padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3rem)}.home-shell{width:min(768px,100%);margin-inline:auto;padding-inline:1rem}.home-header{min-height:0}.home-header .wordmark{color:var(--accent);font-family:"Snell Roundhand", "Segoe Script", "Bradley Hand", var(--display);letter-spacing:-.055em;font-size:clamp(2.7rem,7vw,4.4rem);font-style:italic;font-weight:400;line-height:1}.home-header .wordmark-dot{opacity:.55}.home-header nav{font-family:var(--sans);letter-spacing:0;white-space:nowrap;font-size:.78rem}.home-header nav a+a:before{color:color-mix(in srgb, var(--accent) 55%, transparent);content:"|";margin-inline:.7rem}.wordmark{font-family:var(--display);letter-spacing:-.015em;align-items:baseline;font-size:1.05rem;font-weight:600;text-decoration:none;display:inline-flex}.wordmark-dot{color:var(--accent);font-size:1.35em}nav{font-family:var(--mono);letter-spacing:.02em;align-items:center;gap:0;font-size:.72rem;display:flex}nav a{text-decoration:none;transition:color .18s;position:relative}nav a+a:before{color:var(--muted);content:"/";margin-inline:.65rem}nav a:hover,nav a.active{color:var(--accent)}.language-link{color:var(--muted)}.home-intro{grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr);align-items:center;gap:clamp(3rem,8vw,6.5rem);min-height:calc(100svh - 78px);padding-block:clamp(5rem,10vw,8rem);display:grid}.intro-kicker,.section-label,.field-meta,.math-field figcaption,.update-meta,.blog-archive>header,.post-meta,.article-meta,.article-back{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.intro-kicker{color:var(--muted);align-items:center;gap:.65rem;display:flex}.intro-kicker span{aspect-ratio:1;background:var(--accent);width:7px;box-shadow:0 0 0 4px var(--accent-soft);border-radius:50%}.home-intro h1{max-width:8ch;font-family:var(--display);letter-spacing:-.065em;margin-top:1.8rem;font-size:clamp(4rem,8.7vw,6.7rem);font-weight:400;line-height:.9}.home-intro h1 em,.blog-heading-row h1 em,.not-found h1 em{color:var(--accent);font-weight:400}.intro-text{gap:1rem;max-width:38rem;margin-top:clamp(2.3rem,5vw,3.5rem);font-size:1.02rem;line-height:1.75;display:grid}.intro-links{font-family:var(--mono);flex-wrap:wrap;gap:1.5rem;margin-top:2rem;font-size:.72rem;display:flex}.intro-links a{text-decoration-color:var(--line);transition:color .18s,text-decoration-color .18s}.intro-links a:hover{color:var(--accent);text-decoration-color:var(--accent)}.math-field{border:1px solid var(--line);box-shadow:14px 14px 0 var(--accent-soft);background:#eee9de;margin:0;transition:transform .26s,box-shadow .26s;position:relative;transform:rotate(1.2deg)}.math-field:hover{box-shadow:9px 9px 0 var(--accent-soft);transform:rotate(0)}.field-meta,.math-field figcaption{color:var(--muted);justify-content:space-between;gap:1rem;padding:.85rem 1rem;display:flex}.field-meta{border-bottom:1px solid var(--line)}.math-field figcaption{border-top:1px solid var(--line)}.field-plane{background-color:#f3efe6;background-image:linear-gradient(#20242113 1px,#0000 1px),linear-gradient(90deg,#20242113 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;min-height:390px;position:relative;overflow:hidden}.axis{background:#20242166;position:absolute}.axis-x{width:84%;height:1px;top:57%;left:8%}.axis-y{width:1px;height:84%;top:8%;left:43%}.orbit{border:2px solid var(--accent);border-radius:50%;transition:opacity .22s,border-style .22s;position:absolute}.orbit-a{width:72%;height:52%;top:20%;left:12%;transform:rotate(17deg)}.orbit-b{border-color:#1d594d73;width:59%;height:39%;top:31%;left:21%;transform:rotate(-23deg)}.math-field:hover .orbit{opacity:.42;border-style:dashed}.sample-points span{top:var(--y);left:var(--x);aspect-ratio:1;background:var(--accent);opacity:.15;border-radius:50%;width:7px;transition:opacity .18s,transform .18s;position:absolute;transform:scale(.6);box-shadow:0 0 0 3px #1d594d1f}.math-field:hover .sample-points span{opacity:1;transform:scale(1)}.math-field--home{width:min(100%,350px);box-shadow:9px 9px 0 var(--accent-soft);margin:0;transform:none}.math-field--home:hover{box-shadow:5px 5px 0 var(--accent-soft);transform:translate(2px,2px)}.math-field--home .field-plane{min-height:284px}.home-main{padding-top:2rem}.home-profile{align-items:center;gap:3rem;display:flex}.home-visual{flex:0 0 350px}.home-visual .math-field{width:min(100%,350px)}.home-copy{flex-direction:column;flex:1;align-items:center;min-width:0;display:flex}.home-socials{font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;gap:2.6rem;padding-bottom:1rem;font-size:.68rem;display:flex}.home-socials a{color:var(--accent);text-decoration-color:#0000;transition:color .18s,text-decoration-color .18s}.home-socials a:hover{color:var(--ink);text-decoration-color:var(--line)}.home-bio{gap:1rem;font-size:.96rem;line-height:1.68;display:grid}.home-bio strong{color:var(--accent);font-weight:500}.signal-divider{opacity:.38;align-items:center;height:3rem;margin-top:2rem;display:flex;overflow:hidden}.signal-divider span{background:var(--accent);flex:1;height:1px;transform:rotate(7deg)scaleX(1.08)}.signal-divider span.up{transform:rotate(-7deg)scaleX(1.08)}.home-updates{margin-top:2rem}.home-updates h2{font-family:var(--sans);letter-spacing:-.02em;margin-bottom:1rem;font-size:1.2rem;font-weight:600}.home-updates ol{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.home-updates li{grid-template-columns:16.5rem minmax(0,1fr);align-items:baseline;display:grid}.home-updates time,.home-updates li>span{color:var(--muted);font-family:var(--mono);white-space:nowrap;font-size:.68rem}.home-updates li>p{font-size:.92rem;line-height:1.55}.home-frame .site-footer{width:min(736px,100% - 2rem);margin-top:4rem;padding-bottom:0}.field-origin,.field-note,.field-formula{position:absolute}.field-origin{font-family:var(--mono);font-size:.6rem;top:calc(57% + 6px);left:calc(43% + 7px)}.field-formula{color:var(--accent);font-family:var(--display);font-size:1.15rem;font-style:italic;top:12%;right:8%}.field-note{color:var(--muted);font-family:var(--mono);text-align:right;text-transform:uppercase;font-size:.62rem;line-height:1.6;bottom:8%;right:8%}.now-section{border-top:1px solid var(--line);grid-template-columns:minmax(190px,.38fr) minmax(0,1fr);gap:clamp(3rem,8vw,7rem);padding-block:clamp(6rem,12vw,9rem);display:grid}.section-label{color:var(--accent)}.now-heading h2{max-width:11ch;font-family:var(--display);letter-spacing:-.04em;margin-top:1.2rem;font-size:clamp(2rem,4.5vw,3.2rem);font-weight:400;line-height:1.05}.updates-list{border-top:1px solid var(--ink);margin:0;padding:0;list-style:none}.updates-list li{border-bottom:1px solid var(--line);grid-template-columns:115px minmax(0,1fr);gap:1.5rem;padding-block:1.7rem;display:grid}.update-meta{color:var(--muted);align-content:start;gap:.4rem;display:grid}.update-meta span{color:var(--accent)}.updates-list li>p{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.25rem,2.6vw,1.65rem);line-height:1.35}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-family:var(--mono);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:1rem;padding-block:2.2rem;font-size:.64rem;display:flex}.notes-main{padding-top:clamp(3.5rem,8vw,5.5rem)}.notes-intro{grid-template-columns:minmax(0,.8fr) minmax(260px,1fr);align-items:end;gap:clamp(2rem,7vw,4.5rem);display:grid}.notes-kicker{color:var(--muted);font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:.66rem}.notes-intro h1{font-family:var(--display);letter-spacing:-.055em;margin-top:.55rem;font-size:clamp(3.2rem,8vw,4.8rem);font-weight:400;line-height:.95}.notes-intro h1 span{color:var(--accent)}.notes-intro>p{padding-bottom:.25rem;font-size:.96rem;line-height:1.7}.notes-signal{margin-top:2.5rem}.notes-archive{margin-top:2rem}.notes-archive>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-bottom:.8rem;display:flex}.notes-archive>header h2{letter-spacing:-.02em;font-size:1.15rem;font-weight:600}.notes-archive>header p{color:var(--muted);font-family:var(--mono);letter-spacing:.05em;text-transform:uppercase;font-size:.66rem}.notes-frame .empty-state{border-bottom:1px solid var(--line);min-height:240px}.notes-frame .empty-symbol{font-size:1rem}.notes-frame .empty-state h2{font-family:var(--sans);letter-spacing:-.025em;margin-top:.8rem;font-size:1.35rem;font-weight:600}.notes-frame .empty-state>p:last-child{margin-top:.6rem;font-size:.9rem}.notes-frame .post-list a{grid-template-columns:2.25rem minmax(0,1fr) auto;gap:1rem;padding-block:1.2rem}.notes-frame .post-meta{font-family:var(--mono);letter-spacing:.035em;text-transform:uppercase;font-size:.62rem}.notes-frame .post-list h2{font-family:var(--sans);letter-spacing:-.025em;margin-top:.25rem;font-size:1.12rem;font-weight:600;line-height:1.3}.notes-frame .post-list h2+p{margin-top:.35rem;font-size:.88rem;line-height:1.55}.blog-hero{padding-block:clamp(6rem,12vw,9rem) clamp(4rem,8vw,6rem)}.blog-heading-row{grid-template-columns:minmax(0,1.4fr) minmax(230px,.6fr);align-items:end;gap:clamp(2rem,7vw,6rem);margin-top:1.4rem;display:grid}.blog-heading-row h1,.not-found h1{font-family:var(--display);letter-spacing:-.06em;font-size:clamp(3.8rem,9vw,6.7rem);font-weight:400;line-height:.91}.blog-heading-row>p{max-width:28rem;padding-bottom:.4rem;line-height:1.75}.blog-archive{padding-bottom:clamp(6rem,12vw,10rem)}.blog-archive>header{border-top:1px solid var(--ink);border-bottom:1px solid var(--line);justify-content:space-between;padding-block:.9rem;display:flex}.empty-state{text-align:center;place-content:center;min-height:350px;padding:3rem 1rem;display:grid}.empty-symbol{color:var(--accent);font-family:var(--mono);letter-spacing:.35em;font-size:1.4rem}.empty-state h2{font-family:var(--display);letter-spacing:-.04em;margin-top:1.2rem;font-size:clamp(2rem,5vw,3.4rem);font-weight:400;line-height:1.05}.empty-state>p:last-child{max-width:34rem;color:var(--muted);margin:1.2rem auto 0}.post-list{margin:0;padding:0;list-style:none}.post-list li{border-bottom:1px solid var(--line)}.post-list a{grid-template-columns:46px minmax(0,1fr) auto;align-items:start;gap:clamp(1rem,4vw,2.5rem);padding-block:clamp(1.8rem,4vw,2.8rem);text-decoration:none;display:grid}.post-number,.post-arrow{color:var(--accent);font-family:var(--mono);font-size:.72rem}.post-arrow{font-size:1rem;transition:transform .18s}.post-list a:hover .post-arrow{transform:translate(3px,-3px)}.post-meta,.article-meta{color:var(--muted);align-items:center;gap:.8rem;display:flex}.language-badge{color:var(--accent)}.post-list h2{font-family:var(--display);letter-spacing:-.035em;margin-top:.65rem;font-size:clamp(1.6rem,3.7vw,2.6rem);font-weight:400;line-height:1.08;transition:color .18s}.post-list a:hover h2{color:var(--accent)}.post-list h2+p{max-width:46rem;color:var(--muted);margin-top:.7rem}.article{padding-block:clamp(3rem,7vw,5rem) clamp(6rem,13vw,10rem)}.article-back{color:var(--muted);align-items:center;gap:.6rem;display:inline-flex}.article-header{border-bottom:1px solid var(--line);max-width:780px;margin:clamp(4rem,9vw,7rem) auto 0;padding-bottom:clamp(3rem,6vw,4.5rem)}.article-header h1{max-width:12ch;font-family:var(--display);letter-spacing:-.055em;margin-top:1.5rem;font-size:clamp(3rem,7vw,5.8rem);font-weight:400;line-height:.97}.article-header>p{max-width:42rem;margin-top:1.8rem;font-size:clamp(1rem,2vw,1.2rem);line-height:1.75}.tag-list{flex-wrap:wrap;gap:.5rem;margin:1.8rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);font-family:var(--mono);padding:.22rem .6rem;font-size:.64rem}.article-body{max-width:690px;font-family:var(--display);margin:clamp(3rem,7vw,5rem) auto 0;font-size:clamp(1.08rem,1.8vw,1.2rem);line-height:1.9}.article-body h2,.article-body h3{font-family:var(--sans);letter-spacing:-.025em;font-weight:600;line-height:1.3}.article-body h2{margin:3.6rem 0 1.1rem;font-size:clamp(1.6rem,4vw,2.2rem)}.article-body h3{margin:2.5rem 0 .9rem;font-size:1.3rem}.article-body p,.article-body ul,.article-body ol,.article-body blockquote,.article-body pre,.article-body table{margin:1.4rem 0}.article-body a{color:var(--accent)}.article-body blockquote{border-left:2px solid var(--accent);color:var(--muted);padding-left:1.4rem;font-style:italic}.article-body code{background:var(--paper-deep);font-family:var(--mono);border-radius:2px;padding:.1em .32em;font-size:.86em}.article-body pre{background:var(--ink);color:var(--paper);padding:1.2rem;overflow-x:auto}.article-body pre code{background:0 0;padding:0}.article-body table{border-collapse:collapse;width:100%;font-family:var(--sans);font-size:.9rem}.article-body th,.article-body td{border-bottom:1px solid var(--line);text-align:left;padding:.65rem}.note-main{padding-top:clamp(3rem,7vw,5rem)}.note-frame .note-article{padding-block:0 2rem}.note-frame .article-back{color:var(--accent);font-size:.66rem;text-decoration-color:#0000;transition:color .18s,text-decoration-color .18s}.note-frame .article-back:hover{color:var(--ink);text-decoration-color:var(--line)}.note-frame .article-header{border-bottom:0;max-width:690px;margin-top:clamp(2.5rem,7vw,4.5rem);padding-bottom:0}.note-frame .article-header h1{max-width:14ch;margin-top:1rem;font-size:clamp(2.7rem,7vw,4.5rem);line-height:1}.note-frame .article-header>p{margin-top:1.35rem;font-size:1rem;line-height:1.7}.note-frame .article-meta,.note-frame .tag-list{font-family:var(--mono)}.note-frame .note-signal{max-width:690px;margin:2.5rem auto 0}.note-frame .article-body{max-width:650px;margin-top:2.5rem;font-size:clamp(1.04rem,1.7vw,1.14rem);line-height:1.85}.not-found{min-height:calc(100svh - 156px);padding-block:clamp(6rem,14vw,10rem)}.not-found h1{max-width:10ch;margin-top:1.4rem}.not-found>p:not(.section-label){max-width:40rem;margin-top:2rem;line-height:1.75}:lang(ja) .home-intro h1{letter-spacing:-.055em;max-width:none;font-size:clamp(3.2rem,7.2vw,5.2rem);line-height:1.08}:lang(ja) .now-heading h2,:lang(ja) .updates-list li>p,:lang(ja) .blog-heading-row h1{line-height:1.45}@media (width<=820px){.shell{width:min(680px,100% - 32px)}.site-header{min-height:72px}.home-header{min-height:0}.home-profile{flex-direction:column;gap:3rem}.home-visual{flex:none;justify-content:center;width:100%;display:flex}.home-copy{width:min(100%,520px)}.home-intro{grid-template-columns:1fr;gap:4.5rem;min-height:0;padding-block:clamp(4.5rem,12vw,7rem) clamp(6rem,15vw,8rem)}.home-intro h1{font-size:clamp(4rem,15vw,6.4rem)}.math-field{width:min(100% - 14px,520px);margin-inline:auto}.field-plane{min-height:360px}.now-section{grid-template-columns:1fr;gap:3rem}.now-heading h2{max-width:15ch}.blog-heading-row{grid-template-columns:1fr;align-items:start;gap:2rem}.blog-heading-row>p{padding-bottom:0}.notes-intro{grid-template-columns:1fr;align-items:start;gap:1.25rem}.notes-intro>p{max-width:34rem;padding-bottom:0}}@media (width<=700px){.home-header{text-align:center;flex-direction:column;gap:1rem}}@media (width<=540px){.wordmark{font-size:.96rem}nav{font-size:.66rem}nav a:first-child,nav a:first-child+a:before{display:none}.home-frame{padding-inline:0}.home-header{text-align:center;flex-direction:column;gap:1rem}.home-header .wordmark{font-size:clamp(2.75rem,14vw,4rem)}.home-header nav a:first-child,.home-header nav a:first-child+a:before{display:inline}.home-main{padding-top:2.5rem}.notes-main{padding-top:3.5rem}.notes-intro h1{font-size:clamp(3rem,17vw,4.2rem)}.notes-frame .post-list a{grid-template-columns:1.8rem minmax(0,1fr)}.notes-frame .post-arrow{display:none}.note-frame .article-header h1{font-size:clamp(2.45rem,13vw,3.8rem)}.home-profile{gap:2.5rem}.math-field--home .field-plane{min-height:250px}.home-socials{gap:2rem}.home-updates li{grid-template-columns:5.7rem minmax(0,1fr);gap:.5rem}.home-intro h1{font-size:clamp(3.35rem,18vw,5.2rem)}:lang(ja) .home-intro h1{font-size:clamp(2.65rem,13vw,4rem)}.intro-text{font-size:.98rem}.field-meta span:last-child,.math-field figcaption span:last-child{display:none}.field-plane{min-height:310px}.updates-list li{grid-template-columns:82px minmax(0,1fr);gap:1rem}.blog-heading-row h1,.not-found h1{font-size:clamp(3.1rem,15vw,4.6rem)}.post-list a{grid-template-columns:32px minmax(0,1fr)}.post-arrow{display:none}.article-header h1{font-size:clamp(2.65rem,13vw,4.2rem)}.site-footer{flex-direction:column}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}}}
