*{box-sizing:border-box;margin:0;padding:0}:root{--color0:#000;--color5:#0d0d0d;--color10:#1a1a1a;--color30:#4d4d4d;--color90:#e6e6e6;--color100:#fff;--ff:"Noto Sans JP", serif;--ff2:"Fira Sans", serif;--p:1.1rem/1.5em var(--ff);--h1:600 3rem/1.2em var(--ff2);--h2:600 2rem/1.2em var(--ff2);--spacing1:4px;--spacing2:8px;--spacing3:16px;--spacing4:20px;--spacing5:40px;--spacing6:80px;--spacing7:160px}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{text-wrap:balance;font:var(--p);color:var(--color100);background:var(--color5);margin-left:var(--spacing7);margin-right:var(--spacing7);position:relative}body:before{content:"";filter:blur(4px)grayscale();z-index:-1;background-image:url(../../../bgpiece.png);background-size:60px;position:fixed;inset:0}nav{justify-content:center;align-items:center;gap:var(--spacing3);padding:var(--spacing3) 0;background:var(--color5);z-index:10;display:flex;position:sticky;top:0}nav a{color:inherit;padding:var(--spacing2) var(--spacing3);border:1px solid var(--color30);border-radius:var(--spacing1);text-decoration:none;transition:background-color .15s,border-color .15s}nav a:hover{border-color:var(--color100);background-color:color-mix(in srgb, var(--color100) 12%, transparent)}h1{font:var(--h1);text-align:center;margin:var(--spacing6);color:var(--color100)}h2{font:var(--h2);margin:var(--spacing2) 0;text-align:center;color:var(--color100)}h3{margin:var(--spacing2) 0;text-align:center;color:var(--color100)}img{object-fit:cover;max-width:100%;height:auto}.gridhomewindow{margin-bottom:var(--spacing4);align-items:center;display:flex}.gridhomewindowcontent{min-width:50%;font:var(--h2);text-shadow:2px 2px 20px var(--color0), -2px -2px 2px var(--color0), 2px -2px 20px var(--color0), -2px 2px 20px var(--color0);color:inherit;aspect-ratio:1;border:var(--spacing2) solid var(--color5);margin:var(--spacing1);margin-bottom:var(--spacing5);background-position:50%;background-repeat:no-repeat;background-size:cover;flex:0 0 50%;justify-content:center;align-items:center;text-decoration:none;display:flex}.gridcasual{margin-top:var(--spacing1);margin-bottom:var(--spacing1);text-align:center;grid-template-columns:1fr 1fr;justify-content:center;place-items:center;display:grid}.gridcasual img{width:var(--casual-img-size,50%)}.gridcluster{align-items:center;gap:var(--spacing3);margin-top:var(--spacing1);margin-bottom:var(--spacing1);grid-template-columns:1fr 1fr;display:grid}.gridcluster .image-pair{gap:var(--spacing2);display:flex}.gridcluster .image-pair img{width:50%}.gridcluster p{text-align:center}.gridtechnical{text-align:center;grid-template-rows:2fr 3fr 2fr;justify-content:center;place-items:center;display:grid}.gridprofile{text-align:left;margin:var(--spacing4);justify-content:center;align-items:center;gap:1rem;display:flex}.gridprofile-photo{aspect-ratio:1;object-fit:cover;min-width:240px;margin:var(--spacing4);border-radius:10%;flex:0 0 300px}.gridprofile-text{flex-direction:column;flex:0 0 100px;justify-content:center;display:flex}.nodePE{border-color:var(--color0);background-color:color-mix(in srgb, var(--color0) 50%, transparent);margin-bottom:var(--spacing5);text-align:center;border-radius:10px}.hline{background:linear-gradient(to right, transparent, var(--color30), transparent);height:1px;margin:var(--spacing3) 0}.social-icon-link{vertical-align:middle;align-items:center;margin-left:.3em;display:inline-flex}.social-icon{background-color:var(--color90);width:.9em;height:.9em;-webkit-mask-image:var(--icon-src);mask-image:var(--icon-src);-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:var(--icon-src);display:inline-block;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}.social-icon-link:hover .social-icon{background-color:var(--color100)}.padding1{padding:var(--spacing1) 0}.padding2{padding:var(--spacing2) 0}.padding3{padding:var(--spacing3) 0}.padding4{padding:var(--spacing4) 0}.padding5{padding:var(--spacing5) 0}.padding6{padding:var(--spacing6) 0}.padding7{padding:var(--spacing7) 0}.margin1{margin:var(--spacing1) auto}.margin2{margin:var(--spacing2) auto}.margin3{margin:var(--spacing3) auto}.margin4{margin:var(--spacing4) auto}.margin5{margin:var(--spacing5) auto}.margin6{margin:var(--spacing6) auto}.margin7{margin:var(--spacing7) auto}.toc-layout{gap:var(--spacing5);margin-top:var(--spacing5);grid-template-columns:200px 1fr;align-items:start;display:grid}.toc{top:var(--spacing6);gap:var(--spacing2);flex-direction:column;display:flex;position:sticky}.toc a{color:inherit;padding:var(--spacing2) var(--spacing3);border:1px solid var(--color30);border-radius:var(--spacing1);text-decoration:none;transition:background-color .15s,border-color .15s;display:block}.toc a:hover{border-color:var(--color100);background-color:color-mix(in srgb, var(--color100) 12%, transparent)}.toc a.active{border-color:var(--color100);background-color:color-mix(in srgb, var(--color100) 18%, transparent);font-weight:600}.toc-content section{padding-top:var(--spacing3);padding-bottom:var(--spacing6)}.toc-content ul{padding-left:var(--spacing3)}.toc-content .dates{color:var(--color90);font-style:italic}.toc-content h3{font:600 1.3rem/1.3em var(--ff2);margin:var(--spacing5) 0 var(--spacing2);color:var(--color100)}.figure-row{gap:var(--spacing3);margin:var(--spacing3) 0;flex-wrap:wrap;display:flex}.figure-row figure{flex:240px;margin:0}.figure-row img{border:var(--spacing1) solid var(--color5);width:100%}.figure-row figcaption{color:var(--color90);margin-top:var(--spacing1);font-size:.9rem}.design-flex{gap:var(--spacing3);margin:var(--spacing3) 0;flex-wrap:wrap;align-content:center;display:flex}.design-flex figure{flex-direction:column;flex:240px;align-items:center;margin:0;display:flex}.design-flex img{object-fit:contain;border:var(--spacing1);width:75%;height:460px}.design-flex figcaption{color:var(--color90);margin-top:var(--spacing1);font-size:.9rem}.collage{columns:3 220px;column-gap:var(--spacing1);margin:var(--spacing3) 0}.collage img{width:100%;margin-bottom:var(--spacing1);break-inside:avoid;border-radius:4px;display:block}.poster-preview{max-width:420px;margin:var(--spacing3) auto}.poster-preview img{border:var(--spacing1) solid var(--color5);cursor:pointer;width:100%;transition:opacity .15s}.poster-preview a:hover img{opacity:.85}.poster-preview figcaption{color:var(--color90);margin-top:var(--spacing1);font-size:.9rem}
