:root{--pad:clamp(20px,5vw,72px);--syne:var(--font-syne),sans-serif;--sans:var(--font-sans),"Segoe UI",sans-serif;--mono:var(--font-mono),ui-monospace,Consolas,monospace;--jp:var(--font-jp),"Noto Serif JP",serif}html[data-theme=dark]{color-scheme:dark;--bg:#0c0a15;--bg2:#171327;--text:#ece8f4;--mute:#8d86a8;--line:rgba(141,134,168,0.22);--a1:#ffb35c;--a2:#8fd8e4;--glow:rgba(255,179,92,0.35);--cell:rgba(12,10,21,0.82);--code-bg:#171327;--vin1:rgba(64,42,110,0.18);--vin2:rgba(24,68,84,0.2);--vin3:rgba(6,5,12,0.78)}html[data-theme=light]{color-scheme:light;--bg:#f2ecdd;--bg2:#e9e0c9;--text:#2b2620;--mute:#8a7f6c;--line:rgba(88,76,58,0.28);--a1:#c15f3c;--a2:#2f6f77;--glow:rgba(193,95,60,0.28);--cell:rgba(247,243,233,0.85);--code-bg:#e9e2d0;--vin1:rgba(193,95,60,0.07);--vin2:rgba(47,111,119,0.08);--vin3:rgba(120,100,70,0.18)}*{margin:0;padding:0;box-sizing:border-box}html.lenis,html.lenis body{height:auto}html{overflow-x:clip}html.menu-open{overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--sans);line-height:1.6;overflow-x:hidden}::selection{background:var(--a1);color:var(--bg)}:focus-visible{outline:2px solid var(--a2);outline-offset:3px}.creative{min-height:100dvh}.creative:after{content:"";position:fixed;inset:0;z-index:900;pointer-events:none;opacity:.05;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E")}html[data-theme=light] .creative:after{mix-blend-mode:multiply;opacity:.035}.site-nav{position:fixed;top:0;left:0;right:0;z-index:40;display:flex;justify-content:space-between;align-items:center;padding:18px var(--pad);background:linear-gradient(color-mix(in srgb,var(--bg) 72%,transparent),transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.logo{font-family:var(--syne);font-weight:800;font-size:18px;letter-spacing:.22em;color:var(--text);text-decoration:none;display:flex;align-items:baseline;gap:10px}.logo .jp{font-family:var(--jp);font-size:13px;color:var(--a1);letter-spacing:.1em}.nav-links{display:flex;align-items:center;gap:26px}.nav-links a{font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--mute);text-decoration:none;transition:color .3s}.nav-links a:focus-visible,.nav-links a:hover{color:var(--a1)}.nav-links a.ink-link{color:var(--a2)}.nav-links a.ink-link:hover{color:var(--a1)}@media (max-width:780px){.nav-links a{display:none}}.menu-btn{display:none;flex-direction:column;justify-content:center;gap:5px;width:24px;height:20px;border:none;background:none;padding:0;cursor:pointer;position:fixed;top:24px;right:var(--pad);z-index:46}.menu-btn span{display:block;height:1.5px;width:100%;background:var(--text);transition:transform .35s ease,opacity .35s ease}.menu-btn.x span:first-child{transform:translateY(3.25px) rotate(45deg)}.menu-btn.x span:nth-child(2){transform:translateY(-3.25px) rotate(-45deg)}@media (max-width:780px){.menu-btn{display:inline-flex}.nav-links{padding-right:42px}}.menu-panel{position:fixed;inset:0;z-index:38;background:color-mix(in srgb,var(--bg) 90%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);display:flex;align-items:center;padding:90px var(--pad) 60px;opacity:0;pointer-events:none;transition:opacity .35s ease}.menu-panel.open{opacity:1;pointer-events:auto}.menu-panel nav{display:flex;flex-direction:column;gap:4px;width:100%}.menu-panel a{font-family:var(--syne);font-weight:700;font-size:clamp(26px,7.5vw,34px);line-height:1.5;letter-spacing:-.01em;text-transform:uppercase;color:var(--text);text-decoration:none;display:flex;align-items:baseline;gap:14px;opacity:0;transform:translateY(14px);transition:opacity .4s ease,transform .4s ease}.menu-panel.open a{opacity:1;transform:none}.menu-panel.open a:nth-child(2){transition-delay:.04s}.menu-panel.open a:nth-child(3){transition-delay:.08s}.menu-panel.open a:nth-child(4){transition-delay:.12s}.menu-panel.open a:nth-child(5){transition-delay:.16s}.menu-panel.open a:nth-child(6){transition-delay:.2s}.menu-panel.open a:nth-child(7){transition-delay:.24s}.menu-panel a .mi{font-family:var(--mono);font-size:11px;letter-spacing:.16em;color:var(--a1)}.menu-panel a:active,.menu-panel a:hover{color:var(--a1)}.theme-toggle{border:none;background:none;color:var(--mute);font-size:15px;line-height:1;cursor:pointer;transition:color .3s,transform .4s ease}.theme-toggle:hover{color:var(--a1);transform:rotate(180deg)}.site-footer{position:relative;z-index:10;padding:24px var(--pad);display:flex;justify-content:space-between;align-items:baseline;gap:18px;flex-wrap:wrap;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase;border-top:1px solid var(--line)}.site-footer .foot-links{display:flex;gap:22px}.site-footer a{color:var(--mute);text-decoration:none;transition:color .3s}.site-footer a:hover{color:var(--a2)}@media (max-width:720px){.site-footer .foot-cal{display:none}}.cursor{position:fixed;top:0;left:0;width:34px;height:34px;margin:-17px 0 0 -17px;border:1px solid #fff;border-radius:50%;pointer-events:none;z-index:999;mix-blend-mode:difference;transition:width .25s ease,height .25s ease,margin .25s ease}.cursor:after,.cursor:before{content:"";position:absolute;background:#fff}.cursor:before{left:50%;top:-20%;width:1px;height:140%;transform:translateX(-.5px)}.cursor:after{top:50%;left:-20%;height:1px;width:140%;transform:translateY(-.5px)}.cursor.big{width:52px;height:52px;margin:-26px 0 0 -26px}@media (pointer:fine){.creative,.creative a,.creative button{cursor:none}}#gl{z-index:0}#gl,.vignette{position:fixed;inset:0}.vignette{z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 70% 10%,var(--vin1),transparent 55%),radial-gradient(100% 80% at 15% 90%,var(--vin2),transparent 50%),radial-gradient(140% 140% at 50% 50%,transparent 55%,var(--vin3) 100%)}#boot{position:fixed;inset:0;z-index:60;background:var(--bg);display:flex;align-items:center;justify-content:center;transition:opacity .7s ease,visibility .7s}#boot.done{opacity:0;visibility:hidden}#boot .seq{font-family:var(--mono);font-size:12px;letter-spacing:.12em;color:var(--mute);text-transform:uppercase}#boot .seq b{color:var(--a1);font-weight:500}.hud{position:fixed;z-index:20;pointer-events:none;font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--mute);text-transform:uppercase}.hud .bracket{position:absolute;width:22px;height:22px;border:1px solid color-mix(in srgb,var(--mute) 40%,transparent)}.hud-frame{inset:14px}.hud-frame .tl{top:0;left:0;border-right:0;border-bottom:0}.hud-frame .tr{top:0;right:0;border-left:0;border-bottom:0}.hud-frame .bl{bottom:0;left:0;border-right:0;border-top:0}.hud-frame .br{bottom:0;right:0;border-left:0;border-top:0}.hud.pose{left:26px;bottom:26px}.hud.pose .row{display:flex;gap:14px}.hud.pose .val{color:var(--a2)}.hud.section-tag{right:26px;bottom:26px;text-align:right}.hud.section-tag .big{color:var(--a1);font-size:11px}@media (max-width:720px){.hud.pose,.hud.section-tag{display:none}}.index{position:fixed;right:24px;top:50%;transform:translateY(-50%);z-index:25;display:flex;flex-direction:column;gap:18px}.index a{width:8px;height:8px;border:1px solid var(--mute);transform:rotate(45deg);display:block;transition:.35s}.index a.on{background:var(--a1);border-color:var(--a1);box-shadow:0 0 12px var(--glow)}@media (max-width:720px){.index{display:none}}.eq-flash{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:50;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--a2);white-space:nowrap;opacity:0;pointer-events:none}.eq-flash.show{animation:eqflash 1.2s ease both}@keyframes eqflash{0%{opacity:0}12%{opacity:1}70%{opacity:1}to{opacity:0}}main.home{position:relative;z-index:10}main.home section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:16vh var(--pad);position:relative}.eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--a1);margin-bottom:26px;display:flex;align-items:center;gap:14px}.eyebrow:before{content:"";width:34px;height:1px;background:var(--a1)}#hero{justify-content:flex-end;padding-bottom:max(14vh,130px);overflow:hidden}.kanji-wm{position:absolute;top:50%;right:4vw;transform:translateY(-58%);font-family:var(--jp);font-size:clamp(160px,30vw,430px);line-height:.95;color:transparent;-webkit-text-stroke:1px color-mix(in srgb,var(--a2) 16%,transparent);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none;writing-mode:vertical-rl;opacity:1;transition:opacity 2.2s ease .5s}main.home h1{font-family:var(--syne);font-weight:800;font-size:clamp(28px,7.6vw,122px);line-height:.92;letter-spacing:-.02em;text-transform:uppercase}main.home h1 .ln{display:block;overflow:hidden}main.home h1 .ln span{display:inline-block;transform:none;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}main.home h1 .ln:nth-child(2) span{transition-delay:.12s}main.home h1 .ln:nth-child(3) span{transition-delay:.24s}main.home h1 .thin{color:transparent;-webkit-text-stroke:1.5px var(--text)}.hero-sub{margin-top:34px;max-width:560px;color:var(--mute);font-size:clamp(15px,1.4vw,18px);display:flex;gap:20px;align-items:flex-start;opacity:1;transition:opacity 1s ease .6s,transform 1s ease .6s}.hero-sub .tick{font-family:var(--mono);color:var(--a2);font-size:11px;letter-spacing:.14em;white-space:nowrap;padding-top:5px}main.home.preboot h1 .ln span{transform:translateY(110%);transition:none}main.home.preboot .hero-sub{opacity:0;transform:translateY(24px);transition:none}main.home.preboot .kanji-wm{opacity:0;transition:none}.scroll-cue{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);font-family:var(--mono);font-size:10px;letter-spacing:.3em;color:var(--mute);text-transform:uppercase;animation:pulse 2.4s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.35}50%{opacity:1}}.thesis{font-family:var(--syne);font-weight:700;font-size:clamp(26px,4.4vw,58px);line-height:1.18;max-width:1000px;letter-spacing:-.01em}.thesis em{font-style:normal;color:var(--a1)}.thesis .hz{color:var(--a2)}.thesis-note{margin-top:40px;max-width:520px;color:var(--mute);border-left:1px solid var(--line);padding-left:24px}.work-list{display:flex;flex-direction:column;border-top:1px solid var(--line)}.wi{border-bottom:1px solid var(--line);padding:44px 0;display:grid;grid-template-columns:110px 1fr 260px;grid-gap:30px;gap:30px;align-items:baseline;text-decoration:none;color:inherit;transition:padding-left .4s ease}.wi:focus-visible,.wi:hover{padding-left:18px}.wi .id{font-family:var(--mono);font-size:11px;color:var(--mute);letter-spacing:.16em}.wi h3{font-family:var(--syne);font-weight:700;font-size:clamp(24px,3.4vw,44px);line-height:1.05;letter-spacing:-.01em;transition:color .3s}.wi:hover h3{color:var(--a1)}.wi p{color:var(--mute);font-size:14px;margin-top:10px;max-width:640px}.wi .meta{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--a2);text-align:right;line-height:2}@media (max-width:860px){.wi{grid-template-columns:1fr;gap:8px}.wi .meta{text-align:left}}.archive-link{display:inline-block;margin-top:26px;font-family:var(--mono);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--a2);text-decoration:none;transition:color .3s,letter-spacing .3s}.archive-link:focus-visible,.archive-link:hover{color:var(--a1);letter-spacing:.26em}.archive-list{list-style:none;padding:0;margin:2rem 0 0;border-top:1px solid var(--line)}.archive-row{display:grid;grid-template-columns:3.4rem 1fr auto;grid-gap:1rem;gap:1rem;align-items:baseline;padding:1.1rem 0;border-bottom:1px solid var(--line)}.archive-row .ay{font-family:var(--mono);font-size:.72rem;color:var(--mute)}.archive-row .at{font-family:var(--syne);font-weight:600;font-size:1.05rem;color:var(--text);text-decoration:none;transition:color .3s}.archive-row .at:hover{color:var(--a1)}.archive-row .ac{font-family:var(--mono);font-size:.65rem;letter-spacing:.12em;text-transform:uppercase;color:var(--a2);margin-left:.7rem}.archive-row .as{margin:.25rem 0 0;color:var(--mute);font-size:.9rem}.archive-row .atech{margin:.2rem 0 0;font-family:var(--mono);font-size:.68rem;color:var(--mute)}.archive-row .alinks{display:flex;gap:.9rem;font-family:var(--mono);font-size:.7rem;white-space:nowrap}.archive-row .alinks a{color:var(--mute);text-decoration:none;transition:color .3s}.archive-row .alinks a:hover{color:var(--a1)}@media (max-width:640px){.archive-row{grid-template-columns:3rem 1fr}.archive-row .alinks{grid-column:2}}.grid2{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);max-width:1100px}@media (max-width:640px){.grid2{grid-template-columns:1fr}}.grid2 .reveal{display:contents}.cell{background:var(--cell);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:34px 30px;height:100%}.cell h4{font-family:var(--syne);font-weight:700;font-size:18px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:baseline}.cell h4 .jp{font-family:var(--jp);font-size:13px;color:var(--a2);font-weight:600}.cell p{color:var(--mute);font-size:14px}#contact{align-items:flex-start}.big-link{font-family:var(--syne);font-weight:800;font-size:clamp(40px,8.5vw,120px);text-transform:uppercase;letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1.5px var(--text);text-decoration:none;line-height:1;transition:.35s}.big-link:focus-visible,.big-link:hover{color:var(--a1);-webkit-text-stroke:1.5px var(--a1);text-shadow:0 0 60px var(--glow)}.contact-meta{margin-top:48px;display:flex;gap:48px;flex-wrap:wrap;font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}.contact-meta a{color:var(--mute);text-decoration:none;transition:color .3s}.contact-meta a:focus-visible,.contact-meta a:hover{color:var(--a2)}.reveal{opacity:0;transform:translateY(46px);transition:opacity 1.1s cubic-bezier(.2,.6,.2,1),transform 1.1s cubic-bezier(.2,.6,.2,1)}.reveal.in{opacity:1;transform:none}main.page{position:relative;z-index:10;max-width:46rem;margin:0 auto;padding:9.5rem 1.5rem 5rem;min-height:70vh}main.page h1{font-family:var(--syne);font-weight:700;font-size:clamp(2rem,4.5vw,3rem);letter-spacing:-.02em;line-height:1.12;text-transform:uppercase;margin-bottom:1.4rem}main.page h2{font-family:var(--syne);font-size:1.1rem;margin:2.4rem 0 .8rem;padding-bottom:.3rem;border-bottom:1px solid var(--line)}main.page h3{font-size:1rem;margin:1.6rem 0 .5rem}main.page li,main.page p{color:color-mix(in srgb,var(--text) 88%,var(--mute));font-size:15.5px}main.page p{margin:.7rem 0}main.page ul{padding-left:1.2rem}main.page a{color:var(--a1);-webkit-text-decoration-color:color-mix(in srgb,var(--a1) 45%,transparent);text-decoration-color:color-mix(in srgb,var(--a1) 45%,transparent)}main.page a:hover{color:var(--a2)}.kicker{font-size:10px;text-transform:uppercase;letter-spacing:.3em;color:var(--a1);margin-bottom:.8rem}.kicker,.note{font-family:var(--mono)}.note{font-size:.78rem;color:var(--mute);border-left:2px solid var(--line);padding-left:1rem}article code{font-family:var(--mono);font-size:.85em;background:var(--code-bg);padding:.1em .3em;border-radius:3px}article pre{margin:1rem 0}article pre code{display:block;padding:1em;overflow-x:auto}article hr{border:none;border-top:1px solid var(--line);margin:2.5rem 0}.project-list{list-style:none;padding:0;margin:0}.project-list li{margin:1.6rem 0}.project-list .title-row{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}.project-list .title-row a{font-family:var(--syne);font-weight:600;font-size:1.1rem;text-decoration:none;color:var(--text);transition:color .3s ease}.project-list .title-row a:hover{color:var(--a1)}.project-list .meta{font-family:var(--mono);font-size:.7rem;color:var(--mute);white-space:nowrap}.project-list p{margin:.25rem 0 0;color:var(--mute);font-size:.92rem}.kind{display:inline-block;border:1px solid var(--line);border-radius:2px;padding:0 5px;margin-right:6px;font-size:.62rem;letter-spacing:.12em;text-transform:uppercase}.kind-paper{color:var(--a1);border-color:color-mix(in srgb,var(--a1) 50%,transparent)}.sound-wrap{position:relative;display:inline-flex;align-items:center}.sound-nudge{position:absolute;top:calc(100% + 14px);right:-6px;font-family:var(--mono);font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--a1);white-space:nowrap;padding:6px 9px;border:1px solid color-mix(in srgb,var(--a1) 45%,transparent);background:color-mix(in srgb,var(--bg) 85%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:none;opacity:0;transform:translateY(-5px);transition:opacity .45s ease,transform .45s ease}.sound-nudge:before{content:"";position:absolute;top:-4px;right:14px;width:7px;height:7px;border-left:1px solid color-mix(in srgb,var(--a1) 45%,transparent);border-top:1px solid color-mix(in srgb,var(--a1) 45%,transparent);background:inherit;transform:rotate(45deg)}.sound-nudge.show{opacity:1;transform:none}.sound-toggle.hint span{animation:eq 1.8s ease-in-out infinite}.sound-toggle.hint span:nth-child(2){animation-delay:.2s}.sound-toggle.hint span:nth-child(3){animation-delay:.4s}.sound-toggle.hint span:nth-child(4){animation-delay:.6s}.sound-toggle{display:inline-flex;align-items:flex-end;gap:2px;height:14px;border:none;background:none;padding:0;cursor:pointer}.sound-toggle span{width:2px;border-radius:1px;background:var(--mute);transition:background .3s ease}.sound-toggle span:first-child{height:5px}.sound-toggle span:nth-child(2){height:9px}.sound-toggle span:nth-child(3){height:6px}.sound-toggle span:nth-child(4){height:3px}.sound-toggle:hover span{background:var(--a1)}.sound-toggle.on span{background:var(--a1);animation:eq .9s ease-in-out infinite}.sound-toggle.on span:nth-child(2){animation-delay:.12s}.sound-toggle.on span:nth-child(3){animation-delay:.24s}.sound-toggle.on span:nth-child(4){animation-delay:.36s}@keyframes eq{0%,to{height:4px}50%{height:13px}}.ink{--paper:#f6f1e4;--sumi:#221c15;--wash:#6f6758;--cinnabar:#a63a28;--line-ink:rgba(60,50,38,0.28);min-height:100dvh;isolation:isolate;background:radial-gradient(90% 40% at 85% -5%,rgba(111,103,88,.1),transparent 60%),radial-gradient(70% 35% at -10% 105%,rgba(111,103,88,.12),transparent 55%),var(--paper);color:var(--sumi);font-family:Iowan Old Style,Charter,Bitstream Charter,Palatino Linotype,Georgia,serif;font-size:16.5px;line-height:1.7}.ink:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;opacity:.045;mix-blend-mode:multiply;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='p'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.55' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23p)'/%3E%3C/svg%3E")}.ink ::selection{background:var(--cinnabar);color:var(--paper)}.ink>*{position:relative;z-index:1}.ink-nav{max-width:46rem;margin:0 auto;padding:1.6rem 1.25rem 1.2rem;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--line-ink)}.ink-brand,.ink-nav{display:flex;align-items:center}.ink-brand{gap:.7rem;color:var(--sumi);text-decoration:none;font-weight:600;letter-spacing:.02em}.seal{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--cinnabar);color:var(--paper);font-family:var(--jp);font-size:15px;border-radius:3px;transform:rotate(-2.5deg);box-shadow:0 0 0 1px color-mix(in srgb,var(--cinnabar) 50%,transparent)}.ink-links{display:flex;gap:1.3rem;align-items:baseline}.ink-links a{color:var(--wash);text-decoration:none;font-size:.9rem;border-bottom:1px solid transparent;transition:color .25s,border-color .25s}.ink-links a:hover{color:var(--cinnabar);border-bottom-color:var(--cinnabar)}.ink-links a.leave{font-style:italic}@media (max-width:640px){.ink-links,.ink-nav{flex-wrap:wrap}.ink-links{gap:.9rem}.ink-links a{font-size:.82rem}}.ink main{max-width:46rem;margin:0 auto;padding:2.2rem 1.25rem 4rem;position:relative}.ink-wm{position:absolute;top:2rem;right:-6.5rem;writing-mode:vertical-rl;font-family:var(--jp);font-size:4.6rem;line-height:1;color:rgba(34,28,21,.055);-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}@media (max-width:1120px){.ink-wm{display:none}}.ink h1{font-size:1.75rem;line-height:1.25;letter-spacing:.01em;margin-bottom:1rem}.ink h1,.ink h2{font-family:var(--jp);font-weight:600}.ink h2{font-size:1.12rem;margin:2.6rem 0 .9rem;border:none;padding:0}.ink h2:after{content:"";display:block;width:96px;height:5px;margin-top:6px;background:var(--sumi);opacity:.8;border-radius:62% 38% 55% 45%/80% 45% 70% 20%;transform:skewX(-16deg) rotate(-.4deg)}@supports ((-webkit-mask-image:url("")) or (mask-image:url(""))) or (-webkit-mask-image:url("")){.ink h2:after{width:168px;height:28px;margin-top:-3px;border-radius:0;transform:none;opacity:.95;-webkit-mask:url(/brand/wave-strands.svg) 0 0/168px 28px no-repeat;mask:url(/brand/wave-strands.svg) 0 0/168px 28px no-repeat}}.ink h3{font-size:1rem;margin:1.6rem 0 .4rem}.ink p{margin:.7rem 0}.ink ul{padding-left:1.2rem}.ink a{color:var(--sumi);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--cinnabar) 55%,transparent);transition:color .25s}.ink .kicker,.ink a:hover{color:var(--cinnabar)}.ink .kicker{font-family:var(--jp);letter-spacing:.2em;font-size:.72rem}.ink .note{font-family:inherit;font-style:italic;font-size:.9rem;color:var(--wash);border-left:3px solid color-mix(in srgb,var(--cinnabar) 40%,transparent);padding-left:1rem}.ink .project-list li{margin:1.2rem 0}.ink .project-list .title-row a{font-family:inherit;font-weight:700;font-size:1rem;color:var(--sumi)}.ink .project-list .title-row a:hover{color:var(--cinnabar)}.ink .project-list .meta{font-family:var(--mono);font-size:.68rem;color:var(--wash)}.ink .project-list p{color:var(--wash);font-size:.92rem}.ink .kind{border-color:var(--line-ink);color:var(--wash)}.ink .kind-paper{color:var(--cinnabar);border-color:color-mix(in srgb,var(--cinnabar) 55%,transparent)}.ink article code{background:rgba(60,50,38,.08);font-family:var(--mono);font-size:.82em;padding:.1em .3em;border-radius:3px}.ink article pre code{display:block;padding:1em;overflow-x:auto}.ink article hr{border:none;margin:2.4rem 0;height:5px;width:140px;background:var(--sumi);opacity:.7;border-radius:62% 38% 55% 45%/80% 45% 70% 20%;transform:skewX(-16deg)}@supports ((-webkit-mask-image:url("")) or (mask-image:url(""))) or (-webkit-mask-image:url("")){.ink article hr{width:260px;height:43px;margin:1.8rem auto 1.8rem 0;border-radius:0;transform:none;opacity:.85;-webkit-mask:url(/brand/wave-strands.svg) 0 0/260px 43px no-repeat;mask:url(/brand/wave-strands.svg) 0 0/260px 43px no-repeat}}.ink-footer{max-width:46rem;margin:0 auto;padding:1.4rem 1.25rem 2.6rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid var(--line-ink);color:var(--wash);font-size:.85rem}.ink-footer .jp{font-family:var(--jp)}.ink-footer a{color:var(--wash);border-bottom-color:transparent}.ink-footer a:hover{color:var(--cinnabar)}.page-enter{animation:pageIn .6s ease both}@keyframes pageIn{0%{opacity:0}to{opacity:1}}html[data-vt] .page-enter{animation:none}::view-transition-old(root){animation:vtOut .25s ease both}::view-transition-new(root){animation:vtIn .5s cubic-bezier(.2,.6,.2,1) both}@keyframes vtOut{to{opacity:0;transform:translateY(-12px)}}@keyframes vtIn{0%{opacity:0;transform:translateY(16px)}}:root:has(.ink)::view-transition-new(root){animation:inkIn .7s cubic-bezier(.3,.7,.2,1) both}@keyframes inkIn{0%{-webkit-clip-path:circle(0 at 22% 8%);clip-path:circle(0 at 22% 8%);filter:blur(5px) saturate(.5)}60%{filter:blur(1px) saturate(.85)}to{-webkit-clip-path:circle(150% at 22% 8%);clip-path:circle(150% at 22% 8%);filter:none}}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none}.reveal,main.home.preboot h1 .ln span{transform:none}main.home.preboot .hero-sub,main.home.preboot .kanji-wm{opacity:1;transform:none}.page-enter,.scroll-cue,.sound-toggle.on span{animation:none}::view-transition-new(root),::view-transition-old(root){animation:none!important}}@media print{#boot,#gl,.cursor,.eq-flash,.hud,.index,.ink-footer,.ink-nav,.ink-wm,.site-footer,.site-nav,.sound-toggle,.theme-toggle,.vignette{display:none!important}.creative:after,.ink:before{display:none}.ink,body{background:#fff;color:#1a1a1a;font-size:11pt}a{color:inherit;text-decoration:none;border:none}.reveal{opacity:1;transform:none}}