@layer reset{*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,p{margin:0}a{color:inherit}}@layer base{:root{--paper:#f3f0e8;--paper-deep:#e7e1d5;--ink:#17211f;--muted:#69716d;--accent:#175b4d;--line:#17211f38;--display:Georgia, "Times New Roman", "Yu Mincho", "Hiragino Mincho ProN", serif;--sans:Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif}body{background:linear-gradient(#17211f06 1px, transparent 1px), linear-gradient(90deg, #17211f06 1px, transparent 1px), var(--paper);min-width:320px;color:var(--ink);font-family:var(--sans);text-rendering:optimizelegibility;background-size:24px 24px;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}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.skip-link{z-index:20;background:var(--ink);color:#fff;padding:.65rem 1rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}}@layer components{.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:92px;display:flex}.wordmark{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.82rem;font-weight:650;text-decoration:none;display:inline-flex}.wordmark-mark{aspect-ratio:1;border:1px solid var(--ink);width:38px;font-family:var(--display);border-radius:50%;place-items:center;font-size:.78rem;font-weight:400;display:grid}nav{letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:clamp(1rem,3vw,2.5rem);font-size:.78rem;font-weight:650;display:flex}nav a{text-decoration:none}nav a:not(.language-link):after{background:var(--accent);content:"";width:0;height:1px;margin-top:3px;transition:width .18s;display:block}nav a:hover:after,nav a.active:after{width:100%}.language-link{border-left:1px solid var(--line);padding-left:clamp(1rem,3vw,2.5rem)}.hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.12fr) minmax(320px,.88fr);min-height:min(710px,100svh - 92px);display:grid}.hero-copy{flex-direction:column;justify-content:center;padding:clamp(5rem,9vw,8rem) clamp(2rem,7vw,6rem) clamp(4rem,8vw,7rem) 0;display:flex}.eyebrow{color:var(--accent);letter-spacing:.16em;text-transform:uppercase;align-items:center;gap:.75rem;font-size:.72rem;font-weight:700;display:flex}.eyebrow span{font-family:var(--display);font-size:.85rem;font-style:italic;font-weight:400}h1{max-width:8ch;font-family:var(--display);letter-spacing:-.07em;margin-top:1.7rem;font-size:clamp(4.3rem,10.5vw,9.25rem);font-weight:400;line-height:.79}.hero-lede{max-width:36rem;font-family:var(--display);margin-top:clamp(2.4rem,5vw,4.5rem);font-size:clamp(1.25rem,2vw,1.75rem);line-height:1.45}.hero-actions{flex-wrap:wrap;gap:1.75rem;margin-top:2.4rem;display:flex}.text-link{letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:700}.math-field{border-left:1px solid var(--line);color:#f3f0e8eb;background:radial-gradient(circle at 67% 35%,#ffffff40,#0000 20%),linear-gradient(145deg,#194f45,#0d332d 64%,#08231f);position:relative;overflow:hidden}.math-field:before,.math-field:after{content:"";border:1px solid #f3f0e82e;border-radius:50%;position:absolute;inset:8%}.math-field:after{border-radius:0;inset:21%;transform:rotate(19deg)}.math-field>p{letter-spacing:.24em;text-align:right;font-size:.66rem;line-height:1.75;position:absolute;bottom:2.5rem;right:2.5rem}.axis{background:#f3f0e85c;position:absolute}.axis-x{width:84%;height:1px;top:52%;left:8%}.axis-y{width:1px;height:82%;top:9%;left:48%}.curve{border:2px solid #f3f0e8cc;border-color:#0000 #f3f0e8cc #f3f0e8cc #0000;border-radius:48% 56% 35% 65%;width:73%;height:52%;position:absolute;top:24%;left:14%;transform:rotate(-18deg)}.formula{font-family:var(--display);font-size:clamp(1rem,2vw,1.5rem);font-style:italic;position:absolute}.formula-a{top:18%;left:13%}.formula-b{top:59%;right:13%}.formula-c{bottom:14%;left:19%}.point{border:2px solid var(--paper);aspect-ratio:1;background:var(--accent);border-radius:50%;width:9px;position:absolute;box-shadow:0 0 0 5px #f3f0e81a}.point-a{top:36%;left:34%}.point-b{top:65%;left:62%}.profile-section{border-bottom:1px solid var(--line);grid-template-columns:minmax(190px,.28fr) minmax(0,1fr);padding-block:clamp(5rem,11vw,9rem);display:grid}.section-index{flex-direction:column;justify-content:space-between;display:flex}.margin-note{color:var(--muted);font-family:var(--display);font-size:.85rem;font-style:italic}.profile-content h2{max-width:16ch;font-family:var(--display);letter-spacing:-.055em;font-size:clamp(2.6rem,6.4vw,5.6rem);font-weight:400;line-height:1}.profile-grid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-top:clamp(3.5rem,7vw,6rem);display:grid}.profile-grid>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:190px;padding:1.7rem}.label{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:1.6rem;font-size:.68rem;font-weight:750}.placeholder{color:var(--muted);font-style:italic}.site-footer{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;gap:1rem;padding-block:2.2rem;font-size:.72rem;display:flex}.hero-name-jp{color:var(--muted);font-family:var(--display);letter-spacing:.12em;margin-top:1.25rem;font-size:.95rem}.blog-hero{border-bottom:1px solid var(--line);padding-block:clamp(5.5rem,12vw,10rem) clamp(4rem,9vw,7rem)}.blog-heading-row{grid-template-columns:minmax(0,1.5fr) minmax(260px,.5fr);align-items:end;gap:clamp(2rem,8vw,8rem);margin-top:clamp(2rem,5vw,4rem);display:grid}.blog-heading-row h1,.not-found h1{max-width:none;margin:0;font-size:clamp(4rem,10vw,8rem);line-height:.9}.blog-heading-row h1 em,.not-found h1 em{color:var(--accent);font-weight:400}.blog-heading-row>p{max-width:29rem;font-family:var(--display);padding-bottom:.7rem;font-size:clamp(1.05rem,1.8vw,1.35rem)}.blog-archive{padding-block:clamp(3rem,7vw,5rem) clamp(6rem,12vw,10rem)}.blog-archive>header{border-bottom:1px solid var(--ink);letter-spacing:.14em;text-transform:uppercase;justify-content:space-between;padding-bottom:1rem;font-size:.69rem;font-weight:700;display:flex}.empty-state{text-align:center;place-content:center;min-height:390px;padding:3rem 1rem;display:grid}.empty-symbol{color:var(--accent);font-family:var(--display);font-size:3rem;font-style:italic}.empty-state h2{font-family:var(--display);letter-spacing:-.04em;margin-top:1.2rem;font-size:clamp(2rem,5vw,3.8rem);font-weight:400;line-height:1.05}.empty-state>p:last-child{max-width:34rem;color:var(--muted);margin:1.4rem 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:54px minmax(0,1fr) auto;align-items:start;gap:clamp(1rem,4vw,3rem);padding-block:clamp(2rem,5vw,3.5rem);text-decoration:none;display:grid}.post-list a:hover h2{color:var(--accent)}.post-number,.post-arrow{color:var(--accent);font-family:var(--display);font-style:italic}.post-arrow{font-size:1.2rem}.post-meta,.article-meta{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:.8rem;font-size:.68rem;font-weight:650;display:flex}.language-badge{border:1px solid var(--line);min-width:2rem;color:var(--accent);border-radius:999px;justify-content:center;align-items:center;padding:.15rem .42rem;display:inline-flex}.post-list h2{font-family:var(--display);letter-spacing:-.035em;margin-top:.75rem;font-size:clamp(1.7rem,4vw,3rem);font-weight:400;line-height:1.05;transition:color .18s}.post-list h2+p{max-width:50rem;color:var(--muted);margin-top:.8rem}.article{padding-block:clamp(3rem,8vw,6rem) clamp(6rem,13vw,10rem)}.article-back{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.72rem;font-weight:700;display:inline-flex}.article-header{border-bottom:1px solid var(--line);max-width:880px;margin:clamp(4rem,10vw,7.5rem) auto 0;padding-bottom:clamp(3rem,7vw,5rem)}.article-header h1{max-width:none;margin-top:1.7rem;font-size:clamp(3.2rem,8vw,7rem);line-height:.95}.article-header>p{max-width:45rem;font-family:var(--display);margin-top:2rem;font-size:clamp(1.15rem,2.2vw,1.5rem)}.tag-list{flex-wrap:wrap;gap:.6rem;margin:2rem 0 0;padding:0;list-style:none;display:flex}.tag-list li{border:1px solid var(--line);border-radius:999px;padding:.28rem .75rem;font-size:.72rem}.article-body{max-width:720px;font-family:var(--display);margin:clamp(3rem,8vw,6rem) auto 0;font-size:clamp(1.08rem,1.8vw,1.24rem);line-height:1.85}.article-body h2,.article-body h3{font-family:var(--sans);letter-spacing:-.025em;font-weight:650;line-height:1.25}.article-body h2{margin:3.5rem 0 1.2rem;font-size:clamp(1.7rem,4vw,2.5rem)}.article-body h3{margin:2.5rem 0 1rem;font-size:1.35rem}.article-body p,.article-body ul,.article-body ol,.article-body blockquote,.article-body pre{margin:1.4rem 0}.article-body blockquote{border-left:3px solid var(--accent);color:var(--muted);padding-left:1.5rem;font-style:italic}.article-body code{background:var(--paper-deep);border-radius:3px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.88em}.article-body pre{background:var(--ink);color:var(--paper);padding:1.25rem;overflow-x:auto}.article-body pre code{background:0 0;padding:0}.not-found{min-height:calc(100svh - 180px);padding-block:clamp(6rem,15vw,11rem)}.not-found h1{margin-top:2rem}.not-found>p:not(.eyebrow){max-width:40rem;font-family:var(--display);margin-top:2rem;font-size:clamp(1.15rem,2vw,1.4rem)}@media (width<=800px){.shell{width:min(100% - 30px,720px)}.site-header{min-height:76px}.wordmark>span:last-child{display:none}nav{gap:1rem;font-size:.7rem}.language-link{padding-left:1rem}.hero{grid-template-columns:1fr}.hero-copy{min-height:570px;padding-right:0}h1{font-size:clamp(4rem,20vw,7rem)}.math-field{border-top:1px solid var(--line);border-left:0;min-height:440px}.profile-section{grid-template-columns:1fr;gap:3.5rem}.margin-note{display:none}.profile-grid{grid-template-columns:1fr}.blog-heading-row{grid-template-columns:1fr;align-items:start}.blog-heading-row h1,.not-found h1{font-size:clamp(3.5rem,15vw,6rem)}}@media (width<=500px){nav a:first-child{display:none}.hero-copy{min-height:520px}.site-footer{flex-direction:column}.post-list a{grid-template-columns:34px minmax(0,1fr)}.post-arrow{display:none}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}}
